JP2020204840A - 情報処理装置、制御方法及びプログラム - Google Patents

情報処理装置、制御方法及びプログラム Download PDF

Info

Publication number
JP2020204840A
JP2020204840A JP2019111368A JP2019111368A JP2020204840A JP 2020204840 A JP2020204840 A JP 2020204840A JP 2019111368 A JP2019111368 A JP 2019111368A JP 2019111368 A JP2019111368 A JP 2019111368A JP 2020204840 A JP2020204840 A JP 2020204840A
Authority
JP
Japan
Prior art keywords
information processing
communication
information
communication device
processing device
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
Application number
JP2019111368A
Other languages
English (en)
Inventor
大和 坂本
Hirokazu Sakamoto
大和 坂本
佐波 弘之
Hiroyuki Sawa
弘之 佐波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019111368A priority Critical patent/JP2020204840A/ja
Priority to EP20178718.1A priority patent/EP3751387A1/en
Priority to US16/896,018 priority patent/US11303766B2/en
Priority to CN202010529826.2A priority patent/CN112083896A/zh
Publication of JP2020204840A publication Critical patent/JP2020204840A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00411Display of information to the user, e.g. menus the display also being used for user input, e.g. touch screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1698Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a sending/receiving arrangement to establish a cordless communication link, e.g. radio or infrared link, integrated cellular phone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1221Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1215Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection 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/00281Connection 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 telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal
    • H04N1/00315Connection 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 telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal with a radio transmission apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • H04N1/32545Distributing a job or task among a plurality of input devices or a plurality of output devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Abstract

【課題】ユーザが指定する操作の利便性を向上することができる情報処理装置、制御方法及びプログラムを提供する。【解決手段】情報処理装置101のプログラムは、情報処理装置101の位置に対する通信装置151の位置の方向を、所定の通信方式による情報処理装置101と通信装置151との間の通信に基づいて特定する第1特定ステップと、ユーザから、方向を指定するための所定の操作を受け付ける受付ステップと、受け付けられた所定の操作に対応する方向を特定する第2特定ステップと、特定された通信装置151の位置の方向と、特定された所定の操作に対応する方向に基づいて、情報処理装置101の周囲に存在する複数の通信装置151のうち、特定された所定の操作に対応する方向に対応する通信装置151を特定する第3特定ステップを実行させる。【選択図】図1

Description

