JP2018032928A - 無線通信機能を備えた装置およびその装置で実行されるプログラム - Google Patents

無線通信機能を備えた装置およびその装置で実行されるプログラム Download PDF

Info

Publication number
JP2018032928A
JP2018032928A JP2016162666A JP2016162666A JP2018032928A JP 2018032928 A JP2018032928 A JP 2018032928A JP 2016162666 A JP2016162666 A JP 2016162666A JP 2016162666 A JP2016162666 A JP 2016162666A JP 2018032928 A JP2018032928 A JP 2018032928A
Authority
JP
Japan
Prior art keywords
communication
information processing
processing apparatus
ble
wireless communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016162666A
Other languages
English (en)
Inventor
岡村 孝二
Koji Okamura
孝二 岡村
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 JP2016162666A priority Critical patent/JP2018032928A/ja
Publication of JP2018032928A publication Critical patent/JP2018032928A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Computer And Data Communications (AREA)
  • Facsimiles In General (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

【課題】無線通信機能を備えた装置において、通信が切断したときの相手装置との通信を確実に再接続することが可能とする。【解決手段】無線通信機能を備えた装置は、情報処理装置との間でBLE通信を行うためのBLE通信部と、情報処理装置との通信において通信不良状態を検知すると、通信不良状態が生じた通信の相手の情報処理装置を特定するアドバタイジングパケットを送信しその情報処理装置との通信を再開するよう制御する制御部と、を具える。【選択図】図6

Description

本発明は、無線通信機能を備えた装置およびその装置で実行されるプログラムに関し、詳しくは、無線通信機能を備えた装置と相手装置との通信が切断したときに、相手装置との通信を再接続する技術に関するものである。
特許文献1は、Bluetooth(登録商標)規格などの近距離無線通信において意図しない通信の切断が発生したときに、その切断される直前に通信していた相手装置に再接続する技術を開示している。具体的には、通信を行っていた装置が、通信接続が確立した相手装置のデバイスアドレスを保持しておき、通信が切断すると、相手装置を含む他の装置からの接続要求を待ち受ける。そして、接続要求があると、その接続を要求する装置が、保持しているデバイスアドレスに該当する装置であるかを判断し、デバイスアドレスに該当する装置である場合は、接続応答をして切断したときに通信していた相手装置との通信を再接続する。これにより、切断したときに通信していた相手装置との間で切断前に行っていた通信内容を継続することが可能になるとしている。なお、通常の通信接続の確立のための処理では、接続要求を出している相手装置に対して、接続要求待ちの装置が、上述のようにデバイスアドレスの確認をすることなく接続応答をすることはもちろんである。
特開2005−277469号公報
しかしながら、通信が切断したときの相手装置が接続要求を出しているときに、接続要求待ち状態の他の装置、つまり、上記相手装置のデバイスアドレスを保持していない装置が存在する場合が起こり得る。特許文献1に開示される技術においては、上記の接続要求待ち状態の他の装置が、通信が切断したときの相手装置よりも先に、接続応答をしてしまうということが生じ得る。この場合には、通信が切断したときの装置同士が通信を再接続することができないことになる。
本発明は、この問題を解決するものであり、その目的は、通信が切断したときの装置同士が確実に通信を再接続することを可能とする、無線通信機能を備えた装置およびその装置で実行されるプログラムを提供することである。
上記目的を達成するために本発明は、無線通信機能を備えた装置であって、情報処理装置との間でBLE通信を行うためのBLE通信手段と、前記BLE通信手段により第1の情報処理装置との通信において通信不良状態を検知すると、前記第1の情報処理装置を応答可能な装置として特定し、且つ第2の情報処理装置が応答できないアドバタイジングパケットを送信することで、当該第1の情報処理装置との通信を再開するよう制御する制御手段と、を具えたことを特徴とする。
以上の構成によれば、無線通信機能を備えた装置において、通信が切断したときの相手装置との通信を確実に再接続することが可能となる。
本実施形態の一実施形態に係る通信システムを構成する、それぞれ無線通信機能を備えた情報処理装置および印刷装置を示すブロック図である。 実施形態に係る印刷装置の近距離無線通信部の詳細な構成を示すブロック図である。 アドバタイジングパケットにおけるPDU情報に対応した、通知する情報(Payload)の内容を示す図である。 実施形態の印刷装置が情報処理装置とBLEで接続し、ハンドオーバーによって印刷ジョブを実行しジョブ終了後に通信を切断するまでの正常な処理を示すフローチャートである。 印刷装置が図4の処理を実行する際の情報処理の処理を示すフローチャートである。 一実施形態に係るBLE通信の切断が発生したときの印刷装置における通信終了処理を示すフローチャートである。 一実施形態に係る、印刷ジョブを正常に処理したときの印刷装置と情報処理装置との間の通信内容のシーケンスを示す図である。 電波の状態が悪いために関連する複数のデータの転送が一部抜けた状態の、図7に示す同じ装置間の通信内容のシーケンスを示す図である。 通信のタイムアウトが生じたときの通信内容のシーケンスを示す図である。 図6に示した印刷装置におけるBLE通信終了処理に対応した、情報処理装置におけるBLE通信の終了処理を示すフローチャートである。
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、以下の実施形態に記載されている構成要素は、本発明の一例としての形態を示すものであり、この発明の範囲がそれらのみに限定されるものでないことはもちろんである。
図1は、本実施形態の一実施形態に係る通信システムを構成する、それぞれ無線通信機能を備えた情報処理装置および印刷装置を示すブロック図である。印刷装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行い、情報処理装置からの印刷ジョブを実行可能な装置であれば、本発明は種々のものに適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等を挙げることができる。また、プリンタのみならず複写機やファクシミリ装置等も挙げることができる。また、情報処理装置として、本実施形態ではスマートフォンを例示しているが、これに限定されず、本発明は、携帯端末、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。
図1において、本実施形態ではスマートフォンである情報処理装置101は、入力インタフェース102、CPU103、ROM104、RAM105、外部記憶装置106、出力インタフェース107、表示部108、通信部109、近距離無線通信部110、撮影装置111等を有して構成されている。そして、これら各要素はシステムバスを介して接続されている。
入力インタフェース102は、物理キーボードやボタン、タッチパネル等からなる操作部を備え、この操作部を介してユーザーからのデータ入力や動作指示を受け付ける。なお、操作部と後述の表示部108は少なくとも一部が一体でもよく、例えば、情報の表示出力とユーザーからの操作の受け付けを同一の構成で行うような形態とすることもできる。CPU103は、システム制御部であり、プログラムの実行やハードウェア起動によって情報処理装置101の全体を制御する。ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OSという。)プログラム等の固定データを格納する。本実施形態では、ROM104に格納されている各制御プログラムは、ROM104に格納されている組み込みOSの管理下で、例えば、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。RAM105は、SRAM(Static Random Access Memory)やDRAM等で構成される。なお、RAM105は、図示しないデータバックアップ用の1次電池によってデータが保持されており、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、情報処理装置101の設定情報や情報処理装置101の管理データ等を格納するメモリエリアもRAM105に設けられている。また、RAM105は、CPU103の主メモリとワークメモリとしても用いられる。
外部記憶装置106は、印刷実行機能を提供するアプリケーション(以降、印刷アプリケーションと記載する)を保存している。また、外部記憶装置106は、印刷装置151が解釈可能な印刷情報を生成する印刷情報生成プログラム、通信部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)(商標登録)等を挙げることができる。また、アクセスポイント131としては、例えば、無線LANルーター等の機器などを挙げることができる。なお、本実施形態において、情報処理装置101と印刷装置151とが外部アクセスポイントを介さずにダイレクトに接続する方式をダイレクト接続方式という。また、情報処理装置101と印刷装置151とが外部アクセスポイントを介して接続する方式をインフラストラクチャー接続方式という。
近距離無線通信部110は、印刷装置151等の装置と近距離で無線接続して、図5などで後述されるデータ通信を実行するための構成であり、通信部109とは異なる通信方式によって通信を行う。近距離無線通信部110は、後述される、印刷装置151内の近距離無線通信部157と接続して通信を行うことができる。本実施形態では、近距離無線通信部110の通信方式として、Bluetooth Low Energy(BLE)を用いる。すなわち、近距離無線通信部110は、BLEユニットを有する。BLEユニットは、無線通信の処理を行うマイクロプロセッサであるマイコンと、無線通信によるデータの送受信を行う無線通信回路を含む。なお、マイコンは、RAMとフラッシュメモリが搭載されている。
撮影装置111は撮影素子で撮影した画像をデジタルデータに変換する装置である。デジタルデータは一度RAM105に格納する。その後、CPU154が実行するプログラムで所定の画像フォーマットに変換し、画像データとして外部記憶装置106に保存する。
一方、本実施形態ではプリンタである印刷装置151は、ROM152、RAM153、CPU154、プリントエンジン155、通信部156、近距離無線通信部157、入力インタフェース158、出力インタフェース159、表示部160、等を有して構成される。そして、これら各要素はシステムバスを介して接続されている。
通信部156は、印刷装置151内部のアクセスポイントとして、情報処理装置101等の装置と接続するためのアクセスポイントを有している。なお、このアクセスポイントは、情報処理装置101の通信部109に接続することができる。なお、通信部156は無線通信で情報処理装置101とダイレクトに通信してもよいし、アクセスポイント131を介して通信してもよい。通信方式としては、例えば、Wi−Fi(商標登録)等を挙げることができる。また、通信部156は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウエアにより、アクセスポイントとして動作してもよい。
RAM153は、バックアップ電源を必要とするDRAM等で構成される。なお、RAM153は、図示しないデータバックアップ用の電源が供給されることによってデータが保持されていてもよい。これにより、プログラム制御変数等のデータを揮発させずに格納することができる。また、RAM153は、CPU154の主メモリとワークメモリとしても用いられ、情報処理装置101等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。ROM152は、CPU154が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。本実施形態では、ROM152に格納されている各制御プログラムは、ROM152に格納されている組み込みOSの管理下で、例えば、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。また、印刷装置151の設定情報や印刷装置151の管理データ等の電源供給がされていない場合も保持する必要があるデータを格納するメモリエリアもROM152に設けられている。CPU154は、システム制御部であり、プログラムの実行やハードウェアの起動によって印刷装置151の全体を制御する。
プリントエンジン155、RAM153に保存された情報や情報処理装置101等から受信した印刷ジョブに基づき、インク等の記録剤を用いて紙等の記録媒体上に画像形成し、印刷結果を出力する。この際、情報処理装置101等から送信される印刷ジョブは、送信データ量が大きく、高速な通信が求められるため、近距離無線通信部157よりも高速に通信可能な通信部156を介して受信する。
入力インタフェース158は、物理キーボードやボタン、タッチパネル等からなる操作部を備え、この操作部を介してユーザーからのデータ入力や動作指示を受け付ける。なお、出力インタフェース159と入力インタフェース158とを同一の構成とし、情報の表示出力とユーザーからの操作の受け付けを同一の構成で行うような形態としてもよい。出力インタフェース159は、表示部160がデータの表示や印刷装置151の状態の通知を行うための制御を行う。表示部160は、LED(発光ダイオード)あるいはLCD(液晶ディスプレイ)などで構成でき、データの表示や印刷装置151の状態の通知を行う。なお、表示部160上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを表示することにより、表示部160を介してユーザーからの入力を受け付けるようにしてもよい。なお、印刷装置151には、外付けHDDやSDカード等のメモリがオプション機器として装着されてもよく、印刷装置151に保存される情報を、それらのメモリに保存するようにしてもよい。
近距離無線通信部157は、情報処理装置101等の装置と近距離で無線接続して、図4などで後述されるデータ通信を実行するための構成であり、通信部157とは異なる通信方式によって通信を行う。近距離無線通信部157は、後述される、情報処理装置101内の近距離無線通信部110と接続して通信を行うことができる。本実施形態では、近距離無線通信部157の通信方式として、Bluetooth Low Energy(BLE)を用いる。
図2は、近距離無線通信部157の詳細な構成を示すブロック図である。本実施形態では、近距離無線通信部157は、BLEユニットの形態である。BLEユニットは、CPU201と記憶領域202とROM203とRAM204を有して構成される。記憶領域202は、本印刷装置151のCPU154によってアクセスすることができ。また、近距離無線通信部110を介して情報処理装置101からもアクセスすることができ。RAM204は、DRAM等で構成される。なお、RAM204は、図示しないデータバックアップ用の電源が供給されることによってデータが保持されているおり、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、RAM204は、CPU201の主メモリとワークメモリとしても用いられる。ROM203は、CPU201が実行する、図4などで後述される制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。
本実施形態では、以上説明した、情報処理装置101の近距離無線通信部110と印刷装置151の近距離無線通信部157との間のBLE通信によって、より高速な通信部109と通信部156との通信のための接続情報をBLE通信によって伝送する。そして、その接続情報を用いて通信部109と通信部156との間のWiFiによる高速通信に移行し、上述したように、印刷ジョブなどの転送データ量が大きい情報を、高速で通信する。本実施形態は、このような接続関係を維持したまま1つの通信方式から別の通信方式に移行する通信制御、いわゆるハンドオーバーを用いる。これにより、比較的簡易に接続できる近距離無線通信と、高速かつ大量なデータ転送が可能な無線通信の長所を組み合わせて使用者の利便性を向上させることが可能となる。
このハンドオーバーの動作では、印刷ジョブデータ以外のステータス情報や履歴情報にアクセスするためのチャネルとして引き続きBLE通信を行う場合、印刷が終了するまでBLE通信の接続を維持する。ここで、例えば、WiFiによる高速通信の接続のための情報を、BLE通信によって通知中にその通信が切断されると、例えば、SSIDとパスワード、IPアドレスといった互いに関連する複数のデータが途中まで上書きされ、整合性の取れていない状態になる。なお、本明細書において、通信を再接続する原因となる通信の切断には、文字通り通信が途絶える他、情報処理装置など通信する装置が移動することによって電波の状態が悪くなり、例えば、データの一部が転送されない状態やデータ転送に時間を要する状態も含む。そして、通信中に生じるこれらの状態を、通信不良状態という。
本発明の一実施形態に係るBLE通信の再接続を説明する前に、BLE規格におけるアドバタイジングパケットとダイレクトアドバタイジングパケットについて説明する。BLE通信の最初に、サービスを提供する装置(ペリフェラル:本実施形態では印刷装置151)は、アドバタイジングパケットを送出する。アドバタイジングパケットをスキャンしている装置(セントラル:本実施形態では情報処理装置101)が、上記パケットを受信できる範囲に存在する場合、そのアドバタイジングパケットの内容を確認し、接続する場合にConnectionRequestのパケットを送信して接続常態になる。アドバタイジングパケットのPDUHeaderにはAdvPDU情報が含まれており、このPDU情報によって、ADV_IND、ADV_DIRECT_IND、ADV_NONCONN_IND、ADV_SCAN_INDの4種類のタイプのいずれかが指定される。このうち、ADV_INDが指定された場合、そのパケットは不特定多数の装置に対するパケットであり、どの装置からのConnectRequestに対しても応答する。ADV_DIRECT_INDが指定された場合、そのパケットは指向性が有り特定の装置のみに応答する。
図3は、上記2つのPDU情報それぞれの場合のアドバタイジングパケットで通知する情報(Payload)の内容を示す図である。アドバタイジングパケットのPDU情報が、ADV_INDの場合は、Payloadに、データ301と自身のアドレスであるアドバタイザのアドレス300を含む。一方、PDU情報が、ADV_DIRECT_INDの場合は、自身のアドレスであるアドバタイザのアドレス302だけでなく、通信先を特定するイニシエータのアドレス303も含む。ペリフェラルは、イニシエータのアドレス303で指定した装置のみに応答し、セントラルはイニシエータのアドレス303で指定されたアドレスと自身のアドレスが一致する時だけ接続ための要求を送信する。これにより、指定した相手だけと接続することができる。本発明の一実施形態は、図6にて後述されるように、BLE通信が切断されその後再接続する際に、このADV_DIRECT_INDをPDU情報として用いる。PDU情報の他の2つのタイプである、ADV_NONCONN_IND、ADV_SCAN_INDについては、本実施形態と関係しないため、ここでは説明を省略する。
図4は、印刷装置151が情報処理装置101とBLEで接続し、ハンドオーバーによって印刷ジョブを実行しジョブ終了後に通信を切断するまでの正常な処理を示すフローチャートである。また、図5は、印刷装置151が図4の処理を実行する際の情報処理101の処理を示すフローチャートである。
ステップS401で、印刷装置151は、アドバタイジングパケットを送出する。この場合は、通信相手を特定していないことから、アドバタイジングパケットのAdvPDU情報は、ADV_INDである。このアドバタイジングパケットに応答が返ってくるまで、アドバタイジングパケットを繰り返し送出する。これに対し、図5のステップS501では、ユーザが情報処理装置101の入力インターフェース102を操作することによって印刷ジョブが発生し、ステップS502へ進む。ステップS502では、印刷ジョブを送信する印刷装置を探すため、アドバタイジングパケットを待つスキャン状態に移行する。ここで、印刷装置151がアドバタイジングパケットを繰り返し送出している場合には、ステップS503でアドバタイジングパケットを受信し、ステップS504でConnectRequestのパケットを送信する。印刷装置151はステップS402でConnectRequestを受信し、ステップS403へ進む。
情報処理装置101と印刷装置151は、それぞれステップS505とステップS403でGATT通信を開始し、WiFi接続に必要な情報を受け渡す。この情報にはSSIDとパスワード、IPアドレスが含まれており、この情報を用いて、ステップS506とステップS404でWiFi接続をする。そして、ステップS507とステップS405では、BLE通信とWiFi通信の両方で情報処理装置101と印刷装置151が接続された状態になっている。すなわち、高速なWiFi通信でジョブを実行させ、BLE通信でステータス情報およびジョブの管理情報等を情報処理装置101へ通知する。このように通信チャネルを分けることで、大量のジョブデータを転送していてもステータス情報を取得することができる。本実施形態では、ステータス情報、ジョブ管理情報の読出しをBLE接続の対象としたが、他の応用としては、ジョブ制御コマンドをBLE通信に割り当ててもよい。ジョブ操作、例えば緊急停止の通知等においては、ジョブデータの転送負荷から受ける影響を少なくすることの利点が大きい。
ステップS508、S406ではジョブの終了を確認し、ジョブが終了すると、それぞれステップS509、S407へ進み、WiFi通信およびBLE通信の終了処理を実行する。終了処理が終わると、印刷ジョブに対する一通りの処理が完了となり、次の印刷ジョブに対して処理が再開される。
図6は、BLE通信の切断が発生したときの印刷装置151における通信終了処理を示すフローチャートである。また、図7は、印刷ジョブを正常に処理したときの印刷装置と情報処理装置との間の通信内容のシーケンスを示す図である。さらに、図8は、一例として、電波の状態が悪いために関連する複数のデータの書き込み(転送)が一部抜けた状態の、図7に示す同じ装置間の通信内容のシーケンスを示す図である。これらの図を参照して、本実施形態の通信終了処理を説明する。
図7および図8に示すように、最初に、BLE通信の印刷装置151からアドバタイジングパケット800が送信される。これに対して、情報処理装置101はConnectRequest801を送信して応答し、通信が接続された状態となる。
接続状態になると、図7に示すように、授受したいデータに関してDataパケット802〜804・・・が送信される。ここでは、SSID、パスワード、IPアドレスの関連する情報のセットが総て書き込まれた(転送された)ので印刷装置151内のデータの整合性は保たれている。そして、印刷ジョブの実行が終了すると、BLE通信の最後に情報処理装置101からDisconnectのパケット805が送信される。また、図8に示すように、通信の電波の状態が悪いなどの原因でデータの書き込みが一部抜けた状態があり、その後正常な状態で情報処理装置101からDisconnectのパケット805が送信される場合がある。図6に示す終了処理は、印刷装置151が、以上説明した状況で送信されるDisconnectのパケット805を受信した場合、または、通信時間がタイムアウト(設定した所定時間経過した)場合に起動される。ここで送信されるDisconnectは、図8にて後述されるように、関連する複数のデータの転送が一部抜けた状態でDisconnectが送信される場合を含む。すなわち、図6に示す終了処理は、上述した通信不良状態が生じたときも起動される。
図6において、印刷装置151は、先ず、ステップS600で、印刷ジョブが実行中か否かを判断する。図7に示した場合のように、印刷ジョブが終了している場合、その旨を判断し、次に、ステップS601で、関連する複数のデータの書き込み(転送)が途中で終わっているか否かを確認する。図7に示した場合のように、印刷ジョブが正常に終了して、Dataパケット802〜804の受信で関連するデータであるSSID、パスワード、IPアドレスが総て書き込まれている場合は、次にステップS602で、通信タイムアウトが発生しているか否かを確認する。図7に示した場合のように、印刷ジョブが正常に終了して、通信タイムアウトが発生していない場合は、ステップ603で、BLE通信の切断処理を実行して本処理を終了する。
一方、図8に示したように、関連する複数のデータの書き込みが一部抜けた状態でDisconnectのパケット805が送信され、本処理が開始された場合は、印刷装置151は、ステップS601で、複数のデータの書き込みが一部抜けた状態であると判断し、ステップS604へ移行し、再接続の処理を行う。図8に示す例では、情報処理装置101からパスワードとIPアドレスが送られて来ることなく、Disconnect805が通知され、印刷装置151において複数のデータ間で整合性が取れていない状態になっている。なお、関連する複数のデータとして、SSID、パスワード、IPアドレスの例に挙げたが、ルータの情報や、通信相手の装置についての情報等、複数のデータの間に整合性が求められるものが確認の対象のデータとすることができる。
印刷装置151は、ステップS604で、再接続のためアドバタイジングパケットを送信する。すなわち、図3にて上述した、PDU情報がADV_DIRECT_INDであって、BLE通信が切断する前に接続していた情報処理装置101のデバイスアドレスがPayloadのイニシエータのアドレス部分に書き込まれたアドバタイジングパケットを送信する。上記PDU情報は、図4のステップS401で送信するアドバタイジングパケットのPDU情報と異なり、通信相手を特定できるものである。これにより、再接続のためにステップS604で送信したアドバタイジングパケットによって、通信切断前に接続していた情報処理装置101を、該アドバタイジングパケットに応答可能な装置として特定できる。そして、その情報処理装置101だけが、該アドバタイジングパケットに応答して、ConnectRequestを送信するようにすることができ、他の装置は該アドバタイジングパケットに対して応答できず、即ちConnectRequestを送信することができない。印刷装置151は、ステップS605で、この情報処理装置101からのConnectRequestを受信し、ステップS606で通信を再接続してGATT通信を再開する。
ステップS600で印刷ジョブを実行中と判断した場合、およびステップS602で通信がタイムアウトであると判断した場合、同様に、ステップS604以降の再接続処理を行う。
ステップS600の印刷ジョブが実行中に関する判断は、タイムアウトおよびデータの転送が一部抜けた状態、という状態以外の通信不良状態が発生し、印刷装置151が、Disconnectを受信した場合に、印刷ジョブ実行中の場合は、通信を再接続して印刷に係るBLE通信を行うことが必要であるために行う。
図9は、ステップS602で判断される通信のタイムアウトが生じたときの通信内容の一例のシーケンスを示す図である。図9に示す例は、図7に示したように、途中までDataパケットが送信されたが、設定した所定の通信時間が経過した場合を示している。このように通信のタイムアウトが発生した場合も、図6に示した処理が実行され、ステップS602で通信タイムアウトが発生したと判定されて、ステップS604以降の再接続処理が行われる。
図10は、図6に示した印刷装置151におけるBLE通信終了処理に対応した、情報処理装置101におけるBLE通信の終了処理を示すフローチャートである。この処理は、上述したように、情報処理装置101からDisconnectを送信した時および通信タイムアウトが発生したときに実行される。
情報処理装置101は、先ず、ステップS700でBLE通信の切断処理をした後、ステップS701で、印刷装置151からのアドバタイジングパケットの受信を待機する。すなわち、印刷装置151から図6のステップS604の処理によって、切断した本情報処理装置に再接続のためのアドバタイジングパケットが送信されることがあるからである。このアドバタイジングパケットは、切断前に通信を行っていた本情報処理装置を特定したものであることは、上述したとおりである。
この再接続のためのアドバタイジングパケットを受信すると、ステップS704で、ConnectRequestを送信する。これは、図6のステップS605におけるConnectRequest受信に対応する。そして、ステップS705でBLE接続を再開する。同様に、これは、図6のステップS606におけるGATT通信再開に対応する。
情報処理装置101は、テップS701で、アドバタイジングパケットを受信していない判断したときは、ステップS702で、本処理について設定された所定の時間が経過した(タイムアウト)か否かを判断する。タイムアウトの場合は本処理を終了する。情報処理装置101は、ステップS703では、ユーザによって入力インターフェース102が操作され、新たな印刷ジョブを受け付けているか否かを判断する。新たな印刷ジョブが発生していると判断したときは、印刷装置151からの再接続を待つのを中断し、本処理を終了する。
以上の実施形態によれば、BLE通信の切断状態を検知し、再接続が必要な場合は、それまで通信していた相手装置を特定してアドバタイジングパケットを送出する。これにより、他の情報処理装置が先に応答、接続してしまうことを防ぎ、通信切断前の相手装置と確実に再接続することができる。その結果、例えば、通信切断によって関連し合うデータの一部のみが上書きされて、データの不整合を防ぎ、通信相手装置の状態情報のずれを防止することができる。
(他の実施形態)
上述した実施形態は、ハンドオーバーによる通信形態に関するものであるが、本発明は、この形態に限定されない。例えば、BLE通信単独で通信する場合の通信の切断に対しても本発明を適用することができる。この場合、印刷装置のBLE終了処理は、例えば、図6のステップS601や図8に示した、関連データの送信が一部が抜けて書き込み途中と判断したときに、ステップS604以降の処理を行う形態とすることができる。
101 情報処理装置
103 CPU
109 通信部
110 近距離無線通信部
151 印刷装置
154 CPU
156 通信部
157 近距離無線通信部
201 CPU
202 記憶領域
203 ROM
204 RAM
300 アドバタイザのアドレス
301 データ
302 アドバタイザのアドレス
303 イニシエータのアドレス

