IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

<>
  • 特許-通信システム 図1
  • 特許-通信システム 図2
  • 特許-通信システム 図3
  • 特許-通信システム 図4
  • 特許-通信システム 図5
  • 特許-通信システム 図6
  • 特許-通信システム 図7
  • 特許-通信システム 図8
  • 特許-通信システム 図9
  • 特許-通信システム 図10
  • 特許-通信システム 図11
  • 特許-通信システム 図12
  • 特許-通信システム 図13
  • 特許-通信システム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-04
(45)【発行日】2024-10-15
(54)【発明の名称】通信システム
(51)【国際特許分類】
   H04B 7/06 20060101AFI20241007BHJP
【FI】
H04B7/06 890
【請求項の数】 20
(21)【出願番号】P 2019111367
(22)【出願日】2019-06-14
(65)【公開番号】P2020205497
(43)【公開日】2020-12-24
【審査請求日】2022-06-03
【前置審査】
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】古市 楓
【審査官】齊藤 晶
(56)【参考文献】
【文献】特開2018-54386(JP,A)
【文献】特開2017-184127(JP,A)
【文献】国際公開第2017/184271(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/06
(57)【特許請求の範囲】
【請求項1】
所定の通信方式によって通信するための複数のアンテナを有し、
前記複数のアンテナのうち第1の数のアンテナを用いて前記所定の通信方式による通信を実行する第1状態と、前記複数のアンテナのうち前記第1の数より少ない第2の数のアンテナを用いて前記所定の通信方式による通信を実行する第2状態とを含む複数の状態のうちいずれかで動作可能な情報処理装置のコンピュータに、
前記情報処理装置の状態であり前記第1状態と前記第2状態とは異なる状態と、前記所定の通信方式による通信を実行可能な通信装置から受信される情報と、前記通信装置の状態と、のうち1つまたは複数に基づいて、前記第1状態及び前記第2状態のうちいずれかの状態で、前記情報処理装置を動作させる制御ステップと、
前記制御ステップにより前記第1状態で前記情報処理装置が動作している場合、前記第1の数のアンテナが用いられて実行された前記所定の通信方式による通信に基づいて、前記情報処理装置に対する前記通信装置の方向を特定する特定ステップと、
前記制御ステップにより前記第1状態で前記情報処理装置が動作していることにより、前記情報処理装置に対する前記通信装置の方向が特定された場合、前記情報処理装置に対する前記通信装置の方向を示す画面を表示部に表示する表示ステップと、
を実行させることを特徴とするプログラム。
【請求項2】
前記通信装置から受信される情報に基づいて、前記情報処理装置と前記通信装置との間の距離に関する情報が取得され、
前記複数の状態のうち、前記取得された前記情報処理装置と前記通信装置との間の距離に関する情報に基づく状態で、前記情報処理装置が動作させられることを特徴とする請求項1に記載のプログラム。
【請求項3】
前記情報処理装置と前記通信装置との間の距離が所定の閾値以下でない場合、前記第2状態で前記情報処理装置が動作させられることを特徴とする請求項2に記載のプログラム。
【請求項4】
前記通信装置から受信される情報は、前記通信装置が実行する前記所定の通信方式のバージョンに関する情報であり、
前記通信装置が実行する前記所定の通信方式のバージョンが所定のバージョンより古いバージョンでない場合、前記第1状態で前記情報処理装置が動作させられ、
前記通信装置が実行する前記所定の通信方式のバージョンが所定のバージョンより古いバージョンである場合、前記第2状態で前記情報処理装置が動作させられることを特徴とする請求項1乃至3のいずれか1項に記載のプログラム。
【請求項5】
前記所定の通信方式は、Bluetoothであり、
前記所定のバージョンは、バージョン5.1であることを特徴とする請求項4に記載のプログラム。
【請求項6】
前記情報処理装置の状態は、前記情報処理装置の電池残量の状態であり、
前記情報処理装置の電池残量が閾値以下でない場合、前記第1状態で前記情報処理装置が動作させられ、
前記情報処理装置の電池残量が閾値以下である場合、前記第2状態で前記情報処理装置が動作させられることを特徴とする請求項1乃至5のいずれか1項に記載のプログラム。
【請求項7】
前記通信装置から受信される情報は、前記通信装置の種類を示す情報であり、
前記通信装置が所定の種類の装置であり、且つ前記通信装置の方向がまだ検知されていない場合、前記第1状態で前記情報処理装置が動作させられ、
前記通信装置が前記所定の種類の装置であり、且つ前記通信装置の方向が既に検知されている場合、前記第2状態で前記情報処理装置が動作させられることを特徴とする請求項1乃至6のいずれか1項に記載のプログラム。
【請求項8】
前記所定の種類の装置は、プリンタとデスクトップパーソナルコンピュータのうち少なくとも1つであることを特徴とする請求項7に記載のプログラム。
【請求項9】
前記通信装置が前記所定の種類の装置であり、且つ前記情報処理装置に対する前記通信装置の方向が既に特定されている場合、前記第1状態で前記情報処理装置が動作させられることを特徴とする請求項8に記載のプログラム。
【請求項10】
前記通信装置は、前記所定の通信方式によって通信するための複数のアンテナを有し、
前記通信装置は、前記通信装置が有する前記複数のアンテナのうち前記第1の数のアンテナを用いて前記所定の通信方式による通信を実行する第3状態と、前記通信装置が有する前記複数のアンテナのうち前記第2の数のアンテナを用いて前記所定の通信方式による通信を実行する第4状態とを含む複数の状態のうちいずれかで動作可能であることを特徴とする請求項1乃至9のいずれか1項に記載のプログラム。
【請求項11】
前記第1状態で前記情報処理装置が動作させられる場合、前記通信装置を前記第4状態で動作させるための処理を実行する処理ステップをさらに実行させることを特徴とする請求項10に記載のプログラム。
【請求項12】
前記制御ステップにより前記第2状態で前記情報処理装置が動作している場合、前記情報処理装置に対する前記通信装置の方向の特定が実行されないことを特徴とする請求項1乃至11のいずれか1項に記載のプログラム。
【請求項13】
前記制御ステップにより前記第2状態で前記情報処理装置が動作している場合、前記第2の数のアンテナが用いられて実行された前記所定の通信方式による通信に基づいて、前記情報処理装置に対する前記通信装置の方向が特定されることを特徴とする請求項1乃至11のいずれか1項に記載のプログラム。
【請求項14】
前記所定の通信方式は、Bluetooth Low Energyであることを特徴とする請求項1乃至13のいずれか1項に記載のプログラム。
【請求項15】
前記所定の通信方式は、Bluetooth5.1の規格に含まれるBluetooth Low Energyであることを特徴とする請求項14に記載のプログラム。
【請求項16】
印刷を実行させるための印刷ジョブを前記通信装置に送信する送信ステップをさらに実行させることを特徴とする請求項1乃至15のいずれか1項に記載のプログラム。
【請求項17】
前記情報処理装置に対する前記通信装置の方向の特定は、アプリケーションプログラムによって実行されることを特徴とする請求項1乃至16のいずれか1項に記載のプログラム。
【請求項18】
前記所定の通信方式による通信に使用されるアンテナ数の制御は、アプリケーションプログラム又はオペレーティングシステムによって実行されることを特徴とする請求項1乃至16のいずれか1項に記載のプログラム。
【請求項19】
所定の通信方式によって通信するための複数のアンテナを有し、
前記複数のアンテナのうち第1の数のアンテナを用いて前記所定の通信方式による通信を実行する第1状態と、前記複数のアンテナのうち前記第1の数より少ない第2の数のアンテナを用いて前記所定の通信方式による通信を実行する第2状態とを含む複数の状態のうちいずれかで動作可能な情報処理装置であって、
前記情報処理装置の状態であり前記第1状態と前記第2状態とは異なる状態と、前記所定の通信方式による通信を実行可能な通信装置から受信される情報と、前記通信装置の状態と、のうち1つまたは複数に基づいて、前記第1状態及び前記第2状態のうちいずれかの状態で、前記情報処理装置を動作させる制御手段と、
前記制御手段により前記第1状態で前記情報処理装置が動作している場合、前記第1の数のアンテナが用いられて実行された前記所定の通信方式による通信に基づいて、前記情報処理装置に対する前記通信装置の方向を特定する特定手段と、
前記制御手段により前記第1状態で前記情報処理装置が動作していることにより、前記情報処理装置に対する前記通信装置の方向が特定された場合、前記情報処理装置に対する前記通信装置の方向を示す画面を表示部に表示する表示手段と、
を有することを特徴とする情報処理装置。
【請求項20】
所定の通信方式によって通信するための複数のアンテナを有し、
前記複数のアンテナのうち第1の数のアンテナを用いて前記所定の通信方式による通信を実行する第1状態と、前記複数のアンテナのうち前記第1の数より少ない第2の数のアンテナを用いて前記所定の通信方式による通信を実行する第2状態とを含む複数の状態のうちいずれかで動作可能な情報処理装置の制御方法であって、
前記情報処理装置の状態であり前記第1状態と前記第2状態とは異なる状態と、前記所定の通信方式による通信を実行可能な通信装置から受信される情報と、前記通信装置の状態と、のうち1つまたは複数に基づいて、前記第1状態及び前記第2状態のうちいずれかの状態で、前記情報処理装置を動作させる制御ステップと、
前記制御ステップにより前記第1状態で前記情報処理装置が動作している場合、前記第1の数のアンテナが用いられて実行された前記所定の通信方式による通信に基づいて、前記情報処理装置に対する前記通信装置の方向を特定する特定ステップと、
前記制御ステップにより前記第1状態で前記情報処理装置が動作していることにより、前記情報処理装置に対する前記通信装置の方向が特定された場合、前記情報処理装置に対する前記通信装置の方向を示す画面を表示部に表示する表示ステップと、
を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システムに関し、近距離無線通信部を搭載している情報処理装置と通信装置を接続する通信システムに関するものである。
【背景技術】
【0002】
Bluetooth Low Energy等の通信方式によって通信装置と通信する情報処理装置が知られている(特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-188869
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、情報処理装置は、Bluetooth Low Energy等の通信方式によって通信するためのアンテナを複数有している場合がある。そしてそのような情報処理装置は、複数のアンテナを用いることで、情報処理装置に対する通信装置の方向を検知することが可能である。しかしながら、使用するアンテナの数が多い状態は、使用するアンテナの数が少ない状態と比較して、消費電力が大きい。
【0005】
そこで本発明では、使用するアンテナの数を適切に制御することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記の課題を解決するためになされたものであり、プログラムであって、
所定の通信方式によって通信するための複数のアンテナを有し、
前記複数のアンテナのうち第1の数のアンテナを用いて前記所定の通信方式による通信を実行する第1状態と、前記複数のアンテナのうち前記第1の数より少ない第2の数のアンテナを用いて前記所定の通信方式による通信を実行する第2状態とを含む複数の状態のうちいずれかで動作可能な情報処理装置のコンピュータに、
前記情報処理装置の状態であり前記第1状態と前記第2状態とは異なる状態と、前記所定の通信方式による通信を実行可能な通信装置から受信される情報と、前記通信装置の状態と、のうち1つまたは複数に基づいて、前記第1状態及び前記第2状態のうちいずれかの状態で、前記情報処理装置を動作させる制御ステップと、
前記制御ステップにより前記第1状態で前記情報処理装置が動作している場合、前記第1の数のアンテナが用いられて実行された前記所定の通信方式による通信に基づいて、前記情報処理装置に対する前記通信装置の方向を特定する特定ステップと、
前記制御ステップにより前記第1状態で前記情報処理装置が動作していることにより、前記情報処理装置に対する前記通信装置の方向が特定された場合、前記情報処理装置に対する前記通信装置の方向を示す画面を表示部に表示する表示ステップと、
を実行させることを特徴とする。
【発明の効果】
【0007】
使用するアンテナの数を適切に制御することができる。
【図面の簡単な説明】
【0008】
図1】本発明の実施形態における情報処理装置及び通信装置の構成の図例である。
図2】アドバタイズ情報のブロードキャスト及び接続要求情報の受信の処理を説明するための図である。
図3】BLEにおけるアドバタイズを説明するための図である。
図4】ペアリング処理に関する画面を示す図である。
図5】BLEにおける方向検知に用いられるアドバタイズ情報の構造を示す図である。
図6】BLEにおける方向検知を説明するための図である。
図7】BLEにおける方向検知を説明するための図である。
図8】BLEにおける方向検知を説明するための図である。
図9】アドバタイズ情報の構造を示す図である。
図10】情報処理装置と通信装置とが、BLE通信方式によってネットワーク接続を行う場合の処理を示すシーケンス図である。
図11】GATTのデータ形式を示す図である。
図12】GATTデータの構成の一例を示す表である。
図13】情報処理装置と通信装置とが、BLE通信方式によって接続をする処理を示すシーケンス図である。
図14】情報処理装置が実行する、利用するBLEアンテナの数を制御する処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
【0010】
(第1実施形態)
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、本実施形態ではスマートホンを例示しているが、これに限定されず、携帯端末、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートホン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
【0011】
まず、本実施形態の情報処理装置と、本実施形態の情報処理装置と通信可能な通信装置の構成について図1のブロック図を参照して説明する。また、本実施形態では以下の構成を例に記載するが、本実施形態は通信装置と通信を行うことが可能な装置に関して適用可能なものであり、特にこの図のとおりに機能を限定するものではない。
【0012】
情報処理装置101は、本実施形態の情報処理装置である。情報処理装置101は、入力インタフェース102、CPU103、ROM104、RAM105、外部記憶装置106、出力インタフェース107、表示部108、通信部109、近距離無線通信部110等を有する。CPU103、ROM104、RAM105等によって、情報処理装置101のコンピュータが形成される。
【0013】
入力インタフェース102は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、物理キーボードやボタン、タッチパネル等で構成される。なお、後述の出力インタフェース107と入力インタフェース102とを同一の構成とし、画面の出力とユーザからの操作の受け付けを同一の構成で行うような形態としても良い。
【0014】
CPU103は、システム制御部であり、情報処理装置101の全体を制御する。
【0015】
ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OSという。)プログラム等の固定データを格納する。本実施形態では、ROM104に格納されている各制御プログラムは、ROM104に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
【0016】
RAM105は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。なお、RAM105は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、情報処理装置101の設定情報や情報処理装置101の管理データ等を格納するメモリエリアもRAM105に設けられている。また、RAM105は、CPU103の主メモリとワークメモリとしても用いられる。
【0017】
外部記憶装置106は、印刷実行機能を提供するアプリケーション、通信装置151が解釈可能な印刷情報を生成する印刷情報生成プログラム等を保存している。また、外部記憶装置106は、通信部109を介して接続している通信装置151との間で送受信する情報送受信制御プログラム等の各種プログラムや、これらのプログラムが使用する各種情報を保存している。
【0018】
出力インタフェース107は、表示部108がデータの表示や情報処理装置101の状態の通知を行うための制御を行うインタフェースである。
【0019】
表示部108は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示や情報処理装置101の状態の通知を行う。なお、表示部108上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを設置することで、表示部108を介してユーザからの入力を受け付けても良い。
【0020】
通信部109は、通信装置151等の装置と接続して、データ通信を実行するための構成である。例えば、通信部109は、通信装置151内のアクセスポイント(不図示)に接続可能である。通信部109と通信装置151内のアクセスポイントが接続することで、情報処理装置101と通信装置151は相互に通信可能となる。なお、通信部109は無線通信で通信装置151とダイレクトに通信しても良いし、情報処理装置101や通信装置151の外部に存在する外部アクセスポイント(アクセスポイント131)を介して通信しても良い。無線通信方式としては、例えば、Wi-Fi(WirelessFidelity)(商標登録)やBluetooth(商標登録)等が挙げられる。また、アクセスポイント131としては、例えば、無線LANルーター等の機器などが挙げられる。なお、本実施形態において、情報処理装置101と通信装置151とが外部アクセスポイントを介さずにダイレクトに接続する方式をダイレクト接続方式という。また、情報処理装置101と通信装置151とが外部アクセスポイントを介して接続する方式をインフラストラクチャー接続方式という。
【0021】
近距離無線通信部110は、通信装置151等の装置と近距離で無線接続して、データ通信を実行するための構成であり、通信部109とは異なる通信方式によって通信を行う。近距離無線通信部110は、通信装置151内の近距離無線通信部157と接続可能である。なお、本実施形態では、近距離無線通信部110の通信方式として、Bluetooth5.1が用いられるものとする。なお、Bluetooth5.1には、Classic Bluetoothと、Bluetooth Low Energy(BLE)の両規格が含まれるが、本実施形態では近距離無線通信部157の通信方式として、BLEが用いられるものとする。
【0022】
通信装置151は、本実施形態の通信装置である。通信装置151は、ROM152、RAM153、CPU154、プリントエンジン155、通信部156、近距離無線通信部157等を有する。
【0023】
通信部156は、通信装置151内部のアクセスポイントとして、情報処理装置101等の装置と接続するためのアクセスポイントを有している。なお、該アクセスポイントは、情報処理装置101の通信部109に接続可能である。なお、通信部156は無線通信で情報処理装置101とダイレクトに通信しても良いし、アクセスポイント131を介して通信しても良い。通信方式としては、例えば、Wi-Fi(商標登録)やBluetooth(登録商標)等が挙げられる。また、通信部156は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウエアにより、アクセスポイントとして動作してもよい。
【0024】
近距離無線通信部157は、情報処理装置101等の装置と近距離で無線接続するための構成である。本実施形態では、近距離無線通信部157の通信方式として、Bluetooth5.1が用いられるものとする。より具体的には、本実施形態では近距離無線通信部157の通信方式として、BLEが用いられるものとする。
【0025】
RAM153は、バックアップ電源を必要とするSRAM等で構成される。なお、RAM153は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、通信装置151の設定情報や通信装置151の管理データ等を格納するメモリエリアもRAM153に設けられている。また、RAM153は、CPU154の主メモリとワークメモリとしても用いられ、情報処理装置101等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。
【0026】
ROM152は、CPU154が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。本実施形態では、ROM152に格納されている各制御プログラムは、ROM152に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
CPU154は、システム制御部であり、通信装置151の全体を制御する。
【0027】
プリントエンジン155、RAM153に保存された情報や情報処理装置101等から受信した印刷ジョブに基づき、インク等の記録剤を用いて紙等の記録媒体上に画像形成し、印刷結果を出力する。この時、情報処理装置101等から送信される印刷ジョブは、送信データ量が大きく、高速な通信が求められるため、近距離無線通信部157よりも高速に通信可能な通信部156を介して受信する。
【0028】
なお、通信装置151には、外付けHDDやSDカード等のメモリがオプション機器として装着されてもよく、通信装置151に保存される情報は、当該メモリに保存されても良い。
【0029】
また、本実施形態の通信装置は、接続設定処理により接続モードが設定され、設定された接続モードに基づいた接続形態により、情報処理装置と通信を行う。本実施形態の通信装置は、インフラストラクチャー接続により通信を行う場合は、接続モードとしてインフラストラクチャー接続モードが設定され、ダイレクト接続により通信を行う場合は、接続モードとしてダイレクト接続モードが設定される。
【0030】
ここでは、例として情報処理装置101と通信装置151との処理分担を上記のように示したが、特にこの分担形態に限らず他の形態であってもよい。
【0031】
本実施形態では、情報処理装置101は、ROM104や外部記憶装置106等に所定のアプリケーションを格納しているものとする。所定のアプリケーションとは、例えば、情報処理装置101内の画像データや文書データ等を印刷させるための印刷ジョブを、通信装置151に送信するためのアプリケーションプログラムである。このような機能を有するアプリケーションを、以後印刷アプリという。なお、印刷アプリは、印刷機能以外に、他の機能を備えていても良い。例えば、印刷アプリは、通信装置151がスキャン機能を備えている場合に、通信装置151にセットされた原稿をスキャンさせる機能や、通信装置151の他の設定を行う機能、通信装置151の状態を確認する機能等を備えていても良い。すなわち、印刷アプリは、印刷ジョブ以外に、スキャンジョブや設定ジョブを通信装置151に送信する機能を有していても良い。また、所定のアプリケーションは、印刷アプリに限定されず、印刷以外の機能を備えているアプリケーションプログラムであっても良い。
【0032】
また、本実施形態では、近距離無線通信部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接続要求を受信するための受信器を有効にしておく処理である受信処理における総消費電力を示している。送信電力202は送信処理による瞬間消費電力を示している。また、受信電力203は受信処理による瞬間消費電力を示している。また、マイコン動作電力201は、近距離無線通信部157内のマイコンが動作している場合の瞬間消費電力を示している。なお、Tx205とRx206の前後や間にもマイコンが動作しているのは、送信・受信処理の実行や停止のためには事前にマイコンが起動している必要があるからである。また、アドバタイズ情報の送信を複数チャネルで行う場合は、アドバタイズ情報の送信を行うチャネルの数だけ消費電力が増えることになる。また、マイコンが動作を行っておらず、近距離無線通信部157が省電力状態となっている間は、スリープ電力204が近距離無線通信部157の瞬間消費電力となる。このように、近距離無線通信部157は、所定のチャネルを用いて送信処理を行った後、同一のチャネルを用いて一定時間受信処理を行うことで、情報処理装置101からBLE接続要求が送信されるのを待つ。
【0033】
また、近距離無線通信部157は、図3に示すように、アドバタイズ情報の送信処理と受信処理を、チャネル別に3回繰り返した後、マイコンの動作を停止させ一定時間省電力状態になる。以下、所定のチャネルによるアドバタイズ情報の送信処理と受信処理の組み合わせをアドバタイズと言う。また、所定のチャネルによってアドバタイズ情報を送信する時間間隔をアドバタイズ間隔という。なお、1回目のアドバタイズを行ってから省電力状態になるまでに繰り返すアドバタイズの回数は、3回以下であれば任意に変更可能である。また、図3ではアドバタイズ時のチャネルは37、38、39番目のチャネルの順番で順次使用しているが、この順番はランダムであってもよく、順番は1回目のアドバタイズと2回目のアドバタイズ、3回目以降のアドバタイズとでそれぞれ異なっていてもよい。
【0034】
図9は、近距離無線通信部157が通信装置151の周辺にブロードキャストするアドバタイズ情報の構造の一例である。
【0035】
近距離無線通信部157は、電力の供給が開始されると初期化処理を行い、アドバタイジング状態となる。近距離無線通信部157は、アドバタイジング状態となると、アドバタイズ間隔に基づいて定期的にアドバタイズ情報を周辺にブロードキャストする。アドバタイズ情報とは、基本的なヘッダ情報(当該アドバタイズ情報を送信する装置を識別するための識別情報等)を含む信号であり、ヘッダ901とペイロード902から構成される。情報処理装置101は、このアドバタイズ情報を受信することで、通信装置151の存在を認識することができる。さらに、情報処理装置101は、通信装置151にBLE接続要求を送信することで通信装置151とBLE接続することができる。ヘッダ901は、アドバタイズ情報のタイプやペイロード902の大きさの情報などを格納する領域である。ペイロード902は、識別情報としてのデバイス名903や搭載プロファイル情報、通信装置151とBLE接続するための接続情報904、アドバタイズ情報の送信電力(Tx Power)905等の情報を格納する。なお、通信装置の識別情報906をアドバタイズ情報に含めても良い。通信装置の識別情報906としては、通信装置のMACアドレスや、通信装置のサービス情報、通信装置内のアクセスポイントのSSID、パスワード等が該当する。
【0036】
本実施形態では、近距離無線通信部157は、通信装置151の電源がONになった場合にアドバタイジング状態となり、アドバタイズ情報の送信を開始するものとする。ただし、近距離無線通信部157がアドバタイズ情報の送信を開始するタイミングは、上述の形態に限定されず、例えば、BLE機能を有効にするための所定の操作が行われたタイミング等であっても良い。
【0037】
なお例えば、近距離無線通信部157は、第1アドバタイズ情報を送信し、第1アドバタイズ情報に対するスキャンレスポンスを情報処理装置101から受け取った場合、第1アドバタイズ情報と内容が異なる第2アドバタイズ情報を送信する形態であっても良い。なお例えば、第1アドバタイズ情報は、アドバタイズ情報の送信電力に関する情報や近距離無線通信部157の識別情報等を含むものとする。そして、第2アドバタイズ情報は、通信装置151の識別情報や、通信装置151が備えている機能やハードウェアに関する情報等を含むものとする。このような形態の場合、例えば印刷アプリは、第2アドバタイズ情報をハンドリングするものとして設計される。そのため、以下の説明において印刷アプリがハンドリングするアドバタイズ情報は、第2アドバタイズ情報であるものとする。
【0038】
ここで、BLE規格におけるGATT(Generic Attribute Profile)通信の概要について説明する。GATTとは、BLE規格において情報の読み書き(送受信)を司るプロファイルである。
【0039】
GATT通信においては、データの転送元と転送先に基づいて、GATTクライアントとGATTサーバの2つのロールが定義されている。
【0040】
GATTクライアントはGATTサーバにリクエストを送信し、GATTサーバからの応答を受信する。本実施形態では、情報処理装置101がGATTクライアントとなる。GATTクライアントは、GATTサーバの近距離無線通信部内の記憶領域に保持されている情報の読み取り(リード)及び、当該記憶領域に対する情報の書き込み(ライト)を実行することが出来る。
【0041】
GATTサーバは、GATTクライアントからの要求を受信すると、GATTクライアントに対して応答を返す。本実施形態では、通信装置151がGATTサーバとなり、情報処理装置101がGATTクライアントとなる。なお、GATTサーバは、GATTサーバの状態情報等の情報を格納するデバイスとして動作する。
【0042】
次に、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のように表現される。
【0043】
サービスは、GATTのデータ中のアトリビュートを共通区分ごとにグループ化したものであり、各サービスには1以上のキャラクタリスティックが含まれる。キャラクタリスティックには、キャラクタリスティック毎に単一の値が設定されている。ディスクリプタは、キャラクタリスティックに付加情報が必要な際に用いられる属性値が設定されている。サービス、キャラクタリスティック、ディスクリプタには、それぞれ、GATTクライアントにリードやライトを許可するか否かを示す設定値であるリード・ライトの属性を設定することが出来る。
【0044】
GATTクライアントは、サービス、キャラクタリスティックそれぞれのUUIDを指定することで、指定したキャラクタリスティックに設定されている値に対して、リード・ライトを実行することが出来る。ただし、リード・ライトが実行できるか否かは、各サービス、キャラクタリスティックに設定されているリード・ライト属性に基づく。
【0045】
近距離無線通信部157によって構築されているGATTデータの例を、図12に示す。図12のGATTデータにおいて、「Service UUID」は、各サービスに割り振られているUUIDを示す。「Service名」は、各サービスの名前を示す。「Charactaristic UUID」は、各キャラクタリスティックに割り振られているUUIDを示す。「Charactaristic名」は、各キャラクタリスティックの名前を示す。「Service リード可能」は、各サービスに関する値を情報処理装置101がリード(読み取り)可能か否かを示す。「Service ライト可能」は、各サービスに関する値を情報処理装置101がライト(書き込み)可能か否かを示す。「Charactaristic リード可能」は、各キャラクタリスティックに関する値を情報処理装置101がリード可能か否かを示す。「Charactaristic ライト可能」は、各キャラクタリスティックに関する値を情報処理装置101がライト(書込み)可能か否かを示す。「Charactaristic インディケイト可能」は、各キャラクタリスティックに関する値を通信装置151が更新した場合に情報処理装置101へインディケイト(通知)可能か否かを示す。「ペアリング必要」は、各キャラクタリスティックに関する値をペアリング済みでなければ情報処理装置101にライトもしくはリードを許可しないか否かを示す。情報処理装置101は、「Service リード可能」がリード可能(○)を示し且つ「Charactaristic リード可能」がリード可能を示(○)している場合、対応するキャラクタリスティックに関する値を読み取ることができる。また、情報処理装置101は、「Service リード可能」がリード可能(○)を示し且つ「Charactaristic リード可能」がリード不可能(空欄)を示している場合、対応するキャラクタリスティックに関する値を読み取ることができない。「値」は、各キャラクタリスティックに設定された値を示す。また、「ペアリング必要」がペアリング不必要(空欄)を示している場合、情報処理装置101は、通信装置151とペアリングをしていない状態でも、対応するキャラクタリスティックに関する値を読み書きすることができる。一方、「ペアリング必要」がペアリング必要(○)を示している場合、情報処理装置101は、通信装置151とペアリングをしている状態でなければ、対応するキャラクタリスティックに関する値を読み書きすることができない。
【0046】
本実施形態では、情報処理装置101と通信装置151間で認証を行い、装置間でGATT通信によりデータの読み書きを実行するためのペアリング処理を実施する。情報処理装置101と通信装置151間でのペアリングが実行されていない状態では、通信装置151は、GATT通信による情報の読み書きを許可しない構成とする。このようにすることで、ペアリングを行っていない情報処理装置101と通信装置151が通信を行ってしまい、例えば、通信装置151が保持する情報がペアリングを行っていない情報処理装置101に不用意に取得されてしまうことを抑制することができる。なお、本実施形態では、ペアリングを行っていない状態で許可されるGATT通信と、ペアリングを行っていない状態では許可されないGATT通信とがあるものとする。秘匿性の低い情報は、ペアリングを行っていない状態で許可されるGATT通信で通信可能とすることで、通信の利便性を向上させることができる。一方、秘匿性の高い情報は、ペアリングを行っていない状態では許可されないGATT通信でのみ通信可能とすることで、通信のセキュリティを向上させることができる。
【0047】
ペアリング処理の詳細について説明する。まず、情報処理装置101は、前述の印刷アプリが起動され、印刷アプリを介してユーザからペアリング処理の実行指示を受け付けた場合、特定の装置情報を有するアドバタイズ情報のサーチを開始する。なお、特定の装置情報とは、例えば、印刷アプリに対応する装置(プリンタ等)のUUIDやMACアドレス等である。そして、情報処理装置101は、特定の装置情報を有するアドバタイズ情報を受信すると、特定の装置情報を有するアドバタイズ情報の送信元の装置のリストを表示部に表示し、ペアリング対象となる装置の選択をユーザから受け付ける。ここでは、通信装置151が選択されたものとして説明する。
【0048】
そして、情報処理装置101は、ペアリング対象となる装置の選択を受け付けた場合、セキュリティーマネージャプロトコルによる通信により、通信装置151に、ペアリング要求を送信する。なお、ペアリングが終了するまで、装置間の通信は、セキュリティーマネージャプロトコルによって行われるものとする。通信装置151は、ペアリング要求を受信すると、表示部160に、図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コード表示画面400を非表示とし、元の画面を再度表示する。
【0049】
ペアリング完了後は、情報処理装置101は、通信装置151に対してGATT通信要求を送信する際には、ペアリング処理時に記憶領域に保存したリンクキーを通信装置151に通知する。通信装置151は、GATT通信要求を受信した場合、ペアリング処理時に記憶領域に保存したリンクキーと通知されたリンクキーを比較して、GATT通信要求を発信している装置が、ペアリング済みの装置であるかを確認する。そして、通信装置151は、ペアリング済みの装置であると確認できた場合は、情報処理装置101とのGATT通信による情報の読み書きを開始する。これにより、情報処理装置101は、一旦通信装置151とのペアリング処理を完了しておけば、以降はユーザによるPINコードの入力なしに通信装置151とのGATT通信を実行することができる。なお、上述では、PINコード入力領域411に、PINコード入力画面400に表示されているPINコード401をユーザに入力させる形態を説明したが、この形態に限定されない。例えば、PINコード401を固定の(ユーザが任意に変更できない)情報とし、印刷アプリのインストールと共に情報処理装置101に格納される形態とすることで、ユーザの入力なしにPINコード401が通信装置151に通知される形態としてもよい。また、ペアリング処理が開始されるタイミングも上述の形態に限定されず、例えば、印刷アプリを介してユーザが印刷を指示したタイミングや、接続設定処理においてBLE接続が行われる前のタイミング等であっても良い。
【0050】
また、情報処理装置101が表示するPINコード入力画面410は、印刷アプリによって表示されなくとも良い。例えば、情報処理装置101は、設定用アプリケーション(以降、設定用アプリ)を有していても良い。設定用アプリとは、OSにより実行される機能に関する設定を行うためのアプリーションプログラムである。設定用アプリは、例えば、OSが情報処理装置101にインストールされる一連の処理において一緒にインストールされたり、情報処理装置101の着荷時にOSと一緒に予め情報処理装置101にインストールされたりしているアプリーションプログラムである。情報処理装置101は、通信装置151とペアリングを行う際に、設定用アプリを起動させて印刷アプリをバックグラウンドに遷移させ、設定用アプリにより表示されるBluetooth設定画面に対するペアリングのための入力をユーザから受け付けても良い。
【0051】
また上述では、PINコード入力式のペアリング方法について説明したが、ペアリングの方法は、上述の方法に限定されない。以下に、PINコード入力式以外のペアリング方法について説明する。情報処理装置101は、通信装置151が保持している情報である、鍵シードと呼ばれる情報を、BLE接続を介して通信装置151から取得する。そして、情報処理装置101と通信装置151は、それぞれが予め認識している法則に従って、鍵シードからリンクキーを生成する。生成されたリンクキーは、情報処理装置101の持つ記憶領域(ROM104等)と通信装置151の持つ記憶領域(ROM152等)にそれぞれ保存される。すなわち、情報処理装置101と通信装置151は、同じリンクキーをそれぞれが保持することとなる。このようにしてリンクキーを生成し、当該リンクキーを用いたGATT通信が可能となることで、通信装置151と情報処理装置101との間の認証が行われ、ペアリング処理が完了する。ペアリング処理が完了した後は、情報処理装置101と通信装置151との間の通信において、リンクキーに基づいて暗号化した情報が通信される。情報処理装置101と通信装置151は、リンクキーに基づいて暗号化された情報を受信した場合、自身が保持するリンクキーを用いて暗号化を解除することで、暗号化される前の情報を認識することができる。
【0052】
図13は、情報処理装置101と通信装置151との間におけるBLE通信を説明するためのシーケンス図である。なおこの処理シーケンスが示す通信装置151の処理は、CPU154が、ROM152又は通信装置151が備えるHDD(不図示)に記憶されている制御プログラムをRAM153にロードし、その制御プログラムを実行することで実現される。また、この処理シーケンスが示す情報処理装置101の処理は、CPU103が、ROM104又は情報処理装置101が備えるHDD(不図示)に記憶されている制御プログラムをRAM105にロードし、その制御プログラムを実行することで実現される。
【0053】
以下の説明において、通信装置151は、所定の間隔でアドバタイズ情報を送信するアドバタイザであるものとする。また、情報処理装置101は、周辺にあるアドバタイザから送信されるアドバタイズ情報を待ち受けるスキャナであるものとする。まず、通信装置151内の近距離無線通信部157は、アドバタイズ情報の送信を行う(S1301~S1303)。情報処理装置101は、近距離無線通信部110が近距離無線通信部157から送信されたアドバタイズ情報を受信することで、通信装置151の存在を認識することができる。
【0054】
情報処理装置101は、通信装置151を認識し、通信装置151と接続することを決定したら、接続要求情報を通信装置151に送信する。具体的には、近距離無線通信部110が、BLEによるネットワーク接続を確立する接続イベントに遷移するための要求であるCONNECT_REQを送信する(S1304)。近距離無線通信部157がCONNECT_REQを受信すると、情報処理装置101及び通信装置151は、接続イベントに遷移する準備をする。具体的には、近距離無線通信部110及び近距離無線通信部157が、それぞれCPU103及びCPU154にGATT通信のための接続処理が完了した旨を通知する。
【0055】
その後、情報処理装置101及び通信装置151はそれぞれスキャナとアドバタイザからマスタとスレーブに遷移し、マスタである情報処理装置101とスレーブである通信装置151は、GATT通信のための接続(BLE接続)を確立する。なお、BLE規格では、マスタは、スレーブと「1:多」のスター型のトポロジーを形成することができる。情報処理装置101と通信装置151は、BLE接続を確立したら、以後、GATT通信方式によってデータ通信を行うことができる。
【0056】
さて、情報処理装置101は、GATT通信により通信装置151のGATTデータにアクセスする前に、通信装置151がどのような構成のGATTデータを有しているかを取得する必要がある。GATTデータの構成とは例えば、GATTデータ内のサービスの数、キャラクタリスティックの数、それぞれのUUIDの値やリードの可否を示す属性等である。GATTデータの構成を情報処理装置101が取得する手段のことをディスカバリと呼ぶ。
【0057】
そこで情報処理装置101は、S1304でBLE接続が確立された後に、S1305で、ディスカバリを開始する。具体的には情報処理装置101は、通信装置151のGATTデータの構成を示す情報を要求するためのディスカバリ要求を通信装置151へと送信する。これにより、ディスカバリ要求の応答として、通信装置151は、情報処理装置101へGATTデータの構成を示す情報を送信する。GATTデータの構成を示す情報を受信した情報処理装置101は、通信装置151のGATTデータ内の、ハッシュ値が格納されている領域を特定し、ハッシュ値のリードを行う。なおハッシュ値は、図12のCharacteristic UUIDが0x2B2AのDatabase Hashキャラクタリスティックに格納されている値である。通信装置151は、Database Hashキャラクタリスティックの値として、通信装置151があらかじめGATTデータの構成から算出したハッシュ値を格納している。すなわちハッシュ値とは、通信装置151のGATTデータの構成に応じて一意に定められる値である。
【0058】
なお、情報処理装置101は、過去に情報処理装置101がBLEによって接続したことがある端末からリードしたハッシュ値を、情報処理装置101が備えるメモリ(ROM104等)に格納している。そこでS1306で、情報処理装置101は、S1305でリードしたハッシュ値が、過去にリードしたハッシュ値(情報処理装置101が備えるメモリに格納されているハッシュ値)と一致するものがあるかを比較する。すなわち情報処理装置101は、通信装置151が、過去に情報処理装置101がBLEによって接続したことがある端末か否かを判定する。このとき情報処理装置101は、ハッシュ値だけでなく、通信装置151のMACアドレスなどの個体識別情報等の他の情報を判定条件に加えてもよい。
【0059】
S1306でNOと判定された場合、情報処理装置101は、通信装置151のGATTデータの残りの構成を把握するために、ディスカバリを継続する。そのためS1307で情報処理装置101は、通信装置151のGATTデータの構成を示す情報を要求するためのディスカバリ要求を通信装置151へと送信する。当該要求を受け付けた通信装置151は、S1308で、情報処理装置101へGATTデータの構成を示す情報を送信する。なお、ディスカバリ要求の送受信及びGATTデータの構成を示す情報の送受信は、GATTデータ内のサービス、キャラクタリスティック、ディスクリプタの数の分だけ繰り返される。そのため、S1309では、GATTデータの構成を示すすべての情報の送信が完了されるまで、ディスカバリ要求の送受信及びGATTデータの構成を示す情報の送受信が繰り返される。
【0060】
GATTデータの構成を示すすべての情報の送信が完了されると、S1310で、情報処理装置101は、通信装置151のGATTデータの構成をキャッシュとして情報処理装置101が備えるメモリに格納する。このとき情報処理装置101は、通信装置151のGATTデータの構成のキャッシュと通信装置151から得たハッシュ値とを対応付けてメモリへの格納を行う。なお情報処理装置101は、通信装置151のMACアドレスなどの個体識別情報等の他の情報をさらに対応付けてメモリへの格納を行ってもよい。
【0061】
なお、S1306でYESと判定された場合、情報処理装置101は、通信装置151のGATTデータの構成を既にキャッシュしていることになるため、S1307~S1310までの処理を省略しても良い。
【0062】
通信装置151のGATTデータの構成を取得することにより、以降、情報処理装置101は、通信装置151との任意のGATT通信を実行することが可能となる。そのため、情報処理装置101は、S1311で、通信装置151との任意のGATT通信を実行する。
【0063】
GATT通信が完了した後、情報処理装置101は、S1312にて、解放要求を送信する。解放要求を受け取った通信装置151は、S1313にて解放応答を送信し、装置間のBLE接続を終了する。装置間のBLE接続が終了すると、情報処理装置101と通信装置151はそれぞれスキャナとアドバタイザに戻り、通信装置151は、アドバタイズ情報の送信を再開する。
【0064】
本実施形態では、情報処理装置101は、Bluetooth5.1の規格に対応しているため、情報処理装置101に対する他のBLE対応装置の方向を検知する機能(方向検知機能)を有する。以下に方向検知機能について説明する。
【0065】
図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に備わっているアンテナは直線上に配置されているよう記載したが、アンテナの配置はこの限りではない。
【0066】
図5は、情報処理装置101に通信装置151との距離及び通信装置151の位置の方向を検知させるために、通信装置151内の近距離無線通信部157が送信するアドバタイズ情報の構造の一例である。Constant Tone Extension(CTE)は、情報処理装置101に対する通信装置151の方向を検知するために使用されるデータである。Preamble501は、情報処理装置101が通信装置151のアドバタイズ情報を受信する際のクロック同期用のデータである。Access-Address502は、情報処理装置101が通信装置151のアドバタイズ情報を受信する際のフレーム同期用のデータである。PDU503は、通信装置151が送信するアドバタイズ情報における実データ部分である。なお、図9で示すアドバタイズ情報であるヘッダ901とペイロード902は、PDU503の中に含まれる情報である。CRC504はPDU503の通信時の誤り検出符号値である。
【0067】
情報処理装置101が通信装置151の方向を検知する方法として、近距離無線通信部110が複数のアンテナを備えることにより実現される方法と、近距離無線通信部157が複数のアンテナを備えることにより実現される方法の2つがある。
【0068】
図7を用いて、近距離無線通信部110が複数のアンテナを備えることにより実現される、情報処理装置101が通信装置151の方向を検知する方法について説明する。近距離無線通信部157はアンテナ604からCTE505を含むアドバタイズ情報であるAoA Radio Signal703を送信する。近距離無線通信部110は、複数のアンテナ(アンテナ601とアンテナ602の両方)でAoA Radio Signal703を受信する。ここで、アンテナ601とアンテナ602で受信されたAoA Radio Signal703の位相差をψ、波長をλとする。アンテナ601とアンテナ602の距離であるAoAアンテナ間距離d701及び式(1)が用いられて、情報処理装置101からの通信装置151の方向であるAngle of Arrivalθ702が計算される。
θ=arccos((ψλ)/(2πd))・・・式(1)
【0069】
このように、通信装置151からアドバタイズ情報を受信した情報処理装置101は、Angle of Arrivalθ702を計算することで、通信装置151の方向を検知することができる。
【0070】
図8を用いて、近距離無線通信部157が複数のアンテナを備えることにより実現される、情報処理装置101が通信装置151の方向を検知する方法について説明する。近距離無線通信部157は複数のアンテナ(アンテナ604とアンテナ605の両方)からCTE505を含むアドバタイズ情報であるAoD Radio Signal803を送信する。近距離無線通信部110は、アンテナ601でAoD Radio Signal803を受信する。アンテナ604とアンテナ605で送信されたAoD Radio Signal803の位相差はψ、波長はλである。
【0071】
例えば、図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に通知される。
【0072】
なお、受信タイミングのずれは、受信信号の位相のずれに対応する。例えば、図8の例では、アンテナ605から送信された信号は、アンテナ604から送信された信号より、d2×cos(φ)だけ長い経路を経て、近距離無線通信部110に到来する。ここで、d2は、アンテナ604とアンテナ605との間のアンテナ間距離801である。この経路長の差により、光の伝搬速度をcとすると、d2×cos(φ)/c秒の受信タイミングずれが発生するが、同時に
ψ2=2π×d2×cos(φ)/λ・・・式(2)
だけの位相差が発生する。なお、λは、上述のように、電波(アドバタイズ情報)の波長である。また、φは、近距離無線通信部157と近距離無線通信部110とを結ぶ直線と、アンテナ604とアンテナ605とを結ぶ直線とのなす角である。なお、このなす角は、Angle of Departureと呼ばれ、以下では、AoD802と表記する。近距離無線通信部110は、例えば、近距離無線通信部157から送信された複数の信号のうちの1つ目に受信された信号を基準として、相関検出を行うことなどによって、位相差ψ2を特定することができる。そして、近距離無線通信部110は、式(3)から、その位相差ψ2を用いて、AoD802を
φ=arccos((ψ2×λ)/(2π×d2))・・・式(3)
のように算出することができる。なお、近距離無線通信部110は、事前に、近距離無線通信部157又は他の装置から、アンテナ間距離d2の情報を取得しておく。近距離無線通信部110は、AoD802を式(4)のように算出することにより、近距離無線通信部157から見た近距離無線通信部110の方向を特定することができる。また、近距離無線通信部110は、アンテナ604とアンテナ605が、どのように配置されているかを知ることにより、AoD802に基づいて、電波が到来した方向を検知することができる。すなわち、アンテナ604がアンテナ605の西側に配置されており、AoD802が45度と検知された場合、近距離無線通信部110は、南東方向から電波が到来したことを検知することができる。さらに、近距離無線通信部110は、BLEによって、近距離無線通信部110に対する近距離無線通信部157の位置の方向だけでなく、近距離無線通信部110と近距離無線通信部157との間の距離を検知することができる。距離の検知に当たり、近距離無線通信部110は、近距離無線通信部110において受信されたアドバタイズ情報の強度(受信強度)とその電波が近距離無線通信部157から送信された際に用いられた送信電力をと特定する。なお、受信強度は、RSSI(Received Signal Strength Indication)と呼ばれる値であり、単位はdbmである。なお送信電力を示す情報は、近距離無線通信部110において受信されたアドバタイズ情報に含まれているTx Power905に相当する。また、送信電力の単位は、受信強度と同じくdbmである。そして、近距離無線通信部110は、特定した受信強度と送信電力の差分に基づいて、近距離無線通信部110と近距離無線通信部157との間の距離を検知する。
【0073】
具体的には、近距離無線通信部110と近距離無線通信部157との間の距離(言い換えれば、情報処理装置101と通信装置151との間の距離)dは、以下の式によって計算される。
d=10^((Tx Power-RSSI)/20)
【0074】
なお、近距離無線通信部110が複数のアンテナを備えることにより実現される方法の説明では、複数のアンテナとしてアンテナ601とアンテナ602の2つが用いられる形態について述べたが、使用されるアンテナの本数はこの限りではない。例えば、情報処理装置101は、3本以上のアンテナを使用し、それぞれのアンテナから求まるAngle of Arrivalθの平均を算出することでAngle of Arrivalθ702を取得してもよい。同様に近距離無線通信部157が複数のアンテナを備えることにより実現される方法においても、複数のアンテナとして使用されるアンテナの本数は上述の限りではない。例えば、通信装置151は、3本以上のアンテナを使用し、それぞれのアンテナから求まるAngle of Departureθの平均を算出することでAngle of Departureθ802を取得してもよい。
【0075】
また上述では、情報処理装置101と通信装置151のどちらか一方の装置が複数のアンテナを使用する実施形態について述べたが、この限りではない。両方の装置がともに複数のアンテナを用いてもよい。
【0076】
また上述では、情報処理装置101が、1台の通信装置151の方向を検知する形態について述べたが、この限りではない。情報処理装置101が、2台以上の通信装置151の方向を検知しても良い。また情報処理装置101は、2台以上の通信装置151の方向を検知し、それぞれの検知データを参照することで、1台の通信装置151の方向を検知する形態と比較し、高精度に、装置間の距離や方向、位置を検知することができる。
【0077】
なお上述のようなBLEの方向検知機能は、いずれの機能に用いられても良い。BLEの方向検知機能を用いる機能とは例えば、方向検知機能によって検知した方向を示す情報を含む画面を表示部108に表示することで、ユーザを、通信装置151の位置まで誘導する機能である。また例えば、ユーザから表示部108にスワイプ操作を受け付け、スワイプ操作に対応する方向とBLEによって検知した方向とが対応する場合に、スワイプ操作に対応する方向に位置する通信装置151に対して印刷ジョブを送信する機能である。
【0078】
例えば上述の機能により、通信装置151に対して印刷ジョブを送信することが決定される場合に実行される、印刷ジョブの送信処理について説明する。図10は、情報処理装置101と通信装置151とが、BLE通信方式によってネットワーク接続を行う場合のシーケンス図である。ここでは、ハンドオーバーによってジョブの送受信を行う場合を例にして説明する。なお、ハンドオーバーとは、通信を行うそれぞれの装置が、まず近距離通信方式によって高速通信方式による通信を行うための接続情報をやり取りした後、高速通信方式に切り替えてデータの送受信を行う技術である。本実施形態では、近距離通信方式としてBLEを、高速通信方式としてWi-Fiを用いている。GATT通信(装置間でBLE接続を確立することによって可能となる双方向通信)の通信速度は、Wi-Fi通信と比較して低速である。そのため、GATT通信では装置間の認証やWi-Fi通信のための接続情報のやり取り等を行い、通信速度の速いWi-Fi通信で容量の多いデータ(ここではジョブ)の転送を行うことで、効率的なデータ転送を図ることができる。なお、ハンドオーバーにおいて利用される通信方式は、上述の形態に限定されず、近距離通信方式及び高速通信方式として種々の通信方式が利用されて良い。例えば、NFC通信やWi-Fi Aware通信にてWi-Fi通信のための接続情報をやり取りし、その後Wi-Fi通信にてデータのやり取りを行うような構成としても良い。
【0079】
なお、この処理シーケンスが示す通信装置151の処理は、CPU154が、ROM152又は通信装置151が備えるHDD(不図示)に記憶されている制御プログラムをRAM153にロードし、その制御プログラムを実行することで実現される。また、この処理シーケンスが示す情報処理装置101の処理は、CPU103が、ROM104又は情報処理装置101が備えるHDD(不図示)に記憶されている制御プログラムをRAM105にロードし、その制御プログラムを実行することで実現される。
【0080】
以下の説明において、通信装置151は、所定の間隔でアドバタイズ情報を送信するアドバタイザであるものとする。また、情報処理装置101は、周辺にあるアドバタイザから送信されるアドバタイズ情報を待ち受けるスキャナであるものとする。まず、近距離無線通信部157は、アドバタイズ情報の送信を行う(S1001~S1003)。情報処理装置101は、近距離無線通信部110が近距離無線通信部157から送信されたアドバタイズ情報を受信することで、通信装置151の存在を認識することができる。
【0081】
情報処理装置101は、通信装置151を認識し、通信装置151と接続することを決定したら、接続要求情報を通信装置151に送信する。具体的には、近距離無線通信部110が、BLEによるネットワーク接続を確立する接続イベントに遷移するための要求であるCONNECT_REQを送信する(S1004)。近距離無線通信部157がCONNECT_REQを受信すると、情報処理装置101及び通信装置151は、接続イベントに遷移する準備をする。具体的には、近距離無線通信部110及び近距離無線通信部157が、それぞれCPU103及びCPU154にGATT通信のための接続処理が完了した旨を通知する。その後、情報処理装置101及び通信装置151はそれぞれスキャナとアドバタイザからマスタとスレーブに遷移し、マスタである情報処理装置101とスレーブである通信装置151は、GATT通信のための接続(BLE接続)を確立する。なお、BLE規格では、マスタは、スレーブと「1:多」のスター型のトポロジーを形成することができる。情報処理装置101と通信装置151は、BLE接続を確立したら、以後、GATT通信方式によってデータ通信を行うことができる。なお、GATT通信とは、BLE接続を確立した後にGATTプロファイルを用いて行われる通信であり、それぞれの装置の近距離無線処理部を介して行われる通信である。また、通信装置151は、BLE接続を確立した場合、アドバタイズを停止しても良いし、送信するアドバタイズ情報の内容を切り替えても良い。具体的には通信装置151は、受信した装置が接続要求を送信可能なアドバタイズ情報(ADV_IND)から、受信した装置が接続要求を送信できないアドバタイズ情報(ADV_SCAN_INDやADV_NONCONN_IND)に切り替えても良い。
【0082】
その後、S1005では、近距離無線通信部110は、近距離無線通信部157に対して、通信装置151が利用可能な通信プロトコルの情報を要求する。
【0083】
この要求には情報処理装置101が利用可能な通信プロトコルの情報が含まれており、近距離無線通信部157は、この要求を受信することで、情報処理装置101がWi-Fi等の通信方式を利用可能であることを認識することができる。近距離無線通信部157は、S1006において、S1005で受け取った要求に対して、自身の利用可能な通信プロトコルの情報を応答する。これによって互いの装置は、BLE以外の互いの利用可能な通信プロトコルを把握することができる。
【0084】
ここで、BLE以外の互いの利用可能な通信プロトコルを把握することにより、装置間の通信をWi-Fi通信に切り替えることが情報処理装置101によって決定されたとする。なお、このとき、通信方式の切り替えを行うか否かは通信装置151が決定しても良い。通信方式の切り替えが決定された場合、S1007およびS1008にて、それぞれの装置は、通信相手を特定するアドレスの情報やSSIDの情報等の、Wi-Fiで通信を行うために必要な通信情報を交換する。その後S1009にて、近距離無線通信部110は、装置間の通信方式をGATT通信からWi-Fi通信へと切り替える要求(通信切り替え要求)を送信する。近距離無線通信部157は、切り替えの要求を受信すると、S1010にて応答を行う。
【0085】
切り替えの要求と応答が正しく行われたら、S1011では、情報処理装置101は、通信装置151との通信に利用する通信部を近距離無線通信部110から通信部109へ切り替える。さらに、S1012では、通信装置151は、情報処理装置101との通信に利用する通信部を近距離無線通信部157から通信部156へ切り替える。切り替えを行った後、S1013にて、近距離無線通信部110は解放要求を送信する。解放要求を受け取った近距離無線通信部157は、S1014にて解放応答を送信し、装置間のBLE接続を終了する。装置間のBLE接続が終了すると、情報処理装置101と通信装置151はそれぞれスキャナとアドバタイザに戻り、近距離無線通信部157は、アドバタイズ情報の送信を再開する。
【0086】
その後、それぞれの装置は、S1007およびS1008で交換したWi-Fi通信を行うために必要な情報を利用し、Wi-Fi通信を行う。まずS1015では、通信部109は、通信装置151がジョブの取得が可能かどうか通信部156に確認をする。ここでは、例えば、通信装置151に転送しようとする画像を一時保存するための空き容量の情報などが確認される。通信部156は、確認の要求を受け取った後、S1016にて確認に対する応答を送信する。
【0087】
正しい応答が得られ、通信装置151がジョブの取得が可能であると判断した場合、S1017にて、通信部156は、ジョブを要求する。その後、ジョブの要求を受けた通信部109は、S1018にて情報処理装置101に存在する画像データ等を含むジョブを通信部156に対して送信する。なお、このとき送信するジョブの選択は、例えば、BLE接続が確立する前やBLE接続が確立した後、Wi-Fi接続が確立した後等のタイミングで行われる。また、送信されるジョブは、印刷ジョブに限らず、例えば、通信装置151にスキャンを指示するためのスキャンジョブや情報処理装置101が通信装置151の状態の情報を取得するためのジョブ等であっても良い。また、例えば通信装置151の設定の変更等、通信装置151に対する各種操作を実行するためのコマンド等であっても良い。なお、情報処理装置101は、ジョブの送信が完了した場合、通信装置151とのWi-Fi接続を切断して、ハンドオーバー直前のネットワーク状態に戻る。具体的には、例えば情報処理装置101は、ハンドオーバーを実行する前に、3GやLTE等の移動体通信網やルーター等のアクセスポイントに接続していた場合は、当該移動体通信網やアクセスポイントへの接続を再度確立する。そのため、情報処理装置101は、ハンドオーバーを実行する前に、ハンドオーバー直前のネットワーク状態の情報及び、当該ネットワーク情報を確立するために必要な通信情報等を保持しておく。
【0088】
このように、ハンドオーバー技術を用いることで、ユーザビリティの高い通信方式(近距離通信方式)によって、高速通信方式で通信するための接続情報をやり取りし、その後、高速通信方式によって、容量の大きいデータのやり取りを高速で行うことができる。
なお、ハンドオーバーによってGATT通信からWi-Fi通信へ通信方式の切り替えが行われた場合、装置間のBLE接続は切断されるため、近距離無線通信部157は、アドバタイズ情報の送信を再開する。
【0089】
上述したように、情報処理装置101がBLEによって、情報処理装置101に対する通信装置151の方向を検知するためには、情報処理装置101と通信装置151の少なくとも一方が、近距離無線通信部が有する複数のアンテナを駆動させる必要がある。しかしながら、駆動するアンテナの数が多ければ多いほど、消費電力が大きくなる。そのため、情報処理装置101が、情報処理装置101に対する通信装置151の方向を検知する必要がない状況下では、駆動するアンテナの数を減らすことが好ましい。そこで本実施形態では、情報処理装置101が、駆動するアンテナの数を適切に制御する形態について説明する。
【0090】
図14は、情報処理装置101が実行する、利用するBLEアンテナの数を制御する処理を示すフローチャートである。本処理は、CPU103が、ROM104又は情報処理装置101が備えるHDD(不図示)に記憶されている制御プログラムや印刷用アプリをRAM105にロードし、それらのプログラムを実行することで実現される。また本処理は、情報処理装置101において印刷用アプリが起動されている状態で開始されるものとする。
【0091】
まずS1401にて、CPU103は、情報処理装置101の周囲に存在するBLE対応装置からアドバタイズ情報を受信する。
【0092】
次にS1402にて、CPU103は、S1401で受信されたアドバタイズ情報に基づいて、情報処理装置101の周囲に存在するBLE対応装置のリストを、表示部108に表示する。
【0093】
次にS1403にて、CPU103は、S1402で表示したリストからのいずれかの装置の選択をユーザから受け付ける。そしてCPU103は、選択された装置を、BLEによる接続先の装置として特定する。ここでは、BLEによる接続先の装置として、通信装置151が特定されたものとする。
【0094】
次にS1404にて、CPU103は、使用するアンテナ数を制御するための判定を行う。本判定においてCPU103は、具体的には例えば、S1403で特定された通信装置151と情報処理装置101との間の距離dが、閾値以下であるか否かを判定する。なおS1403で特定された通信装置151と情報処理装置101との間の距離dは、上述したようにして、BLEによって検知される。そしてCPU103は、S1403で特定された通信装置151と情報処理装置101との間の距離dが、閾値以下であると判定した場合、S1405に進み、情報処理装置101を第1状態で動作させる。第1状態とは、複数のBLEアンテナを使用し、通信装置151の方向を検知可能な状態である。なお第1状態の情報処理装置101は、常に複数のBLEアンテナを使用していなくともよい。例えば第1状態の情報処理装置101は、通信装置151の方向の検知と関係のないアドバタイズ情報の送信時やGATT通信時は、複数のBLEアンテナを使用してもしなくとも良い。またS1405では、CPU103は、通信装置151の状態に基づいて、通信装置151を第1状態で動作させるか、後述の第2状態で動作させるかを制御する処理を実行しても良い。例えばCPU103は、通信装置151の電池残量が閾値以下でない場合、通信装置151を第1状態で動作させ、通信装置151の電池残量が閾値以下である場合、通信装置151を第2状態で動作させる。これは、情報処理装置101が第1状態で動作するため、通信装置151が第2状態で動作しても、CPU103は方向検知機能を実行可能なためである。
【0095】
一方、CPU103は、S1403で特定された通信装置151と情報処理装置101との間の距離dが、閾値以下でないと判定した場合、S1406に進み、情報処理装置101を第2状態で動作させる。第2状態とは、第1状態で利用されるアンテナの数より少ない数のアンテナを利用することで、第1状態におけるBLE通信より省電力のBLE通信を実行可能な状態である。なお本実施形態では、第2状態の情報処理装置101はアンテナを1本のみするものとするが、この形態に限定されず、複数のアンテナを用いても良い。また本実施形態では、方向検知機能を実行できない(通信装置151の方向を検知できない)ものとするが、この形態に限定されず、第1状態で利用されるアンテナの数より少ない数のアンテナを用いて、方向検知機能を実行しても良い。なお第2状態で実行される方向検知機能は、用いられるアンテナの数が少ないため、第1状態で実行される方向検知機能より精度は落ちる。また、S1406においてCPU103は、通信装置151を複数のBLEアンテナを使用しない状態に移行させるための情報を、通信装置151に送信しても良い。このように本実施形態では、通信装置151と情報処理装置101との間の距離に応じて、使用するBLEアンテナの数を切り替える。これは例えば、通信装置151と情報処理装置101との間の距離が遠ければ遠いほど、通信装置151の方向の検知の精度が落ちるためである。また例えば、通信装置151と情報処理装置101との間の距離が遠いと、後述するような方向検知機能を利用する機能が利用される可能性が低いためである。なお、距離dを算出(取得)する過程で算出されるTx Power-RSSIの値は、距離dの値と相関するため、CPU103は、上述の判定において、距離dの値と閾値とを比較するのではなく、Tx Power-RSSIの値と閾値とを比較しても良い。
【0096】
なお、CPU103は、S1404の判定において他の判定を行っても良い。例えば、CPU103は、通信装置151が利用するBLE機能が、方向検知機能に対応しているか否かを判定し、YES判定の場合、S1405に進み、NO判定の場合、S1406に進んでも良い。通信装置151が利用するBLE機能が、方向検知機能に対応していない場合とは例えば、通信装置151が利用するBLE機能のバージョンが、Bluetooth5.1より古いバージョンである場合等である。なおCPU103は、通信装置151から受信されたアドバタイズ情報に含まれる、通信装置151が利用するBLE機能のバージョンを示す情報に基づいて、本判定を行う。
【0097】
また例えば、CPU103は、通信装置151が、方向検知機能を用いる機能に対応しているか否かを判定し、YES判定の場合、S1405に進み、NO判定の場合、S1406に進んでも良い。なおCPU103は、通信装置151から受信されたアドバタイズ情報に含まれる、方向検知機能を用いる機能に対応しているか否かを特定するための情報に基づいて、本判定を行う。
【0098】
また例えば、CPU103は、情報処理装置101の電池残量が、閾値以下であるか否かを判定し、YES判定の場合、S140に進み、NO判定の場合、S140に進んでも良い。これは、電池残量が少ない状態では、できるだけ消費電力の小さい状態で情報処理装置101が動作することが好ましいためである。
【0099】
また例えば、CPU103は、通信装置151から受信されたアドバタイズ情報の電波強度が閾値以上であるか否かを判定し、YES判定の場合、S1405に進み、NO判定の場合、S1406に進んでも良い。これは、通信装置151から受信されたアドバタイズ情報の電波強度が大きい場合は、通信装置151が情報処理装置101の近くに位置している可能性が高いためである。また、通信装置151から受信されたアドバタイズ情報の電波強度が小さい場合は、通信装置151が情報処理装置101の近くに位置している可能性が低いためである。
【0100】
また例えば、情報処理装置101が、ユーザが携帯することにより場所が適宜変更されるような種類の装置(以下、移動装置)でなく、場所があまり変更されない種類の装置(以下、固定装置)である場合がある。なお移動装置は例えば、携帯電話やスマートフォンであり、固定装置は例えば、プリンタやデスクトップPCである。この場合、通信装置151も固定装置であったならば、どちらの場所も変更されないため、一度でも通信装置151の方向を検知していれば、再度通信装置151の方向を検知する必要はない。そのため例えば、CPU103は、通信装置151から受信されたアドバタイズ情報に、通信装置151が固定装置であることを示す情報が含まれるか否かを判定しても良い。そしてCPU103は、通信装置151から受信されたアドバタイズ情報に、通信装置151が固定装置であることを示す情報が含まれる場合、既に通信装置151の方向を検知済みか否かを判定しても良い。そしてCPU103は、YES判定の場合、S140に進み、NO判定の場合、S140に進んでも良い。なお本判定は例えば、通信装置151が固定装置であるか否かを示すフラグ情報に基づいて実行されても良いし、通信装置151の機種情報やモデル名等の通信装置151の識別情報に基づいて実行されても良い。また、通信装置151が提供するサービス名等の情報に基づいて実行されても良い。
【0101】
また、CPU103は、S1404の判定において複数の判定を行い、複数の判定結果に基づいて、複数のBLEアンテナを使用するか否かを最終的に決定しても良い。具体的には上述の複数の判定の結果のうち、すべての結果がYESであった場合には、S1405に進み、いずれか1つでもNOであった場合には、S1406に進んでも良い。
【0102】
S1407では、CPU103は、S1403で特定された通信装置151から受信されたアドバタイズ情報に応答し、S1403で特定された通信装置151と情報処理装置101との間のBLE接続を確立する。なお、BLE接続の確立は、例えば、S1404の判定の前に行われても良い。またS1404の判定は、アドバタイズ情報に基づいて行われていたが、この形態に限定されない。CPU103は、BLE接続をS1404の前に確立することにより、S1404の判定に必要な情報をGATT通信により取得し、S1404の判定を、そのようにして取得した情報に基づいて行っても良い。
【0103】
このような形態とすることで、情報処理装置101が用いるBLEアンテナの数を適切に制御することができる。ひいては、通信装置151の方向を検知すべき状態では、情報処理装置101を通信装置151の方向を検知可能な状態で動作させつつ、通信装置151の方向を検知すべきでない状態では、情報処理装置101を省電力で動作させることができる。
【0104】
なお、使用するアンテナ数を制御するための判定を行うタイミングは、上述のタイミングに限定されない。例えば、当該判定を行うアプリ上で、画面が切り替わる際や、実行される機能が切り替わる際に、当該判定が行われても良い。そして例えば、新たに表示される画面や、新たに実行される機能に応じて、複数のBLEアンテナを使用するか否かが制御されても良い。具体的には例えば、CPU103は、データの送信先となる装置を選択させるための画面が表示される場合は、情報処理装置101を第1状態で動作させ、それ以外の画面が表示される場合は、情報処理装置101を第2状態で動作させても良い。
【0105】
また上述では、複数のアンテナを用いて通信装置151の方向を検知する処理が、Bluetooth5.1の規格に含まれるBLEによって行われていたが、この形態に限定されない。Wi-Fi Aware等、他の通信方式によって実行されても良い。
【0106】
また上述では、BLEによる接続先の装置が特定された後に、使用するアンテナ数を制御するための判定が行われていたが、この形態に限定されない。例えば、BLEによる接続先の特定が行われる前に、使用するアンテナ数を制御するための判定が行われても良い。この場合例えば、受信されるアドバタイズ情報それぞれに基づいて、使用するアンテナ数を制御するための判定を行う。そして、情報処理装置101を第1状態で動作させると、1度でも判定された場合は、情報処理装置101を第1状態で動作させる。そして、情報処理装置101を第1状態で動作させると、1度も判定されなかった場合は、情報処理装置101を第2状態で動作させる。
【0107】
また上述では、使用するアンテナ数の制御が印刷用アプリによって実行される形態を説明したが、この形態に限定されない。例えば、使用するアンテナ数の制御が、印刷以外の機能を有するアプリによって実行されても良いし、情報処理装置101が備えるOSによって実行されても良い。
【0108】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0109】
101 情報処理装置
151 通信装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14