本発明は、情報処理装置、制御方法及びプログラムに関する。
情報処理装置が実行する処理に関連する通信装置を、ユーザが指定する形態が知られている。特許文献1では、音声制御デバイスの制御対象となる通信装置を携帯端末においてユーザが選択する技術が開示されている。
特開2019−046102
ところで、情報処理装置が実行する処理に関連する通信装置を、ユーザが指定する操作の利便性が向上することが要望されている。
本発明は、プログラムであって、情報処理装置のコンピュータに、
前記情報処理装置の位置に対する通信装置の位置の方向を、所定の通信方式による前記情報処理装置と前記通信装置との間の通信に基づいて特定する第1特定ステップと、
ユーザから、方向を指定するための所定の操作を受け付ける受付ステップと、
前記受け付けられた前記所定の操作に対応する方向を特定する第2特定ステップと、
前記特定された前記通信装置の位置の方向と、前記特定された前記所定の操作に対応する方向に基づいて、前記情報処理装置の周囲に存在する複数の前記通信装置のうち、前記特定された前記所定の操作に対応する方向に対応する前記通信装置を特定する第3特定ステップと、
前記特定された前記所定の操作に対応する方向に対応する前記通信装置に関する処理を実行する実行ステップと、
を実行させることを特徴とする。
情報処理装置が実行する処理に関する通信装置を、ユーザが指定する操作の利便性を向上させることができる。
本発明の実施形態における情報処理装置及び通信装置の構成の図例である。 アドバタイズ情報のブロードキャスト及び接続要求情報の受信の処理を説明するための図である。 BLEにおけるアドバタイズを説明するための図である。 ペアリング処理に関する画面を示す図である。 BLEにおける方向検知に用いられるアドバタイズ情報の構造を示す図である。 BLEにおける方向検知を説明するための図である。 BLEにおける方向検知を説明するための図である。 BLEにおける方向検知を説明するための図である。 アドバタイズ情報の構造を示す図である。 情報処理装置と通信装置とが、BLE通信方式によってネットワーク接続を行う場合の処理を示すシーケンス図である。 GATTのデータ形式を示す図である。 GATTデータの構成の一例を示す表である。 情報処理装置と通信装置とが、BLE通信方式によって接続をする処理を示すシーケンス図である。 情報処理装置が実行する印刷ジョブの送信処理を示すフローチャートである。 スワイプ方向の計算方法の例を示すフローチャートである。 プレビュー画面の一例を示す図である。 情報処理装置と通信装置の位置関係を示す図である。 方向ガイドをプレビュー画面において表示する例を示す図である。 情報処理装置が実行するプリンタドライバのインストール処理を示すフローチャートである。
以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
(第1実施形態)
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、本実施形態ではスマートホンを例示しているが、これに限定されず、携帯端末、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートホン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
まず、本実施形態の情報処理装置と、本実施形態の情報処理装置と通信可能な通信装置の構成について図1のブロック図を参照して説明する。また、本実施形態では以下の構成を例に記載するが、本実施形態は通信装置と通信を行うことが可能な装置に関して適用可能なものであり、特にこの図のとおりに機能を限定するものではない。
情報処理装置101は、本実施形態の情報処理装置である。情報処理装置101は、入力インタフェース102、CPU103、ROM104、RAM105、外部記憶装置106、出力インタフェース107、表示部108、通信部109、近距離無線通信部110等を有する。CPU103、ROM104、RAM105等によって、情報処理装置101のコンピュータが形成される。
入力インタフェース102は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、物理キーボードやボタン、タッチパネル等で構成される。なお、後述の出力インタフェース107と入力インタフェース102とを同一の構成とし、画面の出力とユーザからの操作の受け付けを同一の構成で行うような形態としても良い。
CPU103は、システム制御部であり、情報処理装置101の全体を制御する。
ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OSという。)プログラム等の固定データを格納する。本実施形態では、ROM104に格納されている各制御プログラムは、ROM104に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
RAM105は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。なお、RAM105は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、情報処理装置101の設定情報や情報処理装置101の管理データ等を格納するメモリエリアもRAM105に設けられている。また、RAM105は、CPU103の主メモリとワークメモリとしても用いられる。
外部記憶装置106は、印刷実行機能を提供するアプリケーション、通信装置151が解釈可能な印刷情報を生成する印刷情報生成プログラム等を保存している。また、外部記憶装置106は、通信部109を介して接続している通信装置151との間で送受信する情報送受信制御プログラム等の各種プログラムや、これらのプログラムが使用する各種情報を保存している。
出力インタフェース107は、表示部108がデータの表示や情報処理装置101の状態の通知を行うための制御を行うインタフェースである。
表示部108は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示や情報処理装置101の状態の通知を行う。なお、表示部108上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを設置することで、表示部108を介してユーザからの入力を受け付けても良い。
通信部109は、通信装置151等の装置と接続して、データ通信を実行するための構成である。例えば、通信部109は、通信装置151内のアクセスポイント(不図示)に接続可能である。通信部109と通信装置151内のアクセスポイントが接続することで、情報処理装置101と通信装置151は相互に通信可能となる。なお、通信部109は無線通信で通信装置151とダイレクトに通信しても良いし、情報処理装置101や通信装置151の外部に存在する外部アクセスポイント(アクセスポイント131)を介して通信しても良い。無線通信方式としては、例えば、Wi−Fi(WirelessFidelity)(登録商標)やBluetooth(登録商標)等が挙げられる。また、アクセスポイント131としては、例えば、無線LANルーター等の機器などが挙げられる。なお、本実施形態において、情報処理装置101と通信装置151とが外部アクセスポイントを介さずにダイレクトに接続する方式をダイレクト接続方式という。また、情報処理装置101と通信装置151とが外部アクセスポイントを介して接続する方式をインフラストラクチャー接続方式という。
近距離無線通信部110は、通信装置151等の装置と近距離で無線接続して、データ通信を実行するための構成であり、通信部109とは異なる通信方式によって通信を行う。近距離無線通信部110は、通信装置151内の近距離無線通信部157と接続可能である。なお、本実施形態では、近距離無線通信部110の通信方式として、Bluetooth5.1が用いられるものとする。なお、Bluetooth5.1には、Classic Bluetoothと、Bluetooth Low Energy(BLE)の両規格が含まれるが、本実施形態では近距離無線通信部157の通信方式として、BLEが用いられるものとする。
通信装置151は、本実施形態の通信装置である。通信装置151は、ROM152、RAM153、CPU154、プリントエンジン155、通信部156、近距離無線通信部157等を有する。
通信部156は、通信装置151内部のアクセスポイントとして、情報処理装置101等の装置と接続するためのアクセスポイントを有している。なお、該アクセスポイントは、情報処理装置101の通信部109に接続可能である。なお、通信部156は無線通信で情報処理装置101とダイレクトに通信しても良いし、アクセスポイント131を介して通信しても良い。通信方式としては、例えば、Wi−Fi(登録商標)やBluetooth(登録商標)等が挙げられる。また、通信部156は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウエアにより、アクセスポイントとして動作してもよい。
近距離無線通信部157は、情報処理装置101等の装置と近距離で無線接続するための構成である。本実施形態では、近距離無線通信部157の通信方式として、Bluetooth5.1が用いられるものとする。より具体的には、本実施形態では近距離無線通信部157の通信方式として、BLEが用いられるものとする。
RAM153は、バックアップ電源を必要とするSRAM等で構成される。なお、RAM153は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、通信装置151の設定情報や通信装置151の管理データ等を格納するメモリエリアもRAM153に設けられている。また、RAM153は、CPU154の主メモリとワークメモリとしても用いられ、情報処理装置101等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。
ROM152は、CPU154が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。本実施形態では、ROM152に格納されている各制御プログラムは、ROM152に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
CPU154は、システム制御部であり、通信装置151の全体を制御する。
プリントエンジン155、RAM153に保存された情報や情報処理装置101等から受信した印刷ジョブに基づき、インク等の記録剤を用いて紙等の記録媒体上に画像形成し、印刷結果を出力する。この時、情報処理装置101等から送信される印刷ジョブは、送信データ量が大きく、高速な通信が求められるため、近距離無線通信部157よりも高速に通信可能な通信部156を介して受信する。
なお、通信装置151には、外付けHDDやSDカード等のメモリがオプション機器として装着されてもよく、通信装置151に保存される情報は、当該メモリに保存されても良い。
また、本実施形態の通信装置は、接続設定処理により接続モードが設定され、設定された接続モードに基づいた接続形態により、情報処理装置と通信を行う。本実施形態の通信装置は、インフラストラクチャー接続により通信を行う場合は、接続モードとしてインフラストラクチャー接続モードが設定され、ダイレクト接続により通信を行う場合は、接続モードとしてダイレクト接続モードが設定される。
ここでは、例として情報処理装置101と通信装置151との処理分担を上記のように示したが、特にこの分担形態に限らず他の形態であってもよい。
本実施形態では、情報処理装置101は、ROM104や外部記憶装置106等に所定のアプリケーションを格納しているものとする。所定のアプリケーションとは、例えば、情報処理装置101内の画像データや文書データ等を印刷させるための印刷ジョブを、通信装置151に送信するためのアプリケーションプログラムである。このような機能を有するアプリケーションを、以後印刷アプリという。なお、印刷アプリは、印刷機能以外に、他の機能を備えていても良い。例えば、印刷アプリは、通信装置151がスキャン機能を備えている場合に、通信装置151にセットされた原稿をスキャンさせる機能や、通信装置151の他の設定を行う機能、通信装置151の状態を確認する機能等を備えていても良い。すなわち、印刷アプリは、印刷ジョブ以外に、スキャンジョブや設定ジョブを通信装置151に送信する機能を有していても良い。また、所定のアプリケーションは、印刷アプリに限定されず、印刷以外の機能を備えているアプリケーションプログラムであっても良い。
また、本実施形態では、近距離無線通信部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接続要求が送信されるのを待つ。
また、近距離無線通信部157は、図3に示すように、アドバタイズ情報の送信処理と受信処理を、チャネル別に3回繰り返した後、マイコンの動作を停止させ一定時間省電力状態になる。以下、所定のチャネルによるアドバタイズ情報の送信処理と受信処理の組み合わせをアドバタイズと言う。また、所定のチャネルによってアドバタイズ情報を送信する時間間隔をアドバタイズ間隔という。なお、1回目のアドバタイズを行ってから省電力状態になるまでに繰り返すアドバタイズの回数は、3回以下であれば任意に変更可能である。また、図3ではアドバタイズ時のチャネルは37番目のチャネル、38番目のチャネル、39番目のチャネルの順番で順次使用しているが、この順番はランダムであってもよい。
図9は、近距離無線通信部157が通信装置151の周辺にブロードキャストするアドバタイズ情報の構造の一例である。
近距離無線通信部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、パスワード等が該当する。
本実施形態では、近距離無線通信部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)は、情報処理装置101に対する通信装置151の方向を検知するために使用されるデータである。Preamble501は、情報処理装置101が通信装置151のアドバタイズ情報を受信する際のクロック同期用のデータである。Access−Address502は、情報処理装置101が通信装置151のアドバタイズ情報を受信する際のフレーム同期用のデータである。PDU503は、通信装置151が送信するアドバタイズ情報における実データ部分である。なお、図9で示すアドバタイズ情報であるヘッダ901とペイロード902は、PDU503の中に含まれる情報である。CRC504はPDU503の通信時の誤り検出符号値である。
情報処理装置101が通信装置151の方向を検知する方法として、近距離無線通信部110が複数のアンテナを備えることにより実現される方法と、近距離無線通信部157が複数のアンテナを備えることにより実現される方法の2つがある。
図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)
このように、通信装置151からアドバタイズ情報を受信した情報処理装置101は、Angle of Arrivalθ702を計算することで、通信装置151の方向を検知することができる。
図8を用いて、近距離無線通信部157が複数のアンテナを備えることにより実現される、情報処理装置101が通信装置151の方向を検知する方法について説明する。近距離無線通信部157は複数のアンテナ(アンテナ604とアンテナ605の両方)からCTE505を含むアドバタイズ情報であるAoD Radio Signal803を送信する。近距離無線通信部110は、アンテナ601でAoD Radio Signal803を受信する。アンテナ604とアンテナ605で送信された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(φ)/λ・・・式(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から送信された際に用いられた送信電力をと特定する。なお送信電力に関する情報は、近距離無線通信部110において受信されたアドバタイズ情報に含まれている。そして、近距離無線通信部110は、特定した受信強度と送信電力の差分に基づいて、近距離無線通信部110と近距離無線通信部157との間の距離を検知する。近距離無線通信部110は、近距離無線通信部157が配置されている位置の情報を取得することにより、自装置の位置を高精度に検知することができる。
なお、近距離無線通信部110が複数のアンテナを備えることにより実現される方法の説明では、複数のアンテナとしてアンテナ601とアンテナ602の2つが用いられる形態について述べたが、使用されるアンテナの本数はこの限りではない。例えば、情報処理装置101は、3本以上のアンテナを使用し、それぞれのアンテナから求まるAngle of Arrivalθの平均を算出することでAngle of Arrivalθ702を取得してもよい。同様に近距離無線通信部157が複数のアンテナを備えることにより実現される方法においても、複数のアンテナとして使用されるアンテナの本数は上述の限りではない。例えば、通信装置151は、3本以上のアンテナを使用し、それぞれのアンテナから求まるAngle of Departureθの平均を算出することでAngle of Departureθ802を取得してもよい。
また上述では、情報処理装置101と通信装置151のどちらか一方の装置が複数のアンテナを使用する実施形態について述べたが、この限りではない。両方の装置がともに複数のアンテナを用いてもよい。
また上述では、情報処理装置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を指定することで、指定したキャラクタリスティックに設定されている値に対して、リード・ライトを実行することが出来る。ただし、リード・ライトが実行できるか否かは、各サービス、キャラクタリスティックに設定されているリード・ライト属性に基づく。
近距離無線通信部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とペアリングをしている状態でなければ、対応するキャラクタリスティックに関する値を読み書きすることができない。
本実施形態では、情報処理装置101と通信装置151間で認証を行い、装置間でGATT通信によりデータの読み書きを実行するためのペアリング処理を実施する。情報処理装置101と通信装置151間でのペアリングが実行されていない状態では、通信装置151は、GATT通信による情報の読み書きを許可しない構成とする。このようにすることで、ペアリングを行っていない情報処理装置101と通信装置151が通信を行ってしまい、例えば、通信装置151が保持する情報がペアリングを行っていない情報処理装置101に不用意に取得されてしまうことを抑制することができる。なお、本実施形態では、ペアリングを行っていない状態で許可されるGATT通信と、ペアリングを行っていない状態では許可されないGATT通信とがあるものとする。秘匿性の低い情報は、ペアリングを行っていない状態で許可されるGATT通信で通信可能とすることで、通信の利便性を向上させることができる。一方、秘匿性の高い情報は、ペアリングを行っていない状態では許可されないGATT通信でのみ通信可能とすることで、通信のセキュリティを向上させることができる。
ペアリング処理の詳細について説明する。まず、情報処理装置101は、前述の印刷アプリが起動され、印刷アプリを介してユーザからペアリング処理の実行指示を受け付けた場合、特定の装置情報を有するアドバタイズ情報のサーチを開始する。なお、特定の装置情報とは、例えば、印刷アプリに対応する装置(プリンタ等)のUUIDやMACアドレス等である。そして、情報処理装置101は、特定の装置情報を有するアドバタイズ情報を受信すると、特定の装置情報を有するアドバタイズ情報の送信元の装置のリストを表示部に表示し、ペアリング対象となる装置の選択をユーザから受け付ける。ここでは、通信装置151が選択されたものとして説明する。
そして、情報処理装置101は、ペアリング対象となる装置の選択を受け付けた場合、セキュリティーマネージャプロトコルによる通信により、通信装置151に、ペアリング要求を送信する。なお、ペアリングが終了するまで、装置間の通信は、セキュリティーマネージャプロトコルによって行われるものとする。通信装置151は、ペアリング要求を受信すると、表示部160に、図4(a)に示すようなPINコード表示画面400を表示する。PINコード表示画面400には、PINコード401と、ペアリング処理をキャンセルするためのCancelボタン402が表示される。そして、情報処理装置101は、ペアリング要求を送信すると、表示部108に、図4(b)に示すようなPINコード入力画面210を表示する。PINコード入力画面210には、ユーザによる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を非表示とし、元の画面を再度表示する。
ペアリング完了後は、情報処理装置101は、通信装置151に対してGATT通信要求を送信する際には、ペアリング処理時に記憶領域に保存したリンクキーを通信装置151に通知する。通信装置151は、GATT通信要求を受信した場合、ペアリング処理時に記憶領域に保存したリンクキーと通知されたリンクキーを比較して、GATT通信要求を発信している装置が、ペアリング済みの装置であるかを確認する。そして、通信装置151は、ペアリング済みの装置であると確認できた場合は、情報処理装置101とのGATT通信による情報の読み書きを開始する。これにより、情報処理装置101は、一旦通信装置151とのペアリング処理を完了しておけば、以降はユーザによるPINコードの入力なしに通信装置151とのGATT通信を実行することができる。なお、上述では、PINコード入力領域411に、PINコード入力画面410に表示されているPINコード401をユーザに入力させる形態を説明したが、この形態に限定されない。例えば、PINコード410を固定の(ユーザが任意に変更できない)情報とし、印刷アプリのインストールと共に情報処理装置101に格納される形態とすることで、ユーザの入力なしにPINコード410が通信装置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通信を説明するためのシーケンス図である。なおこの処理シーケンスが示す通信装置151の処理は、CPU154が、ROM152又は通信装置151が備えるHDD(不図示)に記憶されている制御プログラムをRAM153にロードし、その制御プログラムを実行することで実現される。また、この処理シーケンスが示す情報処理装置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のCharacteristic UUIDが0x2B2AのDatabase Hashキャラクタリスティックに格納されている値である。通信装置151は、Database Hashキャラクタリスティックの値として、通信装置151があらかじめGATTデータの構成から算出したハッシュ値を格納している。すなわちハッシュ値とは、通信装置151のGATTデータの構成に応じて一意に定められる値である。
なお、情報処理装置101は、過去に情報処理装置101がBLEによって接続したことがある端末からリードしたハッシュ値を、情報処理装置101が備えるメモリ(ROM104等)に格納している。そこでS1306で、情報処理装置101は、S1305でリードしたハッシュ値が、過去にリードしたハッシュ値(情報処理装置101が備えるメモリに格納されているハッシュ値)と一致するものがあるかを比較する。すなわち情報処理装置101は、通信装置151が、過去に情報処理装置101がBLEによって接続したことがある端末か否かを判定する。このとき情報処理装置101は、ハッシュ値だけでなく、通信装置151のMACアドレスなどの個体識別情報等の他の情報を判定条件に加えてもよい。
S1306でNOと判定された場合、情報処理装置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でYESと判定された場合、情報処理装置101は、通信装置151のGATTデータの構成を既にキャッシュしていることになるため、S1307〜S1310までの処理を省略しても良い。
通信装置151のGATTデータの構成を取得することにより、以降、情報処理装置101は、通信装置151との任意のGATT通信を実行することが可能となる。そのため、情報処理装置101は、S1311で、通信装置151との任意のGATT通信を実行する。
GATT通信が完了した後、情報処理装置101は、S1312にて、解放要求を送信する。解放要求を受け取った通信装置151は、S1313にて解放応答を送信し、装置間のBLE接続を終了する。装置間のBLE接続が終了すると、情報処理装置101と通信装置151はそれぞれスキャナとアドバタイザに戻り、通信装置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通信にてデータのやり取りを行うような構成としても良い。
なお、この処理シーケンスが示す通信装置151の処理は、CPU154が、ROM152又は通信装置151が備えるHDD(不図示)に記憶されている制御プログラムをRAM153にロードし、その制御プログラムを実行することで実現される。また、この処理シーケンスが示す情報処理装置101の処理は、CPU103が、ROM104又は情報処理装置101が備えるHDD(不図示)に記憶されている制御プログラムをRAM105にロードし、その制御プログラムを実行することで実現される。
以下の説明において、通信装置151は、所定の間隔でアドバタイズ情報を送信するアドバタイザであるものとする。また、情報処理装置101は、周辺にあるアドバタイザから送信されるアドバタイズ情報を待ち受けるスキャナであるものとする。まず、近距離無線通信部157は、アドバタイズ情報の送信を行う(S1001〜S1003)。情報処理装置101は、近距離無線通信部110が近距離無線通信部157から送信されたアドバタイズ情報を受信することで、通信装置151の存在を認識することができる。
情報処理装置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)に切り替えても良い。
その後、S1005では、近距離無線通信部110は、近距離無線通信部157に対して、通信装置151が利用可能な通信プロトコルの情報を要求する。
この要求には情報処理装置101が利用可能な通信プロトコルの情報が含まれており、近距離無線通信部157は、この要求を受信することで、情報処理装置101がWi−Fi等の通信方式を利用可能であることを認識することができる。近距離無線通信部157は、S1006において、S1005で受け取った要求に対して、自身の利用可能な通信プロトコルの情報を応答する。これによって互いの装置は、BLE以外の互いの利用可能な通信プロトコルを把握することができる。
ここで、BLE以外の互いの利用可能な通信プロトコルを把握することにより、装置間の通信をWi−Fi通信に切り替えることが情報処理装置101によって決定されたとする。なお、このとき、通信方式の切り替えを行うか否かは通信装置151が決定しても良い。通信方式の切り替えが決定された場合、S1007およびS1008にて、それぞれの装置は、通信相手を特定するアドレスの情報やSSIDの情報等の、Wi−Fiで通信を行うために必要な通信情報を交換する。その後S1009にて、近距離無線通信部110は、装置間の通信方式をGATT通信からWi−Fi通信へと切り替える要求(通信切り替え要求)を送信する。近距離無線通信部157は、切り替えの要求を受信すると、S1010にて応答を行う。
切り替えの要求と応答が正しく行われたら、S1011では、情報処理装置101は、通信装置151との通信に利用する通信部を近距離無線通信部110から通信部109へ切り替える。さらに、S1012では、通信装置151は、情報処理装置101との通信に利用する通信部を近距離無線通信部157から通信部156へ切り替える。切り替えを行った後、S1013にて、近距離無線通信部110は解放要求を送信する。解放要求を受け取った近距離無線通信部157は、S1014にて解放応答を送信し、装置間のBLE接続を終了する。装置間のBLE接続が終了すると、情報処理装置101と通信装置151はそれぞれスキャナとアドバタイザに戻り、近距離無線通信部157は、アドバタイズ情報の送信を再開する。
その後、それぞれの装置は、S1007およびS1008で交換したWi−Fi通信を行うために必要な情報を利用し、Wi−Fi通信を行う。まずS1015では、通信部109は、通信装置151がジョブの取得が可能かどうか通信部156に確認をする。ここでは、例えば、通信装置151に転送しようとする画像を一時保存するための空き容量の情報などが確認される。通信部156は、確認の要求を受け取った後、S1016にて確認に対する応答を送信する。
正しい応答が得られ、通信装置151がジョブの取得が可能であると判断した場合、S1017にて、通信部156は、ジョブを要求する。その後、ジョブの要求を受けた通信部109は、S1018にて情報処理装置101に存在する画像データ等を含むジョブを通信部156に対して送信する。なお、このとき送信するジョブの選択は、例えば、BLE接続が確立する前やBLE接続が確立した後、Wi−Fi接続が確立した後等のタイミングで行われる。また、送信されるジョブは、印刷ジョブに限らず、例えば、通信装置151にスキャンを指示するためのスキャンジョブや情報処理装置101が通信装置151の状態の情報を取得するためのジョブ等であっても良い。また、例えば通信装置151の設定の変更等、通信装置151に対する各種操作を実行するためのコマンド等であっても良い。なお、情報処理装置101は、ジョブの送信が完了した場合、通信装置151とのWi−Fi接続を切断して、ハンドオーバー直前のネットワーク状態に戻る。具体的には、例えば情報処理装置101は、ハンドオーバーを実行する前に、3GやLTE等の移動体通信網やルーター等のアクセスポイントに接続していた場合は、当該移動体通信網やアクセスポイントへの接続を再度確立する。そのため、情報処理装置101は、ハンドオーバーを実行する前に、ハンドオーバー直前のネットワーク状態の情報及び、当該ネットワーク情報を確立するために必要な通信情報等を保持しておく。
このように、ハンドオーバー技術を用いることで、ユーザビリティの高い通信方式(近距離通信方式)によって、高速通信方式で通信するための接続情報をやり取りし、その後、高速通信方式によって、容量の大きいデータのやり取りを高速で行うことができる。
なお、ハンドオーバーによってGATT通信からWi−Fi通信へ通信方式の切り替えが行われた場合、装置間のBLE接続は切断されるため、近距離無線通信部157は、アドバタイズ情報の送信を再開する。
上述したように本実施形態では、情報処理装置101は、通信装置151との通信を実行可能である。ところで、通信装置151が情報処理装置101の周囲に複数存在する場合は、ユーザは、いずれの通信装置151との通信を行うかを情報処理装置101に特定させるための操作を実行する必要がある。そこで本実施形態では、いずれの通信装置151との通信を行うかを情報処理装置101に特定させるための操作を簡便に実行可能な形態について説明する。
図14は、情報処理装置101が実行する印刷ジョブの送信処理を示すフローチャートである。本処理は、CPU103が、ROM104又は情報処理装置101が備えるHDD(不図示)に記憶されている制御プログラムや印刷用アプリをRAM105にロードし、それらのプログラムを実行することで実現される。また本処理は、情報処理装置101において印刷用アプリが起動している状態で開始される。
S1401にて、CPU103は、印刷用アプリが表示する画面に対する操作に応じて、ROM104または外部記憶装置106に格納されている印刷可能な画像のサムネイルの一覧(画像選択画面)を表示部108に表示する。
そしてS1402にて、CPU103は、ユーザによりサムネイル一覧から印刷対象の画像が選択されたか否かを判定する。CPU103は、YES判定の場合、S1403に進み、NO判定の場合、S1402を再び実行し、画像の選択が行われるのを待つ。
S1403にて、CPU103は、選択された画像の印刷のための印刷設定を行うための印刷設定画面を表示する。ユーザは、印刷設定画面に対する入力により、印刷される記録媒体の種類やサイズの設定、印刷品質の設定、印刷部数の設定、モノクロ印刷かカラー印刷かの設定等を行うことができる。
S1404にて、CPU103は、印刷設定の完了を示す入力が行われたか否かを判定する。CPU103は、YES判定の場合、S1405に進み、NO判定の場合、S1404を再び実行し、印刷設定の完了を示す入力が行われるのを待つ。
S1405にて、CPU103は、印刷対象の画像を、ROM104または外部記憶装置106から読み込み、印刷対象の画像の印刷プレビューを示すプレビュー画面を表示部108に表示する。図16は、このとき表示されるプレビュー画面の一例である。プレビュー画面1601には、印刷対象の画像の印刷プレビューを示すプレビュー領域1602とスワイプ操作をユーザに促すための指示領域1603が含まれる。なおプレビュー画面には例えば、入力された印刷設定の内容等が含まれていても良い。
なおCPU103は、図18に例示するように、情報処理装置101の周囲に存在する各BLE対応デバイスの方向をユーザに提示するための方向ガイド2001をプレビュー画面において表示しても良い。この表示によって、ユーザは、情報処理装置101の周囲に存在するBLE対応デバイスの方向と個数を把握しやすくなり、印刷ジョブの送信先を選択するための操作をより直感的に実行することができるようになる。また、方向ガイド2001の色や形によってBLE対応デバイスのステータス、ケーパビリティ、BLE対応デバイスまでの距離等を表すようにしても良い。例えば、ステータスが正常であれば緑、用紙やインクの残量が少ない場合は黄色、印刷ができない場合は赤で表示したり、各機能を図式化したアイコンでケーパビリティを表現したり、距離が遠いほど小さく表示したりしても良い。さらに、方向ガイド2001に対するタップ操作を受け付けることで、BLE対応デバイスの詳細をユーザが確認可能な画面を表示しても良い。なお、上述においてユーザに提示される各種情報は、アドバタイズ情報に含まれる情報に基づいて提示される。
S1406にて、CPU103は、ユーザによるスワイプ操作が行われたか否かを判定する。スワイプ操作とは具体的には、表示部108において操作子(指やタッチデバイス)をタッチした後、操作子を表示部108から離さずに一定の意方向に移動させ、その後操作子を表示部からリリースする操作である。CPU103は、YES判定の場合、S1407に進み、NO判定の場合、S1406を再び実行し、スワイプ操作が行われるのを待つ。なお、スワイプ操作を受け付けるための画面は、プレビュー画面に限定されず、他の画面であっても良い。
S1407にて、CPU103は、ユーザによって行われたスワイプ操作を解析し、スワイプ操作に対応する方向(以下、スワイプ方向)を特定する。具体的には、スワイプ操作において表示部108に操作子がタッチされた位置に対する、表示部108から操作子がリリースされた位置の方向が、スワイプ方向として特定される。スワイプ方向の計算方法の例を図15に示す。CPU103は、ユーザの指が触れた点(x0,y0)と指が離れた点(x1,y1)を入力インタフェース102から受け取り、2つの点を通る直線の角度を計算し、それをスワイプ方向1501として特定する。なお、スワイプ方向1501の計算方法はこの例に限らず、例えば指を離す直前の指の速度の方向を用いても良い。
S1408にて、CPU103は、BLEによる検知結果に基づき、周囲のBLE対応デバイス(ここでは、通信装置1401〜1403)と情報処理装置101の距離及び情報処理装置101に対するBLE対応デバイスの方向を特定する。当該距離と当該方向のBLEによる検知の方法については、図7を用いて上述した通りである。なお、当該距離と当該方向の検知は、S1408において実行されても良いし、S1408よりも前の処理において事前に実行されていても良い。またCPU103は、周囲の複数のBLE対応デバイスのうち、特定のサービス(ここでは印刷サービス)を提供しているデバイスを特定し、特定されたデバイスとの距離のみ特定しても良い。具体的にはCPU103は、周囲の複数のBLE対応デバイスからそれぞれ受信されるアドバタイズ情報のうち、特定のサービスを示す情報を含むアドバタイズ情報を特定し、特定されたアドバタイズ情報の送信元の装置との距離のみ特定しても良い。
S1409にて、CPU103は、S1407で特定したスワイプ方向と、S1408で特定した情報処理装置101に対するBLE対応デバイスの方向との差を特定する。なおCPU103は、情報処理装置101の周囲に複数のBLE対応デバイスが存在しており、S1407で情報処理装置101に対するBLE対応デバイスの方向が複数特定される場合がある。その場合は、CPU103は、S1408で特定した情報処理装置101に対するそれぞれのBLE対応デバイスの方向との差をそれぞれ特定する。
S1410にて、CPU103は、S1409で特定された差が所定の閾値未満か否かを判定する。CPU103は、YES判定の場合、S1411に進み、NO判定の場合、S1406を再び実行し、スワイプ操作が行われるのを待つ。なおNO判定の場合、スワイプ方向に、印刷ジョブの送信先のデバイスがいないことを示す画面を表示部108に表示しても良い。またCPU103は、S1409で複数の差を特定していた場合、その中のいずれかに対してのみ、本判定を行っても良い。例えばCPU103は、複数の差のうち一番小さい差に対してや、複数の差のうち情報処理装置101との距離が一番近いBLEデバイスとの方向に基づく差に対してのみ、本判定を行っても良い。また例えば、CPU103は、S1409で複数の差を特定していた場合、情報処理装置101に受信された際の電波強度が一番大きいアドバタイズ情報の送信元のBLEデバイスとの方向に基づく差に対してのみ、本判定を行っても良い。
S1411にて、CPU103は、S1409の判定結果に基づき、印刷ジョブの送信先の装置を特定する。具体的にCPU103は、所定の閾値以下であった差に対応するBLE対応デバイスを、印刷ジョブの送信先の候補として特定し、当該候補からいずれかを、印刷ジョブの送信先の装置として特定する。ここではCPU103は、S1409で特定された差のうち、より小さい差に対応するBLE対応デバイスを、印刷ジョブの送信先の装置として特定する。例えば、情報処理装置101と通信装置1401〜1403が図17のような位置関係であり、スワイプ方向1701と通信装置1401、1402、1403との方向の差の絶対値がそれぞれθ1,θ2,θ3であるものとする。その場合、閾値φ<θ3であるため通信装置1403は、印刷ジョブの送信先の候補から外れ、通信装置1401、1402が印刷ジョブの送信先の候補となる。これらの候補同士で方向を比較すると、θ1>θ2であるため通信装置1402が印刷ジョブの送信先の装置として特定される。なおCPU103は、S1409で特定された複数の差が所定の閾値以下であり、且つ当該複数の差が同じ値(又は近い値)である場合は、方向以外の要素に基づいて印刷ジョブの送信先の装置を特定しても良い。ここではCPU103は、S1408で特定された距離がより小さいBLE対応デバイスを印刷ジョブの送信先の装置として特定する。具体的には例えば、θ1=θ2であり、情報処理装置101と通信装置1401、1402との距離がそれぞれd1,d2である場合、d1<d2であるため通信装置1401が印刷ジョブの送信先の装置として特定される。なお、距離以外の要素により印刷ジョブの送信先の装置が特定されても良い。例えば、所定の閾値以下の差に対応する複数のBLE対応デバイスすべてをリスト表示し、リスト表示の中からユーザによって選択された装置を、印刷ジョブの送信先の装置として特定しても良い。また例えば、ユーザによって入力された印刷設定に適した装置を印刷ジョブの送信先の装置として特定しても良い。また例えば、エラーが発生していない装置をエラーが発生している装置より優先して、印刷ジョブの送信先の装置として特定しても良い。
S1412にて、CPU103は、選択された画像を印刷するための印刷ジョブを、入力された印刷設定に基づいて生成し、生成した印刷ジョブを、S1411で印刷ジョブの送信先の装置として特定された装置に対して送信する。なお印刷ジョブの送信方法は、特に限定されない。例えば、図10にて説明したように、印刷ジョブの送信先の装置とのハンドオーバーによって印刷ジョブを送信しても良い。また例えば、アドバタイズ情報に含まれる情報(IPアドレス等)を用いて、印刷ジョブの送信先の装置として特定された装置を情報処理装置101が属しているWi−Fiネットワーク上で検索し、発見された装置に対して印刷ジョブを送信しても良い。なお情報処理装置101が属しているWi−Fiネットワークとは例えば、情報処理装置101が接続しているアクセスポイントによって構成されるネットワークである。また装置の検索は、例えば、情報処理装置101が属しているWi−Fiネットワーク上に所定のコマンドをブロードキャストし、当該ブロードキャストに対する応答に、検索対象の装置に対応する応答が含まれるか否かを検知することで行われる。その後情報処理装置101は、処理を終了する。
このような形態とすることで、ユーザは、直感的な操作によって簡便に、データの送信先の装置を情報処理装置101に特定させることができる。
なお通常、情報処理装置101は、印刷用アプリによって他の装置にジョブを送信する場合は、印刷用アプリに、ジョブの送信先の装置に関する情報を予め登録しておく。情報処理装置101は、このような登録を例えば、ジョブの送信先の装置とWi−Fi等により無線接続し、ジョブの送信先の装置に関する情報(ケーパビリティ、識別情報等)を当該無線接続を介して取得することで行う。
ところで、このようにして既に印刷用アプリにジョブの送信先の装置に関する情報の登録が行われている場合は、情報処理装置101は、ジョブの送信先の装置を特定することができる。
そのため例えば、既に印刷用アプリにジョブの送信先の装置に関する情報の登録が行われている場合は、情報処理装置101は、上述したような、ジョブの送信先の装置をスワイプ操作に応じて特定する処理を実行しなくても良い。具体的には例えば、情報処理装置101は、S1404−YESの場合に、既に印刷用アプリにジョブの送信先の装置に関する情報の登録が行われているか否かの判定を行う。そして情報処理装置101は、既に印刷用アプリにジョブの送信先の装置に関する情報の登録が行われていると判定された場合は、S1403に進む。一方、情報処理装置101は、既に印刷用アプリにジョブの送信先の装置に関する情報の登録が行われていないと判定された場合は、指示領域1603を含まずスワイプ操作を受け付けないが、印刷を指示するための印刷ボタンを含むプレビュー画面を表示する。なお印刷ボタンがユーザによって押下された場合は、情報処理装置は、S1411に進み、印刷用アプリに登録されている装置をジョブの送信先の装置として特定し、S1412にて、当該装置に対して印刷ジョブを送信する。
上述では、スワイプ操作に基づいて特定される装置に対して印刷ジョブが送信される形態について説明したが、この形態に限定されない。例えば、本発明において送信される情報は、スワイプ操作に基づいて特定される装置の電源状態(電源ON状態と電源OFF状態)を切り替えるための情報であっても良い。また例えば、本発明において送信される情報は、スワイプ操作に基づいて特定される装置に、印刷以外の動作を実行させるための情報等であっても良い。言い換えれば、スワイプ操作に基づいて特定される装置は、印刷を実行する装置以外の装置であっても良い。スワイプ操作に基づいて特定される装置は例えば、種々の家電製品であっても良い。より具体的には例えば、スワイプ操作に基づいて特定される装置がカーテンを制御する装置である場合には、本発明において送信される情報は、カーテンを開ける動作やカーテンを閉める操作を実行させるための情報であっても良い。また例えば、スワイプ操作に基づいて特定される装置がエア・コンディショナー(エアコン)である場合には、エアコンの冷房機能や暖房機能を実行させるための情報であっても良い。
上述では、処理の対象となる装置をユーザが指定するための操作として、スワイプ操作を行う形態を説明したが、この形態に限定されない。例えばユーザは、指定対象の装置が位置する方向に向けて情報処理装置101を振る操作等によって、処理の対象となる装置を指定しても良い。なお、情報処理装置101がいずれの方向に向けて振られたかどうかは、例えば、情報処理装置101が有する不図示の加速度センサ等によって検知される。
また上述では、スワイプ操作に基づいて特定される装置に対して情報を送信する形態を説明したが、この形態に限定されない。例えば、各装置に、外部サーバが管理する所定のサービス(ゲームサービス等)のアカウントが紐づけられているとする。そして当該所定のサービス上では、外部サーバ上で管理されるアカウント間で情報のやり取りが可能であるものとする。その場合例えば、情報処理装置101は、所定のサービス上で、情報処理装置101に紐づけられているアカウントから、スワイプ操作に基づいて特定される装置に紐づけられているアカウントに対して所定の情報を送信するように制御しても良い。所定の情報とは例えば、当該所定のサービス上で用いられるアイテムの情報等である。なおこの場合、情報のやり取りは、実際には、情報処理装置101とスワイプ操作に基づいて特定される装置の間で行われるのではなく、当該所定のサービスを提供するサーバ上で行われることになる。このような形態にも、本発明が適用されていても良い。
(第2実施形態)
本実施形態では、情報処理装置101にインストールされるプログラムに対応する装置の方向や、情報処理装置101からアンインストールされるプログラムに対応する装置の方向をユーザが入力する形態について説明する。なお本実施形態でインストールやアンインストールされるプログラムは、プリンタドライバであるものとするが、この形態に限定されず、アプリケーションプログラム等、他のプログラムであっても良い。
本実施形態において情報処理装置101は、プリンタドライバをインストールしたりアンインストールしたりするための管理プログラムを有しているものとする。なお管理プログラムは、上述の印刷用アプリであっても良い。管理プログラムにより、プリンタドライバのインストールの指示や、プリンタドライバのアンインストールの指示をユーザから受け付け可能である。以下では、プリンタドライバのインストールの指示が行われた場合の処理について説明する。
図19は、情報処理装置101が実行するプリンタドライバのインストール処理を示すフローチャートである。本処理は、CPU103が、ROM104又は情報処理装置101が備えるHDD(不図示)に記憶されている制御プログラムや管理プログラムをRAM105にロードし、その制御プログラムを実行することで実現される。また本処理は、情報処理装置101において管理プログラムが起動している状態でプリンタドライバのインストールの指示が行われた場合に開始される処理である。
S1901にて、CPU103は、スワイプ操作を受け付けるための画面を表示部108に表示する。当該画面には例えば、スワイプ操作をユーザに促すための指示領域や、情報処理装置101の周囲に存在する各BLE対応デバイスの方向をユーザに提示するための方向ガイド等が含まれる。
S1902にて、CPU103は、ユーザによるスワイプ操作が行われたか否かを判定する。CPU103は、YES判定の場合、S1903に進み、NO判定の場合、S1902を再び実行し、スワイプ操作が行われるのを待つ。本処理は、S1406の処理と同様である。
S1903にて、CPU103は、ユーザによって行われたスワイプ操作を解析し、スワイプ方向を特定する。本処理は、S1407の処理と同様である。
S1904にて、CPU103は、BLEによる検知結果に基づき、周囲のBLE対応デバイス(ここでは、通信装置1401〜1403)と情報処理装置101の距離及び情報処理装置101に対するBLE対応デバイスの方向を特定する。本処理は、S1408の処理と同様である。
S1905にて、CPU103は、S1903で特定したスワイプ方向と、S1904で特定した情報処理装置101に対するBLE対応デバイスの方向との差を特定する。本処理は、S1409の処理と同様である。
S1906にて、CPU103は、S1905で特定された差が所定の閾値未満か否かを判定する。CPU103は、YES判定の場合、S1907に進み、NO判定の場合、S1902を再び実行し、スワイプ操作が行われるのを待つ。本処理は、S1410の処理と同様である。
S1907にて、CPU103は、S1906の判定結果に基づき、インストールされるプリンタドライバに対応する装置を特定する。本処理における特定方法は、S1411の処理における特定方法と同様である。
S1908にて、CPU103は、S1907で特定された装置に対応するプリンタドライバを、情報処理装置101にインストールする。具体的には例えば、CPU103は、S1907で特定された装置に対応するプリンタドライバをインターネットを介して特定のサーバからダウンロードし、ダウンロードしたプリンタドライバをインストールする。なおプリンタドライバのインストール方法はこの方法に限定されない。例えばCPU103は、情報処理装置101に取り付けられた外部メモリに保存されているプログラムの中から、S1907で特定された装置に対応するプリンタドライバを選択し、インストールしても良い。また例えばCPU103は、S1907で特定された装置を、情報処理装置101が属しているWi−Fiネットワーク上で検索し、発見された装置からプリンタドライバを受信してインストールしても良い。また例えばCPU103は、S1907で特定された装置と図10にて説明したようにしてハンドオーバーによりWi−Fi接続し、Wi−Fi接続を介してプリンタドライバを受信してインストールしても良い。なお、管理プログラムにより、プリンタドライバのアンインストールの指示がユーザから受け付けられていた場合は、S1908では、S1907で特定された装置に対応するプリンタドライバを、情報処理装置101からアンインストールする処理が行われる。
S1909にて、CPU103は、S1907で特定された装置と通信するための準備を行う。具体的には例えばCPU103は、S1907で特定された装置を、情報処理装置101が属しているWi−Fiネットワーク上で検索し、発見された装置とのWi−Fi接続を確立する。これにより情報処理装置101は、S1907で特定された装置に対して、プリンタドライバを用いた印刷ジョブの送信が行えるようになる。また例えばCPU103は、S1907で特定された装置とBLEによるペアリング処理を実行する。これにより情報処理装置101は、S1907で特定された装置とのハンドオーバーを行えるようになる。
このような形態とすることで、ユーザは、直感的な操作によって簡便に、インストールやアンインストールされるプログラムに対応する装置を情報処理装置101に特定させることができる。
なお上述では、スワイプ操作により、インストールやアンインストールされるプログラムに対応する装置を情報処理装置101に特定させる形態を説明したが、この形態に限定されない。例えば、スワイプ操作により、更新(アップデート)されるプログラムに対応する装置を情報処理装置101に特定させる形態であっても良い。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 情報処理装置
151 通信装置