Claims (9)

  1. 無線通信機能を備えた装置であって、
    情報処理装置との間でBLE通信を行うためのBLE通信手段と、
    前記BLE通信手段により第1の情報処理装置との通信において通信不良状態を検知すると、前記第1の情報処理装置を応答可能な装置として特定し、且つ第2の情報処理装置が応答できないアドバタイジングパケットを送信することで、当該第1の情報処理装置との通信を再開するよう制御する制御手段と、
    を具えたことを特徴とする無線通信機能を備えた装置。
  2. 前記通信不良状態には、情報処理装置との通信時間が所定の時間を超えるタイムアウトが含まれることを特徴とする請求項1に記載の無線通信機能を備えた装置。
  3. 前記通信不良状態には、情報処理装置からの複数のデータの転送において一部のデータが抜けた状態が含まれることを特徴とする請求項1に記載の無線通信機能を備えた装置。
  4. 印刷を行う印刷手段をさらに具え、
    前記制御手段は、前記通信不良状態を検知し、かつ前記印刷手段による印刷ジョブを実行中であるとき、前記第1の情報処理装置を特定するアドバタイジングパケットを送信し当該第1の情報処理装置との通信を再開するよう制御することを特徴とする請求項1ないし3のいずれか1項に記載の無線通信機能を備えた装置。
  5. 前記制御手段は、情報処理装置から通信を切断するパケットを受信したとき、または通信時間が所定の時間を超えるタイムアウトのときに実行されるBLE通信終了処理において、前記第1の情報処理装置を特定するアドバタイジングパケットを送信し当該第1の情報処理装置との通信を再開するよう制御することを特徴とする請求項1ないし4のいずれか1項に記載の無線通信機能を備えた装置。
  6. 前記制御手段は、前記BLE通信終了処理において、印刷ジョブを実行中、情報処理装置からの複数のデータの転送において一部のデータが抜けた状態、および情報処理装置との通信時間が所定の時間を超えるタイムアウト、のいずれでもないと判断した場合は、BLE通信の切断処理を実行することを特徴とする請求項5に記載の無線通信機能を備えた装置。
  7. 前記BLE通信手段とは別の通信手段をさらに具え、
    前記制御手段は、前記BLE通信によって情報処理装置との通信の接続を行い、前記接続を維持したまま前記BLE通信から前記別の通信手段による通信に移行することを特徴とする請求項1ないし6のいずれか1項に記載の無線通信機能を備えた装置。
  8. 無線通信機能を備えた装置が実行するプログラムであって、
    情報処理装置との間でBLE通信を行うためのBLE通信工程と、
    前記BLE通信工程において第1の情報処理装置との通信において通信不良状態を検知すると、前記第1の情報処理装置を応答可能な装置として特定し、且つ第2の情報処理装置が応答できないアドバタイジングパケットを送信することで、当該第1の情報処理装置との通信を再開するよう制御する制御工程と、
    を前記無線通信機能を備えた装置に実行させることを特徴とするプログラム。
  9. 無線通信機能を備えた印刷装置と情報処理装置を有したシステムであって、
    前記印刷装置と前記情報処理装置との間でBLE通信を行うためのBLE通信手段と、
    前記BLE通信手段による前記印刷装置と第1の情報処理装置との通信において通信不良状態を検知すると、前記印刷装置から、前記第1の情報処理装置を応答可能な装置として特定し、且つ第2の情報処理装置が応答できないアドバタイジングパケットを、前記情報処理装置へ送信することで、当該印刷装置と当該第1の情報処理装置との通信を再開するよう制御する制御手段と、
    を有したことを特徴とするシステム。
