(57)【要約】【課題】システムの再起動が発生した場合であっても、再起動前の電力供給の状態に基づいて再起動後の電力供給を適切に再開できる画像処理装置、画像処理装置の制御方法、及びプログラムを提供すること。【解決手段】ＭＦＰ１のＣＰＵ１２は、外部機器への電力供給に係わる履歴情報１５３をＮＶＲＡＭ１５に保存し（Ｓ３１）、外部機器へ電力を供給中に再起動が必要となったことに応じて、再起動を実行する（Ｓ３９）。ＣＰＵ１２は、再起動の後に、履歴情報１５３をＮＶＲＡＭ１５から読み出し（Ｓ４３）、読み出した履歴情報１５３に基づいて、ＵＳＢ接続部１９を介して外部機器へ電力供給を行う制御を再開する。【選択図】図３
2019118010.tif 000002
【特許請求の範囲】
【請求項１】
電源部と、
前記電源部からの電力を受けるＵＳＢ接続部であって、ＵＳＢ（Universal Serial Bus）規格に準ずる接続により外部機器が接続されるＵＳＢ接続部と、
制御装置と、を備え、
前記制御装置は、
前記ＵＳＢ接続部を介した外部機器への電力供給に係わる履歴情報を記憶部に保存する保存処理と、
前記ＵＳＢ接続部を介した外部機器への電力供給中に再起動が必要となったことに応じて、前記再起動を実行する再起動処理と、
前記再起動処理の後に、前記保存処理により保存した前記履歴情報を前記記憶部から読み出す読出処理と、
前記記憶部から読み出した前記履歴情報に基づいて、前記ＵＳＢ接続部を介して外部機器へ電力供給を行う制御を再開する再開処理と、
を実行する、画像処理装置。
【請求項２】
前記記憶部は、不揮発性メモリであり、
前記記憶部を備える、請求項１に記載の画像処理装置。
【請求項３】
前記制御装置は、前記ＵＳＢ接続部を介した外部機器への電力供給中に前記再起動が必要となったことに応じて、
前記保存処理を実行し、前記保存処理が完了したことを条件として、前記再起動処理を実行する、請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記履歴情報は、
前記再起動処理の前に前記ＵＳＢ接続部に接続されていた外部機器を識別する第１識別情報を含み、
前記制御装置は、
前記再開処理において、
前記履歴情報の前記第１識別情報と前記再起動処理の後に前記ＵＳＢ接続部に接続されている外部機器の第２識別情報とが対応するか否かを判定する識別情報判定処理と、
前記識別情報判定処理において前記第１識別情報と前記第２識別情報とが対応したと判定した場合、前記履歴情報に基づいて、当該外部機器と前記ＵＳＢ接続部を介して電力供給を行うためのネゴシエーションを実行するネゴシエーション処理と、
を実行する、請求項１乃至請求項３の何れかに記載の画像処理装置。
【請求項５】
前記履歴情報は、
複数の前記第１識別情報を含み、
前記制御装置は、
前記識別情報判定処理において複数の前記第１識別情報の各々と対応する複数の外部機器が存在すると判定された場合に、前記ネゴシエーション処理において、複数の前記外部機器のうち、履歴の新しい前記第１識別情報と対応する外部機器に比べて、履歴の古い前記第１識別情報と対応する外部機器とのネゴシエーションを優先する、請求項４に記載の画像処理装置。
【請求項６】
制御プログラムを保存する不揮発性メモリを備え、
前記制御装置は、
前記制御プログラムを実行することで前記画像処理装置を制御し、
前記不揮発性メモリに保存された前記制御プログラムのアップデートが必要となったことに応じて、前記再起動処理を実行する、請求項１乃至請求項５の何れか１項に記載の画像処理装置。
【請求項７】
前記制御装置は、
前記制御プログラムのアップデートの重要度が高いか否かを判定する重要度判定処理と、
前記アップデートの重要度が高いと判定したことに応じて、前記アップデートを実行してから前記再起動処理を実行し、
前記アップデートの重要度が高くないと判定したことに応じて、前記アップデートを実行せずに前記ＵＳＢ接続部を介した外部機器への電力供給を継続する継続処理を実行する、請求項６に記載の画像処理装置。
【請求項８】
前記制御装置は、
前記継続処理において、前記アップデートの重要度が高くないと判定したことに応じて、前記アップデートを実行せずに一定時間ウエイトした後に、前記アップデートを実行してから前記再起動処理を実行する、請求項７に記載の画像処理装置。
【請求項９】
前記制御装置は、
前記ＵＳＢ接続部を介した外部機器への電力供給中に前記再起動が必要となったことに応じて、画像処理に係わるジョブを、電力供給中の当該外部機器から取得して実行中であるか否かを判定するジョブ実行判定処理を実行し、
前記ジョブ実行判定処理において前記ジョブを実行中であると判定したことに応じて、前記再起動処理を実行せずに待機し、
前記ジョブ実行判定処理において前記ジョブを実行中でないと判定したことに応じて、前記再起動処理を実行する、請求項１乃至請求項８の何れか１項に記載の画像処理装置。
【請求項１０】
前記履歴情報は、
前記再起動処理の前において外部機器から送信された画像処理に係わるジョブを受け付けたか否かを示すジョブ受付情報を含み、
前記制御装置は、前記再起動処理後において前記ＵＳＢ接続部に複数の外部機器が接続されている場合、
前記再開処理において、前記履歴情報の前記ジョブ受付情報に基づいて、前記ＵＳＢ接続部に接続された複数の外部機器のうち、前記ジョブを受け付けた外部機器を優先し、前記ＵＳＢ接続部を介する電力供給を行う制御を再開する、請求項１乃至請求項９の何れか１項に記載の画像処理装置。
【請求項１１】
シートに画像を印刷する印刷部をさらに備え、
前記画像処理に係わるジョブは、
前記ジョブの送信元から送信された画像データに係る画像を、前記印刷部によりシートに印刷する、印刷ジョブである、請求項１０に記載の画像処理装置。
【請求項１２】
原稿から画像を読み取る読取部をさらに備え、
前記画像処理に係わるジョブは、
前記読取部により原稿から画像を読み取り、
前記画像に係る画像データを生成し、
前記画像データを、前記ジョブの送信元の外部端末へ送信する、読取ジョブである、請求項１０に記載の画像処理装置。
【請求項１３】
前記履歴情報は、
前記再起動処理の前において前記ＵＳＢ接続部を介して外部機器へ供給していた供給電力の量である供給電力量を含み、
前記制御装置は、
前記再開処理において、前記履歴情報の前記供給電力量に基づいて、前記ＵＳＢ接続部に接続された前記外部機器へ供給する電力を決定する、請求項１乃至請求項１２の何れか１項に記載の画像処理装置。
【請求項１４】
電源部と、前記電源部からの電力を受けるＵＳＢ接続部であって、ＵＳＢ（Universal Serial Bus）規格に準ずる接続により外部機器が接続されるＵＳＢ接続部と、を備える画像処理装置の制御方法であって、
前記ＵＳＢ接続部を介した外部機器への電力供給に係わる履歴情報を記憶部に保存する保存工程と、
前記ＵＳＢ接続部を介した外部機器への電力供給中に再起動が必要となったことに応じて、前記再起動を実行する再起動工程と、
前記再起動工程の後に、前記保存工程により保存した前記履歴情報を前記記憶部から読み出す読出工程と、
前記記憶部から読み出した前記履歴情報に基づいて、前記ＵＳＢ接続部を介して外部機器へ電力供給を行う制御を再開する再開工程と、
を含む、画像処理装置の制御方法。
【請求項１５】
電源部と、前記電源部からの電力を受けるＵＳＢ接続部であって、ＵＳＢ（Universal Serial Bus）規格に準ずる接続により外部機器が接続されるＵＳＢ接続部と、を備える画像処理装置の制御をコンピュータに実行させるプログラムであって、
前記コンピュータに、
前記ＵＳＢ接続部を介した外部機器への電力供給に係わる履歴情報を記憶部に保存する保存処理と、
前記ＵＳＢ接続部を介した外部機器への電力供給中に再起動が必要となったことに応じて、前記再起動を実行する再起動処理と、
前記再起動処理の後に、前記保存処理により保存した前記履歴情報を前記記憶部から読み出す読出処理と、
前記記憶部から読み出した前記履歴情報に基づいて、前記ＵＳＢ接続部を介して外部機器へ電力供給を行う制御を再開する再開処理と、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢ接続部を介して電力の供給を行う画像処理装置、画像処理装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、ＵＳＢ  ＰＤ（ＵＳＢ Ｐｏｗｅｒ Ｄｅｌｉｖｅｒｙ）規格に準じた方式により外部機器へ電力を供給する画像処理装置がある（例えば、特許文献１など）。特許文献１に開示される画像処理装置では、電力を供給する前に、ＵＳＢ  ＰＤ規格に準じた通信により外部機器との間でネゴシエーションを実行し、その外部機器へ供給する電力量を決定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１７４３７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、画像処理装置は、プログラムのアップデートなどに応じて、システムを再起動する場合がある。この場合、画像処理装置は、システムの停止にともなって外部機器への電力供給を一時的に停止する。そして、画像処理装置は、システムを再起動した後、外部機器との間でネゴシエーションを実行し、外部機器への電力供給を再開することができる。しかしながら、再起動にともない画像処理装置のシステムが一時的に停止してしまうと、再起動後に、再起動前の状況に基づいて外部機器への電力供給を適切に再開できないというおそれがある。
【０００５】
本願は、上記の課題に鑑み提案されたものであって、システムの再起動が発生した場合であっても、再起動前の電力供給の状態に基づいて再起動後の電力供給を適切に再開できる画像処理装置、画像処理装置の制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る画像処理装置は、電源部と、電源部からの電力を受けるＵＳＢ接続部であって、ＵＳＢ（Universal Serial Bus）規格に準ずる接続により外部機器が接続されるＵＳＢ接続部と、制御装置と、を備え、制御装置は、ＵＳＢ接続部を介した外部機器への電力供給に係わる履歴情報を記憶部に保存する保存処理と、ＵＳＢ接続部を介した外部機器への電力供給中に再起動が必要となったことに応じて、再起動を実行する再起動処理と、再起動処理の後に、保存処理により保存した履歴情報を記憶部から読み出す読出処理と、記憶部から読み出した履歴情報に基づいて、ＵＳＢ接続部を介して外部機器へ電力供給を行う制御を再開する再開処理と、を実行する。
また、本願に開示の内容は、画像処理装置としての実施だけでなく、画像処理装置を制御する制御方法、画像処理装置を制御するコンピュータで実行するプログラムとしても実施し得るものである。
【０００７】
これによれば、制御装置は、再起動前において、ＵＳＢ接続部を介する外部機器への電力供給の履歴情報を保存する。そして、制御装置は、電力供給中に再起動処理を実行すると、再起動処理後に履歴情報を読み出し、履歴情報に基づいて電力供給の制御を再開する。これにより、システムの再起動が発生した場合であっても、再起動前の電力供給の状態に基づいて再起動後の電力供給を適切に再開できる。
【発明の効果】
【０００８】
本願に係る画像処理装置等によれば、システムの再起動が発生した場合であっても、再起動前の電力供給の状態に基づいて再起動後の電力供給を適切に再開できる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係るＭＦＰの電気的構成を示すブロック図である。
【図２】電力供給制御の内容を示すフローチャートである。
【図３】電力供給制御の内容を示すフローチャートである。
【図４】電力供給制御の内容を示すフローチャートである。
【図５】履歴情報の内容を示す図である。
【発明を実施するための形態】
【００１０】
以下、本願の画像処理装置を具体化した一実施形態であるＭＦＰ１について図１を参照しつつ説明する。
【００１１】
（１．ＭＦＰの構成）
図１は、本実施形態のＭＦＰ（Multi-Function Peripheral）１の電気的構成を示している。ＭＦＰ１は、印刷機能、コピー機能、スキャナ機能、ＦＡＸ機能を備える複合機である。図１に示すように、ＭＦＰ１は、ＣＰＵ１２、ＲＡＭ１３、ＲＯＭ１４、ＮＶＲＡＭ１５、画像形成部１６、画像読取部１７、ＦＡＸ通信部１８、ＵＳＢ接続部１９、ユーザインタフェース２０、ネットワークインタフェース２４、及び供給電力切替部２５などを備えている。これらのＣＰＵ１２等は、バス１１で互いに接続されている。また、ＭＦＰ１は、商用電源からの電力を供給する電源２７を備えている。電源２７は、電源コードや電源回路（ブリッジダイオード、平滑化回路など）を備え、商用電源からの電流を直流電流へ変換し、電源線にてＭＦＰ１が備える各部へ電力を供給する。
【００１２】
ＲＯＭ１４は、例えば、フラッシュメモリなどの不揮発性メモリであり、制御プログラム１５１などの各種プログラムを記憶している。例えば、ＣＰＵ１２は、ＲＯＭ１４から読み出した制御プログラム１５１を実行して、ＭＦＰ１のシステムを起動する。ＮＶＲＡＭ１５には、履歴情報１５３及び画像データ１５５が保存される。なお、上記したデータの保存先は一例である。例えば、制御プログラム１５１を、不揮発性メモリであるＮＶＲＡＭ１５に保存しても良い。また、履歴情報１５３を、ＲＯＭ１４に保存しても良い。
【００１３】
制御プログラム１５１は、例えば、ＭＦＰ１の各部を統括的に制御するファームウェアである。ＣＰＵ１２は、制御プログラム１５１を実行し、実行した処理結果をＲＡＭ１３に一時的に記憶させながら、バス１１で接続された各部を制御する。履歴情報１５３は、後述するように、ＵＳＢ  ＰＤ（ＵＳＢ Ｐｏｗｅｒ Ｄｅｌｉｖｅｒｙ）規格の接続による電力供給のネゴシエーションの完了日時と、供給先の外部機器のデバイス情報とを関連付けた情報である。画像データ１５５は、コピー機能やＦＡＸ機能等で原稿を読み取って形成した画像データ、あるいは外部から印刷ジョブを受け付けた画像データなどである。
【００１４】
印刷部の一例としての画像形成部１６は、ヘッド１６１及びインクカートリッジ１６２を有する。インクカートリッジ１６２は、印刷用のインクを収容する。ヘッド１６１は、インクカートリッジ１６２から供給されるインクをシート（紙やＯＨＰなど）に吐出する。これにより、画像形成部１６は、ＣＰＵ１２の制御に基づいて、インクジェット方式によりシートに画像を印刷する。なお、本願の印刷部は、インクジェット方式の画像形成部１６に限らず、電子写真方式の画像形成部１６でも良い。この場合、画像形成部１６は、例えば、感光ドラム、感光ドラムへトナーを供給する現像ローラ、感光ドラムを露光する露光装置、トナーを収容するトナーカートリッジなどを備えても良い。
【００１５】
画像読取部１７は、不図示の原稿台及びＣＩＳ（Contact Image Sensor）やＣＣＤ(Charge-Coupled Device)等のイメージセンサを備える。画像読取部１７は、原稿台に載置された原稿に対してＣＩＳ等を移動させ、原稿を読み取り、画像データ１５５を生成する。ＦＡＸ通信部１８は、電話回線を介して、他のファクシミリ装置との間でＦＡＸデータの送受信を行う。
【００１６】
ＵＳＢ接続部１９は、例えば、ＵＳＢ  ＰＤ規格に準拠した通信や電力の伝送を行うインタフェースである。ＵＳＢ接続部１９は、例えば、コネクタとして３つのレセプタクル１９１を備える。レセプタクル１９１は、例えば、ＵＳＢ  Ｔｙｐｅ−Ｃ規格に準拠したコネクタである。各レセプタクル１９１は、例えば、データ通信や電力供給を行うための複数のピンを備える。レセプタクル１９１は、複数のピンとして、ＵＳＢ  Ｔｙｐｅ−Ｃ規格のコネクタにおけるＤ＋ピン、Ｄ−ピン、Ｖｂｕｓピンなどを備える。レセプタクル１９１は、Ｄ＋ピン、Ｄ−ピンを用いてデータ通信を行う。また、レセプタクル１９１は、Ｖｂｕｓピンを用いて電力の供給、電力の受電を行う。また、Ｖｂｕｓピンは、電力供給を行うためのネゴシエーションを接続された外部機器と行うために用いられる。ここでいう電力供給を行うためのネゴシエーションとは、例えば、電力の供給源である電力ソースとなるか供給先である電力シンクとなるかの設定、供給する電力量の設定などを行う処理である。
【００１７】
また、ＵＳＢ接続部１９は、供給電力切替部２５を介して電源２７に接続されている。供給電力切替部２５は、所謂、ＰＤコントローラであり、例えば、ＵＳＢ接続部１９のＶｂｕｓピンを介して外部機器へ供給する電力を切り替える。電源２７は、例えば、２０Ｖ、１２Ｖ、５Ｖの３種類の電圧を供給電力切替部２５へ供給する。ＣＰＵ１２は、制御プログラム１５１を実行し供給電力切替部２５を制御する。供給電力切替部２５は、複数の種類の電圧値や電流値を組み合わせた電力をＵＳＢ接続部１９へ供給可能となっている。供給電力切替部２５は、ＣＰＵ１２の制御に基づいて、ＵＳＢ接続部１９へ供給する電力の電圧値や電流値の組み合わせを変更する。これにより、ＵＳＢ接続部１９を介して外部機器へ供給する電力の電圧値や電流値が変更される。
【００１８】
なお、ＣＰＵ１２と供給電力切替部２５とを、別々の処理回路で構成せず、１つの処理回路で構成しても良い。また、ＵＳＢ接続部１９を介して供給する電力の制御は、ＣＰＵ１２が供給電力切替部２５を制御して実行しても良く、供給電力切替部２５が主体となって実行しても良い。例えば、上記した電力供給のネゴシエーションは、ＣＰＵ１２が実行してもよく、供給電力切替部２５が実行しても良い。また、供給電力切替部２５は、特定の電圧値や電流値を組み合わせた電力を供給する構成に限らず、電源２７を制御して所望の電圧値や電流値の電力を生成する構成でも良い。
【００１９】
また、ＭＦＰ１は、レセプタクル１９１（図１参照）に接続された様々な外部機器との間で、データ通信や電力供給を行う。外部機器としては、例えば、ＵＳＢメモリ、パーソナルコンピュータ、外付けハードディスク、スマートフォン、カードリーダーなど、ＵＳＢ  ＰＤ規格で接続可能な様々な機器を採用できる。例えば、図１に示すように、３つのレセプタクル１９１の各々には、電源を備えないＵＳＢメモリ３１、電源３２Ａを備える外付けハードディスク３２、電源３３Ａを備えるノートＰＣ３３がそれぞれ接続されている。電源３２Ａ，３３Ａは、例えば、商用電源から電力供給を受ける装置（ＡＣアダプタ、電源回路など）や、供給された電力を蓄積するバッテリである。外付けハードディスク３２及びノートＰＣ３３は、ＭＦＰ１からＵＳＢ接続部１９を介して電力の供給を受け、バッテリを充電可能となっている。
【００２０】
ユーザインタフェース２０は、例えば、タッチパネルやテンキーなど（図示略）を有する。ユーザインタフェース２０は、ＣＰＵ１２の制御に基づいて、各種の設定画面や装置の動作状態等をタッチパネルに表示する。また、ユーザインタフェース２０は、タッチパネルやテンキーなどで受け付けた操作を信号としてＣＰＵ１２へ出力する。
【００２１】
ネットワークインタフェース２４は、例えば、ＬＡＮ（Local Area Network）インタフェースであり、ＬＡＮケーブル（図示略）を介してネットワークＮＷに接続されている。本実施形態のネットワークＮＷには、例えば、ＭＦＰ１のベンダーのＷｅｂサーバ６１やデータを保存可能なファイルサーバ６３が接続されている。ＭＦＰ１は、Ｗｅｂサーバ６１と通信を行うことで制御プログラム１５１等のアップデート情報を確認する。また、ＭＦＰ１は、ファイルサーバ６３に対し、履歴情報１５３や画像データ１５５のアップロードやダウンロードを実行することができる。
【００２２】
（２．電力供給制御）
次に、本実施形態のＭＦＰ１によるＵＳＢ接続部１９の電力供給制御について、図２〜図５を参照しつつ、説明する。ＣＰＵ１２は、例えば、ＲＯＭ１４に保存された制御プログラム１５１を、ＭＦＰ１の起動時に実行することで図２〜図４に示す電力供給制御を開始する。なお、以下の説明では、制御プログラム１５１を実行するＣＰＵ１２のことを、単にＣＰＵ１２として記載する場合がある。例えば、「ＣＰＵ１２が」という記載は、「制御プログラム１５１を実行するＣＰＵ１２が」ということを意味する場合がある。
【００２３】
まず、図２のステップ（以下、単に「Ｓ」と記載する）１１において、ＭＦＰ１のＣＰＵ１２は、外部機器（ノートＰＣ３３など）への電力供給を行うために、ネゴシエーションを開始したか否かを判定する。ＣＰＵ１２は、例えば、ＵＳＢ接続部１９に対する新たな外部機器の接続を検出すると、検出した外部機器との間でＵＳＢ  ＰＤ規格の接続による電力供給を開始するためのネゴシエーションを実行する。なお、以下の説明では、ＣＰＵ１２が、ＭＦＰ１から外部機器への電力供給を対象として、履歴情報１５３に基づいた制御を実行する場合について説明するが、履歴情報１５３に基づいた制御内容はこれに限定されない。例えば、ＣＰＵ１２は、ＭＦＰ１から外部機器への電力供給だけでなく、外部機器からＭＦＰ１への電力供給についても履歴情報１５３に基づいた制御を実行しても良い。
【００２４】
例えば、ＣＰＵ１２は、レセプタクル１９１に新たな外部機器が接続されると、プラグアンドプレイ（ＰｎＰ）機能により、新たに接続された外部機器に対してデバイス情報を要求する。ここでいうデバイス情報とは、例えば、外部機器の製造元のベンダーＩＤ、プロダクトＩＤ、ＵＳＢデバイスクラスＩＤなどのＵＳＢデバイス情報である。また、ＣＰＵ１２は、デバイス情報として、外部機器の要求電力、外部機器の最低駆動電力、あるいは外部機器がバッテリを備えているかなどの情報を取得する。ここでいう要求電力とは、例えば、外部機器が要求する電力である。最低駆動電力とは、外部機器を動作させるのに最低限必要となる電力である。ＣＰＵ１２は、取得したデバイス情報を、例えば、ＲＡＭ１３に保存する。このため、ＲＡＭ１３には、新たな外部機器を接続する度に、その外部機器のデバイス情報が保存される。
【００２５】
ＣＰＵ１２は、ネゴシエーションを開始したと判定すると（Ｓ１１：ＹＥＳ）、Ｓ１３を実行する。一方、ＣＰＵ１２は、ネゴシエーションを開始していないと判定すると（Ｓ１１：ＮＯ）、Ｓ１７を実行する。
【００２６】
Ｓ１３において、ＣＰＵ１２は、ネゴシエーションを完了させた後、ネゴシエーションの結果に基づいて電力供給を開始する。例えば、ＣＰＵ１２は、ネゴシエーションにおいて外部機器から要求された要求電力を外部機器へ供給する。尚、ＣＰＵ１２は、供給可能な電力量に応じて外部機器へ供給する電力を変更しても良い。例えば、ＣＰＵ１２は、外部機器に最低駆動電力を供給しても良い。また、外部機器がノートＰＣ３３などの電源３３Ａを備える装置である場合、ＣＰＵ１２は、外部機器から電力の供給を受けても良い。
【００２７】
Ｓ１３を実行した後、ＣＰＵ１２は、Ｓ１５を実行する。Ｓ１５において、ＣＰＵ１２は、Ｓ１３においてネゴシエーションを完了した完了日時、ネゴシエーションを行った相手先の外部機器を識別できる情報を関連付けて履歴情報１５３として保存する。ネゴシエーションを行った相手先の外部機器を識別できる情報としては、ベンダーＩＤ、及びプロダクトＩＤを採用できる。ＣＰＵ１２は、ベンダーＩＤ及びプロダクトＩＤを、上記したデバイス情報に基づいて取得する。
【００２８】
図５は、履歴情報１５３の内容の一例を示している。図５に示すように、履歴情報１５３には、ネゴシエーションを完了した完了日時、ベンダーＩＤ、及びプロダクトＩＤが関連付けられている。また、本実施形態の履歴情報１５３には、図５に示すように、画像処理に係るジョブの受け付け情報であるジョブ受付情報が他の情報と関連付けて保存されている。ここでいう画像処理に係るジョブとは、例えば、ＭＦＰ１に画像データ１５５の処理を実行させるための命令である。画像処理に係るジョブとしては、例えば、画像形成部１６に印刷を実行させるための印刷ジョブがある。ＣＰＵ１２は、例えば、ノートＰＣ３３（図１参照）から受信した印刷ジョブに基づいて画像データ１５５の印刷を画像形成部１６で実行する。また、画像処理に係るジョブとは、例えば、画像読取部１７により原稿を読み取って画像データ１５５を生成させる読取ジョブである。例えば、ＣＰＵ１２は、ノートＰＣ３３から受信した読取ジョブに基づいて、画像読取部１７により原稿から画像を読み取り、読み取った画像から画像データ１５５を生成し、生成した画像データ１５５を、読取ジョブの送信元であるノートＰＣ３３へ送信する。また、画像処理に係るジョブとは、例えば、ＦＡＸ通信部１８により送信する画像データ１５５や、ＦＡＸ通信部１８で受信した画像データ１５５を生成させるＦＡＸ命令のジョブである。
【００２９】
ＣＰＵ１２は、ＵＳＢ接続部１９を介して外部機器からジョブを受け付けた場合に、受け付けたことを示す情報を履歴情報１５３に保存する。履歴情報１５３には、ジョブの受け付けの有無を示す情報が保存される。また、ＣＰＵ１２は、前回のシステムの起動後にジョブを受け付けた総回数を、履歴情報１５３に保存する。また、ＣＰＵ１２は、一時間当たりにジョブを受け付けた平均回数を履歴情報１５３に保存する。
【００３０】
また、図５に示すように、ＣＰＵ１２は、ネゴシエーションを完了させた後、外部機器へ供給した電力量である供給電力量を履歴情報１５３に保存する。また、ＣＰＵ１２は、外部機器を接続したポートの識別情報を保存する。なお、図５に示す履歴情報１５３の内容は、一例であり、適宜変更可能である。例えば、ＣＰＵ１２は、履歴情報１５３として、ネゴシエーションを完了した日時と、デバイス情報のみを保存しても良い。また、ＣＰＵ１２は、ジョブ受付情報として、受け付けの有無を示す情報のみを履歴情報１５３に保存しても良い。また、ＣＰＵ１２は、外部機器へ供給する供給電力量だけでなく、外部機器から受電する受電電力量を履歴情報１５３に保存しても良い。また、ＣＰＵ１２は、外部機器が電力ソースであるのか電力シンクであるのかを示す情報を履歴情報１５３に保存しても良い。そして、ＣＰＵ１２は、外部機器が電力シンクに設定された場合、外部機器へ供給する供給電力量を履歴情報１５３に保存し、外部機器が電力ソースに設定された場合、外部機器から受電する受電電力量を履歴情報１５３に保存しても良い。
【００３１】
ＣＰＵ１２は、図２のＳ１５において生成した履歴情報１５３を、例えばＲＡＭ１３に一時的に保存する。なお、ＣＰＵ１２は、後述するように、システムの再起動に合わせて履歴情報１５３をＮＶＲＡＭ１５に保存する（図３のＳ３１）。即ち、本実施形態のＣＰＵ１２は、Ｓ１３で一時的にＲＡＭ１３へ保存した履歴情報１５３を、再起動を実行する前にＮＶＲＡＭ１５へ保存する。しかしながら、ＲＡＭ１３に十分な容量がない場合など、ＣＰＵ１２は、Ｓ１３において、履歴情報１５３をＮＶＲＡＭ１５へ直接保存しても良い。
【００３２】
Ｓ１５を実行した後、ＣＰＵ１２は、Ｓ１７を実行する。Ｓ１７において、ＣＰＵ１２は、外部機器への電力供給を停止したか否かを判定する。ＵＳＢ接続部１９から外部機器を取り外した場合、あるいは外部機器の電源を停止した場合など、ＣＰＵ１２は、外部機器への電力供給を停止する。Ｓ１７において、ＣＰＵ１２は、例えば、複数の外部機器へ電力供給を行っている場合、少なくとも１つの外部機器への電力供給を停止すると、外部機器への電力供給を停止したと判定する（Ｓ１７：ＹＥＳ）。ＣＰＵ１２は、外部機器への電力供給を停止したと判定すると（Ｓ１７：ＹＥＳ）、Ｓ１９を実行する。一方、ＣＰＵ１２は、外部機器への電力供給を停止していないと判定すると（Ｓ１７：ＮＯ）、Ｓ２１を実行する。
【００３３】
Ｓ１９において、ＣＰＵ１２は、電力供給を停止した外部機器の情報を、履歴情報１５３から削除する。ＣＰＵ１２は、ＲＡＭ１３に保存された履歴情報１５３のうち、電力供給を停止した外部機器に係わる完了日時やベンダーＩＤなどを削除する。これにより、履歴情報１５３には、電力供給を行っている外部機器の情報のみが保存される。
【００３４】
ＣＰＵ１２は、Ｓ１９を実行した後、Ｓ２１を実行する。Ｓ２１においては、ＣＰＵ１２は、ＭＦＰ１のシステムを再起動する必要があるか否かを判定する。ＣＰＵ１２は、例えば、制御プログラム１５１のアップデートを実行する際に、再起動処理が必要となる可能性がある。制御プログラム１５１のアップデートとは、制御プログラム１５１の全体や一部を変更する処理、制御プログラム１５１に新たなプログラムを追加する処理、あるいは制御プログラム１５１の一部を削除する処理などを含む。ＣＰＵ１２は、例えば、ネットワークインタフェース２４を介してベンダーのＷｅｂサーバ６１（図１参照）からアップデートの通知を受信する。あるいは、ＣＰＵ１２は、定期的にベンダーのＷｅｂサーバ６１へアップデートの情報を確認しても良い。ＣＰＵ１２は、アップデートの実行にともなってＷｅｂサーバ６１から更新プログラムをダウンロードする。ＣＰＵ１２は、ダウンロードした更新プログラムに基づいて、制御プログラム１５１をアップデートする。
【００３５】
ＣＰＵ１２は、例えば、アップデートの通知の受信や、新たなアップデートの情報の検出に応じて、再起動が必要であると判定する（Ｓ２１：ＹＥＳ）。即ち、ＣＰＵ１２は、新たなアップデートが発生すると再起動が必要であると判定する。あるいは、ＣＰＵ１２は、ダウンロードした更新プログラムの内容に基づいて、再起動が必要であるか否かを判定しても良い。この場合、ＣＰＵ１２は、新たなアップデートごとに再起動の必要性を判定する。また、アップデートの通知情報や更新プログラムに、再起動が必要であるか否かを示す情報を含めても良い。
【００３６】
また、ＣＰＵ１２は、Ｓ２１において、アップデート以外の情報に基づいて再起動が必要であるか否かを判定しても良い。例えば、ＣＰＵ１２は、ＭＦＰ１で発生したエラーの内容に応じて再起動が必要であるか否かを判定しても良い。アップデート以外の理由で再起動を実行する場合、ＣＰＵ１２は、後述するアップデートの重要性の判定（図３のＳ２７）や、判定結果に応じた処理（Ｓ３３，Ｓ３５）を実行せず、Ｓ２５の後にＳ３１を実行しても良い。
【００３７】
Ｓ２１において、ＣＰＵ１２は、再起動が必要でないと判定すると（Ｓ２１：ＮＯ）、Ｓ１１からの処理を再度実行する。このため、ＣＰＵ１２は、システムの再起動が発生しない状態、即ち、通常状態では、Ｓ１１〜Ｓ２１の処理を繰り返し実行する。これにより、ＣＰＵ１２は、通常状態において、新たな外部機器の接続によるネゴシエーションの開始状況や、外部機器への電力供給を停止する状況を監視する。ＣＰＵ１２は、Ｓ１１〜Ｓ２１の処理を繰り返し実行し、履歴情報１５３の更新を継続する。履歴情報１５３には、常に最新の接続情報が保存される。
【００３８】
一方、ＣＰＵ１２は、Ｓ２１において、再起動が必要であると判定すると（Ｓ２１：ＹＥＳ）、上記した画像処理に係るジョブ（印刷ジョブなど）を実行しているか否かを判定する（Ｓ２３）。画像処理に係るジョブを実行中に再起動を実行すると、印刷等を完了させることができなくなる。そこで、ＣＰＵ１２は、Ｓ２３において、ジョブを実行していると判定すると（Ｓ２３：ＮＯ）、Ｓ２３の判定処理を繰り返し実行する。一方、ＣＰＵ１２は、ジョブを実行していないと判定すると（Ｓ２３：ＹＥＳ）、Ｓ２５を実行する。従って、ＣＰＵ１２は、ジョブが実行中である場合、再起動を実行しない。
【００３９】
Ｓ２５において、ＣＰＵ１２は、ＵＳＢ接続部１９を介して外部機器への電力供給を実行しているか否かを判定する。ＣＰＵ１２は、ＭＦＰ１から外部機器へ電力を供給している場合（Ｓ２５：ＹＥＳ）、図３のＳ２７を実行する。一方、ＣＰＵ１２は、例えば、外部機器をＵＳＢ接続部１９から全て外され、外部機器への電力供給を実行していない場合（２５：ＮＯ）、Ｓ２９を実行する。この場合、ＵＳＢ  ＰＤ規格の接続による電力供給を実行していないため、後述する履歴情報１５３に基づいた再起動後のネゴシエーションが不要となる。
【００４０】
従って、ＣＰＵ１２は、Ｓ２９において再起動を実行する。例えば、ＣＰＵ１２は、実行中の全てのプログラムを終了させ、電源２７から各部（ＣＰＵ１２を除く装置）への電力供給を停止する。ＣＰＵ１２は、電力供給を停止した後、ＲＯＭ１４から読み出した制御プログラム１５１を実行しシステムを再度起動する。ＣＰＵ１２は、システムを起動した後、図２〜図４に示す電力供給制御を開始する。なお、ＣＰＵ１２は、自動で再起動しなくとも良い。例えば、ＣＰＵ１２は、電源スイッチを一度切ってから再度接続してほしい旨を、ユーザインタフェース２０のタッチパネルに表示しても良い。即ち、電源の切断及び接続をユーザに実行させても良い。
【００４１】
ここで、Ｓ２９を実行した場合、再起動前には、外部機器への電力供給を実行していなかったこととなる（Ｓ２５：ＮＯ）。この場合、ＣＰＵ１２は、例えば、再起動後にＳ１１以降を実行する際に、ＵＳＢ接続部１９の接続が変更されるまで（ＵＳＢメモリの抜き差しなど）、ＵＳＢ  ＰＤのネゴシエーションを外部機器と実行しない。これにより、再起動前にＵＳＢ接続部１９に接続され、且つ電力供給を行っていなかった外部機器は、仮に再起動後に接続されていたとしても、電力供給されない。即ち、再起動前の電力供給を実行していなかった状態が再現される。また、その電力供給を行っていなかった外部機器をＵＳＢ接続部１９から取り外して再度接続すると、ＣＰＵ１２は、プラグアンドプレイ（ＰｎＰ）機能により、その外部機器とのネゴシエーションを開始する（Ｓ１１：ＹＥＳ）。あるいは、ＣＰＵ１２は、上記した再度接続された場合の他、接続されている外部機器から新たな電力供給のネゴシエーションを受けた場合に、ネゴシエーションを開始しても良い（Ｓ１１：ＹＥＳ）。ＣＰＵ１２は、例えば、Ｓ２９を実行する際に、電力供給を実行していなかったことを示す情報を、履歴情報１５３としてＮＶＲＡＭ１５に保存する。そして、ＣＰＵ１２は、再起動後にＮＶＲＡＭ１５に保存された履歴情報１５３を読み出すことで、再起動前の電力供給を実行していなかった状態を再現することができる。
【００４２】
なお、ＣＰＵ１２は、再起動前の電力供給を実行していなかった状態を再現しなくとも良い。例えば、ＣＰＵ１２は、再起動を実行した後、ＵＳＢ接続部１９に接続された外部機器とネゴシエーションを、改めて実行しても良い。
【００４３】
次に、図３のＳ２７において、ＣＰＵ１２は、実行する再起動がアップデートに起因したものであり、且つそのアップデートの内容が重要であるか否かを判定する。ここで重要なアップデートとは、例えば、セキュリティホールを修正する更新プログラムを、制御プログラム１５１に適用するセキュリティに係るアップデートである。また、システムの停止やシステムの故障を回避するための故障回避のためのアップデートであり。即ち、可能な限り早急に実行すべきアップデートである。一方、重要でないアップデートとは、例えば、画像処理速度を向上するための画像処理に係る更新プログラムの適用、あるいは消費電力を低減するための更新プログラムの適用など、早期の実行を必ずしも要求しないアップデートである。即ち、早期に実行しなくともシステムの停止や故障などが発生しないアップデートである。
【００４４】
例えば、ベンダーから通知される情報や、更新プログラムには、アップデートの重要度の情報が設定されている。ＣＰＵ１２は、この重要度の情報に基づいてアップデートの内容が重要であるか否かを判定する（Ｓ２７）。なお、ＣＰＵ１２は、アップデートの重要度を他の情報に基づいて判定しても良い。例えば、ＣＰＵ１２は、更新プログラムの内容、更新プログラムを適用するプログラムの種類に基づいて、アップデートの重要度を判定しても良い。
【００４５】
Ｓ２７において、ＣＰＵ１２は、実行する再起動がアップデートに起因したものであり、且つそのアップデートの内容が重要であると判定すると（Ｓ２７：ＹＥＳ）、上記したＳ１５やＳ１９で更新しＲＡＭ１３に保存した履歴情報１５３を、ＮＶＲＡＭ１５へ保存する（Ｓ３１）。これにより、再起動にともなって履歴情報１５３のデータが消えるのを抑制することができる。なお、履歴情報１５３の保存先、即ち本願における記憶部は、ＭＦＰ１内の記憶装置に限らない。例えば、ＣＰＵ１２は、ＲＡＭ１３の履歴情報１５３を、ＵＳＢ接続部１９に接続された外部機器（外付けハードディスク３２など）、あるいはネットワークインタフェース２４に接続されたファイルサーバ６３（図１参照）のメモリ（記憶部の一例）に保存しても良い。そして、ＣＰＵ１２は、再起動後に外部機器やファイルサーバ６３から履歴情報１５３を読み出しても良い。
【００４６】
一方、図３のＳ２７において、ＣＰＵ１２は、アップデートの内容が重要でないと判定すると（Ｓ２７：ＮＯ）、一定時間だけ経過したか否かを判定する（Ｓ３３）。この一定時間は、アップデートにともなう再起動の処理を保留（ウエイト）する時間である。換言すれば、この一定時間は、アップデート及び再起動を実行せずに電力供給を継続する時間となる。ＣＰＵ１２は、例えば、Ｓ３３の判定に用いる一定時間として予め定められた時間を用いる。あるいは、ＣＰＵ１２は、例えば、アップデートの内容に応じてＳ３３の判定で用いる一定時間を変更しても良い。ＣＰＵ１２は、例えば、Ｓ２７の判定を実行した後に（Ｓ２７：ＮＯ）、一定時間として１２時間だけ経過したか否かを判定する（Ｓ３３）。この場合、ＣＰＵ１２は、アップデート及び再起動を実行せずに半日だけ電力供給を継続した後、後述するアップデート及び再起動を実行することとなる。なお、ＣＰＵ１２は、例えば、ＭＦＰ１を使用していない時間が一定時間だけ継続した場合に、Ｓ３１以降の処理を実行しても良い。この場合、ユーザ等がＭＦＰ１を使用していない時間が継続すると、ＣＰＵ１２は、アップデート及び再起動を実行することとなる。
【００４７】
ＣＰＵ１２は、一定時間だけ経過したと判定すると（Ｓ３３：ＹＥＳ）、Ｓ３１を実行する。一方、ＣＰＵ１２は、一定時間だけ経過していないと判定すると（Ｓ３３：ＮＯ）、外部機器への電力供給を終了したか否かを判定する（Ｓ３５）。なお、Ｓ３３の判定で用いる一定時間の長さに応じて、ＣＰＵ１２は、Ｓ３１を実行するまでの間、履歴情報１５３を更新しても良い。例えば、Ｓ３３の一定時間が数分から数十分である場合、ＵＳＢ接続部１９の接続状況が変更される可能性は低い。一方で、Ｓ３３の一定時間が数時間から数十時間になると、ＵＳＢ接続部１９の接続状況が変更される可能性が高くなる。このため、ＣＰＵ１２は、例えば、Ｓ２７を実行した後（Ｓ２７：ＮＯ）、一定時間が経過し（Ｓ３３：ＹＥＳ）、Ｓ３１を実行するまでの間、上記したＳ１１，Ｓ１３，Ｓ１５，Ｓ１７，Ｓ１９の処理を実行しても良い。これにより、ＣＰＵ１２は、Ｓ３１を実行するまでの間に外部機器への電力供給の状況に変更があると、履歴情報１５３を更新する。履歴情報１５３は、最新の接続状況の情報に更新される。
【００４８】
Ｓ３５において、ＣＰＵ１２は、外部機器への電力供給を終了したと判定すると（Ｓ３５：ＹＥＳ）、図２のＳ２９を実行する、即ち、再起動を実行する。例えば、一定時間が経過する前に、ＵＳＢ接続部１９に接続された全ての外部機器を取り外した場合、あるいはＵＳＢ接続部１９に接続された外部機器の電源が落とされた場合、ＣＰＵ１２は、Ｓ２９を実行する。また、例えばＵＳＢ接続部１９に接続されている全ての外部機器からＵＳＢ  ＰＤ規格における電力供給の停止要求を受け付けた場合、ＣＰＵ１２は、Ｓ２９を実行する。この場合、上記したＳ２５と同様に（Ｓ２５：ＮＯ）、ＵＳＢ  ＰＤ規格の接続による電力供給を終了したため、後述する履歴情報１５３に基づいた再起動のネゴシエーションが不要となるためである。
【００４９】
次に、ＣＰＵ１２は、Ｓ３１において、履歴情報１５３をＲＡＭ１３からＮＶＲＡＭ１５に保存する。ＣＰＵ１２は、履歴情報１５３を保存した後、アップデートを実行する（Ｓ３７）。ＣＰＵ１２は、例えば、ベンダーのＷｅｂサーバ６１からダウンロードした更新プログラムを、制御プログラム１５１に適用する。ＣＰＵ１２は、更新後の制御プログラム１５１をＲＯＭ１４に保存する。ＣＰＵ１２は、Ｓ３７でアップデートを実行した後、再起動を実行する（Ｓ３９）。Ｓ３９において、ＣＰＵ１２は、上記したＳ２９と同様に、システムを一度停止した後に起動する。
【００５０】
次に、ＣＰＵ１２は、Ｓ３９で再起動を実行した後、ＵＳＢ接続部１９に接続されている外部機器のベンダーＩＤ及びプロダクトＩＤを取得する（Ｓ４１）。ＣＰＵ１２は、ＵＳＢ  ＰＤ規格に準拠した通信コマンドを用いて、外部機器からプロダクトＩＤ等を取得する。
【００５１】
ＣＰＵ１２は、Ｓ４１を実行した後、Ｓ３１で保存した履歴情報１５３をＮＶＲＡＭ１５から読み出し（Ｓ４３）、Ｓ４１で取得したプロダクトＩＤ等と、Ｓ４３で読み出した履歴情報１５３とに基づいた判定を実行する（Ｓ４５）。履歴情報１５３には、図５に示すように、Ｓ１３においてネゴシエーションを完了した完了日時、ベンダーＩＤ、及びプロダクトＩＤを関連付けた情報が保存されている。履歴情報１５３は、例えば、完了日時の古いデータから順番に保存されている。ＣＰＵ１２は、履歴情報１５３の中から、最も古い完了日時と、その完了日時に関連付けられたベンダーＩＤ及びプロダクトＩＤを検索する。この検索により検出されるプロダクトＩＤの外部機器は、今回の再起動前であって前回の再起動後に電力供給を行っていた複数の外部機器のうち、ネゴシエーションの完了日時の最も古い外部機器となる。ＣＰＵ１２は、検出したベンダーＩＤ及びプロダクトＩＤがＳ４１で取得したベンダーＩＤ及びプロダクトＩＤに含まれているか否かを判定する（Ｓ４５）。即ち、ＣＰＵ１２は、Ｓ４５において、完了日時の最も古いベンダーＩＤ及びプロダクトＩＤの外部機器が現在も接続されているか否かを判定する。
【００５２】
Ｓ４５において、ＣＰＵ１２は、完了日時の最も古いプロダクトＩＤ等の外部機器が現在も接続されていないと判定すると（Ｓ４５：ＮＯ）、そのプロダクトＩＤ等に係わるデータを履歴情報１５３から削除する（Ｓ４７）。ＣＰＵ１２は、接続されていないと判定した外部機器のベンダーＩＤ、プロダクトＩＤ、及びネゴシエーションの完了日時等のデータを履歴情報１５３から削除する。これにより、再起動前に接続されていたものの、再起動中や再起動後に接続を解除された外部機器の情報を、履歴情報１５３から削除する。
【００５３】
ＣＰＵ１２は、Ｓ４７を実行した後、再度Ｓ４５を実行する。Ｓ４７を実行したことで、履歴情報１５３は、完了日時の最も古いデータが削除される。このため、２番目に完了日時の古いデータが、新たに完了日時の最も古いデータとなる。ＣＰＵ１２は、再度、Ｓ４５を実行すると、前回の２番目に完了日時の古い外部機器が、現在も接続されているか否かを判定することとなる。従って、Ｓ４５，Ｓ４７を実行するごとに、ＣＰＵ１２は、２番目に古いデータ、３番目に古いデータ、・・・と順番に判定することとなる。
【００５４】
一方で、Ｓ４５において、ＣＰＵ１２は、完了日時の最も古いプロダクトＩＤ等の外部機器が現在も接続されていると判定すると（Ｓ４５：ＹＥＳ）、その完了日時の最も古いプロダクトＩＤ等の外部機器とネゴシエーションを実行し電力供給を開始する（図４のＳ４９）。従って、ＣＰＵ１２は、再起動後に接続されている外部機器のうち、再起動前におけるネゴシエーションの完了日時の古いものから順に、再起動後のネゴシエーションを行う。
【００５５】
ここで、ＵＳＢ  ＰＤ規格では、ネゴシエーションによって外部機器へ供給する電力を変更することができる。従って、外部機器へ供給する電力は、ネゴシエーションの順番によって変更される虞がある。例えば、ＣＰＵ１２は、先にネゴシエーションを行った外部機器から順番に要求された電力を供給する。この場合、外部機器へ供給する電力量がＭＦＰ１の許容範囲を超えると、より後に検出された外部機器は、要求した電力を供給されない虞がある。また、例えば、ＣＰＵ１２は、ＵＳＢ接続部１９を介してＰＣから電力を受電する場合がある。この場合、ＭＦＰ１は、電力不足の状態であっても、この電力ソースであるＰＣとのネゴシエーションを完了させることで、電力不足を解消できる可能性がある。ＭＦＰ１の供給可能な電力量は、ＰＣとの接続後に増大する。このため、ＰＣとの接続を完了する前にネゴシエーションを実行した外部機器は要求した電力を供給されない一方で、ＰＣとの接続を完了した後にネゴシエーションを実行した外部機器は要求した電力を供給される可能性がある。
【００５６】
つまり、再起動後のネゴシエーションの順番が再起動前の順番と異なる場合、外部機器へ供給する電力量が変更される虞がある。そこで、本実施形態のＣＰＵ１２は、再起動前に保存した履歴情報１５３を用いて完了日時の古いものから順番に再度ネゴシエーションを実行する。これにより、再起動前のＭＦＰ１から外部機器への電力供給の状態を再現することが可能となっている。また、上記したように履歴情報１５３として、ＭＦＰ１から外部機器へ供給する供給電力量だけでなく、外部機器から受電する受電電力量を履歴として保存した場合、再起動前の受電状態も含めて、電力の授受の状態を再現することが可能となる。
【００５７】
図４のＳ４９において、ＣＰＵ１２は、完了日時の最も古いプロダクトＩＤ等の外部機器への電力供給を開始すると、Ｓ５１を実行する。ＣＰＵ１２は、Ｓ４９で電力供給を開始した外部機器の完了日時を更新する（Ｓ５１）。即ち、ＣＰＵ１２は、ネゴシエーションの完了日時が最も古い外部機器に対応する履歴情報１５３の完了日時を更新する。これにより、最も古かった完了日時は、最も新しい完了日時となる。このため、Ｓ４７と同様に、ＣＰＵ１２は、Ｓ５１を実行するごとに、最も古い完了日時のデータを更新する。
【００５８】
Ｓ５１を実行した後、ＣＰＵ１２は、Ｓ４３で読み出した履歴情報１５３の中に含まれる全ての外部機器への処理、即ち、再起動前に電力供給を実行していた全ての外部機器への処理を完了したか否かを判定する（Ｓ５３）。ＣＰＵ１２は、例えば、履歴情報１５３に含まれる全ての外部機器について、Ｓ４７の削除処理、又はＳ５１の更新処理のいずれかを実行したか否かを判定することで、全ての外部機器への処理を完了したか否かを判定する。なお、全ての外部機器への処理を完了したか否かの判定方法は、これに限らない。例えば、ＣＰＵ１２は、履歴情報１５３に含まれる全ての完了日時が、Ｓ４３を実行した日時以降であるか否かを判定することで、全ての外部機器への処理を完了したか否かを判定しても良い。
【００５９】
ＣＰＵ１２は、全ての外部機器への処理を完了していないと判定すると（Ｓ５３：ＮＯ）、図３のＳ４５の処理を再度実行する。そして、ＣＰＵ１２は、全ての外部機器への処理を完了したと判定すると（Ｓ５３：ＹＥＳ）、図２のＳ１１の処理を再度実行する。従って、ＣＰＵ１２は、再起動前に電力供給を行っていた全ての外部機器へネゴシエーション等を完了させてからＳ１１を実行する。ＣＰＵ１２は、再起動後に新たに接続された外部機器が存在すると、Ｓ１１においてネゴシエーションを開始することとなる。このようにして本実施形態のＣＰＵ１２は、アップデート及び再起動にともなう電力供給のネゴシエーションを実行する。
【００６０】
なお、上記した例では、ＣＰＵ１２は、再起動後にネゴシエーションを行う外部機器の順番を、再起動前のネゴシエーションの順番（完了日時）に基づいて決定したが、これに限らない。例えば、ＣＰＵ１２は、図５に示すジョブ受付情報に基づいて、再起動後にネゴシエーションを実行する順番を決定しても良い。例えば、ＣＰＵ１２は、Ｓ４５において、ネゴシエーションの完了日時の最も古い外部機器で、且つ再起動前にジョブを受け付けた外部機器の接続状況を優先して判定しても良い。これにより、ＣＰＵ１２は、再起動前にジョブを受け付けた外部機器を優先し、電力供給のネゴシエーションを実行する。即ち、ジョブを受け付けて印刷等の通信を実際にやりとりした外部機器を優先することができる。あるいは、ＣＰＵ１２は、履歴情報１５３のジョブ受付情報を用いて、再起動前にジョブの受け付け回数が多い外部機器や、平均の受け付け回数が多い外部機器を、優先して先にネゴシエーションを実行しても良い。
【００６１】
また、ＣＰＵ１２は、Ｓ４９において再起動後のネゴシエーションを実行した。この際に、ＣＰＵ１２は、履歴情報１５３の供給電力量に基づいて、再起動後に外部機器へ供給する電力量を決定しても良い。これにより、ＣＰＵ１２は、再起動前において実際に供給していた供給電力量に基づいて、再起動後の外部機器へ供給する電力量を決定できる。また、ＣＰＵ１２は、必要な電力量を外部機器へ問い合わせる処理などを省略し、ネゴシエーションを迅速に完了させることができる。なお、ＣＰＵ１２は、再起動後において、履歴情報１５３の供給電力量と同一値の電力を外部機器へ供給しても良く、供給電力量以下の電力を外部機器へ供給しても良い。また、外部機器から受電した受電電力量を履歴情報１５３に保存した場合、ＣＰＵ１２は、履歴情報１５３の受電電力量に基づいて、再起動後に外部機器へ要求する電力量を決定しても良い。これにより、ＣＰＵ１２は、再起動前において実際に受電していた受電電力量に基づいて、再起動後に外部機器へ要求する電力量を決定できる。
【００６２】
因みに、ＭＦＰ１は、画像処理装置の一例である。ＣＰＵ１２は、制御装置の一例である。ＮＶＲＡＭ１５、外付けハードディスク３２、ファイルサーバ６３は、記憶部の一例である。ＲＯＭ１４は、不揮発性メモリの一例である。画像形成部１６は、印刷部の一例である。画像読取部１７は、読取部の一例である。電源２７は、電源部の一例である。ＵＳＢメモリ３１、外付けハードディスク３２、ノートＰＣ３３は、外部機器の一例である。ノートＰＣ３３は、外部端末の一例である。ベンダーＩＤ、プロダクトＩＤは、識別情報の一例である。Ｓ３１は、保存工程の一例である。Ｓ３９は、再起動工程の一例である。Ｓ４３は、読出工程の一例である。Ｓ４９は、再開工程の一例である。
【００６３】
（３．効果）
以上、上記した実施形態によれば、以下の効果を奏する。
（１）本実施形態のＭＦＰ１は、電源２７と、電源２７からの電力を受けるＵＳＢ接続部であって、ＵＳＢ  ＰＤ規格に準ずる接続により外部機器（ＵＳＢメモリ３１など）が接続されるＵＳＢ接続部１９と、ＣＰＵ１２と、を備える。ＣＰＵ１２は、ＵＳＢ接続部１９介した外部機器への電力供給に係わる履歴情報１５３をＮＶＲＡＭ１５に保存する保存処理（Ｓ３１）と、ＵＳＢ接続部１９を介した外部機器への電力供給中に再起動が必要となったことに応じて、再起動を実行する再起動処理（Ｓ３９）と、再起動処理の後に、保存処理により保存した履歴情報１５３をＮＶＲＡＭ１５から読み出す読出処理（Ｓ４３）と、ＮＶＲＡＭ１５から読み出した履歴情報１５３に基づいて、ＵＳＢ接続部１９を介して外部機器へ電力供給を行う制御を再開する再開処理（Ｓ４９）と、を実行する。
【００６４】
ここで、例えば、ＵＳＢ  ＰＤ規格の接続による電力供給を行う画像処理装置では、再起動後に電力供給を再開する際に、外部機器と順番にネゴシエーションを実行し、外部機器へ供給する電力量を設定する可能性がある。この場合、各外部機器へ供給する電力量が、ネゴシエーションを実行する順番に応じて、再起動前と再起動後で異なった電力量となる虞がある。これに対し、本実施形態のＣＰＵ１２は、再起動前において、ＵＳＢ接続部１９を介した外部機器への電力供給の履歴情報１５３を保存する。そして、ＣＰＵ１２は、電力供給中に再起動を実行すると、再起動後に履歴情報１５３を読み出し、履歴情報１５３に基づいて電力供給の制御を再開する。これにより、システムの再起動が発生した場合であっても、再起動前の電力供給の状態に基づいて再起動後の電力供給を適切に再開できる。
【００６５】
（２）また、ＭＦＰ１は、記憶部として、不揮発性メモリであるＮＶＲＡＭ１５を備える。これによれば、再起動にともなってＮＶＲＡＭ１５へ供給される電力が停止しても、履歴情報１５３を保存することができる。
【００６６】
（３）また、ＣＰＵ１２は、ＵＳＢ接続部１９を介した外部機器への電力供給中に再起動が必要となったことに応じて、保存処理を実行し（Ｓ３１）、保存処理が完了したことを条件として、再起動処理を実行する（Ｓ３９）。
【００６７】
これによれば、履歴情報１５３を確実に保存した上で、再起動処理を実行できる。換言すれば、履歴情報１５３を保存する前に再起動処理を開始しないことで、再起動処理にともなって履歴情報１５３が消去されるような事態の発生を抑制できる。
【００６８】
（４）また、履歴情報１５３は、再起動処理の前にＵＳＢ接続部１９に接続されていた外部機器を識別する第１識別情報（ベンダーＩＤやプロダクトＩＤ）を含む（図５参照）。ＣＰＵ１２は、再開処理において、履歴情報１５３の第１識別情報と再起動処理の後にＵＳＢ接続部１９に接続されている外部機器の識別情報（第２識別情報の一例）とが対応するか否かを判定する識別情報判定処理（Ｓ４５）と、識別情報判定処理において第１識別情報と第２識別情報とが対応した場合、履歴情報１５３に基づいて、当該外部機器とＵＳＢ接続部１９を介して電力供給を行うためのネゴシエーションを実行するネゴシエーション処理（Ｓ４９）と、を実行する。
【００６９】
これによれば、ＣＰＵ１２は、プロダクトＩＤ等に基づいて、再起動前に接続されていた外部機器と、再起動後に接続されている外部機器とが対応するか否かを判定する。ＣＰＵ１２は、プロダクトＩＤ等の対応した外部機器と、履歴情報１５３に基づいたネゴシエーションを実行する。これにより、プロダクトＩＤ等により接続を再確認した上で、履歴情報１５３に基づいたネゴシエーションを開始でき、再起動前の状態に応じた電力量の設定等を実行できる。
【００７０】
（５）また、履歴情報１５３は、複数の第１識別情報（プロダクトＩＤ等）を含む。ＣＰＵ１２は、識別情報判定処理において複数のプロダクトＩＤ等の各々と対応する複数の外部機器が存在すると判定された場合に、ネゴシエーション処理において、複数の外部機器のうち、履歴の新しいプロダクトＩＤ等と対応する外部機器に比べて、履歴の古いプロダクトＩＤ等と対応する外部機器とのネゴシエーションを優先する（Ｓ４５）。
【００７１】
これによれば、ＣＰＵ１２は、再起動後にプロダクトＩＤ等が対応する複数の外部機器が存在する場合、より履歴の古い外部機器とのネゴシエーションを先に実行する（Ｓ４５）。これにより、再起動前に実行したネゴシエーションの順番と同じ順番で、接続の古い外部機器から順番にネゴシエーションを実行できる。
【００７２】
（６）また、ＭＦＰ１は、制御プログラム１５１を保存するＲＯＭ１４を備える。ＣＰＵ１２は、制御プログラム１５１を実行することでＭＦＰ１を制御する。ＣＰＵ１２は、ＲＯＭ１４に保存された制御プログラム１５１のアップデートが必要となったことに応じて（Ｓ２７：ＹＥＳ）、再起動処理を実行する（Ｓ３９）。
【００７３】
これによれば、ＭＦＰ１の制御に用いる制御プログラム１５１のアップデートに応じて、再起動処理が発生した場合であっても、再起動前の電力供給の状態に基づいて再起動後の電力供給を再開できる。
【００７４】
（７）また、ＣＰＵ１２は、制御プログラム１５１のアップデートの重要度が高いか否かを判定する重要度判定処理（Ｓ２７）と、アップデートの重要度が高いと判定したことに応じて（Ｓ２７：ＹＥＳ）、アップデートを実行してから再起動処理を実行し（Ｓ３７，Ｓ３９）、アップデートの重要度が高くないと判定したことに応じて（Ｓ２７：ＮＯ）、アップデートを実行せずにＵＳＢ接続部１９を介した外部機器への電力供給を継続する継続処理を実行する（Ｓ３３，Ｓ３５）。
【００７５】
これによれば、ＣＰＵ１２は、アップデートの重要度が高い場合、アップデートをすぐに実行する。一方、ＣＰＵ１２は、アップデートの重要度が高くない場合、すぐにはアップデートを実行せず、電力供給を継続する。これにより、例えば、セキュリティホールに対する更新プログラムなど、重要度の高いアップデートを迅速に実行し、セキュリティレベルを向上できる。また、例えば、画像処理速度の改善など、重要度の高くないアップデートは後回しにして電力供給を継続できる。
【００７６】
（８）また、ＣＰＵ１２は、継続処理において、アップデートの重要度が高くないと判定したことに応じて（Ｓ２７：ＮＯ）、アップデートを実行せずに一定時間ウエイトした後に（Ｓ３３：ＹＥＳ）、アップデートを実行してから再起動処理を実行する（Ｓ３７，Ｓ３９）。
【００７７】
これによれば、ＣＰＵ１２は、一定時間だけ電力供給を継続した後に、保留したアップデートを実行する。このため、一定時間の長さを調整することで、例えば、ＭＦＰ１の使用頻度が少ない時間などに重要度の高くないアップデートを実行できる。即ち、重要度の高くないアップデートの実行時間を、ＭＦＰ１の使用の実態に合わせて調整できる。
【００７８】
（９）また、ＣＰＵ１２は、ＵＳＢ接続部１９を介した外部機器への電力供給中に再起動が必要となったことに応じて（Ｓ２１：ＹＥＳ）、画像処理に係わるジョブを、電力供給中の外部機器から取得して実行中であるか否かを判定するジョブ実行判定処理を実行し（Ｓ２３）、ジョブ実行判定処理においてジョブを実行中であると判定したことに応じて（Ｓ２３：ＮＯ）、再起動処理を実行せずに待機し、ジョブ実行判定処理においてジョブを実行中でないと判定したことに応じて（Ｓ２３：ＹＥＳ）、再起動処理を実行する（Ｓ３９）。
【００７９】
これによれば、ＣＰＵ１２は、再起動処理を実行する前に、外部機器から取得したジョブを実行中であるか否かを判定し、実行中である場合には、ジョブの実行を完了させるまで再起動処理を実行せずに待機する。ＣＰＵ１２は、ジョブの実行中でなくなると、再起動処理を実行する。これにより、実行中のジョブが再起動によって中断される事態などの発生を抑制できる。
【００８０】
（１０）また、履歴情報１５３は、再起動処理の前において外部機器から送信された画像処理に係わるジョブを受け付けたか否かを示すジョブ受付情報を含む（図５参照）。ＣＰＵ１２は、再起動処理後においてＵＳＢ接続部１９に複数の外部機器が接続されている場合、再開処理において、履歴情報１５３のジョブ受付情報に基づいて、ＵＳＢ接続部１９に接続された複数の外部機器のうち、ジョブを受け付けた外部機器を優先し、ＵＳＢ接続部１９を介する電力供給を行う制御を再開しても良い。
【００８１】
なお、ジョブを受け付けた外部機器を優先する制御内容は、特に限定されない。例えば、第１の外部機器よりも第２の外部機器を優先して電力供給を行う制御を再開する場合、ＣＰＵ１２は、再起動後に、第１の外部機器よりも先に、第２の外部機器に対して電力供給の為のネゴシエーションを実行しても良い。あるいは、ＣＰＵ１２は、第２の外部機器を優先する場合、再起動後に、まず、第２の外部機器と電力供給の為のネゴシエーションを実行し、第１の外部機器とは、当該第１の外部機器からネゴシエーションを受ける等のイベントが発生しない限り、ネゴシエーションを実行しなくとも良い。
【００８２】
これによれば、再起動処理後に複数の外部機器がＵＳＢ接続部１９に接続されている場合、ＣＰＵ１２は、ジョブを受け付けて画像処理に係わるやりとりを実際に行った外部機器を優先する。これにより、ジョブの処理を要求する可能性が高い外部機器に必要な電力を優先的に供給できる。
【００８３】
（１１）また、ＭＦＰ１は、シートに画像を印刷する画像形成部１６を備える。本実施形態の画像処理に係わるジョブは、ジョブの送信元から送信された画像データに係る画像を、画像形成部１６によりシートに印刷する、印刷ジョブでも良い。これによれば、例えば、印刷機能のアップデートにともなって再起動処理を実行したとしても、再起動後の電力供給を適切に再開できる。
【００８４】
（１２）また、ＭＦＰ１は、原稿から画像を読み取る画像読取部１７を備える。本実施形態の画像処理に係わるジョブは、画像読取部１７により原稿から画像を読み取り、画像に係る画像データ１５５を生成し、画像データ１５５を、ジョブの送信元の外部端末（ノートＰＣ３３など）へ送信する、読取ジョブでも良い。これによれば、例えば、スキャン機能のアップデートにともなって再起動処理を実行したとしても、再起動後の電力供給を適切に再開できる。
【００８５】
（１３）また、履歴情報１５３は、再起動処理の前においてＵＳＢ接続部１９を介して外部機器へ供給していた供給電力の量である供給電力量を含む（図５参照）。ＣＰＵ１２は、再開処理において、履歴情報１５３の供給電力量に基づいて、ＵＳＢ接続部１９に接続された外部機器へ供給する電力を決定しても良い。
【００８６】
これによれば、ＣＰＵ１２は、再起動前において実際に供給していた電力の供給電力量に基づいて、再起動後の外部機器へ供給する電力を決定する。これにより、再起動前に供給していた供給電力の状態を、より正確に再現することができる。
【００８７】
（４．変形例）
尚、本願は上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、本願におけるＵＳＢ規格は、ＵＳＢ  ＰＤ規格に限らず、ネゴシエーションにより供給電力を変更可能な他の規格でもよい。
また、ＣＰＵ１２は、ネゴシエーションの完了日時の最も古いデータから順番にネゴシエーションを実行したが、これに限らない。例えば、ＣＰＵ１２は、ネゴシエーションの完了日時の新しいデータから順番にネゴシエーションを実行しても良い。
また、ＣＰＵ１２は、制御プログラム１５１のアップデートの重要度が高いか否かによって再起動を実行するタイミングを変更したが、アップデートの重要度に応じて再起動を実行するタイミングを変更しなくとも良い。
また、ＣＰＵ１２は、ジョブを実行中である場合、ジョブの実行が完了してから再起動を実行したが、ジョブを中断して再起動を実行しても良い。この場合、ＣＰＵ１２は、再起動後に中断したジョブを再開しても良い。
また、ＣＰＵ１２は、ＭＦＰ１から外部機器への電力供給の情報を履歴情報１５３に保存し再起動後の制御に用いたが、これに限らない。ＣＰＵ１２は、ＭＦＰ１から外部機器への電力供給の情報と、外部機器からＭＦＰ１への電力供給の情報の両方を履歴情報１５３に保存し再起動後の制御に用いても良い。
【００８８】
また、制御プログラム１５１の保存先は、ＲＯＭ１４に限らず、他のコンピュータが読み取り可能なストレージ媒体、例えば、ＲＡＭ、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体でもよい。
また、上記実施形態では、本願の制御装置として、ＣＰＵ１２を採用したが、これに限らない。例えば、制御装置を、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの専用のハードウェアで構成してもよい。また、制御装置は、例えばソフトウェアによる処理と、ハードウェアによる処理とを併用して動作する構成でもよい。
また、上記実施形態では、本願の画像処理装置として複合機であるＭＦＰ１を採用したが、これに限らない。本願の画像処理装置は、プリンタ装置、コピー装置、ファックス装置、スキャナ装置でもよい。
【符号の説明】
【００８９】
１  ＭＦＰ（画像処理装置）、１２  ＣＰＵ（制御装置）、１４  ＲＯＭ（不揮発性メモリ）、１５  ＮＶＲＡＭ（記憶部）、１６  画像形成部（印刷部）、１７  画像読取部（読取部）、１９  ＵＳＢ接続部、２７  電源（電源部）、３１  ＵＳＢメモリ（外部機器）、３２  外付けハードディスク（外部機器、記憶部）、３３  ノートＰＣ（外部機器、外部端末）、６３  ファイルサーバ（記憶部）、１５１  制御プログラム、１５３  履歴情報。
【図１】
2019118010.tif 000003
【図２】
2019118010.tif 000004
【図３】
2019118010.tif 000005
【図４】
2019118010.tif 000006
【図５】
2019118010.tif 000007