以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
(第1実施形態)
本発明を適用した画像処理装置について説明する。本実施形態においては、画像処理装置としてインクジェット方式の複合機(MFP)を例示している。MFPとは、プリント、スキャナ、コピー、ファックス等の複数の機能を有する装置である。なお、画像処理装置は、例えば、フルカラープリンタ、モノクロプリンタであっても良く、プリンタのみならず複写機やファクシミリ装置、スキャナ、パーソナルコンピュータ(PC)等であっても良い。また、画像処理装置がプリンタである場合は、利用する印刷方式はインクジェット方式に限定されず、例えば電子写真方式であっても良い。さらに、画像処理装置は、MFPではなく、単機能の装置(SFP)であっても良い。外部装置は、画像処理装置にジョブを送信可能な装置である。本実施形態においては、外部装置として、近距離無線通信規格の1つであるBluetooth(登録商標) Low Energy(以下、BLE)通信が可能な携帯端末を例示している。なお、外部装置は、例えば、PCやスマートホン、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等であっても良い。
図1を用いて、本実施形態の通信システムについて説明する。
MFP100は、本発明を適用した画像処理装置である。MFP100は、BLE通信におけるスレーブ装置として動作する。また、MFP100は、特定の端末とネットワーク接続をすること無く、MFP100の周囲に存在する不特定の外部装置に対してアドバタイズパケットを送信する(ブロードキャストする)ことができる。
携帯端末30は、本実施形態における外部装置である。携帯端末30は、BLE通信におけるマスタ装置として動作する。携帯端末30は、MFP100が送信するアドバタイズパケットの到達範囲であるパケット到達エリア20の内部に位置する場合は、MFP100から送信されるアドバタイズパケットを受信することができる。なお、携帯端末30は、複数の画像処理装置のパケット到達エリア内に存在する場合、複数の画像処理装置からアドバタイズパケットを受信することができる。また、携帯端末30は、MFP100から受信するアドバタイズパケットの信号強度から、MFP100とのおおよその距離を推定することができる。
図2はMFP100の外観を示す図である。なお、図2(a)はMFP100の斜視図、図2(b)はMFP100の上面図である。
原稿台201は、ガラス状の透明な台であり、原稿をスキャナで読み取る際に原稿を置く台として使用される。原稿蓋202は、原稿をスキャナで読み取る際に読取光が外部に漏れないようにするために使用される。
記録媒体挿入口203は、様々なサイズの記録媒体を保持するために使用される。記録媒体挿入口203にセットされた記録媒体は、後述する記録部314に一枚ずつ搬送され、携帯端末30等から送信される印刷ジョブに応じた印刷が行われて記録媒体排出口204から排出される。また、MFP100は、記録媒体の別の供給手段として、カセット205とカセット206とを備えている。あらかじめカセット205又はカセット206に印刷ジョブに対応した記録媒体をセットしておくことで、MFP100は、印刷毎に記録媒体の供給を受けることなく印刷を開始することができる。なお、MFP100は、記録媒体として、紙やOHPシート、ラベル、フィルム等を利用可能である。
原稿蓋202の上部には操作表示部207及びBT通信部208、WI−FI通信部209が配置されている。操作表示部207は、画像や操作メニュー等を表示する表示画面、表示部上のカーソール移動などに用いる十字キー、その他様々な機能を実行する為のキーなどを備える。BT通信部208は、Bluetooth(登録商標)通信及びBLE通信を行うために利用される。BT通信部208の詳細は、図4を用いて後述する。WI−FI通信部209は、Wi−Fi(Wireless Fidelity)(登録商標)通信を行うために利用される。
なお、上述の各構成が配置される位置は、図2に示す位置に限定されず、他の位置であっても良い。
図3はMFP100の概略構成を示すブロック図である。
MFP100は、装置のメインの制御を行うメインボード301と、Bluetooth(登録商標)通信及びBLE通信を行うBLEユニット316、Wi−Fi(登録商標)通信を行うWLANユニット318を有する。
メインボード301において、CPU302は、システム制御部であり、MFP100の全体を制御する。ROM303は、CPU302が実行する制御プログラムや組込オペレーティングシステム(以下、OS)プログラム等の各種プログラムを格納する。本実施形態では、ROM303に格納されている制御プログラムは、ROM303に格納されている組込OSの管理下で、スケジューリングやタスクスイッチ等のソフトウエア制御を行う。RAM304は、SRAM(static RAM)等のメモリで構成され、プログラム制御変数、ユーザが登録した設定値、MFP100の管理データ、後述のアドバタイズモード変更条件の設定情報等を格納し、各種ワーク用バッファ領域が設けられている。なお、これらのデータは、RAM304でなく、ROM303や不揮発性メモリ305等の他の記憶領域に保存されても良い。
不揮発性メモリ305は、フラッシュメモリ(flash memory)等のメモリで構成され、電源がオフされた場合でも保持していたいデータを格納する。具体的には、不揮発性メモリ305には、ネットワーク情報などのユーザデータ、過去に接続した外部装置のリスト、印刷モードなどのメニュー項目、記録ヘッドの補正情報といったMFP100の設定情報等が記憶される。なお、これらの設定情報データは、不揮発性メモリ305でなく、ROM303やRAM304等の他の記憶領域に保存されても良い。また、ROM303や不揮発性メモリ305に保存された設定情報をCPU302がRAM304に展開することで、設定情報を利用した処理を行っても良い。
画像メモリ306は、DRAM(dynamic RAM)等のメモリで構成され、BLEユニット316やWLANユニット318等を介して受け付けた画像データや、符号復号化処理部312で処理した画像データ等の各種データを格納する。
なお、MFP100のメモリ構成は、この形態に限定されるものではなく、用途や目的に応じて、その数や特性、記憶容量等を適宜変更することができる。例えば、画像メモリ306とRAM304を共有させてもよい。また、画像メモリ306は、DRAM等で構成されているが、これに限定されず、ハードディスク(以下、HDD)や不揮発性メモリ等で構成されていても良い。
データ変換部307は、受信したジョブに含まれる画像データに対し、画像処理制御部(不図示)を介して、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を行う。これらの処理を実行することで、データ変換部307は、印刷対象の画像データを高精細な印刷データに変換し、変換した印刷データを記録部314に出力する。
読取部310は、CISイメージセンサ(密着型イメージセンサ)等によって原稿を光学的に読み取る。読取制御部308は、読取部310が読み取った画像信号に対し、2値化処理や中間調処理等の各種画像処理を施すことで、高精細な画像データを出力する。
操作部309及び表示部311は、操作表示部207に対応しており、MFP100に対する各種入力の受け付けやMFP100に関する各種情報の表示を行う。
符号復号化処理部312は、画像データに対し、符号復号化処理や拡大縮小処理等の各種処理を行う。
給紙部313は、印刷のための記録媒体を保持し、記録制御部315からの制御によって記録部314に対して記録媒体を供給する。なお、給紙部313は、記録媒体挿入口203、カセット205及びカセット206に対応している。
記録制御部315は、記録媒体挿入口203、カセット205及びカセット206のうちいずれの部位から給紙を行うかを制御する。また、記録制御部315は、記録部314のステータス等の各種情報を定期的に読みだすことで、RAM304の情報を更新する役割も果たす。具体的には、記録制御部315は、例えば、使用中、スリープ中、エラー発生中といった装置の状態やインクタンクの残量等の情報を更新する。
記録部314は、データ変換部307から出力された印刷データや印刷ジョブに含まれる印刷設定情報に基づき、インク等の記録剤によって記録媒体上に画像を形成する画像形成処理(印刷処理)を実行する。
BLEユニット316は、BLEの規格に準拠した通信を実現するためのユニットであり、BT通信部208に対応する。なお、BLEユニット316は、クラシックBluetooth(登録商標)通信とBLE通信の兼用のユニットである。BLEユニット316は、アドバタイズパケットの送信や接続要求情報の受信、BLE接続を確立した外部装置とのデータ通信(ジョブや他の通信方式による通信のための情報の送受信等)のための機能を担う。BLEユニット316は、後述のアドバタイズパケットや接続要求情報を送受信することで、他のBLEユニットとBLE接続を確立する。また、BLEユニット316は、バスケーブル317を介してシステムバス320に接続されている。WLANユニット318は、Wi−Fi(登録商標)の規格に準拠した通信を実現するためのユニットであり、Wi−Fi通信部209に対応する。WLANユニット318は、Wi−Fi接続を確立するための、接続情報の送信処理や認証処理、Wi−Fi接続を確立した外部装置からのジョブの受信等の機能を担う。また、WLANユニット318は、バスケーブル319を介してシステムバス320に接続されている。
上記各種構成要素302〜319は、CPU302が管理するシステムバス320を介して、相互に接続されている。
なお、MFP100は、BLEユニット316やWLANユニット318以外の通信ユニットを備えていても良い。また、MFP100は、通信ユニットを複数備え、複数種類の通信方式によって通信可能であっても良い。なお、通信は無線通信でダイレクトに通信しても良いし、ネットワーク上に設置したMFP100外部のアクセスポイントを介して通信しても良い。通信方式としては、例えば、NFC(Near Field Communication;ISO/IEC IS 18092)等が挙げられる。また、無線通信に限らず、有線LAN等によって有線による通信を行っても良い、MFP100は、これらの通信方式を利用したネットワークを介して、携帯端末30等の他の外部装置からジョブを受け付ける。
また、MFP100がジョブを受け付ける方法は、無線通信や有線通信を介して外部装置からジョブを受信する方法に限らない。例えば、MFP100は、操作部309を介してユーザから直接印刷やスキャンのための指示を受け付けることによって、ジョブを受け付けても良い。
図9は携帯端末30の概略構成を示すブロック図である。
携帯端末30は、装置のメインの制御を行うメインボード901と、Bluetooth(登録商標)通信及びBLE通信を行うBLEユニット911、Wi−Fi(登録商標)通信を行うWLANユニット913を有する。
メインボード901において、CPU902は、システム制御部であり、携帯端末30の全体を制御する。ROM903は、CPU902が実行する制御プログラムや組込OSプログラム等の各種プログラムを格納する。本実施形態では、ROM903に格納されている制御プログラムは、ROM903に格納されている組込OSの管理下で、スケジューリングやタスクスイッチ等のソフトウエア制御を行う。RAM904は、SRAM等のメモリで構成され、プログラム制御変数、ユーザが登録した設定値、携帯端末30の管理データ等を格納し、各種ワーク用バッファ領域が設けられている。なお、これらの設定情報データは、RAM904でなく、ROM903や不揮発性メモリ905等の他の記憶領域に保存されても良い。
不揮発性メモリ905は、フラッシュメモリ等のメモリで構成され、電源がオフされた時でも保持していたいデータを格納する。具体的には、不揮発性メモリ905には、ネットワーク情報などのユーザデータ、過去に接続した画像処理装置のリストといった携帯端末30の設定情報などが記憶される。なお、これらの設定情報データは、不揮発性メモリ905でなく、ROM903やRAM904等の他の記憶領域に保存されても良い。また、ROM303や不揮発性メモリ905に保存された設定情報をCPU902がRAM904に展開することで、設定情報を利用した処理を行っても良い。
画像メモリ906は、DRAM等のメモリで構成され、BLEユニット911やWLANユニット913等を介して受信した画像データや、符号復号化処理部910で処理した画像データ等の各種データを格納する。
なお、携帯端末30のメモリ構成は、この形態に限定されるものではなく、用途や目的に応じて、その数や特性、記憶容量等を適宜変更することができる。例えば、画像メモリ906とRAM904を共有させてもよい。また、画像メモリ906は、DRAM等で構成されているが、これに限定されず、HDDや不揮発性メモリ等で構成されていても良い。
データ変換部907は、ページ記述言語(PDL)等のデータの生成や、画像データに対する色変換、画像変換などのデータ変換を行う。
操作部908及び表示部909は、携帯端末30に対する各種入力の受け付けや携帯端末30に関する各種情報の表示を行う。
符号復号化処理部910は、画像データに対し、符号復号化処理や拡大縮小処理等の各種処理を行う。
BLEユニット911は、BLEの規格に準拠した通信を実現するためのユニットである。なお、BLEユニット911は、クラシックBluetooth(登録商標)通信とBLE通信の兼用のユニットある。BLEユニット911は、アドバタイズパケットの受信、接続要求情報の送信、BLE接続を確立した装置とのデータ通信等の機能を担う。また、BLEユニット911は、バスケーブル912を介してシステムバス915に接続されている。WLANユニット913は、Wi−Fi(登録商標)の規格に準拠した通信を実現するためのユニットである。WLANユニット913は、Wi−Fi接続を確立するための、スキャン処理や認証処理、Wi−Fi接続を確立した外部装置からのジョブの受信等の機能を担う。また、WLANユニット913は、バスケーブル914を介してシステムバス915に接続されている。
上記各種構成要素902〜914は、CPU902が管理するシステムバス915を介して、相互に接続されている。
なお、携帯端末30は、BLEユニット911やWLANユニット913以外の通信ユニットを備えていても良い。また、携帯端末30は、通信ユニットを複数備え、複数種類の通信方式によって通信可能であっても良い。なお、通信は無線通信でダイレクトに通信しても良いし、ネットワーク上に設置した携帯端末30外部のアクセスポイントを介して通信しても良い。通信方式としては、例えば、NFC等が挙げられる。また、無線ではなく、有線によって通信しても良い。
図4はBLEユニット316の概略構成を示すブロック図である。バスケーブル317は、BLE通信によって送受信するデータをメインボード301とマイコン403の間で送受信するためのケーブルである。マイコン403はBLE通信を実現するための処理を行うマイクロプロセッサである。マイコン403には、RAMとフラッシュメモリが搭載されている。無線通信回路404は、無線通信チップ、水晶振動子、インダクタンス、コンデンサ等で構成される。無線通信回路404は、BLEにおける物理層(PHY)を司る構成であり、アナログ信号の変調と復調、デジタルシンボルとの変更等を行うことで、後述のアドバタイズやBLE接続後のデータ通信を行う。操作スイッチ405はBLEユニット316に供給する電力をオン、オフするスイッチである。電池406はボタン電池等である。本体電源402はメインボード301から供給される電力によって動作する電源である。電源回路407は電池406からの電力をより効率的に供給するために電圧調整等の処理を行う回路である。BLEユニット316は、電池406と本体電源402の2系統の電源を持つことで、MFP100の電源がオフになったりMFP100が省電力モードに移行した等の理由でメインボード301からの電力供給が停止した場合も、BLE通信を行うことができる。また、BLEユニット316は、不揮発性メモリ401を搭載し、メインボード301から送られてくる情報を不揮発性メモリ401に移動しておくことで、メインボード301と通信できない状態でも他の装置とBLE通信をすることができる。また、BLEユニット911も、BLEユニット316と同様の構成を有するものとする。
図7を用いて、BLEにおけるアドバタイズパケットの送信及び接続要求情報の受信の処理について説明する。本実施形態では、MFP100がスレーブ機器として動作するため、BLEユニット316が上記処理を行うものとする。
BLEユニット316は、2.4GHzの周波数帯を40チャネル(0〜39ch)に分割して通信を行う。BLEユニット316は、そのうち、37〜39番目のチャネルをアドバタイズパケットの送信及び接続要求情報の受信に利用し、0〜36番目のチャネルをBLE接続後のデータ通信に利用している。図7では、縦軸がBLEユニット316の消費電力を、横軸が時間を示しており、1つのチャネルを利用してアドバタイズパケットを送信する際の消費電力を各処理別に示している。Tx705は、アドバタイズパケットをブロードキャストする処理である送信処理における総消費電力を、Rx706は、接続要求情報を受信するための受信器を有効にしておく処理である受信処理における総消費電力を示している。送信電力702は送信処理による瞬間消費電力を示している。また、受信電力703は受信処理による瞬間消費電力を示している。また、マイコン動作電力701は、マイコン403が動作している場合の瞬間消費電力を示している。なお、Tx705とRx706の前後や間にもマイコン403が動作しているのは、送信・受信処理の実行や停止のためには事前にマイコン403が起動している必要があるからである。また、アドバタイズパケットの送信を複数チャネルで行う場合は、アドバタイズパケットの送信を行うチャネルの数だけ消費電力が増えることになる。また、マイコン403が動作を行っておらず、BLEユニット316が省電力状態となっている間は、スリープ電力704がBLEユニット316の瞬間消費電力となる。このように、BLEユニット316は、所定のチャネルを用いて送信処理を行った後、同一のチャネルを用いて一定時間受信処理を行うことで、外部装置から接続要求情報が送信されるのを待つ。
また、BLEユニット316は、図8(a)に示すように、アドバタイズパケットの送信処理と受信処理を、チャネル別に3回繰り返した後、マイコン403の動作を停止させ一定時間省電力状態になる。以下、所定のチャネルによるアドバタイズパケットの送信処理と受信処理の組み合わせをアドバタイズと言う。また、所定のチャネルによってアドバタイズパケットを送信する時間間隔をアドバタイズ間隔という。なお、1回目のアドバタイズを行ってから省電力状態になるまでに繰り返すアドバタイズの回数は、3回以下であれば任意に変更可能である。
図5は、BLEユニット316がMFP100の周辺にブロードキャストするアドバタイズパケットの構造の一例である。
BLEユニット316は、電力の供給が開始されると初期化処理を行い、アドバタイジング状態となる。BLEユニット316は、アドバタイジング状態となると、アドバタイズ間隔に基づいて定期的にアドバタイズパケットを周辺にブロードキャストする。アドバタイズパケットとは、基本的なヘッダ情報(当該アドバタイズパケットを送信する装置を識別するための識別情報等)を含む信号であり、ヘッダ501とペイロード502から構成される。外部装置は、このアドバタイズパケットを受信することで、MFP100の存在を認識することができる。さらに、外部装置は、MFP100に接続要求情報を送信することでMFP100とBLE接続することができる。ヘッダ501は、アドバタイズパケットのタイプやペイロード502の大きさの情報などを格納する領域である。ペイロード502は、識別情報としてのデバイス名や搭載プロファイル情報、MFP100と接続するための接続情報、アドバタイズパケットの送信電力(Tx Power)等の情報を格納する。
ペイロード502の詳細を説明する。デバイス名503にはMFP100を識別するための識別情報が格納されている。識別情報は、例えば、BLEによって規定された文字列やMFP100のシリアルナンバー、MACアドレス等の情報であり、MFP100を一意に特定するための情報である。
接続情報504には、MFP100とBLE接続を行うための情報が格納されている。なお、BLE接続を行うための情報は、具体的には、BLEによって規定されたプロトコルデータが該当する。携帯端末30等の外部装置は、プロトコルデータを送受信することで、BLE接続を確立する。
また、このときMFP100と外部装置は、BLE以外で接続を確立することも可能である。例えば、MFP100へ接続を行うための情報として、MFP100が備える不図示のWLANユニットへの接続情報を設定しておくことで、アドバタイズパケットを受信した外部装置はWLANでMFP100と接続をすることができる。なお、接続情報504には、外部装置によるMFP100の検索を可能とするか不可とするかを示す情報である検索情報を格納しても良い。検索を不可とする検索情報が格納されたアドバタイズパケットを受信した外部装置は、例えば、MFP100の状態をユーザに通知することはできるが、MFP100との接続の確立やMFP100を接続候補の装置としてリストアップすることができない。すなわち、この場合MFP100は、外部装置に対して情報を一方的に送信することができる。なお、検索情報は、フラグによってMFP100の検索を可能とするか不可とするかを示しても良い。
Tx Power505には、アドバタイズパケットの送信電力の情報が格納されている。アドバタイズパケットを受信した外部装置は、Tx Power505と、アドバタイズパケットを受信した時の信号強度から伝搬損失を求めることにより、装置間の距離を推定することができる。
アドバタイズモード情報506には、アドバタイズパケットを送信した時のMFP100のアドバタイズモードの情報が格納されている。アドバタイズモードの詳細については後述する。
エラー情報507には、アドバタイズパケットを送信した時のMFP100のエラー状態を示す情報が格納されている。アドバタイズパケットを受信した外部装置は、エラー情報507を参照することで、MFP100と接続を確立することなくMFP100にエラーが発生していることを特定してユーザに通知することができる。
自動電源オフ機能情報508には、後述する自動電源オフ機能に関する情報が格納されている。自動電源オフ機能に関する情報とは、例えば、電源オフ時間の設定情報や、電源オフ時間までの残り時間の情報、後述するモード変更条件が満たされているか否かの情報等である。アドバタイズパケットを受信した外部装置は、自動電源オフ機能情報508を参照することで、自動電源オフ機能に関する情報をユーザに通知することができる。
エラー情報507の詳細を、図6を用いて説明する。エラー情報507として、ジョブ状況の情報(以下、ジョブ状況601)、ジョブエラーの情報(以下、ジョブエラー602)、リカバブルエラーの情報(以下、リカバブルエラー603)、フェイタルエラーの情報(以下、フェイタルエラー604)とがある。なお、ジョブエラー、リカバブルエラー及びフェイタルエラーとは、MFP100に起こり得るエラーが分類されたものである。MFP100が、それらのエラーのうちいずれかのエラー状態となっている場合に、当該エラー状態を示す情報がエラー情報507に格納される。
本実施形態では、エラー情報にビットが割り当てられていることから、複数のエラーが発生した場合も、発生したエラーそれぞれをユーザに通知できる。また、アドバタイズパケットを受信した外部装置は、エラー情報507に含まれる情報に基づいてMFP100に発生しているエラー状態を特定してユーザに通知することができる。そのため、ユーザは、外部装置からの通知を確認することで、エラーを解除してからMFP100を使用するか、もしくは別の画像処理装置を使用するかを判断することができる。
ジョブ状況601には、MFP100が受けているジョブの状況等の情報が格納されている。例えば、受信済ジョブ数、受信済ページ数等の情報が格納されている。アドバタイズパケットを受信した外部装置は、受信済ジョブ数、受信済ページ数を特定することで、ジョブを送信した場合に、当該ジョブが処理されるまでの待ち時間がどの程度になるかを推測(特定)することができる。
ジョブエラー602には、MFP100がジョブを受信して実行する際に発生したエラーの内容を示す値が格納されている。なお、ジョブエラーは、例えば、用紙サイズミスマッチ、用紙種ミスマッチ、画像デコードエラー、パケットエラー、色ミスマッチ、面付けエラー、サポート無しエラー等である。ジョブエラーは、例えば、送信したジョブの設定情報とMFP100の設定情報が一致しなかったりする場合に発生することが多い。即ち、アドバタイズパケットを受信した外部装置から適切なジョブを送信し直すことで、あるいは、MFP100の設定を変更することで解消できるものが多い。MFP100は、ジョブエラー602によって、MFP100の周囲に存在するユーザが所持する外部装置に、MFP100がジョブエラー状態である旨を通知することができる。
リカバブルエラー603には、MFP100に発生しているエラーの中でユーザによるMFP100のメンテナンスが必要なエラーを示す値が格納されている。リカバブルエラー603には、ジョブエラー602と同様にビット毎にエラーを示す値が割り当てられている。なお、リカバブルエラーは、例えば、搬送部紙ジャム、給紙部紙ジャム、用紙トレーフル、排出口クローズ、カバーオープン、インク無し、インク残量少、その他のユーザによるメンテナンスが必要なエラーである。MFP100は、リカバブルエラー603によって、MFP100の周囲に存在するユーザが所持する外部装置に、MFP100がリカバブルエラー状態である旨を通知することができる。
フェイタルエラー604には、MFP100に発生しているエラーの中でユーザによるメンテナンスが難しいエラーを示す値が格納されている。メンテナンスが難しいエラーとは、例えば、サービスセンターに連絡する必要があり、通常のユーザでは復帰させることができないエラーである。具体的には、フェイタルエラーは、例えば、廃インクタンクフル、印刷部高温エラー、電源エラー、その他のメンテナンスが難しいエラーである。MFP100は、フェイタルエラー604によって、MFP100の周囲に存在するユーザが所持する外部装置に、MFP100がフェイタルエラー状態である旨を通知することができる。
なお、図5及び図6に示す構成は、一例であり、MFP100は、図5及び図6に示す内容以外に、任意のデータをアドバタイズパケットに格納してブロードキャストすることもできる。例えば、アドバタイズパケットに格納しきれない情報を、次のアドバタイズパケットでブロードキャストすることを表すフラグや、MFP100のケーパビリティ情報、アドバタイズパケットの種別の情報等を格納しても良い。
図10は、携帯端末30とMFP100とが、ハンドオーバーによってジョブの送受信を行う場合のシーケンスである。ハンドオーバーとは、通信を行うそれぞれの装置が、まず近距離通信方式によって高速通信方式による通信を行うための接続情報をやり取りした後、高速通信方式に切り替えてデータの送受信を行う技術である。本実施形態では、近距離通信方式としてBLE通信による通信方式を、高速通信方式としてWi−Fi通信による通信方式を用いている。BLE通信の通信速度は、Wi−Fi通信と比較して低速である。そのため、BLE通信では装置間の認証やWi−Fi通信のための接続情報のやり取り等を行い、通信速度の速いWi−Fi通信で容量の多いデータ(ここではジョブ)の転送を行うことで、効率的なデータ転送を図ることができる。なお、ハンドオーバーにおいて利用する通信方式は、上述の形態に限定されず、近距離通信方式及び高速通信方式として種々の通信方式が利用されて良い。例えば、NFC通信にてWi−Fi通信のための接続情報をやり取りし、その後Wi−Fi通信にてデータのやり取りを行うような構成としても良い。
なお、この処理シーケンスが示すMFP100の処理は、CPU302が、ROM303又はMFP100が備えるHDD(不図示)に記憶されている制御プログラムをRAM304にロードし、その制御プログラムを実行することで実現される。また、この処理シーケンスが示す携帯端末30の処理は、CPU902が、ROM903又は携帯端末30が備えるHDD(不図示)に記憶されている制御プログラムをRAM904にロードし、その制御プログラムを実行することで実現される。
以下の説明において、MFP100は、所定の間隔でアドバタイズパケットを送信するアドバタイザであるものとする。また、携帯端末30は、周辺にあるアドバタイザから送信されるアドバタイズパケットを待ち受けるイニシエータであるものとする。まず、BLEユニット316は、アドバタイズパケットの送信を行う(S1001〜S1003)。携帯端末30は、BLEユニット911がBLEユニット316から送信されたアドバタイズパケットを受信することで、MFP100の存在を認識することができる。
携帯端末30は、MFP100を認識し、MFP100と接続することを決定したら、接続要求情報をMFP100に送信する。具体的には、BLEユニット911が、BLEによるネットワーク接続を確立する接続イベントに遷移するための要求であるCONNECT_REQを送信する(S1004)。BLEユニット316がCONNECT_REQを受信すると、携帯端末30及びMFP100は、接続イベントに遷移する準備をする。具体的には、BLEユニット911及びBLEユニット316が、それぞれメインボード901及びメインボード301にBLE通信のための接続処理が完了した旨を通知する。その後、携帯端末30及びMFP100はそれぞれイニシエータとアドバタイザからマスタとスレーブに遷移し、マスタである携帯端末30とスレーブであるMFP100は、BLE通信のための接続(BLE接続)を確立する。なお、BLE規格では、マスタは、スレーブと「1:多」のスター型のトポロジーを形成することができる。携帯端末30とMFP100は、BLE接続を確立したら、以後、BLE通信方式によってデータ通信を行うことができる。
その後、S1005では、BLEユニット911は、BLEユニット316に対して、MFP100が利用可能な通信プロトコルの情報を要求する。
この要求には携帯端末30が利用可能な通信プロトコルの情報が含まれており、BLEユニット316は、この要求を受信することで、携帯端末30がWi−Fi等の通信方式を利用可能であることを認識することができる。BLEユニット316は、S1006において、S1005で受け取った要求に対して、自身の利用可能な通信プロトコルの情報を応答する。これによって互いの装置は、BLE以外の互いの利用可能な通信プロトコルを把握することができる。
ここで、Wi−Fi通信がBLE通信よりも高速なデータ転送が可能であることが認識され、装置間の通信をWi−Fi通信に切り替えることが携帯端末30によって決定されたとする。なお、このとき、通信方式の切り替えを行うか否かはMFP100が決定しても良い。通信方式の切り替えが決定された場合、S1007およびS1008にて、それぞれの装置は、通信相手を特定するアドレスの情報やSSIDの情報等の、Wi−Fiで通信を行うために必要な情報を交換する。その後S1009にて、BLEユニット911は、装置間の通信方式をBLE通信からWi−Fi通信へと切り替える要求を送信する。BLEユニット316は、切り替えの要求を受信すると、S1010にて応答を行う。
切り替えの要求と応答が正しく行われたら、S1011では、携帯端末30は、MFP100との通信に利用する通信部をBLEユニット911からWLANユニット913へ切り替える。さらに、S1012では、MFP100は、携帯端末30との通信に利用する通信部をBLEユニット316からWLANユニット318へ切り替える。切り替えを行った後、S1013にて、BLEユニット911は解放要求を送信する。解放要求を受け取ったBLEユニット316は、S1014にて解放応答を送信し、装置間のBLE接続を終了する。装置間のBLE接続が終了すると、携帯端末30とMFP100はそれぞれイニシエータとアドバタイザに戻り、BLEユニット316は、アドバタイズパケットの送信を再開する。
その後、それぞれの装置は、S1007およびS1008で交換したWi−Fi通信を行うために必要な情報を利用し、Wi−Fi通信を行う。まずS1015では、WLANユニット913は、MFP100がジョブの取得が可能かどうかWLANユニット318に確認をする。ここでは、例えば、MFP100に転送しようとする画像を一時保存するための空き容量の情報などが確認される。WLANユニット318は、確認の要求を受け取った後、S1016にて確認に対する応答を送信する。正しい応答が得られ、MFP100がジョブの取得が可能であると判断した場合、S1017にて、WLANユニット318は、ジョブを要求する。その後、ジョブの要求を受けたWLANユニット913は、S1018にて携帯端末30に存在する画像データ等を含むジョブをWLANユニット318に対して送信する。なお、このとき送信するジョブの選択は、例えば、BLE接続が確立する前やBLE接続が確立した後、Wi−Fi接続が確立した後等のタイミングで行われる。また、送信されるジョブは、印刷ジョブに限らず、例えば、MFP100にスキャンを指示するためのスキャンジョブや携帯端末30がMFP100の状態の情報を取得するためのジョブ等であっても良い。また、例えばMFP100の設定の変更等、MFP100に対する各種操作を実行するためのコマンド等であっても良い。
このように、ハンドオーバー技術を用いることで、ユーザビリティの高い通信方式によって、高速通信方式で通信するための接続情報をやり取りし、その後、高速通信方式によって、容量の大きいデータのやり取りを高速で行うことができる。
なお、本実施形態では、携帯端末30は、ハンドオーバーによってBLE通信からWi−Fi通信に切り替えた後にジョブを送信するものとしたが、この形態に限定されない。すなわち、例えば、通信方式の切り替えを行わずに、ジョブを送信する形態としても良い。
MFP100は、上述したように、アドバタイズにより外部装置とBLE接続を確立することで、BLE通信を介してジョブを受信したり、BLE通信からWi−Fi通信に切り替えてジョブを受信することができる。しかしながら、MFP100は、例えば、後述のモード変更条件が満たされている状況等、所定の状況下においては、ジョブを受け付けるべきでない状態となる。そのため、本実施形態では、MFP100は、後述のモード変更条件が満たされている状態ではジョブを受信しないための制御を実行する。具体的には、MFP100は、本実施形態では、アドバタイズモードを変更してBLEにおけるアドバタイズを停止する。
本実施形態におけるモード変更条件について説明する。本実施形態では、「電源オフ時間を過ぎていて且つ未だ電源がオフされていない状態であること」(条件1)、「エラー状態であること」(条件2)をモード変更条件としている。また、「ジョブを受け付けるべきでない状態」とは、上記モード変更条件が満たされている状態を示している。本実施形態では、これらのモード変更条件のうち少なくとも1つが満たされている場合に、アドバタイズモードを変更する。
条件1について説明する。本実施形態では、MFP100は、自動電源オフ機能を備えている。自動電源オフ機能とは、予め設定された所定の時間に、自動でMFP100の電源をオフすることができる機能である。なお、自動電源オフ機能を有効とするか無効とするかは、ユーザが任意に設定しても良いし、予めMFP100に設定されていても良い。また、同様に、自動電源オフ機能によって電源をオフにする時間(電源オフ時間)は、ユーザが任意に設定可能としても良いし、予めMFP100に設定されていても良い。ユーザによって電源オフ時間の設定が行われる場合は、例えば、表示部311に表示される設定画面が利用される。図12は、電源オフ時間の設定に利用される設定画面の一例であり、電源オフ時間として20:00が設定されていることを示している。なお、電源オフ時間の設定には、例えば、図13に示すように、電源をオフにする時間帯を設定する設定画面が用いられても良い。この場合、設定された時間帯(20:00〜6:00)を過ぎると、MFP100は自動で電源をオンにする。なお、本実施形態において、「電源をオフにする」とは、MFP100の電力消費状態を電源オフ状態に移行させることを指す。電源オフ状態は、ハード電源オフ状態、ソフト電源オフ状態、省電力状態、スリープ状態等の状態を含み、電源オン状態より消費電力の小さいいずれかの状態である。ハード電源オフ状態は、MFP100の各部へ電力の供給が完全に停止されている状態である。ソフト電源オフは、例えば、CPU302等の、MFP100の構成要素のうち一部のみに電力が供給され、その他の部分については電力が供給されない状態である。本実施形態では、MFP100の電源を復帰させる必要がある場合には、ソフト電源オフ状態、省電力状態、スリープ状態のいずれかの状態が利用される。
MFP100は、自動電源オフ機能が有効にされている場合、通常は設定された電源オフ時間になったときに自動で電源をオフにするが、電源オフ時間を過ぎても電源をオフにしない場合がある。例えば、図14に示すように、電源オフ時間が20:00に設定されているMFP100が、処理に10分かかるジョブの処理を19:58に開始したとする。本実施形態では、MFP100は、電源オフ時間を過ぎても、ジョブの処理が終了していない場合は電源をオフにせずにジョブの処理を継続し、ジョブの処理が終了したタイミングで電源をオフする。そのため、20:00〜20:08の間は、電源オフ時間を過ぎているにも係わらず電源がオフにされていない状態となる。条件1が満たされている状態とは、この状態を指している。
MFP100は、このような状態において、新たにジョブを受信した場合、当該ジョブの処理を実行しない。そのため、処理されなかったジョブに費やされたリソースが無駄になったり、MFP100によるジョブの受信が完了したのにも係わらずジョブが処理されないことにユーザが困惑することになる。なお、MFP100は、新たにジョブを受信した場合、電源オフ時間の前に受信したジョブを処理した後に継続して当該ジョブの処理を実行する場合もある。この場合は、新たにジョブを受信すると、MFP100が電源をオフにする時間が、新たに受信したジョブの処理によってさらに遅くなってしまう。このようなことから、電源オフ時間を過ぎているにも係わらず電源がオフにされていない状態では、MFP100は、ジョブを受け付けるべきでない。そこで、本実施形態のMFP100は、「電源オフ時間を過ぎていて且つ未だ電源がオフされていない状態であること」をモード変更条件とし、当該条件が満たされた場合にジョブを受信しないように制御する。なお、条件1が満たされることによりアドバタイズモードが変更される時間は、電源オフ時間に厳密に基づくものでなくても良い。すなわち、MFP100は、電源オフ時間からジョブの処理が終了して電源がオフされる時間までのうち少なくとも一部の時間においてアドバタイズモードを変更しても良い。
条件2について説明する。MFP100がなり得るエラー状態には、上述したように、例えば、ジョブエラー、リカバブルエラー及びフェイタルエラーの状態がある。MFP100は、エラー状態である場合にはジョブを処理することはできないため、ジョブを受信する必要はない。そこで、本実施形態のMFP100は、「エラー状態であること」をモード変更条件とし、当該条件が満たされた場合にジョブを受信しないように制御する。
なお、モード変更条件は、上述の条件に限定されない。すなわち、条件の数はいずれであっても良いし、上述の2つの条件以外の他の条件であっても良い。例えば、モード変更条件は、条件1又は条件2いずれかのみであっても良い。また、例えば、MFP100がジョブのキューイング機能を備えている場合は、モード変更条件として、「限度までジョブがキューイングされていること」等が利用されても良い。これは、MFP100は、限度以上のジョブをキューイングすることはできず、新たにジョブを受信する必要はないからである。
なお、モード変更条件の内容の詳細は、任意に設定可能である。例えば、条件2の設定において、MFP100が、いずれのエラー状態である場合にモードを変更するのか等を設定できる。このようなモード変更条件の設定は、例えば、表示部311にモード変更条件を設定するための設定画面を表示し、当該設定画面を介してユーザから所望の条件の入力を受け付けることで行われる。なお、このとき、モード変更条件の設定は、設定画面を介してユーザの所望の条件を直接入力させる構成としても良いし、設定画面上にあらかじめ用意された複数の条件を表示し、そのいずれかをユーザに選択させる構成としても良い。あるいは、着荷時にあらかじめモード変更条件が設定されている構成としても良い。
本実施形態におけるアドバタイズモードについて説明する。アドバタイズモードとは、アドバタイズの方法や送信するアドバタイズパケットの内容を規定するためのモードである。本実施形態では、MFP100は、アドバタイズモードとして、通常モードとジョブ受信不可モードの2つのモードで動作可能であるものとする。
通常モードは、モード変更条件が満たされていない通常の状態においてMFP100に設定されるモードである。MFP100は、通常モードとして動作している場合、図8(a)に示すように、送信処理と受信処理の双方を実行する。また、このとき送信するアドバタイズパケットにおいて、接続情報504には、検索を可能とすることを示す検索情報が格納される。このような形態とすることで、MFP100は、アドバタイズパケットをブロードキャストして外部装置に自身の存在を認識させることができる。さらに、MFP100は、外部装置から接続要求情報を受信して外部装置と接続し、BLE通信を行うことができる。なお、通常モードには、送信先を指定してアドバタイズパケットの送信を行うモードと、送信先を指定せずにアドバタイズパケットの送信を行うモードとがある。本実施形態においては、通常モードにおいて、どちらのモードが利用されても良い。なお、アドバタイズパケットは、3つの異なるプロパティ(コネクタビリティ、スキャナビリティ、ディレクタビリティ)にしたがって分類される。具体的には、アドバタイズパケットは、ADV_IND、ADV_DIRECT_IND、ADV_NONCONN_IND及びADV_SCAN_INDの4つの種別に分類される。このうち、コネクタビリティ(接続性)において、接続可能の属性を有している種別は、ADV_IND、ADV_DIRECT_INDの2つである。本実施形態において、MFP100は、通常モードにおいて外部装置と接続可能であるため、ADV_IND又はADV_DIRECT_INDの種別のアドバタイズパケットを送信する。
ジョブ受信不可モードは、後述のモード変更条件が満たされている場合にMFP100に設定されるモードである。本実施形態では、MFP100は、ジョブ受信不可モードとして動作している場合、図8(c)に示すように、送信処理と受信処理の双方を実行しない。すなわち、MFP100は、ジョブ受信不可モードになると、アドバタイズを停止する。MFP100は、アドバタイズを停止すると、接続要求情報を受信することがなくなるため、外部装置とのBLE接続を確立することがなくなる。そのため、結果として、MFP100は、ジョブ受信不可モードである場合に、BLE通信や、BLE通信を介したハンドオーバーによるWi−Fi通信にてジョブを受信したり各種操作を受け付けることを抑制することができる。
また、MFP100は、アドバタイズを停止すると、送信処理及び受信処理における電力を消費しなくなるので、消費電力を大きく削減できる。そのため、MFP100は、消費電力を削減したい状況において、ジョブ受信不可モードで動作しても良い。また、MFP100は、すでにBLE接続が確立されている状態でジョブ受信不可モードになった場合は、当該接続を切断する。
図15は、本実施形態においてMFP100が実行する、アドバタイズモードを変更する処理を示すフローチャートである。なお、このフローチャートが示す処理は、CPU302が、ROM303又はMFP100が備えるHDD(不図示)に記憶されている制御プログラムをRAM304にロードし、その制御プログラムを実行することで実現される。なお、このフローチャートが示す処理は、MFP100本体の電源がオンされた場合やBLEユニット316の電源がオンされた場合等、アドバタイズが開始される場合に開始されるものとする。
まず、S1501において、CPU302は、MFP100のアドバタイズモードの設定情報をRAM304等のメモリから取得する。アドバタイズモードの設定情報とは、MFP100に設定されているアドバタイズモードの情報である。MFP100は、取得した設定情報に応じたアドバタイズモードで動作する。ここでは、MFP100は、通常モードで動作するものとする。
次にS1502において、CPU302は、自動電源オフ機能が有効になっているか否かを判定する。CPU302は、自動電源オフ機能が有効になっていると判定した場合、S1503の処理を行い、自動電源オフ機能が有効になっていないと判定した場合、S1504の処理を行う。
S1503において、CPU302は、電源オフ時間を過ぎていて且つ未だ電源がオフされていないか(条件1が満たされているか)否かを判定する。この判定は、具体的には、CPU302が、不図示のタイマーがカウントしている現在時間の情報と、自動電源オフ機能において設定された電源オフ時間の情報を、RAM304等のメモリから取得し、それらを比較することで行われる。CPU302は、条件1が満たされていると判定した場合は、S1506の処理を実行してMFP100をジョブ受信不可モードに移行させる。具体的には、CPU302は、BLEユニット316による送信処理と受信処理を終了させることで、外部装置とのBLE接続が行われないように制御する。このような形態とすることで、MFP100は、電源オフ時間を過ぎているのにも係わらず、BLE通信を介してジョブを受信してしまうことを抑制することができる。なおこのとき、MFP100は、前述したように、BLE通信以外の通信方式や、MFP100に対するユーザの操作によってジョブを受信することがないように制御しても良い。なお、MFP100がすでにジョブ受信不可モードに遷移している場合は、CPU302は、S1506の処理を実行しなくても良い。
また、CPU302は、条件1が満たされていないと判定した場合は、S1504の処理を行う。
S1504において、CPU302は、MFP100がエラー状態であるか(条件2が満たされているか)否かを判定する。この判定は、具体的には、CPU302が、MFP100の状態に関する情報をRAM304等のメモリから取得し、当該情報を参照することで行われる。CPU302は、MFP100がエラー状態であると判定した場合、S1506の処理を実行してMFP100をジョブ受信不可モードに移行させる。具体的には、CPU302は、BLEユニット316による送信処理と受信処理を終了させることで、外部装置とのBLE接続が行われないように制御する。このような形態とすることで、MFP100は、ジョブを処理できない状態であるにも係わらず、BLE通信を介してジョブを受信してしまうことを抑制することができる。なおこのとき、MFP100は、前述したように、BLE通信以外の通信方式や、MFP100に対するユーザの操作によってジョブを受信することがないように制御しても良い。なお、MFP100がすでにジョブ受信不可モードに遷移している場合は、CPU302は、S1506の処理を実行しなくても良い。
また、CPU302は、MFP100がエラー状態でないと判定した場合、S1505の処理を行い、MFP100を通常モードに移行させる。具体的には、CPU302は、外部装置と接続ができるような通常通りの送信処理及び受信処理を実行するようBLEユニット316を制御する。このとき、CPU302は、MFP100がすでに通常モードである場合には、S1505の処理を行わなくても良い。
次にS1507において、CPU302は、アドバタイズを停止させるか否かを判定する。MFP100は、例えば、MFP100が外部装置とBLE接続を確立した場合や、ユーザからBLE通信を無効にする指示を受け付けた場合等にアドバタイズを停止させる。S1507では、これらの条件が満たされたか否かを判定することで、アドバタイズを停止させるか否かを判定する。CPU302は、アドバタイズを停止させると判定した場合、S1508にてアドバタイズを停止させる。なお、アドバタイズが停止された後にアドバタイズが再開された場合は、CPU302は、S1501からの処理を再び行う。また、CPU302は、アドバタイズを停止しないと判定した場合、S1502の処理を再び行う。
なお、MFP100は、アドバタイズモードの変更のための判定処理として、S1503の判定処理又はS1504の判定処理いずれかのみを行っても良いし、他の判定処理を行っても良い。また、MFP100は、処理の順番を入れ替えて、S1502の処理の前にS1504の処理を実行し、その後それぞれの処理における判定結果に基づいた処理を実行しても良い。
このような形態とすることで、MFP100は、MFP100の状態に応じて、ジョブを受信するか否かを切り替えることができる。
なお、MFP100は、例えば、有線LAN通信やWi−Fi通信等、BLE通信以外の通信方式によってジョブを受信する場合や、操作部309を介してユーザから直接ジョブを受け付ける場合もある。そのため、MFP100は、モード変更条件が満たされた場合に、BLEに関する制御に限らず、他の通信方式に関する制御やユーザからの入力を受け付けるインタフェースに関する制御を実行しても良い。
例えば、MFP100は、Wi−Fi通信が実行されないように自身のアクセスポイントを無効に設定して、SSID等の接続情報をブロードキャストすることを停止する制御を実行しても良い。また、例えば、有線LAN通信や外部アクセスポイントとのWi−Fi通信を実行するためのモジュール(WLANユニット318等)への電力供給を停止する制御を実行しても良い。また、操作部309を介したジョブの入力を禁止する制御を実行しても良い。また、MFP100は、それらの制御のいずれか又は全てを複合的に実行しても良い。
(第2実施形態)
第1実施形態では、ジョブ受信不可モードである場合に、BLEのアドバタイズにおいて送信処理と受信処理の双方を実行しない例を説明した。本実施形態では、ジョブ受信不可モードである場合に、第1実施形態と異なる処理を実行する例を説明する。
なお、以下の説明において、送信処理と受信処理の双方を実行しないジョブ受信不可モードを第1ジョブ受信不可モード、第1ジョブ受信不可モードと異なるジョブ受信不可モードを第2ジョブ受信不可モードという。
本実施形態の通信システムの構成は第1実施形態と同様であるため、説明を省略する。また、本実施形態におけるモード変更条件も、第1実施形態と同様であるため、説明を省略する。
本実施形態において、MFP100は、モード変更条件が満たされた場合には、第2ジョブ受信不可モードとして動作する。第2ジョブ受信不可モードとは、BLEユニット316が受信処理を実行せず、且つ送信処理において、MFP100がジョブの受信を抑制している状態である旨を通知するための情報を格納したアドバタイズパケットを送信するモードである。すなわち、MFP100は、第2ジョブ受信不可モードである場合、図8(b)に示すようなアドバタイズを実行する。
本実施形態では、「ジョブの受信を抑制している状態」とは、モード変更条件が満たされた状態である。具体的には、「電源オフ時間を過ぎていて且つ未だ電源がオフされていない状態(条件1)」又は「エラー状態(条件2)」である。そのため、MFP100は、第2ジョブ受信不可モードである場合には当該状態であることを通知するための情報を格納する。なお、本実施形態においては、当該状態であることを通知するための情報として、アドバタイズモード情報506や、エラー情報507、自動電源オフ機能情報508等が利用される。そして、MFP100は、それらの情報を格納したアドバタイズパケットを受信した外部装置に、例えば図11(a)のようなMFP100の状態を示す通知画面を表示させることで、ユーザにMFP100がジョブの受信を抑制している状態である旨を通知する。なお、当該状態を通知するために、MFP100は、図11(b)のようにアドバタイズ時のMFP100のアドバタイズモードを通知する画面を外部装置に表示させても良い。また、MFP100は、図11(c)、(d)のようにアドバタイズモードが変更された原因を通知する画面を外部装置に表示させても良い。なお、MFP100は、ジョブの受信を抑制している状態を解消するための方法(例えば、エラー状態の解除方法)等の情報をアドバタイズパケットに格納して、外部装置にその情報を表示させても良い。
このように、MFP100は、第2ジョブ受信不可モードにおいては、アドバタイズパケットの送信は実行するが、接続要求情報の受信は実行しないことで外部装置とのBLE接続の確立は行われないようにする。そのため、MFP100は、第2ジョブ受信不可モードにおいては、コネクタビリティにおいて接続不可の属性を有しているADV_NONCONN_IND又はADV_SCAN_INDの種別のアドバタイズパケットを送信する。なお、第2ジョブ受信不可モードにおいて送信するアドバタイズパケットには、接続情報を付加しなくても良いし、接続要求情報を返さないように外部装置に伝えるための情報を付加しても良い。
本実施形態においてMFP100が実行する、アドバタイズモードを変更する処理を、図16を用いて説明する。なお、このフローチャートが示す処理は、CPU302が、ROM303又はMFP100が備えるHDD(不図示)に記憶されている制御プログラムをRAM304にロードし、その制御プログラムを実行することで実現される。なお、このフローチャートが示す処理は、MFP100本体の電源がオンされた場合やBLEユニット316の電源がオンされた場合等、アドバタイズが開始される場合に開始されるものとする。
S1601〜S1605、S1607、S1608については、S1501〜S1505、S1507、S1508の処理と同様のため説明を省略する。
CPU302は、S1606において、MFP100を第2ジョブ受信不可モードに移行させる。具体的には、CPU302は、BLEユニット316による受信処理を終了させる。さらに、CPU302は、BLEユニット316による送信処理において、MFP100がジョブの受信を抑制している状態であることを通知するための情報を格納してアドバタイズパケットをブロードキャストするように制御する。なおこのとき、MFP100は、BLE通信以外の通信方式によってジョブを受信することがないように制御しても良い。
なお、アドバタイズモードの変更のための判定処理として、MFP100は、S1603の判定処理又はS1604の判定処理いずれかのみを行うような構成としても良いし、他の判定処理を行うような構成としても良い。
このような形態とすることで、MFP100は、アドバタイズパケットを受信する外部装置を所持するユーザに、MFP100の状態を通知することができる。そして、ユーザに他の画像処理装置を利用するように促したり、なぜ外部装置とMFP100がBLE接続を確立できないかを理解させることができる。さらに、MFP100は、受信処理を省略することで、接続要求情報を受け付けなくしてBLE通信を介したジョブの受信を抑制することができると共に、消費電力を削減することができる。
なお、MFP100の状態を通知するための情報を送信するための通信方式はBLEに限らず、例えば、Wi−Fi等他の通信方式によって、MFP100の状態を通知するための情報を送信しても良い。
また、MFP100は、モード変更条件が満たされた場合に、第1ジョブ受信不可モードと、第2ジョブ受信不可モードとのいずれで動作するか、任意に設定可能な形態であっても良い。
(第3実施形態)
上述の実施形態では、モード変更条件が満たされた場合に、ジョブ受信不可モードとして動作してBLEユニット316による受信処理を省略させることで、外部装置からジョブを受信することを抑制する例について説明した。本実施形態では、モード変更条件が満たされた場合に、ジョブ受信不可モードではなくジョブ受信非推奨モードとして動作することで、外部装置からジョブを受信することを抑制する例について説明する。
本実施形態の通信システムの構成は第1実施形態と同様であるため、説明を省略する。また、本実施形態におけるモード変更条件も、第1実施形態と同様であるため、説明を省略する。
本実施形態において、MFP100は、モード変更条件が満たされた場合には、ジョブ受信非推奨モードとして動作する。ジョブ受信非推奨モードとは、BLEユニット316が送信処理と受信処理の双方を実行し、且つ、送信処理において、MFP100がジョブの受信を抑制している状態であることを通知するための情報を格納したアドバタイズパケットを送信するモードである。
なお、本実施形態においては、当該状態であることを通知するための情報として、アドバタイズモード情報506や、エラー情報507、自動電源オフ機能情報508等が利用される。そして、ジョブ受信非推奨モードとして動作しているMFP100は、それらの情報を格納したアドバタイズパケットを受信した外部装置に、例えば図11(e)に示すような通知画面を表示させる。このような形態とすることで、MFP100は、ジョブの受信が推奨されない状態であることをユーザに通知することができる。なお、このとき、第1実施形態におけるジョブ受信不可モードの場合と同様に、アドバタイズパケット送信時のMFP100のアドバタイズモードを通知する画面や、アドバタイズモードが変更された原因を通知する画面を表示しても良い。また、MFP100は、ジョブの受信を抑制している状態を解消するための方法(例えば、エラー状態の解除方法)等の情報をアドバタイズパケットに格納して、外部装置にその情報を表示させても良い。なお、MFP100は、ジョブ受信非推奨モードにおいても、BLE通信以外の通信方式によってジョブを受信することがないように制御しても良い。
本実施形態においてMFP100が実行する、アドバタイズモードを変更する処理を、図17を用いて説明する。なお、このフローチャートが示す処理は、CPU302が、ROM303又はMFP100が備えるHDD(不図示)に記憶されている制御プログラムをRAM304にロードし、その制御プログラムを実行することで実現される。なお、このフローチャートが示す処理は、MFP100本体の電源がオンされた場合やBLEユニット316の電源がオンされた場合等、アドバタイズが開始される場合に開始されるものとする。
S1701〜S1705、S1707、S1708については、S1501〜S1505、S1507、S1508の処理と同様のため説明を省略する。
本実施形態では、CPU302は、S1706において、MFP100をジョブ受信非推奨モードに移行させる。具体的には、CPU302は、BLEユニット316による送信処理において、MFP100がジョブの受信を抑制している状態であることを通知するための情報を格納してアドバタイズパケットをブロードキャストするように制御する。
なお、アドバタイズモードの変更のための判定処理として、MFP100は、S1703の判定処理又はS1704の判定処理いずれかのみを行うような構成としても良いし、他の判定処理を行うような構成としても良い。
このような形態とすることで、本実施形態のMFP100は、アドバタイズパケットを受信する外部装置を所持するユーザに、MFP100が、ジョブを受信することが推奨されない状態である旨を通知することができる。MFP100が当該状態である旨をユーザに通知することで、ユーザは、例えば他の画像処理装置を利用する等の対応を行うことができる。そのため、結果として、MFP100は、外部装置からジョブを受信することを抑制することができる。また、例えば、ユーザにエラー状態を解除する意思がある等の理由で、MFP100が当該状態であってもなお、MFP100を利用したいとユーザが考える場合もある。ユーザがそのように考えたことで、外部装置からBLE接続の要求があった場合は、本実施形態のMFP100は、当該要求に応じてBLE接続の確立を実行し、ジョブを受信することができる。
なお、MFP100の状態を通知するための情報を送信するための通信方式はBLEに限らず、例えば、Wi−Fi等他の通信方式によって、MFP100の状態を通知するための情報を送信しても良い。
(第4実施形態)
上述の実施形態では、モード変更条件が満たされた場合にアドバタイズモードを変更する例について説明した。本実施形態では、満たされたモード変更条件の内容に応じて、設定するアドバタイズモードを変更する例について説明する。
本実施形態の通信システムの構成は第1実施形態と同様であるため、説明を省略する。本実施形態では、MFP100は、アドバタイズモードとして、通常モードと第1ジョブ受信不可モード、第2ジョブ受信不可モード、ジョブ受信非推奨モードの4つのモードで動作可能であるものとする。また、本実施形態では、「電源オフ時間を過ぎていて且つ電源がオフされていないこと」(条件1)、「フェイタルエラー状態であること」(条件2−1)、「ジョブエラー状態又はリカバブルエラー状態であること」(条件2−2)をモード変更条件としている。さらに、本実施形態では、MFP100は、条件1が満たされた場合に第1ジョブ受信不可モードで動作し、条件2−1が満たされた場合に第2ジョブ受信不可モードで動作する。また、MFP100は、条件2−2が満たされた場合にジョブ受信非推奨モードで動作し、いずれの条件も満たされていない場合に通常モードで動作する。このように、本実施形態のMFP100は、満たされたモード変更条件の内容に応じて異なるアドバタイズモードを自身に設定することで、MFP100の状態に応じた適切な方法でアドバタイズを行うことができる。
図18は、本実施形態においてMFP100が実行する、アドバタイズモードを変更する処理を示すフローチャートである。なお、このフローチャートが示す処理は、CPU302が、ROM303又はMFP100が備えるHDD(不図示)に記憶されている制御プログラムをRAM304にロードし、その制御プログラムを実行することで実現される。なお、このフローチャートが示す処理は、MFP100本体の電源がオンされた場合やBLEユニット316の電源がオンされた場合等、アドバタイズが開始される場合に開始されるものとする。
S1801及びS1802の処理は、S1501及びS1502の処理と同様であるため説明を省略する。また、S1810及びS1811の処理は、S1507及びS1508の処理と同様であるため説明を省略する。
S1803において、CPU302は、電源オフ時間を過ぎていて且つ未だ電源がオフされていないか(条件1が満たされているか)否かを判定する。この判定は、具体的には、CPU302が、不図示のタイマーがカウントしている現在時間の情報と、自動電源オフ機能において設定された電源オフ時間の情報を、RAM304等のメモリから取得し、それらを比較することで行われる。CPU302は、条件1が満たされていると判定した場合は、S1807の処理を実行してMFP100を第1ジョブ受信不可モードに移行させる。具体的には、CPU302は、BLEユニット316による送信処理と受信処理を終了させることで、外部装置とのBLE接続が行われないように制御する。なお、本実施形態において、条件1が満たされた場合に第1ジョブ受信不可モードを設定して送信処理を終了させるのは、電源オフ時間を過ぎていて且つ電源がオフされていない状態においては、MFP100はジョブを受け付けるべきでないためである。また、第1ジョブ受信不可モードを設定して受信処理を終了させるのは、通常ユーザは電源オフ時間と現在時間について把握しているため、MFP100は、現在時間が電源オフ時間を過ぎていることをわざわざユーザに通知しなくても良いためである。なおこのとき、MFP100は、前述したように、BLE通信以外の通信方式や、MFP100に対するユーザの操作によってジョブを受信することがないように制御しても良い。
S1803において、CPU302は、条件1が満たされていないと判定した場合は、S1804の処理を行う。
S1804において、CPU302は、MFP100がフェイタルエラー状態であるか(条件2−1が満たされているか)否かを判定する。この判定は、具体的には、CPU302が、MFP100のエラー状態に関する情報をRAM304等のメモリから取得し、当該情報を参照することで行われる。CPU302は、MFP100がフェイタルエラー状態であると判定した場合、S1808の処理を実行してMFP100を第2ジョブ受信不可モードに移行させる。具体的には、CPU302は、BLEユニット316による受信処理を終了させる。さらに、CPU302は、MFP100がフェイタルエラー状態である旨を通知するための情報をアドバタイズパケットに格納して送信処理を実行させるようにBLEユニット316を制御する。なお、本実施形態において、条件2−1が満たされた場合に第2ジョブ受信不可モードを設定して受信処理を終了させるのは、フェイタルエラーは容易に解除することはできないため、長期間に渡りジョブを処理できない状態が続く可能性が高いからである。また、第2ジョブ受信不可モードを設定して送信処理を実行させるのは、フェイタルエラー状態である旨を通知することで、ユーザに対し他の画像処理装置を利用するよう促したり、MFP100がジョブを受信しない理由を理解させることができるためである。なおこのとき、MFP100は、前述したように、BLE通信以外の通信方式や、MFP100に対するユーザの操作によってジョブを受信することがないように制御しても良い。
S1804において、CPU302は、MFP100がフェイタルエラー状態でないと判定した場合、S1805の処理を行う。
S1805において、CPU302は、MFP100がジョブエラー状態又はリカバブルエラー状態であるか(条件2−2が満たされているか)否かを判定する。この判定は、具体的には、CPU302が、MFP100のエラー状態に関する情報をRAM304等のメモリから取得し、当該情報を参照することで行われる。CPU302は、MFP100がジョブエラー状態又はリカバブルエラー状態であると判定した場合、S1809の処理を実行してMFP100をジョブ受信非推奨モードに移行させる。具体的には、CPU302は、MFP100がジョブエラー状態又はリカバブルエラー状態である旨を通知するための情報をアドバタイズパケットに格納して送信処理を実行するようBLEユニット316を制御する。なお、本実施形態において、条件2−2が満たされた場合にジョブ受信非推奨モードが設定されるのは、ジョブエラーやリカバブルエラーは容易に解除できることから、ユーザにエラーを解除する意思があれば、MFP100はジョブを受信しても良いためである。
S1805において、CPU302は、MFP100がジョブエラー状態又はリカバブルエラー状態でないと判定した場合、S1806の処理を行い、MFP100を通常モードに移行させる。CPU302は、MFP100を通常モードに移行させることで、通常通りの送信処理及び受信処理を実行するようBLEユニット316を制御する。このとき、CPU302は、MFP100がすでに通常モードである場合には、S1806の処理を行わなくても良い。
このように、本実施形態では、満たされたモード変更条件の内容によって設定するアドバタイズモードを変更することで、MFP100の状態に応じた適切なアドバタイズモードを設定できる。
なお、アドバタイズモードの変更のための判定処理として、MFP100は、S1803の判定処理、S1804の判定処理及びS1805の判定処理のうちいずれかの処理又は、いずれかの処理の組み合わせのみを行うような構成としても良い。また、他の判定処理を行うような構成としても良い。
なお、それぞれのモード変更条件が満たされた場合に設定されるアドバタイズモードは、上述の形態に限定されない。例えば、条件1が満たされた状態であることをユーザに通知したい場合は、条件1が満たされた場合に、第1ジョブ受信不可モードではなく、MFP100の状態をユーザに通知可能な第2ジョブ受信不可モードやジョブ受信非推奨モードが設定されても良い。また、それぞれのモード変更条件に対応するアドバタイズモードは、上述の4つのアドバタイズモードに限定されず、他のアドバタイズモードであっても良いし、4つのアドバタイズモード全てが利用されなくても良い。
(その他の実施形態)
上述の実施形態においては、MFP100は、ジョブ受信不可モード(第1ジョブ受信不可モード及び第2ジョブ受信不可モードを含む)において受信処理を実行しない形態としたが、この形態に限定されない。ジョブ受信不可モードにおいては、MFP100は、外部装置からジョブを受信しなければ良い。そのため、例えば、ジョブ受信不可モードにおいて、MFP100は、受信処理を実行して接続要求情報を受信しても、接続要求情報を無視して接続処理は行わないような形態としても良い。また、例えば、MFP100は、送信するアドバタイズパケットに接続情報を格納しない、又は接続要求情報を返さないように外部装置を制御するための情報を格納する等の処理を行うことで、外部装置から接続要求情報が来ないように制御しても良い。また、例えば、受信処理を実行してBLE接続を確立しても、その後送信されてきたジョブを受信せずに排他するように制御しても良い。
上述の実施形態において説明したフローチャートが示す処理は、アドバタイズが開始される場合に開始されるものとしたが、これに限定されない。例えば、BLE以外の通信方式によってジョブを受信することがないようにする場合には、当該通信方式による通信が有効にされた場合に、モード変更条件が満たされたか否かの判定を開始しても良い。また、MFP100の電源がオンになっている場合には常に当該判定を繰り返す構成としても良い。
上述の実施形態においては、MFP100は、実際にモード変更条件が満たされた場合にアドバタイズモードを変更している。しかし例えば、MFP100は、モード変更条件が満たされることを予測できるような形態であれば、それを予測した場合にアドバタイズモードを変更しても良い。例えば、MFP100は、受信したジョブの処理に必要なコスト(時間や記録剤・記録媒体の量)と、電源オフ時間までの時間や記録剤・記録媒体の残量を比較することで、モード変更条件が満たされることを予測することができる。このとき、MFP100は、ジョブのキューイング機能を有している場合は、キューイングしているそれぞれのジョブの処理に必要なコストをそれぞれ足し合わせて、モード変更条件が満たされることを予測する。このように、MFP100は、ジョブを受信して、受信したジョブを処理した場合にモード変更条件が満たされることを予測した場合に、アドバタイズモードを変更しても良い。
上述の実施形態の効果を実現できれば、上述の実施形態のフローチャートの処理の順番を入れ替えても良いし、その全ての処理を実行しなくても良いし、処理の内容を変更しても良い。例えば、S1502及びS1503の処理の前にS1504の処理を実行することで、モード変更条件の判定順番を入れ替えても良い。
上述の実施形態においては、画像処理装置が外部装置にBLEのアドバタイズパケットを送信する際に実行される処理について記載したが、画像処理装置の存在を外部装置に通知するためにBLEのアドバタイズパケットとは異なる情報が用いられても良い。例えば、Wi−Fi機能に基づく情報の通知によって画像処理装置が外部装置に、画像処理装置の存在を通知しても良い。そして、画像処理装置から発行されるWi−Fi機能に基づく情報内に、上述の実施形態と同様の情報が含まれていても良い。
上述の実施形態は、上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを実行する処理でも実現可能である。また、上述の実施形態は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。