JP2016162666A 2016-08-23 2016-08-23 無線通信機能を備えた装置およびその装置で実行されるプログラム Pending JP2018032928A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016162666A JP2018032928A (ja) 2016-08-23 2016-08-23 無線通信機能を備えた装置およびその装置で実行されるプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016162666A JP2018032928A (ja) 2016-08-23 2016-08-23 無線通信機能を備えた装置およびその装置で実行されるプログラム

Publications (1)

Publication Number Publication Date
JP2018032928A true JP2018032928A (ja) 2018-03-01

Family

ID=61303845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016162666A Pending JP2018032928A (ja) 2016-08-23 2016-08-23 無線通信機能を備えた装置およびその装置で実行されるプログラム

Country Status (1)

Country Link
JP (1) JP2018032928A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020162113A (ja) * 2019-03-25 2020-10-01 カシオ計算機株式会社 制御装置、無線接続制御方法、プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020162113A (ja) * 2019-03-25 2020-10-01 カシオ計算機株式会社 制御装置、無線接続制御方法、プログラム

Similar Documents

Publication Publication Date Title
US11711481B2 (en) Communication apparatus
KR102210020B1 (ko) 통신 장치 및 그 제어 방법
US20170290071A1 (en) Information processing apparatus, control method, and non-transitory computer-readable storage medium
US20170005876A1 (en) Communication Apparatus
JP7112203B2 (ja) 通信装置、制御方法、及びプログラム
JP2023015292A (ja) 通信装置、制御方法、及びプログラム
JP6667476B2 (ja) 通信装置、制御方法及びプログラム
JP2018098810A (ja) 情報処理装置、制御方法、プログラムおよび通信システム
US10681748B2 (en) Communication method and communication apparatus
JP2017212505A (ja) 通信装置、通信方法、およびプログラム
JP2018032928A (ja) 無線通信機能を備えた装置およびその装置で実行されるプログラム
JP6701116B2 (ja) 印刷装置およびプログラム
US11330500B2 (en) Non-transitory computer-readable recording medium storing computer-readable instructions for communication device, communication device, and method executed by communication device
JP6888037B2 (ja) 情報処理装置、制御方法およびプログラム
CN113453308A (zh) 信息处理装置、控制方法及计算机可读存储介质
EP4161158A1 (en) Information processing apparatus, method for controlling the same, and storage medium
JP7493361B2 (ja) 情報処理装置、制御方法およびプログラム
JP2019009732A (ja) 通信装置、制御方法、及びプログラム
JP2024053381A (ja) 情報処理装置、その制御方法およびプログラム
JP2021072599A (ja) 通信システム、情報処理装置、通信装置及びプログラム