JP2012160112A - 情報処理装置及びその制御方法 - Google Patents

情報処理装置及びその制御方法 Download PDF

Info

Publication number
JP2012160112A
JP2012160112A JP2011020752A JP2011020752A JP2012160112A JP 2012160112 A JP2012160112 A JP 2012160112A JP 2011020752 A JP2011020752 A JP 2011020752A JP 2011020752 A JP2011020752 A JP 2011020752A JP 2012160112 A JP2012160112 A JP 2012160112A
Authority
JP
Japan
Prior art keywords
program
update
cpu
information processing
unit
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.)
Withdrawn
Application number
JP2011020752A
Other languages
English (en)
Inventor
Koji Niwa
広次 丹羽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2011020752A priority Critical patent/JP2012160112A/ja
Publication of JP2012160112A publication Critical patent/JP2012160112A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】情報処理装置が実行する複数のプログラムの更新時に、更新前のファーム退避を行うと処理時間が増加するという問題があった。
【解決手段】情報処理装置100が実行する複数のプログラムの更新時のファーム退避手段をスキップするかどうか決定する選択手段と、前記選択手段に従って前記退避処理を行わないスキップ手段を有し、プログラムの更新にかかる処理時間を短縮するようにする情報処理装置及びその制御方法を提供する。
【選択図】図3

Description

