JP2020197870A - 情報処理装置、表示制御方法およびプログラム - Google Patents
情報処理装置、表示制御方法およびプログラム Download PDFInfo
- Publication number
- JP2020197870A JP2020197870A JP2019103171A JP2019103171A JP2020197870A JP 2020197870 A JP2020197870 A JP 2020197870A JP 2019103171 A JP2019103171 A JP 2019103171A JP 2019103171 A JP2019103171 A JP 2019103171A JP 2020197870 A JP2020197870 A JP 2020197870A
- Authority
- JP
- Japan
- Prior art keywords
- information
- communication device
- information processing
- processing device
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00204—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
- H04N1/00209—Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
- H04N1/00214—Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of transmission
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
- G06F3/1212—Improving printing performance achieving reduced delay between job submission and print start
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
- G06F3/1226—Discovery of devices having required properties
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1236—Connection management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1292—Mobile client, e.g. wireless printing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
【課題】通信装置に関する通知情報を表示する場合のユーザの利便性を向上させる情報処理装置を提供する。【解決手段】通信装置から発信された近距離無線通信の信号を用いて、情報処理装置と通信装置との間の相対的な位置情報を取得する。通信装置に関する情報を表示部に表示させる場合、相対的な位置関係を示す情報を通信装置に関する情報とともに表示させる。【選択図】図14
Description
本発明は、無線通信が可能な情報処理装置、表示制御装置およびプログラムに関する。
スマートフォン等の情報処理装置において、プリンタ等の通信装置に関する情報を表示するための通知情報を外部から受信し、当該通知情報に基づいて通知画面を表示することが知られている。特許文献1には、携帯端末装置がプッシュ通知配信サーバからプッシュ通知を受信してプッシュ通知の報知処理を実行することが記載されている。
ユーザは、表示された通知画面を確認した後、通知画面で通知された内容に関わる装置に移動する可能性がある。しかしながら、単なる通知画面の表示によっては、通知された内容に関わる装置がどこにあるかまでをユーザに認識させることはできない。
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、通信装置に関する通知情報を表示する場合のユーザの利便性を向上させる情報処理装置、表示制御方法およびプログラムを提供することを目的とする。
上記課題を解決するため、本発明に係るプログラムは、通信装置と通信可能な情報処理装置のコンピュータに、前記通信装置から発信された信号に基づいて特定される、前記情報処理装置と前記通信装置との間の相対的な位置情報を取得する取得ステップ、前記相対的な位置情報と異なり且つ前記通信装置に関する所定の通知情報、前記相対的な位置情報を前記通信装置に関する情報とともに表示部に表示させる表示制御ステップ、を実行させることを特徴とする。
本発明によれば、通信装置に関する通知情報を表示する場合のユーザの利便性を向上させることができる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1実施形態]
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。図1は、情報処理装置及び通信装置を含むシステムにおける各装置の構成を示す図である。本実施形態では、情報処理装置の一例として、スマートフォンを説明する。しかしながら、図1のブロック構成を含むものであれば、スマートフォンに限定されず、携帯端末、パーソナルコンピュータ(PC)、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々の装置であっても良い。また、通信装置の一例として、プリンタを説明する。しかしながら、図1のブロック構成を含み、情報処理装置と通信可能であれば、プリンタに限定されず、他の装置であっても良い。例えば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ、複写機やファクシミリ装置、携帯端末、スマートフォン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビであっても良い。他にも、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機が、通信装置として用いられても良い。
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。図1は、情報処理装置及び通信装置を含むシステムにおける各装置の構成を示す図である。本実施形態では、情報処理装置の一例として、スマートフォンを説明する。しかしながら、図1のブロック構成を含むものであれば、スマートフォンに限定されず、携帯端末、パーソナルコンピュータ(PC)、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々の装置であっても良い。また、通信装置の一例として、プリンタを説明する。しかしながら、図1のブロック構成を含み、情報処理装置と通信可能であれば、プリンタに限定されず、他の装置であっても良い。例えば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ、複写機やファクシミリ装置、携帯端末、スマートフォン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビであっても良い。他にも、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機が、通信装置として用いられても良い。
以下、情報処理装置と通信装置の構成について、図1を参照しながら説明する。情報処理装置101は、入力インタフェース102、CPU103、ROM104、RAM105、外部記憶装置106、出力インタフェース107、表示部108、通信部109、近距離無線通信部110を含む。
入力インタフェース102は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、キーボードやボタン、タッチパネル等を含んで構成される。なお、後述の出力インタフェース107と入力インタフェース102とを同一の構成とし、画面の出力とユーザからの操作の受付けを同一の構成で行うように構成しても良い。
CPU103は、システム制御部であり、情報処理装置101の全体を統括的に制御する。ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(OS)プログラム等の固定データを記憶する。ROM104に記憶されている各制御プログラムは、組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。
RAM105は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。なお、RAM105は、不図示のデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等のデータを揮発させずに記憶することができる。また、情報処理装置101の設定情報や管理データ等を記憶するメモリエリアがRAM105に設けられる場合がある。また、RAM105は、CPU103の主メモリ及びワークメモリとしても用いられる。外部記憶装置106は、印刷実行機能及び通知機能を有する所定のアプリケーション等を記憶している。また、外部記憶装置106は、通信部109を介して接続されている通信装置151との間で送受信する情報送受信制御プログラム等の各種プログラムや、それらのプログラムが使用する各種情報を記憶している。
出力インタフェース107は、情報処理装置101の状態通知や画面表示を行う表示部108とのインタフェースである。表示部108は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などを含んで構成され、情報処理装置101の状態通知や、ユーザインタフェース画面の表示等を行う。なお、表示部108上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等を備えるソフトキーボードを設置することで、表示部108を介してユーザからの入力を受け付けるようにしても良い。
通信部109は、通信装置151と接続して、データ通信を実行する。例えば、通信部109は、通信装置151内のアクセスポイント(不図示)に接続可能である。通信部109と通信装置151内のアクセスポイントとが接続されることで、情報処理装置101と通信装置151が相互に通信可能となる。なお、通信部109は、無線通信で通信装置151とダイレクトに通信しても良いし、外部に存在する外部アクセスポイントを介して通信装置151と通信しても良い。無線通信方式としては、例えば、Wi−Fi(WirelessFidelity)(商標登録)やBluetooth(商標登録)が用いられる。また、アクセスポイントは、例えば、無線LANルータ等の機器である。なお、本実施形態では、情報処理装置101と通信装置151とが外部アクセスポイントを介さずにダイレクトに接続する方式をダイレクト接続方式という。また、情報処理装置101と通信装置151とが外部アクセスポイントを介して接続する方式をインフラストラクチャー接続方式という。
近距離無線通信部110は、通信装置151と近距離無線通信によりデータ通信を実行する。近距離無線通信部110は、通信部109とは異なる通信方式によって通信を行う。近距離無線通信部110は、通信装置151内の近距離無線通信部157と接続可能である。なお、本実施形態では、近距離無線通信部110の通信方式として、Bluetooth5.1が用いられるものとする。なお、Bluetooth5.1には、Classic Bluetoothと、Bluetooth Low Energy(BLE)の両規格が含まれるが、本実施形態では、近距離無線通信部110の通信方式として、BLEが用いられるものとする。
通信装置151は、ROM152、RAM153、CPU154、プリントエンジン155、通信部156、近距離無線通信部157を含む。通信部156は、通信装置151内部のアクセスポイントとして、情報処理装置101と接続するためのアクセスポイントを含んでいる。そのアクセスポイントは、情報処理装置101の通信部109に接続可能である。なお、通信部156は、無線通信で情報処理装置101とダイレクトに通信しても良いし、アクセスポイントを介して通信しても良い。通信方式としては、例えば、Wi−Fi(商標登録)やBluetooth(登録商標)が用いられる。また、通信部156は、アクセスポイントとして機能するハードウェアを備えていても良いし、アクセスポイントとして機能させるためのソフトウェアによりアクセスポイントとして動作しても良い。
近距離無線通信部157は、情報処理装置101と近距離無線通信によりデータ通信を実行する。近距離無線通信部157は、通信部156とは異なる通信方式によって通信を行う。近距離無線通信部157は、情報処理装置101内の近距離無線通信部110と接続可能である。なお、本実施形態では、近距離無線通信部157の通信方式として、Bluetooth5.1、特に、BLEが用いられるものとする。
RAM153は、バックアップ電源を必要とするSRAM等で構成される。なお、RAM153は、不図示のデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等のデータを揮発させずに記憶することができる。また、通信装置151の設定情報や管理データ等を記憶するメモリエリアがRAM153に設けられる場合がある。また、RAM153は、CPU154の主メモリ及びワークメモリとしても用いられても良く、例えば、情報処理装置101から受信した印刷情報を一旦保存するための受信バッファとして機能する。
ROM152は、CPU154が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを記憶する。本実施形態では、ROM152に記憶されている各制御プログラムは、ROM152に記憶されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。
CPU154は、システム制御部であり、通信装置151の全体を統括的に制御する。例えば、CPU154は、プリントエンジン155、RAM153に記憶された情報や、情報処理装置101から受信した印刷ジョブに基づき、インク等の記録剤を用いて紙等の記録媒体上に画像形成し、印刷結果を出力するよう各部を制御する。その際、情報処理装置101から送信される印刷ジョブは、送信データ量が大きく高速な通信が求められるため、近距離無線通信部157よりも高速に通信可能な通信部156により受信される。なお、通信装置151には、外付けHDDやSDカード等のメモリがオプション機器として装着されても良く、情報処理装置101から受信した印刷ジョブなどは、それらのメモリに記憶するようにしても良い。
情報処理装置101と通信装置151の各構成を図1のように示したが、図1に示す構成に限られず、各装置において他のブロックを適宜含むように構成されても良い。
本実施形態では、情報処理装置101は、ROM104や外部記憶装置106等に所定のアプリケーションを記憶している。所定のアプリケーションとは、例えば、情報処理装置101内の画像データや文書データ等を印刷させるための印刷ジョブを、印刷装置に送信するためのアプリケーションプログラムである。このような機能を有するアプリケーションを、以降、印刷アプリという。なお、印刷アプリは、印刷機能以外に、他の機能を有しても良い。例えば、印刷アプリは、印刷装置がスキャン機能を有している場合に、印刷装置にセットされた原稿をスキャンさせる機能や、印刷装置の他の設定を行う機能、印刷装置の状態を確認する機能を有しても良い。即ち、印刷アプリは、印刷ジョブ以外に、スキャンジョブや設定ジョブを印刷装置に送信する機能を有しても良い。また、所定のアプリケーションは、印刷アプリに限定されず、印刷以外の機能を有するアプリケーションプログラムであっても良い。
本実施形態では、近距離無線通信部110および近距離無線通信部157は、BLEによって通信を行うとして説明する。なお、本実施形態では、近距離無線通信部157が、後述のアドバタイズ情報をブロードキャストするアドバタイザ(又はスレーブ)として機能し、近距離無線通信部110が、アドバタイズ情報を受信するスキャナ(又はマスタ)として機能する。また、通信部109および通信部156は無線LAN(Wi−Fi)によって通信を行うとして説明する。
ここで、BLE規格におけるアドバタイズ情報の送信及びBLE接続要求の受信の処理について説明する。本実施形態では、上述のように、近距離無線通信部157がスレーブ機器として動作するため、近距離無線通信部157が上記処理を行う。近距離無線通信部157は、2.4GHzの周波数帯を40チャネル(0〜39ch)に分割して通信を行う。近距離無線通信部157は、そのうち、37〜39番目のチャネルをアドバタイズ情報の送信やBLE接続要求の受信に使用し、0〜36番目のチャネルをBLE接続後のデータ通信に使用する。
図2では、縦軸が近距離無線通信部157の無線通信信号による消費電力を示し、横軸が時間を示しており、1つのチャネルを使用してアドバタイズ情報を送信する際の消費電力を各処理別に示している。Tx205は、アドバタイズ情報をブロードキャストする処理である送信処理における総消費電力を示し、Rx206は、BLE接続要求を受信するための受信器を有効にしておく受信処理における総消費電力を示している。送信電力207は、送信処理による瞬間消費電力を示し、受信電力203は、受信処理による瞬間消費電力を示している。また、マイコン動作電力201は、近距離無線通信部157内のマイコンが動作している場合の瞬間消費電力を示している。なお、Tx205とRx206の前後や間にもマイコンが動作しているのは、送信・受信処理の実行や停止のためには事前にマイコンが起動している必要があるからである。また、アドバタイズ情報の送信を複数チャネルで行う場合は、アドバタイズ情報の送信を行うチャネルの数だけ、消費電力が増えることになる。また、マイコンが動作を行っておらず、近距離無線通信部157が省電力状態となっている間は、スリープ電力204が近距離無線通信部157の瞬間消費電力となる。このように、近距離無線通信部157は、所定のチャネルを用いて送信処理を行った後、同一のチャネルを用いて一定時間受信処理を行うことで、情報処理装置101からBLE接続要求が送信されるのを待つ。
図3に示すように、近距離無線通信部157は、アドバタイズ情報の送信処理と受信処理を、チャネル別に3回繰り返した後、マイコンの動作を停止させ一定時間省電力状態になる。以下、所定のチャネルによるアドバタイズ情報の送信処理と受信処理の組み合わせをアドバタイズと言う。また、所定のチャネルの組み合わせによってアドバタイズ情報を送信する時間間隔をアドバタイズ間隔という。なお、1回目のアドバタイズを行ってから省電力状態になるまでに繰り返すアドバタイズの回数は、3回以下であれば任意に変更可能である。また、図3ではアドバタイズ時のチャネルは、37番目のチャネル、38番目のチャネル、39番目のチャネルの順番で順次使用しているが、この順番はランダムであっても良く、順番は、1回目のアドバタイズと2回目のアドバタイズ、3回目以降のアドバタイズとの間でそれぞれ異なっていてもよい。
図9は、近距離無線通信部157が通信装置151の周辺にブロードキャストするアドバタイズ情報の構造の一例を示す図である。近距離無線通信部157は、電力の供給が開始されると初期化処理を行い、アドバタイジング状態となる。近距離無線通信部157は、アドバタイジング状態となると、アドバタイズ間隔に基づいて定期的にアドバタイズ情報を周辺にブロードキャストする。アドバタイズ情報とは、基本的なヘッダ情報(アドバタイズ情報を送信する装置を識別するための識別情報等)を含む信号であり、ヘッダ901とペイロード902を含んで構成される。情報処理装置101は、このアドバタイズ情報を受信することで、通信装置151の存在を認識することができる。さらに、情報処理装置101は、通信装置151にBLE接続要求を送信することで、通信装置151とBLE接続することができる。ヘッダ901は、アドバタイズ情報のタイプやペイロード902の大きさの情報などが格納される領域である。ペイロード902は、識別情報としてのデバイス名903、搭載プロファイル情報、通信装置151とBLE接続するための接続情報904、距離の検知に用いられるアドバタイズ情報の送信電力(Tx Power)905等の情報が格納される。また、通信装置151の識別情報906がアドバタイズ情報に含まれる。通信装置151の識別情報906としては、通信装置151のMACアドレスや、通信装置151のサービス情報、通信装置151内のアクセスポイントのSSID、パスワード等が該当する。
本実施形態では、近距離無線通信部157は、通信装置151の電源がONになった場合にアドバタイジング状態となり、アドバタイズ情報の送信を開始する。但し、近距離無線通信部157がアドバタイズ情報の送信を開始するタイミングは、上記に限定されず、例えば、BLE機能を有効にするための所定の操作が行われたタイミング等であっても良い。例えば、近距離無線通信部157は、まず、第1アドバタイズ情報を送信し、第1アドバタイズ情報に対するスキャンレスポンスを情報処理装置101から受け取った場合、第1アドバタイズ情報と内容が異なる第2アドバタイズ情報を送信する構成であっても良い。例えば、第1アドバタイズ情報は、アドバタイズ情報の送信電力に関する情報や近距離無線通信部157の識別情報等を含み、第2アドバタイズ情報は、通信装置151の識別情報や、通信装置151の機能やハードウェアに関する情報等を含む。このような構成の場合、例えば、印刷アプリは、第2アドバタイズ情報をハンドリングするものとして構成される。本実施形態では、印刷アプリがハンドリングするアドバタイズ情報は、第2アドバタイズ情報とする。
図6は、通信装置151内の近距離無線通信部157が送信するアドバタイズ情報を用いて、情報処理装置101が通信装置151の位置を検知する機能を説明するための図である。情報処理装置101内の近距離無線通信部110はアンテナ601とアンテナ602とアンテナ603を備え、通信装置151内の近距離無線通信部157はアンテナ604とアンテナ605とアンテナ606を備える。なお、近距離無線通信部110と近距離無線通信部157に備わっているアンテナの本数は、限定されるものではなく、アンテナの本数は1本もしくは2本、あるいは4本以上であっても良い。また、近距離無線通信部110と近距離無線通信部157に備わっているアンテナの本数は、それぞれで異なっていても良い。また、図6では、近距離無線通信部110と近距離無線通信部157に備わっているアンテナは、説明上、直線上に配置されているように記載されているが、アンテナの配置は、図示される配置に限定されるものではない。
図5は、情報処理装置101に対して、通信装置151との距離及び通信装置151が位置する方向を検知させるために、通信装置151内の近距離無線通信部157が送信するアドバタイズ情報の構造の一例を示す図である。Constant Tone Extension(CTE)505は、情報処理装置101に対する通信装置151の方向を検知するために使用されるデータである。Preamble501は、情報処理装置101が通信装置151のアドバタイズ情報を受信する際のクロック同期用のデータである。Access−Address502は、情報処理装置101が通信装置151のアドバタイズ情報を受信する際のフレーム同期用のデータである。PDU503は、通信装置151が送信するアドバタイズ情報における実データ部分である。なお、図9で示すアドバタイズ情報であるヘッダ901とペイロード902は、PDU503の中に含まれる情報である。CRC504は、PDU503の通信時の誤り検出符号値である。
情報処理装置101と通信装置151との間の距離は、通信装置151からブロードキャストされるアドバタイズ情報に含まれるアドバタイズ情報の送信電力(Tx Power)905と、その受信強度とに基づいて検知される。
情報処理装置101が通信装置151の方向を推定する手法は、(1)近距離無線通信部110(受信側)が複数のアンテナを有する場合に実現される手法と、(2)近距離無線通信部157が複数のアンテナを有する場合に実現される手法とに分類される。
これらの手法のうちの(1)の手法を、図7を用いて説明する。図7の構成では、受信側装置である近距離無線通信部110の複数のアンテナを用いて、それぞれのアンテナへ到来した際の電波の位相差に基づいて、近距離無線通信部110が、受信した電波の到来角を推定する。以下では、到来角(Angle of Arrival)をAoAと呼ぶ場合がある。
図7において、近距離無線通信部157は、アンテナ604を用いて、CTE505を含んだ無線フレーム(AoA Radio Signal703)によってアドバタイズ情報を送信する。近距離無線通信部110は、複数のアンテナ(アンテナ601とアンテナ602の両方)でこの無線フレームを受信する。このとき、アンテナ601とアンテナ602のアンテナ間距離701がd1であり、AoA702がθであったとする。この場合、アンテナ601で受信される電波は、アンテナ602で受信される電波より、d1×cos(θ)だけ長い距離を経て受信される。このため、電波の波長をλとすると、アンテナ601で受信される電波の位相は、アンテナ602で受信される電波の位相より、
ψ1=2π×(d1×cos(θ)/λ) ・・・(1)
だけ遅れることとなる。ここで、ψ1は、アンテナ602で受信される電波の位相と、アンテナ601で受信される電波の位相との差である。式(1)から、AoA702は、
θ=arccos((ψ1×λ)/(2π×d1)) ・・・(2)
のように算出することができる。したがって、情報処理装置101は、式(2)のような計算を行うことにより、通信装置151の方向を推定することができる。
ψ1=2π×(d1×cos(θ)/λ) ・・・(1)
だけ遅れることとなる。ここで、ψ1は、アンテナ602で受信される電波の位相と、アンテナ601で受信される電波の位相との差である。式(1)から、AoA702は、
θ=arccos((ψ1×λ)/(2π×d1)) ・・・(2)
のように算出することができる。したがって、情報処理装置101は、式(2)のような計算を行うことにより、通信装置151の方向を推定することができる。
続いて、上述の手法のうちの(2)の手法を、図8を用いて説明する。図8の構成では、送信側装置である近距離無線通信部157の複数のアンテナから、それぞれ異なる期間において、CTE505を含んだ無線フレーム(AoD Radio Signal803)によってアドバタイズ情報が送信される。例えば、図8(A)に示すように、アンテナ604によるAoD Radio Signal803の送信期間が設定され、その直後にアンテナ605によるAoD Radio Signal803の送信期間が設定されたものとする。この場合、近距離無線通信部157においては、アンテナ604によるAoD Radio Signal803の送信とアンテナ605によるAoD Radio Signal803の送信との間に、無信号区間は発生しない。一方、近距離無線通信部110は、これらの無線信号を図8(B)のような形式で受信し得る。すなわち、アンテナ605から送信された信号は、アンテナ604から送信された信号より長い経路を経て、遅れて近距離無線通信部110に到来するため、これらの信号の間に無信号区間が生じる。また、アンテナ605が先に信号を送信した場合は、アンテナ605から送信された信号の全てが近距離無線通信部110に到着する前に、アンテナ604から送信された信号が近距離無線通信部110に届くことになる。また、アンテナ604の信号送信期間の完了後に所定長の無信号区間を設定し、アンテナ605からの信号送信期間を設定した場合、近距離無線通信部110において受信される無線信号においては、その無信号区間が所定長より長く観測される。同様に、アンテナ605の信号送信期間の完了後に所定長の無信号区間を設定し、アンテナ604からの信号送信期間を設定した場合、近距離無線通信部110において受信される無線信号においては、その無信号区間が所定長より短く観測される。このように、複数のアンテナからそれぞれ送信された信号は、近距離無線通信部110においてそれぞれの経路長に応じたタイミングのずれとして観測される。なお、タイミングのずれの観測のために、どのアンテナからどのタイミングで信号が送信されるかのスケジューリングの情報が、(例えば近距離無線通信部157又は他の装置から)事前に近距離無線通信部110に通知される。
なお、受信タイミングのずれは、受信信号の位相のずれに対応する。例えば、図8の例では、アンテナ605から送信された信号は、アンテナ604から送信された信号より、d2×cos(φ)だけ長い経路を経て、近距離無線通信部110に到来する。ここで、d2は、アンテナ604とアンテナ605との間のアンテナ間距離801である。この経路長の差により、光の伝搬速度をcとすると、d2×cos(φ)/c秒の受信タイミングずれが発生するが、同時に
ψ2=2π×d2×cos(φ)/λ ・・・(3)
だけの位相差が発生する。なお、λは、上述のように、電波の波長である。また、φは、近距離無線通信部157と近距離無線通信部110とを結ぶ直線と、アンテナ604とアンテナ605とを結ぶ直線とのなす角である。なお、このなす角は、Angle of Departureと呼ばれ、以下では、AoD802と表記する。近距離無線通信部110は、例えば、近距離無線通信部157から送信された複数の信号のうちの1つ目に受信された信号を基準として、相関検出を行うことなどによって、位相差ψ2を特定することができる。そして、近距離無線通信部110は、式(3)から、その位相差ψ2を用いて、AoD802を
φ=arccos((ψ2×λ)/(2π×d2)) ・・・(4)
のように算出することができる。なお、近距離無線通信部110は、事前に、近距離無線通信部157又は他の装置から、アンテナ間距離d2の情報を取得しておく。近距離無線通信部110は、AoD802を式(4)のように算出することにより、近距離無線通信部157から見た近距離無線通信部110の方向を特定することができる。また、近距離無線通信部110は、アンテナ604とアンテナ605が、どのように配置されているかを知ることにより、AoD802に基づいて、電波が到来した方向を推定することができる。すなわち、アンテナ604がアンテナ605の西側に配置されており、AoD802が45°と推定された場合、近距離無線通信部110は、南東方向から電波が到来したと推定することができる。さらに、近距離無線通信部110は、電波の受信強度とその電波の送信電力とから、近距離無線通信部157との距離を推定することができ、これにより、近距離無線通信部157との位置関係を認識することができる。また、近距離無線通信部110は、近距離無線通信部157が配置されている位置の情報を取得することにより、自装置の位置を高精度に推定することができる。
ψ2=2π×d2×cos(φ)/λ ・・・(3)
だけの位相差が発生する。なお、λは、上述のように、電波の波長である。また、φは、近距離無線通信部157と近距離無線通信部110とを結ぶ直線と、アンテナ604とアンテナ605とを結ぶ直線とのなす角である。なお、このなす角は、Angle of Departureと呼ばれ、以下では、AoD802と表記する。近距離無線通信部110は、例えば、近距離無線通信部157から送信された複数の信号のうちの1つ目に受信された信号を基準として、相関検出を行うことなどによって、位相差ψ2を特定することができる。そして、近距離無線通信部110は、式(3)から、その位相差ψ2を用いて、AoD802を
φ=arccos((ψ2×λ)/(2π×d2)) ・・・(4)
のように算出することができる。なお、近距離無線通信部110は、事前に、近距離無線通信部157又は他の装置から、アンテナ間距離d2の情報を取得しておく。近距離無線通信部110は、AoD802を式(4)のように算出することにより、近距離無線通信部157から見た近距離無線通信部110の方向を特定することができる。また、近距離無線通信部110は、アンテナ604とアンテナ605が、どのように配置されているかを知ることにより、AoD802に基づいて、電波が到来した方向を推定することができる。すなわち、アンテナ604がアンテナ605の西側に配置されており、AoD802が45°と推定された場合、近距離無線通信部110は、南東方向から電波が到来したと推定することができる。さらに、近距離無線通信部110は、電波の受信強度とその電波の送信電力とから、近距離無線通信部157との距離を推定することができ、これにより、近距離無線通信部157との位置関係を認識することができる。また、近距離無線通信部110は、近距離無線通信部157が配置されている位置の情報を取得することにより、自装置の位置を高精度に推定することができる。
上記では、情報処理装置101が、1台の通信装置151の方向を検知する構成について説明したが、この限りではない。例えば、情報処理装置101が、2台以上の通信装置151の方向を検知しても良い。また、情報処理装置101は、2台以上の通信装置151の方向を検知し、それぞれの検知データを参照することで、1台の通信装置151の方向を検知する構成と比べると、装置間の相対的な位置関係としての、距離や方向をより高精度に検知することができる。
ここで、BLE規格におけるGATT(Generic Attribute Profile)通信の概要について説明する。GATTとは、BLE規格において、情報の読み書き(送受信)を司るプロファイルである。GATT通信においては、データの転送元と転送先に基づいて、GATTクライアントとGATTサーバの2つのロールが定義されている。GATTクライアントは、GATTサーバにリクエストを送信し、GATTサーバからの応答を受信する。本実施形態では、情報処理装置101がGATTクライアントとなる。GATTクライアントは、GATTサーバの近距離無線通信部内の記憶領域に保持されている情報の読み取り(リード)及び、その記憶領域に対する情報の書き込み(ライト)を実行することができる。GATTサーバは、GATTクライアントからの要求を受信すると、GATTクライアントに対して応答を返す。本実施形態では、通信装置151がGATTサーバとなり、情報処理装置101がGATTクライアントとなる。なお、GATTサーバは、GATTサーバの状態情報等を記憶するデバイスとして動作する。
次に、GATTのデータ形式について説明する。GATTのデータは、図11に示すように、サービス、キャラクタリスティック、ディスクリプタと呼ばれる3つの要素を含む階層構造とされる。なお、ディスクリプタはなくても良く、本実施形態では、近距離無線通信部157が構成するGATTデータには、ディスクリプタはないものとする。サービス、キャラクタリスティック、ディスクリプタは、32桁で表現されるUUID(Universally Unique Identifier)で識別可能である。UUIDとは、ソフトウェア上でオブジェクトを一意に識別するための識別子として使用されるものである。UUIDは、128ビットの数値だが、通常は16進数で、「550e8400−e29b−41d4−a716−446655440000」のように表現される。なお、サービス、キャラクタリスティック、ディスクリプタには、Bluetooth SIGの標準で定義されるものやベンダー固有のものなどがある。ベンダー固有のUUIDは、上述のように32桁で表現されるが、Bluetooth SIGの標準で定義されているUUIDは、4桁で表現される。例えば、Bluetooth SIGの標準で定義されているUUIDは、「2A49」のように表現される。
サービスは、GATTのデータ中のアトリビュートを共通区分ごとにグループ化したものであり、各サービスには1以上のキャラクタリスティックが含まれる。キャラクタリスティックには、キャラクタリスティック毎に単一の値が設定されている。ディスクリプタは、キャラクタリスティックに付加情報が必要な際に用いられる属性値が設定されている。サービス、キャラクタリスティック、ディスクリプタにはそれぞれ、GATTクライアントにリードやライトを許可するか否かを示す設定値であるリード・ライトの属性を設定することができる。
GATTクライアントは、サービス、キャラクタリスティックそれぞれのUUIDを指定することで、指定したキャラクタリスティックに設定されている値に対して、リード・ライトを実行することができる。但し、リード・ライトが実行できるか否かは、各サービス、キャラクタリスティックに設定されているリード・ライト属性に基づく。
図12は、近距離無線通信部157によって構築されているGATTデータの一例を示す図である。図12に示すGATTデータにおいて、「Service UUID」1201は、各サービスに割り振られているUUIDを示す。「Service名」1202は、各サービスの名称を示す。「Charactaristic UUID」1203は、各キャラクタリスティックに割り振られているUUIDを示す。「Charactaristic名」1204は、各キャラクタリスティックの名称を示す。「Serviceリード可能」1205は、各サービスに関する値を情報処理装置101がリード(読み取り)可能か否かを示す。「Serviceライト可能」1206は、各サービスに関する値を情報処理装置101がライト(書き込み)可能か否かを示す。「Charactaristicリード可能」1207は、各キャラクタリスティックに関する値を情報処理装置101がリード可能か否かを示す。「Charactaristicライト可能」1208は、各キャラクタリスティックに関する値を情報処理装置101がライト(書込み)可能か否かを示す。「Charactaristicインディケイト可能」1209は、各キャラクタリスティックに関する値を通信装置151が更新した場合に情報処理装置101へインディケイト(通知)可能か否かを示す。図中の「〇」は、インディケイト可能であることを示し、空欄であればインディケイト可能でないことを示している。
「ペアリング必要」1211は、各キャラクタリスティックに関する値をペアリング済みでなければ情報処理装置101にライトもしくはリードを許可しないか否かを示す。図中の「〇」は、ライトもしくはリードが可能であることを示し、空欄であればライトもしくはリードが可能でないことを示している。「Serviceリード可能」1205がリード可能を示し且つ「Charactaristicリード可能」1207がリード可能を示している場合、情報処理装置101は、対応するキャラクタリスティックに関する値を読み取ることができる。また、情報処理装置101は、「Serviceリード可能」がリード可能を示し且つ「Charactaristicリード可能」がリード可能でないことを示している場合、情報処理装置101は、対応するキャラクタリスティックに関する値を読み取ることができない。
「値」1210は、各キャラクタリスティックに設定された値を示す。また、「ペアリング必要」1211がペアリング不必要(空欄表示)を示している場合、情報処理装置101は、通信装置151とペアリングをしていない状態でも、対応するキャラクタリスティックに関する値を読み書きすることができる。一方、「ペアリング必要」がペアリング必要(「○」表示)を示している場合、情報処理装置101は、通信装置151とペアリングをしている状態でなければ、対応するキャラクタリスティックに関する値を読み書きすることができない。
本実施形態では、情報処理装置101と通信装置151間で認証を行い、装置間でGATT通信によりデータの読み書きを実行するためのペアリング処理を実行する。情報処理装置101と通信装置151間でのペアリング処理が実行されていない状態では、通信装置151は、GATT通信による情報の読み書きを許可しない。そのような構成により、ペアリングを行っていない情報処理装置101と通信装置151が通信を行ってしまい、通信装置151が保持する情報がペアリングを行っていない情報処理装置101に不用意に取得されてしまうことを防ぐことができる。なお、本実施形態では、ペアリングを行っていない状態で許可されるGATT通信と、ペアリングを行っていない状態では許可されないGATT通信とが可能である。例えば、秘匿性の低い情報は、ペアリングを行っていない状態で許可されるGATT通信で通信可能とすることで、通信の利便性を向上させることができる。一方、秘匿性の高い情報は、ペアリングを行っていない状態では許可されないGATT通信でのみ通信可能とすることで、通信のセキュリティを向上させることができる。
ペアリング処理の詳細について説明する。まず、情報処理装置101は、前述の印刷アプリが起動され、印刷アプリを介してユーザからペアリング処理の実行指示を受け付けた場合に、特定の装置情報を有するアドバタイズ情報のサーチを開始する。なお、特定の装置情報とは、例えば、印刷アプリに対応する装置(プリンタ等)のUUIDやMACアドレスである。そして、情報処理装置101は、特定の装置情報を有するアドバタイズ情報を受信すると、特定の装置情報を有するアドバタイズ情報の送信元の装置のリストを表示部108に表示し、ペアリング対象となる装置の選択をユーザから受け付ける。ここでは、通信装置151が選択されたものとして説明する。
そして、情報処理装置101は、ペアリング対象となる装置の選択を受け付けた場合、セキュリティマネージャプロトコルによる通信により、通信装置151に、ペアリング要求を送信する。なお、ペアリングが終了するまで、装置間の通信は、セキュリティマネージャプロトコルによって行われる。通信装置151は、ペアリング要求を受信すると、表示部に、図4(a)に示すようなPINコード表示画面400を表示する。PINコード表示画面400には、PINコード401と、ペアリング処理をキャンセルするためのCancelボタン402が表示される。そして、情報処理装置101は、ペアリング要求を送信すると、表示部108に、図4(b)に示すようなPINコード入力画面410を表示する。PINコード入力画面410には、ユーザによるPINコード401の入力を受け付けるためのPINコード入力領域411と、入力されたPINコード401を通信装置151に送信するためのOKボタン413と、ペアリング処理をキャンセルするためのCancelボタン412が表示される。PINコード入力領域411にPINコード401が入力された状態で、OKボタン413が押下されると、情報処理装置101は、入力されたPINコード401を含む情報を通信装置151に送信する。通信装置151は、受信した情報に含まれるPINコード401が、PINコード表示画面400に表示したPINコード401と一致するか否かを判定し、一致すると判定した場合は、情報処理装置101にペアリングを許可する。例えば、通信装置151は、PINコード401に基づいて所定の方法で作成されたリンクキー(認証情報)を、BLE規格のSMP(Security Manager Protocol)を利用して情報処理装置101と交換する。交換されたリンクキーは、情報処理装置101の記憶領域(例えばROM104)と通信装置151の記憶領域(例えばROM152)にそれぞれ保存される。これによりペアリングが完了し、以降、装置間でBLE通信を実行することが許可される。なお、情報処理装置101は、ペアリングが完了すると、PINコード入力画面410を非表示とし、元の画面を再度表示する。
ペアリング完了後、情報処理装置101は、通信装置151に対してGATT通信要求を送信する際には、ペアリング処理時に記憶領域に保存したリンクキーを通信装置151に通知する。通信装置151は、GATT通信要求を受信した場合、ペアリング処理時に記憶領域に保存したリンクキーと通知されたリンクキーを比較して、GATT通信要求を発信している装置が、ペアリング済みの装置であるかを確認する。そして、通信装置151は、ペアリング済みの装置であると確認できた場合は、情報処理装置101とのGATT通信による情報の読み書きを開始する。これにより、情報処理装置101は、一旦通信装置151とのペアリング処理を完了しておけば、以降はユーザによるPINコードの入力なしに通信装置151とのGATT通信を実行することができる。なお、上述では、PINコード入力領域411にPINコード401をユーザに入力させる形態を説明したが、この構成に限定されない。例えば、PINコード401をユーザが任意に変更できない固定の情報として印刷アプリのインストールと共に情報処理装置101に格納されるようにし、ユーザの入力なしにPINコード401が通信装置151に通知されるように構成しても良い。また、ペアリング処理が開始されるタイミングも上述の構成に限定されず、例えば、印刷アプリを介してユーザが印刷を指示したタイミングや、接続設定処理においてBLE接続が行われる前のタイミングであっても良い。
また、情報処理装置101が表示するPINコード入力画面410は、印刷アプリによって表示されなくとも良い。例えば、情報処理装置101は、設定用アプリケーション(以降、設定用アプリ)を有しても良い。設定用アプリとは、OSにより実行される機能に関する設定を行うためのアプリーションプログラムである。設定用アプリは、例えば、OSが情報処理装置101にインストールされる一連の処理においてインストールされたり、情報処理装置101の着荷時にOSとともに予め情報処理装置101にインストールされておくようにしても良い。情報処理装置101は、通信装置151とペアリングを行う際に、設定用アプリを起動させて印刷アプリをバックグラウンドに遷移させ、設定用アプリにより表示されるBluetooth設定画面を介して、ペアリングのための入力をユーザから受け付けても良い。
上述では、PINコード入力式のペアリング方法について説明した。しかしながら、ペアリングの方法は、上述の方法に限定されない。以下に、PINコード入力式以外のペアリング方法の一例について説明する。情報処理装置101は、通信装置151が保持している情報である、鍵シードと呼ばれる情報を、BLE接続を介して通信装置151から取得する。そして、情報処理装置101と通信装置151は、それぞれが予め認識している法則に従って、鍵シードからリンクキーを生成する。生成されたリンクキーは、情報処理装置101の持つ記憶領域(例えばROM104)と通信装置151の持つ記憶領域(例えばROM152)にそれぞれ保存される。即ち、情報処理装置101と通信装置151は、同じリンクキーをそれぞれが保持することとなる。このようにしてリンクキーを生成し、当該リンクキーを用いたGATT通信が可能となることで、通信装置151と情報処理装置101との間の認証が行われ、ペアリング処理が完了する。ペアリング処理が完了した後は、情報処理装置101と通信装置151との間の通信において、リンクキーに基づいて暗号化した情報が通信される。情報処理装置101と通信装置151は、リンクキーに基づいて暗号化された情報を受信した場合には、自身が保持するリンクキーを用いて暗号化を解除することで、暗号化される前の情報を認識することができる。
図13は、情報処理装置101と通信装置151との間におけるBLE通信を説明するためのシーケンス図である。図13に示す通信装置151の処理は、例えば、CPU154が、ROM152又は通信装置151が備えるHDD(不図示)に記憶されている制御プログラムをRAM153にロードし、その制御プログラムを実行することで実現される。また、図13に示す情報処理装置101の処理は、例えば、CPU103が、ROM104又は情報処理装置101が備えるHDD(不図示)に記憶されている制御プログラムをRAM105にロードし、その制御プログラムを実行することで実現される。
以下の説明において、通信装置151は、所定の間隔でアドバタイズ情報を送信するアドバタイザとする。また、情報処理装置101は、周辺にあるアドバタイザから送信されるアドバタイズ情報を待機するスキャナとする。まず、通信装置151内の近距離無線通信部157は、アドバタイズ情報の送信を行う(S1301〜S1303)。情報処理装置101は、近距離無線通信部110が近距離無線通信部157から送信されたアドバタイズ情報を受信することで、通信装置151の存在を認識することができる。
情報処理装置101は、通信装置151を認識し、通信装置151と接続する場合には、接続要求情報を通信装置151に送信する。例えば、近距離無線通信部110は、BLEによるネットワーク接続を確立する接続イベントに遷移するための要求であるCONNECT_REQを送信する(S1304)。近距離無線通信部157がCONNECT_REQを受信すると、情報処理装置101及び通信装置151は、接続イベントへの遷移を開始する。例えば、近距離無線通信部110及び近距離無線通信部157が、それぞれCPU103及びCPU154にGATT通信のための接続処理が完了した旨を通知する。その後、情報処理装置101及び通信装置151はそれぞれスキャナとアドバタイザからマスタとスレーブに遷移し、マスタである情報処理装置101とスレーブである通信装置151は、GATT通信のための接続(BLE接続)を確立する。なお、BLE規格では、マスタは、スレーブと「1:多」のスター型のトポロジーを形成することができる。情報処理装置101と通信装置151は、BLE接続を確立すると、以後、GATT通信方式によってデータ通信を行うことができる。
情報処理装置101は、GATT通信により通信装置151のGATTデータにアクセスする前に、通信装置151がどのような構成のGATTデータを有しているかを取得する必要がある。GATTデータの構成とは、例えば、GATTデータ内のサービスの数、キャラクタリスティックの数、それぞれのUUIDの値やリードの可否を示す属性等である。GATTデータの構成を情報処理装置101が取得する構成をディスカバリと呼ぶ。
情報処理装置101は、S1304でBLE接続が確立された後、S1305で、ディスカバリを開始する。例えば、情報処理装置101は、通信装置151のGATTデータの構成を示す情報を要求するためのディスカバリ要求を通信装置151へ送信する。これにより、ディスカバリ要求の応答として、通信装置151は、情報処理装置101へGATTデータの構成を示す情報を送信する。GATTデータの構成を示す情報を受信した情報処理装置101は、通信装置151のGATTデータ内の、ハッシュ値が格納されている領域を特定し、ハッシュ値のリードを行う。なお、ハッシュ値とは、例えば、図12のCharacteristicUUIDが0x2B2AのDatabase Hashキャラクタリスティックに格納されている値である。通信装置151は、Database Hashキャラクタリスティックの値として、GATTデータの構成から予め算出したハッシュ値を格納している。即ち、ハッシュ値とは、通信装置151のGATTデータの構成に応じて一意に定められる値である。
なお、情報処理装置101は、過去に情報処理装置101がBLEによって接続したことがある端末からリードしたハッシュ値を、情報処理装置101が備えるメモリ(例えばROM104)に格納している。そこで、S1306で、情報処理装置101は、S1305でリードしたハッシュ値を、過去にリードしたハッシュ値(情報処理装置101が備えるメモリに格納されているハッシュ値)と比較し、一致するか(既にキャッシュ済みであるか)を判定する。即ち、情報処理装置101は、通信装置151が過去に情報処理装置101がBLEによって接続したことがある端末か否かを判定する。その判定において、情報処理装置101は、ハッシュ値だけでなく、通信装置151のMACアドレスなどの個体識別情報等、他の情報を判定条件に加えても良い。
S1306で一致しないと判定された場合、情報処理装置101は、通信装置151のGATTデータの残りの構成を把握するために、ディスカバリを継続する。そのため、S1307で、情報処理装置101は、通信装置151のGATTデータの構成を示す情報を要求するためのディスカバリ要求を通信装置151へ送信する。ディスカバリ要求を受け付けた通信装置151は、S1308で、情報処理装置101へGATTデータの構成を示す情報を送信する(レスポンス)。なお、ディスカバリ要求の送受信及びGATTデータの構成を示す情報の送受信は、GATTデータ内のサービス、キャラクタリスティック、ディスクリプタの数の分だけ繰り返される。そのため、S1309では、GATTデータの構成を示す全ての情報の送信が完了されるまで、ディスカバリ要求の送受信及びGATTデータの構成を示す情報の送受信が繰り返される。
GATTデータの構成を示す全ての情報の送信が完了すると、S1310で、情報処理装置101は、通信装置151のGATTデータの構成をキャッシュとして情報処理装置101が備えるメモリに格納する。このとき、情報処理装置101は、通信装置151のGATTデータの構成のキャッシュと通信装置151から得たハッシュ値とを対応付けてメモリへの格納を行う。なお、情報処理装置101は、通信装置151のMACアドレスなどの個体識別情報等の他の情報をさらに対応付けてメモリへの格納を行っても良い。なお、S1306で一致すると判定された場合、情報処理装置101は、通信装置151のGATTデータの構成を既にキャッシュしていることになるので、S1307〜S1310までの処理をスキップする。通信装置151のGATTデータの構成を取得することにより、以降、情報処理装置101は、通信装置151との任意のGATT通信を実行することが可能となる。情報処理装置101は、S1311で、通信装置151との任意のGATT通信を実行する。
GATT通信が完了した後、情報処理装置101は、S1312で、解放要求を送信する。解放要求を受信した通信装置151は、S1313にて解放応答を送信し、装置間のBLE接続を終了する。装置間のBLE接続が終了すると、情報処理装置101と通信装置151は、それぞれスキャナとアドバタイザに戻り、通信装置151は、アドバタイズ情報の送信を再開する。
本実施形態の通信装置151は、情報処理装置101において通信装置151に関する通知を実行させるための情報を送信する。情報処理装置101は、受信した情報に基づく通知処理を実行することで、通信装置151に関する種々の情報をユーザに通知することができる。例えば、通信装置151において発生したエラーに関する情報や、通信装置151において実行される印刷処理やスキャン処理の進捗に関する情報を、ユーザに通知することができる。ユーザは、通知された情報の内容を確認した後、通信装置151の位置まで移動して、エラーの解除や印刷物の回収等を行うことがある。
本実施形態では、情報処理装置101は、通信装置151が位置する方向や距離をBLEによって特定する。そして、情報処理装置101は、通信装置151に関する通知を行う場合には、BLEによって特定した通信装置151が位置する方向や距離をユーザに通知する。その結果、通信装置151の位置をユーザに容易に認識させることができ、通信装置151に関する通知の後に行われる通信装置151の位置までのユーザの移動の利便性を向上させることができる。
<通知システムの構成>
まず、本実施形態を実現するためのシステム構成について説明する。図15は、本実施形態においてプッシュ通知を行う通信システムの構成の一例を示す図である。本システムは、通信装置151、プッシュ通知サーバ1502、情報処理装置101、プッシュ通知サービス提供サーバ(以下、サービス提供サーバ)1501、PC1504を含む。
まず、本実施形態を実現するためのシステム構成について説明する。図15は、本実施形態においてプッシュ通知を行う通信システムの構成の一例を示す図である。本システムは、通信装置151、プッシュ通知サーバ1502、情報処理装置101、プッシュ通知サービス提供サーバ(以下、サービス提供サーバ)1501、PC1504を含む。
情報処理装置101は、サービス提供サーバ1501から送信される通知情報に基づいて情報を表示部108に表示する。また、情報処理装置101は、アプリケーション1503を保持している。アプリケーション1503は、上述の印刷アプリに対応する。アプリケーション1503は、サービス提供サーバ1501から送信される通知情報を解析し、その解析結果をOSに通知することで、通知情報に基づくメッセージをOSに表示させる機能を有する。情報処理装置101は、例えばインターネットを介してサービス提供サーバ1501と通信可能であり、通知情報をインターネット経由で受信する。なお、情報処理装置101は、4GやLTE等の移動体通信網を介してインターネットと通信しても良いし、不図示の無線LANルーターとのWi−Fi接続を介してインターネットと通信しても良い。
通信装置151は、通信装置151に関する通知を行うための情報を、PC1504に対して送信する。後述するように、その情報の送信を起点として、情報処理装置101において、通信装置151に関する通知が行われる。なお、通信装置151は、情報処理装置101に直接、通信装置151に関する通知を行うための情報を送信しても良い。
PC1504は、一般的なパーソナルコンピュータであり、アプリケーション1505を保持している。PC1504のアプリケーション1505は、通信装置151と通信して、通信装置151に関する通知情報を取得する。そして、PC1504は、通知情報を情報処理装置101に表示させるために、通知情報をプッシュ通知サーバ1502に送信する。通知情報は、プッシュ通知サーバ1502とアプリケーション1505で共有されるセキュリティキーを用いて暗号化したデータでも良い。また、バイナリデータであっても良いし、UTF−8等のテキストデータ、またはBase64等の方式でエンコードしたデータであっても良い。また、PC1504の機能が通信装置151に組み込まれても良い。
プッシュ通知サーバ1502は、PC1504から通知情報を受信すると、通知情報に基づいて作成したプッシュ通知サービスに対応する通知情報を、サービス提供サーバ1501を介して情報処理装置101に送信する。なお、プッシュ通知サーバ1502は、複数の装置に情報を表示させるように、サービス提供サーバ1501を介して情報処理装置101に対して通知情報を送信しても良い。
サービス提供サーバ1501は、プッシュ通知サービスを提供するサーバである。本実施形態では、プッシュ通知によって通知領域を表示部に表示するプッシュ通知機能をOSが有しているため、当該機能を用いるためには、各OSに対応したプッシュ通知サービスを利用する必要がある。即ち、プッシュ通知サーバ1502は、通知情報を情報処理装置101に直接送信するのではなく、サービス提供サーバ1501を介して送信する必要がある。利用されるプッシュ通知サービスは、プッシュ通知によって通知を受け取る情報処理装置101のOS毎に異なる。即ち、プッシュ通知サーバ1502は、プッシュ通知の対象となる情報処理装置101のOS毎に異なるサービス提供サーバ1501を介して、通知情報を情報処理装置101に送信する。なお、プッシュ通知サーバ1502と情報処理装置101間の通信は、プッシュ通知サーバ1502側からのみ能動的なアクセスが可能な片方向通信である。
本実施形態では、プッシュ通知サーバ1502やサービス提供サーバ1501が各1台のサーバで構成されているとして説明するが、そのような構成に限定されない。複数台のサーバが連携して動作することで、プッシュ通知サーバ1502やサービス提供サーバ1501に対応するサーバシステムが構築されても良い。また、プッシュ通知サーバ1502やサービス提供サーバ1501の機能が通信装置151に組み込まれても良い。
<プッシュ通知用の登録処理について>
情報処理装置101に対してプッシュ通知を行うためには、事前にプッシュ通知用の登録処理が実行されている必要がある。なお、以下の登録処理におけるPC1504側の処理は、例えば、PC1504のCPUがアプリケーション1505を実行することで実現される。また、以下の登録処理における情報処理装置101側の処理は、CPU103がアプリケーション1503を実行することで実現される。
情報処理装置101に対してプッシュ通知を行うためには、事前にプッシュ通知用の登録処理が実行されている必要がある。なお、以下の登録処理におけるPC1504側の処理は、例えば、PC1504のCPUがアプリケーション1505を実行することで実現される。また、以下の登録処理における情報処理装置101側の処理は、CPU103がアプリケーション1503を実行することで実現される。
まず、PC1504は、ユーザからQRコード(登録商標)生成のための所定の操作を受け付けることにより、PC1504の表示部にQRコードを表示する。次に、情報処理装置101は、情報処理装置101が備える不図示のカメラにより、QRコードを読み取る。そして、読み取ったQRコードを解析することで、QRコードを生成したアプリケーション1505の識別情報と、QRコードを生成したアプリケーション1505に登録されているユーザ情報とを取得する。
次に、情報処理装置101は、情報処理装置101の識別情報、及び、QRコードを解析することで得た上述の情報を、登録情報として、インターネットを介してプッシュ通知サーバ1502に送信する。なお、登録情報の送信先のアドレスとして用いられるプッシュ通知サーバ1502のアドレスやサーバ名は、アプリケーション1503に予め格納されているものとする。情報処理装置101の識別情報には、例えば、プッシュ通知受信のために必要なデバイストークンや、情報処理装置101が保持するOSに関するOS情報(OSの種類、OSのヴァージョン等)が含まれる。デバイストークンは、情報処理装置101が保持するOSから提供される情報であり、アプリケーション1503の識別情報等が含まれる。
プッシュ通知サーバ1502に送信される情報は、QRコードから取得されなくとも良い。例えば、まず、情報処理装置101は、情報処理装置101が備える不図示のカメラにより、PC1504がテキスト形式で表示している情報を読み取る。そして、情報処理装置101は、読み取った情報をOCR(Optical Character Recognition/Reader)で分析することで、プッシュ通知サーバ1502に送信するための情報を抽出しても良い。また、例えば、情報処理装置101は、PC1504と無線通信方式又は有線通信方式によって接続し、プッシュ通知サーバ1502に送信するための情報を当該接続を介して取得しても良い。
これにより、プッシュ通知サーバ1502は、いずれのアプリケーション1505から受信した通知メッセージに基づく通知情報を、いずれの情報処理装置101に送信すれば良いかを認識する。このようにして、登録処理が完了する。
なお、本実施形態では、アプリケーション1505の識別情報と、情報処理装置101の識別情報とが関連付けられて、プッシュ通知サーバ1502によって管理される構成を説明したが、そのような構成に限定されない。例えば、QRコードによって、QRコードを表示しているPC1504の識別情報が取得されても良い。そして、PC1504の識別情報と、情報処理装置101の識別情報とが関連付けられて、プッシュ通知サーバ1502によって管理されても良い。この場合、プッシュ通知サーバ1502は、いずれのPC1504から受信した通知メッセージに基づく通知情報を、いずれの情報処理装置101に送信すれば良いかを認識する。
また、例えば、情報処理装置101は、QRコードを読み取ることによって、アプリケーション1505によって制御されている通信装置151の識別情報を取得しても良い。そして、通信装置151の識別情報と、情報処理装置101の識別情報とが関連付けられて、プッシュ通知サーバ1502によって管理されても良い。この場合、プッシュ通知サーバ1502は、いずれの通信装置151に関する通知メッセージに基づく通知情報を、いずれの情報処理装置101に送信すれば良いかを認識する。
また、登録処理は、例えば、以下の方法によって実行されても良い。まず、情報処理装置101は、PC1504と無線通信方式又は有線通信方式によって接続し、情報処理装置101の識別情報を、その接続を介してPC1504に送信する。PC1504は、アプリケーション1505の識別情報と、情報処理装置101の識別情報を、登録情報として、インターネットを介してプッシュ通知サーバ1502に送信する。このようにして、アプリケーション1505の識別情報と、情報処理装置101の識別情報とが関連付けられて、プッシュ通知サーバ1502によって管理されることによっても、登録処理が完了する。なお、この登録処理においても、PC1504の識別情報と情報処理装置101の識別情報とが関連付けられてプッシュ通知サーバ1502によって管理されても良い。また、通信装置151の識別情報と情報処理装置101の識別情報とが関連付けられてプッシュ通知サーバ1502によって管理されても良い。
なお、登録処理における登録情報の送信方式については特に限定されない。例えば、登録情報をHTML形式に変換して送信するHTTP方式であっても良いし、登録情報をファイル形式として作成し、そのファイルを送信するFTP方式であっても良い。また、登録情報は、プッシュ通知サーバ1502とアプリケーション1503で共有されるセキュリティキーによって暗号化されたデータであっても良い。また、バイナリデータであっても良いし、UTF−8等のテキストデータ、またはBase64等の方式でエンコードされたデータであっても良い。
<プッシュ通知について>
プッシュ通知とは、プッシュ通知サービスを用いて情報処理装置101に通知を行う通知方法である。本実施形態において、PC1504は、通信装置151から受信した通知情報(通信装置151に関する情報)を、プッシュ通知サーバ1502に送信する。そして、プッシュ通知サーバ1502が、送信された通知情報を、サービス提供サーバ1501に送信する。その後、サービス提供サーバ1501は、その通知情報を情報処理装置101に送信する。なお、通信装置151から送信された通知情報は、各装置において、元のデータ形式(各装置において受信される前のデータ形式)と異なる他のデータ形式に変換されても良い。情報処理装置101は、通知情報を受け付けた場合、通知情報に対応するメッセージを通知するための通知領域を、表示部108が表示する画面において新たに表示する。
プッシュ通知とは、プッシュ通知サービスを用いて情報処理装置101に通知を行う通知方法である。本実施形態において、PC1504は、通信装置151から受信した通知情報(通信装置151に関する情報)を、プッシュ通知サーバ1502に送信する。そして、プッシュ通知サーバ1502が、送信された通知情報を、サービス提供サーバ1501に送信する。その後、サービス提供サーバ1501は、その通知情報を情報処理装置101に送信する。なお、通信装置151から送信された通知情報は、各装置において、元のデータ形式(各装置において受信される前のデータ形式)と異なる他のデータ形式に変換されても良い。情報処理装置101は、通知情報を受け付けた場合、通知情報に対応するメッセージを通知するための通知領域を、表示部108が表示する画面において新たに表示する。
図10は、プッシュ通知機能によってプッシュ通知領域が表示されている状態の画面の一例である。最大領域1001が、表示部108が表示可能な最大の領域を示し、通知領域1002が、通知情報に対応するメッセージを通知するための通知領域を示す。また、領域1003は、表示される通知領域がいずれのアプリケーションに対応しているかを示すアイコンや、表示される通知領域が対応しているアプリケーションの名前に関する情報を示す。例えば、PC1504がアプリケーション1505によって実行する通知によって表示される場合、通知領域が対応しているアプリケーションは、アプリケーション1503となる。
なお、本実施形態において、プッシュ通知によって通知領域を表示部に表示するプッシュ通知機能は、情報処理装置101が備えるOSによって実現される。プッシュ通知機能とは、情報処理装置101上でアプリケーション1503が起動していない状態においても、アプリケーション1503に対して通知を送ることが可能な機能である。即ち、プッシュ通知機能によって、情報処理装置101は、アプリケーション1503がバックグラウンドで動作している状態や、起動していない状態、ホーム画面が表示されている状態であっても、通知領域1002を表示することができる。
図14は、本実施形態における情報処理装置101が実行する表示制御処理を示すフローチャートである。図14に示すフローチャートが示す各処理は、例えば、CPU103がROM104等に格納されたアプリケーション1503をRAM105に読み出して実行することにより実現される。
サービス提供サーバ1501を介して通知情報が情報処理装置101に受信されると、まず、CPU103は、情報処理装置101のOSを用いて通知情報を解析する。通知情報には、その通知情報に対応するアプリケーションの情報が含まれているため、CPU103は、受信した通知情報がいずれのアプリケーションに対応するものかを特定する。ここでは、通知情報は、アプリケーション1503に対応しているため、CPU103は、アプリケーション1503に通知情報を送信する。なお、通知情報を受信したことによってアプリケーション1503によって実行される以下の処理は、アプリケーション1503がフォアグラウンドで動作していない状態で実行されても良い。
まず、S1401において、CPU103は、アプリケーション1503によって通知情報を受信し、通知情報の解析を開始する。次に、S1402において、CPU103は、通知情報が、アプリケーション1505から送信された情報に基づくものか否かを判定する。本判定において、例えば、通知情報にkey/value形式の情報や、特定の文字列が含まれているかが判定される。CPU103は、アプリケーション1505から送信された情報に基づくものであると判定された場合、S1403に進み、アプリケーション505から送信された情報に基づくものでないと判定された場合、通知領域1002を表示せずに、図14の処理を終了する。
次に、S1403において、CPU103は、受信した通知情報に基づく通知領域1002を表示部108に新たに表示するよう、情報処理装置101のOSに通知(指示)する。これにより、受信した通知情報に基づく通知領域1002が、表示部108に新たに表示される。
次に、S1404において、CPU103は、通知領域1002に対するユーザ操作が行われたか否かを判定する。ユーザ操作とは、例えば、クリック操作である。ユーザ操作が行われたと判定された場合、S1403に進み、ユーザ操作が行われていないと判定された場合、S1404の処理を繰り返す。
次に、S1405において、CPU103は、アプリケーション1503をフォアグラウンドで起動させる。
次に、S1406において、CPU103は、近距離無線通信部110によって、情報処理装置101と通信装置151との距離、及び情報処理装置101に対する通信装置151が位置する方向を検知する。本処理の詳細は、図5〜図8を用いて説明した通りである。なお、アドバタイズ情報を送信している装置が情報処理装置101の周囲に複数存在する場合、そのアドバタイズ情報に含まれる識別情報を参照して、情報処理装置101の周囲に存在する複数の装置の中から通信装置151を特定する。そして、特定した通信装置151が発するアドバタイズ情報に基づき、距離と方向の検知を行う。また、情報処理装置101と通信装置151との距離、及び情報処理装置101に対する通信装置151が位置する方向を検知するタイミングは、このタイミングに限定されない。例えば、通知情報が受信されたタイミングであっても良いし、通信装置151が発するアドバタイズ情報が受信されたタイミングであっても良い。その場合、CPU103は、検知した距離や方向に関する情報を、メモリに保存しておく。
次に、S1407において、CPU103は、情報処理装置101と通信装置151との距離、及び情報処理装置101に対する通信装置151が位置する方向の検知が成功したか否かを判定する。CPU103は、検知が成功したと判定された場合、S1408に進み、検知が成功していないと判定された場合、S1409に進む。検知に失敗により成功していないと判定される場合とは、例えば、情報処理装置101と通信装置151とが離れすぎていることや、情報処理装置101や通信装置151においてBLE機能が有効化されていないことがある。
S1408において、CPU103は、通知領域1002に表示された情報とともに、情報処理装置101と通信装置151との距離、及び情報処理装置101に対する通信装置151が位置する方向をユーザに通知するための情報を表示する。
図21は、このとき、情報処理装置101に表示される通知画面2100の一例を示す図である。領域2104には、通知領域1002に表示されていたメッセージ(受信した通知情報に基づくメッセージ)が表示される。領域2103には、情報処理装置101と通信装置151との距離がメッセージとして表示される。矢印2102は、情報処理装置101に対する通信装置151が位置する方向を示すオブジェクトである。領域2101には、通信装置151を表すオブジェクトが表示される。
図21に示すように、情報処理装置101の位置を基準として、通信装置151の方向をグラフィカル表示することにより、ユーザに対して直感的に通信装置151の位置を認識させることができる。
なお、本通知画面は、フォアグラウンドで動作しているアプリケーション1503によって表示される。そのため、プッシュ通知と異なり、通知情報を表示可能な領域が大きい。そのため例えば、通知領域1002に表示されていた情報の詳細が、本通知画面において表示されても良い。例えば、通知領域1002に表示されていた情報が、通信装置151においてインクや用紙等の消耗部材に関するエラー(インク無しエラー等)が発生することを通知するための情報である場合は、インク切れとなっているインクの種類や型番等の情報が表示されても良い。
S1407で検知に成功していないと判定された場合、S1409において、CPU103は、通知領域1002に表示されていた情報を表示し、情報処理装置101と通信装置151との距離、及び情報処理装置101に対する通信装置151が位置する方向をユーザに通知するための情報を表示しない。但し、このときに表示される通知画面に、通知領域1002に表示されていた情報の詳細が、表示されても良いことは、S1408と同様である。また、このとき、情報処理装置101と通信装置151との距離、及び情報処理装置101に対する通信装置151が位置する方向の検知が失敗したことを通知するためのメッセージが表示されても良い。また、検知が失敗した原因を示す情報が表示されても良い。検知が失敗した原因とは、例えば、情報処理装置101と通信装置151とが離れすぎていることや、情報処理装置101や通信装置151においてBLE機能が有効化されていないことである。
以上のような動作により、ユーザに対して、情報処理装置101と通信装置151との距離、及び情報処理装置101に対する通信装置151が位置する方向を通知することができる。その結果、ユーザが通信装置151まで移動する上での利便性を向上させることができる。
なお、上述では、通信装置151が送信する通知情報が、PC1504や各種サーバを介して情報処理装置101に送信され、情報処理装置101が、受信した情報に基づいて通知を行う構成を説明したが、そのような構成に限定されない。例えば、通信装置151が送信する通知情報が、情報処理装置101に直接送信されても良い。
また上述では、プッシュ通知機能によって通信装置151に関する情報が通知される構成を説明したが、そのような構成に限定されない。上述において通知領域1002に通知するための情報が、プッシュ通知機能によって情報処理装置101に送信されなくとも良い。例えば、上述において通知領域1002に通知するための情報が、通信装置151が発するアドバタイズ情報に含まれていても良い。即ち、情報処理装置151は、BLE機能を、通信装置151の距離や方向の検知に用いるだけでなく、通知情報の受信に用いるようにしても良い。
また、上述では、通知領域1002が操作された場合に、通信装置151の距離及び方向を含む通知画面を表示する構成を説明したが、そのような構成に限定されない。例えば、ホーム画面におけるアプリケーション1503に対応するアイコンが操作されること等によって、アプリケーション1503が起動した場合に、通信装置151の距離及び方向を含む通知画面を表示するようにしても良い。
また、上述では、通信装置151がプリンタであり、情報処理装置101において、プリンタに関する情報が通知される構成を説明したが、そのような構成に限定されない。通信装置151がプリンタ以外の装置であり、情報処理装置101において、プリンタ以外の装置に関する情報が通知されても良い。例えば、通知システムが、家電量販店において構成されており、通信装置151が家電量販店の各販売領域において設置された構成であっても良い。図16は、そのような構成において、情報処理装置101に表示される通知画面の一例を示す図である。通知画面1600は、通知対象の装置を示すオブジェクト1601、通知対象の装置への方向1602、通知対象の装置までの距離1603、通知メッセージ1604を含んで構成される。通知対象の装置を示すオブジェクト1601には、例えば装置識別情報が付加的に表示されていても良いし、通知情報に含まれる通信装置151を特定する名称を付加的に表示させても良い。通知対象の装置への方向1602や通知対象の装置までの距離1603の表示パーツは、アプリケーション1505にて生成される。通知メッセージ1604は、プッシュ通知機能ではなく、例えば、上述の通信装置が発するアドバタイズ情報に含まれる通知するための情報に基づいて表示されるようにしても良い。また、通知メッセージ1604は、通知情報の通知画面1600において、通知対象の装置の位置情報に基づいて、地図情報や配置情報を用いて作成・表示しても良い。
また、上述では、通信装置151の位置の検出として、情報処理装置101と通信装置151との距離、及び情報処理装置101に対する通信装置151が位置する方向の検出を行う構成としたが、そのような構成に限定されない。情報処理装置101と通信装置151との距離、及び情報処理装置101に対する通信装置151が位置する方向のうち、いずれかのみが検知され、もしくは、いずれかのみがユーザに通知される構成であっても良い。
[第2実施形態]
以下、第1実施形態と異なる点について本実施形態を説明する。本実施形態では、図14のS1407で、複数の通信装置151から通知された通知情報が存在する場合、情報処理装置101からの距離が最も近い通信装置151の通知情報を表示する。
以下、第1実施形態と異なる点について本実施形態を説明する。本実施形態では、図14のS1407で、複数の通信装置151から通知された通知情報が存在する場合、情報処理装置101からの距離が最も近い通信装置151の通知情報を表示する。
図17は、本実施形態における情報処理装置101が実行する表示制御処理を示すフローチャートである。図17のS1401〜S1409については、図14のS1401〜S1409における説明と同じであるので、特に断らない限り、それらの説明を省略する。
S1407で、情報処理装置101と通信装置151との距離、及び情報処理装置101に対する通信装置151が位置する方向の検知が成功したと判定された場合、S1701の処理が行われる。
S1701において、CPU103は、S1401で受信した通知情報が1種類であるか否かを判定する。受信した通知情報が1種類であると判定された場合、S1408の処理が行われる。一方、受信した通知情報が1種類でない、複数種類と判定された場合、S1702において、CPU103は、S1406で検知した通信装置151のうち、情報処理装置101からの距離が最も近い通信装置151を表示対象として決定する。そして、CPU103は、通知領域1002に表示されていた情報とともに、情報処理装置101と、決定された通信装置151との距離、及び情報処理装置101に対する上記決定された通信装置151が位置する方向をユーザに通知するための情報を表示する。
以上のように、本実施形態によれば、ユーザに対して、情報処理装置101に最も近い通信装置151を認識させることができる。上記では、情報処理装置101から最も近い通信装置151を表示対象として決定していたが、最も近いものから所定数台をリスト表示するようにしても良い。そのような構成により、ユーザは、複数台の通信装置151に対してどのような順で廻っていけばよいか判断することができる。
[第3実施形態]
以下、第1及び第2実施形態と異なる点について説明する。第1実施形態では、図16に示すような表示でも良いことを説明した。図16では、通知情報の表示画面上に通知対象の装置を示すオブジェクト1601を表示していた。ここで、情報処理装置101から通信装置151までの距離が大きい場合には、フロア情報や店舗、施設名称などのランドマークを表示画面上に表示したほうが目的地までたどり着きやすくなるケースがある。
以下、第1及び第2実施形態と異なる点について説明する。第1実施形態では、図16に示すような表示でも良いことを説明した。図16では、通知情報の表示画面上に通知対象の装置を示すオブジェクト1601を表示していた。ここで、情報処理装置101から通信装置151までの距離が大きい場合には、フロア情報や店舗、施設名称などのランドマークを表示画面上に表示したほうが目的地までたどり着きやすくなるケースがある。
図18は、通信装置151から通知される通知情報に、装置の設置場所情報が組み込まれた通知情報の一例を示す図である。通知情報は、各通知ID1800に対応して、通知メッセージ1801、装置識別情報1802、装置の設置場所1803が対応づけられている。設置場所1803には、フロア名称や店舗名称、施設名称などの通信装置151が設置されている場所に関する情報、例えばランドマーク情報が登録されている。図18の通知情報を受信した情報処理装置101では、通信装置151までの距離が基準値よりも大きい場合には、基準値以下の場合と異なり、図19に示す画面が表示される。
図19は、情報処理装置101における通知情報の表示画面の一例を示す図であり、通知対象の装置の設置場所を示すオブジェクト1901、通知対象の装置が位置する方向1902、通知対象の装置までの距離1903、通知メッセージ1904を含んで構成される。図16と異なり、通知対象の装置の設置場所を示すオブジェクト1901には、通信装置151の名称の代わりに、装置の設置場所1803が表示されている。
図19に示すように、通信メッセージ1904として、通信装置151がある場所に行くための情報(フロア情報など)がガイダンス表示される。その結果、ユーザが通信装置151が位置する場所に移動する際の利便性をより向上させることができる。
図20は、本実施形態における情報処理装置101が実行する表示制御処理を示すフローチャートである。図20のS1401〜S1409については、図14のS1401〜S1409における説明と同じであるので、特に断らない限り、それらの説明を省略する。
S1407で、情報処理装置101と通信装置151との距離、及び情報処理装置101に対する通信装置151が位置する方向の検知が成功したと判定された場合、S2001の処理が行われる。
S2001において、CPU103は、S1406で検知した通知装置151までの距離が基準値よりも大きいか否かを判定する。基準値よりも大きいと判定された場合、S2002に進み、CPU103は、図19の画面を表示し、その後、図20の処理を終了する。一方、基準値よりも大きくないと判定された場合、S1408に進む。
以上のように、本実施形態によれば、検知された通信装置151までの距離が基準値よりも大きい場合には、通信装置151の名称の代わりに、通信装置151が位置するフロア名など、他の名称を用いて表示する。これにより、ユーザから容易に発見できない位置に通信装置151がある場合であっても、通信装置151が位置するフロア名などが表示されるので、ユーザが通信装置151まで移動する上での利便性を向上させることができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOperating System(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
101 情報処理装置: 103、154 CPU: 104、152 ROM: 105、153 RAM: 110、157 近距離無線通信部: 151 通信装置
Claims (21)
- 通信装置と通信可能な情報処理装置のコンピュータに、
前記通信装置から発信された信号に基づいて特定される、前記情報処理装置と前記通信装置との間の相対的な位置情報を取得する取得ステップ、
前記相対的な位置情報と異なり且つ前記通信装置に関する所定の通知情報、前記相対的な位置情報を前記通信装置に関する情報とともに表示部に表示させる表示制御ステップ、
を実行させることを特徴とするプログラム。 - 前記表示制御ステップは、前記プログラムの起動に応じて、前記所定の通知情報、前記相対的な位置情報を前記通信装置に関する情報とともに表示させることを特徴とする請求項1に記載のプログラム。
- 前記表示制御ステップは、前記情報処理装置が備えるオペレーティングシステムのプッシュ通知機能により表示されたプッシュ通知領域に対するユーザ操作が行われたことに応じて、前記所定の通知情報、前記相対的な位置情報を前記通信装置に関する情報とともに表示させることを特徴とする請求項1又は2に記載のプログラム。
- 前記取得ステップは、前記プッシュ通知領域に対するユーザ操作が行われたことに応じて、前記相対的な位置情報を取得することを特徴とする請求項3に記載のプログラム。
- 前記プッシュ通知領域を表示するための情報が、第1の通信方式によって前記情報処理装置によって受信され、
前記信号は、前記第1の通信方式と異なる第2の通信方式によって前記情報処理装置によって受信されることを特徴とする請求項3又は4に記載のプログラム。 - 前記第1の通信方式は、Wi−Fiであり、前記第2の通信方式は、Bluetooth Low Energyであることを特徴とする請求項5に記載のプログラム。
- 前記所定の通知情報は、前記通信装置において発生しているエラーに関する情報を含むことを特徴とする請求項1乃至6のいずれか1項に記載のプログラム。
- 前記所定の通知情報は、前記通信装置が実行する処理の進捗に関する情報を含むことを特徴とする請求項1乃至7のいずれか1項に記載のプログラム。
- 前記取得ステップは、前記相対的な位置情報として、前記情報処理装置からの前記通信装置の方向に関する情報、前記情報処理装置と前記通信装置との間の距離に関する情報のうち少なくとも一方を取得することを特徴とする請求項1乃至8のいずれか1項に記載のプログラム。
- 前記表示制御ステップは、前記情報処理装置の位置を基準としたグラフィカル表示により、前記通信装置の方向に関する情報を前記表示部に表示させることを特徴とする請求項9に記載のプログラム。
- 前記表示制御ステップは、前記距離が基準値より大きい場合、前記通信装置の方向に関する情報を前記表示部に表示させ、前記距離が基準値以下の場合、前記通信装置の方向に関する情報を前記表示部に表示させないことを特徴とする請求項9又は10に記載のプログラム。
- 前記表示制御ステップは、さらに、前記通信装置が存在する場所に関する情報を、前記表示部に表示させることを特徴とする請求項1乃至11のいずれか1項に記載のプログラム。
- 前記表示制御ステップは、前記通信装置が存在する場所に向かうためのガイダンスを前記表示部にさらに表示させることを特徴とする請求項12に記載のプログラム。
- 前記相対的な位置情報は、前記信号の到来角に基づいて特定される、前記情報処理装置からの前記通信装置の方向に関する情報を含むことを特徴とする請求項1乃至13のいずれか1項に記載のプログラム。
- 前記相対的な位置情報は、前記信号の受信強度に基づいて特定される、前記情報処理装置と前記通信装置の間の距離に関する情報を含むことを特徴とする請求項1乃至14のいずれか1項に記載のプログラム。
- 前記信号は、近距離無線通信によって前記情報処理装置に受信されることを特徴とする請求項1乃至15のいずれか1項に記載のプログラム。
- 前記近距離無線通信は、Bluetooth Low Energyであることを特徴とする請求項16に記載のプログラム。
- 前記近距離無線通信は、Bluetooth5.1の規格に含まれるBluetooth Low Energyであることを特徴とする請求項16又は17に記載のプログラム。
- 前記通信装置に印刷を実行させるための印刷ジョブを送信する送信ステップ、を更に実行させることを特徴とする請求項1乃至18のいずれか1項に記載のプログラム。
- 通信装置と通信可能な情報処理装置において実行される表示制御方法であって、
前記通信装置から発信された信号に基づいて特定される、前記情報処理装置と前記通信装置との間の相対的な位置情報を取得する取得ステップと、
前記相対的な位置情報と異なり且つ前記通信装置に関する所定の通知情報、前記相対的な位置情報を前記通信装置に関する情報とともに表示部に表示させる表示制御ステップと、
を有することを特徴とする表示制御方法。 - 通信装置と通信可能な情報処理装置であって、
前記通信装置から発信された信号に基づいて特定される、前記情報処理装置と前記通信装置との間の相対的な位置情報を取得する取得手段と、
前記相対的な位置情報と異なり且つ前記通信装置に関する所定の通知情報、前記相対的な位置情報を前記通信装置に関する情報とともに表示部に表示させる表示制御手段と、
を備えることを特徴とする情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019103171A JP2020197870A (ja) | 2019-05-31 | 2019-05-31 | 情報処理装置、表示制御方法およびプログラム |
US16/883,037 US20200382656A1 (en) | 2019-05-31 | 2020-05-26 | Information processing device and display control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019103171A JP2020197870A (ja) | 2019-05-31 | 2019-05-31 | 情報処理装置、表示制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020197870A true JP2020197870A (ja) | 2020-12-10 |
Family
ID=73549771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019103171A Pending JP2020197870A (ja) | 2019-05-31 | 2019-05-31 | 情報処理装置、表示制御方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200382656A1 (ja) |
JP (1) | JP2020197870A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021246030A1 (ja) | 2020-06-01 | 2021-12-09 | テルモ株式会社 | カテーテルおよび治療方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11972064B2 (en) * | 2022-08-24 | 2024-04-30 | Hewlett-Packard Development Company, L.P. | Ergonomic layout optimization systems and methods |
-
2019
- 2019-05-31 JP JP2019103171A patent/JP2020197870A/ja active Pending
-
2020
- 2020-05-26 US US16/883,037 patent/US20200382656A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021246030A1 (ja) | 2020-06-01 | 2021-12-09 | テルモ株式会社 | カテーテルおよび治療方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200382656A1 (en) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6184580B1 (ja) | 情報処理装置、制御方法およびプログラム | |
JP6272381B2 (ja) | プログラム、情報処理方法、および情報処理装置 | |
JP2016021090A (ja) | 端末装置、プリンタ、コンピュータプログラム | |
US11832317B2 (en) | Control method and information processing apparatus | |
JP6866209B2 (ja) | 情報処理装置、制御方法、プログラム | |
JP6667476B2 (ja) | 通信装置、制御方法及びプログラム | |
US11467792B2 (en) | Apparatus and control method | |
CN110611904B (zh) | 控制方法、信息处理设备和非暂时性计算机可读存储介质 | |
JP2020197870A (ja) | 情報処理装置、表示制御方法およびプログラム | |
US11564197B2 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium | |
US11194534B2 (en) | Information processing apparatus, control method, and storage medium | |
US11652276B2 (en) | Information apparatus and method for position detection using communicated antenna configuration | |
JP7358074B2 (ja) | 情報処理装置、制御方法及びプログラム | |
JP6888037B2 (ja) | 情報処理装置、制御方法およびプログラム | |
JP2020198503A (ja) | 情報処理装置、制御方法及びプログラム | |
US11303766B2 (en) | Information processing apparatus, control method, and non-transitory computer-readable medium | |
JP6598840B2 (ja) | プログラム、情報処理方法、および情報処理装置 | |
JP2021096522A (ja) | 情報処理装置、制御方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |