(第1の実施形態)
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、本実施形態では、セントラルロールである通信装置801と、ペリフェラルロールである印刷装置601及び撮像装置701とがそれぞれBLEを介して接続中である状態から印刷装置601と撮像装置701との間で接続を確立する場合を例に説明する。
なお、無線通信機能を備えた通信装置の一例としての印刷装置601、撮像装置701及び通信装置801を用いた通信システムの例を説明するが、これらの装置は、無線通信機能を備える装置であれば他の装置であってもよい。すなわち、パーソナルコンピュータ、タブレット端末、ゲーム機、眼鏡型や時計型のウェアラブル端末、ヘッドマウントディスプレイ、車載用機器、医療用機器であってもよい。また、以下の各実施形態において例示する構成部品の寸法、形状、それらの相対配置などは、本実施形態が適用される装置の構成や各種条件により適宜変更されるべきものであり、本実施形態がそれらの例示に限定されるものではない。
(印刷装置の構成)
図1は、本実施形態に係る印刷装置601の機能構成例を示すブロック図である。なお、以降のブロック図では、本実施形態の説明に不要なブロックへの電源接続は省略するとともに、本実施形態の説明に不要なブロックの説明及び動作の説明は省略する。また、印刷装置601と他の装置との区別のために、ブロック等に「PTR」の語を付して説明する場合がある。
図1に示す印刷装置601は、印刷媒体へ印刷が可能な装置である。PTR制御部B605は、CPU(Central Processing Unit)を含み、PTRROM607に記憶されたプログラムをPTRRAM606に展開、実行することにより、印刷装置601全体を制御する。PTR制御部B605は、印刷装置601のメインシステムとして動作する。PTR制御部B605は、デジタル画像データ等を、PTR表示部608に表示し、又、当該デジタル画像データ等を印刷媒体へ印刷可能なデータに変換する画像処理を行うこともできる。PTRRAM606は、PTR制御部B605のワークエリアとして使用されるRAM(Random Access Memory)であり、例えばダイナミックRAMなどの揮発性メモリで構成される。PTRROM607は、PTR制御部B605が実行するプログラムを記憶するROM(Read Only Memory)であり、例えばフラッシュメモリなどの書き換えが可能な不揮発性メモリで構成される。
PTR制御部A655は、印刷装置601の一部機能の制御を司る制御部であり、ワークエリアとして使用されるRAM、プログラムを記憶しているROMを内包する。PTR制御部A655は、印刷装置601のサブシステムである。PTR制御部A655は、PTR制御部B605がOFFの状態であっても(すなわち待機電力で)動作可能であり、その消費電力はPTR制御部B605よりも少ない。例えば、印刷サービスを提供していないスタンバイ状態において他の装置(外部装置)との無線通信接続を可能にするために用いることができる。PTR制御部A655とPTR制御部B605とは別の電源回路で動作することが可能である。例えばPTR制御部A655がPTR制御部B605の電源回路をONにして、OFF状態のPTR制御部B605をON状態に遷移させる。
PTRAC/DC変換回路602は、印刷装置601の外部から入力されたAC電圧をDC電圧に変換する。変換されたDC電圧は、PTR定電圧回路A603およびPTR定電圧回路B604により、さらに後段の回路ブロックへ供給可能な電圧に変換される。PTR定電圧回路A603は、定電圧回路を含み、PTR制御部A655と後述するPTR無線通信部A612とへの動作電源を供給する。PTR定電圧回路A603は、PTR制御部B605がOFFの状態で電圧出力可能な回路であり、PTR制御部B605がOFFの状態であってもPTR制御部A655を動作可能にする。PTR定電圧回路B604は、定電圧回路を含み、PTR制御部B605等の、PTR定電圧回路A603が動作電源を供給する回路ブロック以外の回路ブロックへ動作電源を供給する。PTR定電圧回路B604は、PTR定電圧回路A603および他からの信号制御で電圧出力可能な回路である。なお、PTR定電圧回路A603はPTR定電圧回路B604よりも供給可能な電流が少なく、かつ自己消費電流の少ない回路で構成しても良い。
PTR無線通信部A612は、他の装置と近距離無線通信を行うことのできる通信部である。PTR無線通信部A612で行う近距離無線通信は、例えば近距離無線規格であるBluetooth Low Energy(Bluetoothは登録商標。以下、BLEともいう)の方式に準拠する。PTR通信アンテナA613は他の装置と近距離無線通信を行うことのできるアンテナである。PTR通信アンテナA613は例えばUHF帯である2.4GHz帯付近に共振周波数を有する。
PTR無線通信部B622は他の装置と無線通信を行うことのできる通信部である。PTR無線通信部B622で行う無線通信は、例えばWLAN規格であるIEEE802.11の方式に準拠する。PTR通信アンテナB623は、他の装置と無線通信を行うことのできるアンテナである。PTR通信アンテナB623は例えばUHF帯である2.4GHz帯付近に共振周波数を有する。
PTR表示部608は、印刷装置601の操作情報や印刷対象画像を表示することのできる表示部であり、例えばLCD(Liquid Crystal Display:液晶表示器)で構成される。PTRメモリーカードスロット609は、例えば画像のデジタルデータを記録したフラッシュメモリーカードを挿入可能である。PTR制御部B605は、PTRメモリーカードスロット609を介して挿入されたフラッシュメモリーカードに記録されている画像のデジタルデータの書き込みおよび読み込みを行うことができる。
PTR印刷部610は、印刷装置601の印刷サービスを提供する印刷部である。PTR印刷部610は、例えば、モーター、用紙搬送機構、印刷ヘッドで構成され、PTR制御部B605において画像処理がなされた印刷データを印刷媒体へ印刷することができる。PTR操作入力部611は、操作キーやボタン等で構成される操作入力部であり、ユーザによる操作情報をPTR制御部B605へ伝達する他、ユーザ操作によりPTR定電圧回路B604をONにしてPTR制御部B605をONにすることができる。
(撮像装置の構成)
次に、図2を参照して、本実施形態に係る撮像装置701の機能構成例について説明する。なお、撮像装置701と他の装置との区別のために、ブロック等に「DSC」の語を付して説明する場合がある。図2に示す撮像装置701は画像(映像を含む)の撮像が可能な装置である。DSC制御部B705はCPUを含み、DSCROM707に記憶されたプログラムをDSCRAM706に展開、実行することにより、撮像装置701全体を制御する。DSC制御部B705は撮像装置701のメインシステムとして動作する。また、DSC制御部B705はデジタル画像データ等をDSC表示部708へ表示させ、又、デジタル画像データ等を記録媒体へ記録可能なデータに変換する画像処理を行うこともできる。DSCRAM706はDSC制御部B705のワークエリアとして使用されるRAMであり、例えばダイナミックRAMなどの揮発性メモリで構成される。DSCROM707はDSC制御部B705のプログラムを記憶しているROMであり、例えばフラッシュメモリなどの書き換えが可能な不揮発性メモリで構成される。
DSC制御部A755は、撮像装置701の一部機能の制御を司る制御部であり、ワークエリアとして使用されるRAM、プログラムを記憶しているROMを内包する。DSC制御部A755は撮像装置701のサブシステムである。DSC制御部A755は、DSC制御部B705がOFFの状態であっても(すなわち待機電力で)動作可能であり、その消費電力はDSC制御部B705よりも少ない。例えば、撮像や画像転送サービスを提供していないスタンバイ状態において他の装置との無線通信接続を可能にするために用いることができる。DSC制御部A755とDSC制御部B705とは別の電源回路で動作することが可能である。例えばDSC制御部A755からDSC制御部B705の電源回路をONにして、OFF状態のDSC制御部B705をON状態に遷移させる。
DSC電池702は、撮像装置701の各部へ電源を供給可能な電池であり、例えばリチウムイオン電池で構成される。DSC電池702の出力は、DSC定電圧回路A703およびDSC定電圧回路B704により、さらに後段の回路ブロックへ供給可能な電圧に変換される。DSC定電圧回路A703は、定電圧回路を含み、DSC制御部A755と後述するDSC無線通信部A712の動作電源を供給する。DSC定電圧回路A703は、DSC制御部B705がOFFの状態で電圧出力可能な回路であり、DSC制御部B705がOFFの状態であってもDSC制御部A755を動作可能にする。DSC定電圧回路B704は、定電圧回路を含み、DSC制御部B705等の、DSC定電圧回路A703が動作電源を供給する回路ブロック以外の回路ブロックへ動作電源を供給する。DSC定電圧回路B704は、DSC定電圧回路A703および他からの信号制御で電圧出力可能な回路である。DSC定電圧回路A703は、DSC定電圧回路B704よりも供給可能な電流が少なく、かつ自己消費電流の少ない回路で構成しても良い。
DSC無線通信部A712は他の装置と近距離無線通信を行うことのできる通信部である。DSC無線通信部A712で行う近距離無線通信は、例えば近距離無線規格であるBLEの方式に準拠する。DSC通信アンテナA713は他の装置と近距離無線通信を行うことのできるアンテナである。DSC通信アンテナA713は例えばUHF帯である2.4GHz帯付近に共振周波数を有する。
DSC無線通信部B722は他の装置と無線通信を行うことのできる通信部である。DSC無線通信部B722で行う無線通信は、例えばWLAN規格であるIEEE802.11の方式に準拠する。DSC通信アンテナB723は他の装置と無線通信を行うことのできるアンテナである。DSC通信アンテナB723は例えばUHF帯である2.4GHz帯付近に共振周波数を有する。
DSC表示部708は、撮像装置701の操作情報や印刷対象画像を表示することのできる表示部であり、例えばLCDで構成される。DSCメモリーカードスロット709は、画像のデジタルデータを記録するためのフラッシュメモリーカードを挿入可能である。DSC制御部B705は、DSCメモリーカードスロット709を介して挿入されたフラッシュメモリーカードに撮像したデジタル画像データ等の書き込みおよび読み込みを行うことができる
DSC撮像部710は、撮像装置701の撮像サービスを提供する撮像部である。DSC撮像部710は、例えば、レンズおよびその駆動系で構成される光学ユニットと、撮像素子を含む。撮像素子により撮像されたデジタル画像データ或いは映像データは、DSC制御部B705により画像処理され、必要に応じて記録媒体へ記録される。DSC操作入力部711は、操作キーやボタン等で構成される操作入力部であり、ユーザによる操作情報をDSC制御部B705へ伝達する他、ユーザによる操作によってDSC定電圧回路B704をONにしてDSC制御部B705をONにすることができる。
(通信装置の構成)
更に、図3を参照して、本実施形態に係る通信装置801の機能構成例について説明する。図3において、通信装置801は画像(映像を含む)の撮像や公衆無線回線での無線通信が可能な装置である。なお、通信装置801と他の装置との区別のために、ブロック等に「OTH」の語を付して説明する場合がある。
OTH制御部B805は、CPUを含み、OTHROM807に記憶されたプログラムをOTHRAM806に展開、実行することにより、通信装置801全体を制御する。OTH制御部B805は通信装置801のメインシステムとして動作する。OTH制御部B805は、デジタル画像データ等をOTH表示部808に表示させ、又、当該デジタルデータ等を記録媒体へ記録可能なデータに変換する画像処理を行うことできる。OTHRAM806はOTH制御部B805のワークエリアとして使用されるRAMであり、例えばダイナミックRAMなどの揮発性メモリで構成される。OTHROM807は、OTH制御部B805のプログラムを記憶しているROMであり、例えばフラッシュメモリなどの書き換えが可能な不揮発性メモリで構成される。
OTH制御部A855は、通信装置801の一部機能の制御を司る制御部であり、ワークエリアとして使用されるRAM、プログラムを記憶しているROMを内包する。OTH制御部A855は通信装置801のサブシステムである。OTH制御部A855は、OTH制御部B805がOFFの状態でも(すなわち待機電力で)動作可能であり、その消費電力はOTH制御部B805よりも少ない。例えば、撮像や画像転送サービスを提供していないスタンバイ状態で他の装置と無線通信接続を可能にするために用いることができる。OTH制御部A855とOTH制御部B805とは別の電源回路で動作することが可能である。例えばOTH制御部A855からOTH制御部B805の電源回路をONにして、OFF状態のOTH制御部B805をON状態に遷移させる。
OTH電池802は、通信装置801の電源を供給可能な電池であり、例えばリチウムイオン電池で構成される。OTH電池802の出力は、OTH定電圧回路A803およびOTH定電圧回路B804により、さらに後段の回路ブロックへ供給可能な電圧に変換される。OTH定電圧回路A803は、定電圧回路を含み、OTH制御部A855と後述するOTH無線通信部A812とに動作電源を供給する。OTH定電圧回路A803は、OTH制御部B805がOFFの状態で電圧出力可能な回路であり、OTH制御部B805がOFFの状態であってもOTH制御部A855を動作可能にする。OTH定電圧回路B804は、定電圧回路を含み、OTH制御部B805等の、OTH定電圧回路A803が動作電源を供給する回路ブロック以外の回路ブロックへ動作電源を供給する。OTH定電圧回路B804は、OTH定電圧回路A803および他からの信号制御で電圧出力可能な回路である。OTH定電圧回路A803は、OTH定電圧回路B804よりも供給可能な電流が少なく、かつ自己消費電流の少ない回路で構成しても良い。
OTH無線通信部A812は他の装置と近距離無線通信を行うことのできる通信部である。OTH無線通信部A812で行う近距離無線通信は、例えば近距離無線規格であるBLEの方式に準拠する。OTH通信アンテナA813は他の装置と近距離無線通信を行うことのできるアンテナである。OTH通信アンテナA813は例えばUHF帯である2.4GHz帯付近に共振周波数を有する。
OTH無線通信部B822は他の装置と無線通信を行うことのできる通信部である。OTH無線通信部B822で行う無線通信は、例えばWLAN規格であるIEEE802.11の方式に準拠する。OTH通信アンテナB823は他の装置と無線通信を行うことのできるアンテナである。OTH通信アンテナB823は例えばUHF帯である2.4GHz帯付近に共振周波数を有する。
OTH無線通信部C832は、公衆無線回線で基地局を介し他の装置と無線通信を行うことのできる通信部である。OTH無線通信部C832で行う無線通信は、例えば国際電気通信連合(ITU:International Telecommunication Union)が定める3Gや4Gの移動通信システムに準拠する。OTH通信アンテナC833は他の装置と無線通信を行うことのできるアンテナである。OTH通信アンテナC833は例えばUHF、SHF帯である400から900MHz、2GHz、3GHz帯付近に共振周波数を有する。
OTH表示部808は、通信装置801の操作情報や印刷対象画像を表示することのできる表示部であり、例えばLCDで構成される。OTHメモリーカードスロット809は、画像のデジタルデータを記録するためのフラッシュメモリーカードを挿入可能である。OTH制御部B805は、OTHメモリーカードスロット809を介して挿入されたフラッシュメモリーカードに撮像したデジタル画像データ等の書き込みおよび読み込みを行うことができる
OTH撮像部810は、通信装置801の撮像サービスを提供する撮像部である。OTH撮像部810は、例えば、レンズおよびその駆動系で構成される光学ユニットと、撮像素子を含む。撮像素子により撮像されたデジタル画像データ或いは映像データは、OTH制御部B805により画像処理が行われ、必要に応じて記録媒体へ記録される。OTH操作入力部811は、操作キーやボタン等で構成される操作入力部であり、ユーザによる操作情報をOTH制御部B805へ伝達する他、ユーザによる操作によってOTH定電圧回路B804をONにしてOTH制御部B805をONにすることができる。
(印刷装置における接続変更処理に係る一連の動作)
図4は、本実施形態に係る印刷装置601における無線接続を変更する処理(接続変更処理)に係る一連の動作を説明する。なお、本処理は、各処理は特に断らない限り、印刷装置601のPTR制御部A655が内部のROMに記憶されたプログラムを内部のRAMに展開、実行することにより実現される。本処理の動作は、印刷装置601のPTRAC/DC変換回路602に外部からAC電圧が入力されたことを契機に開始する。
本実施形態では、通信装置801はセントラルロールの装置として動作(第1のセントラル装置)し、撮像装置701はペリフェラルロールの装置として動作(第2のペリフェラル装置)する。そして、印刷装置601はその役割(ロール)をペリフェラルロールからセントラルロールに変更し、それぞれの場合において第1のペリフェラル装置、第2のセントラル装置となる。
S101では、PTR制御部A655は、印刷装置601の機能の一部が正常であるかを判定する。PTR制御部A655は、機能の一部が正常でないと判定した場合S102へ進み、S102でPTR無線通信部A612からのアドバタイズパケットの送信を停止し、本フローチャートを終了する。一方、PTR制御部A655は、機能の一部が正常であると判定した場合、S103へ進む。
S103では、PTR制御部A655は、PTR無線通信部A612のロールをペリフェラルロールに設定する。PTR制御部A655がPTR無線通信部A612のロールをペリフェラルロールに設定することにより、印刷装置601はペリフェラルロールの装置として動作する。S104では、PTR制御部A655は、PTR無線通信部A612から第1のアドバタイズパケット(自装置の存在を示す情報)を外部の装置に対して送信させる。送信されるアドバタイズパケットのデータ例については後述する。なお、S104における第1のアドバタイズパケットの送信は、PTR制御部A655が、印刷装置601において予め定められた時間間隔(アドバタイズインターバル)で、セントラルロールの装置からの接続要求があるまで行う。S104において送信される第1のアドバタイズパケットは、例えば図9(A)に示すように、アドバタイズパケットのデータ内に、印刷装置601が実施可能なサービス(Service)を特定するUUID1を含む。なお、UUIDとはUniversally Unique IDentifierの略称である。UUIDで特定するServiceには、別途後述するように様々なサービスを設定することができる。図9(A)に示すアドバタイズパケットの例は、UUID1でService1を実施可能なことを示す。例えばService1は、印刷装置601のPTR印刷部610を用いて印刷媒体へ印刷を行う印刷サービスである。
S105では、PTR制御部A655は、PTR無線通信部A612に第1のセントラル装置からの接続要求があるかを判定する。PTR制御部A655は、PTR無線通信部A612からの通知に基づき第1のセントラル装置からの接続要求がある場合にはS106へ進み、ない場合にはS131へ進む。S106では、PTR制御部A655は、第1のセントラル装置とBLEの通信リンクを確立し、S107では、第1のセントラル装置とのBLEの通信を行う。なお、S107におけるBLEの通信は、第1のセントラル装置との間で決められた所定の時間間隔(通信インターバル)で間欠的に行われる。
なお、S104においてペリフェラルロールの装置(すなわち印刷装置601)から送信されたアドバタイズパケットは、セントラルロールの装置である第1のセントラル装置によってスキャンされる。第1のセントラル装置は、アドバタイズパケットに含まれるサービスを特定するUUIDが自装置との組み合わせにおいて有効であれば、印刷装置601に対して接続要求を行う。そして、第1のセントラル装置とBLEによる接続を確立して各サービスを実施する。図11(A)には、印刷装置601のPTR無線通信部A612のServiceとCharacteristicを格納するGATT serverのデータベースの例を示している。印刷装置601と第1のセントラル装置とのBLEによる通信は、図11(A)に示すGATT serverのデータベースのRead、Writeにより実行される。なお、図11(A)は、印刷装置601がアドバタイズパケットに印刷サービスを指定するUUID1を含める場合の、GATT serverのデータベースの例を示している。例えば「Service1: UUID1に対応した複数のCharacteristicのUUIDと各々のUUIDに対応するVALUE」のような1種類のServiceを記憶する。
このとき、Service1のCharacteristic VALUEには、例えば、「印刷可否フラグ」、「SSID」、「PASSWORD」、「デバイス名」、「対応印刷プロトコル1」、「対応印刷プロトコル2」、「印刷ステータス」、「セントラル接続フラグ」、「WLANステータス」が挙げられる。なお、以下の説明では、Characteristic VALUEを単に「VALUE」を記載する。
S108では、PTR制御部A655は、PTR無線通信部A612に第1のセントラル装置からの接続終了通知があるかを判定する。PTR制御部A655は第1のセントラル装置からの接続終了通知がある場合、S109に進み、一方、第1のセントラル装置からの接続終了通知がない場合、S111に進む。S109では、PTR制御部A655は、第1のセントラル装置とBLEの通信リンクを終了(切断)する。PTR制御部A655はその後S110へ進む。
S110では、PTR制御部A655はPTR無線通信部A612のGATT serverのデータベースのうち、印刷サービスのVALUEの「セントラル接続フラグ」が「通信不可」であるかを判定する。PTR制御部A655は、第1のセントラル装置との接続フラグである「セントラル接続フラグ」が「通信不可」である場合、S131へ進む。一方、PTR制御部A655は、この「セントラル接続フラグ」が「通信不可」でない場合、S101へ戻る。
S111では、PTR制御部A655はPTR無線通信部A612に第1のセントラル装置からのサービス実施指示があるかを判定する。S111におけるサービスは、例えば印刷装置601のPTR印刷部610を用いて印刷媒体へ印刷を行う印刷サービスである。PTR制御部A655は、PTR無線通信部A612に第1のセントラル装置からのサービス実施指示がない場合、S131へ進む。一方、PTR制御部A655はPTR無線通信部A612に第1のセントラル装置からのサービス実施指示がある場合、S113へ進む。
S113では、PTR制御部A655は印刷サービスを実施するためにPTR定電圧回路B604をONにして、メインシステムであるPTR制御部B605をONにする。なお、メインシステム電源をONにする処理は、既にメインシステム電源がONである場合にはS113の処理を無効として次のステップに進む。本実施形態では、PTR制御部A655は、PTRAC/DC変換回路602に外部からAC電圧入力がある場合、メインシステム電源が常にOFFである場合を例に説明する。さらに、印刷サービスを実施する場合にのみ、メインシステムの電源をONにするシステムであるものとしてS113の処理を実行する。なお、PTRAC/DC変換回路602に外部からAC電圧入力がある場合にメインシステム電源が常にONである装置構成の場合には、S113の処理を無効として次のステップに進んでもよい。
S114では、PTR制御部B605は、サービス提供中の装置とBLEの通信リンクを終了し、S115へ進む。なお、S114の装置とBLE通信リンクを終了する処理は、印刷装置601においてWLANとBLEとの同時動作が許容されている場合に実施するものとする。従って、印刷装置601においてWLANとBLEとの同時動作が許容されている場合はS114の処理は実行しなくてよい。本実施形態では、印刷装置601はWLANとBLEとの同時動作が許容されているシステムである場合を例に説明する。このため、PTR制御部B605はS114の処理を省略する。
S115では、PTR制御部B605はサービス提供中の装置とWLANハンドオーバーを行う。具体的には、PTR無線通信部A612のBLE通信を介して共有したSSIDや接続パスワード情報を用いて、PTR無線通信部B622を用いてサービス提供中の装置とWLAN通信リンクを確立する。S116では、PTR制御部B605はPTR無線通信部B622によってサービス提供中の装置からデータを受信し、S117では、印刷装置601は印刷サービスを実施する。
S118では、PTR制御部B605はS115で確立したサービス提供中の装置とのWLAN通信リンクを終了する。更に、S119では、PTR制御部B605はS114で終了したサービス提供中の装置とのBLE通信リンクを復帰させ、S120では、サービス提供中の装置とのBLE通信を行う。なお、上述したように、WLANとBLEとの同時動作が許容されているシステムである場合、PTR制御部B605はS119の処理を省略することができる。
S121では、PTR制御部B605は、印刷サービスが終了したかを判定する。PTR制御部B605は、印刷サービスが終了していないと判定した場合、S120に戻ってサービス提供中の装置とのBLE通信を継続する。なお、印刷装置601のBLE通信リンクの対象と実施するサービスは2種類存在し、第1のセントラル装置である通信装置801とは印刷サービスであり、第2のペリフェラル装置である撮像装置701とは印刷要求サービスを介する印刷サービスである。一方、PTR制御部B605は、印刷サービスが終了していると判定した場合、S122へ進む。S122では、PTR制御部A655は、PTR定電圧回路B604をOFFにして、メインシステムであるPTR制御部B605をOFFにする。
S123では、PTR制御部A655は、PTR無線通信部A612のロール設定がペリフェラルロール設定であるかを判定する。PTR制御部A655は、PTR無線通信部A612のロール設定がペリフェラルロールであると判定した場合、S107へ戻る。一方、PTR無線通信部A612のロール設定がペリフェラルロールでないと判定した場合、S144へ進む。
次に、S131以降の処理について説明する。S133は、S105において第1のセントラル装置からの接続リクエストが無い場合や、S111において当該装置からサービス実施指示がない場合、S110において、第1のセントラル装置の接続フラグが「接続不可」を示す場合である。すなわち、印刷装置601は、第1のセントラル装置である通信装置801と接続していない状態や印刷サービスを実行していない状態、すなわち印刷サービスを提供する合間であり、サービスを提供するリソースの空いている状態である。この場合、以下に説明するように、印刷装置601は他のペリフェラルロールの装置(例えば撮像装置701)に対してセントラルロールの装置として振る舞う。本ステップではまず、PTR制御部A655は、他のペリフェラルロールの装置からのアドバタイズパケットをスキャンする。
S132では、PTR制御部A655は、他のペリフェラルロールの装置からのアドバタイズパケットがない場合、S133へ進み、一方、他のペリフェラルロールの装置からのアドバタイズパケットがある場合、S135へ進む。S133では、第1のセントラル装置のアドバタイズインターバルであるかを判定する。PTR制御部A655は、第1のセントラル装置のアドバタイズインターバルでない場合、S134へ進み、一方、第1のセントラル装置とのBLEの通信インターバルである場合、S104へ戻る。S134では、第1のセントラル装置とのBLEの通信インターバルであるかを判定する。PTR制御部A655は、第1のセントラル装置とのBLEの通信インターバルでない場合、S131へ戻る。一方、PTR制御部A655は、第1のセントラル装置とのBLEの通信インターバルである場合、S107へ戻る。
S135では、印刷装置601はペリフェラル装置(例えば撮像装置701)が送信するアドバタイズパケットに含まれるサービスを特定するUUIDが自装置との組み合わせにおいて有効であるかを判定する。PTR制御部A655が有効であると判定するアドバタイズパケットは、図9(C)に示すように、印刷装置601が実施可能なサービス(Service)を特定し、サービスの実施を要求するUUIDを含む第3のアドバタイズパケットを指す。UUIDで特定するServiceには、様々なサービスが考えられる。図9(C)に示すアドバタイズパケットの例は、UUID3でService3を実施可能なことを示す。Service3は、印刷装置601のPTR印刷部610を用いて印刷媒体へ印刷を行う、印刷サービスの実施を要求する印刷要求サービスである。PTR制御部A655は、第3のアドバタイズパケットが自装置との組み合わせにおいて有効なサービスでない場合、S133へ進む。一方、第3のアドバタイズパケットが自装置との組み合わせにおいて有効なサービスである場合、S136へ進む。
S136では、PTR制御部A655は、PTR無線通信部A612のGATT serverのデータベースのうち、印刷サービスに対応するService1のVALUEの「セントラル接続フラグ」が「通信不可」であるかを判定する。PTR制御部A655は、当該セントラル接続フラグが「通信不可」である場合、S141へ進む。すなわち、PTR制御部A655は、一方、セントラル接続フラグが「通信不可」でなければS137へ進む。S137では、PTR制御部A655は、PTR無線通信部A612のGATT serverのデータベースのうち、印刷サービスに対応するService1のVALUEの「セントラル接続フラグ」を「通信不可」に設定する。そして、S133へ進む。
S141では、PTR制御部A655は、PTR無線通信部A612のロール設定をセントラルロールに設定する。PTR制御部A655がPTR無線通信部A612のロールをセントラルロールに設定することで、印刷装置601はBLEの第2のセントラル装置として動作することになる。S142では、PTR制御部A655は、第3のアドバタイズパケットを送信したペリフェラル装置(第2のペリフェラル装置である撮像装置701)に対して接続要求を行う。S143では、PTR制御部A655は、第2のペリフェラル装置である撮像装置701とBLEの通信リンクを確立し、更にS144で第2のペリフェラル装置とのBLEの通信を行う。なお、S144におけるBLEの通信は、第2のペリフェラル装置との間で決められた通信インターバルで間欠的に行われる。
S145では、PTR制御部A655は、PTR無線通信部A612から第4のアドバタイズパケットをブロードキャスト送信する。なお、S145における第4のアドバタイズパケットのブロードキャスト送信は、PTR制御部A655が決めた所定の時間間隔(アドバタイズインターバル)で間欠的に行われる。本実施形態に係るブロードキャストアドバタイズパケットは、図10(A)に示すように、アドバタイズパケットのデータ内に印刷装置601のサービス(Service)を特定するUUID4を含む第4のアドバタイズパケットを指す。このUUIDで特定するServiceとは、様々なサービスが考えられるが、その例を下記に示す。図10(A)に示すブロードキャストアドバタイズパケットの例は、接続要求不可能な(外部装置と接続できないことを示す)アドバタイズパケットの例であり、UUID4によりService4の状態であることを示す。Service4は、印刷装置601のPTR印刷部610がBUSY状態を示す印刷BUSYステータスサービスである。このアドバタイズパケットは、接続要求不可能なブロードキャストアドバタイズパケットを表すように、Header8ビットの「PDU(Protocol Data Unit) Type」の4ビット[3:0]を「0010」に設定する。
なお、印刷装置601から送信されたブロードキャストアドバタイズパケットは、セントラルロール装置である第1のセントラル装置(すなわち通信装置801)によってスキャンされる。第1のセントラル装置は、印刷装置601が送信するアドバタイズパケットに含まれる、サービスを特定するUUIDが自装置との組み合わせにおいて有効であるかを判定する。このとき、第1のセントラル装置は、印刷装置601のPTR印刷部610がBUSY状態を示す印刷BUSYステータスサービスであると判定可能であるため、印刷装置601に対してBLEによる接続要求を行わない。印刷装置601は、S145におけるブロードキャストアドバタイズパケット送信を用いることにより、セントラルロールの装置に対し、印刷BUSYステータスサービスであることを通知することができる。そして、このセントラルロールの装置は、印刷装置601に対して印刷サービスの実施ができないように自装置を制御することができる。
S146では、PTR制御部A655は、S144で通信した第2のペリフェラル装置のGATT serverのデータベースのうち、Service3のVALUEの「セントラル接続フラグ」が「通信不可」であるかを判定する。なお、上述したように、Service3のVALUEは、印刷要求サービスに対応するVALUEである。撮像装置701のGATT serverのデータベースの値については、図11(B)を参照して後述する。PTR制御部A655は、第2のペリフェラル装置の「セントラル接続フラグ」が「通信不可」である場合、S150へ進む。一方、当該「セントラル接続フラグ」が「通信不可」でない場合、S147へ進む。
S150では、PTR制御部A655は、第2のペリフェラル装置(すなわち撮像装置701)とのBLEの通信リンクを終了する。S151では、印刷装置601は、PTR無線通信部A612のGATT serverのデータベースのうち、印刷サービスに対応するService1のVALUEの「セントラル接続フラグ」を「通信可」に設定する。そして、S101へ戻る。
S147では、PTR制御部A655は、S144で通信した第2のペリフェラル装置のGATT serverのデータベースのうち、Service3のVALUEの「印刷要求フラグ」が「YES」であるかを判定する。PTR制御部A655は、第2のペリフェラル装置の印刷実施指示フラグである「印刷要求フラグ」が「YES」である場合、撮像装置701からの印刷サービス実施指示があると判定し、S113へ進む。すなわち、上述したS113〜S123の処理により、より高速なWLANにハンドオーバーして第2のペリフェラル装置に対する印刷サービスを実施する。一方、PTR制御部A655は、上記印刷実施指示フラグである「印刷要求フラグ」が「NO」である場合、撮像装置701からの印刷サービスの実施指示なしと判定し、S144へ戻る。PTR制御部A655は、その後、S102の処理を完了すると、本一連の動作を終了する。
(撮像装置における接続変更処理に係る一連の動作)
次に、図5を参照して、第2のペリフェラル装置(撮像装置701)が、第1のセントラル装置(通信装置801)又は第2のセントラル装置として振る舞う印刷装置601と接続する処理(この場合も接続変更処理という)に係る一連の動作について説明する。なお、本処理の動作は、各処理は特に断らない限り、撮像装置701のDSC制御部A755が内部のROMに記憶されたプログラムを内部のRAMに展開、実行することにより実現される。また、本処理の動作は、撮像装置701のDSC電池702が装着されたことを契機に開始する。
S201では、DSC制御部A755は、撮像装置701の機能の一部が正常であるかを判定する。撮像装置701は、機能の一部が正常でないと判定した場合、S202へ進み、S202でDSC無線通信部A712からのアドバタイズパケットの送信を停止し、本フローチャートを終了する。一方、DSC制御部A755は、機能の一部が正常であると判定した場合、S203へ進み、S203においてDSC無線通信部A712のロール設定をペリフェラルロールに設定する。DSC制御部A755は、DSC無線通信部A712のロールをペリフェラルロールに設定することで、BLEのペリフェラルロールの装置として動作することになる。
S204では、DSC制御部A755は、DSC無線通信部A712から第2のアドバタイズパケットを送信する。なお、S204の第2のアドバタイズパケット送信は、撮像装置701が所定の時間間隔(アドバタイズインターバル)で行う。S204で送信されるアドバタイズパケットを、図9(B)に示している。このパケット(第2のアドバタイズパケット)は、アドバタイズパケットのデータ内に撮像装置701が実施可能なサービス(Service)を特定するUUID2を含む。このUUIDで特定するServiceとは、様々なサービスが考えられるが、その例を下記に示す。図9(B)に示すアドバタイズパケットの例は、UUID2でService2を実施可能なことを示す。本実施形態では、Service2は、撮像装置701のDSC撮像部710で撮像された画像データや、DSCメモリーカードスロット709に挿入されたフラッシュメモリに記録されている画像データを転送する画像転送サービスである。
なお、送信したアドバタイズパケットは、セントラルロール装置である第1のセントラル装置(通信装置801)によってスキャンされる。第1のセントラル装置は、撮像装置701が送信するアドバタイズパケットに含まれるサービスを特定するUUIDが自装置との組み合わせにおいて有効であれば、撮像装置701に対して接続要求を行う。
S205では、DSC制御部A755はDSC無線通信部A712に第1のセントラル装置からの接続要求があるかを判定する。DSC制御部A755は、第1のセントラル装置からの接続要求がなければS230へ進む。一方、第1のセントラル装置からの接続要求がある場合、S206に進む。S206では、DSC制御部A755は、第1のセントラル装置とBLEの通信リンクを確立し、更にS207では第1のセントラル装置とのBLE通信を行う。なお、S207のBLE通信は、第1のセントラル装置との間で決められた通信インターバルで間欠的に行われる。
図11(B)には、撮像装置701のDSC無線通信部A712のServiceとCharacteristicを格納するGATT serverのデータベースの例を示している。撮像装置701と第1のセントラル装置(通信装置801)とのBLE通信は、図11(B)に示すGATT serverのデータベースのRead、Writeで実施される。図11(B)は、撮像装置701がアドバタイズパケットに画像転送サービスを指定するUUID2を含める場合の、GATT serverのデータベースの例である。このデータベースでは、例えば下記2種類のServiceを記憶している。
Service2: UUID2に対応した複数のCharacteristicのUUIDと各々のUUIDに対応するVALUE。
Service3: UUID3に対応した複数のCharacteristicのUUIDと各々のUUIDに対応するVALUE。
ここで、Service2は、例えば上述した画像転送サービスである。また、Service2のVALUEには、例えば「画像転送可否フラグ」、「SSID」、「PASSWORD」、「デバイス名」、「セントラル接続フラグ」、「WLANステータス」が含まれる。また、Service3は、例えば後述の印刷要求サービスである。Service3のVALUEには、例えば、「印刷要求フラグ」、「SSID」、「PASSWORD」、「デバイス名」、「対応印刷プロトコル1」、「対応印刷プロトコル2」、「印刷ステータス」、「セントラル接続フラグ」及び「WLANステータス」が含まれる。
第1のセントラル装置は、例えば、DSC無線通信部A712のGATT serverのデータベースのうち、画像転送サービスに対応するService2の領域をRead、Writeする。
S208では、DSC制御部A755はDSC無線通信部A712に第1のセントラル装置からの接続終了通知があるかを判定する。DSC制御部A755は第1のセントラル装置からの接続終了通知がある場合、S209に進み、一方、第1のセントラル装置からの接続終了通知がない場合S211に進む。S209では、DSC制御部A755は、第1のセントラル装置とのBLEの通信リンクを終了し、S210へ進む。
S210では、DSC制御部A755はDSC無線通信部A712のGATT serverのデータベースのうち、Service2のVALUEの「セントラル接続フラグ」が「通信不可」であるかを判定する。Service2のVALUEは画像転送サービスに対応するVALUEである。DSC制御部A755は、第1のセントラル装置の「セントラル接続フラグ」が「通信不可」である場合、S230へ進む。一方、「セントラル接続フラグ」が「通信不可」でない場合S201へ戻る。
S211では、DSC制御部A755はDSC無線通信部A712に第1のセントラル装置からのサービス実施指示があるかを判定する。S211におけるサービスは、撮像装置701のDSC撮像部710で撮像された画像データや、DSCメモリーカードスロット709に挿入されたフラッシュメモリに記録されている画像データを転送する画像転送サービスのことである。DSC制御部A755は、DSC無線通信部A712に第1のセントラル装置からのサービス実施指示がない場合S230へ進む。一方、DSC無線通信部A712に第1のセントラル装置からのサービス実施指示がある場合、S214へ進む。
S214以降の処理では、撮像装置701は高速なWLANにハンドオーバーしてサービスを実施する。具体的に、S214では、DSC制御部A755は、サービス提供中の装置とBLE通信リンクを終了し、S215へ進む。なお、S214の装置とBLE通信リンクを終了する処理は、後述するWLANとBLEとの同時動作が許容されていないシステムの場合に実施するが、WLANとBLEとの同時動作が許容されているシステムの場合はS214の処理は実施しなくてよい。本実施形態では、撮像装置701はWLANとBLEとの同時動作が許容されているシステムであるものとして、S214の処理は省略する。
S215では、DSC制御部A755はサービス提供中の装置とWLANへハンドオーバーする。具体的には、DSC無線通信部A712のBLE通信を介して共有したSSIDや接続パスワード情報を用いて、DSC無線通信部B722を用いてサービス提供中の装置とWLAN通信リンクを確立する。S216では、DSC制御部A755はDSC無線通信部B722でサービス提供中の装置へデータを送信する。
S218では、DSC制御部A755はS215で確立したサービス提供中の装置とのWLAN通信リンクを終了し、S219では、サービス提供中の装置とのBLEの通信リンクを復帰させる。そして、S220では、サービス提供中の装置とのBLE通信を行う。上述したように、本実施形態では、撮像装置701はWLANとBLEとの同時動作が許容されるため、S219の処理は不要となる。
S221では、DSC制御部A755は実施中のサービスが終了したかを判定する。DSC制御部A755は、実施中のサービスが終了していないと判定した場合、S220に戻ってサービス提供中の装置とのBLE通信を行う。なお、撮像装置701のBLE通信リンク対象と提供するサービスは2種類存在する。第1のセントラル装置である通信装置801は画像転送サービスであり、第2のセントラル装置である印刷装置601は印刷要求サービスを介する印刷サービスである。
S223では、DSC制御部A755は第1のセントラル装置とのサービスを実施中であるかを判定する。DSC制御部A755は第1のセントラル装置とのサービスを実施中であると判定した場合、S207へ戻る。一方、DSC制御部A755は第1のセントラル装置とのサービスを実施中でないと判定した場合、S244へ進む。
次に、S230以降の処理について説明する。本ステップは、S205において第1のセントラル装置から接続リクエストがない場合、S211において第1のセントラル装置からサービス実施指示がない場合、又は、第1のセントラル装置の接続フラグが「通信不可」である場合に実行される。S230では、DSC制御部A755はユーザによるDSC操作入力部711の操作によって、印刷要求サービス実施モードに入ったかを判定する。DSC制御部A755は、印刷要求サービス実施モードに入っていない場合、S233へ進み、印刷要求サービス実施モードである場合、S231へ進む。
S233では、DSC制御部A755は、第1のセントラル装置のアドバタイズインターバルであるかを判定する。第1のセントラル装置のアドバタイズインターバルでない場合、S234へ進み、一方、第1のセントラル装置とのBLEの通信インターバルである場合、S204へ戻る。S234では、DSC制御部A755は、第1のセントラル装置とのBLEの通信インターバルであるかを判定する。DSC制御部A755は、第1のセントラル装置とのBLEの通信インターバルでなければS230へ戻る。S234では、撮像装置701は第1のセントラル装置とのBLEの通信インターバルである場合、S207へ戻る。
S231では、DSC制御部A755は、印刷要求サービス実施モードがタイムアウトであるかを判定する。このタイムアウトの判定は、ユーザによるDSC操作入力部711の操作によって、印刷要求サービス実施モードに入ってから、例えば一定時間の間ユーザの操作がない場合にタイムアウトであると判定される。DSC制御部A755は、印刷要求サービス実施モードのタイムアウトであると判定した場合、S250へ進み、印刷要求サービス実施モードのタイムアウトでないと判定した場合、S232へ進む。
S232では、DSC制御部A755は、図11(B)のDSC無線通信部A712のGATT serverのデータベースのうち、Service3のVALUEの「セントラル接続フラグ」を「通信可」に設定する。なお、Service3のVALUEは印刷要求サービスに対応するVALUEである。すなわち、DSC制御部A755は、撮像装置701を、印刷要求サービスについてセントラルロールの装置と接続可能であるように設定する。
S236では、DSC制御部A755は、DSC無線通信部A712のGATT serverのデータベースのうち、Service2のVALUEの「セントラル接続フラグ」が「通信不可」であるかを判定する。なお、Service2のVALUEは画像転送サービスに対応する。DSC制御部A755は、第1のセントラル装置との接続フラグである「セントラル接続フラグ」が「通信不可」である場合、S241へ進む。一方、第1のセントラル装置との接続フラグである「セントラル接続フラグ」が「通信不可」でない場合、S237へ進む。S237では、DSC制御部A755は、DSC無線通信部A712のGATT serverのデータベースのうち、Service2のVALUEの「セントラル接続フラグ」を「通信不可」に設定し、S233へ進む。
S241では、DSC制御部A755は、DSC無線通信部A712から第3のアドバタイズパケットを送信する。すなわち、第2のセントラル装置となっている(可能性のある)印刷装置601と接続するための処理を開始する。なお、S241の第3のアドバタイズパケット送信は、撮像装置701が決めた所定の時間間隔(アドバタイズインターバル)で行う。送信するアドバタイズパケット(第3のアドバタイズパケット)は、図9(C)に示すように、アドバタイズパケットのデータ内に撮像装置701が実施可能なサービス(Service)を特定するUUID3を含む。このUUIDで特定するServiceとは、様々なサービスが考えられるが、その例を下記に示す。図9(C)のアドバタイズパケットの例は、UUID3でService3を実施可能なことを示す。Service3は、撮像装置701のDSC撮像部710で撮像された画像データや、DSCメモリーカードスロット709に挿入されたフラッシュメモリに記録されている画像データの印刷を第2のセントラル装置へ要求する印刷要求サービスである。
なお、撮像装置701が送信する第3のアドバタイズパケットは、印刷サービスの合間に第2のセントラル装置として振る舞う印刷装置601によってスキャンされる。第2のセントラル装置は、第3のアドバタイズパケットに含まれるサービスを特定するUUIDが自装置との組み合わせにおいて有効である場合、撮像装置701に対して接続要求を行う。撮像装置701のDSC無線通信部A712のServiceとCharacteristicを格納するGATT serverの例を図11(B)に示す。撮像装置701と第2のセントラル装置とのBLE通信は、図11(B)に示すGATT serverのデータベースのRead、Writeにより実施される。撮像装置701は、DSC無線通信部A712のGATT serverのデータベースのうち、印刷要求サービスに対応するService3の領域をRead、Writeすることになる。
S242では、DSC制御部A755は、DSC無線通信部A712に第2のセントラル装置からの接続要求があるかを判定する。DSC制御部A755は、第2のセントラル装置からの接続要求がなければS230へ戻り、第2のセントラル装置からの接続要求がある場合、S243に進む。
S243では、DSC制御部A755は、第2のセントラル装置とBLE通信リンクを確立し、S244で第2のセントラル装置とのBLE通信を行う。なお、S244のBLE通信は第2のセントラル装置との間で決められた通信インターバルで間欠的に行われる。
S245では、DSC制御部A755は、DSC無線通信部A712から第5のアドバタイズパケットをブロードキャスト送信する。なお、第5のアドバタイズパケットのブロードキャスト送信は、撮像装置701が決めた所定の時間間隔(アドバタイズインターバル)で行う。送信するブロードキャストアドバタイズパケット(第5のアドバタイズパケット)は、図10(B)に示すように、アドバタイズパケットのデータ内に撮像装置701のサービス(Service)を特定するUUID5を含む。このUUIDで特定するServiceは、様々なサービスが考えられるが、その例を下記に示す。図10(B)のブロードキャストアドバタイズパケットの例は、接続要求不可能な(外部装置と接続できないことを示す)アドバタイズパケットであり、UUID5でService5の状態であることを示す。Service5は、撮像装置701がBUSY状態を示す画像転送BUSYステータスサービスである。図10(B)に示す第5のアドバタイズパケットは、接続要求不可能なブロードキャストアドバタイズパケットを示すように、Header8ビットの「PDU Type」の4ビット[3:0]を「0010」に設定する。ペリフェラルロールの装置である撮像装置701が送信するブロードキャストアドバタイズパケットは、セントラルロール装置である第1のセントラル装置(通信装置801)によってスキャンされる。第1のセントラル装置では、撮像装置701が送信するアドバタイズパケットに含まれるサービスを特定するUUIDが自装置との組み合わせにおいて有効である。しかし、第1のセントラル装置は、撮像装置701がBUSY状態を示す画像転送BUSYステータスサービスであると判定できるため、撮像装置701に対してBLEでの接続要求を行わない。このように、S245において、ブロードキャストアドバタイズパケットを送信することで、セントラル装置に対し、画像転送がBUSYステータスのサービスであることを通知することができる。そして、セントラル装置は、撮像装置701に対し画像転送サービスの実施ができないように自装置を制御することができる。なお、本実施形態では、撮像装置701はS245のブロードキャストアドバタイズパケット送信は行っても行わなくてもどちらでも構わない。
S246では、DSC制御部A755はDSC無線通信部A712に第2のセントラル装置からの接続終了通知があるかを判定する。DSC制御部A755は第2のセントラル装置からの接続終了通知がある場合、S250に進み、一方、第2のセントラル装置からの接続終了通知がない場合、S247へ進む。S250では、DSC制御部A755は、第2のセントラル装置とBLE通信リンクを終了し、S251へ進む。
S251では、DSC制御部A755は、DSC無線通信部A712のGATT serverのデータベースのうち、Service2のVALUEの「セントラル接続フラグ」を「通信可」に設定し、S201へ戻る。なお、Service2のVALUEは画像転送サービスに対応するVALUEである。
S247では、DSC制御部A755はユーザによるDSC操作入力部711の操作によって、印刷要求サービス実施が指示されたかを判定する。ユーザによる操作によって、印刷要求サービス実施が指示されていれば、WLANにハンドオーバーしてサービスを実行するためにS214へ進む。一方、ユーザ操作によって、印刷要求サービス実施が指示されていない場合、S248へ進む。S248では、DSC制御部A755はユーザ操作による印刷要求サービス実施モードを継続中であるかを判定する。ユーザが印刷要求サービス実施モードを継続中である場合、S244へ戻る。一方、ユーザが印刷要求サービス実施モードを継続中でない場合、S249へ進む。
S249では、DSC制御部A755はDSC無線通信部A712のGATT serverのデータベースのうち、印刷要求サービスに対応するService3のVALUEの「セントラル接続フラグ」を「通信不可」に設定する。そして、S244へ戻る。また、DSC制御部A755は、その後S202においてアドバタイズパケットの送信を停止した場合、本処理に係る一連の動作を終了する。
(通信装置における接続変更処理に係る一連の動作)
次に、図6を参照して、第1のセントラル装置である通信装置801における接続変更処理動作について説明する。本処理では、特に断らない限り、通信装置801のOTH制御部A855が内部のROMに記憶されたプログラムを内部のRAMに展開、実行することにより実現される。また、本処理の動作は、通信装置801のOTH電池802が装着されたことを契機に開始する。
S301では、OTH制御部A855は、通信装置801の機能の一部が正常であるかを判定する。OTH制御部A855は、機能の一部が正常でないと判定した場合、S302へ進み、S302でアドバタイズパケットのスキャンを停止し、本フローチャートを終了する。一方、機能の一部が正常であると判定した場合S303へ進み、S303でOTH無線通信部A812のロール設定をセントラルロールに設定する。OTH制御部A855は、OTH無線通信部A812のロール設定をセントラルロールに設定することにより、BLEのセントラルロールの装置として動作する。
S304では、OTH制御部A855は他のペリフェラルロールの装置からのアドバタイズパケットをスキャンする。S305では、OTH制御部A855は他のペリフェラルロールの装置からのアドバタイズパケットがなければS304へ戻る。一方、OTH制御部A855は、他のペリフェラルロールの装置からのアドバタイズパケットがある場合、S306へ進む。
S306では、OTH制御部A855は、他のペリフェラルロールの装置からのアドバタイズパケットが接続可能なアドバタイズパケットであるかを判定する。他のペリフェラルロールの装置からのアドバタイズパケットが接続可能なアドバタイズパケットでない場合、S304へ戻る。一方、他のペリフェラルロールの装置からのアドバタイズパケットが接続可能なアドバタイズパケットである場合、S307へ進む。
S307では、OTH制御部A855は、アドバタイズパケットのデータ内に、(印刷媒体へ印刷を行う印刷サービスである)Service1を実施可能であることを示すUUID1に一致するデータがあるかを判定する。ペリフェラルロールの装置が送信するアドバタイズパケットに含まれるサービスを特定するUUIDが自装置との組み合わせにおいて有効であるかを判定する。有効であると判定されるアドバタイズパケット(第1のアドバタイズパケット)は、第1のペリフェラル装置である印刷装置601が実施可能な印刷サービス(Service)を特定する、UUID1を含む。OTH制御部A855は、アドバタイズパケットのデータ内にUUID1に一致するデータがなければS330へ進む。アドバタイズパケットのデータ内にUUID1に一致するデータがある場合、S308へ進む。
S308では、OTH制御部A855は、第1のアドバタイズパケットを送信したペリフェラルロールの装置に対し接続要求を行う。S309では、OTH制御部A855は、第1のペリフェラル装置である印刷装置601とBLE通信リンクを確立し、S310で第1のペリフェラル装置とのBLE通信を行う。なお、S310のBLE通信は、第1のペリフェラルロールの装置との間で決められた通信インターバルで間欠的に行われる。
S311では、OTH制御部A855は第1のペリフェラル装置のGATT serverのデータベースのうち、Service1のVALUEの「セントラル接続フラグ」が「通信不可」であるかを判定する。なお、Service1のVALUEは印刷サービスに対応するVALUEである。OTH制御部A855は、第1のペリフェラル装置である印刷装置601の接続フラグである「セントラル接続フラグ」が「通信不可」である場合、S313へ進む。一方、OTH制御部A855は第1のペリフェラル装置である印刷装置601の接続フラグである「セントラル接続フラグ」が「通信不可」でない場合、S312へ進む。S313では、OTH制御部A855は第1のペリフェラル装置である印刷装置601とBLE通信リンクを終了し、S314へ進む。
S312では、OTH制御部A855はユーザによるOTH操作入力部811の操作によって、印刷サービス実施が指示されたかを判定する。ユーザ操作によって、印刷サービス実施が指示されていれば、S315へ進む。一方、ユーザ操作によって、印刷サービス実施が指示されていない場合、S314へ進む。S314では、OTH制御部A855は第2のペリフェラル装置とのBLE通信リンク中であるかを判定する。第2のペリフェラル装置とのBLE通信リンク中であると判定した場合、S340へ進み、第2のペリフェラル装置とのBLE通信リンク中でないと判定した場合、S301へ戻る。
S315では、OTH制御部A855はBLE通信リンク中の装置とBLE通信リンクを終了し、S316へ進む。なお、S315の装置とBLE通信リンクを終了する処理は、WLANとBLEとの同時動作が許容されていない場合には実施するが、WLANとBLEとの同時動作が許容されている場合はS315の処理は実施しなくてよい。なお、本実施形態では、通信装置801はWLANとBLEとの同時動作が許容されているシステムであるものとし、S315の処理は省略する。
S316では、OTH制御部A855はサービス提供中の装置とWLANハンドオーバーを行う。具体的には、OTH無線通信部A812のBLE通信を介して共有したSSIDや接続パスワード情報を用いて、OTH無線通信部B822を用いてサービス提供中の装置とWLAN通信リンクを確立する。S317では、OTH制御部A855は、OTH無線通信部B822を介して第1のペリフェラル装置へデータを送信する。S318では、OTH制御部A855は、S316で確立した第1のペリフェラル装置とのWLAN通信リンクを終了し、S319では、S315で終了した装置とのBLE通信リンクを復帰させて、S310に戻る。本実施形態では、OTH制御部A855は、WLANとBLEとの同時動作が許容されているものとして、S319の処理は省略する。
一方、S330では、OTH制御部A855は、第1のペリフェラル装置とのBLE通信リンク中であるかを判定する。第1のペリフェラル装置とのBLE通信リンク中であると判定した場合、S310へ進み、一方、第1のペリフェラル装置とのBLE通信リンク中でないと判定した場合、S331へ進む。S331では、OTH制御部A855は第2のペリフェラル装置とのBLE通信リンク中であるかを判定する。S331では、OTH制御部A855は、第2のペリフェラル装置とのBLE通信リンク中であると判定した場合、S340へ進み、一方、第2のペリフェラル装置とのBLE通信リンク中でないと判定した場合、S332へ進む。
S332では、OTH制御部A855は、ペリフェラル装置が送信するアドバタイズパケットに含まれるサービスを特定するUUIDが自装置との組み合わせにおいて有効であるかを判定する。通信装置801が有効であると判定するアドバタイズパケットは、上述した第2のアドバタイズパケットであり、画像転送サービスを特定するUUID2を含む。OTH制御部A855はアドバタイズパケットのデータ内にUUID2に一致するデータがない場合、S304へ戻り、アドバタイズパケットのデータ内にUUID2に一致するデータがある場合、S338へ進む。
S338では、OTH制御部A855は第2のアドバタイズパケットを送信した第2のペリフェラル装置(すなわち撮像装置701)に対し接続要求を行う。そして、S339では、第2のペリフェラル装置である撮像装置701とBLE通信リンクを確立し、S340で第2のペリフェラル装置とのBLE通信を行う。なお、S340のBLE通信は第2のペリフェラル装置との間で決められた通信インターバルで間欠的に行われる。
S341では、OTH制御部A855は、S340で通信した第2のペリフェラル装置のGATT serverのデータベースのうち、Service2のVALUEの「セントラル接続フラグ」が「通信不可」であるかを判定する。OTH制御部A855は、第2のペリフェラル装置の接続フラグである「セントラル接続フラグ」が「通信不可」である場合、S343へ進む。一方、第2のペリフェラル装置の接続フラグである「セントラル接続フラグ」が「通信不可」でなければS342へ進む。S343では、OTH制御部A855は、第1のペリフェラル装置である印刷装置601とBLE通信リンクを終了し、S344へ進む。
S342では、OTH制御部A855はユーザによるOTH操作入力部811の操作によって、画像転送サービス実施が指示されたかを判定する。S342では、ユーザ操作によって、画像転送サービス実施が指示されていれば、S345へ進み、ユーザ操作によって、画像転送サービス実施が指示されていない場合、S344へ進む。S344では、OTH制御部A855は、第1のペリフェラル装置とのBLE通信リンク中であるかを判定する。第1のペリフェラル装置とのBLE通信リンク中であると判定した場合、S310へ進み、一方、第1のペリフェラル装置とのBLE通信リンク中でないと判定した場合、S301へ戻る。
S345では、OTH制御部A855はBLE通信リンク中の装置とBLE通信リンクを終了し、S346へ進む。なお、S345の装置とBLE通信リンクを終了する処理は、WLANとBLEとの同時動作が許容されていない場合に実施するが、WLANとBLEとの同時動作が許容されているシステムの場合はS345の処理は実施しなくてよい。上述したように、本実施形態では、通信装置801はWLANとBLEとの同時動作が許容されているシステムであるものして、S345の処理は省略する。
S346では、OTH制御部A855はサービス提供中の装置とWLANハンドオーバーを行う。上述したように、OTH無線通信部A812のBLE通信を介して共有したSSIDや接続パスワード情報を用いて、OTH無線通信部B822を用いてサービス提供中の装置とWLAN通信リンクを確立する。S347では、OTH制御部A855は、OTH無線通信部B822を介して第2のペリフェラル装置からデータを受信する。更に、S348では、OTH制御部A855は、S346で確立した第2のペリフェラル装置とのWLAN通信リンクを終了し、S349で再びBLE通信リンクを復帰し、S340に戻る。但し、本実施形態では、通信装置801がWLANとBLEとの同時動作が許容されるため、S349の処理は省略できる。OTH制御部A855は、その後、S302の処理を実行すると、本一連の動作を終了する。
(印刷装置と撮像装置とが接続するシーケンス)
次に、図7A及び図7Bを参照して、印刷装置601、撮像装置701、通信装置801が図4から図6の接続変更処理を行う際に、印刷装置601と撮像装置701とが無線通信接続を行うシーケンスについて説明する。なお、以下のシーケンスの説明では、図12を参照しながら、印刷装置601、撮像装置701、通信装置801の配置例と接続状況について説明する。また、以下のシーケンスの説明では、一般的なBLE通信のシーケンスは省略して説明する。シーケンスの開始時には、通信装置801はセントラルロールの装置として動作し、印刷装置601と撮像装置701とはペリフェラルロールの装置として動作している。また、通信装置801と印刷装置601、及び通信装置801と撮像装置701とがそれぞれBLEの接続を確立している状態から開始される。なお、開始時には、これらの3つの装置は、図12(A)に示すようにBLE通信範囲に存在している。
SEQ401では、OTH無線通信部A812は、PTR無線通信部A612へDATA_PACKET(R/W Characteristic)を送信し、DATA_PACKET(Response)を受信する。PTR制御部A655は、GET_ADV_INDコマンドでPTR無線通信部A612を用いてアドバタイズパケットをスキャンし、PTR無線通信部A612はスキャンの結果をRESPONSEとしてPTR制御部A655に返す。
S451では、PTR制御部A655は、アドバタイズパケットの値を取得、内容を確認して、サービスが利用可能でないことを判定する。具体的には、アドバタイズパケットが受信できないか、またはアドバタイズパケットに印刷要求サービスに対応するUUID3が含まれていないことを確認する。以降、PTR制御部A655は、(セントラルロールの装置のように)通信インターバル中にアドバタイズパケットのスキャンを行い、自装置との組み合わせにおいて有効なサービスに対応するUUIDを有するアドバタイズパケットを受信されるのを待つ。一方、OTH無線通信部A812は、DSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。
S452では、DSC制御部A755は、ユーザ操作によって印刷要求サービス実施モードに入る。S453では、DSC制御部A755はDSC無線通信部A712へDISCONNECT_801_NOTIFYコマンドを送信する。S453のコマンドにより、DSC無線通信部A712のGATT serverのデータベースのうち、画像転送サービスに対応するService2のVALUEの「セントラル接続フラグ」は「通信不可」に設定される。そして、次の通信装置801と撮像装置701とのBLE通信のタイミングで、通信装置801と撮像装置701の接続フラグである「セントラル接続フラグ」が通信装置801に伝えられる。また、S454では、PTR制御部A655はアドバタイズパケットの値を取得、確認する。具体的に、アドバタイズパケットが受信できないか、またはアドバタイズパケットに撮像装置701の印刷要求サービスに対応するUUID3が含まれていないことを確認する。すなわちサービスが利用可能でないことが判定される。
SEQ402では、OTH無線通信部A812は、DSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。OTH無線通信部A812は、OTH制御部A855へDISCONNECT_701_NOTIFYコマンドを送信する。そして、OTH制御部A855は、受信したDATA_PACKETの画像転送サービスに対応するService2のVALUEの「セントラル接続フラグ」が「通信不可」であることを確認する。OTH制御部A855は、当該接続フラグに基づいて、OTH無線通信部A812へTERMINATE_701_LINKコマンドを送り、OTH無線通信部A812とDSC無線通信部A712とのBLEの通信リンクを解除させる。その後、OTH無線通信部A812は、OTH制御部A855へDISCONNECT_701コマンドでBLEの通信リンクの解除を通知する。更にDSC無線通信部A712は、DSC制御部A755へDISCONNECT_801コマンドによりBLEの通信リンクの解除を通知する。
SEQ403では、S455において、DSC制御部A755が印刷要求サービスに対応するService3のUUID3を含むアドバタイズ開始イベントを発生する。S456では、DSC制御部A755は、DSC無線通信部A712へSET_ADV_IND_3コマンドを送信する。その後、DSC無線通信部A712は、印刷装置601に対して、印刷要求サービスに対応するService3のUUID3を含むアドバタイズパケットADV_IND_3を送信する。以降、アドバタイズインターバルに従ってセントラルロールの装置へのアドバタイズを繰り返す。このとき、PTR制御部A655は、GET_ADV_INDコマンドによりPTR無線通信部A612を用いてアドバタイズパケットをスキャンし、PTR無線通信部A612からスキャンの結果をRESPONSEとして取得する。S457では、PTR制御部A655はアドバタイズパケットの値を取得して、そのアドバタイズパケットに撮像装置701の印刷要求サービスに対応するUUID3が含まれていることを確認する。UUID3が含まれていることが確認されると、当該サービスが利用可能であると判定される。更に、S458では、PTR制御部A655は、所望のサービスが利用可能であることを確認すると、PTR無線通信部A612へDISCONNECT_801_NOTIFYコマンドを送信する。S453のコマンドにより、PTR無線通信部A612のGATT serverのデータベースのうち、印刷サービスに対応するService1のVALUEの「セントラル接続フラグ」は「通信不可」に設定される。次の通信装置801と印刷装置601とのBLE通信のタイミングでは、通信装置801と印刷装置601の接続フラグである「セントラル接続フラグ」が通信装置801に伝えられる。
SEQ404では、OTH無線通信部A812は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。OTH無線通信部A812は、OTH制御部A855へDISCONNECT_601_NOTIFYコマンドを送信する。そして、OTH制御部A855は、受信したDATA_PACKETの画像転送サービスに対応するService1のVALUEの「セントラル接続フラグ」が「通信不可」であることを確認する。
OTH制御部A855は、当該接続フラグに基づいて、OTH無線通信部A812へTERMINATE_601_LINKコマンドを送り、通信装置801と印刷装置601との間のBLEの通信リンクを解除する。そして、OTH無線通信部A812は、OTH制御部A855へDISCONNECT_601コマンドによりBLEの通信リンクの解除を通知する。PTR無線通信部A612は、PTR制御部A655へDISCONNECT_801コマンドによりBLEの通信リンクの解除を通知する。
SEQ405では、PTR制御部A655がPTR無線通信部A612へSTART_701_CONNECTコマンドを送信すると、印刷装置601と撮像装置701の間のBLE通信リンクが確立される。PTR無線通信部A612はPTR制御部A655へCOMP_701_CONNECTコマンドでBLE通信リンクの確立を通知する。DSC無線通信部A712はDSC制御部A755へCOMP_601_CONNECTコマンドでBLE通信リンクの確立を通知する。そして、PTR無線通信部A612は、撮像装置701のDSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。以降、印刷装置601がセントラルロールの装置、撮像装置701がペリフェラル装置としてそれぞれ動作し、通信インターバルに従ってBLE通信を行う。
SEQ405までのシーケンスが終了すると、図12(B)に示すように、印刷装置601が撮像装置701とBLE通信リンク中となる(3つの装置がBLE通信範囲に存在する点は、図12(A)と変わっていない)。この状態では、通信装置801は、印刷装置601と撮像装置701とのBLEの通信リンクが解除された状態となる。
次に、SEQ406では、S459において、DSC制御部A755はユーザ操作によって印刷要求サービス実施の指示を受ける。S460では、DSC制御部A755は、DSC無線通信部A712へEXE_PRINT_NOTIFYコマンドを送信する。S460のコマンドにより、DSC無線通信部A712のGATT serverのデータベースのうち、印刷要求サービスに対応するService3のVALUEの「印刷要求フラグ」が「YES」に設定される。次の印刷装置601と撮像装置701とのBLEの通信のタイミングでは、印刷サービスを実施指示するためのフラグである「印刷要求フラグ」が印刷装置601に伝えられる。
なお、通信装置801とのBLEリンクを解除した印刷装置601は、印刷サービスがBUSY状態であることを示すService4のUUID4を含むブロードキャストアドバタイズパケットADV_NONCONN_IND_4を送信しても良い。また、通信装置801とのBLEリンクを解除した撮像装置701は、上述したService5のUUID5を含むブロードキャストアドバタイズパケットADV_NONCONN_IND_5を送信するようにしてもよい。なお、これらのブロードキャストアドバタイズパケットは、接続要求不可能なアドバタイズパケットであるため、セントラルロールの装置は接続要求できないものとする。このため、印刷装置601又は撮像装置701は、ブロードキャストアドバタイズパケットの送信を行う場合に、アドバタイズインターバルに従ってブロードキャストアドバタイズパケットを送信する。
SEQ421(図7B左に示す)の区間では、OTH制御部A855は、GET_ADV_INDコマンドにより、OTH無線通信部A812を用いてアドバタイズパケットをスキャンする。そして、スキャンの結果をRESPONSEとしてOTH制御部A855に返す。OTH制御部A855は、コマンドに応じて、アドバタイズパケットの値を取得する。そして、アドバタイズパケットが受信できないか、またはアドバタイズパケットに印刷装置601の印刷サービスに対応するUUID1や撮像装置701の画像転送サービスに対応するUUID2が含まれていないことを確認する。以降、通信装置801はスキャンインターバルに従ってアドバタイズパケットのスキャンを行い、自装置との組み合わせにおいて有効なサービスに対応するUUIDを有するアドバタイズパケットが受信されるのを待つ。通信装置801は、前述のブロードキャストアドバタイズパケットの値を取得した場合、印刷装置601または撮像装置701がBUSY状態であることを判定することができる。従って、印刷装置601または撮像装置701に対し接続要求を実施しないように自装置を制御することができる。
SEQ407では、PTR無線通信部A612は、SEQ406のシーケンスで受信したDATA_PACKETにおけるService3のVALUEの「印刷要求フラグ」が「YES」であることを確認する。S461では、PTR無線通信部A612はPTR制御部A655へ印刷を実行させるためのEXE_PRINT_NOTIFYコマンドを送信する。S462では、PTR制御部A655はメインシステム電源ONイベントを発生させてPTR定電圧回路B604をONにし、メインシステムであるPTR制御部B605をONにする(起動させる)。S463では、PTR制御部B605は、WLAN起動イベントを発生してPTR無線通信部B622をONにすると、印刷サービスを提供中である装置とWLANの通信リンクの確立を開始する。PTR無線通信部A612は、DSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。これにより印刷要求サービスに対応するService3のVALUEの「WLANステータス」が「START_WLAN」 (WLAN開始)に設定される。S464では、DSC無線通信部A712がDSC制御部A755へSTART_WLAN_HANDOVERコマンドを送信する。すると、DSC制御部A755は、Service3のVALUEの「WLANステータス」が「START_WLAN」(WLAN開始)であることを確認する。
SEQ408では、S465において、DSC制御部A755はWLAN起動イベントを発生し、DSC無線通信部B722をONにして印刷要求サービスを提供している装置とのWLANの通信リンクの確立を開始する。ここで、PTR無線通信部B622とDSC無線通信部B722とがWLANの通信リンクを確立するとWLANでデータの送受信が可能になる。撮像装置701は、DSC無線通信部B722を介して印刷対象画像データを送信し、印刷装置601は、PTR無線通信部B622を介して当該データを受信する。S466では、印刷対象画像データの送受信が終了した場合、DSC制御部A755はWLAN終了イベントを発生する。そして、DSC無線通信部B722とPTR無線通信部B622とのWLAN通信リンクを解除させ、DSC無線通信部B722をOFFにする。S467では、DSC制御部A755はDSC無線通信部A712へDISCONNECT_WLANコマンドを送信する。S467のコマンドにより、DSC無線通信部A712のGATT serverのデータベースのうち、Service3のVALUEの「WLANステータス」は「DISCONNECT_WLAN」に設定される。PTR無線通信部A612は、DSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。更に、S468では、印刷装置601のPTR無線通信部A612はPTR制御部A655へ、DISCONNECT_WLANコマンドを送信する。そして、PTR制御部A655は、受信したDATA_PACKETの印刷要求サービスに対応するService3のVALUEの「WLANステータス」が「DISCONNECT_WLAN」(WLAN終了)であることを確認する。S469では、PTR制御部B605は、WLAN終了イベントを発生し、PTR無線通信部B622をOFFにする。
SEQ409では、SEQ408のシーケンスで印刷対象画像データの送受信が終了した場合、PTR無線通信部A612は、DSC無線通信部A712へDATA_PACKETを送信し、応答であるDATA_PACKETを受信する。DSC無線通信部A712のGATT serverのデータベースのうち、印刷要求サービスに対応するService3のVALUEの「印刷ステータス」は印刷装置601が印刷中である場合、「印刷中」に設定される。そして、印刷が終了した場合「印刷ステータス」は「印刷終了」に設定される。
SEQ410では、S470において、DSC制御部A755は、ユーザ操作により印刷要求サービス実施モードを終了する。そして、S471では、DSC制御部A755は、DSC無線通信部A712へDISCONNECT_601_NOTIFYコマンドを送信する。S471のコマンドによって、DSC無線通信部A712のGATT serverのデータベースのうち、画像転送サービスに対応するService3のVALUEの「セントラル接続フラグ」は「通信不可」に設定される。
SEQ411では、PTR無線通信部A612は、DSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。PTR無線通信部A612は、PTR制御部A655へ、DISCONNECT_701_NOTIFYコマンドを送信する。そして、PTR制御部A655は、受信したDATA_PACKETの印刷要求サービスに対応するService3のVALUEの「セントラル接続フラグ」が「通信不可」であることを確認する。PTR制御部A655は、当該接続フラグに基づいて、PTR無線通信部A612へTERMINATE_701_LINKコマンドを送信し、印刷装置601と撮像装置701との間のBLEの通信リンクを解除する。PTR無線通信部A612は、PTR制御部A655へDISCONNECT_701コマンドによりBLEの通信リンクの解除を通知する。DSC無線通信部A712は、DSC制御部A755へDISCONNECT_601コマンドによりBLEの通信リンクの解除を通知する。
SEQ412では、S472において、PTR制御部A655はメインシステム電源OFFイベントを発生してPTR定電圧回路B604をOFFにし、メインシステムであるPTR制御部B605をOFFにする。S473では、PTR制御部A655は、印刷サービスに対応するService1のUUID1を含むアドバタイズ復帰イベントを発生する。S474では、PTR制御部A655は、PTR無線通信部A612へSET_ADV_IND_1コマンドを送信する。PTR無線通信部A612は、印刷サービスに対応するService1のUUID1を含むアドバタイズパケットADV_IND_1を送信し、以降、アドバタイズインターバルに従ってセントラルロールの装置へのアドバタイズを行う。S475では、DSC制御部A755は、画像転送サービスに対応するService2のUUID2を含むアドバタイズ開始イベントを発生する。そして、S476では、DSC制御部A755は、DSC無線通信部A712へSET_ADV_IND_2コマンドを送信する。DSC無線通信部A712は、画像転送サービスに対応するService2のUUID2を含むアドバタイズパケットADV_IND_2を送信する。以降、アドバタイズインターバルに従ってセントラルロールの装置へのアドバタイズを行う。
SEQ413では、S477において、PTR制御部A655は受信したアドバタイズパケットの値を取得する。そして、アドバタイズパケットが受信できないか、またはアドバタイズパケットに撮像装置701の印刷要求サービスに対応するUUID3が含まれていないことを確認する。S478もS477と同様にアドバタイズパケットに撮像装置701の印刷要求サービスに対応するUUID3が含まれていないことを確認する。
以降、印刷装置601はアドバタイズインターバルの際にアドバタイズパケットのスキャンを行い、自装置との組み合わせにおいて有効なサービスに対応するUUIDを有するアドバタイズパケットが受信されるのを待つ。
(撮像装置と印刷装置とがそれぞれ通信装置と接続するシーケンス)
次に、図8を参照して、印刷装置601と撮像装置701とが、BLEセントラルロール装置である通信装置801とBLEの通信リンクを確立するシーケンスについて説明する。
SEQ501では、S473及びS474において、PTR無線通信部A612は、印刷サービスに対応するService1のUUID1を含むアドバタイズパケットADV_IND_1をアドバタイズインターバルに従って送信する。一方、S475及びS476では、DSC無線通信部A712は、画像転送サービスに対応するService2のUUID2を含むアドバタイズパケットADV_IND_2をアドバタイズインターバルに従って送信する。OTH制御部A855は、GET_ADV_INDコマンドによりOTH無線通信部A812を用いてアドバタイズパケットをスキャンする。OTH無線通信部A812は、そのスキャンの結果をRESPONSEとしてOTH制御部A855に返す。また、OTH制御部A855はアドバタイズパケットの値を取得し、アドバタイズパケットに印刷装置601の印刷サービスに対応するUUID1が含まれていることを確認する。OTH制御部A855は、OTH無線通信部A812へSTART_601_CONNECTコマンドを送り、通信装置801と印刷装置601との間のBLE通信リンクの確立を開始する。通信リンクが確立すると、OTH無線通信部A812はOTH制御部A855へCOMP_601_CONNECTコマンドでBLEの通信リンクの確立を通知する。PTR無線通信部A612はPTR制御部A655へCOMP_801_CONNECTコマンドによりBLEの通信リンクの確立を通知する。そして、OTH無線通信部A812は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。以降、通信インターバルに従って、通信装置801はセントラルロールの装置、印刷装置601はペリフェラルロールの装置としてBLEの通信リンクを継続する。
SEQ502では、OTH制御部A855はGET_ADV_INDコマンドにより、OTH無線通信部A812を用いてアドバタイズパケットをスキャンする。そして、OTH無線通信部A812はスキャンの結果をRESPONSEとしてOTH制御部A855に返す。OTH制御部A855はアドバタイズパケットの値を取得して、アドバタイズパケットに撮像装置701の画像転送サービスに対応するUUID2が含まれていることを確認する。UUID2が含まれていることが確認されると、当該サービスが利用可能であると判定される。OTH制御部A855は、OTH無線通信部A812へSTART_701_CONNECTコマンドを送り、通信装置801と撮像装置701との間でBLEの通信リンクを確立する。そして、OTH無線通信部A812はOTH制御部A855へCOMP_701_CONNECTコマンドでBLE通信リンクの確立を通知する。DSC無線通信部A712はDSC制御部A755へCOMP_801_CONNECTコマンドでBLE通信リンクの確立を通知する。OTH無線通信部A812は、DSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。なお、通信装置801はセントラルロールの装置、撮像装置701はペリフェラルロールの装置として動作し、通信インターバルに従ってBLEの通信を行う。
S551では、PTR制御部A655はアドバタイズパケットの値を取得し、アドバタイズパケットが受信できないか、またはアドバタイズパケットに撮像装置701の印刷要求サービスに対応するUUID3が含まれていないことを確認する。以降、印刷装置601は、BLEの通信インターバル中にアドバタイズパケットのスキャンを行い、自装置との組み合わせにおいて有効なサービスに対応するUUIDを有するアドバタイズパケットが受信されるのを待つ。
SEQ503では、OTH無線通信部A812は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。PTR制御部A655は、GET_ADV_INDコマンドによりPTR無線通信部A612を用いてアドバタイズパケットをスキャンし、スキャンの結果をRESPONSEとしてPTR制御部A655に返す。S552では、PTR制御部A655はアドバタイズパケットの値を取得し、アドバタイズパケットが受信できないか、またはアドバタイズパケットに撮像装置701の印刷要求サービスに対応するUUID3が含まれていないことを確認する。そして、OTH無線通信部A812は、DSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。その後、本シーケンスは終了する。図8のシーケンスが実行されると、通信装置801と印刷装置601、及び通信装置801と撮像装置701とがBLEの通信を確立した状態になり、図7のシーケンスに戻ることができる。
以上説明したように、本実施形態では、印刷装置601がペリフェラルロールとしてBLEにより通信装置801と接続している際であっても、当該接続の合間(印刷サービスを実行していない等)においてセントラルロールの装置として振る舞うようにした。これにより、ペリフェラル装置として動作していた印刷装置601と撮像装置701との間でBLEの通信を確立することができ、所望のサービスを実施することができるようになる。換言すれば、異なる役割の装置が接続する通信において、自装置と同じ役割で動作する装置とも容易に接続することが可能になる
(第2の実施形態)
第1の実施形態では、互いにペリフェラルロールである印刷装置601と撮像装置701とがセントラルロールの装置とBLE通信を行っている際に、印刷装置601と撮像装置701との間でBLE通信を確立する動作の例を説明した。第2の実施形態では、ペリフェラルロールである印刷装置601と撮像装置701とがアドバタイズパケットを送信中であり、印刷装置601と撮像装置701とがBLE通信を確立していない状態から、当該装置間でBLE通信を確立する動作について説明する。なお、本実施形態に係る各装置の機能構成例は同一であり、シーケンスの一部が異なる。従って、以下では、同一の構成及び同一のステップについては同一の参照番号を付して説明を省略し、相違点について重点的に説明する。
(印刷装置と撮像装置とが接続するシーケンス)
図13A及び図13Bを参照して、印刷装置601と撮像装置701とが無線通信接続を行うシーケンスについて説明する。また、以下のシーケンスの説明では、図12を参照しながら、印刷装置601、撮像装置701、通信装置801の配置例と接続状況について説明する。シーケンスの開始時には、通信装置801は存在せず、印刷装置601と撮像装置701とはBLE通信を確立していないペリフェラルロールの装置として動作して、アドバタイズパケットを送信している。なお、開始時には、図12(C)に示すように印刷装置601と撮像装置701とがBLEの通信範囲に存在し、通信装置801はBLEの通信範囲に存在しない状態である。
SEQ1301では、PTR無線通信部A612は、印刷サービスに対応するService1のUUID1を含むアドバタイズパケットADV_IND_1をアドバタイズインターバルに従って送信する。また、DSC無線通信部A712は、画像転送サービスに対応するService2のUUID2を含むアドバタイズパケットADV_IND_2をアドバタイズインターバルに従って送信する。S1351では、PTR制御部A655はアドバタイズパケットの値を取得し、アドバタイズパケットが受信できないか、またはアドバタイズパケットに撮像装置701の印刷要求サービスに対応するUUID3が含まれていないことを確認する。すなわち、印刷要求サービスは利用可能でないことが判定される。以降、印刷装置601はアドバタイズインターバル中にアドバタイズパケットのスキャンを行い、自装置との組み合わせにおいて有効なサービスに対応するUUIDを有するアドバタイズパケットが受信されるのを待つ。S1352では、DSC制御部A755はユーザ操作によって印刷要求サービス実施モードに入る。
SEQ1303では、S1355において、DSC制御部A755は印刷要求サービスに対応するService3のUUID3を含むアドバタイズ開始イベントを発生する。S1356では、DSC制御部A755はDSC無線通信部A712へSET_ADV_IND_3コマンドを送信する。DSC無線通信部A712は、印刷要求サービスに対応するService3のUUID3を含むアドバタイズパケットADV_IND_3を送信する。以降、アドバタイズインターバルに従ってセントラルロールの装置のアドバタイズを行う。PTR制御部A655は、GET_ADV_INDコマンドによりPTR無線通信部A612を用いてアドバタイズパケットをスキャンし、PTR無線通信部A612はスキャンの結果をRESPONSEとしてPTR制御部A655に返す。S1357では、PTR制御部A655はアドバタイズパケットの値を取得し、アドバタイズパケットに撮像装置701の印刷要求サービスに対応するUUID3が含まれていることを確認する。これによりPTR制御部A655は、印刷要求サービスが利用可能であると判定できる。
SEQ1305では、PTR制御部A655は、PTR無線通信部A612へSTART_701_CONNECTコマンドを送信する。そして、印刷装置601と撮像装置701とのBLE通信リンクを確立する。PTR無線通信部A612はPTR制御部A655へCOMP_701_CONNECTコマンドでBLE通信リンクの確立を通知する。また、DSC無線通信部A712はDSC制御部A755へCOMP_601_CONNECTコマンドでBLE通信リンクの確立を通知する。PTR無線通信部A612は、撮像装置701のDSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。以降、通信インターバルに従って、印刷装置601はBLEセントラルロール装置、撮像装置701はBLEペリフェラルロール装置としてBLE通信を行う。SEQ1305までのシーケンスが終了すると、図12(D)に示すように、印刷装置601が撮像装置701とBLE通信リンク中の状態となる(これらの装置がBLE通信範囲に存在する点は、図12(C)と変わっていない)。
以降のSEQ1306からSEQ1313までのシーケンスは、第1の実施形態において説明したSEQ406からSEQ413の動作の、通信装置801の動作を除いた動作と共通である。従って説明は省略する。図13A及びBに示すシーケンスが終了すると、印刷装置601と撮像装置701とがアドバタイズパケットを送信中の状態になり、図13のシーケンス開始時と同じ状態に戻ることができる。
以上説明したように本実施形態では、印刷装置601がペリフェラルロールとして動作する処理の合間に、(アドバタイズパケットをスキャンして)セントラルロールの装置となって振る舞うようにした。これにより、ペリフェラル装置として動作していた印刷装置601と撮像装置701との間でBLEの通信を確立することができ、所望のサービスを実施することができるようになる。
(第3の実施形態)
第1及び第2の実施形態では、印刷装置601がセントラルロールの装置として振る舞うことにより、それぞれがペリフェラル装置として動作していた印刷装置601と撮像装置701との間でBLEの通信を確立する例を説明した。実施形態3では、撮像装置701がセントラルロールの装置として振る舞うことにより、それぞれがペリフェラル装置として動作していた印刷装置601と撮像装置701との間でBLEの通信を確立する。なお、本実施形態に係る各装置の機能構成例は上述した実施形態と同一であり、印刷装置601と撮像装置701による接続変更処理に係る一連の動作及びシーケンスの一部が異なる。従って、同一の構成及び同一のステップについては同一の参照番号を付して説明を省略し、相違点について重点的に説明する。
(印刷装置における接続変更処理に係る一連の動作)
図14は、本実施形態に係る印刷装置601における無線接続を変更する処理(接続変更処理)に係る一連の動作を説明する。なお、本処理は、各処理は特に断らない限り、印刷装置601のPTR制御部A655が内部のROMに記憶されたプログラムを内部のRAMに展開、実行することにより実現される。本処理の動作は、印刷装置601のPTRAC/DC変換回路602に外部からAC電圧が入力されたことを契機に開始する。
本実施形態では、通信装置801はセントラルロールの装置として動作(第1のセントラル装置)し、印刷装置601はペリフェラルロールの装置として動作(第2のペリフェラル装置)する。そして、撮像装置701はその役割(ロール)をペリフェラルロールからセントラルロールに変更し、それぞれの場合において第1のペリフェラル装置、第2のセントラル装置となる。
PTR制御部A655は、実施形態1と同様にS101〜S104の処理を行って、第1のアドバタイズパケットを送信する。アドバタイズパケットは、図9(A)に示したものであり、Service1は、印刷装置601のPTR印刷部610を用いて印刷媒体へ印刷を行う印刷サービス(この実施形態では第1の印刷サービスともいう)である。
なお、また、本実施形態における、印刷装置601のPTR無線通信部A612のServiceとCharacteristicを格納するGATT serverのデータベースの例を図16(A)に示す。印刷装置601と第1のセントラル装置とのBLEによる通信は、図16(A)に示すGATT serverのデータベースのRead、Writeにより実行される。なお、図16(A)は、印刷装置601がアドバタイズパケットに印刷サービスを指定するUUID1を含める場合の、GATT serverのデータベースの例を示している。この例では、以下に示す少なくとも2種類のServiceを記憶する。例えばService1は、UUID1に対応した複数のCharacteristicのUUIDと各々のUUIDに対応するVALUEを有する。ここで、Service1のCharacteristic VALUEには、例えば、「印刷可否フラグ」、「SSID」、「PASSWORD」、「デバイス名」、「対応印刷プロトコル1」、「対応印刷プロトコル2」、「印刷ステータス」、「セントラル接続フラグ」、「WLANステータス」が挙げられる。また、Service3は、UUID3に対応した複数のCharacteristicのUUIDと各々のUUIDに対応するVALUEを有する。本実施形態に係るService3は、例えば第2の印刷サービスであり、Service3のCharacteristic VALUEは、例えばService1と同様の項目を有する。
また、印刷装置601のPTR無線通信部A612のGATT serverのデータベースには、さらに他のUUIDに対応する複数のCharacteristicのUUIDと各々のUUIDに対応するVALUEを記憶する構成でも良い。例えば、複数の装置とのBLEリンク接続を許容し、印刷サービスを実施するため、印刷装置601のPTR無線通信部A612のGATT serverのデータベースには、例えばさらに下記2種類のServiceを記憶しても良い。すなわち、Service6は、UUID6に対応した複数のCharacteristicのUUIDと各々のUUIDに対応するVALUEを有する。Service6は、例えば第3の印刷サービスであり、Service6のCharacteristic VALUEは、Service1と同様の項目を有する。また、Service7は、 UUID7に対応した複数のCharacteristicのUUIDと各々のUUIDに対応するVALUEを有する。Service7は、例えば第4の印刷サービスであり、Service1と同様のCharacteristic VALUEを有する。
なお、本実施形態では、印刷装置601の印刷サービスを提供する相手装置は通信装置801と撮像装置701との2装置を例に説明する。よって、印刷装置601のPTR無線通信部A612のGATT serverのデータベースはService1とService3の領域のみを用いる。以下の説明では、Characteristic VALUEを単に「VALUE」を記載する。
PTR制御部A655は、S104の処理に続いて、第1の実施形態と同様にS105〜S109の処理を実行する。S110では、PTR制御部A655はPTR無線通信部A612のGATT serverのデータベースのうち、VALUEの「セントラル接続フラグ」が「通信不可」であるかを判定する。なお、Service1のCharacteristic VALUEは第1の印刷サービスに対応するCharacteristic VALUEである。PTR制御部A655は、第1のセントラル装置との接続フラグである「セントラル接続フラグ」が「通信不可」である場合、S1400へ進む。一方、PTR制御部A655は、この「セントラル接続フラグ」が「通信不可」でない場合S101へ戻る。
S111では、PTR制御部A655はPTR無線通信部A612に第1のセントラル装置からのサービス実施指示があるかを判定する。S111におけるサービスは、例えば印刷装置601のPTR印刷部610を用いて印刷媒体へ印刷を行う第1の印刷サービスである。PTR制御部A655は、PTR無線通信部A612に第1のセントラル装置からのサービス実施指示がない場合、S1400へ進む。一方、PTR制御部A655はPTR無線通信部A612に第1のセントラル装置からのサービス実施指示がある場合、S113へ進む。
PTR制御部A655は、S113〜S121までの処理を実施形態1と同様に実行する。S121では、PTR制御部B605は、印刷サービスが終了したかを判定する。PTR制御部B605は、印刷サービスが終了していないと判定した場合、S120に戻ってサービス提供中の装置とのBLE通信を継続する。なお、印刷装置601のBLE通信リンクの対象と実施するサービスは2種類存在し、第1のセントラル装置である通信装置801とは第1の印刷サービスであり、第2のセントラル装置である撮像装置701とは第2の印刷サービスである。一方、PTR制御部B605は、印刷サービスが終了していると判定した場合、S122へ進む。S122では、PTR制御部A655は、PTR定電圧回路B604をOFFにして、メインシステムであるPTR制御部B605をOFFにする。
S123では、PTR制御部A655は、第1のセントラル装置とのサービスを実施中であるかを判定する。PTR制御部A655は、第1のセントラル装置とのサービスを実施中であると判定した場合、S107へ戻る。一方、第1のセントラル装置とのサービスを実施中でないと判定した場合、S1400へ進む。
次に、S1400以降の処理について説明する。S1400では、PTR制御部A655は、第2のセントラル装置(すなわち撮像装置701)とのBLE通信リンクが確立済みであると判定した場合、S144へ進む。一方、第2のセントラル装置とのBLE通信リンクが確立済みでないと判定した場合、S1401へ進む。S1401では、PTR制御部A655は、PTR無線通信部A612から第3のアドバタイズパケットを送信する。なお、S1401における第3のアドバタイズパケット送信は、セントラルロールの装置からの接続要求があるまで、上述したアドバタイズインターバルで行われる。S1401において送信されるアドバタイズパケットは、図9(C)に示した、アドバタイズパケットのデータ内に印刷装置601が実施可能なサービス(Service)を特定するUUID3を含む第3のアドバタイズパケットのことである。UUIDで特定するServiceとは、様々なサービスが考えられるが、その例を下記に示す。図9(C)のアドバタイズパケットの例は、UUID3でService3を実施可能なことを示す。Service3は、印刷装置601のPTR印刷部610を用いて印刷媒体へ印刷を行う第2の印刷サービスである。第1の印刷サービスと第2の印刷サービスの違いは、印刷対象とするデータを印刷装置601へ送信するセントラル装置の違いである。本実施形態では、第1の印刷サービスは第1のセントラル装置に提供され、第2の印刷サービスは第2のセントラル装置に提供される。
S1402では、PTR制御部A655は、PTR無線通信部A612に第2のセントラル装置からの接続要求があるかを判定する。第2のセントラル装置からの接続要求がない場合、S1403へ進み、一方、第2のセントラル装置からの接続要求がある場合、S1405へ進む。S1403では、第1のセントラル装置のアドバタイズインターバルであるかを判定する。PTR制御部A655は、第1のセントラル装置のアドバタイズインターバルでない場合、S1404へ進み、一方、第1のセントラル装置とのBLEの通信インターバルである場合、S104へ戻る。S1404では、第1のセントラル装置とのBLEの通信インターバルであるかを判定する。PTR制御部A655は、第1のセントラル装置とのBLEの通信インターバルでない場合、S144へ進む。一方、PTR制御部A655は、第1のセントラル装置とのBLEの通信インターバルである場合、S107へ戻る。
S1405では、PTR制御部A655は、第2のセントラル装置とBLEの通信リンクを確立する。S1406では、PTR制御部A655は、PTR無線通信部A612のGATT serverのデータベースのうち、Service1のVALUEの「セントラル接続フラグ」を「通信不可」に設定し、S1404へ進む。
S144では、PTR制御部A655は、第2のセントラル装置とのBLEの通信を行う。なお、S144におけるBLEの通信は、第2のセントラル装置との間で決められた通信インターバルで間欠的に行われる。S145では、PTR制御部A655は、上述した実施形態と同様に、PTR無線通信部A612から第4のアドバタイズパケットをブロードキャスト送信する。
S146では、PTR制御部A655は、PTR無線通信部A612に第2のセントラル装置からの接続終了通知があるかを判定する。第2のセントラル装置から接続終了通知がある場合、S150へ進む。一方、第2のセントラル装置から接続終了通知がない場合、S1407へ進む。S150では、PTR制御部A655は、第2のセントラル装置とのBLEの通信リンクを終了する。S151では、印刷装置601は、PTR無線通信部A612のGATT serverのデータベースのうち、第1の印刷サービスに対応するService1のVALUEの「セントラル接続フラグ」を「通信可」に設定する。そして、S101へ戻る。
S1407では、PTR制御部A655は、PTR無線通信部A612に第2のセントラル装置からのサービス実施指示があるかを判定する。なお、本ステップのサービスは、印刷装置601のPTR印刷部610を用いて印刷媒体へ印刷を行う第2の印刷サービスのことである。PTR制御部A655は、第2のセントラル装置からサービス実施指示がある場合、S113へ進む。すなわち、上述したS113〜S123の処理により、より高速なWLANにハンドオーバーして第2のセントラル装置に対する印刷サービスを実施する。一方、PTR制御部A655は、サービス実施指示がない場合、撮像装置701からの印刷サービスの実施指示なしと判定し、S144へ戻る。PTR制御部A655は、その後、S102の処理を完了すると、本一連の動作を終了する。
(撮像装置における接続変更処理に係る一連の動作)
次に、図15を参照して、第2のペリフェラル装置(撮像装置701)が、第1のセントラル装置(通信装置801)又は第1のペリフェラル装置である印刷装置601と接続する処理(この場合も接続変更処理という)に係る一連の動作について説明する。なお、本処理の動作は、各処理は特に断らない限り、撮像装置701のDSC制御部A755が内部のROMに記憶されたプログラムを内部のRAMに展開、実行することにより実現される。また、本処理の動作は、撮像装置701のDSC電池702が装着されたことを契機に開始する。
まず、DSC制御部A755は、S201〜S211までの処理を実施形態1と同様に実行する。但し、S205において、第1のセントラル装置からの接続要求がない場合、及び、S211において、第1のセントラル装置との接続フラグである「セントラル接続フラグ」が「通信不可」である場合、S229へ進む。また、S211においてDSC無線通信部A712に第1のセントラル装置からのサービス実施指示がない場合もS229へ進む。
S214以降の処理では、撮像装置701は高速なWLANにハンドオーバーしてサービスを実施する。DSC制御部A755は、実施形態1と同様に、S214〜S220の処理を行って、サービス提供中の装置とのBLE通信を行う。S221では、DSC制御部A755は提供中のサービスが終了したかを判定する。DSC制御部A755は、提供中のサービスが終了していないと判定した場合、S220に戻ってサービス提供中の装置とのBLE通信を行う。なお、撮像装置701のBLE通信リンク対象と提供するサービスは2種類存在する。1つ目は第1のセントラル装置である通信装置801へ提供する画像転送サービスである。2つ目は第1のペリフェラル装置である印刷装置601から提供される第2の印刷サービスである。
S1500では、DSC制御部A755はDSC無線通信部A712のロール設定がペリフェラルロールであるかを判定する。DSC制御部A755はDSC無線通信部A712のロール設定がペリフェラルロールであると判定した場合、S207へ戻る。それ以外の場合、S1514へ進む。
次に、S1501以降の処理について説明する。S1501では、DSC制御部A755はユーザによるDSC操作入力部711の操作によって、印刷要求サービス実施モードに入ったかを判定する。DSC制御部A755は、印刷要求サービス実施モードに入っていない場合、S1502へ進み、印刷要求サービス実施モードである場合、S1504へ進む。
S1502では、DSC制御部A755は、第1のセントラル装置のアドバタイズインターバルであるかを判定する。第1のセントラル装置のアドバタイズインターバルでない場合、S1503へ進み、一方、第1のセントラル装置とのBLEの通信インターバルである場合、S204へ戻る。S1503では、DSC制御部A755は、第1のセントラル装置とのBLEの通信インターバルであるかを判定する。DSC制御部A755は、第1のセントラル装置とのBLEの通信インターバルでなければS1501へ戻る。S1503では、DSC制御部A755は第1のセントラル装置とのBLEの通信インターバルである場合、S207へ戻る。
S1504では、DSC制御部A755は他のペリフェラル装置からのアドバタイズパケットをスキャンし、S1505では、他のペリフェラル装置からのアドバタイズパケットがあるかを判定する。DSC制御部A755は他のペリフェラル装置からのアドバタイズパケットがない場合、S1502へ進む。一方、他のペリフェラル装置からのアドバタイズパケットがある場合、S1506へ進む。S1506では、DSC制御部A755は他のペリフェラル装置が送信するアドバタイズパケットに含まれるサービスを特定するUUIDが自装置との組み合わせにおいて有効であるかを判定する。有効であると判定するアドバタイズパケットは、第1のペリフェラル装置(印刷装置601)が実施可能な第2の印刷サービス(Service)を特定する、UUID3を含む第3のアドバタイズパケットである。
S1507では、DSC制御部A755は、DSC無線通信部A712のGATT serverのデータベースのうち、Service2のVALUEの「セントラル接続フラグ」が「通信不可」であるかを判定する。なお、Service2のVALUEは画像転送サービスに対応する。DSC制御部A755は、第1のセントラル装置との接続フラグである「セントラル接続フラグ」が「通信不可」である場合、S1511へ進む。一方、第1のセントラル装置との接続フラグである「セントラル接続フラグ」が「通信不可」でない場合、S1508へ進む。S1508では、DSC制御部A755は、DSC無線通信部A712のGATT serverのデータベースのうち、Service2のVALUEの「セントラル接続フラグ」を「通信不可」に設定し、S1502へ進む。
S1511では、DSC制御部A755は、DSC無線通信部A712のロール設定をセントラルロールに設定する。DSC制御部A755がDSC無線通信部A712のロールをセントラルロールに設定することで、撮像装置701はBLEの第2のセントラル装置として動作することになる。S1512では、DSC制御部A755は、第3のアドバタイズパケットを送信したペリフェラル装置(第2のペリフェラル装置である印刷装置601)に対して接続要求を行う。S1513では、DSC制御部A755は、第2のペリフェラル装置である印刷装置601とBLEの通信リンクを確立し、更にS1514で第2のペリフェラル装置とのBLEの通信を行う。なお、S1514におけるBLEの通信は、第2のペリフェラル装置との間で決められた通信インターバルで間欠的に行われる。
S1515では、DSC制御部A755は、DSC無線通信部A712から第4のアドバタイズパケットをブロードキャスト送信する。なお、S1515における第5のアドバタイズパケットのブロードキャスト送信は、DSC制御部A755が決めた所定の時間間隔(アドバタイズインターバル)で間欠的に行われる。本実施形態に係るブロードキャストアドバタイズパケットは、図10(B)において上述したパケットである。
なお、第2のセントラルロール装置である撮像装置701から送信されたブロードキャストアドバタイズパケットは、セントラルロール装置である第1のセントラル装置(すなわち通信装置801)によってスキャンされる。第1のセントラル装置は、撮像装置701が送信するアドバタイズパケットに含まれる、サービスを特定するUUIDが自装置との組み合わせにおいて有効であるかを判定する。このとき、第1のセントラル装置は、撮像装置701がBUSY状態を示す画像転送BUSYステータスサービスであると判定可能であるため、撮像装置701に対してBLEによる接続要求を行わない。撮像装置701は、S1515におけるブロードキャストアドバタイズパケット送信を用いることにより、セントラルロールの装置に対し、画像転送BUSYステータスサービスであることを通知することができる。そして、このセントラルロールの装置は、撮像装置701に対して画像転送サービスの実施ができないように自装置を制御することができる。なお、撮像装置701はS1515におけるブロードキャストアドバタイズパケットを送信しなくてもよい。
S1516では、DSC制御部A755は、ユーザ操作によって印刷サービス実施が指示されている場合、S214へ進む。一方、ユーザ操作によって、印刷要求サービス実施が指示されていない場合、S1517へ進む。S1517では、DSC制御部A755は、ユーザ操作による印刷サービス実施モードを継続中であるかを判定する。DSC制御部A755は、ユーザが印刷サービス実施モードを継続中である場合、S1518へ進み、ユーザが印刷サービス実施モードを継続中でない場合、S1520へ進む。S1518では、DSC制御部A755は、印刷サービス実施モードがタイムアウトであるかを判定する。DSC制御部A755は、ユーザ操作によって印刷サービス実施モードに入ってから例えば一定時間の間ユーザの操作がない場合に、タイムアウトであると判定する。印刷サービス実施モードのタイムアウトであると判定した場合、S1520へ進み、印刷サービス実施モードのタイムアウトでないと判定したら、S1514へ戻る。
S1520では、DSC制御部A755は、第1のペリフェラル装置である印刷装置601とBLE通信リンクを終了し、S1521へ進む。S1521では、DSC制御部A755は、DSC無線通信部A712のGATT serverのデータベースのうち、Service2のVALUEの「セントラル接続フラグ」を「通信可」に設定し、S201へ戻る。また、DSC制御部A755は、その後S202においてアドバタイズパケットの送信を停止した場合、本処理に係る一連の動作を終了する。
(印刷装置と撮像装置とが接続するシーケンス)
次に、図17A及び図17Bを参照して、印刷装置601、撮像装置701、通信装置801が図6、図14及び図15の接続変更処理を行う際に、印刷装置601と撮像装置701とが無線通信接続を行うシーケンスについて説明する。なお、シーケンスの開始時には、通信装置801はセントラルロールの装置として動作し、印刷装置601と撮像装置701とはペリフェラルロールの装置として動作している。また、通信装置801と印刷装置601、及び通信装置801と撮像装置701とがそれぞれBLEの接続を確立している状態から開始される。なお、開始時には、これらの3つの装置は、図12(A)に示すようにBLE通信範囲に存在している。
SEQ1701では、OTH無線通信部A812は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。S1751では、PTR制御部A655はPTR無線通信部A612へSET_ADV_IND_3コマンドを送る。PTR無線通信部A612は、第2の印刷サービスに対応するService3のUUID3を含むアドバタイズパケットADV_IND_3を送信する。以降、アドバタイズインターバルに従ってセントラル装置のアドバタイズを行う。OTH無線通信部A812は、DSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。
S1752では、DSC制御部A755はユーザ操作によって印刷サービス実施モードに入る。DSC制御部A755は、GET_ADV_INDコマンドによりDSC無線通信部A712を用いてアドバタイズパケットをスキャンし、DSC無線通信部A712はスキャンの結果をRESPONSEとしてDSC制御部A755に返す。S1753では、DSC制御部A755はアドバタイズパケットの値を取得し、アドバタイズパケットが受信できないか、またはアドバタイズパケットに第2の印刷サービスに対応するUUID3が含まれていない(すなわち利用不可である)ことを確認する。以降、DSC制御部A755は、通信インターバル中にアドバタイズパケットのスキャンを行い、自装置との組み合わせにおいて有効なサービスに対応するUUIDを有するアドバタイズパケットが受信されるのを待つ。S1754等の繰り返しに基づき、PTR無線通信部A612は、第2の印刷サービスに対応するService3のUUID3を含むアドバタイズパケットADV_IND_3を送信する。
SEQ1702では、DSC制御部A755は、GET_ADV_INDコマンドによりDSC無線通信部A712を用いてアドバタイズパケットをスキャンする。DSC無線通信部A712はスキャンの結果をRESPONSEとしてDSC制御部A755に返す。S1755では、DSC制御部A755はアドバタイズパケットの値を取得し、アドバタイズパケットに第2の印刷サービスに対応するUUID3が含まれていることを確認する。
S1756では、DSC制御部A755は、所望のサービスが利用可能であることを確認すると、DSC無線通信部A712へDISCONNECT_801_NOTIFYコマンドを送る。S1756のコマンドにより、DSC無線通信部A712のGATT serverのデータベースのうち、画像転送サービスに対応するService2のVALUEの「セントラル接続フラグ」は「通信不可」に設定される。そして、次の通信装置801と撮像装置701とのBLE通信のタイミングで、通信装置801と撮像装置701の接続フラグである「セントラル接続フラグ」が通信装置801に伝えられる。OTH無線通信部A812は、DSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。OTH無線通信部A812は、OTH制御部A855へDISCONNECT_701_NOTIFYコマンドを送る。そして、OTH制御部A855は、受信したDATA_PACKETの画像転送サービスに対応するService2のVALUEの「セントラル接続フラグ」が「通信不可」であることを確認する。OTH制御部A855は、当該接続フラグに基づいて、OTH無線通信部A812へTERMINATE_701_LINKコマンドを送り、通信装置801と撮像装置701とのBLEの通信リンクを解除する。OTH無線通信部A812は、OTH制御部A855へのDISCONNECT_701コマンドによりBLE通信リンクの解除を通知する。また、DSC無線通信部A712は、DSC制御部A755へのDISCONNECT_801コマンドによりBLE通信リンクの解除を通知する。
SEQ1703では、PTR無線通信部A612は、第2の印刷サービスに対応するService3のUUID3を含むアドバタイズパケットADV_IND_3を送信する。DSC制御部A755はGET_ADV_INDコマンドによりDSC無線通信部A712を用いてアドバタイズパケットをスキャンし、DSC無線通信部A712はスキャンの結果をRESPONSEとしてDSC制御部A755に返す。S1758では、DSC制御部A755はアドバタイズパケットの値を取得し、アドバタイズパケットに第2の印刷サービスに対応するUUID3が含まれていることを確認する。
S1759では、DSC制御部A755は、DSC無線通信部A712へSTART_601_CONNECTコマンドを送信して、通信装置801と印刷装置601とのBLE通信を確立させる。そして、DSC無線通信部A712は、DSC制御部A755へCOMP_601_CONNECTコマンドによりBLE通信リンクの確立を通知する。PTR無線通信部A612はPTR制御部A655へCOMP_701_CONNECTコマンドによりBLE通信リンクの確立を通知する。DSC無線通信部A712は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。以降、通信インターバルに従って、BLEセントラルロール装置の撮像装置701とBLEペリフェラルロール装置の印刷装置601とはBLE通信を行う。
SEQ1704では、S1760において、PTR制御部A655はPTR無線通信部A612へDISCONNECT_801_NOTIFYコマンドを送る。S1760のコマンドによって、PTR無線通信部A612のGATT serverのデータベースのうち、第1の印刷サービスに対応するService1のVALUEの「セントラル接続フラグ」は「通信不可」に設定される。次の通信装置801と印刷装置601とのBLE通信のタイミングで、通信装置801と印刷装置601の接続フラグである「セントラル接続フラグ」が通信装置801に伝えられる。
OTH無線通信部A812は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。OTH無線通信部A812は、OTH制御部A855へDISCONNECT_601_NOTIFYコマンドを送る。そして、OTH制御部A855は、受信したDATA_PACKETの第1の印刷サービスに対応するService1のVALUEの「セントラル接続フラグ」が「通信不可」であることを確認する。OTH制御部A855は、当該接続フラグに基づいて、OTH無線通信部A812へTERMINATE_601_LINKコマンドを送り、通信装置801と印刷装置601とのBLEの通信リンクを解除する。そして、OTH無線通信部A812はOTH制御部A855へDISCONNECT_601コマンドによりBLE通信リンクの解除を通知する。PTR無線通信部A612はPTR制御部A655へDISCONNECT_801コマンドによりBLE通信リンクの解除を通知する。SEQ1704までのシーケンスが終了すると、図12(B)に示すように、撮像装置701は印刷装置601とBLEの通信リンク中になる。そして、通信装置801は印刷装置601と撮像装置701とのBLEの通信リンクが解除された状態となる。
SEQ1705では、DSC無線通信部A712は、印刷装置601のPTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。通信装置801とのBLEリンクを解除した印刷装置601は、撮像装置701とのBLE通信インターバル中に、Service4のUUID4を含むブロードキャストアドバタイズパケットADV_NONCONN_IND_4を送信しても良い。上述したようにService4のUUID4は、印刷サービスがBUSY状態であることを示す。また、撮像装置701は、印刷装置601とのBLE通信インターバル中に、Service5のUUID5を含むブロードキャストアドバタイズパケットADV_NONCONN_IND_5を送信しても良い。Service5のUUID5は、撮像装置701がBUSY状態であることを示す。
なお、ブロードキャストアドバタイズパケットは接続要求不可能なアドバタイズパケットであるので、セントラル装置は接続要求できない。印刷装置601または撮像装置701は、ブロードキャストアドバタイズパケットの送信する場合、アドバタイズインターバルに従ってブロードキャストアドバタイズパケットを送信する。
S1761では、DSC制御部A755はユーザ操作によって印刷要求サービス実施が指示される。S1762では、DSC制御部A755は、DSC無線通信部A712へEXE_PRINT_NOTIFYコマンドを送る。DSC無線通信部A712は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。PTR無線通信部A612のGATT serverのデータベースのうち、第2の印刷サービスに対応するService3のVALUEの「印刷ステータス」は「印刷要求」に設定される。
一方、印刷装置601と撮像装置701とのBLEリンクが解除されたOTH制御部A855は、GET_ADV_INDコマンドによりOTH無線通信部A812を用いてアドバタイズパケットをスキャンする。そして、スキャンの結果をRESPONSEとしてOTH制御部A855に返す。OTH制御部A855はアドバタイズパケットの値を取得する。そして、アドバタイズパケットが受信できないか、またはアドバタイズパケットに印刷装置601の第1の印刷サービスに対応するUUID1や撮像装置701の画像転送サービスに対応するUUID2が含まれていないことを確認する。以降、通信装置801はスキャンインターバルに従ってアドバタイズパケットのスキャンを行い、自装置との組み合わせにおいて有効なサービスに対応するUUIDを有するアドバタイズパケットが受信されるのを待つ。通信装置801は、前述のブロードキャストアドバタイズパケットの値を取得した場合は、印刷装置601または撮像装置701がBUSY状態であることが分かる。よって、印刷装置601または撮像装置701に対し接続要求を実施しないように自装置を制御することができる。
SEQ1706では、PTR無線通信部A612は、SEQ1705のシーケンスで受信したDATA_PACKETにおけるService3のVALUEの「印刷ステータス」が「印刷要求」であることを確認する。なお、Service3のVALUEは第2の印刷サービスに対応するVALUEである。そして、S1763では、PTR無線通信部A612はPTR制御部A655へ、EXE_PRINT_NOTIFYコマンドを送る。S1764では、PTR制御部A655はメインシステム電源ONイベントを発生し、PTR制御部A655はPTR定電圧回路B604をONにしてメインシステムであるPTR制御部B605をONにする。S1765では、PTR制御部B605は、WLAN起動イベントを発生し、PTR無線通信部B622をONにして印刷サービス提供中の装置とのWLAN通信リンクの確立を開始する。DSC無線通信部A712は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。S1766では、DSC無線通信部A712は、DSC制御部A755へSTART_WLAN_HANDOVERコマンドを送る。そして、DSC制御部A755は、受信したDATA_PACKETの第2の印刷サービスに対応するService3のVALUEの「WLANステータス」が「START_WLAN」であることを確認する。
SEQ1707では、S1767では、DSC制御部A755はWLAN起動イベントを発生し、DSC無線通信部B722をONにして印刷サービス提供中の装置とのWLAN通信リンクの確立を開始する。ここで、PTR無線通信部B622とDSC無線通信部B722とが、WLAN通信リンクを確立してWLANでデータの送受信が可能になる。撮像装置701は、DSC無線通信部B722で印刷対象画像データを送信し、印刷装置601のPTR無線通信部B622が印刷対象画像データを受信する。
S1768では、印刷対象画像データの送受信が終了したら、DSC制御部A755はWLAN終了イベントを発生する。そして、DSC無線通信部B722とPTR無線通信部B622とのWLAN通信リンクを解除し、DSC無線通信部B722をOFFにする。そして、S1769でDSC制御部A755はDSC無線通信部A712へDISCONNECT_WLANコマンドを送る。DSC無線通信部A712は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。PTR無線通信部A612のGATT serverのデータベースのうち、第2の印刷サービスに対応するService3のVALUEの「WLANステータス」は「DISCONNECT_WLAN」に設定される。
DSC無線通信部A712は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。S1770では、PTR無線通信部A612はPTR制御部A655へ、DISCONNECT_WLANコマンドを送る。そして、PTR制御部A655は、受信したDATA_PACKETの第2の印刷サービスに対応するService3のVALUEの「WLANステータス」が「DISCONNECT_WLAN」であることを確認する。S1771では、PTR制御部B605は、WLAN終了イベントを発生し、PTR無線通信部B622をOFFにする。
SEQ1708では、印刷対象の画像データの送受信が終了した場合、DSC無線通信部A712は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。PTR無線通信部A612のGATT serverのデータベースのうち、第2の印刷サービスに対応するService3のVALUEの「印刷ステータス」は印刷装置601が印刷中は「印刷中」に設定される。そして、印刷が終了したら「印刷ステータス」は「印刷終了」に設定される。
SEQ1709では、S1771において、DSC制御部A755は、ユーザ操作により、印刷サービス実施モードを終了する。そして、S1772では、DSC制御部A755はDSC無線通信部A712へTERMINATE_601_LINKコマンドを送る。これにより、通信装置801と印刷装置601とのBLE通信リンクを解除する。そして、DSC無線通信部A712はDSC制御部A755へDISCONNECT_601コマンドによりBLE通信リンクの解除を通知する。また、PTR無線通信部A612はPTR制御部A655へDISCONNECT_701コマンドによりBLE通信リンクの解除を通知する。
SEQ1710では、S1773において、PTR制御部A655はメインシステム電源OFFイベントを発生し、PTR制御部A655はPTR定電圧回路B604をOFFにすることでメインシステムであるPTR制御部B605をOFFにする。S1774では、PTR制御部A655は、第1の印刷サービスに対応するService1のUUID1を含むアドバタイズ復帰イベントを発生する。そして、S1775では、PTR制御部A655はPTR無線通信部A612へSET_ADV_IND_1コマンドを送信する。PTR無線通信部A612は、第1の印刷サービスに対応するService1のUUID1を含むアドバタイズパケットADV_IND_1を送信する。以降、アドバタイズインターバルに従ってセントラル装置のアドバタイズを行う。S1776では、PTR制御部A655は、PTR無線通信部A612へSET_ADV_IND_3コマンドを送る。PTR無線通信部A612は、第2の印刷サービスに対応するService3のUUID3を含むアドバタイズパケットADV_IND_3を送信する。以降、アドバタイズインターバルに従ってセントラル装置のアドバタイズを行う。
一方、S1777では、DSC制御部A755は画像転送サービスに対応するService2のUUID2を含むアドバタイズ開始イベントを発生する。そして、S1778では、DSC制御部A755はDSC無線通信部A712へSET_ADV_IND_2コマンドを送信する。DSC無線通信部A712は、画像転送サービスに対応するService2のUUID2を含むアドバタイズパケットADV_IND_2を送信する。以降、アドバタイズインターバルに従ってセントラル装置のアドバタイズを行う。
SEQ1711では、S1779において、PTR制御部A655はPTR無線通信部A612へSET_ADV_IND_1コマンドを送信する。PTR無線通信部A612は、第1の印刷サービスに対応するService1のUUID1を含むアドバタイズパケットADV_IND_1を送信する。S1780では、PTR制御部A655はPTR無線通信部A612へSET_ADV_IND_3コマンドを送る。また、PTR無線通信部A612は、第2の印刷サービスに対応するService3のUUID3を含むアドバタイズパケットADV_IND_3を送信する。以降、印刷装置601は、第1の印刷サービスのアドバタイズインターバル中に、第2の印刷サービスのアドバタイズパケットを送信し、セントラル装置からの接続要求を待つ。
(撮像装置と印刷装置とがそれぞれ通信装置と接続するシーケンス)
次に、図18を参照して、印刷装置601と撮像装置701とが、BLEセントラルロール装置である通信装置801とBLEの通信リンクを確立するシーケンスについて説明する。
SEQ1801では、S1779において、PTR無線通信部A612は、第1の印刷サービスに対応するService1のUUID1を含むアドバタイズパケットADV_IND_1をアドバタイズインターバルに従って送信している。また、S1780では、PTR無線通信部A612は、第2の印刷サービスに対応するService3のUUID3を含むアドバタイズパケットADV_IND_1をアドバタイズインターバルに従って送信している。またS1778では、DSC無線通信部A712が、画像転送サービスに対応するService2のUUID2を含むアドバタイズパケットADV_IND_2をアドバタイズインターバルに従って送信している。
このとき、OTH制御部A855はGET_ADV_INDコマンドによりOTH無線通信部A812を用いてアドバタイズパケットをスキャンし、OTH無線通信部A812はスキャンの結果をRESPONSEとしてOTH制御部A855に返す。OTH制御部A855はアドバタイズパケットの値を取得して、アドバタイズパケットに印刷装置601の第1の印刷サービスに対応するUUID1が含まれていることを確認し、当該サービスが利用可能であることを確認する。
第1の印刷サービスが利用可能である場合、OTH制御部A855は、OTH無線通信部A812へSTART_601_CONNECTコマンドを送信し、通信装置801と印刷装置601とのBLEの通信リンクの確立を開始する。通信リンクが確立すると、OTH無線通信部A812はOTH制御部A855へCOMP_601_CONNECTコマンドによりBLE通信リンクの確立を通知する。また、PTR無線通信部A612はPTR制御部A655へCOMP_801_CONNECTコマンドによりBLE通信リンクの確立を通知する。OTH無線通信部A812は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。以降、通信インターバルに従って、通信装置801はBLEセントラルロール装置、印刷装置601はBLEペリフェラルロール装置としてBLEの通信リンクを継続する。
SEQ1802では、S1851において、PTR制御部A655はPTR無線通信部A612へSET_ADV_IND_3コマンドを送る。PTR無線通信部A612は、第2の印刷サービスに対応するService3のUUID3を含むアドバタイズパケットADV_IND_3を送信する。このようにして、印刷装置601は、以降BLE通信インターバル中に、第2の印刷サービスのアドバタイズパケットを送信し、他のセントラル装置からの接続要求を待つ。
一方、OTH制御部A855はGET_ADV_INDコマンドによりOTH無線通信部A812を用いてアドバタイズパケットをスキャンする。OTH無線通信部A812はスキャンの結果をRESPONSEとしてOTH制御部A855に返す。OTH制御部A855はアドバタイズパケットの値を取得して、アドバタイズパケットに撮像装置701の画像転送サービスに対応するUUID2が含まれていることを確認し、当該サービスが利用可能であることを確認する。
画像転送サービスが利用可能である場合、OTH制御部A855は、OTH無線通信部A812へSTART_701_CONNECTコマンドを送り、通信装置801と撮像装置701とのBLEの通信リンクの確立を開始する。通信リンクが確立すると、OTH無線通信部A812はOTH制御部A855へCOMP_701_CONNECTコマンドによりBLE通信リンクの確立を通知する。また、DSC無線通信部A712はDSC制御部A755へCOMP_801_CONNECTコマンドによりBLE通信リンクの確立を通知する。OTH無線通信部A812は、DSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。以降、通信インターバルに従って、通信装置801はBLEセントラルロール装置、撮像装置701はBLEペリフェラルロール装置としてBLE通信リンクを継続する。
SEQ1803では、S1852(及び以降のS1853、S1854)において、PTR制御部A655はPTR無線通信部A612へSET_ADV_IND_3コマンドを送信する。PTR無線通信部A612は、第2の印刷サービスに対応するService3のUUID3を含むアドバタイズパケットADV_IND_3を送信するが、図18の例では、他のセントラル装置からの接続要求はない。
印刷装置601及び撮像装置701とBLEの接続を確立した通信装置801は、それぞれとの通信を行う。すなわち、OTH無線通信部A812は、DSC無線通信部A712へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。また、OTH無線通信部A812は、PTR無線通信部A612へDATA_PACKETを送信し、その応答であるDATA_PACKETを受信する。以降、通信装置801は、確立したBLEの接続を継続する。
図18のシーケンスが終了すると、通信装置801と印刷装置601、通信装置801と撮像装置701がそれぞれBLEの通信を行っている状態であり、図17のシーケンスに戻ることができる。
以上説明したように、撮像装置701がペリフェラルロールとして動作する処理の合間に(アドバタイズパケットをスキャンして)セントラルロールの装置となって振る舞うようにした。これにより、ペリフェラル装置として動作していた撮像装置701と印刷装置601との間でBLEの通信を確立することができ、所望のサービスを実施することができるようになる。換言すれば、異なる役割の装置が接続する通信において、自装置と同じ役割で動作する装置とも容易に接続することが可能になる
(第4の実施形態)
第3の実施形態では、ペリフェラルロールである撮像装置701と印刷装置601とがセントラルロールの装置とBLE通信を行う際に、撮像装置701がロールを変更して印刷装置601との間でBLE通信を確立する動作の例を説明した。第4の実施形態では、ペリフェラルロールである撮像装置701と印刷装置601とがアドバタイズパケットを送信中であり、撮像装置701と印刷装置601とがBLE通信を確立していない状態から、当該装置間でBLE通信を確立する動作について説明する。なお、本実施形態に係る各装置の機能構成は同一であり、シーケンスの一部が異なる。従って、以下では、同一の構成及び同一のステップについては同一の参照番号を付して説明を省略し、相違点について重点的に説明する。
(印刷装置と撮像装置とが接続するシーケンス)
図19A及び図19Bを参照して、印刷装置601と撮像装置701とが接続するシーケンスについて説明する。この例では、通信装置801が存在せず、印刷装置601と撮像装置701とがアドバタイズパケットを送信し、かつ印刷装置601と撮像装置701とはBLEの通信リンクを確立していない状態から動作が開始される。また、図19Aのシーケンス開始時は、図12(C)に示すように、印刷装置601、撮像装置701がBLE通信範囲に存在し、通信装置801はBLE通信範囲に存在しない状態である。
SEQ1901では、S1951において、PTR無線通信部A612は、第1の印刷サービスに対応するService1のUUID1を含むアドバタイズパケットADV_IND_1をアドバタイズインターバルに従って送信している。また、S1952では、PTR無線通信部A612は、第2の印刷サービスに対応するService3のUUID3を含むアドバタイズパケットADV_IND_1をアドバタイズインターバルに従って送信している。一方、撮像装置701においても、DSC無線通信部A712は、画像転送サービスに対応するService2のUUID2を含むアドバタイズパケットADV_IND_2をアドバタイズインターバルに従って送信している。ここで、S1953では、DSC制御部A755はユーザ操作により、印刷サービス実施モードに入る。当該モードに入ったことに応じて、GET_ADV_INDコマンドによりDSC無線通信部A712を用いてアドバタイズパケットをスキャンする。DSC無線通信部A712はスキャンの結果をRESPONSEとしてDSC制御部A755に返す。
S1954では、DSC制御部A755はアドバタイズパケットの値を取得し、アドバタイズパケットが受信できないか、またはアドバタイズパケットに第2の印刷サービスに対応するUUID3が含まれていないことを確認する。以降、撮像装置701はBLE通信インターバル中にアドバタイズパケットのスキャンを行い、自装置との組み合わせにおいて有効なサービスに対応するUUIDを有するアドバタイズパケットが受信されるのを待つ。
一方、S1955では、PTR無線通信部A612は、第1の印刷サービスに対応するService1のUUID3を含むアドバタイズパケットADV_IND_1を送信する。また、S1956では、印刷装置601のPTR無線通信部A612は、第2の印刷サービスに対応するService3のUUID3を含むアドバタイズパケットADV_IND_3を送信する。
SEQ1903では、DSC制御部A755はGET_ADV_INDコマンドによりDSC無線通信部A712を用いてアドバタイズパケットをスキャンする。DSC無線通信部A712はスキャンの結果をRESPONSEとしてDSC制御部A755に返す。S1957では、撮像装置701のDSC制御部A755はアドバタイズパケットの値を取得して、アドバタイズパケットに第2の印刷サービスに対応するUUID3が含まれていることを確認し、当該サービスが利用可能であることを確認する。
サービスが利用可能であることに応じて、S1958では、DSC制御部A755は、DSC無線通信部A712へSTART_601_CONNECTコマンドを送信する。そして、撮像装置701と印刷装置601とのBLEの通信リンクの確立を開始する。通信リンクが確立すると、DSC無線通信部A712はDSC制御部A755へCOMP_601_CONNECTコマンドでBLE通信リンクの確立を通知する。PTR無線通信部A612はPTR制御部A655へCOMP_701_CONNECTコマンドでBLE通信リンクの確立を通知する。
そして、DSC無線通信部A712は、PTR無線通信部A612へDATA_PACKETを送信し、DATA_PACKETを受信する。以降、通信インターバルに従って、セントラルロールとして動作する撮像装置701とペリフェラルロールとして動作する印刷装置601とはBLE通信を継続する。
SEQ1903までのシーケンスが終了すると、図12(D)に示すように、印刷装置601、撮像装置701がBLE通信範囲に存在する配置例は図12(C)と変わらないが撮像装置701は印刷装置601とBLE通信リンク中の状態となる。
SEQ1905からSEQ1911までのシーケンスは、第3の実施形態で説明したSEQ1705からSEQ1711の動作の、通信装置801の動作を除いた動作と共通である。従って、説明は省略する。
以上説明したように本実施形態では、撮像装置701がペリフェラルロールとして動作する処理の合間に(アドバタイズパケットをスキャンして)セントラルロールの装置となって振る舞うようにした。これにより、ペリフェラル装置として動作していた撮像装置701と印刷装置601との間でBLEの通信を確立することができ、所望のサービスを実施することができるようになる。
(その他の実施形態)
上述した実施形態では、印刷装置601および撮像装置701から送信するアドバタイズパケットは、接続要求(SCAN_REQ)可能なアドバタイズパケットADV_INDを用いる例を説明した。しかし、上述の実施形態を適用可能なアドバタイズパケットは接続要求可能なアドバタイズパケットに限らない。例えば、セントラルロールの装置が一度BLEの通信リンクを確立したことがある場合、接続要求を要しないダイレクトアドバタイズパケットADV_DIRECT_INDを用いても上述の実施形態を実現可能である。ダイレクトアドバタイズパケットを用いる場合、印刷装置601は印刷サービス(Service1)を実施可能なことを示すUUID1を含むダイレクトアドバタイズパケットADV_DIRECT_IND1を送信する。また、撮像装置701の場合には、画像転送サービス(Service2)を実施可能なことを示すUUID2を含むダイレクトアドバタイズパケットADV_DIRECT_IND2を送信する。
また、上述した実施形態では、印刷装置601は、BLE通信インターバルまたはアドバタイズインターバル中にアドバタイズパケットのスキャンを行うようにした。しかし、上述した実施形態は、上記インターバル中に常にアドバタイズパケットのスキャンを行うものでなくてもよい。例えば、印刷装置601は、印刷媒体への印刷を既に実施中である場合、一時的にインターバル中のアドバタイズパケットのスキャンを停止し、当該印刷が終了した後にインターバル中のアドバタイズパケットのスキャンを行うようにしてもよい。
更に、上述した実施形態では、印刷装置601と撮像装置701と通信装置801とはBLEを用いて通信を行う例を説明した。しかし、上述した実施形態は、近距離無線通信規格であるBLEに限らない。すなわち、一方(ペリフェラル又はセントラルのいずれかのロール)の装置がアドバタイズパケット(自装置の存在を示す情報)を送信すると、他方の装置がこれに対して接続要求を行って両者の無線通信を確立する構成であれば、無線通信手段は問わない。また、ペリフェラルロールの装置をスレーブ装置、セントラルロールの装置をマスタ装置と換言しても良い。すなわち、スレーブ装置がアドバタイズパケットを送信し、マスタ装置が接続要求を行って両者の間の無線通信が確立されれば、無線通信手段は問わない。
本発明は、上述した実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。