本発明は、情報処理装置及びその制御方法に関する。
従来から、画像形成装置等の情報処理装置が実行するプログラムを更新する技術が知られている。
そして、プログラムの更新処理が完了しなかった場合や更新されたプログラム自体に問題がある場合に備え、更新前のプログラムを予め退避させておき、更新処理が完了しなかった場合に退避させたプログラムにより復元を行う技術が知られている。
また、情報処理装置の所定の場所にプログラムのバックアップファイルを持ち、情報処理装置が実行する複数のプログラムを更新する際に、バックアップファイルも更新する技術が知られている(特許文献1)。
特開2010−39512号公報
特許文献1では、情報処理装置が実行する複数のプログラムのバックアップファイルをつねに保持し、情報処理装置の設定やプログラムの更新をバックアップファイルにも適用しているものである。つまり、特許文献1ではプログラムの更新にバックアップファイルの更新が付随し、処理時間が増加するという問題があった。
そこで、上記の点に鑑み、本発明は、プログラムの更新時にバックアップ処理を行うかどうか選択できるようにする。行わない場合はバックアップ処理をスキップしてプログラムの更新を行うことにより、プログラムの更新にかかる処理時間を短縮するようにする情報処理装置及びその制御方法を提供することを目的とする。
上記課題を解決するため、本発明に係る情報処理装置100は、情報処理装置であって、第1プログラム及び第2プログラムを記憶する記憶手段と、前記第1プログラムを実行する第1制御手段と、前記第2プログラムを実行する第2制御手段と、前記第1プログラム及び前記第2プログラムを更新するための更新情報を受信する受信手段と、前記受信手段により受信された前記更新情報に基づいて、前記記憶手段に記憶された前記第1プログラム及び前記第2プログラムを更新する更新手段と、前記更新手段による更新の前に、前記記憶手段に記憶された前記第1プログラム及び前記第2プログラムを退避情報として退避させる退避手段と、前記退避手段をスキップするかどうか決定する選択手段と、前記選択手段に従って退避処理を行わないスキップ手段と、を備えることを特徴とする。
本発明によれば、情報処理装置が実行する複数のプログラムの更新にあたって、プログラムの更新時にバックアップ処理を行うかどうか選択でき、プログラムの更新にかかる処理時間を短縮するようにする情報処理装置及びその制御方法を提供することができる。
情報処理装置100の構成を示すブロック図である。 制御部200のCPU210により実行されるプログラムの構成を示す図である。 メインパーティション401のプログラムを通常起動モードにて実行した場合の処理を示すフローチャートである。 サブパーティション402のプログラムを実行した場合の処理を示すフローチャートである。 メインパーティション401のプログラムをアップデートモードにて実行した場合の処理を示すフローチャートである。
以下に、本発明を実施するための形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。また、初めに本実施例に必要となる構成ブロックについて説明し、次に、処理の詳細について説明する。
[第1の実施例]
図1は、情報処理装置100の構成を示すブロック図である。図1において、制御部200は、情報処理装置100全体を制御するための構成である。制御部200は、情報処理装置100を制御するための構成として、以下に示すものを含む。CPU210は、FlashROM211に記憶された制御部200用のプログラム(第1プログラム)をRAM212に読出して実行する。
ハードディスクドライブ(HDD)213は、ネットワークI/F218を介してPC226から受信した印刷データを記憶する。なお、CPU210により実行されるプログラムには、後述するプリント用アプリケーションプログラムが含まれる。そして、このプリント用アプリケーションプログラムにより、HDD213に記憶された印刷データがプリンタ部220によるプリントが可能な画像データに変換される。そして、HDD213には、プリンタ部220によるプリントが可能な画像データも記憶される。
また、CPU210により実行されるプログラムには、後述するスキャン用アプリケーションプログラムが含まれる。そして、このスキャン用アプリケーションプログラムにより、スキャナ部221により画像データが読み取られるとともに、読み取られた画像データがHDD213に転送される。そして、HDD213には、読み取られた画像データが記憶される。SRAM227は、情報処理装置100が起動する際に、後述するメインパーティションとサブパーティションのいずれのプログラムで起動をするべきかを示す情報が記憶される。
なお、メインパーティションにより起動するべきことを示す情報が記憶される場合は、後述する通常起動モードとサブパーティションのプログラムをアップデートするためのアップデートモードのいずれで起動するべきかを示す情報が更に記憶される。
操作部I/F214は、操作部219を介して情報処理装置100の操作者により入力される指示をCPU210に伝達するためのI/Fである。また、操作部I/F214は、操作部219に表示される内容を切替えるためのCPU210から受信して操作部219に伝達する。
プリンタI/F215は、制御部200とプリンタ部220及びフィニッシャ部222を接続するためのインターフェースである。ここで、プリンタ部220は、プリンタI/F215を介してHDD213から転送される画像データに基づいてシート上にプリントを行う。なお、プリンタ部220(プリント手段)は、CPU220aとFlashROM220bを有する。CPU220aは、FlashROM220bに記憶されたプログラム(第2プログラム)を実行することにより、プリント処理に伴う各種の動作をプリンタ部220に実行させる。
また、フィニッシャ部222は、プリンタ部220によりプリントが行われたシートに対して各種のフィニッシング処理を行うものである。フィニッシング処理とは、例えば、シートに対するステイプル処理、シートへのパンチ処理(穿孔処理)等である。なお、フィニッシャ部222は、CPU222aとFlashROM222bを有する。CPU222aは、FlashROM222bに記憶されたプログラム(第2プログラム)を実行することにより、フィニッシング処理に伴う各種の動作をフィニッシャ部222に実行させる。
スキャナI/F216は、制御部200とスキャナ部221を接続するためのインターフェースである。ここで、スキャナ部220(画像データを入力する入力手段)は、原稿上の画像をCCD(ChargeCoupledDevice)等により構成されるラインセンサを用いて画像データとして読み取るものである。
そして、スキャナ部220は、読み取った画像データをスキャナI/F216を介してHDD213へ転送する。HDD213へ転送され、記憶された画像データは、前述したプリント部220によりプリントすることが可能である。スキャナ部221により読み取った画像データをプリント部220によりプリントする。
これにより、複写(コピー)処理が可能となる。なお、スキャナ部221は、CPU221aとFlashROM221bを有する。CPU221aは、FlashROM221bに記憶されたプログラム(第2プログラム)を実行することにより、スキャン処理に伴う各種の動作をスキャナ部221に実行させる。
USB−HostI/F217は、外部USBデバイス224とも接続可能である。外部USBデバイス224は、USBメモリやUSBキーボードなどが例として挙げられる。USBメモリにプログラム(更新情報)を格納し、ダウンロードしてFlashROM211のファイル格納領域に置くケースもある。
ネットワークI/F218は、制御部200をLAN110に接続し、LAN110上のPC226やサーバ装置225との通信を行う。なお、サーバ装置225は、後述する各種のプログラム(情報処理装置100により実行されるもの)をアップデート(更新)するための更新情報が記憶されており、情報処理装置100からの要求に応じて、更新情報を情報処理装置100へ送信する。
次に、制御部200のCPU210(第1制御手段)により実行されるプログラムの構成について図2を用いて説明する。なお、図2に示されるプログラムは、図1のFlashROM211に記憶されているものとする。
FlashROM211に記憶されるプログラムは、FlashROM211上の2つのパーティションに分けて格納されている。1つはメインパーティション401であり、もう1つはサブパーティション402である。情報処理装置100に通常の動作をさせる際には、メインパーティションに格納されたオペレーティングシステムプログラム(以下、OS)をCPU210に実行させる。その一方で、情報処理装置100の通常の動作をさせるためのプログラム(後述するメインモジュール410)を更新する際には、サブパーティションに格納されたOSをCPU210に実行させる。
メインパーティション401には、OS411、メインモジュール410及びアップデートモジュール420の3つのプログラムモジュールが含まれている。OS411は、情報処理装置100を制御するためのOSであり、プリンタ部220、スキャナ部221、フィニッシャ部222、USB−FAX部223を含む情報処理装置100の各部の動作を制御するためのドライバプログラムを含むものである。
また、サブパーティション402には、OS431及びアップデートモジュール430の2つのプログラムモジュールが含まれている。OS431は、情報処理装置100を制御するためのOSであり、プリンタ部220、スキャナ部221、フィニッシャ部222、USB−FAX部223を含む情報処理装置100の各部の動作を制御するためのドライバプログラムを含むものである。なお、OS431は、前述したOS411と同様のものである。
メインパーティション401に、OS411以外に2つのモジュールが格納されているのは、各モジュールを情報処理装置100の起動モードに応じて選択的に実行するためである。具体的には、情報処理装置100に通常の動作をさせるための通常起動モードにおいて、CPU210はOS411を実行するとともに、メインモジュール410に含まれる各プログラムを実行する。
そして、この通常起動モードにおいて、CPU210は、アップデートモジュール420に含まれるプログラムを実行しない。また、サブパーティション402に格納されたプログラムを更新するアップデートモードにおいて、CPU210はOS411を実行するとともに、アップデートモジュール420に含まれるプログラムを実行する。そして、このアップデートモードにおいて、CPU210は、メインモジュール410に含まれる各プログラムを実行しない。
ここで、メインパーティション401のメインモジュール410に含まれる各プログラムモジュールについて説明する。なお、各プログラムモジュールは、OS411が起動した後に、OS411により実行されるアプリケーションプログラムである。
メインモジュール410に含まれる操作部アプリケーションプログラム412は、操作部219を介して情報処理装置100の操作者により入力される指示をCPU210に伝達し、伝達された指示に応じた処理を実行するためのプログラムである。また、スキャンアプリケーションプログラム413は、前述したスキャナ部221によるスキャン処理を制御するためのプログラムである。
また、プリントアプリケーションプログラム414は、前述したプリンタ部220によるプリント処理を制御するためのプログラムである。ネットワークアプリケーションプログラム415は、LAN110上のPC226やサーバ装置225との通信を行うためのプログラムである。アップデート準備プログラム416は、通常起動モードで動作中の情報処理装置100が、プログラムのアップデートを実行するための準備動作を実行するためのプログラムである。
アップデートモジュール420に含まれるサブパーティションアップデート421は、サブパーティション402に含まれるアップデートモジュール430及びOS431をアップデートするためのプログラムである。
次に、サブパーティション402のアップデートモジュール430に含まれる各プログラムモジュールについて説明する。なお、各プログラムモジュールは、OS411が起動した後に、OS411により実行されるアプリケーションプログラムである。
メインパーティションアップデートプログラム432は、メインパーティション401に含まれるメインモジュール410、アップデートモジュール420及びOS411をアップデートするためのプログラム(第1更新プログラム)である。
処理部アップデートプログラム433(第2更新プログラム)は、FlashROM220bに含まれるプリント処理を実行するためのプログラム、FlashROM221bに含まれるスキャン処理を実行するためのプログラムを更新するためのプログラムである。また、処理部アップデートプログラム433は、FlashROM222bに含まれるフィニッシング処理を実行するためのプログラムでもある。
次に、第1の実施例におけるプログラムの更新処理について図3〜図5を用いて説明する。図3は、メインパーティション401のプログラムを通常起動モードにて実行した場合の処理を示すフローチャートである。図4は、サブパーティション402のプログラムを実行した場合の処理を示すフローチャートである。図5は、メインパーティション401のプログラムをアップデートモードにて実行した場合の処理を示すフローチャートである。
なお、図3〜5の各ステップにおける処理は、制御部200のCPU210がFlashROM211に記憶されたプログラムを実行することにより行われる。
次に、図3を用いて、メインパーティション401のプログラムを通常起動モードにて実行した場合の処理を説明する。ステップS301で、CPU210は、情報処理装置100を通常起動モードにて起動させる。具体的には、CPU210がOS411を起動させ、起動したOS411によりメインモジュール410に含まれる各プログラムモジュールを実行する。
ステップS302で、CPU210は、情報処理装置100のプログラムを更新するための更新処理の実行指示がなされたかどうかを判定し、なされたと判定された場合はステップS303へ処理を進める。ここで、更新処理の実行指示とは、例えば、情報処理装置100の操作者が操作部219を介してなされる指示を言う。また、一定期間(例えば、2週間)毎にプログラムを定期的に更新するようにスケジュールを予め設定しておき、定期的に更新処理の実行指示が自動的になされるようにしても良い。
ステップS303で、CPU210は、情報処理装置100のプログラムを更新する際にファーム退避処理をスキップする指示がなされたかどうかを判定する。指示がなされたと判定された場合はステップS304へ処理を進め、そうでない場合はステップS305へ処理を進める。ここで、プログラムを更新する際にファーム退避処理をスキップする指示とは、例えば情報処理装置100の操作者が操作部219を介してなされる指示を言う。
ステップS304で、CPU210は、プログラムを更新する際にファーム退避処理をスキップされるべきであることを示す情報をSRAM227に記憶させる。
ステップS305で、CPU210は、OS411を介してアップデート準備プログラム416を実行することにより、FlashROM211、FlashROM220b〜222bに記憶された各プログラムのうち、更新候補となるプログラムを特定する。例えば、各プログラムを指定するための表示画面を操作部219に表示させ、操作部219を介して操作者により指示されたプログラムを更新候補として特定する。なお、操作者による指示に基づくことなく、更新候補となり得る全てのプログラムを更新候補として特定しても良い。
ステップS306で、CPU210は、アップデート準備プログラム416を実行し、情報処理装置100を特定するための機種ID情報とバージョン情報の取得要求をサーバ装置に送信する。そして、情報処理装置100は、サーバ装置225により管理されるバージョン情報を取得する。
ここでバージョン情報とは、前述したメインモジュール410に含まれる各プログラムモジュールのバージョンを示す情報である。なお、サーバ装置225は、情報処理装置100から機種IDとバージョン情報の取得要求を受信した場合、機種IDに対応するバージョン情報を特定し、特定したバージョン情報を情報処理装置100へ送信する。
ステップS307で、CPU210は、アップデート準備プログラム416を実行し、情報処理装置100のバージョン情報を取得する。ここで、情報処理装置100のバージョン情報とは、FlashROM211、FlashROM220b〜222bに記憶された各プログラムのバージョンを示す情報をいう。
ステップS308で、CPU210は、アップデート準備プログラム416を実行し、更新対象のプログラムを特定する。具体的には、ステップS305で特定された更新候補となるプログラムの中から、サーバ装置225と情報処理装置100とでバージョン情報が異なるものを特定する。これにより、情報処理装置100よりもバージョンの新しいプログラムがサーバ装置225からダウンロードすることが可能であることがわかる。
ステップS309で、CPU210は、ステップS308で特定された更新対象のプログラム(更新情報)をサーバ装置225から取得する。具体的に、情報処理装置100は、ステップS308で特定された更新対象のプログラムを示すプログラム特定情報をサーバ装置225へ送信する。サーバ装置225は、情報処理装置100からプログラム特定情報を受信した場合、プログラム特定情報に対応するプログラムを情報処理装置100へ送信する。なお、サーバ装置225から受信した更新対象のプログラムは、FlashROM211のメインパーティション401に記憶させるものとする。
ステップS310で、CPU210は、ステップS308にて特定された更新対象のプログラムに、メインパーティション401のプログラムが含まれるかどうかを判定する。含まれる場合はステップS311へ処理を進め、含まれない場合はステップS312へ処理を進める。
ステップS311で、CPU210は、メインパーティションにより起動されるべきことを示す情報と更にアップデートモードで起動されるべきであることを示す情報をSRAM227に記憶させる。
ステップS312で、CPU210は、ステップS308にて特定された更新対象のプログラムに、処理部のプログラム(FlashROM220b〜222bに記憶された各プログラム)が含まれるかどうかを判定する。そして、含まれると判定した場合はステップS311へ処理を進め、含まれないと判定した場合はステップS313へ処理を進める。
ステップS313で、CPU210は、ステップS308にて特定された更新対象のプログラムに、サブパーティション402のプログラムが含まれるかどうかを判定し、含まれる場合はステップS314へ処理を進め、含まれない場合は処理を終了させる。ステップS314で、CPU210は、サブパーティションにより起動されるべきことを示す情報をSRAM227に記憶させる。
次に、図4を用いて、サブパーティション402のプログラムを実行した場合の処理(情報処理装置100のプログラムを更新する処理)を説明する。
ステップS401で、CPU210は、SRAM227にサブパーティションのプログラムを起動させることを示すフラグが記憶されていることを確認し、サブパーティションのプログラムを起動させる。
ステップS402で、CPU210は、SRAM227にプログラムを更新する際にファーム退避処理をスキップされるべきであることを示すフラグが記憶されているかどうかを判定する。フラグが記憶されていればS404へ処理を進め、フラグが記憶されていなければS403へ処理を進める。
ステップS403で、CPU210は、メインパーティション401に記憶されたプログラム(退避情報)を退避させる退避処理を実行する。具体的には、メインパーティション401に記憶された全てのプログラムをサブパーティション402へ複写することで退避させる。なお、サブパーティション402に十分な空き容量が無い場合には、HDD213に退避させるようにしてもよい。このような退避処理を実行させるのは、メインパーティション401のプログラムの更新処理が完了しなかった場合に、更新前の状態に復元できるようにするためである。
ステップS404で、CPU210は、メインパーティションアップデートプログラム432を実行することにより、メインパーティション401の各プログラムの更新処理を実行する。
ステップS405で、CPU210は、メインパーティション401の各プログラムの更新処理が成功したかどうかを判定し、成功したと判定した場合はステップS406へ処理を進める。一方、更新処理が成功(完了)しなかったと判定した場合は、ステップS411へ処理を進める。なお、更新処理が成功(完了)しなかったと判定する場合は、例えば、更新処理を開始してからの経過時間が一定時間を経過しても更新処理が終了しない場合である。
ステップS406で、CPU210は、SRAM227にプログラムを更新する際にファーム退避処理をスキップされるべきであることを示すフラグが記憶されているかどうかを判定する。フラグが記憶されていればS408へ処理を進め、フラグが記憶されていなければS407へ処理を進める。
ステップS407で、CPU210は、処理部アップデートプログラム433を実行する。そして、CPU210は、各処理部(プリンタ部220、スキャナ部221、USB−FAX部223、フィニッシャ部222)に記憶されたプログラム(退避情報)を退避させる退避処理を実行する。具体的には、各処理部に記憶された全てのプログラムをサブパーティション402へ複写することで退避させる。なお、サブパーティション402に十分な空き容量が無い場合には、HDD213に退避させるようにしてもよい。
ステップS408で、CPU210は、処理部アップデートプログラム433を実行することにより、各処理部(プリンタ部220、スキャナ部221、USB−FAX部223、フィニッシャ部222)が実行するプログラムの更新処理を実行する。
ステップS409で、CPU210は、各処理部のプログラムの更新処理が成功したかどうかを判定し、成功したと判定した場合はステップS410へ処理を進める。一方、更新処理が成功しなかった場合は、ステップS414へ処理を進める。
なお、更新処理が成功しない状態となる場合は、例えば、更新処理を開始してからの経過時間が一定時間を経過しても更新処理が終了しない場合である。また、第1の実施例では、処理部として、プリンタ部220、スキャナ部221、フィニッシャ部222が存在するが、いずれか処理部の更新処理が完了しない場合に、ステップS409の判定をNOとする。
ステップS410で、メインパーティションのプログラムの更新処理が成功したので、次回の起動でメインパーティションのプログラムの更新処理が行われないようにする。そのために、CPU210は、サブパーティションのプログラムを起動させることを指定するフラグをOFFとする情報をSRAM227へ記憶させる。
ステップS411で、CPU210は、SRAM227にプログラムを更新する際にファーム退避処理をスキップされるべきであることを示すフラグが記憶されているかどうかを判定する。フラグが記憶されていればS412へ処理を進め、フラグが記憶されていなければS413へ処理を進める。
ステップS414で、CPU210は、SRAM227にプログラムを更新する際にファーム退避処理をスキップされるべきであることを示すフラグが記憶されているかどうかを判定する。フラグが記憶されていればS415へ処理を進め、フラグが記憶されていなければS416へ処理を進める。
ステップS412で、CPU210は、メインパーティション401の各プログラムの更新処理が正常に終了しなかった旨を示すエラー通知を行う。エラー通知とは、例えば、操作部219にメインパーティション401の各プログラムの更新処理が正常に終了しなかった旨を示すことを言う。また、サーバ装置225にメインパーティション401の各プログラムの更新処理が正常に終了しなかった旨を示す情報を通知してもよい。
ステップS415で、CPU210は、各処理部のプログラム(複数のサブプログラム)の更新処理が正常に終了しなかった旨を示すエラー通知を行う。エラー通知とは、例えば、操作部219に各処理部のプログラムの更新処理が正常に終了しなかった旨を示すことを言う。また、サーバ装置225に各処理部のプログラムの更新処理が正常に終了しなかった旨を示す情報を通知してもよい。
ステップS413で、CPU210は、各処理部のプログラム(複数のサブプログラム)をサブパーティション402へステップS405で退避済みのプログラムで復元する。具体的には、サブパーティション402へ退避済みのプログラムを各処理部のFlashROM(220b〜222b)へ複写することで復元する。このように復元するのは、ステップS409でプログラム(第2プログラム)の更新処理が成功(完了)しなかったと判定されたからである。
ステップS413およびS417で、CPU210は、メインパーティション401のプログラムをサブパーティション402へステップS403で退避済みのプログラムで復元する。具体的には、サブパーティション402へ退避済みのプログラムをメインパーティション401へ複写することで復元する。このように復元するのは、ステップS405又はステップS409でプログラムの更新処理が成功(完了)しなかったと判定されたからである。
なお、メインパーティション401のプログラムの復元は、ステップS405にてメインパーティション401のプログラムの更新処理が成功したと判定された場合であってもステップS409でNOと判定された場合に実行される。ステップS409でNOと判定されるのは、各処理部のプログラムの更新処理が成功(完了)しなかった場合である。このように、メインパーティション401のプログラムの更新処理が成功した場合であっても、メインパーティション401のプログラムを更新前のプログラムに復元しているのは、次の理由による。
それは、メインパーティション401のプログラムと各処理部のプログラムのバージョンの組み合わせを適切なものとするためである。例えば、メインパーティション401のプログラムがバージョンアップされる一方で、各処理部のプログラムがバージョンアップされない場合、メインパーティション401のプログラムと各処理部のプログラムのバージョンの組み合わせが適切なものとならない。この場合、制御部200と各処理部のデータの受け渡しや、制御部200から各処理部への指示とその応答が適切になされないこととなる。
従って、このようなバージョンの組み合わせの不適合が発生しないように、メインパーティション401のプログラムの更新処理が成功した場合であっても、メインパーティション401のプログラムを更新前のプログラムに復元する。
次に、図5を用いて、メインパーティション401のサブパーティションアップデートプログラムを実行した場合の処理を説明する。
ステップS501で、CPU210は、SRAM227にメインパーティションのプログラムを起動させ、かつアップデートモードで起動させることを指定するフラグが記憶されていることを確認し、情報処理装置100をアップデートモードにて起動させる。具体的には、CPU210がOS411を起動させ、起動したOS411によりサブパーティションアップデートプログラム421を起動させる。
ステップS502で、CPU210は、SRAM227にプログラムを更新する際にファーム退避処理をスキップされるべきであることを示すフラグが記憶されているかどうかを判定する。フラグが記憶されていればS503へ処理を進め、フラグが記憶されていなければS504へ処理を進める。
ステップS503で、CPU210は、サブパーティション402に記憶されたプログラムを退避させる退避処理を実行する。具体的には、サブパーティション402に記憶された全てのプログラムをメインパーティション401へ複写することで退避させる。なお、メインパーティション401に十分な空き容量が無い場合には、HDD213に退避させるようにしてもよい。このような退避処理を実行させるのは、サブパーティション402のプログラムの更新処理が完了しなかった場合に、更新前の状態に復元できるようにするためである。
ステップS504で、CPU210は、サブパーティションアップデートプログラム421を実行することにより、サブパーティション402の各プログラムの更新処理を実行する。
ステップS505で、CPU210は、サブパーティション402の各プログラムの更新処理が成功したかどうかを判定し、成功したと判定した場合はステップS506へ処理を進める。一方、更新処理が成功(完了)しなかった場合は、ステップS507へ処理を進める。なお、更新処理が成功(完了)しなかった場合は、例えば、更新処理を開始してからの経過時間が一定時間を経過しても更新処理が終了しない場合である。
ステップS506で、サブパーティションのプログラムの更新処理が成功したので、次回の起動でサブパーティションのプログラムの更新処理が行われないようにする。そのために、CPU210は、メインパーティションのプログラムをアップデートモードで起動させることを指定するフラグをOFFとする情報をSRAM227へ記憶させる。
ステップS507で、CPU210は、SRAM227にプログラムを更新する際にファーム退避処理をスキップされるべきであることを示すフラグが記憶されているかどうかを判定する。フラグが記憶されていればS508へ処理を進め、フラグが記憶されていなければS509へ処理を進める。
ステップS508で、CPU210は、サブパーティション402の各プログラムの更新処理が正常に終了しなかった旨を示すエラー通知を行う。エラー通知とは、例えば、操作部219にサブパーティション402の各プログラムの更新処理が正常に終了しなかった旨を示すことを言う。また、サーバ装置225にサブパーティション402の各プログラムの更新処理が正常に終了しなかった旨を示す情報を通知してもよい。
ステップS509で、CPU210は、ステップS504でプログラムの更新処理が成功しなかったので、各処理部のプログラムをメインパーティション401へステップS502で退避済みのプログラムで復元する。具体的には、メインパーティション401へ退避済みのプログラムをサブパーティション402へ複写することで復元する。
以上説明したように、第1の実施例によれば、情報処理装置100が実行する複数のプログラムの更新にあたって、プログラムの更新時にバックアップ処理を行うかどうか選択でき、プログラムの更新にかかる処理時間を短縮することができる。
更に、複数のプログラムのうち、いずれを更新対象とするかを特定し、更新対象として特定されたプログラムを更新するための処理のみを実行するようにする。これにより、更新対象となっていないプログラムを更新するために情報処理装置100を再起動させる処理を無駄に実行しないようにすることができる。
[他の実施例]
以上の説明においては、更新情報は、ネットワークI/F218を介してサーバ装置225から受信するものとして説明したが、他の態様であってもよい。例えば、USB−HostI/F217を介してUSBメモリ(外部メモリ)が接続されるようにし、USBメモリに記憶された更新情報をUSB−HostI/F217を介して受信するような態様であっても良い。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
200 制御部