Claims (17)

  1. 情報処理装置のコンピュータに、
    前記情報処理装置の位置に対する通信装置の位置の方向を、所定の通信方式による前記情報処理装置と前記通信装置との間の通信に基づいて特定する第1特定ステップと、
    ユーザから所定の操作を受け付ける受付ステップと、
    前記受け付けられた前記所定の操作に対応する方向を特定する第2特定ステップと、
    前記特定された前記通信装置の位置の方向と、前記特定された前記所定の操作に対応する方向に基づいて、前記情報処理装置の周囲に存在する複数の前記通信装置のうち、前記特定された前記所定の操作に対応する方向に対応する前記通信装置を特定する第3特定ステップと、
    前記特定された前記所定の操作に対応する方向に対応する前記通信装置に関する処理を実行する実行ステップと、
    を実行させることを特徴とするプログラム。
  2. 前記所定の操作は、前記情報処理装置が表示する画面に対するスワイプ操作であることを特徴とする請求項1に記載のプログラム。
  3. 前記特定された前記所定の操作に対応する方向に対応する前記通信装置に関する処理は、前記特定された前記所定の操作に対応する方向に対応する前記通信装置に、所定の情報を送信する処理であることを特徴とする請求項1又は2に記載のプログラム。
  4. 前記特定された前記所定の操作に対応する方向に対応する前記通信装置に関する処理は、前記特定された前記所定の操作に対応する方向に対応する前記通信装置に、前記所定の通信方式によって、前記所定の情報を送信する処理であることを特徴とする請求項3に記載のプログラム。
  5. 前記特定された前記所定の操作に対応する方向に対応する前記通信装置から、前記所定の方式と異なる他の通信方式によって接続するための接続情報を、前記所定の通信方式によって受信する受信ステップと、
    前記接続情報を用いることで、前記特定された前記所定の操作に対応する方向に対応する前記通信装置と前記情報処理装置との間の前記他の通信方式による接続を確立させる接続ステップと、
    をさらに実行させ、
    前記特定された前記所定の操作に対応する方向に対応する前記通信装置に関する処理は、前記特定された前記所定の操作に対応する方向に対応する前記通信装置に、前記確立された前記他の通信方式による接続を介して、前記所定の情報を送信する処理であることを特徴とする請求項3に記載のプログラム。
  6. 前記所定の情報の送信先の装置の情報を登録する登録ステップと、
    前記所定の情報の送信の指示をユーザから受け付ける指示受け付けステップと、をさらに実行させ、
    前記所定の情報の送信先の装置の情報が登録されている場合、前記所定の情報の送信の指示が受け付けられたことに基づいて、前記登録されている情報に対応する装置に対して、前記所定の情報が送信され、
    前記所定の情報の送信先の装置の情報が登録されていない場合、前記所定の情報の送信の指示が受け付けられたことに基づいて、前記特定された前記所定の操作に対応する方向に対応する前記通信装置に対して、前記所定の情報が送信されることを特徴とする請求項3乃至5のいずれか1項に記載のプログラム。
  7. 前記所定の情報は、前記通信装置に所定の動作を実行させるための情報であることを特徴とする請求項3乃至6のいずれか1項に記載のプログラム。
  8. 前記所定の動作は、印刷の実行であることを特徴とする請求項7に記載のプログラム。
  9. 前記特定された前記所定の操作に対応する方向に対応する前記通信装置に関する処理は、前記特定された前記所定の操作に対応する方向に対応する前記通信装置に対応するプログラムを前記情報処理装置にインストールする処理であることを特徴とする請求項1又は2に記載のプログラム。
  10. 前記特定された前記所定の操作に対応する方向に対応する前記通信装置に関する処理は、外部サーバ上で管理される、前記特定された前記所定の操作に対応する方向に対応する前記通信装置に対応するアカウントに、所定の情報を送信する処理であることを特徴とする請求項1又は2に記載のプログラム。
  11. 前記特定された前記所定の操作に対応する方向に対応する前記通信装置が複数特定された場合、前記特定された前記所定の操作に対応する方向に対応する複数の前記通信装置のうち、前記情報処理装置と間の距離がより近い前記通信装置に関する処理が実行されることを特徴とする請求項1又は2に記載のプログラム。
  12. 前記情報処理装置と前記通信装置との間の距離を、前記所定の通信方式による前記情報処理装置と前記通信装置との間の通信に基づいて特定する第3特定ステップと、をさらに実行させることを特徴とする請求項11に記載のプログラム。
  13. 前記特定された前記通信装置の位置の方向を示すアイコンを表示部に表示する表示ステップと、をさらに実行させることを特徴とする請求項1乃至12のいずれか1項に記載のプログラム。
  14. 前記所定の通信は、Bluetooth Low Energyであることを特徴とする請求項1乃至13のいずれか1項に記載のプログラム。
  15. 前記所定の通信は、Bluetooth5.1の規格に含まれるBluetooth Low Energyであることを特徴とする請求項14に記載のプログラム。
  16. 情報処理装置であって、
    前記情報処理装置の位置に対する通信装置の位置の方向を、所定の通信方式による前記情報処理装置と前記通信装置との間の通信に基づいて特定する第1特定手段と、
    ユーザから、方向を指定するための所定の操作を受け付ける受付手段と、
    前記受け付けられた前記所定の操作に対応する方向を特定する第2特定手段と、
    前記特定された前記通信装置の位置の方向と、前記特定された前記所定の操作に対応する方向に基づいて、前記情報処理装置の周囲に存在する複数の前記通信装置のうち、前記特定された前記所定の操作に対応する方向に対応する前記通信装置を特定する第3特定手段と、
    前記特定された前記所定の操作に対応する方向に対応する前記通信装置に関する処理を実行する実行手段と、
    を実行させることを特徴とする情報処理装置。
  17. 情報処理装置の制御方法であって、
    前記情報処理装置の位置に対する通信装置の位置の方向を、所定の通信方式による前記情報処理装置と前記通信装置との間の通信に基づいて特定する第1特定ステップと、
    ユーザから、方向を指定するための所定の操作を受け付ける受付ステップと、
    前記受け付けられた前記所定の操作に対応する方向を特定する第2特定ステップと、
    前記特定された前記通信装置の位置の方向と、前記特定された前記所定の操作に対応する方向に基づいて、前記情報処理装置の周囲に存在する複数の前記通信装置のうち、前記特定された前記所定の操作に対応する方向に対応する前記通信装置を特定する第3特定ステップと、
    前記特定された前記所定の操作に対応する方向に対応する前記通信装置に関する処理を実行する実行ステップと、
    を有することを特徴とする制御方法。
JP2019111368A 2019-06-14 2019-06-14 情報処理装置、制御方法及びプログラム Pending JP2020204840A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019111368A JP2020204840A (ja) 2019-06-14 2019-06-14 情報処理装置、制御方法及びプログラム
EP20178718.1A EP3751387A1 (en) 2019-06-14 2020-06-08 Information processing apparatus, control method, and program
US16/896,018 US11303766B2 (en) 2019-06-14 2020-06-08 Information processing apparatus, control method, and non-transitory computer-readable medium
CN202010529826.2A CN112083896A (zh) 2019-06-14 2020-06-11 信息处理装置和控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019111368A JP2020204840A (ja) 2019-06-14 2019-06-14 情報処理装置、制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2020204840A true JP2020204840A (ja) 2020-12-24

Family

ID=71069757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019111368A Pending JP2020204840A (ja) 2019-06-14 2019-06-14 情報処理装置、制御方法及びプログラム

Country Status (4)

Country Link
US (1) US11303766B2 (ja)
EP (1) EP3751387A1 (ja)
JP (1) JP2020204840A (ja)
CN (1) CN112083896A (ja)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8666313B2 (en) * 2011-07-29 2014-03-04 Motorola Solutions, Inc. Pairing devices using data exchanged in an out-of-band channel
JP5699959B2 (ja) * 2012-02-13 2015-04-15 コニカミノルタ株式会社 携帯端末及び印刷指示プログラム並びに印刷指示方法
JP6271960B2 (ja) * 2012-11-26 2018-01-31 キヤノン株式会社 情報処理システム
KR20150121940A (ko) * 2014-04-22 2015-10-30 삼성전자주식회사 의료 기기와 관련된 정보 제공 방법 및 시스템
WO2016147278A1 (ja) * 2015-03-13 2016-09-22 楽天株式会社 可搬無線通信装置、無線通信方法及びプログラム
JP6766364B2 (ja) * 2016-01-29 2020-10-14 ブラザー工業株式会社 ドライバプログラム及びプリンタ
US10469892B2 (en) * 2016-09-13 2019-11-05 Dvdo, Inc. Gesture-based multimedia casting and slinging command method and system in an interoperable multiple display device environment
JP6873660B2 (ja) * 2016-11-24 2021-05-19 キヤノン株式会社 情報処理装置、通信装置、プログラム及び制御方法
JP6866209B2 (ja) * 2017-03-31 2021-04-28 キヤノン株式会社 情報処理装置、制御方法、プログラム
JP6833609B2 (ja) * 2017-05-23 2021-02-24 キヤノン株式会社 携帯端末及びその制御方法、並びにプログラム
JP6929168B2 (ja) 2017-08-31 2021-09-01 キヤノン株式会社 音声制御デバイス、印刷装置、それらの制御方法およびプログラム
JP2020198505A (ja) * 2019-05-31 2020-12-10 キヤノン株式会社 装置、およびそのプログラム
JP2020205497A (ja) * 2019-06-14 2020-12-24 キヤノン株式会社 通信システム

Also Published As

Publication number Publication date
EP3751387A1 (en) 2020-12-16
US11303766B2 (en) 2022-04-12
CN112083896A (zh) 2020-12-15
US20200396349A1 (en) 2020-12-17

Similar Documents

Publication Publication Date Title
JP6184580B1 (ja) 情報処理装置、制御方法およびプログラム
US10387089B2 (en) Information processing apparatus, control method thereof, and non-transitory computer readable medium using authentication processing
JP6070466B2 (ja) 端末装置とプリンタ
JP6272381B2 (ja) プログラム、情報処理方法、および情報処理装置
JP2017184194A (ja) 情報処理装置、制御方法、及びプログラム
JP6866209B2 (ja) 情報処理装置、制御方法、プログラム
JP6873660B2 (ja) 情報処理装置、通信装置、プログラム及び制御方法
JP2020145557A (ja) プログラム、情報処理装置、および制御方法
JP6389938B2 (ja) 情報処理装置およびプログラム
EP3745698B1 (en) Information processing apparatus, information processing method, and position detection system
JP6667476B2 (ja) 通信装置、制御方法及びプログラム
JP7129233B2 (ja) 情報処理装置、制御方法、プログラム
US11194534B2 (en) Information processing apparatus, control method, and storage medium
US11564197B2 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
US20200382656A1 (en) Information processing device and display control method
JP2020204840A (ja) 情報処理装置、制御方法及びプログラム
JP7358074B2 (ja) 情報処理装置、制御方法及びプログラム
JP6888037B2 (ja) 情報処理装置、制御方法およびプログラム
JP6674413B2 (ja) 通信装置、制御方法、及びプログラム
JP6245331B2 (ja) 端末装置とプリンタ
JP2020198503A (ja) 情報処理装置、制御方法及びプログラム
JP2021096522A (ja) 情報処理装置、制御方法およびプログラム