JP6464657B2 - 画像処理装置、プログラム更新方法、およびコンピュータプログラム - Google Patents

画像処理装置、プログラム更新方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP6464657B2
JP6464657B2 JP2014215960A JP2014215960A JP6464657B2 JP 6464657 B2 JP6464657 B2 JP 6464657B2 JP 2014215960 A JP2014215960 A JP 2014215960A JP 2014215960 A JP2014215960 A JP 2014215960A JP 6464657 B2 JP6464657 B2 JP 6464657B2
Authority
JP
Japan
Prior art keywords
processing unit
control program
program
routine
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014215960A
Other languages
English (en)
Other versions
JP2016085499A (ja
Inventor
青山 素明
素明 青山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2014215960A priority Critical patent/JP6464657B2/ja
Publication of JP2016085499A publication Critical patent/JP2016085499A/ja
Application granted granted Critical
Publication of JP6464657B2 publication Critical patent/JP6464657B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、画像処理装置のプログラムを更新する技術に関する。
近年、「MFP(Multi Function Peripherals)」または「画像形成装置」などと呼ばれる、多機能な画像処理装置が普及している。
画像処理装置は制御用のプログラム(以下、「制御プログラム」と記載する。)に基づいて動作する。制御プログラムは、しばしば、機能の改善またはバグの修正のために更新される。
従来、更新された制御プログラムを画像処理装置に適用するために、次の作業が行われる。
画像処理装置は、実行中のジョブがあれば、それを停止させる。または、完了するまで待つ。更新された制御プログラムを、サーバからダウンロードしまたはUSB(Universal Serial Bus)メモリなどの記録媒体から読み込むことによって取得する。この制御プログラムをインストールする。そして、再起動を必要に応じて行い、この制御プログラムをRAM(Random Access Memory)へロードして実行する。
画像処理装置のプログラムを更新する技術として、次のような技術が提案されている。共通のオペレーションシステムが組み込まれたCPUを具備したマルチCPU構成とする装置において、CPUが使用するアプリソフトを書き換え、回路モジュールの機能を更新する。複数の回路モジュールのCPUについてアプリソフトを書き換える際には、一方の回路モジュールに一方と他方のCPUの各々が使用するアプリソフトを送付し、一方のCPUにより双方についてアプリソフトを書き換える。この際、プログラム更新を担当する一方のCPUは、共通の書換プログラムを用いて双方についてアプリソフトを書き換える、あるいは双方について時分割で書換処理することで、並行してアプリソフトを書き換えるなどする(特許文献1)。
または、他の発明に係る画像形成装置は、画像形成部、操作部、メインCPU、複数のサブCPUを備える。メインCPUは、機能IDに対応する使用サブCPU情報を取得し、サブCPUファームウェア更新状態テーブルのサブCPU状態と照合する。メインCPUは、機能IDのプリントモードに対応するサブCPUに関してファームウェア更新中か否かを判定し、ファームウェア更新中の場合は、操作部の画面上の該当プリントモード選択ボタンを無効化する(特許文献2)。
または、他の発明に係る画像形成装置は、互いに独立して動作する複数のモジュールと、モジュールの各々に備えられ当該モジュールで動作するソフトウェアが格納されたフラッシュROMを備えている。モジュールのいずれかでソフトウェアの更新が行われている際、ジョブを受け付けると、メインCPUは当該ジョブで用いるモジュールがソフトウェアの更新中であるか否かを判定する。そして、ジョブで用いるモジュールがソフトウェアの更新中であると判定すると、メインCPUはソフトウェアの更新が終了するまで、ジョブの実行を待機する(特許文献3)。
特開2004−94301号公報 特開2013−109476号公報 特開2013−97515号公報
ところで、近年、マルチコアのCPU(Central Processing Unit)が普及している。画像処理装置においても、今後、マルチコアのCPUが普及すると考えられる。
そこで、マルチコアのCPUを採用する画像処理装置における制御プログラムの更新を、ユーザの利便性をできるだけ損なうことなく行うことが求められる。
特許文献1、2に記載される方法では、CPUそのものを複数備える画像処理装置においては一定の効果があるかもしれない。しかし、マルチコアのCPUを備える画像処理装置においては、効果が得られない。
特許文献3に記載される方法では、ダウンタイムが少なからず発生する。そこで、ユーザの利便性をさらに高めることが求められる。
本発明は、このような背景に鑑み、マルチコアのCPUを採用する画像処理装置においてユーザの利便性を従来よりも確実に保ちつつプログラムを更新できるようにすることを、目的とする。
本発明の一形態に係る画像処理装置は、1つまたは複数のコアをそれぞれに含む第一の処理ユニットおよび第二の処理ユニットを有しかつ当該第一の処理ユニットおよび当該第二の処理ユニットそれぞれが異なるプログラムを実行するように構成されたプロセッサと、前記第一の処理ユニットおよび前記第二の処理ユニットによって共有され、特定の処理を行うための第一のルーチンが記述された第一のプログラムが記憶されるメモリと、を有し、前記第一の処理ユニットは、前記第一のプログラムを実行し、前記メモリは、前記第一のプログラムのアップデート版であって前記特定の処理を行うための第二のルーチンが記述された第二のプログラムを記憶し、前記第二の処理ユニットは、前記第二のプログラムを実行し始めた後、前記第二のルーチンへ進むのを待機し、前記第一の処理ユニットが前記特定の処理を完了しまたは停止した後、前記ルーチンへ進み、前記第一の処理ユニットは、前記第二の処理ユニットが前記第二のルーチンへ進んだ後、前記第一のルーチンから抜け、前記第一のルーチンへ再び進むのを待機し、前記第二の処理ユニットが前記特定の処理を正常に行えなかった場合に、前記第一のルーチンへ再び進む
前記特定の処理は、画像の入出力を伴うジョブ(例えば、コピー、スキャン、プリント、ファックス送信、ファックス受信などのジョブ)を制御する処理である。
本発明によると、マルチコアのCPUを採用する画像処理装置においてユーザの利便性を従来よりも確実に保ってプログラムを更新することができる。
画像処理システムの全体的な構成の例を示す図である。 画像処理装置のハードウェア構成の例を示す図である。 CPUの構成およびRAMの割当ての例を示す図である。 画像処理装置にインストールされるプログラムの例を示す図である。 全体制御プログラムによって実現される機能的構成の例を示す図である。 実行待ちまたは実行中のジョブの遷移の例を示す図である。 全体制御プログラムによる全体的な処理の流れの例を説明するフローチャートである。 全体制御プログラムによって実現される機能的構成の例を示す図である。 全体制御プログラムによる全体的な処理の流れの例を説明するフローチャートである。 通常モードの処理の流れの例を説明するフローチャートである。 更新処理の流れの例を説明するフローチャートである。 リカバリモードの処理の流れの例を説明するフローチャートである。 CPUの構成の変形例を示す図である。
〔第一の実施形態〕
図1は、画像処理システム3の全体的な構成の例を示す図である。図2は、画像処理装置1のハードウェア構成の例を示す図である。図3は、CPU10aの構成およびRAM10bの割当ての例を示す図である。図4は、画像処理装置1にインストールされるプログラムの例を示す図である。図5は、全体制御プログラム1PAによって実現される機能的構成の例を示す図である。図6は、実行待ちまたは実行中のジョブの遷移の例を示す図である。
画像処理システム3は、画像に関する種々の処理を実行するシステムであって、図1に示すように、画像処理装置1、サーバ21、端末装置22、および通信回線28などによって構成される。
サーバ21と端末装置22とは、通信回線28を介して通信を行うことができる。通信回線28として、公衆回線、いわゆるLAN(Local Area Network)回線、インターネット、または専用線などが用いられる。
画像処理装置1は、コピー、プリント、ファックス、およびスキャナなどの機能を集約した装置である。一般に、「画像形成装置」、「複合機」、または「MFP(Multi Function Peripheral)」などと呼ばれることがある。
画像処理装置1は、図2に示すように、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、大容量記憶装置10d、電源供給部10e、画像処理部10f、タッチパネルディスプレイ10g、操作キーパネル10h、UART(Universal Asynchronous Receiver Transmitter)10i、NIC(Network Interface Card)10j、ファックス通信ユニット10k、USB(Universal Serial Bus)通信部10m、スキャンユニット10n、およびプリントユニット10pなどによって構成される。
電源供給部10eは、画像処理装置1の各ハードウェアモジュールに対して電力を供給する。
画像処理部10fは、入力された画像または印刷の対象の画像に対して種々の画像処理を施す。
タッチパネルディスプレイ10gは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびCPU10aが実行した処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ10gは、タッチされた位置を示す信号をCPU10aへ送る。
操作キーパネル10hは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。
UART10iは、シリアル信号をパラレル信号に変換し、または、その逆方向に変換する。
NIC10jは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルでサーバ21または端末装置22との間で通信を行う。
ファックス通信ユニット10kは、モデムおよびNCU(Network Control Unit)などによって構成され、ファクシミリ端末との間でG3などのプロトコルでファックスデータをやり取りする。
USB通信部10mは、USBメモリまたは外付ハードディスクドライブなどの周辺機器とUSBケーブルを介して接続され、データのやり取りを行う。
スキャンユニット10nは、プラテンガラスの上にセットされた用紙に記されている画像を読み取って画像データを生成する。
プリントユニット10pは、スキャンユニット10nによって読み取られた画像のほか、NIC10j、ファックス通信ユニット10k、またはUSB通信部10mによって他の装置から取得した画像を用紙に印刷する。
CPU10aは、複数のコアを有するマルチコアCPUである。本実施形態では、CPU10aとして、図3に示すような、4つのコア1CRを有するクアッドコアが用いられる。以下、それぞれのコア1CRを「第一のコア1CR1」、「第二のコア1CR2」、…、「第四のコア1CR4」と区別して記載することがある。また、CPU10aは、SMP(Symmetric Multiprocessing)ではなくAMP(Asymmetric Multiprocessing)の方式で動作し、4つのコア1CRそれぞれが別々のプログラムを実行する。
ROM10cまたは大容量記憶装置10dには、全体制御プログラム1PA、ディスプレイ制御プログラム1PB、スキャナ制御プログラム1PC、プリンタ制御プログラム1PD、ファックス通信制御プログラム1PE、ストレージ制御プログラム1PF、IP通信制御プログラム1PG、およびUSB制御プログラム1PHなどのプログラムがインストールされている。
全体制御プログラム1PAは、画像処理装置1の全体的な制御、例えば、ジョブの実行に関する全体的な制御を行う。つまり、全体制御プログラム1PAは、MFP制御プログラムである。
つまり、ディスプレイ制御プログラム1PBは、画像が表示されるようにタッチパネルディスプレイ10gを制御するプログラムである。
スキャナ制御プログラム1PCは、用紙から画像を読み取るようにスキャンユニット10nを制御するプログラムである。
プリンタ制御プログラム1PDは、画像が用紙に印刷されるようにプリントユニット10pを制御するプログラムである。
ファックス通信制御プログラム1PEは、ファックスデータをファックス端末とやり取りするようにファックス通信ユニット10kを制御するプログラムである。
ストレージ制御プログラム1PFは、データを保存したり、読み出したり、更新したり、削除したりするように大容量記憶装置10dを制御するプログラムである。
IP通信制御プログラム1PGは、いわゆるIP通信を行うようにNIC10jを制御するプログラムである。
このように、ディスプレイ制御プログラム1PB、スキャナ制御プログラム1PC、およびプリンタ制御プログラム1PD、ファックス通信制御プログラム1PE、ストレージ制御プログラム1PF、IP通信制御プログラム1PG、およびUSB制御プログラム1PHは、ハードウェアを制御するためのドライバである。
そのほか、様々なドライバがROM10cまたは大容量記憶装置10dにインストールされている。また、ユーザ認証用のプログラムなどもインストールされている。
これらのプログラムは、必要に応じてRAM10bにロード(展開)される。そして、予め決められたいずれかのコア1CRによって実行される。
例えば、全体制御プログラム1PAが第一のコア1CR1によって実行され、ディスプレイ制御プログラム1PBが第三のコア1CR3によって実行され、スキャナ制御プログラム1PC、プリンタ制御プログラム1PD、ファックス通信制御プログラム1PE、ストレージ制御プログラム1PF、NIC制御プログラム1PG、およびUSB制御プログラム1PHが第四のコア1CR4によって実行される。
このように、RAM10bは、4つのコア1CRによって共有される。したがって、RAM10bは共有メモリであると言える。
ところで、一般に、MFPのメーカは、種々のプログラムを適宜、アップデートし、MFPへ適用する。画像処理装置1の各プログラムも同様に、適宜、アップデートされる。そして、画像処理装置1へ提供され適用される。
サーバ21は、上述の各プログラムの最新版を公開し、画像処理装置1からの要求に応じて配付する。サーバ21として、ウェブサーバが用いられる。
端末装置22は、画像処理装置1のサービスを受けるクライアントである。端末装置22として、パーソナルコンピュータ、スマートフォン、またはタブレットコンピュータなどが用いられる。
以下、全体制御プログラム1PAをアップデートして画像処理装置1へ適用する仕組みについて、説明する。
全体制御プログラム1PAによると、図5に示すジョブ制御部101および更新処理部102などの機能が実現される。
ジョブ制御部101は、外部からの入力に従ってジョブを生成し、キューに登録する。そして、登録順および各ハードウェアの稼働の状況などに応じて、各ドライバによって各ジョブを実行する。
例えば、ユーザが原稿の用紙をセットしコピーのコマンド(指令)を入力した場合は、コピージョブを生成し、キューに登録する。そして、このコピージョブの順番が訪れると、このコピージョブの実行を開始する。
具体的には、ジョブ制御部101は、この用紙から画像を読み取る処理を、スキャナ制御プログラム1PCによってスキャンユニット10nに実行させる。読み取られた画像の画像データを所定のフォーマットに変換して一時的にRAM10bに記憶させる。そして、この画像データに基づいてこの画像を印刷する処理を、プリンタ制御プログラム1PDによってプリントユニット10pに実行させる。
なお、スキャナ制御プログラム1PCおよびプリンタ制御プログラム1PDは、上述の通り、予め決められたコア1CRによって実行される。後述する各ドライバも、同様である。
または、ユーザが原稿の用紙をセットしスキャンのコマンドおよび保存先を入力した場合は、ジョブ制御部101は、スキャンジョブを生成し、キューに登録する。そして、このスキャンジョブの順番が訪れると、このスキャンジョブの実行を開始する。
具体的には、ジョブ制御部101は、この用紙から画像を読み取る処理を、スキャナ制御プログラム1PCによってスキャンユニット10nに実行させる。読み取られた画像の画像データを所定のフォーマットに変換して一時的にRAM10bに記憶させる。そして、この画像データをユーザが指定した保存先に保存する処理を実行させる。大容量記憶装置10dの中の特定のフォルダが保存先として指定された場合は、このフォルダにこの画像データを保存する処理をストレージ制御プログラム1PFによって大容量記憶装置10dに実行させる。または、画像処理装置1に繋げられたリムーバブルディスクの中の特定のフォルダが保存先として指定された場合は、このフォルダにこの画像データを保存する処理をUSB制御プログラム1PHによってUSB通信部10mに実行させる。または、通信回線28を介して画像処理装置1に接続される外部の装置の中の特定のフォルダが保存先として指定された場合は、このフォルダへこの画像データを送信する処理をIP通信制御プログラム1PGによってNIC10jに実行させる。
または、ユーザが原稿の用紙をセットしファックスによる送信のコマンドおよび電話番号を入力した場合は、ジョブ制御部101は、ファックス送信ジョブを生成し、キューに登録する。そして、このファックス送信ジョブの順番が訪れると、このファックス送信ジョブの実行を開始する。
具体的には、ジョブ制御部101は、この用紙から画像を読み取る処理を、スキャナ制御プログラム1PCによってスキャンユニット10nに実行させる。読み取られた画像の画像データを所定のフォーマットに変換して一時的にRAM10bに記憶させる。そして、ユーザが指定した電話番号にダイアルしてこの画像データを送信する処理をファックス通信制御プログラム1PEによってファックス通信ユニット10kに実行させる。
または、PDL(Page Description Language)で記述された印刷データおよびプリントのコマンドが端末装置22から送信されてきた場合は、ジョブ制御部101は、プリントジョブを生成し、キューに登録する。また、この印刷データをRAM10bに一時的に記憶させておく。そして、このプリントジョブの順番が訪れると、このプリントジョブの実行を開始する。
具体的には、ジョブ制御部101は、この印刷データに基づいて画像を印刷する処理を、プリンタ制御プログラム1PDによってプリントユニット10pに実行させる。
または、ファックスデータがファックス端末から送信されてきた場合は、ジョブ制御部101は、ファックス受信ジョブを生成し、キューに登録する。さらに、このファックスデータをRAM10bに一時的に記憶させておく。そして、このファックス受信ジョブの順番が訪れると、このファックス受信ジョブの実行を開始する。
具体的には、ジョブ制御部101は、このファックスデータに基づいて画像を印刷する処理を、プリンタ制御プログラム1PDによってプリントユニット10pに実行させる。
なお、大容量記憶装置10dが仮想メモリとして使用されるときは、上記の各データがRAM10bの代わりに大容量記憶装置10dに記憶される場合がある。この場合は、ストレージ制御プログラム1PFによって大容量記憶装置10dが制御される。
また、ハードウェアの稼働の状況によって、複数のジョブが並行して実行されることがある。例えば、コピージョブとスキャンジョブとが連続して並んでおり、コピージョブの開始後、原稿の画像の読取りのフェーズが終わったら、スキャンジョブが並行して実行される。
更新処理部102は、画像処理装置1において現在実行している全体制御プログラム1PAを、アップデートされたものに更新する処理を行う。
以下、画像処理装置1の全体制御プログラム1PAを、旧全体制御プログラム1PA1から新全体制御プログラム1PA2に切り換える場合を例に説明する。
旧全体制御プログラム1PA1は、第一のコア1CR1によって実行されている。他のプログラムは、第三のコア1CR3または第四のコア1CR4のいずれかによって実行されている。
第二のコア1CR2は、何もプログラムを実行しておらず、新全体制御プログラム1PA2を実行させるために待機させられている。
更新処理部102は、ダウンロード処理部121、新プログラム起動部122、切換可否判別部123、および待機解除指令部124などによって構成される。以下に説明する各部による処理は、適宜、各ドライバ(特に、ストレージ制御プログラム1PFおよびNIC制御プログラム1PG)に基づいて第三のコア1CR3または第四のコア1CR4と連携して実行される。
ダウンロード処理部121は、アップデートされた全体制御プログラム1PAがサーバ21において公開されているか否かを定期的にチェックし、公開されていれば、これをダウンロードする。ダウンロードされた全体制御プログラム1PA(本例では、新全体制御プログラム1PA2)は、ROM10cまたは大容量記憶装置10dに記憶される。
新プログラム起動部122は、新全体制御プログラム1PA2をRAM10bにロードし、第二のコア1CR2に実行させる。これにより、新全体制御プログラム1PA2が起動する。
新全体制御プログラム1PA2は、旧全体制御プログラム1PA1がアップデートされたものである。つまり、機能の向上またはバグの修正がなされている。よって、旧全体制御プログラム1PA1とは内容が異なる。しかし、基本的な役割は旧全体制御プログラム1PA1と同じであり、図5に示す通りである。
新全体制御プログラム1PA2は、起動後、ジョブの制御を開始するのを待機する。第二のコア1CR2は、第一のコア1CR1から待機の解除のコマンドを受け付けるまで待機する。
切換可否判別部123は、全体制御プログラム1PAを旧全体制御プログラム1PA1から新全体制御プログラム1PA2へ切り換えてよいか否かを次のように判別する。
切換可否判別部123は、ジョブ制御部101によって管理されるジョブごとの状況をチェックする。そして、実行中のジョブが1つもない状態であれば、切り換えてはいけないと判別する。
例えば、図6(A)に示すように、コピージョブを現在実行している最中である場合は、切換可否判別部123は、切り換えてはいけないと判別する。
その後、図6(B)に示すように、このコピージョブが完了するまでに、1つのファックス受信ジョブおよび2つのプリントジョブが新たに生成され、このファックス受信ジョブが並行して実行されている場合も、切換可否判別部123は、切り換えてはいけないと判別する。
そして、図6(C)に示すように、このコピージョブおよびこのファックス受信ジョブが完了した後、未実行のジョブがすべて待機している間、切換可否判別部123は、切り換えてもよいと判別する。
その後、図6(D)に示すように、いずれかのジョブが実行されている場合は、切換可否判別部123は、切り換えてはいけないと判別する。しかし、このジョブが完了した後、未実行のジョブがすべて待機している間、切換可否判別部123は、切り換えてもよいと判別する。
また、図6(E)に示すように、実行中のジョブも待機しているジョブも1つもない場合に、切換可否判別部123は、切り換えてもよいと判別する。
待機解除指令部124は、切り換えてもよいと切換可否判別部123によって判別されると、待機の解除のコマンドを第二のコア1CR2に対して与えるとともに、旧全体制御プログラム1PA1を終了させる。
なお、このコマンドはRAM10bを介してやり取りすればよい。すなわち、第一のコア1CR1は、RAM10bの特定のアドレスに特定の値を書き込む。そして、第二のコア1CR2は、新全体制御プログラム1PA2に基づいて、定期的にこのアドレスの値をチェックすることによって、このコマンドを検知する。後述する他のコマンドも同様に、2つのコア1CR間で、RAM10bを介してやり取りされる。RAM10bの代わりに大容量記憶装置10dに記憶されている特定のファイルを用いてもよい。
第二のコア1CR2は、このコマンドが与えられると、待機を止め、新全体制御プログラム1PA2に基づいて、ジョブ制御部101および更新処理部102を開始する。
キューの情報および待機中のジョブのデータが記憶される場所は、全体制御プログラム1PAの全バージョンで共通化されている。これにより、旧全体制御プログラム1PA1によるジョブ制御部101のキューを、新全体制御プログラム1PA2による更新処理部102へ引き継ぐことができる。
このようにして、ジョブ制御部101および更新処理部102が、旧全体制御プログラム1PA1および第一のコア1CR1から新全体制御プログラム1PA2および第二のコア1CR2へ引き継がれる。
図7は、全体制御プログラム1PAによる全体的な処理の流れの例を説明するフローチャートである。
次に、旧全体制御プログラム1PA1から新全体制御プログラム1PA2へ切り換える場合を例に、画像処理装置1における全体制御プログラム1PAを更新する際の全体的な処理の流れを、フローチャートを参照しながら説明する。
旧全体制御プログラム1PA1も新全体制御プログラム1PA2も、基本的な処理の流れは同じであり、図7に示す通りである。
画像処理装置1の電源がオンになりまたはリセットされると、第一のコア1CR1は、現時点で画像処理装置1にインストールされている全体制御プログラム1PAを起動する。ここでは、旧全体制御プログラム1PA1を起動する。そして、旧全体制御プログラム1PA1に基づいて、図7に示す手順で処理を実行する。
前に述べた通り、ジョブに関する処理は、待機の解除のコマンドがあるまで行われない。しかし、電源がオンになった場合およびリセットされた場合は(図7の#701でYes)、ステップ#702〜#703をスキップする。そして、ジョブの制御およびアップデートされた全体制御プログラム1PAの有無のチェックを行う(#704、#705)。ステップ#704のジョブの制御は、適宜、実行される。また、ステップ#704は、ジョブがその種類などに応じて実行されるように各ハードウェアを制御するサブルーチンである。ステップ#705の、アップデートされた全体制御プログラム1PAの有無のチェックは、定期的に実行される。
アップデートされた全体制御プログラム1PAが見つかったら(#706でYes)、第一のコア1CR1は、この全体制御プログラム1PA(本例では、新全体制御プログラム1PA2)をサーバ21からダウンロードする(#707)。そして、これをRAM10bにロードして第二のコア1CR2に実行させる(#708)。これにより、新全体制御プログラム1PA2が起動される。
すると、第二のコア1CR2が、新全体制御プログラム1PA2に基づいて、図7に示す手順で処理を実行する。これにより、バージョンの異なる2つの全体制御プログラム1PAが働く。
新全体制御プログラム1PA2の起動は電源がオンになったことにもリセットされたことにも起因していないので(#701でNo)、第二のコア1CR2は、第一のコア1CR1からの待機の解除のコマンドの検知を試みる(#702)。
第一のコア1CR1は、未だ完了していないジョブがある場合は(#709でYes)、第一のコア1CR1の制御の下で実行中であるジョブがなくなったら(#710でNo)、第二のコア1CR2へ待機の解除のコマンドを与えるとともに(#711)、旧全体制御プログラム1PA1を終了する。この際に、旧全体制御プログラム1PA1をアンインストールしてもよい。実行中のジョブも待機中のジョブも1つもない場合も(#709でNo)、同様である(#711)。
一方、第二のコア1CR2は、待機の解除のコマンドを検知すると(#703でYes)、ジョブの制御の処理を開始する(#704)。
このようにして、旧全体制御プログラム1PA1から新全体制御プログラム1PA2への切換えが完了する。
さらに、第二のコア1CR2は、アップデートされた全体制御プログラム1PAの有無のチェックの処理も開始する(#705)。
ステップ#704は、旧全体制御プログラム1PA1においては、本発明における第一のルーチンに相当し、新全体制御プログラム1PA2においては、第二のルーチンに相当する。
第一の実施形態によると、マルチコアのCPUをCPU10aとして採用する画像処理装置1において、CPU10aをAMPで動作させ、ある1つのコア1CRに全体制御プログラム1PAを実行させ、アップデートされた全体制御プログラム1PAを他の1つのコア1CRに実行させた。しかも、特定の処理のルーチン(ジョブの制御のルーチン)へ進む前に停止させ、古いほうの全体制御プログラム1PAによるジョブが完了しまたは停止したタイミングでこのルーチンを開始させるように、全体制御プログラム1PAを構成した。これにより、ダウンタイムの発生の防止を図り、ユーザの利便性を従来よりも確実に保って画像処理装置1の全体制御プログラム1PAを更新することができる。
〔第二の実施形態〕
図8は、全体制御プログラム1RAによって実現される機能的構成の例を示す図である。
画像処理装置1にインストールされている全体制御プログラムを更新した後、画像処理装置1に不具合が生じる場合がある。このような場合は、全体制御プログラムを古いバージョンに戻した方がよいことがある。第二の実施形態の全体制御プログラム1RAは、古いバージョンにリカバリ(復帰)させる機能を備えている。
以下、この機能を中心に、全体制御プログラム1RAについて説明する。第一の実施形態と重複する点については、説明を省略する。
画像処理システム3の全体的な構成は、第一の実施形態と同様であり、図1に示した通りである。画像処理装置1のハードウェアの構成も、第一の実施形態と同様であり、図2に示した通りである。
ただし、全体制御プログラム1PAの代わりに全体制御プログラム1RAが用いられる。全体制御プログラム1RAによると、図8に示すジョブ制御部151、更新処理部152、およびリカバリ処理部153などの機能が実現される。
ジョブ制御部151は、第一の実施形態のジョブ制御部101(図5参照)と同様に、外部からの入力に従ってジョブを生成し、キューに登録する。そして、登録順および各ハードウェアの稼働の状況などに応じて、各ドライバによって各ジョブを実行する。
ただし、第二の実施形態においては、この全体制御プログラム1RAは、新しい全体制御プログラム1RAに切り換わった後、終了するのではなく、リカバリのために常駐し続ける。このとき、ジョブ制御部151は、休止する。そして、後述する通り、新しい全体制御プログラム1RAを実行しているコア1CRからリカバリのコマンドが与えられたら、再び動作し始める。次に説明する更新処理部152およびリカバリ処理部153も同様である。
更新処理部152は、第一の実施形態の更新処理部102と同様に、現在実行している全体制御プログラム1RAを更新する処理を行う。
更新処理部152は、ダウンロード処理部161、新プログラム起動部162、切換可否判別部163、および待機解除指令部164などによって構成される。これらの役割は、第一の実施形態のダウンロード処理部121、新プログラム起動部122、切換可否判別部123、および待機解除指令部124と同様である。
リカバリ処理部153は、この全体制御プログラム1RAによるジョブの処理に不具合が生じた場合に、古い全体制御プログラム1RAへリカバリするための処理を行う。
リカバリ処理部153は、不具合検知部171、リカバリ指令部172、および旧プログラム起動部173などによって構成される。
不具合検知部171は、ジョブ制御部151が実行させているジョブの状況を監視することによって不具合を検知する。
リカバリ指令部172は、不具合検知部171によって不具合が検知されたら、1つ古いバージョンの全体制御プログラム1RAを実行しているコア1CRに対して、処理を再開するようにコマンドする。つまり、リカバリのコマンドを与える。
旧プログラム起動部173は、画像処理装置1の電源がオンになりまたはリセットされた場合に、1つ古いバージョンの全体制御プログラム1RAを起動し他のコア1CRに実行させる。
図9は、全体制御プログラム1RAによる全体的な処理の流れの例を説明するフローチャートである。図10は、通常モードの処理の流れの例を説明するフローチャートである。図11は、更新処理の流れの例を説明するフローチャートである。図12は、リカバリモードの処理の流れの例を説明するフローチャートである。
次に、旧全体制御プログラム1RA1を新全体制御プログラム1RA2へ切り換える場合を例に、画像処理装置1における全体制御プログラム1RAを更新する際の処理の流れを、フローチャートを参照しながら説明する。
旧全体制御プログラム1RA1は、初版であり、新全体制御プログラム1RA2はその次のバージョンである。最初は、旧全体制御プログラム1RA1のみが画像処理装置1にインストールされている。
旧全体制御プログラム1RA1も新全体制御プログラム1RA2も、全体的な処理の流れは同じであり、図9に示す通りである。
<1> 未アップデート時における電源オンまたはリセットに伴う処理
画像処理装置1の電源がオンになりまたはリセットされると、第一のコア1CR1は、この時点で画像処理装置1にインストールされている最新の全体制御プログラム1RAを起動する。ここでは、旧全体制御プログラム1RA1を起動する。そして、旧全体制御プログラム1RA1に基づいて、図9に示す手順で処理を実行する。
この時点では、旧全体制御プログラム1RA1は画像処理装置1にインストールされている古いバージョンではなく(図9の#721でNo)、かつ、今回の起動は電源のオンまたはリセットに伴うものなので(#722でYes)、第一のコア1CR1は、旧全体制御プログラム1RA1に基づいて通常モードのルーチンに進み、適宜、通常モードの処理を行う(#725)。
なお、旧全体制御プログラム1RA1よりも古いバージョンの全体制御プログラム1RAがないので(#723でNo)、ステップ#724の処理はスキップされる。古いバージョンの全体制御プログラム1RAがある場合は、後述するように、第一のコア1CR1は、通常モードへ進むのと前後してまたは並行してステップ#724の処理を実行する。
通常モードの処理の手順は、図10に示す通りである。第一のコア1CR1は、第一の実施形態と同様に、ジョブの制御およびアップデートされた全体制御プログラム1RAの有無のチェックを行う(図10の#741、#746)。ステップ#741は、第一の実施形態のステップ#704と同様、ジョブがその種類などに応じて実行されるように各ハードウェアを制御するサブルーチンである。
ステップ#741によるジョブが正常に終了しなかった場合つまりジョブに異常があった場合は(#742でYes、#743でYes)、古いバージョンの全体制御プログラム1RAが画像処理装置1にインストールされていれば、ステップ#745において、この全体制御プログラム1RAへの切換えを行う。つまり、古い全体制御プログラム1RAへのリカバリを行う。しかし、この時点では、この全体制御プログラム1RAがインストールされていないので(#744でNo)、リカバリをスキップする。リカバリについては、後述する。
アップデートされた全体制御プログラム1RA(本例では、新全体制御プログラム1RA2)が見つかったら(#747でYes)、第一のコア1CR1は、画像処理装置1の全体制御プログラム1RAを更新する処理、つまり、旧全体制御プログラム1RA1から新全体制御プログラム1RA2への切換えを行う(#748)。この処理の手順は、図11に示す通りである。
旧全体制御プログラム1RA1から新全体制御プログラム1RA2への切換えは、基本的に第一の実施形態と同様である。
すなわち、第一のコア1CR1は、新全体制御プログラム1RA2をサーバ21からダウンロードし(図11の#761)、これをRAM10bにロードして第二のコア1CR2に実行させる(#762)。これにより、新全体制御プログラム1RA2が起動される。しかし、この時点では、第二のコア1CR2によるジョブの制御は開始されない。新全体制御プログラム1RA2は、ROM10cまたは大容量記憶装置10dに記憶(インストール)される。
未だ完了していなジョブがある場合は(#763でYes)、第一のコア1CR1の制御の下で実行中であるジョブがなくなったら(#764でNo)、第一のコア1CR1は、第二のコア1CR2へ待機の解除のコマンドを与える(#765)。実行中のジョブも待機中のジョブも1つもない場合も(#763でNo)、同様である(#765)。
第一の実施形態では、第一のコア1CR1は、古いほうの全体制御プログラムを終了させたが、第二の実施形態では、終了させない。第一のコア1CR1は、リカバリモードのルーチンへ進み、リカバリモードの処理を実行する(#766)。この処理の手順は、図12に示す通りである。
第一のコア1CR1は、新しい全体制御プログラム1RA(本例では、新全体制御プログラム1RA2)を実行するコア1CR(本例では、第二のコア1CR2)からのリカバリのコマンドが与えられるのを待つ(図12の#771)。
リカバリのコマンドが与えられたら(#772でYes)、第一のコア1CR1は、通常モードへ再び進む(#773)。つまり、ジョブの制御などを開始する。通常モードの処理の手順は、前に図10で説明した通りである。
<2> 新しい全体制御プログラム1RAによる処理
新全体制御プログラム1RA2は、上述の通り、第一のコア1CR1および旧全体制御プログラム1RA1によってダウンロードされRAM10bにロードされると、第二のコア1CR2によって実行される。
すると、第二のコア1CR2は、新全体制御プログラム1RA2に基づいて、図9に示す手順で処理を実行する。
新全体制御プログラム1RA2は画像処理装置1にインストールされている全体制御プログラム1RAのうち新しい全体制御プログラム1RAであり(図9の#721でNo)、今回の起動は電源のオンに伴うものでもリセットに伴うものでないので(#722でNo)、第二のコア1CR2は、待機の解除のコマンドが第一のコア1CR1から与えられるのを待つ(#726)。
そして、待機の解除のコマンドが与えられたら(#727でYes)、通常モードへ進み、ジョブの制御などを開始する(#728)。通常モードの処理の手順は、前に図10で説明した通りである。
すなわち、第二のコア1CR2は、上述の通り、ジョブの制御およびアップデートされた全体制御プログラム1RAの有無のチェックを行う(図10の#741、#747)。
ステップ#741によるジョブが正常に終了しなかった場合つまりジョブに異常があった場合は(#742でYes、#743でYes)、上述の通り、古いバージョンの全体制御プログラム1RAが画像処理装置1にインストールされていれば、第二のコア1CR2は、リカバリを行う。本例では、旧全体制御プログラム1RA1がインストールされているので(#744でYes)、旧全体制御プログラム1RA1のリカバリを行う(#745)。具体的には、旧全体制御プログラム1RA1を実行するコア1CRに対してリカバリのコマンドを与える。
なお、旧全体制御プログラム1RA1による処理は、リカバリモードのステップ#771(図12参照)でリカバリのコマンドを待っている状態である。そして、このコマンドに従って、通常モードへ再び進み、旧全体制御プログラム1RA1による通常モードの処理(#773)が再開される。
旧全体制御プログラム1RA1による通常モードの処理が再開された後、第二のコア1CR2は、新全体制御プログラム1RA2を終了する。
<3> アップデート後における電源オンまたはリセットに伴う処理
アップデートされた全体制御プログラム1RAがインストールされ適用された後も、古いバージョンの全体制御プログラム1RAは、アンインストールされず、画像処理装置1に残る。
画像処理装置1の電源がオフにされた後、再びオンにされると、または、リセットされると、これらの2つの全体制御プログラム1RAの両方が次のように起動される。この際に、図9に示した手順の処理がそれぞれ独立して実行される。以下、旧全体制御プログラム1RA1および新全体制御プログラム1RA2を起動する場合を例に説明する。
画像処理装置1のオペレーティングシステムが起動する際に、新しいほうの全体制御プログラム1RAつまり新全体制御プログラム1RA2がRAM10bにロードされる。そして、第一のコア1CR1によって実行される。
新全体制御プログラム1RA2は画像処理装置1にインストールされている古いバージョンではなく(図9の#721でNo)、今回の起動は電源のオンまたはリセットに伴うものであり(#722でYes)、かつ古いバージョンの全体制御プログラム1RA(本例では、旧全体制御プログラム1RA1)があるので(#723でYes)、第一のコア1CR1は、旧全体制御プログラム1RA1をRAM10bにロードし、第二のコア1CR2に実行させる(#724)。これにより、旧全体制御プログラム1RA1が起動される。
旧全体制御プログラム1RA1の起動と前後してまたは並行して、第一のコア1CR1は、通常モードの処理を開始する(#725)。通常モードの処理の手順は、図10に示した通りである。
一方、第二のコア1CR2は、旧全体制御プログラム1RA1に従って図9に示す手順で処理を実行する。旧全体制御プログラム1RA1は古いほうの全体制御プログラム1RAなので(#721でYes)、リカバリモードへ進む(#729)。リカバリモードの処理の手順は、前に図12で説明した通りである。これにより、第二のコア1CR2は、リカバリに備える。
その後、第一のコア1CR1および新全体制御プログラム1RA2によるジョブに不具合が生じたら、ジョブの制御などが第二のコア1CR2および旧全体制御プログラム1RA1へ切り換えられる。つまり、旧全体制御プログラム1RA1がリカバリされる。
ステップ#741は、旧全体制御プログラム1RA1においては、本発明における第一のルーチンに相当し、新全体制御プログラム1RA2においては、第二のルーチンに相当する。
第二の実施形態によると、第一の実施形態と同様に、ダウンタイムの発生の防止を図り、ユーザの利便性を従来よりも確実に保って画像処理装置1の全体制御プログラム1PAを更新することができる。
さらに、第二の実施形態によると、更新後にジョブに不具合が発生した場合に、サービスエンジニアの作業を伴うことなく古いバージョンにリカバリして、画像処理装置1の安定的な運用を図ることができる。
図13は、CPU10aの構成の変形例を示す図である。第一の実施形態および第二の実施形態では、4つのコア1CRそれぞれが別々のプログラムを実行するようにCPU10aを構成したが、1つまたは複数のコア1CRによってユニットを構成し、ユニットごとに別々のプログラムを実行するようにCPU10aを構成してもよい。
例えば、図13(A)に示すように、第一のコア1CR1および第二のコア1CR2によって処理ユニット1U1を構成し、第三のコア1CR3および第四のコア1CR4によって処理ユニット1U2を構成してもよい。この場合は、一方の処理ユニットに旧全体制御プログラム1PA1または1RA1を実行させ、他方の処理ユニットに新全体制御プログラム1PA2または1RA2を実行させればよい。
または、図13(B)に示すように、第一のコア1CR1によって処理ユニット1U3を構成し、第二のコア1CR2によって処理ユニット1U4を構成し、第三のコア1CR3および第四のコア1CR4によって処理ユニット1U5を構成してもよい。この場合は、3つの処理ユニットのうちのいずれか1つに旧全体制御プログラム1PA1または1RA1を実行させ、他のいずれか1つに新全体制御プログラム1PA2または1RA2を実行させればよい。
第一の実施形態および第二の実施形態では、4つのコア1CRからなるマルチコアプロセッサをCPU10aとして用いたが、他の個数(例えば、2つ、6つ、または8つなど)のコア1CRからなるマルチコアプロセッサを用いてもよい。
第一の実施形態および第二の実施形態では、新全体制御プログラム1PA2または1RA2を、空いているコア1CRに実行させたが、旧全体制御プログラム1PA1または1RA1を実行していないコア1CRであれば、他のプログラムを実行しているコア1CRに新全体制御プログラム1PA2または1RA2を実行させてもよい。
第一の実施形態および第二の実施形態では、全体制御プログラム1PA、1RAを更新する場合を例に説明したが、ジョブの制御以外のファームウェアのほかアプリケーションプログラムなどを更新する場合にも本発明を適用することができる。
第一の実施形態および第二の実施形態では、新全体制御プログラム1PA2、1RA2をサーバ21からダウンロードすることによって取得したが、USB通信部10mを介して記録媒体から読み取ることによって取得してもよい。
その他、画像処理システム3、画像処理装置1の全体または各部の構成、処理内容、処理順序、データベースの構成などは、本発明の趣旨に沿って適宜変更することができる。
1 画像処理装置
10a CPU(プロセッサ)
10b RAM(メモリ)
1CR コア
1CR1 第一のコア(第一の処理ユニット)
1CR2 第二のコア(第二の処理ユニット)
1PA1、1RA1 旧全体制御プログラム(第一のプログラム)
1RA2、1RA2 新全体制御プログラム(第二のプログラム)
1U1、1U3 処理ユニット(第一の処理ユニット)
1U2、1U4 処理ユニット(第二の処理ユニット)

Claims (4)

  1. 1つまたは複数のコアをそれぞれに含む第一の処理ユニットおよび第二の処理ユニットを有しかつ当該第一の処理ユニットおよび当該第二の処理ユニットそれぞれが異なるプログラムを実行するように構成されたプロセッサと、
    前記第一の処理ユニットおよび前記第二の処理ユニットによって共有され、特定の処理を行うための第一のルーチンが記述された第一のプログラムが記憶されるメモリと、
    を有し、
    前記第一の処理ユニットは、前記第一のプログラムを実行し、
    前記メモリは、前記第一のプログラムのアップデート版であって前記特定の処理を行うための第二のルーチンが記述された第二のプログラムを記憶し、
    前記第二の処理ユニットは、前記第二のプログラムを実行し始めた後、前記第二のルーチンへ進むのを待機し、前記第一の処理ユニットが前記特定の処理を完了しまたは停止した後、前記第二のルーチンへ進み、
    前記第一の処理ユニットは、前記第二の処理ユニットが前記第二のルーチンへ進んだ後、前記第一のルーチンから抜け、前記第一のルーチンへ再び進むのを待機し、前記第二の処理ユニットが前記特定の処理を正常に行えなかった場合に、前記第一のルーチンへ再び進む、
    ことを特徴とする画像処理装置。
  2. 前記特定の処理は、画像の入出力を伴うジョブを制御する処理である、
    請求項1に記載の画像処理装置。
  3. 1つまたは複数のコアをそれぞれに含む第一の処理ユニットおよび第二の処理ユニットを有しかつ当該第一の処理ユニットおよび当該第二の処理ユニットそれぞれが異なるプログラムを実行するように構成されたプロセッサと、前記第一の処理ユニットおよび前記第二の処理ユニットによって共有されかつ特定の処理を行うための第一のルーチンが記述された第一のプログラムが記憶されるメモリと、を有する画像処理装置において、当該第一のプログラムを更新するプログラム更新方法であって、
    前記第一の処理ユニットが前記第一のプログラムを実行している際に、前記第一のプログラムのアップデート版でありかつ前記特定の処理を行うための第二のルーチンが記述された第二のプログラムを前記メモリに記憶させ、
    前記第二のプログラムを実行し始めた後、前記第二のルーチンへ進むのを前記第二の処理ユニットに待機させ、
    前記第一の処理ユニットが前記特定の処理を完了しまたは停止した後、前記第二の処理ユニットを前記第二のルーチンへ進ませ、
    前記第二の処理ユニットが前記第二のルーチンへ進んだ後、前記第一の処理ユニットを前記第一のルーチンから抜けさせて、さらに、前記第一のルーチンへ再び進むのを当該第一の処理ユニットに待機させ、
    前記第二の処理ユニットが前記特定の処理を正常に行えなかった場合に、前記第一の処理ユニットを、前記第一のルーチンへ再び進ませる、
    ことを特徴とするプログラム更新方法。
  4. 1つまたは複数のコアをそれぞれに含む第一の処理ユニットおよび第二の処理ユニットを有しかつ当該第一の処理ユニットおよび当該第二の処理ユニットそれぞれが共通のメモリを用いて異なるプログラムを実行するように構成されたプロセッサに、特定の処理を実行させるための特定処理プログラムであって、
    前記第二の処理ユニットが当該特定処理プログラムを実行し始めた後、当該特定処理プログラムよりもバージョンが古い第二の特定処理プログラムが前記第一の処理ユニットによって実行されている場合に、前記特定の処理のルーチンへ進むのを前記第二の処理ユニットに待機させ、
    前記第一の処理ユニットが前記特定の処理を完了しまたは停止した後、前記第二の処理ユニットを前記ルーチンへ進ませ、
    前記第二の処理ユニットが前記特定の処理のルーチンへ進んだ後、前記第一の処理ユニットを前記特定の処理のルーチンから抜けさせて、さらに、前記特定の処理のルーチンへ再び進むのを当該第一の処理ユニットに待機させ、
    前記第二の処理ユニットが前記特定の処理を正常に行えなかった場合に、前記第一の処理ユニットを、前記特定の処理のルーチンへ再び進ませる、
    ことを特徴とする特定処理プログラム。
JP2014215960A 2014-10-23 2014-10-23 画像処理装置、プログラム更新方法、およびコンピュータプログラム Active JP6464657B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014215960A JP6464657B2 (ja) 2014-10-23 2014-10-23 画像処理装置、プログラム更新方法、およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014215960A JP6464657B2 (ja) 2014-10-23 2014-10-23 画像処理装置、プログラム更新方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2016085499A JP2016085499A (ja) 2016-05-19
JP6464657B2 true JP6464657B2 (ja) 2019-02-06

Family

ID=55973705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014215960A Active JP6464657B2 (ja) 2014-10-23 2014-10-23 画像処理装置、プログラム更新方法、およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6464657B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06311199A (ja) * 1993-04-26 1994-11-04 Nippon Telegr & Teleph Corp <Ntt> 無中断通信制御ソフトウェア変更方法
JPH117382A (ja) * 1997-06-18 1999-01-12 Fujitsu Ltd ファームウェアのバージョンアップ方法
JP5293752B2 (ja) * 2011-01-14 2013-09-18 日本電気株式会社 制御装置、及びファームウェア更新方法とそのプログラム

Also Published As

Publication number Publication date
JP2016085499A (ja) 2016-05-19

Similar Documents

Publication Publication Date Title
CN102023826B (zh) 打印系统、打印设备、程序以及存储介质
JP5232427B2 (ja) 情報処理システム及びファームウェアの設定変更方法
JP6272117B2 (ja) 印刷システム、印刷サーバー及び印刷制御方法とプログラム
US10970023B2 (en) Printing system for directly transmitting a print job to printer when a server is unavailable and printer driver program
JP2019005969A (ja) 印刷システムおよびプログラム
JP7206106B2 (ja) 情報処理装置及びプログラム
US9262102B2 (en) Image forming systems, and methods of using same
JP2014115776A (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP5679714B2 (ja) 画像形成装置
JP5857589B2 (ja) 印刷装置及び印刷システム
JP5984326B2 (ja) 情報処理装置、プログラムの更新方法及びプログラム
JP6264575B2 (ja) ジョブ処理装置管理サーバプログラム
JP6464657B2 (ja) 画像処理装置、プログラム更新方法、およびコンピュータプログラム
JP2012006176A (ja) 情報処理装置および画像形成装置
JP6123109B2 (ja) 画像形成装置
JP5779905B2 (ja) 画像処理装置、画像処理システム、及び画像処理プログラム
JP6572683B2 (ja) スキャナ、スキャナの制御プログラム、および通信システム
JP6794852B2 (ja) 画像処理装置、省電力方法、およびコンピュータプログラム
JP2021043547A (ja) 情報処理装置および情報処理装置の制御方法ならびにプログラム
JP5515642B2 (ja) 印刷装置とプログラムとサーバ装置
JP4378338B2 (ja) 情報処理装置、デバイス設定方法、記憶媒体、プログラム
JP6150048B2 (ja) 画像形成システムおよび画像形成システムの診断方法
JP7424457B2 (ja) 画像形成装置及びプログラム
JP6164823B2 (ja) 印刷装置
JP5928874B2 (ja) 画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180808

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20181011

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181224

R150 Certificate of patent or registration of utility model

Ref document number: 6464657

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150