Claims (1)

  1. 情報処理装置であって、
    第1プログラム及び第2プログラムを記憶する記憶手段と、
    前記第1プログラムを実行する第1制御手段と、
    前記第2プログラムを実行する第2制御手段と、
    前記第1プログラム及び前記第2プログラムを更新するための更新情報を受信する受信手段と、
    前記受信手段により受信された前記更新情報に基づいて、前記記憶手段に記憶された前記第1プログラム及び前記第2プログラムを更新する更新手段と、
    前記更新手段による更新の前に、前記記憶手段に記憶された前記第1プログラム及び前記第2プログラムを退避情報として退避させる退避手段と、
    前記退避手段をスキップするかどうか決定する選択手段と、
    前記選択手段に従って退避処理を行わないスキップ手段と、
    を備えること特徴とする情報処理装置。
JP2011020752A 2011-02-02 2011-02-02 情報処理装置及びその制御方法 Withdrawn JP2012160112A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011020752A JP2012160112A (ja) 2011-02-02 2011-02-02 情報処理装置及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011020752A JP2012160112A (ja) 2011-02-02 2011-02-02 情報処理装置及びその制御方法

Publications (1)

Publication Number Publication Date
JP2012160112A true JP2012160112A (ja) 2012-08-23

Family

ID=46840570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011020752A Withdrawn JP2012160112A (ja) 2011-02-02 2011-02-02 情報処理装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP2012160112A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5653568B1 (ja) * 2013-12-03 2015-01-14 三菱電機株式会社 ネットワークシステム
JP2022182841A (ja) * 2021-05-28 2022-12-08 キヤノン株式会社 情報処理装置及びその制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5653568B1 (ja) * 2013-12-03 2015-01-14 三菱電機株式会社 ネットワークシステム
JP2022182841A (ja) * 2021-05-28 2022-12-08 キヤノン株式会社 情報処理装置及びその制御方法
JP7292328B2 (ja) 2021-05-28 2023-06-16 キヤノン株式会社 情報処理装置及びその制御方法

Similar Documents

Publication Publication Date Title
JP5679714B2 (ja) 画像形成装置
JP5921358B2 (ja) 情報処理装置、プログラム更新方法及びプログラム
CN106716358B (zh) 信息处理系统和信息处理方法
KR101478600B1 (ko) 펌웨어를 포함하는 화상형성장치, 화상형성장치의 제어방법, 및 기억매체
JP5984621B2 (ja) 画像形成装置、情報処理方法及びプログラム
JP6351413B2 (ja) 画像形成装置およびその制御方法、並びにプログラム
JP5984326B2 (ja) 情報処理装置、プログラムの更新方法及びプログラム
JP2019149048A (ja) 情報処理装置、ファームウェア更新方法、プログラム
US8922805B2 (en) Image processing apparatus having updatable firmware, method for controlling image processing apparatus, and program
JP5459270B2 (ja) 情報処理装置、情報処理装置の起動方法および起動プログラム
JP5943681B2 (ja) 情報処理装置、情報処理装置のファームウエア更新方法及びプログラム
JP7206106B2 (ja) 情報処理装置及びプログラム
JP5991333B2 (ja) 情報処理装置、該装置における設定値の更新方法及び設定値の更新プログラム
JP6041588B2 (ja) 画像形成装置、プログラム更新方法及びプログラム
JP2013126717A (ja) 画像形成装置および画像形成方法
JP6399797B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP5545271B2 (ja) 画像処理システム、画像処理装置、表示装置、画像処理システムの制御方法、および画像処理システムの制御プログラム
JP2008282090A (ja) 電子機器及び電子機器におけるファームウェア更新方法
JP2012160112A (ja) 情報処理装置及びその制御方法
JP6485227B2 (ja) 画像形成装置、画像形成システム、画像形成方法およびプログラム
JP2015127887A (ja) 画像形成装置、その制御方法とプログラム
JP2014238647A (ja) 情報処理装置及びそのプログラム更新方法、並びにプログラム
JP2016132186A (ja) 画像形成装置、画像形成処理方法及び画像形成処理プログラム
JP6157260B2 (ja) 画像形成装置
JP2008195041A (ja) 画像形成装置、情報処理方法、情報処理プログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140513