以下に添付図面を参照して、情報処理装置、およびプログラムの実施の形態を詳細に説明する。以下の実施形態では、情報処理装置を画像形成装置に適用した例について説明するが、他の装置に適用してもよい。画像形成装置としては、例えば、コピー機能、スキャナ機能、ファクス機能、プリンタ機能等のうち、少なくとも二つ以上の機能を実現可能なMFP(Multi‐Function Peripheral)、複写機、プリンタ装置、スキャナ装置などである。
(第1の実施形態)
図1は、第1の実施形態にかかる画像形成装置のハードウェア構成図である。図1に示すように、画像形成装置1は、外部装置の一例である操作デバイス100と、情報処理装置の一例であって画像形成を行う本体200とを備えている。
本実施形態の画像形成装置1では、操作デバイス100および本体200の間の接続は、シリアル通信用の信号線で有線接続の場合について説明するが、無線LAN(Local Area Network)等の無線接続を用いてもよい。また、接続する際のインターフェースを制限するものではなく、例えば、シリアル通信用の信号線以外に、USB(Universal Serial Bus)、シリアル、有線・無線LAN、Bluetooth(登録商標)、IrDA(Infrared Data Association)、WiFi(登録商標:Wireless Fidelity)等を用いてもよい。また、通信方式としては、どのような通信方式を用いても良く、例えばI2C通信を用いることが考えられる。
操作デバイス100は、ユーザ操作に応じた入力を受け付けるためのものであって、本体200を操作するための専用デバイスとする。しかしながら、本実施形態は、専用デバイスに制限するものではなく、例えば、ユーザが所持するスマートフォンやタブレット端末であってもよい。操作デバイス100と本体200とは、別々のOS(Operating System)で互いに独立して動作する。
また、本実施形態では、操作デバイス100によって操作可能なホスト装置として、画像形成を行う本体200を用いた例について説明する。しかしながら、本実施形態は、操作可能なホスト装置は画像形成装置の本体200に制限するものではなく、操作デバイス100で操作可能な機器であれば適用可能である。
図1に示すように、操作デバイス100は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、無線通信I/F14と、接続I/F15と、操作パネル16とを備えている。そして、上記各構成は、内部バス10を介して相互に接続されている。
CPU11は、操作デバイス100の全体的な制御を行う。CPU11は、RAM13を作業領域として、ROM12等に格納されたプログラムを実行する。これにより、CPU11は、ユーザ操作に応じて各種機能を実現する。
無線通信I/F14は、無線による接続のためのインターフェースとし、無線通信ネットワーク50と接続する。無線通信ネットワーク50は、無線LAN等とする。
接続I/F15は、有線で接続するためのインターフェースであって、通信路60および通信路70を介して本体200と通信を行う。通信路60および通信路70は、例えば、USB接続用のケーブルを用いることが考えられるが、他の接続手法を用いてもよい。
通信路60は、操作デバイス100と本体200との間でソフトウェア信号を送受信するものであって、第1の通信路の一例である。通常、画像形成装置1の操作デバイス100と本体200は、通信路60を利用してソフトウェア通信を実施している。なお、ソフトウェア信号とはプロトコルを用いた信号であり、ソフトウェア通信は当該ソフトウェア信号の送受信を行うことを意味する。ソフトウェア通信は、例えば、Ether(Ethernet)通信やUSB通信などを含む。なお、通信路60は、信号線によって通信可能に接続されていてもよいし、無線通信によって接続されていてもよい。
通信路70は、操作デバイス100と本体200との間でハードウェア信号を送受信するものであって、第2の通信路の一例である。通信路60によりソフトウェア通信が実施できないような通信異常が発生した場合、操作デバイス100と本体200との間で通信路70を利用してハードウェア通信を実施する。具体的に例えば、通信路70は、操作デバイス100から本体200に通信異常を検知した旨をハードウェア信号により通知したり、本体200から操作デバイス100に対して電源OFF(オフ)などの指令等をハードウェア信号により通知する。なお、ハードウェア信号は、電圧のHigh、Lowによって機器の状態を通知する信号であってプロトコルを用いない信号である。ハードウェア通信はハードウェア信号の送受信を行うことを意味する。ハードウェア通信は、例えば、GPIO(General-purpose input/output)通信などを含む。ただし、上述したように通信路70の通信方式はこれに限定されない。通信路70は、通信路60とは別の通信路であればよい。例えば、通信路70は、ソフトウェア信号を送受信する通信路であってもよい。また、例えば、通信路70は、複数の信号線によって構成されていてもよく、この場合、通信路70は、ハードウェア信号を送受信する信号線とソフトウェア信号を送受信する信号線の組み合わせであってもよい。また、通信路70は、信号線によって通信可能に接続されていてもよいし、無線通信によって接続されていてもよい。
操作パネル16は、タッチスクリーンやハードウェアキー等を有する。タッチスクリーンは、例えば、タッチパネル機能を搭載した液晶表示装置(LCD:Liquid Crystal Display)や有機EL(Electro Luminescence)表示装置とすることが考えられる。操作パネル16が表示部の一例である。なお、ユーザによる操作を受け付ける入力部と、ユーザに対して情報を表示する表示部は、別に設けることができる。ここで、入力部としては、キーボード、マウス、音声入力に対応したマイク、ジェスチャー入力に対応したカメラを備えてもよい。さらに、操作パネル16は、ユーザに対して機器の状態などを通知するためにスピーカを設けてもよい。
また、図1に示すように、本体200は、CPU21と、ROM22と、RAM23と、HDD(Hard Disk Drive)24と、無線通信I/F25と、接続I/F26と、エンジン部27と、操作パネル28と、有線通信I/F29とを備えている。そして、上記各構成は、内部バス20を介して相互に接続されている。
CPU21は、本体200の全体的な制御を行う。CPU21は、RAM23を作業領域として、ROM22またはHDD24等に格納されたプログラムを実行する。これにより、CPU21は、ユーザ操作や受け付けた命令等に応じて、上述したコピー機能、スキャナ機能、ファクス機能、プリンタ機能等の各種機能や、後述する各種機能を実現する。なお、CPU、ROM、RAMは複数設けられていても良く、各種機能を分担して実現する構成であってもよい。
無線通信I/F25は、無線による接続のためのインターフェースとし、無線通信ネットワーク50と接続する。
接続I/F26は、有線による接続のためのインターフェースであり、通信路60および通信路70を介して操作デバイス100と通信を行う。
機能部27は、情報処理装置の種類に応じて各種機能を実現する手段である。情報処理装置が画像形成装置である場合には、機能部27は画像形成エンジン等であり、例えば、白黒プロッタ、ドラムカラープロッタ、スキャナ又はファクスユニット等の機能を実現する。操作パネル28は、タッチスクリーンやハードウェアキー等を有する。なお、操作パネル28は、画面を表示するための表示装置であっても良い。
有線通信I/F29は、有線による接続のためのインターフェースとし、LAN50aと接続する。
図2は、第1の実施形態にかかる画像形成装置の機能ブロック図である。図2に示す操作デバイス100は、CPU11がROM12に格納されていたプログラムを実行することで、通信制御部101と、アプリケーション103と、通信異常検知部111と、異常発生原因受信部112と、電源管理部113と、表示制御部114とを実現する。ただし、複数CPU、ROMやRAMなどの複数のメモリ、その他ハードウェアが協業することで、各機能ブロックの機能を実現してもよい。
通信制御部101は、接続I/F15や、無線通信I/F14を介して、本体200を含む他の装置との間で、情報の送受信を制御する。
アプリケーション103は、ユーザインターフェースを有し、操作パネル16に対して画面を表示したり、ユーザから操作パネル16を介して、操作設定などを受け付ける。また、アプリケーション103は、本体200が有する、コピー機能、スキャナ機能、ファクス機能、プリンタ機能等の各種機能を用いたサービスを提供してもよい。また、アプリケーション103は、複数備えていてもよく、操作パネル16のみ利用するアプリケーションや、本体200を利用するアプリケーション、さらにはこれら両方を利用するアプリケーションであってもよい。
通信異常検知部111は、本体200との間でソフトウェア通信を実施している通信路60(第1の通信路)で発生した通信異常を検知する。例えば、通信異常検知部111は、通信制御部101により前回信号を受信してから所定時間以上信号を受信しない場合や、予め定めた信号を送信してから所定時間以上信号を受信しない場合等に、通信異常と判別することで、通信異常を検知する。なお、通信異常の検知方法は、この方法に限られない。
そして、通信異常検知部111は、通信路60での通信異常を検知すると、通信路60で通信異常が発生した旨の異常通知(異常情報)を、通信路70(第2の通信路)によってハードウェア信号を用いて本体200に送信する。
異常発生原因受信部112は、通信路60の通信に対する異常通知が本体200に送信された後、通信路60の通信異常の発生原因である異常発生原因、または本体200をリブートするか否かの判断結果を、通信路70によって本体200から受信する。
電源管理部113は、操作デバイス100の電源を管理する。また、電源管理部113は、通信路60の異常発生原因がリブートにより画像形成装置1のリカバリが可能な所定の原因であった場合、または本体200をリブートする旨の判断結果の場合、シャットダウンする旨のシャットダウン指示を、本体200から通信路70によって受信する。シャットダウン指示を受信すると、電源管理部113は、操作デバイス100の動作抑制を行い、シャットダウンする。このとき、電源管理部113は、操作デバイス100において動作する全てのプログラムを終了して電源を完全に切断してもよいし、次回の起動時に高速で起動するために動作状態を保存して、操作デバイス100内の一部のデバイスの電源は保持してもよい。また、本体200が操作デバイス100へシャットダウン指示を送信する場合、通信路70を構成する複数の信号線のうち、ソフトウェア信号を送受信する信号線を用いてもいい。なお、所定の原因とは、画像形成装置1のリブートにより通信路60の通信異常のリカバリが可能なものであって、本実施形態では例えばソフトウェア異常による異常発生原因などである。
表示制御部114は、ユーザに対する各種情報を操作パネル16(表示部)に表示するものである。本実施形態では、表示制御部114は、本体200から受信した通信路60の異常発生原因、または本体200をリブートするか否かの判断結果を操作パネル16に表示する。また、表示制御部114は、通信路60の異常発生原因がリブートにより画像形成装置1のリカバリが可能な所定の原因(ソフトウェア異常等)であった場合、画像形成装置1をリブートする旨を操作パネル16に表示する。また、表示制御部114は、画像形成装置1のリブートが実施された場合、リブートした旨を操作パネル16に表示する。
次に本体200について説明する。図2に示す本体200は、CPU21がROM22に格納されていたプログラムを実行することで、通信制御部201と、画像入力部203と、画像出力部204と、通信異常受信部211と、異常発生原因特定部212と、リブート管理部213と、を実現する。ただし、複数のCPU、ROMやRAMなどの複数のメモリ、その他ハードウェアが協業することで、各機能ブロックの機能を実現してもよい。
通信制御部201は、接続I/F26、無線通信I/F25、及び有線通信I/F29を介して、操作デバイス100を含む他の装置との間で、情報の送受信を制御する。
画像入力部203は、本体200に対する画像データの入力処理を行う。画像出力部204は、本体200から画像データの出力や、画像の印刷処理を行う。画像入力部203および画像出力部204は、機能部27によって実現される。
通信異常受信部211は、操作デバイス100により通信路60において通信異常の発生が検知された場合、操作デバイス100から通信路70を用いてハードウェア信号により送信された異常通知(異常情報)を受信する。なお、通信異常受信部211が異常取得部に相当する。また、通信異常受信部211が通信路60における通信異常の発生を検知してもよい。この場合、通信異常受信部211は、例えば、通信制御部201により前回信号を受信してから所定時間以上信号を受信しない場合や、予め定めた信号を送信してから所定時間以上信号を受信しない場合等に、通信異常が発生したと判別する。なお、通信異常の検知方法は、この方法に限られない。
異常発生原因特定部212は、操作デバイス100から異常通知を受信した場合、または通信異常受信部211が通信路60における通信異常の発生を検知した場合、この通知をトリガとして通信路60の異常発生原因を判断し特定する。ここで、通信路60の異常発生原因には、例えば、ハードウェア異常、ケーブル異常、またはソフトウェア異常が挙げられる。そして、異常発生原因がハードウェア異常またはケーブル異常の場合は、画像形成装置1をリブートしても通信異常は解消しないためリブートは実施しない。一方、異常発生原因がソフトウェア異常の場合は、画像形成装置1をリブートすることにより通信異常が解消する可能性があるためリブートを実施する。つまり、異常発生原因特定部212は、通信異常の原因に基づいて、本体200をリブートするか否かを判断する。
通信路60の異常発生原因を特定する方法の例を説明する。例えば、異常発生原因特定部212は、BIOS(Basic Input/Output System)が格納されている不揮発領域に委譲があるかに否かを確認する。BIOSが正常起動するとLEDが点滅するため、異常発生原因特定部212は、LEDの点滅状態を確認する。そして、異常発生原因特定部212は、LEDが点滅していない場合、不揮発領域の異常と判断してハードウェア異常と特定する。
また、例えば、異常発生原因特定部212は、接続I/F26であるUSBのポートの状態(Current Connect Status)を確認して、接続デバイスが存在しているかどうかを判断する。そして、異常発生原因特定部212は、接続デバイスが存在しない場合、ケーブル異常と特定する。つまり、異常発生原因特定部212は、ケーブルの接続状態を判定し、ケーブル抜けやケーブルの故障又は断線などにより接続状態に異常がある場合は、ケーブル異常と特定する。
また、例えば、異常発生原因特定部212は、ハードウェア異常およびケーブル異常でないと判断した場合、ソフトウェア異常(ソフトウェア障害)と特定する。
そして、異常発生原因特定部212は、特定した通信路60の異常発生原因を、通信路70によって操作デバイス100に送信する。また、異常発生原因特定部212は、異常発生原因を送信する代わりに、本体200をリブートするか否かの判断結果を、通信路70によって操作デバイス100に送信してもよい。なお、異常発生原因特定部212が判断部に相当する。
リブート管理部213は、通信路60の異常発生原因がソフトウェア異常(所定の原因の一例)であった場合、操作デバイス100に、通信路70を用いてハードウェア信号によってシャットダウンを行う旨のシャットダウン指示を送信する。そして、リブート管理部213は、操作デバイス100のシャットダウンを検知すると、本体200の動作抑制を行い、本体200をリブートする。つまり、リブート管理部213は、異常発生原因特定部212が本体200をリブートすると判断した場合、シャットダウン指示を通信路70によって操作デバイス100に送信し、さらに本体200をリブートする。このとき、リブート管理部213は、本体200において動作する全てのプログラムを終了して本体200内の全デバイスの電源を完全に切断してから起動し直すことができるが、本体200内の一部のデバイスの電源は保持してもよいし、本体200において動作する一部または全部のソフトウェアのみを終了してから起動し直してもよい。
次に、本実施形態の画像形成装置1におけるリブート処理についてフローチャートを用いて説明する。図3は、画像形成装置におけるリブート処理の流れを示すフローチャートである。
操作デバイス100は、通信路60の通信異常を検知すると(ステップS10)、異常発生原因を判断中である旨を操作パネル16に表示する(ステップS11)。そして、操作デバイス100は、通信路60において通信異常が発生した旨の異常通知を、通信路70により本体200に送信する(ステップS12)。
本体200は、異常通知を受信すると、異常発生原因を判断して特定する(ステップS13)。そして、本体200は、特定された異常発生原因から、画像形成装置1のリブートによってリカバリ可能か否かを判断する(ステップS14)。
そして、本体200は、リブートによるリカバリが不可能と判断した場合(ステップS14:No)、リカバリ不可能である旨と特定された異常発生原因を、通信路70により操作デバイス100に送信する(ステップS15)。
操作デバイス100は、リブートによるリカバリが不可能な旨と異常発生原因を受信すると、異常発生原因とリカバリ不可能である旨を表示して処理を終了する(ステップS16)。この場合の異常発生原因としては、ハードウェア異常やケーブル異常などである。
一方、本体200は、リブートによるリカバリが可能と判断した場合(ステップS14:Yes)、リカバリ可能である旨と特定された異常発生原因を、通信路70により操作デバイス100に送信する(ステップS17)。なお、異常発生原因に代えて、本体200をリブートさせる旨の判断結果を通信路70により操作デバイス100に送信してもよい。操作デバイス100は、リブートによるリカバリが可能な異常発生原因を受信すると、リブートする旨を表示する(ステップS18)。
本体200は、操作デバイス100にシャットダウン指示を送信し(ステップS19)、当該指示を受信すると、操作デバイス100はシャットダウンする(ステップS20)。操作デバイス100がシャットダウンすると、本体200はリブートを実施する(ステップS21)。
本体200が通信路60によりリブートした旨を操作デバイス100に送信すると、操作デバイス100は画像形成装置1をリブートした旨を表示する(ステップS22)。そして、通信路60による通信が可能となり、通常の処理を行う。なお、本実施形態では、操作デバイス100をシャットダウンさせた後に本体100をリブートしているが、操作デバイス100をシャットダウンさせるタイミングと本体200をリブートさせるタイミングとは同時であってもよいし、本体200をリブートさせた後に操作デバイス100をシャットダウンさせてもよい。
次に、本実施形態の画像形成装置1におけるリブート処理の詳細についてシーケンス図を用いて説明する。図4は、画像形成装置におけるリブート処理の流れを示すシーケンス図である。なお、図4における操作デバイス100と本体200との通信は、通信制御部101と通信制御部201とを介して行われている(図2参照)。
まず、操作デバイス100の通信異常検知部111は、通信路60で発生した通信異常を検知すると(ステップS30)、表示制御部114は、通信路60の異常発生原因を判断中である旨を操作パネル16に表示する(ステップS31)。
そして、通信異常検知部111は、通信路60で通信異常が発生した旨の異常通知を、通信路70を用いてハードウェア信号により本体200に送信する(ステップS32)。
次に、本体200の通信異常受信部211は、操作デバイス100から異常通知を受信すると、異常発生原因特定部212に当該異常通知を送出する(ステップS33)。異常発生原因特定部212は、異常通知を受け取ると、通信路60の異常発生原因(例えば、ハードウェア異常、ケーブル異常、またはソフトウェア異常)を判断し特定する(ステップS34)。
ここで、まず通信路60の異常発生原因がリブートにより画像形成装置1のリカバリができない場合(リカバリ不可)について説明する。異常発生原因が、例えばケーブル異常であった場合、異常発生原因特定部212は、リカバリ不可能である旨とケーブル異常である旨の異常発生原因を、通信路70を用いてハードウェア信号により、操作デバイス100に送信する(ステップS35)。また、異常発生原因特定部212は、異常発生原因をリブート管理部213に送出する(ステップS36)。
操作デバイス100の異常発生原因受信部112は、本体200から送信されたリカバリ不可能である旨と異常発生原因を受信すると、受信した異常発生原因とリブートによるリカバリが不可能である旨を操作パネル16に表示し(ステップS37)、ユーザに知らせる。具体的には、例えば、「ケーブルが切断されています。装置のリブートではリカバリできないため、サービスへ連絡してください。」等を表示すれば、ユーザは迅速に対応できる。そして、本体200のリブート管理部213は、リブートを行うことなく処理を終了する。
一方、通信路60の異常発生原因がリブートによりリカバリできる場合(リカバリ可)について説明する。異常発生原因が、例えばリブートによるリカバリが可能なソフトウェア異常であった場合、異常発生原因特定部212は、リカバリ可能である旨とソフトウェア異常である旨の異常発生原因を、通信路70を用いてハードウェア信号により、操作デバイス100に送信する(ステップS38)。また、異常発生原因特定部212は、異常発生原因をリブート管理部213に送出する(ステップS39)。
操作デバイス100の異常発生原因受信部112は、本体200から送信されたリカバリ可能である旨と異常発生原因を受信すると、画像形成装置1をリブートする旨を操作パネル16に表示し(ステップS40)、ユーザに知らせる。
次に、本体200のリブート管理部213は、通信路70を用いてハードウェア信号により、操作デバイス100にシャットダウン指示を送信する(ステップS41)。シャットダウン指示を受信した電源管理部113は、操作デバイス100の動作抑制を行い(ステップS42)、シャットダウンを行う(ステップS43)。
一方、リブート管理部213は、本体200の動作抑制を行い(ステップS44)、操作デバイス100のシャットダウンを検知すると(ステップS45)、本体200のリブートを実施する(ステップS46)。
その後、画像形成装置1が起動されると、操作デバイス100と本体200とは正常に通信が可能、すなわち、通信路60によるソフトウェア通信が可能となる。従って、リブート管理部213は、通信路60を用いてソフトウェア信号により、リブートした旨を操作デバイス100に送信し、表示制御部114は、リブートした旨を操作パネル16に表示する(ステップS47)。その後、画像形成装置1において画像形成等の各種処理が実行できる。
このように、第1の実施形態の画像形成装置1では、操作デバイス100と本体200との間でソフトウェア信号を用いて通信を行う通信路60で通信異常が発生した場合、通信路70によりハードウェア信号を用いて、操作デバイス100から通信異常が発生した旨の異常通知を本体200に送信する。本体200は、異常発生原因を特定して、通信路70により操作デバイス100に送信する。当該異常発生原因が、画像形成装置1のリブートによりリカバリが可能である場合、本体200は操作デバイス100をシャットダウンさせ、本体200のリブートを実施する。このように、本体200と操作デバイス100が独立した画像形成装置1において、本体200と操作デバイス100との間で通信異常が発生した場合であっても、正常な状態にリカバリできる。
(第1の実施形態の変形例)
第1の実施形態の画像形成装置では、通信路の異常発生原因がソフトウェア異常などのリカバリ可能な原因であった場合は、操作デバイスをシャットダウンして、本体のリブートを実施していた。これに対し、本変形例では、通信路の異常発生原因がソフトウェア異常などのリカバリ可能な原因であった場合、かつ所定の条件を満たしている場合に操作デバイスをシャットダウンして、本体のリブートを実施するものである。
これは、例えば、本来リブートによりリカバリ可能な異常発生原因であっても、画像形成装置をリブートしてもリカバリできない場合がある。このような場合でも、異常発生原因から判断すると画像形成装置のリブートを実施してしまう。そうすると、画像形成装置1を連続してリブートさせてしまい、ユーザに対して不信感を与えてしまうことがある。これに対して、異常発生原因が発生した際に、リブートを行う条件(例えば、前回のリブートの実施から所定期間経過後であればリブートを実施可能等)を追加することで当該問題を解決することができる。
本実施形態の画像形成装置1のハードウェア構成は、第1の実施形態と同様である(図1参照)。以下では、画像形成装置1の機能構成について、追加する機能のみを図2を参照して説明する。
操作デバイス100の電源管理部113は、第1の実施形態の機能に加え、異常発生原因受信部112によって異常発生原因を受信するとタイマによる計時を開始する。そして、電源管理部113は、通信路60の異常発生原因がソフトウェア異常などのリカバリが可能な所定の原因であった場合でも、異常発生原因を受信した後、予め定めた所定時間(例えば、1分)が経過してもシャットダウン指示を受信しなかった場合、操作デバイス100をシャットダウンしない。この所定時間が第1の所定時間に相当する。
操作デバイス100の表示制御部114は、第1の実施形態の機能に加え、リブートによりリカバリが可能な通信路60の異常発生原因を受信した場合、リブートを試みる旨を表示する。表示制御部114は、異常発生原因を受信した後所定時間が経過し、電源管理部113によって操作デバイス100がシャットダウンされなかった場合、画像形成装置1がリブートを実施できる条件(リブート条件)を満たしていない旨を操作パネル16に表示する。
本体200のリブート管理部213は、通信路60の異常発生原因がソフトウェア異常などのリカバリ可能な異常発生原因であった場合でも、前回のリブートの実施から所定期間内(例えば24時間以内)であった場合は、操作デバイス100にシャットダウン指示を送信せず、本体200のリブートを実施しない。
次に、本変形例の画像形成装置1におけるリブート処理についてフローチャートを用いて説明する。図5は、画像形成装置におけるリブート処理の流れを示すフローチャートである。
通信異常の検知から、異常発生原因の表示までの処理(ステップS60~66)は、第1の実施形態と同様であるため説明を省略する(ステップS10~16参照)。
一方、本体200は、リブートによるリカバリが可能と判断した場合(ステップS64:Yes)、リカバリ可能である旨と特定された異常発生原因を、通信路70により操作デバイス100に送信する(ステップS67)。なお、異常発生原因に代えて、本体200をリブートさせる旨の判断結果を通信路70により操作デバイスに送信してもよい。操作デバイス100は、リブートによるリカバリが可能な異常発生原因を受信すると、リブートを試みる旨を表示する(ステップS68)。
本体200は、前回のリブートの実施から24時間(所定期間)以内のリブートの実施か否かを判断する(ステップS69)。24時間以内のリブートの実施でない場合、つまり前回のリブートの実施から24時間経過した場合(ステップS69:No)、本体200は、操作デバイス100にシャットダウン指示を送信し(ステップS70)、当該指示を受信した操作デバイス100はシャットダウンする(ステップS71)。操作デバイス100がシャットダウンすると、本体200は、リブートを実施する(ステップS72)。
本体200が通信路60によりリブートした旨を操作デバイス100に送信すると、操作デバイス100は画像形成装置1をリブートした旨を表示する(ステップS73)。そして、通信路60による通信が可能となり、通常の処理を行う。
また、ステップS69において、24時間以内のリブートの実施である場合、つまり前回のリブートの実施から24時間経過していない場合(ステップS69:Yes)、本体200は、連続リブートを回避するためリブートを実施しない。そして、操作デバイス100は、異常発生原因を受信した後所定時間が経過してもシャットダウンされなかった場合、画像形成装置1がリブート条件を満たしていない旨を操作パネル16に表示する(ステップS74)。
次に、本実施形態の画像形成装置1におけるリブート処理の詳細についてシーケンス図を用いて説明する。図6は、画像形成装置におけるリブート処理の流れを示すシーケンス図である。図6では、通信異常に対するリブートによるリカバリ処理(図4のステップS30~34、ステップS38~47)の後、24時間以内に通信異常を検知した場合の流れであって、リブートを実施しない場合について示している。なお、図6における操作デバイス100と本体200との通信は、通信制御部101と通信制御部201とを介して行われている(図2参照)。
通信路60の通信異常の検知から、異常発生原因の特定までの処理(ステップS80~84)は、第1の実施形態と同様であるため説明を省略する(ステップS30~34参照)。
通信路60の異常発生原因が例えばソフトウェア異常であった場合、異常発生原因特定部212は、ソフトウェア異常である旨の異常発生原因を、通信路70を用いてハードウェア信号により、操作デバイス100に送信する(ステップS85)。また、異常発生原因特定部212は、異常発生原因をリブート管理部213に送出する(ステップS86)。リブート管理部213は、前回のリブートの実施から24時間以内(所定期間内)であった場合は、操作デバイス100にシャットダウン指示を送信せず、本体200のリブートを実施しない。
操作デバイス100の異常発生原因受信部112は、本体200から送信された異常発生原因を受信すると、表示制御部114は、画像形成装置1のリブートを試みる旨を操作パネル16に表示し(ステップS87)、ユーザに知らせる。
そして、異常発生原因受信部112は、異常発生原因を電源管理部113に送出する(ステップS88)。異常発生原因を受け取った電源管理部113は、タイマによる計時を開始する(ステップS89)。
電源管理部113は、通信路60の異常発生原因がソフトウェア異常などのリカバリが可能な所定の原因であった場合でも、異常発生原因を受信した後、所定時間(例えば1分)が経過して計時が完了してもシャットダウン指示を受信しなかった場合(ステップS90)、操作デバイス100をシャットダウンしない。そうすると、表示制御部114は、画像形成装置1がリブート条件を満たしていない旨を操作パネル16に表示する(ステップS91)。
このように、第1の実施形態の変形例の画像形成装置1では、操作デバイス100と本体200との間でソフトウェア信号を用いて通信を行う通信路60で通信異常が発生した場合、通信路70によりハードウェア信号を用いて、操作デバイス100から通信異常が発生した旨の異常通知を本体200に送信する。本体200は、通信路60の異常発生原因を特定して、通信路70により操作デバイス100に送信する。当該異常発生原因が、画像形成装置1のリブートによりリカバリが可能である場合で、かつ前回のリブートの実施から所定期間(例えば24時間)以内でない場合、本体200は操作デバイス100をシャットダウンさせ、本体200のリブートを実施する。このように、本体200と操作デバイス100が独立した画像形成装置1において、本体200と操作デバイス100との間で通信異常が発生した場合であっても、正常な状態にリカバリできる。また、前回のリブートの実施から所定期間内である場合にはリブートを実施しないため、リブートしてもリカバリできなかった場合でも連続してリブートを実施してしまうことを回避することができる。
(第2の実施形態)
第1の実施形態の画像形成装置は、操作デバイスおよび本体を備えた構成となっていた。これに対して、本実施形態の画像形成装置では、操作デバイスおよび本体に加え、操作デバイスと本体とに接続されたマイコンを備えた構成となっている。なお、マイコンが管理装置の一例である。
図7は、第2の実施形態にかかる画像形成装置のハードウェア構成図である。図7に示すように、画像形成装置2は、外部装置の一例である操作デバイス300と、本体400と、マイコン500とを備えている。
図7に示すように、操作デバイス300は、CPU11と、ROM12と、RAM13と、無線通信I/F14と、接続I/F35と、操作パネル16とを備えている。そして、上記各構成は、内部バス10を介して相互に接続されている。ここで、CPU11、ROM12、RAM13、無線通信I/F14、および操作パネル16の機能および構成は第1の実施形態と同様である。
接続I/F35は、有線で接続するためのインターフェースであって、通信路60および通信路70を介して本体400と通信を行い、通信路80aおよび通信路80bを介してマイコン500経由で本体400と通信を行う。通信路60および通信路70は、第1の実施形態と同様である。
通信路80aは、操作デバイス300とマイコン500との間でハードウェア信号を送受信するものである。通信路80bは、マイコン500と本体400との間でハードウェア信号を送受信するものである。通信路80a、80bが第2の通信路の一例である。通信路60によりソフトウェア通信が実施できないような通信異常が発生した場合、操作デバイス300と本体400との間で、通信路80a、80bによりマイコン500を経由してハードウェア通信を実施する。
また、図7に示すように、本体400は、CPU21と、ROM22と、RAM23と、HDD24と、無線通信I/F25と、接続I/F46と、エンジン部27と、操作パネル28と、有線通信I/F29とを備えている。そして、上記各構成は、内部バス20を介して相互に接続されている。ここで、CPU21、ROM22、RAM23、HDD24、無線通信I/F25、エンジン部27、操作パネル28、および有線通信I/F29の機能および構成は第1の実施形態と同様である。
接続I/F46は、有線による接続のためのインターフェースであり、通信路60および通信路70を介して操作デバイス300と通信を行い、通信路80aおよび通信路80bを介してマイコン500経由で操作デバイス300と通信を行う。
また、図7に示すように、マイコン500は、CPU51と、ROM52と、RAM53と、接続I/F55とを備えており、内部バスを介して相互に接続されている。
CPU51は、マイコン500の全体的な制御を行う。CPU51は、RAM53を作業領域として、ROM52等に格納されたプログラムを実行する。接続I/F55は、有線で接続するためのインターフェースであって、通信路80aを用いて操作デバイス300とハードウェア通信を行い、通信路80bを用いて本体400とハードウェア通信を行う。これにより、マイコン500は、操作デバイス300と本体400との通信を仲介することになる。
図8は、第2の実施形態にかかる画像形成装置の機能ブロック図である。図8に示す操作デバイス300は、CPU11がROM12に格納されていたプログラムを実行することで、通信制御部101と、アプリケーション103と、通信異常検知部311と、異常発生原因受信部312と、電源管理部313と、表示制御部114とを実現する。ここで、通信制御部101、アプリケーション103、および表示制御部114の機能および構成は、第1の実施形態と同様であるため説明を省略する。
通信異常検知部311は、本体400との間でソフトウェア通信を実施している通信路60(第1の通信路)で発生した通信異常を検知する。検知方法は第1の実施形態と同様である。
そして、通信異常検知部311は、通信路60での通信異常を検知すると、通信路60で通信異常が発生した旨の異常通知を、通信路80a(第2の通信路)によってハードウェア信号を用いてマイコン500に送信する。その後、マイコン500により異常通知が本体400に送信される。
異常発生原因受信部312は、通信路60の通信に対する異常通知がマイコン500経由で本体400に送信された後、通信路80bによって本体400からマイコン500に送信され、通信路80aによってマイコン500から送信された異常発生原因を受信する。また、異常発生原因受信部312は、通信路80bによって本体400からマイコン500に送信され、通信路80aによってマイコン500から送信された、本体400をリブートするか否かの判断結果を受信してもよい。
電源管理部313は、操作デバイス300の電源を管理する。また、電源管理部313は、通信路60の異常発生原因がリブートにより画像形成装置2のリカバリが可能な所定の原因であった場合、または本体400をリブートする旨の判断結果の場合、シャットダウンする旨のシャットダウン指示を、本体400から通信路80a、80bによってマイコン500経由で受信する。そして、シャットダウン指示を受信すると、電源管理部313は、操作デバイス300の動作抑制を行い、シャットダウンする。所定の原因については、第1の実施形態と同様である。
次に本体400について説明する。図8に示す本体400は、CPU21がROM22に格納されていたプログラムを実行することで、通信制御部201と、画像入力部203と、画像出力部204と、通信異常受信部411と、異常発生原因特定部412と、リブート管理部213と、を実現する。ここで、通信制御部201、画像入力部203、画像出力部204、リブート管理部213の機能および構成は、第1の実施形態と同様であるため説明を省略する。
通信異常受信部411は、操作デバイス300により通信路60において通信異常の発生が検知された場合、操作デバイス300から通信路80a、80bを用いてマイコン500経由でハードウェア信号により送信された異常通知を受信する。なお、通信異常受信部411が異常取得部に相当する。
異常発生原因特定部412は、操作デバイス300から異常通知を受信した場合、この通知をトリガとして通信路60の異常発生原因を判断し特定する。異常発生原因の特定方法は、第1の実施形態と同様である。
そして、異常発生原因特定部412は、特定した通信路60の異常発生原因を、通信路80a、80bによってマイコン500経由で操作デバイス300に送信する。なお、異常発生原因特定部412が判断部に相当する。
また、図8に示すマイコン500は、CPU51がROM52に格納されていたプログラムを実行することで、異常通知通信部511と、異常発生原因通信部512と、代替リブート管理部513と、を実現する。
異常通知通信部511は、通信路80aを利用したハードウェア通信によって、操作デバイス300から異常通知を受信する。異常通知を受信した場合、異常通知通信部511は、通信路80bを利用したハードウェア通信によって、本体400に受信した異常通知を送信する。また、異常通知を送信した場合、異常通知通信部511は、異常通知を代替リブート管理部513に送出する。なお、異常通知通信部511が異常情報通信部に相当する。
異常発生原因通信部512は、通信路80bを利用したハードウェア通信によって、本体400から異常発生原因を受信する。異常発生原因を受信した場合、異常発生原因通信部512は、通信路80aを利用したハードウェア通信によって、操作デバイス300に受信した異常発生原因を送信する。また、異常発生原因を送信した場合、異常発生原因通信部512は、異常発生原因を代替リブート管理部513に送出する。また、異常発生原因通信部512は、異常発生原因に代えて、本体400をリブートさせる旨の判断結果を受信および送信してもよい。なお、異常発生原因通信部512が判断結果通信部に相当する。
代替リブート管理部513は、異常通知通信部511により異常通知を受け取るとタイマによる計時を開始する。そして、代替リブート管理部513は、異常通知を本体400に通知した後、予め定めた所定時間(例えば、1分)以内に本体400から異常発生原因を受信した場合は、タイマによる計時を完了(終了)する。その後、代替リブート管理部513は、通信路80bを利用したハードウェア通信によって本体400からシャットダウン指示を受信した場合は、通信路80aを利用したハードウェア通信によって、操作デバイス300にシャットダウン指示を送信する。
一方、代替リブート管理部513は、異常通知を本体400に送信した後、所定時間が経過しても、本体400から異常発生原因を受信しなかった場合、本体400自体に異常が発生していると判断する。そして、代替リブート管理部513は、通信路80aによってハードウェア信号を用いて操作デバイス300にシャットダウン指示を送信する。そして、代替リブート管理部513は、操作デバイス300がシャットダウンしたことを検知すると、本体400の電源をオフした後オンにすることで、本体400をリブートする。
次に、本実施形態の画像形成装置2の通信路60における異常発生時の処理の流れについて説明する。図9は、画像形成装置における通信部の異常発生時の処理の流れを示す概念図である。
操作デバイス300と本体400との間で、ソフトウェア通信の異常が発生すると(ステップS100)、操作デバイス300は、通信異常を検知する(ステップS101)。通信異常を検知した操作デバイス300は、通信異常が発生した旨の異常通知をマイコン500にハードウェア通信により送信する(ステップS102)。
操作デバイス300から異常通知を受信したマイコン500は、受信した異常通知を本体400にハードウェア通信により送信する(ステップS103)。異常通知を受信した本体400は、異常発生原因を特定する(ステップS104)。
ここで、リブートにより画像形成装置2のリカバリが可能でも、本体400自体に異常が発生していた場合、シャットダウン指示を送信できない。従って、一定条件下で、マイコン500が代替でシャットダウン指示を操作デバイス300に送信する(ステップS105)。そして、マイコン500は、本体400をリブートさせることで、画像形成装置2のリブートを実施することができる(ステップS106)。
次に、本実施形態の画像形成装置2におけるリブート処理の詳細についてシーケンス図を用いて説明する。図10は、画像形成装置におけるリブート処理の流れを示すシーケンス図である。なお、図10における操作デバイス300と本体400との通信は、通信制御部101と通信制御部201とを介して行われている(図8参照)。
まず、操作デバイス300の通信異常検知部311が通信路60で発生した通信異常を検知すると(ステップS110)、表示制御部114は、通信路60の異常発生原因を判断中である旨を操作パネル16に表示する(ステップS111)。
そして、通信異常検知部311は、通信路60で通信異常が発生した旨の異常通知を、通信路80aを用いてハードウェア信号によりマイコン500に送信する(ステップS112)。マイコン500の異常通知通信部511は、異常通知を受信すると、通信路80bを用いてハードウェア信号により本体400に異常通知を送信する(ステップS113)。
また、異常通知通信部511は、異常通知を代替リブート管理部513に送出し(ステップS114)、代替リブート管理部513は、異常通知を受け取るとタイマによる計時を開始する(ステップS115)。
次に、本体400の通信異常受信部411は、マイコン500から異常通知を受信すると、異常発生原因特定部412に当該異常通知を送出する(ステップS116)。異常発生原因特定部412は、異常通知を受け取ると、通信路60の異常発生原因(例えば、ハードウェア異常、ケーブル異常、またはソフトウェア異常)を判断し特定する(ステップS117)。
ここで、まず本体400自体には異常はなく、正常である場合について説明する。異常発生原因が、例えばソフトウェア異常であった場合、異常発生原因特定部412は、リカバリ可能である旨とソフトウェア異常である旨の異常発生原因を、通信路80bを用いてハードウェア信号によりマイコン500に送信する(ステップS118)。また、異常発生原因特定部412は、異常発生原因をリブート管理部213に送出する(ステップS119)。
マイコン500の異常発生原因通信部512は、本体400から送信されたリカバリ可能である旨と異常発生原因を受信すると、受信したリカバリ可能である旨と異常発生原因を操作デバイス300に送信する(ステップS120)。また、異常発生原因通信部512は、異常発生原因を代替リブート管理部513に送出する(ステップS121)。
操作デバイス300の異常発生原因受信部112は、マイコン500から送信されたリカバリ可能である旨と異常発生原因を受信すると、画像形成装置2をリブートする旨を操作パネル16に表示し(ステップS122)、ユーザに知らせる。
次に、本体400のリブート管理部213は、通信路80bを用いてハードウェア信号により、マイコン500にシャットダウン指示を送信する(ステップS123)。マイコン500の代替リブート管理部513は、シャットダウン指示を受信すると、通信路80aを用いてハードウェア通信により、操作デバイス300にシャットダウン指示を送信する(ステップS124)。シャットダウン指示を受信した電源管理部313は、操作デバイス300の動作抑制を行い(ステップS125)、シャットダウンを行う(ステップS126)。
一方、リブート管理部213は、本体400の動作抑制を行い(ステップS127)、操作デバイス300のシャットダウンを検知すると(ステップS128)、本体400のリブートを実施する(ステップS129)。
その後、画像形成装置2が起動されると、操作デバイス300と本体400とは正常に通信が可能、すなわち、通信路60によるソフトウェア通信が可能となる。従って、リブート管理部213は、通信路60を用いてソフトウェア信号により、リブートした旨を操作デバイス300に送信し、表示制御部114は、リブートした旨を操作パネル16に表示する(ステップS130)。その後、画像形成装置2において画像形成等の各種処理が実行できる。
一方、本体400自体に異常が発生していることで、通信異常が発生した場合について説明する。この場合、例えば異常発生原因は、本体の異常となる。代替リブート管理部513は、タイマによる計時が完了し(ステップS131)、所定時間が経過しても本体400から異常発生原因を受信しなかった場合、本体400に異常が発生している旨の異常発生原因を異常発生原因通信部512に送出する(ステップS132)。
異常発生原因通信部512は、本体400に異常が発生している旨の異常発生原因を受け取ると、受け取った異常発生原因を操作デバイス300に送信する(ステップS133)。操作デバイス300の異常発生原因受信部312は、マイコン500から送信された異常発生原因を受信すると、画像形成装置2をリブートする旨を操作パネル16に表示し(ステップS134)、ユーザに知らせる。
次に、マイコン500の代替リブート管理部513は、通信路80aを用いてハードウェア信号により、操作デバイス300にシャットダウン指示を送信する(ステップS135)。シャットダウン指示を受信した電源管理部313は、操作デバイス300の動作抑制を行い(ステップS136)、シャットダウンを行う(ステップS137)。
一方、代替リブート管理部513は、操作デバイス300のシャットダウンを検知すると(ステップS138)、本体400の電源をオフ(OFF)にした後(ステップS139)、本体400の電源をオン(ON)にすることにより(ステップS140)、本体400のリブートを実施する。その後、画像形成装置2が起動される。
このように、第2の実施形態の画像形成装置2では、操作デバイス300と本体400との間でソフトウェア信号を用いて通信を行う通信路60で通信異常が発生した場合、通信路80a、80bによりハードウェア信号を用いて、操作デバイス300からマイコン500を経由して異常通知を本体400に送信する。本体400は、異常発生原因を特定して、通信路80a、80bによりマイコン500を経由して操作デバイス300に送信する。当該異常発生原因が、本体400の異常ではなく、画像形成装置2のリブートによりリカバリが可能である場合、本体400はマイコン500経由で操作デバイス300をシャットダウンさせ、本体400のリブートを実施する。このように、本体400と操作デバイス300が独立した画像形成装置2において、本体400と操作デバイス300との間で通信異常が発生した場合であっても、正常な状態にリカバリできる。
また、異常発生原因が本体400の異常であって、異常通知を送信しても本体400からマイコン500に異常発生原因が送信されなかった場合、一定条件下でマイコン500が操作デバイス300をシャットダウンさせ、本体400のリブートを実施する。これにより、本体400自体に異常があった場合でも、画像形成装置2のリブートを実施できる。従って、本体400と操作デバイス300との間で通信異常が発生した場合であっても、正常な状態にリカバリできる。
なお、第2の実施形態の画像形成装置2においても、本来リブートによりリカバリ可能な異常発生原因でも、リブートによりリカバリできない場合がある。このような場合の連続リブートを回避するため、第1の実施形態の変形例と同様に、代替リブート管理部513も時間経過等のリブート条件を備えた構成としてもよい。
すなわち、代替リブート管理部513は、通信路60の異常発生原因がソフトウェア異常などのリカバリ可能な異常発生原因であった場合でも、前回のリブートの実施から所定期間内(例えば24時間以内)であった場合は、操作デバイス300にシャットダウン指示を送信せず、本体400のリブートを実施しない。
これにより、前回のリブートの実施から所定期間内である場合にはリブートを実施しないため、リブートしてもリカバリできなかった場合でも連続してリブートを実施してしまうことを回避することができる。
(第3の実施形態)
第1の実施形態の画像形成装置は、操作デバイスと本体との間でソフトウェア信号を送受信する通信、およびハードウェア信号を送受信する通信を用いる構成となっていた。これに対して、本実施形態の画像形成装置では、操作デバイスと本体との間でソフトウェア信号を送受信する通信、および近距離無線通信を用いる構成となっている。なお、本実施形態では、近距離無線通信として、例えば、NFC(Near Field Communication)を用いた例を挙げて説明する。
図11は、第3の実施形態にかかる画像形成装置のハードウェア構成図である。図11に示すように、画像形成装置3は、外部装置の一例である操作デバイス700と、本体800とを備えている。
図11に示すように、操作デバイス700は、CPU11と、ROM12と、RAM13と、無線通信I/F14と、接続I/F15と、操作パネル16と、NFCI/F17とを備えている。そして、上記各構成は、内部バス10を介して相互に接続されている。ここで、CPU11、ROM12、RAM13、無線通信I/F14、接続I/F15、および操作パネル16の機能および構成は第1の実施形態と同様である。
NFCI/F17は、近距離無線通信の一例であるNFCによる接続のための通信インターフェースであり、通信路90を介して本体800と通信を行う。
通信路90は、操作デバイス700と本体800との間でNFCなどの近距離無線通信を行うものである。通信路90が第2の通信路の一例である。通信路60によりソフトウェア通信が実施できないような通信異常が発生した場合、操作デバイス700と本体800との間で、通信路90NFCを介して通信を実施する。
また、図11に示すように、本体800は、CPU21と、ROM22と、RAM23と、HDD24と、無線通信I/F25と、接続I/F26と、エンジン部27と、操作パネル28と、有線通信I/F29と、NFCI/F30とを備えている。そして、上記各構成は、内部バス20を介して相互に接続されている。ここで、CPU21、ROM22、RAM23、HDD24、無線通信I/F25、接続I/F26、エンジン部27、操作パネル28、および有線通信I/F29の機能および構成は第1の実施形態と同様である。
NFCI/F30は、近距離無線通信の一例であるNFCによる接続ための通信インターフェースであり、通信路90を介して操作デバイス700と通信を行う。
図12は、第3の実施形態にかかる画像形成装置の機能ブロック図である。図12に示す操作デバイス700は、CPU11がROM12に格納されていたプログラムを実行することで、通信制御部701と、アプリケーション103と、通信異常検知部711と、異常発生原因受信部712と、電源管理部713と、表示制御部114とを実現する。ここで、アプリケーション103、および表示制御部114の機能および構成は、第1の実施形態と同様であるため説明を省略する。
通信制御部701は、接続I/F15や、無線通信I/F14、NFCI/F17を介して、本体800を含む他の装置との間で、情報の送受信を制御する。
通信異常検知部711は、本体800との間でソフトウェア通信を実施している通信路60(第1の通信路)で発生した通信異常を検知する。検知方法は第1の実施形態と同様である。
そして、通信異常検知部711は、通信路60での通信異常を検知すると、通信路60で通信異常が発生した旨の異常通知(異常情報)を、通信路90(第2の通信路)によってNFCを用いて本体800に送信する。
異常発生原因受信部712は、通信路60の通信に対する異常通知が本体800に送信された後、通信路90によって本体800から送信された異常発生原因、または本体800をリブートするか否かの判断結果を受信する。
電源管理部713は、操作デバイス700の電源を管理する。また、電源管理部713は、通信路60の異常発生原因がリブートにより画像形成装置3のリカバリが可能な所定の原因であった場合、または本体800をリブートする旨の判断結果の場合、シャットダウンする旨のシャットダウン指示を、本体800から通信路90により受信する。そして、シャットダウン指示を受信すると、電源管理部713は、操作デバイス700の動作抑制を行い、シャットダウンする。所定の原因については、第1の実施形態と同様である。
次に本体800について説明する。図12に示す本体800は、CPU21がROM22に格納されていたプログラムを実行することで、通信制御部801と、画像入力部203と、画像出力部204と、通信異常受信部811と、異常発生原因特定部812と、リブート管理部813と、を実現する。ここで、画像入力部203、および画像出力部204の機能および構成は、第1の実施形態と同様であるため説明を省略する。
通信制御部801は、接続I/F26、無線通信I/F25、有線通信I/F29、およびNFCI/F30を介して、操作デバイス700を含む他の装置との間で、情報の送受信を制御する。
通信異常受信部811は、操作デバイス700により通信路60において通信異常の発生が検知された場合、操作デバイス700から通信路90を用いてNFCにより送信された異常通知を受信する。なお、通信異常受信部811が異常取得部に相当する。
異常発生原因特定部812は、操作デバイス700から異常通知を受信した場合、または通信異常受信部811が通信路60における通信異常の発生を検知した場合、この通知をトリガとして通信路60の異常発生原因を判断し特定する。異常発生原因の特定方法は、第1の実施形態と同様である。
そして、異常発生原因特定部812は、特定した通信路60の異常発生原因を、通信路90によって操作デバイス700に送信する。また、異常発生原因特定部812は、異常発生原因を送信する代わりに、本体800をリブートするか否かの判断結果を、通信路70によって操作デバイス700に送信してもよい。なお、異常発生原因特定部812が判断部に相当する。
リブート管理部813は、通信路60の異常発生原因がソフトウェア異常(所定の原因の一例)であった場合、操作デバイス700に、通信路90を用いて近距離無線通信によってシャットダウンを行う旨のシャットダウン指示を送信する。そして、リブート管理部813は、操作デバイス700のシャットダウンを検知すると、本体800の動作抑制を行い、本体800をリブートする。
次に、本実施形態の画像形成装置3におけるリブート処理の詳細についてシーケンス図を用いて説明する。図13は、画像形成装置におけるリブート処理の流れを示すシーケンス図である。なお、図13における操作デバイス700と本体800との通信は、通信制御部701と通信制御部801とを介して行われている(図12参照)。
まず、操作デバイス700の通信異常検知部711は、通信路60で発生した通信異常を検知すると(ステップS150)、表示制御部114は、通信路60の異常発生原因を判断中である旨を操作パネル16に表示する(ステップS151)。
そして、通信異常検知部711は、通信路60で通信異常が発生した旨の異常通知をNFCI/F17に送出し(ステップS152)、NFCI/F17から通信路90を用いてNFCにより本体800に送信する(ステップS153)。
次に、本体800のNFCI/F30は、操作デバイス700から異常通知を受信すると、通信異常受信部811に送出し(ステップS154)、通信異常受信部811は、異常発生原因特定部812に当該異常通知を送出する(ステップS155)。異常発生原因特定部812は、異常通知を受け取ると、通信路60の異常発生原因(例えば、ハードウェア異常、ケーブル異常、またはソフトウェア異常)を判断し特定する(ステップS156)。
ここで、まず通信路60の異常発生原因がリブートにより画像形成装置3のリカバリができない場合(リカバリ不可)について説明する。
異常発生原因が、例えばケーブル異常であった場合、異常発生原因特定部812は、リカバリ不可能である旨とケーブル異常である旨の異常発生原因をNFCI/F30に送出し(ステップS157)、NFCI/F30から通信路90を用いてNFCにより、操作デバイス700に送信する(ステップS158)。また、異常発生原因特定部812は、異常発生原因をリブート管理部813に送出する(ステップS159)。
操作デバイス700のNFCI/F17は、本体800から送信されたリカバリ不可能である旨と異常発生原因を受信すると、異常発生原因受信部712に当該異常発生原因を送出する(ステップS160)。
異常発生原因受信部712は、受け取った異常発生原因とリブートによるリカバリが不可能である旨を表示制御部114に送出すると、表示制御部114が操作パネル16に表示し(ステップS161)、ユーザに知らせる。具体的には、例えば、「ケーブルが切断されています。装置のリブートではリカバリできないため、サービスへ連絡してください。」等を表示する。これによりユーザは迅速に対応できる。そして、本体800のリブート管理部813は、リブートを行うことなく処理を終了する。
一方、通信路60の異常発生原因がリブートによりリカバリできる場合(リカバリ可)について説明する。
異常発生原因が、例えばリブートによるリカバリが可能なソフトウェア異常であった場合、異常発生原因特定部812は、リカバリ可能である旨とソフトウェア異常である旨の異常発生原因をNFCI/F30に送出し(ステップS162)、NFCI/F30から通信路90を用いてNFCにより、操作デバイス700に送信する(ステップS163)。また、異常発生原因特定部812は、異常発生原因をリブート管理部813に送出する(ステップS164)。
操作デバイス700のNFCI/F17は、本体800から送信されたリカバリ可能である旨と異常発生原因を受信すると、異常発生原因受信部712に当該異常発生原因を送出する(ステップS165)。異常発生原因受信部712は、画像形成装置1をリブートする旨を操作パネル16に表示し(ステップS166)、ユーザに知らせる。
次に、本体800のリブート管理部813は、NFCI/F30にシャットダウン指示を送出し(ステップS167)、NFCI/F30から通信路90を用いてNFCにより、操作デバイス700にシャットダウン指示を送信する(ステップS168)。
シャットダウン指示を受信したNFCI/F17は、当該シャットダウン指示を電源管理部713に送出し(ステップS169)、電源管理部713は、操作デバイス700の動作抑制を行い(ステップS170)、シャットダウンを行う(ステップS171)。
一方、リブート管理部813は、本体800の動作抑制を行い(ステップS172)、操作デバイス700のシャットダウンを検知すると(ステップS173)、本体800のリブートを実施する(ステップS174)。
その後、画像形成装置3が起動されると、操作デバイス700と本体800とは正常に通信が可能、すなわち、通信路60によるソフトウェア通信が可能となる。従って、リブート管理部813は、通信路60を用いてソフトウェア信号により、リブートした旨を操作デバイス700に送信し、表示制御部114は、リブートした旨を操作パネル16に表示する(ステップS175)。その後、画像形成装置1において画像形成等の各種処理が実行できる。
このように、第3の実施形態の画像形成装置3では、操作デバイス700と本体800との間でソフトウェア信号を用いて通信を行う通信路60で通信異常が発生した場合、通信路90によりNFC(近距離無線通信)を用いて、操作デバイス700から通信異常が発生した旨の異常通知を本体800に送信する。本体800は、異常発生原因を特定して、通信路90により操作デバイス700に送信する。当該異常発生原因が、画像形成装置3のリブートによりリカバリが可能である場合、本体800は操作デバイス700をシャットダウンさせ、本体800のリブートを実施する。このように、本体800と操作デバイス700が独立した画像形成装置3において、本体800と操作デバイス700との間で通信異常が発生した場合であっても、正常な状態にリカバリできる。また、NFCなどの近距離無線通信により通信を行うことで、送受信する種別が増加しても、ハードウェア信号による通信のようにバラ線を追加する必要がないため、利便性が向上する。
(第3の実施形態の変形例)
第3の実施形態の画像形成装置では、通信路の異常発生原因がソフトウェア異常などのリカバリ可能な原因であった場合は、操作デバイスをシャットダウンして、本体のリブートを実施していた。これに対し、本変形例では、通信路の異常発生原因がソフトウェア異常などのリカバリ可能な原因であった場合、かつ所定の条件を満たしている場合に操作デバイスをシャットダウンして、本体のリブートを実施するものである。
本実施形態の画像形成装置3のハードウェア構成は、第3の実施形態と同様である(図11参照)。以下では、画像形成装置3の機能構成について、追加する機能のみを図12を参照して説明する。
操作デバイス700の電源管理部713は、第3の実施形態の機能に加え、異常発生原因受信部712によって異常発生原因を受信するとタイマによる計時を開始する。そして、電源管理部713は、通信路60の異常発生原因がソフトウェア異常などのリカバリが可能な所定の原因であった場合でも、異常発生原因を受信した後、予め定めた所定時間(例えば、1分)が経過してもシャットダウン指示を受信しなかった場合、操作デバイス700をシャットダウンしない。この所定時間が第1の所定時間に相当する。
操作デバイス700の表示制御部114は、第3の実施形態の機能に加え、リブートによりリカバリが可能な通信路60の異常発生原因を受信した場合、リブートを試みる旨を表示する。表示制御部114は、異常発生原因を受信した後所定時間が経過し、電源管理部713によって操作デバイス700がシャットダウンされなかった場合、画像形成装置3がリブートを実施できる条件(リブート条件)を満たしていない旨を操作パネル16に表示する。
本体800のリブート管理部813は、通信路60の異常発生原因がソフトウェア異常などのリカバリ可能な異常発生原因であった場合でも、前回のリブートの実施から所定期間内(例えば24時間以内)であった場合は、操作デバイス700にシャットダウン指示を送信せず、本体800のリブートを実施しない。
次に、本実施形態の画像形成装置3におけるリブート処理の詳細についてシーケンス図を用いて説明する。図14は、画像形成装置におけるリブート処理の流れを示すシーケンス図である。図14では、通信異常に対するリブートによるリカバリ処理(図13のステップS140~146、ステップS152~165)の後、24時間以内に通信異常を検知した場合の流れであって、リブートを実施しない場合について示している。なお、図14における操作デバイス700と本体800との通信は、通信制御部701と通信制御部801とを介して行われている(図12参照)。
通信路60の通信異常の検知から、異常発生原因の特定までの処理(ステップS180~186)は、第3の実施形態と同様であるため説明を省略する(ステップS140~146参照)。
通信路60の異常発生原因が例えばソフトウェア異常であった場合、異常発生原因特定部812は、ソフトウェア異常である旨の異常発生原因をNFCI/F30に送出し(ステップS187)、NFCI/F30から通信路90を用いてNFCにより、操作デバイス700に送信する(ステップS188)。また、異常発生原因特定部812は、異常発生原因をリブート管理部813に送出する(ステップS189)。リブート管理部813は、前回のリブートの実施から24時間以内(所定期間内)であった場合は、操作デバイス700にシャットダウン指示を送信せず、本体800のリブートを実施しない。
操作デバイス700のNFCI/F17は、本体800から送信された異常発生原因を受信すると、異常発生原因受信部712に当該異常発生原因を送出する(ステップS190)。表示制御部114は、画像形成装置3のリブートを試みる旨を操作パネル16に表示し(ステップS191)、ユーザに知らせる。
そして、異常発生原因受信部712は、異常発生原因を電源管理部713に送出する(ステップS192)。異常発生原因を受け取った電源管理部713は、タイマによる計時を開始する(ステップS193)。
電源管理部713は、通信路60の異常発生原因がソフトウェア異常などのリカバリが可能な所定の原因であった場合でも、異常発生原因を受信した後、所定時間(例えば1分)が経過して計時が完了してもシャットダウン指示を受信しなかった場合(ステップS194)、操作デバイス700をシャットダウンしない。
そうすると、表示制御部114は、画像形成装置3がリブート条件を満たしていない旨を操作パネル16に表示する(ステップS195)。このとき、表示制御部114は、「手動での電源OFFの実施してください」等の表示をしてもよい。これにより、画像形成装置3がユーザの意に反してシャットダウンしてしまうという不信感を与えることを回避できる。
このように、第3の実施形態の変形例の画像形成装置3では、操作デバイス700と本体800との間でソフトウェア信号を用いて通信を行う通信路60で通信異常が発生した場合、通信路90によりNFCを用いて、操作デバイス700から通信異常が発生した旨の異常通知を本体800に送信する。本体800は、通信路60の異常発生原因を特定して、通信路90により操作デバイス700に送信する。当該異常発生原因が、画像形成装置3のリブートによりリカバリが可能である場合で、かつ前回のリブートの実施から所定期間(例えば24時間)以内でない場合、本体800は操作デバイス700をシャットダウンさせ、本体800のリブートを実施する。このように、本体800と操作デバイス700が独立した画像形成装置3において、本体800と操作デバイス700との間で通信異常が発生した場合であっても、正常な状態にリカバリできる。また、前回のリブートの実施から所定期間内である場合にはリブートを実施しないため、リブートしてもリカバリできなかった場合でも連続してリブートを実施してしまうことを回避することができる。
(第4の実施形態)
第1の実施形態の画像形成装置は、操作デバイスと本体との間でソフトウェア信号を送受信する通信、およびハードウェア信号を送受信する通信を用いる構成となっていた。これに対して、本実施形態の画像形成装置では、操作デバイスと本体との間でソフトウェア信号を送受信する通信、および近距離無線通信を用いる構成となっている。
さらに、第1の実施形態の画像形成装置では、バラ線によるハードウェア信号を用いているため、異常発生原因の種別が増えてしまうと、画像形成装置と操作デバイスを接続するバラ線の本数が増えてしまう。しかし、近距離無線通信を用いた場合、通信の種別が増えてもバラ線の追加が不要である。そこで、本実施形態の画像形成装置では、操作デバイスと本体との間で通信を行う際の情報量を増加させた例を示す。以下では、一例として、本体の機種およびバージョンが、操作デバイスによるサポート可能な機種およびバージョンであるかを判断した上でリブート処理を行うか否かを判断する。
第4の実施形態にかかる画像形成装置のハードウェア構成図は、第3の実施形態と同様である(図11参照)。
図15は、第4の実施形態にかかる画像形成装置の機能ブロック図である。図15に示す操作デバイス900は、CPU11がROM12に格納されていたプログラムを実行することで、通信制御部701と、アプリケーション103と、通信異常検知部911と、異常発生原因受信部912と、電源管理部713と、表示制御部114とを実現する。また、操作デバイス900は、対応情報記憶部901を備えている。ここで、アプリケーション103、表示制御部114の機能および構成は第1の実施形態と同様であり、通信制御部701、電源管理部713の機能および構成は第3の実施形態と同様であるため説明を省略する。
対応情報記憶部901は、例えばROM12などで実現され、操作デバイス900がサポート対応可能な装置の機種およびバージョンを示す対応情報を保存している。なお、対応情報とは、例えば、表1に示すテーブルデータである。
通信異常検知部911は、本体1000との間でソフトウェア通信を実施している通信路60(第1の通信路)で発生した通信異常を検知する。検知方法は第1の実施形態と同様である。
そして、通信異常検知部911は、通信路60での通信異常を検知すると、対応情報記憶部901から対応情報を取得し、通信路60で異常が発生した旨の異常通知と取得した対応情報とを通信路90によってNFCを用いて本体1000に送信する。
異常発生原因受信部912は、通信路60の通信に対する異常通知が本体1000に送信された後、通信路90によって本体1000から送信された異常発生原因を受信する。このとき、上述の対応情報に保存された操作デバイス900がサポート対応可能な装置の機種およびバージョンに本体1000が含まれていない場合、その旨も異常発生原因に含まれる。
次に本体1000について説明する。図15に示す本体1000は、CPU21がROM22に格納されていたプログラムを実行することで、通信制御部801と、画像入力部203と、画像出力部204と、通信異常受信部1011と、異常発生原因特定部1012と、リブート管理部1013とを実現する。また、本体1000は、本体情報記憶部1001を備えている。ここで、画像入力部203、および画像出力部204の機能および構成は第1の実施形態と同様であり、通信制御部801は第3の実施形態と同様であるため説明を省略する。
本体情報記憶部1001は、例えばROM22やHDD24などで実現され、本体1000の機種およびバージョンである本体情報を保存している。本体情報記憶部1001が記憶部に相当する。なお、本体情報とは、例えば表2に示すテーブルデータである。
通信異常受信部1011は、操作デバイス900により通信路60において通信異常の発生が検知された場合、操作デバイス900から通信路90を用いてNFCにより送信された異常通知および対応情報を受信する。なお、通信異常受信部1011が異常取得部および対応情報取得部に相当する。
異常発生原因特定部1012は、操作デバイス900から異常通知および対応情報を受信した場合、この通知をトリガとして通信路60の異常発生原因を判断し特定する。異常発生原因の特定方法は、第1の実施形態における方法に加え、以下の特定方法がある。
異常発生原因特定部1012は、異常通知と対応情報を受信した場合、本体情報記憶部1001から本体情報を取得し、受信した対応情報と取得した本体情報とから、操作デバイス900がサポート対応可能な装置に本体1000が含まれているか否かによって、異常発生原因を特定する。すなわち、サポート対応可能な装置に本体1000が含まれていない場合は、本体1000が非サポート機種、バージョン(非サポート機種および非サポートバージョン)である旨の異常発生原因となり、サポート対応可能な装置に本体1000が含まれていない場合は異常発生原因とはならない。
そして、異常発生原因特定部1012は、特定した異常発生原因を、通信路90によって操作デバイス700に送信する。なお、異常発生原因特定部1012が判断部に相当する。
リブート管理部1013は、通信路60の異常発生原因がソフトウェア異常(所定の原因の一例)であった場合、操作デバイス900に、通信路90を用いて近距離無線通信によってシャットダウンを行う旨のシャットダウン指示を送信する。そして、リブート管理部1013は、操作デバイス900のシャットダウンを検知すると、本体1000の動作抑制を行い、本体1000をリブートする。
リブート管理部1013は、異常発生原因が、操作デバイス900がサポート対応可能な装置に本体1000が含まれていない旨である場合、シャットダウン指示を送信せず、本体1000をリブートしない。
次に、本実施形態の画像形成装置4におけるリブート処理の詳細についてシーケンス図を用いて説明する。図16は、画像形成装置におけるリブート処理の流れを示すシーケンス図である。なお、図16における操作デバイス900と本体1000との通信は、通信制御部701と通信制御部801とを介して行われている(図15参照)。
まず、操作デバイス900の通信異常検知部911は、通信路60で発生した通信異常を検知すると(ステップS210)、対応情報記憶部901から対応情報を取得する(ステップS211)。表示制御部114は、通信路60の異常発生原因を判断中である旨を操作パネル16に表示する(ステップS212)。
そして、通信異常検知部911は、通信路60で通信異常が発生した旨の異常通知および取得した対応情報をNFCI/F17に送出し(ステップS213)、NFCI/F17から通信路90を用いてNFCにより本体1000に送信する(ステップS214)。
次に、本体1000のNFCI/F30は、操作デバイス900から異常通知および対応情報を受信すると、通信異常受信部1011に送出し(ステップS215)、通信異常受信部1011は、異常発生原因特定部1012に当該異常通知および対応情報を送出する(ステップS216)。
異常発生原因特定部1012は、異常通知および対応情報を受け取ると、本体情報記憶部1001から本体1000の本体情報を取得する(ステップS217)。異常発生原因特定部1012は、通信路60の異常発生原因(例えば、ハードウェア異常、ケーブル異常、ソフトウェア異常、または操作デバイス900によるサポート対応可能な装置に本体1000が含まれていない旨)を判断し特定する(ステップS218)。
ここで、まず通信路60の異常発生原因が操作デバイス900によるサポート対応可能な装置に本体1000が含まれていない場合、すなわち、本体1000が非サポート機種、バージョンである場合(リカバリ不可)について説明する。
異常発生原因が、例えば本体1000が操作デバイス900によるサポート対応可能な装置でない場合、異常発生原因特定部1012は、リカバリ不可能である旨と、本体1000が非サポート機種、バージョンである旨の異常発生原因をNFCI/F30に送出し(ステップS219)、NFCI/F30から通信路90を用いてNFCにより、操作デバイス900に送信する(ステップS220)。また、異常発生原因特定部1012は、異常発生原因をリブート管理部1013に送出する(ステップS221)。
操作デバイス900のNFCI/F17は、本体1000から送信されたリカバリ不可能である旨と異常発生原因を受信すると、異常発生原因受信部912に当該異常発生原因を送出する(ステップS222)。
異常発生原因受信部912は、受け取った異常発生原因とリブートによるリカバリが不可能である旨を表示制御部114に送出すると、表示制御部114が操作パネル16に表示し(ステップS223)、ユーザに知らせる。具体的には、例えば、「本体がサポート要件を満たしていないため、装置のリブートではリカバリできません。」等のエラー情報を表示すれば、ユーザは迅速に対応できる。例えば、エラー情報を見たユーザは、すぐに操作デバイスを本体向けの機種およびバージョンに更新することができる。そして、本体1000のリブート管理部1013は、リブートを行うことなく処理を終了する。
一方、通信路60の異常発生原因がリブートによりリカバリできる場合(リカバリ可)について(ステップS224~237)の処理は、第3の実施形態と同様である(図13のステップS152~165)。
また、上述した図16の処理では、本体が操作デバイスによるサポート対応可能な装置であるか否かによっても異常発生原因を特定する構成となっていたが、これは、本体1000および操作デバイス900に電源が入っていることが前提である。以下では、画像形成装置の本体電源が入っていない場合でも、NFCタグから所定情報を読み取ることで、操作デバイス900側で本体1000の状態を判断するものである。
具体的には、リブート管理部1013が、本体1000で実行された処理に関する情報である処理情報を、NFCI/F30のNFCタグに書き込む。処理情報には、異常発生原因も含まれている。ここで、処理情報として含まれる異常発生原因とは、例えば、本体1000において発生した異常の原因であって本体1000が緊急シャットダウンすることになった原因である。そして、通信異常検知部911は、通信異常を検知した後に本体1000からシャットダウン指示を受信しない場合、NFCタグから処理情報を取得する。すなわち、異常検知部911が、処理情報取得部の一例である。そして、表示制御部114は、取得した処理情報を操作パネル16に表示することで、ユーザに画像形成装置4の状態を知らせる。
図17は、画像形成装置における処理情報の表示処理の流れを示すシーケンス図である。なお、図17における操作デバイス900と本体1000との通信は、通信制御部701と通信制御部801とを介して行われている(図15参照)。
リブート管理部1013は、本体1000側の異常により緊急シャットダウン(異常発生原因)を検知すると(ステップS260)、NFCI/F30のNFCタグに、緊急シャットダウンした旨の処理情報を書き込む(ステップS261)。そしてリブート管理部1013は、本体1000をシャットダウンする(ステップS262)。
そして、操作デバイス900側の通信異常検知部911は、通信路60の通信異常を検知した場合(ステップS263)、表示制御部114は、通信路60の異常発生原因を判断中である旨を操作パネル16に表示する(ステップS264)。
操作デバイス900は本体1000の電源信号であるハードウェア信号等により本体1000の電源が入っていないことを検知すると、通信異常検知部911は、NFCI/F17を介して本体1000のNFCタグ読み込みを実施し、処理情報として、本体がシャットダウンしている旨を取得する(ステップS265、266)。
通信異常検知部911は、取得した処理情報を表示制御部114に送出すると、表示制御部114は、処理情報を操作パネル16に表示する(ステップS267)。この後、操作デバイス900は自動でシャットダウンしてもよいし、ユーザに操作デバイス900のシャットダウンを促すダイアログを表示してもよい。
図17の処理が適用されるケースとしては、本体1000が緊急シャットダウンの処理すら実施できないような場合である。例えば、本体1000の処理が突然止まってしまうようなケースにも対応するためには、本体1000にて処理の開始と処理の終わりに、NFCタグを更新するようにしておく。例えば、HW割り込みの開始時にNFCタグを「HW割り込み処理中」と書き込みをしておき、HW割り込み処理の終わりに「操作デバイスからの通信異常判断受付中」と更新しておく。このようにしておくと、操作デバイス900にて通信異常が発生したときに、本体1000のNFCタグから取得する情報で、処理を変更することができる。すなわち、操作デバイス900側で通信異常発生を検知した際に、本体1000の電源が入っていない場合でも、本体1000のNFCタグより「HW割り込み処理中」等の情報が得られる可能性がある。
このように、第4の実施形態の画像形成装置4では、操作デバイス900と本体1000との間でソフトウェア信号を用いて通信を行う通信路60で通信異常が発生した場合、通信路90によりNFC(近距離無線通信)を用いて、操作デバイス900から通信異常が発生した旨の異常通知と、操作デバイス900がサポート対応可能な装置の情報である対応情報とを本体1000に送信する。本体1000は、異常発生原因を特定して、通信路90により操作デバイス900に送信する。このとき、本体1000は、対応情報と、記憶されている本体情報とからも異常発生原因を特定する。当該異常発生原因が、画像形成装置4のリブートによりリカバリが可能である場合、本体1000は操作デバイス900をシャットダウンさせ、本体1000のリブートを実施する。一方、本体1000は、対応情報が示すサポート対応可能な装置に本体1000が含まれていない場合は、リカバリ不可である異常発生原因として特定し、リブートを実施しない。このように、本体1000と操作デバイス900が独立した画像形成装置3において、本体1000と操作デバイス900との間で通信異常が発生した場合であっても、正常な状態にリカバリできる。
また、第4の実施形態の画像形成装置4では、なんらかの異常が発生したことによって本体1000の電源が入っていない場合でも、NFCタグに書き込まれた本体1000の処理情報を取得することで、操作デバイス900側で本体1000側の状態(異常等)を把握することができる。
以上により、本発明の好ましい情報処理装置にかかる実施の形態について説明したが、本発明は、上述した実施の形態に制限されるものではない。また、本発明は、特許請求の範囲に照らし、種々に変形または変更することが可能である。
例えば、上記の実施形態では、異常発生原因特定部212がハードウェア異常、ケーブル異常、ソフトウェア異常のいずれが異常発生原因であるかを判断し特定する場合について説明したが、これに限定されない。例えば、異常発生原因特定部212は、ハードウェア異常とケーブル異常のいずれかのみを特定してもよい。すなわち、ハードウェア異常が発生していないと判断した場合、ケーブル異常が発生しているか否かを判定せずに、ソフトウェア異常が異常発生原因であると判断して画像形成装置1をリブートさせてもよい。また、ケーブル異常が発生していないと判断した場合、ハードウェア異常が発生しているか否かを判定せずに、ソフトウェア異常が異常発生原因であると判断して画像形成装置1をリブートさせてもよい。これにより、異常発生原因の特定を簡略化させることができる。
また、上記の実施形態では、通信異常検知部、異常発生原因受信部、電源管理部、表示制御部、通信制御部を備える装置を外部装置として、通信異常受信部、異常発生原因特定部、リブート管理部を備える装置を情報処理装置とした。このとき、操作デバイス100を外部装置とした場合には、本体200を情報処理装置とすることができる。ただし、情報処理装置と外部装置の組み合わせはこれに限定されず、操作デバイス100を情報処理装置として、本体200を外部装置とすることができる。
また、上記の実施形態では、本発明の一実施形態にかかる情報処理装置として、画像形成装置1を例にして説明したが、これに限定されない。つまり、それぞれが独立したOSを備えた2以上のデバイスを備えた装置またはシステムであれば、どのような情報処理装置および情報処理システムであってもよい。以下では、本実施形態にかかる情報処理装置として、画像形成装置以外の装置へ適用した場合について説明する。
(第5の実施形態)
図18は、第5の実施形態にかかる車載装置2000のハードウェア構成図である。本実施形態にかかる情報処理装置は、車両に搭載された車載装置2000である。ここで、車両とは、駆動輪と内燃機関を備えた自動車である。図18に示すように、車載装置2000は、ナビゲーション装置1100と、オーディオ装置1200、ゲートウェイECU1300(Electronic Control Unit)、ゲートウェイECU1300に接続されるECU群1400を備えている。また、ナビゲーション装置1100は、携帯端末1500と通信路8000及び通信路7000を介して接続されてもよい。なお、ナビゲーション装置1100、オーディオ装置1200、ゲートウェイECU1300、携帯端末1500は、それぞれ別々のOSで互いに独立して動作する。
ナビゲーション装置1100は、車両の走行案内を行う装置であり、例えばGPS(Global Positiong System)機能を備え、地図データを用いて車両の走行案内を行うことができる。また、ナビゲーション装置1100としては、ナビゲーションソフトウェアを導入することにより作動するものが用いられる。更に、ナビゲーション装置1100は、各種アプリケーションをインストールすることで、種々の機能を提供することができる。
ナビゲーション装置1100は、ユーザの操作に応じた入力を受け付けることができ、オーディオ装置1200、ゲートウェイECU1300、ECU群1400、携帯端末1500などの操作又はこれらから取得した情報の表示を行うための専用デバイスとする。しかしながら、本実施形態は、専用デバイスに制限するものではなく、例えば、ユーザが所有するスマートフォンやタブレット端末であっても良い。
図18に示すように、ナビゲーション装置1100は、CPU1102と、ROM1103と、RAM1104と、無線通信I/F1105と、操作パネル1106と、GPS受信機1107と、第1接続I/F1108と、第2接続I/F1109とを備えている。そして、上記各構成は、内部バス1101を介して相互に接続されている。
CPU1102は、ナビゲーション装置1100の全体的な制御を行う。CPU1102は、RAM1104を作業領域として、ROM1103等に格納されたプログラムを実行する。これにより、CPU1102は、ユーザ操作に応じて各種機能を実現する。なお、ROM1103に加えて、HDDなどの記憶手段を更に備えてもよい。ROM1103又はHDDなどの記憶手段には、地図などの車両の走行に必要な情報が記憶することができ、CPU1102は地図などの情報を参照することができる。
無線通信I/F1105は、無線による接続のためのインターフェースとし、無線通信ネットワーク50と接続する。無線通信ネットワーク50は、無線LAN等とする。
第1接続I/F1108は、例えば、有線で接続するためのインターフェースであって、通信路6000および通信路7000を介してオーディオ装置1200及びゲートウェイECU1300と通信を行う。通信路6000および通信路7000は、例えば、CANなどの車載LANにより電気的に接続されるが、Ether通信など、他の接続手法を用いてもよい。
通信路6000は、ナビゲーション装置1100とオーディオ装置1200及びゲートウェイECU1300との間でソフトウェア信号を送受信するものであって、第1の通信路の一例である。通常、ナビゲーション装置1100とオーディオ装置1200及びゲートウェイECU1300は、通信路6000を利用してソフトウェア通信を実施している。なお、通信路6000は、信号線によって通信可能に接続されていても良いし、無線通信によって接続されていても良い。
通信路7000は、ナビゲーション装置1100とオーディオ装置1200及びゲートウェイECU1300との間でハードウェア信号を送受信するものであって、第2の通信路の一例である。通信路6000によりソフトウェア通信が実施できないような通信異常が発生した場合、ナビゲーション装置1100とオーディオ装置1200及びゲートウェイECU1300との間で通信路7000を利用してハードウェア通信を実施する。具体的に例えば、通信路7000は、ナビゲーション装置1100からオーディオ装置1200又はゲートウェイECU1300に通信異常を検知した旨をハードウェア信号により通知したり、オーディオ装置1200又はゲートウェイECU1300からナビゲーション装置1100に対して電源OFF(オフ)などの指令等をハードウェア信号により通知する。ただし、通信路7000の通信方式はこれに限定されず、通信路6000とは別の通信路であれば良い。例えば、ソフトウェア信号を送受信する信号線であっても良いし、複数の信号線によって構成されていても良い。更に、ハードウェア信号を送受信する信号線と、ソフトウェア信号線を送受信する信号線を組み合わせて構成されても良い。また、通信路7000は、信号線によって通信可能に接続されていても良いし、無線通信によって接続されていても良い。
第2接続I/F1109は、例えば、有線で接続するインターフェースであって、通信路8000および通信路7000を介して携帯端末1500と通信を行う。通信路8000および通信路7000は、例えば、USB接続用のケーブルを用いることが考えられるが、他の接続手法を用いてもよい。
通信路8000は、ナビゲーション装置1100と携帯端末1500との間でソフトウェア信号を送受信するものであって、第1の通信路の一例である。通常、ナビゲーション装置1100と携帯端末1500は、通信路8000を利用してソフトウェア通信を実施している。なお、通信路8000は、信号線によって通信可能に接続されていても良いし、無線通信によって接続されていても良い。
操作パネル1106は、タッチスクリーンやハードウェアキー等を有する。タッチスクリーンは、例えば、タッチパネル機能を搭載した液晶表示装置(LCD:Liquid Crystal Display)や有機EL(Electro Luminescence)表示装置とすることが考えられる。操作パネル1106が表示部の一例である。なお、ユーザによる操作を受け付ける入力部と、ユーザに対して情報を表示する表示部は、別に設けることができる。ここで、入力部としては、キーボード、マウス、音声入力に対応したマイク、ジェスチャー入力に対応したカメラを備えても良い。更に、操作パネルは、ユーザに対して機器の状態などを通知するためにスピーカを設けても良い。
GPS受信機1107は、GPS衛星からの信号を受信することで、車両の現在位置を検出することができる。なお、地磁気センサ、距離センサ、ビーコンセンサ、及びジャイロセンサなどを備えてもよい。
オーディオ装置1200は、携帯端末1500からナビゲーション装置1100又はゲートウェイECU1300を介して送信された音楽データなどの再生や、車両の状態情報や各種情報をユーザに対して音声で出力する装置である。
図18に示すように、オーディオ装置1200は、CPU1202と、ROM1203と、RAM1203と、スピーカ1205、外部I/F1206、第1接続I/F1207とを備えている。そして、上記各構成は、内部バス1201を介して相互に接続されている。
CPU1202は、オーディオ装置1200の全体的な制御を行う。CPU1202は、RAM1204を作業領域として、ROM1203等に格納されたプログラムを実行する。これにより、CPU1202は、ユーザ操作や受け付けた命令等に応じて、オーディオ機能等の各種機能を実現する。
第1接続I/F1207は、例えば、有線による接続のためのインターフェースであり、通信路6000および通信路7000を介してナビゲーション装置1100及びゲートウェイECU1300と通信を行う。
外部I/F1206は、CD、DVD、SDカード、USBメモリなどの音楽データを記憶した媒体を読み込む手段である。外部I/F1206は、携帯端末1500から有線又は無線通信する手段であってもよい。スピーカ1205は、外部I/F1206が取得した音楽データや、ナビゲーション装置1100から受信した情報、ゲートウェイECU1300を介してECU群1400から取得した情報などを音声として出力する手段である。
ゲートウェイECU1300は、車載装置2000が備えるナビゲーション装置1100、オーディオ装置1200、ECU群1400との間の通信を調停する手段である。
図18に示すように、ゲートウェイECU1300は、CPU1302と、ROM1303と、RAM1304と、第1接続I/F1305と、第2接続I/F1306と、無線通信I/F1307と、第3接続I/F1308とを備えている。そして、上記各構成は、内部バスを介して相互に接続されている。
CPU1302は、ゲートウェイECU1300の全体的な制御を行う。CPU1302は、RAM1304を作業領域として、ROM1303等に格納されたプログラムを実行する。これにより、CPU1302は、ユーザ操作や受け付けた命令等に応じて、ゲートウェイ機能等の各種機能を実現する。
第1接続I/F1305は、例えば、有線による接続のためのインターフェースであり、通信路6000および通信路7000を介してナビゲーション装置1100及びオーディオ装置1200と通信を行う。
第2接続I/F1306は、例えば、有線で接続するインターフェースであって、通信路8000および通信路7000を介して携帯端末1500と通信を行う。通信路8000および通信路7000は、例えば、USB接続用のケーブルを用いることが考えられるが、他の接続手法を用いてもよい。
無線通信I/F1307は、無線による接続のためのインターフェースとし、無線通信ネットワーク50と接続する。無線通信ネットワーク50は、無線LAN等とする。
第3接続I/F1308は、例えば、有線による接続のためのインターフェースであり、通信路6000および通信路7000を介してECU群1400と通信を行う。なお、第3接続I/F1308は、ECU群1400に応じて複数設けられてもよい。
ここで、ECU群1400とは、車両の制御を行う電子制御ユニットである。例えば、エンジンや操舵、ブレーキ等を制御するECUや、車両の各種状態を表示するメータやエアコン等を制御するECUなどである。これらのECU群1400と、ナビゲーション装置1100及びオーディオ装置1200は、ゲートウェイECU1300を介して電気的に接続されている。ECU群1400は、速度やアクセル開度など、車両の各部から取得した車両の状態情報をゲートウェイECU1300へ送信する。
ナビゲーション装置1100は、必要に応じてゲートウェイECU1300を介して車両の状態情報を取得して、状態情報に基づいてユーザであるドライバに対して各種表示支援などを行うことができる。更に、ナビゲーション装置1100は、ゲートウェイECU1300を介してECU群1400に対して制御情報を送信することで、ECU群1400を構成する各ECUを制御することができる。なお、ナビゲーション装置1100は、オーディオ装置1200に対してはゲートウェイECU1300を介さずに接続されているが、ゲートウェイECU1300を介して接続されてもよい。
携帯端末1500は、ユーザの操作に応じた入力を受け付けることができ、ナビゲーション装置1100、又はゲートウェイECU1300を介して、ナビゲーション装置1100、オーディオ装置1200、ECU群1400の操作又はこれらから取得した情報の表示を行うことができる。携帯端末1500は、例えば、ユーザが所有するスマートフォンやタブレット端末、ノートパソコンなどである。
図18に示すように、携帯端末1500は、CPU1502と、ROM1503と、RAM1504と、第2接続I/F1505と、操作パネル1506と、無線接続I/F1507とを備えている。そして、上記各構成は、内部バス1501を介して相互に接続されている。
CPU1502は、外部端末の全体的な制御を行う。CPU1502は、RAM1504を作業領域として、ROM1503等に格納されたプログラムを実行する。これにより、CPU1502は、ユーザ操作や受け付けた命令等に応じて、各種機能を実現する。
第2接続I/F1505は、例えば、有線による接続のためのインターフェースであり、通信路6000および通信路7000を介してナビゲーション装置1100と通信を行う。また、第2接続I/Fは、通信路6000および通信路7000を介してゲートウェイECU1300と通信を行ってもよい。
操作パネル1506は、タッチスクリーンやハードウェアキー等を有する。タッチスクリーンは、例えば、タッチパネル機能を搭載した液晶表示装置(LCD:Liquid Crystal Display)や有機EL(Electro Luminescence)表示装置とすることが考えられる。操作パネル1506が表示部の一例である。なおユーザによる操作を受け付ける入力部と、ユーザに対して情報を表示する表示部は、別に設けることができる。ここで、入力部としては、キーボード、マウス、音声入力に対応したマイク、ジェスチャー入力に対応したカメラを備えても良い。更に、操作パネルは、ユーザに対して機器の状態などを通知するためにスピーカを設けても良い。
無線通信I/F1507は、無線による接続のためのインターフェースとし、無線通信ネットワーク50と接続する。
図18では、ナビゲーション装置1100と、オーディオ装置1200と、ゲートウェイ装置とを接続する通信路6000及び通信路7000は共通の信号経路として図示したが、通信路6000及び通信路7000の接続構成はこれに限定されない。例えば、通信路6000及び通信路7000は、デバイス毎に専用の通信路として設けてもよい。つまり、ナビゲーション装置1100とオーディオ装置1200とを接続する通信路6000及び通信路7000と、ナビゲーション装置1100とゲートウェイECU1300とを接続する通信路6000及び通信路7000とを設けてもよい。また、通信路7000は、一部のデバイスの間にのみ設けられてもよい。
図19は、第4の実施形態にかかる車載装置2000の機能ブロック図である。以下では、ナビゲーション装置1100を外部装置の一例として、ゲートウェイECU1300を情報処理装置の一例として説明する。図19に示すナビゲーション装置1100は、CPU1120がROM1103に格納されたプログラムを実行することで、通信制御部1110と、アプリケーション1111と、通信異常検知部1112と、異常発生原因受信部1113と、電源管理部1114と、表示制御部1115とを実現する。ただし、複数CPU、ROMやRAMなどの複数のメモリ、その他ハードウェアが協業することで、各機能ブロックの機能を実現してもよい。
通信制御部1110は、第1接続I/F1108や、無線通信I/F1105を介して、オーディオ装置1200を含む他の装置との間で、情報の送受信を制御する。
アプリケーション1111は、ユーザインターフェースを有し、操作パネル1106に対して画面の表示や、ユーザから操作パネル1106を介して、操作設定などを受け付ける。また、アプリケーション1111は、カーナビゲーション機能や、オーディオ装置1200が有する音声再生機能等の機能を用いたサービスを提供してもよい。また、アプリケーション1111は、複数備えていてもよく、操作パネル1106のみ利用するアプリケーションや、オーディオ装置1200やゲートウェイECU1300やECU群1400を利用するアプリケーション、さらにはこれら両方を利用するアプリケーションであってもよい。
例えば、ナビゲーション装置1100には、ソフトウェアとして、現在位置計算プログラムや地図探索プログラム等の各種アプリケーションプログラムが搭載されており、例えば、車両の位置を検出し、検出した位置情報をユーザへ通知することができる。なお、アプリケーション1111は、オーディオ装置1200、ゲートウェイECU1300、外部端末、ECU群1400などから収集された情報を参照することができる。
通信異常検知部1112は、ゲートウェイECU1300との間でソフトウェア通信を実施している通信路6000(第1の通信路)で発生した通信異常を検知する。例えば、通信異常検知部1112は、通信制御部1110により前回信号を受信してから所定時間以上信号を受信しない場合や、予め定めた信号を送信してから所定時間以上信号を受信しない場合等に、通信異常と判別することで、通信異常を検知する。なお、通信異常の検知方法は、この方法に限られない。
そして、通信異常検知部1112は、通信路6000での通信異常を検知すると、通信路6000で通信異常が発生した旨の異常通知(異常情報)を、通信路7000(第2の通信路)によってハードウェア信号を用いてゲートウェイECU1300に送信する。
異常発生原因受信部1113は、通信路6000の通信に対する異常通知がゲートウェイECU1300に送信された後、通信路6000の通信異常の発生原因である異常発生原因、又はゲートウェイECU1300をリブートするか否かの判断結果を、通信路7000によってゲートウェイECU1300から受信する。
電源管理部1114は、ナビゲーション装置1100の電源を管理する。また、電源管理部は、通信路6000の異常発生原因がリブートによりゲートウェイECU1300のリカバリが可能な所定の原因であった場合、シャットダウンする旨のシャットダウン指示を、ゲートウェイECU1300から通信路7000によって受信する。シャットダウン指示を受信すると、電源管理部1114は、ナビゲーション装置1100の動作抑制を行い、シャットダウンする。このとき、電源管理部1114は、ナビゲーション装置1100において動作する全てのプログラムを終了して電源を完全に切断してもよいし、次回の起動時に高速で起動するために動作状態を保存してナビゲーション装置1100内の一部のデバイスの電源は保持してもよい。また、ゲートウェイECU1300がナビゲーション装置1100へシャットダウン指示を送る場合、通信路7000を構成する複数の信号線のうち、ソフトウェア信号を送受信する信号線を用いてもいい。なお、所定の原因とは、ゲートウェイECU1300のリブートにより通信路6000の通信異常のリカバリが可能なものであって、本実施形態では例えばソフトウェア異常による異常発生原因などである。
表示制御部1115は、ユーザに対する各種情報を操作パネル1106(表示部)に表示するものである。本実施形態では、表示制御部1115は、ゲートウェイECU1300から受信した通信路6000の異常発生原因、又は画像形成装置1をリブートするか否かの判断結果を操作パネル1106に表示する。また、表示制御部1115は、通信路6000の異常発生原因がリブートによりゲートウェイECU1300のリカバリが可能な所定の原因(ソフトウェア異常等)であった場合、又はゲートウェイECU1300をリブートする旨の判断結果を取得した場合、ゲートウェイECU1300をリブートする旨を操作パネル1106に表示する。また、表示制御部1115は、ゲートウェイECU1300のリブートが実施された場合、リブートした旨を操作パネル1106に表示する。
次にゲートウェイECU1300について説明する。図19に示すゲートウェイECU1300は、CPU1302がROM1303に格納されていたプログラムを実行することで、通信制御部1310と、通信異常受信部1311と、異常発生原因特定部1312と、リブート管理部1313と、を実現する。ただし、複数CPU、ROMやRAMなどの複数のメモリ、その他ハードウェアが協業することで、各機能ブロックの機能を実現してもよい。
通信制御部1310は、第1接続I/F1305を介して、ナビゲーション装置1100を含む他の装置との間で、情報の送受信を制御する。
通信異常受信部1311は、ナビゲーション装置1100により通信路6000において通信異常の発生が検知された場合、ナビゲーション装置1100から通信路7000を用いてハードウェア信号により送信された異常通知(異常情報)を受信する。なお、通信異常受信部1311が異常取得部に相当する。なお、通信異常受信部1311が通信路6000における通信異常の発生を検知してもよい。この場合、通信異常受信部1311は、例えば、通信制御部1310により前回信号を受信してから所定時間以上信号を受信しない場合や、予め定めた信号を送信してから所定時間以上信号を受信しない場合等に、通信異常が発生したと判別する。なお、通信異常の検知方法は、この方法に限られない。
異常発生原因特定部1312、ナビゲーション装置1100から異常通知を受信した場合、又は、通信異常受信部1311が通信路6000における通信異常の発生を検知した場合、この通知をトリガとして通信路6000の異常発生原因を判断し特定する。ここで、通信路6000の異常発生原因には、例えば、ハードウェア異常、ケーブル異常、またはソフトウェア異常が挙げられる。そして、異常発生原因がハードウェア異常またはケーブル異常の場合は、ゲートウェイECU1300をリブートしても通信異常は解消しないためリブートは実施しない。一方、異常発生原因がソフトウェア異常の場合は、ゲートウェイECU1300をリブートすることにより通信異常が解消する可能性があるためリブートを実施する。つまり、異常発生原因特定部1312は、通信異常の原因に基づいて、ゲートウェイECU1300をリブートするか否かを判断する。
通信路6000の異常発生原因を特定する方法の例を説明する。例えば、異常発生原因特定部1312は、BIOS(Basic Input/Output System)が格納されている不揮発領域に委譲があるかに否かを確認する。BIOSが正常起動するとLEDが点滅するため、異常発生原因特定部1312は、LEDの点滅状態を確認する。そして、異常発生原因特定部1312は、LEDが点滅していない場合、不揮発領域の異常と判断してハードウェア異常と特定する。
また、例えば、異常発生原因特定部1312は、第1接続I/F1305である信号線の接続状態を確認して、接続デバイスが存在しているかどうかを判断する。そして、異常発生原因特定部1312は、接続デバイスが存在しない場合、ケーブル異常と特定する。
また、例えば、異常発生原因特定部1312は、ハードウェア異常およびケーブル異常でないと判断した場合、ソフトウェア異常(ソフトウェア障害)と特定する。
そして、異常発生原因特定部1312は、特定した通信路6000の異常発生原因を、通信路7000によってナビゲーション装置1100に送信する。なお、異常発生原因特定部1312が判断部に相当する。なお、異常発生原因特定部1312は、異常発生原因を送信する代わりに、情報処理装置をリブートするか否かの判断結果を、通信路7000によってナビゲーション装置1100に送信してもよい。
リブート管理部1313は、通信路6000の異常発生原因がソフトウェア異常(所定の原因の一例)であった場合、ナビゲーション装置1100に、通信路7000を用いてハードウェア信号によってシャットダウンを行う旨のシャットダウン指示を送信する。そして、リブート管理部1313は、ナビゲーション装置1100のシャットダウンを検知すると、ゲートウェイECU1300の動作抑制を行い、ゲートウェイECU1300をリブートする。つまり、リブート管理部1313は、異常発生原因特定部1312がゲートウェイECU1300をリブートすると判断した場合、シャットダウン指示を通信路7000によってナビゲーション装置1100に送信し、更にゲートウェイECU1300をリブートする。このとき、リブート管理部1313は、ゲートウェイECU1300において動作する全てのプログラムを終了してゲートウェイECU1300内の全デバイスの電源を完全に切断してから起動し直すことができるが、ゲートウェイECU1300内の一部のデバイスの電源は保持してもよいし、ゲートウェイECU1300において動作する一部又は全部のソフトウェアのみを終了してから起動し直してもよい。
なお、ゲートウェイECU1300に対して通信路6000及び通信路7000を介して複数のデバイスが外部装置として接続されている場合、異常発生原因特定部1312は、所定の順序でデバイス毎に異常発生原因の特定を行ってもよいし、同時に行ってもよい。
また、第5の実施形態にかかる車載装置2000におけるナビゲーション装置1100とゲートウェイECU1300の処理は、第1の実施形態本にかかる操作デバイス100と本体200の処理と同様である。また、第5の実施形態にかかる車載装置2000は、他の実施形態と組み合わせることができる。例えば、第2の実施形態と同様に、ナビゲーション装置1100とゲートウェイECU1300との間にマイコンを設けることによって、第2の実施形態において説明した効果と同様の効果を得ることができる。また、第3及び第4の実施形態と同様に、ナビゲーション装置1100とゲートウェイECU1300とにNFCI/Fを設けることで、第3及び第4の実施形態において説明した効果と同様の効果を得ることができる。
以上では、通信制御部1110、通信異常検知部1112、異常発生原因受信部1113、電源管理部1114、表示制御部1115を備える装置を外部装置として、通信制御部1310、通信異常受信部1311、異常発生原因特定部1312、リブート管理部1313を備える装置を情報処理装置とした。このとき、ナビゲーション装置1100を外部装置とした場合には、ゲートウェイECU1300、オーディオ装置1200、携帯端末1500を情報処理装置とすることができる。また、携帯端末1500を外部装置とした場合には、ナビゲーション装置1100、ゲートウェイECU1300を情報処理装置とすることができる。また、ECU群1400を構成するいずれかのECUを外部端末とした場合には、ゲートウェイECU1300を情報処理装置とすることができる。ただし、情報処理装置と外部装置の組み合わせはこれに限定されない。
また、本実施形態にかかる車載装置2000において、ナビゲーション装置1100、オーディオ装置1200、ゲートウェイECU1300、ECU群1400を備えるものとして説明したが、車載装置2000の構成はこれに限定されない。例えば、ナビゲーション装置1100にオーディオ装置1200、又はゲートウェイECU1300の機能の一部、又は全部を統合してもよい。また、ナビゲーション装置1100に接続されるデバイスとして、DVDやビデオなどに記録された動画像を再生する再生装置、インターネットなどへのアクセスを制御する通信装置、他車や路側インフラや管理センタ等の車外通信設備と通信するための通信装置などを搭載してもよい。この場合、上記のデバイスのいずれかを外部装、又は情報処理装置とすることができる。
(第6の実施形態)
また、本発明にかかる実施形態は、家電機器にも適用することができる。ここで、家電機器とは、例えば、冷蔵庫、エアコン、洗濯機、電子レンジ、テレビなどである。
図1は、第1の実施形態にかかる画像形成装置1のハードウェア構成図として説明したが、第6の実施形態にかかる家電機器のハードウェア構成についても、図1を用いて説明することができる。よって、以下では図1を参照し、第6の実施形態にかかる家電機器のハードウェア構成について説明する。家電機器は、外部装置の一例である操作デバイス100と、情報処理装置の一例である本体200とを備えている。本発明にかかる情報処理装置は機能部27を変更することにより、種々の家電機器に適用することができる。
例えば、情報処理装置が冷蔵庫である場合、機能部27は、各貯蔵室内を冷却する冷却機能を実現する手段であり、例えば、圧縮機、送風ファン、ダンパなどで構成される。
また、情報処理装置が洗濯機である場合は、機能部27は、室内空気の温度または湿度を目標値である温度および湿度に接近するように調和する空気調和機能を実現する手段であり、例えば、圧縮機、熱交換器、送風ファンなどで構成される。
また、情報処理装置が洗濯機である場合は、機能部27は、洗い、すすぎ等の洗濯機能を実現する手段であり、例えば回転ドラム、モータなどで構成される。
また、情報処理装置が電子レンジである場合は、機能部27は、対象物を加熱する加熱機能を実現する手段であり、例えばマグネトロン、冷却ファン、モータなどで構成される。
また、情報処理装置がテレビである場合は、機能部27は、外部から受信した映像や音声を出力する機能を実現する手段であり、例えば、チューナ、復調装置、ディスプレイ、スピーカなどで構成される。
また、図2は、第1の実施形態にかかる画像形成装置1の機能ブロック構成図として説明したが、第6の実施形態にかかる家電機器のハードウェア構成についても、図2を用いて説明することができる。つまり、家電機器が備える操作デバイス100は、CPU11がROM12に格納されていたプログラムを実行することで、通信制御部101と、アプリケーション103と、通信異常検知部111と、異常発生原因受信部112と、電源管理部113と、表示制御部114とを実現する。また、家電機器が備える本体200は、CPU21がROM22に格納されていたプログラムを実行することで、通信制御部201と、画像入力部203と、画像出力部204と、通信異常受信部211と、異常発生原因特定部212と、リブート管理部213と、を実現する。各機能ブロックが実現する機能、及び処理は、第1の実施形態と同様であるため説明を省略する。ここで、第6の実施形態にかかる家電機器は、他の実施形態と組み合わせることができる。例えば、第2の実施形態と同様に、操作デバイス100と本体200の間にマイコンを設けることによって、第2の実施形態において説明した効果と同様の効果を得ることができる。また、第3及び第4の実施形態と同様に、操作デバイス100と本体200にNFCI/Fを設けることで、第3及び第4の実施形態において説明した効果と同様の効果を得ることができる。
本実施形態にかかる家電機器は、上述した例に限定されず、電気炊飯器、オーブン、DVDプレイヤー、オーディオ機器、電子フォトフレームなどのような家電機器全般に適用することができる。
なお、本実施形態の画像形成装置で実行されるプログラムは、ROM等に予め組み込まれて提供される。本実施形態の画像形成装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、本実施形態の画像形成装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の画像形成装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
本実施形態の画像形成装置で実行されるプログラムは、上述した各部(通信制御部、画像入力部、画像出力部、通信異常受信部、異常発生原因特定部、リブート管理部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。また、例えば、上述した各部の機能のうちの一部または全部が専用のハードウェア回路で実現されてもよい。