JP2012018523A - Information processor and control method of the same - Google Patents
Information processor and control method of the same Download PDFInfo
- Publication number
- JP2012018523A JP2012018523A JP2010154958A JP2010154958A JP2012018523A JP 2012018523 A JP2012018523 A JP 2012018523A JP 2010154958 A JP2010154958 A JP 2010154958A JP 2010154958 A JP2010154958 A JP 2010154958A JP 2012018523 A JP2012018523 A JP 2012018523A
- Authority
- JP
- Japan
- Prior art keywords
- program
- update
- information processing
- processing apparatus
- updating
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
Description
本発明は、情報処理装置及びその制御方法に関する。 The present invention relates to an information processing apparatus and a control method thereof.
従来から、画像形成装置等の情報処理装置が実行するプログラムを更新する技術が知られている。 Conventionally, a technique for updating a program executed by an information processing apparatus such as an image forming apparatus is known.
そして、プログラムの更新処理が完了しなかった場合や更新されたプログラム自体に不具合がある場合に備え、更新前のプログラムを予め退避させておき、更新処理が完了しなかった場合に退避させたプログラムにより復元を行う技術が知られている。 Then, in case the program update process is not completed or there is a problem with the updated program itself, the program before the update is saved in advance, and the program saved if the update process is not completed There is known a technique for performing restoration by the above.
また、情報処理装置が実行する複数のプログラムを更新する際に複数のプログラムを更新する更新モードで起動し、複数のプログラムが更新された後に自動的に再起動を行う技術が知られている(特許文献1)。 In addition, a technology is known in which a plurality of programs executed by an information processing apparatus are started in an update mode in which a plurality of programs are updated, and automatically restarted after the plurality of programs are updated ( Patent Document 1).
特許文献1は、更新モードにおいて複数のプログラムをまとめて更新するので、例えば、いずれかのプログラムの更新処理が完了しなかった場合には、情報処理装置自体が起動不能となってしまう可能性がある。この場合、更新が完了しなかったプログラムが実行できなくなるばかりでなく、他のプログラムまでもが実行できなくなってしまうという問題がある。 Since Patent Document 1 updates a plurality of programs at once in the update mode, for example, if update processing of any program is not completed, the information processing apparatus itself may be unable to start. is there. In this case, there is a problem that not only the program that has not been updated can be executed, but also other programs cannot be executed.
そこで、上記の点に鑑み、本発明は、情報処理装置が実行する複数のプログラムの更新にあたって、いずれかのプログラムの更新処理が完了しなかった場合であっても、他のプログラムの実行が出来ない状態とならないようにする情報処理装置及びその制御方法を提供することを目的とする。 Therefore, in view of the above points, the present invention can execute another program even when update processing of one of the programs is not completed in updating a plurality of programs executed by the information processing apparatus. It is an object of the present invention to provide an information processing apparatus and a control method for the information processing apparatus so as not to be in a state of being absent.
上記課題を解決するため、本発明に係る情報処理装置は、第1プログラム及び第2プログラムを記憶する記憶手段と、前記第1プログラムを実行する第1制御手段と、前記第2プログラムを実行する第2制御手段と、前記第1プログラム及び/又は前記第2プログラムを更新するための更新情報を受信する受信手段と、前記受信手段により受信された前記更新情報に基づいて、前記記憶手段に記憶された前記第1プログラム及び/又は前記第2プログラムを更新する更新手段とを有し、前記第1プログラムは前記第2プログラムを更新するための第1サブプログラムを含み、前記第2プログラムは前記第1プログラムを更新するための第2サブプログラムを含み、前記情報処理装置は、更に、前記情報処理装置の起動時に前記第1プログラムを実行するか前記第2プログラムを実行するかを選択する選択手段とを有し、前記更新手段は、前記選択手段が前記第1プログラムを選択した場合は前記第1サブプログラムを実行することにより前記第2プログラムを更新し、前記選択手段が前記第2プログラムを選択した場合は前記第2サブプログラムを実行することにより前記第1プログラムを更新することを特徴とする。 In order to solve the above-described problems, an information processing apparatus according to the present invention executes a storage unit that stores a first program and a second program, a first control unit that executes the first program, and the second program. Based on the update information received by the second control means, the update information for updating the first program and / or the second program, and the update information received by the reception means, stored in the storage means Updating means for updating the first program and / or the second program, wherein the first program includes a first subprogram for updating the second program, and the second program A second subprogram for updating the first program, wherein the information processing apparatus further includes the first program when the information processing apparatus is activated. Selecting means for selecting whether to execute or execute the second program, and when the selecting means selects the first program, the updating means executes the first subprogram by executing the first subprogram. The second program is updated, and when the selection unit selects the second program, the first program is updated by executing the second subprogram.
また、本発明にかかる情報処理装置の制御方法は、第1プログラム及び第2プログラムを記憶する記憶手段と、前記第1プログラムを実行する第1制御手段と、前記第2プログラムを実行する第2制御手段とを有する情報処理装置の制御方法であって、前記第1プログラム及び/又は前記第2プログラムを更新するための更新情報を受信する受信ステップと、前記受信ステップにより受信された前記更新情報に基づいて、前記記憶手段に記憶された前記第1プログラム及び/又は前記第2プログラムを更新する更新ステップとを有し、前記第1プログラムは前記第2プログラムを更新するための第1サブプログラムを含み、前記第2プログラムは前記第1プログラムを更新するための第2サブプログラムを含み、前記制御方法は、更に、前記情報処理装置の起動時に前記第1プログラムを実行するか前記第2プログラムを実行するかを選択する選択ステップとを有し、前記更新ステップは、前記選択ステップが前記第1プログラムを選択した場合は前記第1サブプログラムを実行することにより前記第2プログラムを更新し、前記選択ステップが前記第2プログラムを選択した場合は前記第2サブプログラムを実行することにより前記第1プログラムを更新することを特徴とする。 The control method of the information processing apparatus according to the present invention includes a storage unit that stores a first program and a second program, a first control unit that executes the first program, and a second unit that executes the second program. A control method of an information processing apparatus having a control means, wherein the update information for updating the first program and / or the second program is received, and the update information received by the reception step And updating the first program and / or the second program stored in the storage means, wherein the first program updates the second program. The second program includes a second subprogram for updating the first program, and the control method further includes: A selection step of selecting whether to execute the first program or the second program when the information processing apparatus is activated, and the updating step is performed when the selection step selects the first program Updating the second program by executing the first subprogram, and updating the first program by executing the second subprogram when the selection step selects the second program; Features.
本発明によれば、情報処理装置が実行する複数のプログラムの更新にあたって、いずれかのプログラムの更新処理が完了しなかった場合であっても、他のプログラムの実行が出来ない状態とならないようにする情報処理装置及びその制御方法を提供することができる。 According to the present invention, when updating a plurality of programs executed by the information processing apparatus, even if the update process of any one of the programs is not completed, the other programs cannot be executed. An information processing apparatus and a control method thereof can be provided.
以下に、本発明を実施するための形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。また、初めに本実施例に必要となる構成ブロックについて説明し、次に、処理の詳細について説明する。 EMBODIMENT OF THE INVENTION Below, the form for implementing this invention is demonstrated in detail, referring drawings. The same constituent elements are denoted by the same reference numerals, and the description thereof is omitted. First, constituent blocks necessary for the present embodiment will be described, and then details of the processing will be described.
[第1の実施例]
図1は、情報処理装置100の構成を示すブロック図である。
[First embodiment]
FIG. 1 is a block diagram illustrating a configuration of the
図1において、制御部200は、情報処理装置100全体を制御するための構成である。制御部200は、情報処理装置100を制御するための構成として、以下に示すものを含む。
In FIG. 1, the
CPU210は、FlashROM211に記憶された制御部200用のプログラム(第1プログラム)をRAM212に読出して実行する。
The
ハードディスクドライブ(HDD)213は、ネットワークI/F218を介してPC226から受信した印刷データを記憶する。なお、CPU210により実行されるプログラムには、後述するプリント用アプリケーションプログラムが含まれる。そして、このプリント用アプリケーションプログラムにより、HDD213に記憶された印刷データがプリンタ部220によるプリントが可能な画像データに変換される。そして、HDD213には、プリンタ部220によるプリントが可能な画像データも記憶される。また、CPU210により実行されるプログラムには、後述するスキャン用アプリケーションプログラムが含まれる。そして、このスキャン用アプリケーションプログラムにより、スキャナ部221により画像データが読み取られるとともに、読み取られた画像データがHDD213に転送される。そして、HDD213には、読み取られた画像データが記憶される。SRAM227は、情報処理装置100が起動する際に、後述するメインパーティションとサブパーティションのいずれのプログラムで起動をするべきかを示す情報が記憶される。なお、メインパーティションにより起動するべきことを示す情報が記憶される場合は、後述する通常起動モードとサブパーティションのプログラムをアップデートするためのアップデートモードのいずれで起動するべきかを示す情報が更に記憶される。
A hard disk drive (HDD) 213 stores print data received from the PC 226 via the network I /
操作部I/F214は、操作部219を介して情報処理装置100の操作者により入力される指示をCPU210に伝達するためのI/Fである。また、操作部I/F214は、操作部219に表示される内容を切替えるためのCPU210から受信して操作部219に伝達する。
The operation unit I /
プリンタI/F215は、制御部200とプリンタ部220及びフィニッシャ部222を接続するためのインターフェースである。ここで、プリンタ部220は、プリンタI/F215を介してHDD213から転送される画像データに基づいてシート上にプリントを行う。なお、プリンタ部220(プリント手段)は、CPU220aとFlashROM220bを有する。CPU220aは、FlashROM220bに記憶されたプログラム(第2プログラム)を実行することにより、プリント処理に伴う各種の動作をプリンタ部220に実行させる。
The printer I / F 215 is an interface for connecting the
また、フィニッシャ部222は、プリンタ部220によりプリントが行われたシートに対して各種のフィニッシング処理を行うものである。フィニッシング処理とは、例えば、シートに対するステイプル処理、シートへのパンチ処理(穿孔処理)等である。なお、フィニッシャ部222は、CPU222aとFlashROM222bを有する。CPU222aは、FlashROM222bに記憶されたプログラム(第2プログラム)を実行することにより、フィニッシング処理に伴う各種の動作をフィニッシャ部222に実行させる。
The
スキャナI/F216は、制御部200とスキャナ部221を接続するためのインターフェースである。ここで、スキャナ部220(画像データを入力する入力手段)は、原稿上の画像をCCD(ChargeCoupledDevice)等により構成されるラインセンサを用いて画像データとして読み取るものである。そして、スキャナ部220は、読み取った画像データをスキャナI/F216を介してHDD213へ転送する。HDD213へ転送され、記憶された画像データは、前述したプリント部220によりプリントすることが可能であり、スキャナ部221により読み取った画像データをプリント部220によりプリントすることにより、複写(コピー)処理が可能となる。なお、スキャナ部221は、CPU221aとFlashROM221bを有する。CPU221aは、FlashROM221bに記憶されたプログラム(第2プログラム)を実行することにより、スキャン処理に伴う各種の動作をスキャナ部221に実行させる。
The scanner I / F 216 is an interface for connecting the
USB−HostI/F217は、制御部200とUSB−FAX部223を接続するためのインターフェースである。ここで、USB−FAX部223は、USB−HostI/F213を介してHDD213から転送される画像データに基づいてFAX回線115を介したFAX送信を行う。また、USB−FAX部223は、FAX回線115を介して受信するデータに基づいて画像データを生成し、USB−HostI/F213を介してHDD213に画像データを転送する。なお、HDD213に記憶された画像データは前述したようにプリンタ部220によりシートへプリントされる。なお、USB−FAX部223は、CPU223aとFlashROM223bを有する。CPU223aは、FlashROM223bに記憶されたプログラム(第2プログラム)を実行することにより、FAX通信処理に伴う各種の動作をUSB−FAX部223に実行させる。
The USB-Host I / F 217 is an interface for connecting the
ネットワークI/F218は、制御部200をLAN110に接続し、LAN110上のPC226やサーバ装置225との通信を行う。なお、サーバ装置225は、後述する各種のプログラム(情報処理装置100により実行されるもの)をアップデート(更新)するための更新情報が記憶されており、情報処理装置100からの要求に応じて、更新情報を情報処理装置100へ送信する。
The network I /
次に、制御部200のCPU210(第1制御手段)により実行されるプログラムの構成について図2を用いて説明する。
Next, the configuration of a program executed by the CPU 210 (first control means) of the
なお、図2に示されるプログラムは、図1のFlashROM211に記憶されているものとする。
2 is stored in the
FlashROM211に記憶されるプログラムは、FlashROM211上の2つのパーティションに分けて格納されている。1つはメインパーティション401であり、もう1つはサブパーティション402である。情報処理装置100に通常の動作をさせる際には、メインパーティションに格納されたオペレーティングシステムプログラム(以下、OS)をCPU210に実行させる。その一方で、情報処理装置100の通常の動作をさせるためのプログラム(後述するメインモジュール410)を更新する際には、サブパーティションに格納されたOSをCPU210に実行させる。
The program stored in the
メインパーティション401には、OS411、メインモジュール410及びアップデートモジュール420の3つのプログラムモジュールが含まれている。OS411は、情報処理装置100を制御するためのOSであり、プリンタ部220、スキャナ部221、フィニッシャ部222、USB−FAX部223を含む情報処理装置100の各部の動作を制御するためのドライバプログラムを含むものである。
The
また、サブパーティション402には、OS431及びアップデートモジュール430の2つのプログラムモジュールが含まれている。OS431は、情報処理装置100を制御するためのOSであり、プリンタ部220、スキャナ部221、フィニッシャ部222、USB−FAX部223を含む情報処理装置100の各部の動作を制御するためのドライバプログラムを含むものである。なお、OS431は、前述したOS411と同様のものである。
The
メインパーティション401に、OS411以外に2つのモジュールが格納されているのは、各モジュールを情報処理装置100の起動モードに応じて選択的に実行するためである。具体的には、情報処理装置100に通常の動作をさせるための通常起動モードにおいて、CPU210はOS411を実行するとともに、メインモジュール410に含まれる各プログラムを実行する。そして、この通常起動モードにおいて、CPU210は、アップデートモジュール420に含まれるプログラムを実行しない。また、サブパーティション402に格納されたプログラムを更新するアップデートモードにおいて、CPU210はOS411を実行するとともに、アップデートモジュール420に含まれるプログラムを実行する。そして、このアップデートモードにおいて、CPU210は、メインモジュール410に含まれる各プログラムを実行しない。
The reason why two modules other than the
ここで、メインパーティション401のメインモジュール410に含まれる各プログラムモジュールについて説明する。なお、各プログラムモジュールは、OS411が起動した後に、OS411により実行されるアプリケーションプログラムである。
Here, each program module included in the main module 410 of the
メインモジュール410に含まれる操作部アプリケーションプログラム412は、操作部219を介して情報処理装置100の操作者により入力される指示をCPU210に伝達し、伝達された指示に応じた処理を実行するためのプログラムである。また、スキャンアプリケーションプログラム413は、前述したスキャナ部221によるスキャン処理を制御するためのプログラムである。また、プリントアプリケーションプログラム414は、前述したプリンタ部220によるプリント処理を制御するためのプログラムである。ネットワークアプリケーションプログラム415は、LAN110上のPC226やサーバ装置225との通信を行うためのプログラムである。アップデート準備プログラム416は、通常起動モードで動作中の情報処理装置100が、プログラムのアップデートを実行するための準備動作を実行するためのプログラムである。
The operation
アップデートモジュール420に含まれるサブパーティションアップデート421は、サブパーティション402に含まれるアップデートモジュール430及びOS431をアップデートするためのプログラムである。
The
次に、サブパーティション402のアップデートモジュール430に含まれる各プログラムモジュールについて説明する。なお、各プログラムモジュールは、OS411が起動した後に、OS411により実行されるアプリケーションプログラムである。
Next, each program module included in the
メインパーティションアップデートプログラム432は、メインパーティション401に含まれるメインモジュール410、アップデートモジュール420及びOS411をアップデートするためのプログラム(第1更新プログラム)である。処理部アップデートプログラム433(第2更新プログラム)は、FlashROM220bに含まれるプリント処理を実行するためのプログラム、FlashROM221bに含まれるスキャン処理を実行するためのプログラムを更新するためのプログラムである。また、処理部アップデートプログラム433は、FlashROM222bに含まれるフィニッシング処理を実行するためのプログラムである。また、処理部アップデートプログラム433は、FlashROM223bに含まれるFAX通信処理を実行するためのプログラムを更新するためのプログラムでもある。
The main
次に、第1の実施例におけるプログラムの更新処理について図3〜図6を用いて説明する。 Next, the program update process in the first embodiment will be described with reference to FIGS.
図6は、情報処理装置100がオフ状態からオン状態へ切替えられたことに応じて開始される処理を示すフローチャートである。
FIG. 6 is a flowchart illustrating processing that is started in response to the
図3は、メインパーティション401のプログラムを通常起動モードにて実行した場合の処理を示すフローチャートである。
FIG. 3 is a flowchart showing processing when the program of the
図4は、サブパーティション402のプログラムを実行した場合の処理を示すフローチャートである。
FIG. 4 is a flowchart showing processing when the program of the
図5は、メインパーティション401のプログラムをアップデートモードにて実行した場合の処理を示すフローチャートである。
FIG. 5 is a flowchart showing processing when the program of the
なお、図3〜5の各ステップにおける処理は、制御部200のCPU210がFlashROM211に記憶されたプログラムを実行することにより行われる。
3 to 5 is performed by the
まず、図6を用いて、情報処理装置100の起動モードを決定し、決定された起動モードにて起動する処理について説明する。
First, the process for determining the activation mode of the
なお、図6の処理は、情報処理装置100がオフ状態からオン状態へ切替えられたことに応じて開始される。オフ状態とは、情報処理装置100の各部に電源からの電力が供給されない状態をいう。そして、オフ状態からオン状態に切替えられる場合とは、メインスイッチ(不図示)をオンした場合や、後述するように情報処理装置100が再起動された場合をいう。
6 is started in response to the
また、図6の処理は、制御部200のFlashROM211に記憶されたブートプログラムをRAM212に読み出して、それをCPU210が実行することにより行われる処理である。
6 is a process performed by reading the boot program stored in the
図6のステップS601で、CPU210は、SRAM227にサブパーティションにより起動されるべきことを示す情報が記憶されているかどうかを判定する。そして、CPU210は、YESと判定した場合はステップS603へ処理を進め、NOと判定した場合はステップS602へ処理を進める。
In step S601 in FIG. 6, the
ステップS603で、CPU210は、サブパーティションのプログラムを起動させることにより、メインパーティションのプログラムの更新処理を行う。このステップS603の処理は、図4を用いて説明する。
In step S603, the
ステップS602で、CPU210は、SRAM227にメインパーティションにより起動されるべきことを示す情報が記憶されており、かつ、アップデートモードが指定されているかどうかを判定する。そして、CPU210は、YESと判定した場合はステップS604へ処理を進め、NOと判定した場合はステップS605へ処理を進める。なお、ステップS602でNOと判定される場合、SRAM227には、メインパーティションにより起動されるべきことを示す情報が記憶されており、更に通常起動モードで記憶されるべきであることを示す情報が記憶されている。
In step S602, the
ステップS604で、CPU210は、メインパーティションのプログラムをアップデートモードで起動させることにより、サブパーティションのプログラムの更新処理を行う。このステップS604の処理は、図5を用いて説明する。
In step S604, the
ステップS605で、CPU210は、メインパーティションのプログラムを通常起動モードで起動させる。このステップS605の処理は、図3を用いて説明する。
In step S605, the
なお、ステップS603、S604及びS605の処理を実行した後は、情報処理装置100を自動的に再起動させるために、情報処理装置100の電源をオフ状態に切替えた後にオン状態に切替えられる。このようにすることで、再び図6の処理が開始され、SRAM227に記憶された情報に応じた適切なモードにて情報処理装置100が起動する。
In addition, after performing the processing of steps S603, S604, and S605, in order to automatically restart the
また、SRAM227に記憶される情報については、後述する図3のフローチャートの説明中に示す。
Information stored in the
次に、図3を用いて、メインパーティション401のプログラムを通常起動モードにて実行した場合の処理を説明する。図3の各処理は、前述した図6のステップS605に対応するものである。
Next, the processing when the program of the
ステップS301で、CPU210は、情報処理装置100を通常起動モードにて起動させる。具体的には、CPU210がOS411を起動させ、起動したOS411によりメインモジュール410に含まれる各プログラムモジュールを実行する。
In step S301, the
ステップS302で、CPU210は、情報処理装置100のプログラムを更新するための更新処理の実行指示がなされたかどうかを判定し、なされたと判定された場合はステップS303へ処理を進める。ここで、更新処理の実行指示とは、例えば、情報処理装置100の操作者が操作部219を介してなされる指示を言う。また、一定期間(例えば、2週間)毎にプログラムを定期的に更新するようにスケジュールを予め設定しておき、定期的に更新処理の実行指示が自動的になされるようにしても良い。
In step S302, the
ステップS303で、CPU210は、OS411を介してアップデート準備プログラム416を実行することにより、FlashROM211、FlashROM220b〜223bに記憶された各プログラムのうち、更新候補となるプログラムを特定する。例えば、各プログラムを指定するための表示画面を操作部219に表示させ、操作部219を介して操作者により指示されたプログラムを更新候補として特定する。なお、操作者による指示に基づくことなく、更新候補となり得る全てのプログラムを更新候補として特定しても良い。
In step S303, the
ステップS304で、CPU210は、アップデート準備プログラム416を実行し、情報処理装置100を特定するための機種ID情報とバージョン情報の取得要求をサーバ装置に送信する。そして、情報処理装置100は、サーバ装置225により管理されるバージョン情報を取得する。ここでバージョン情報とは、前述したメインモジュール410に含まれる各プログラムモジュールのバージョンを示す情報である。なお、サーバ装置225は、情報処理装置100から機種IDとバージョン情報の取得要求を受信した場合、機種IDに対応するバージョン情報を特定し、特定したバージョン情報を情報処理装置100へ送信する。
In step S304, the
ステップS305で、CPU210は、アップデート準備プログラム416を実行し、情報処理装置100のバージョン情報を取得する。ここで、情報処理装置100のバージョン情報とは、FlashROM211、FlashROM220b〜223bに記憶された各プログラムのバージョンを示す情報をいう。
In step S <b> 305, the
ステップS306で、CPU210は、アップデート準備プログラム416を実行し、更新対象のプログラムを特定する。具体的には、ステップS303で特定された更新候補となるプログラムの中から、サーバ装置225と情報処理装置100とでバージョン情報が異なるものを特定する。これにより、情報処理装置100よりもバージョンの新しいプログラムがサーバ装置225からダウンロードすることが可能であることがわかる。
In step S306, the
ステップS307で、CPU210は、ステップS305で特定された更新対象のプログラム(更新情報)をサーバ装置225から取得する。具体的に、情報処理装置100は、ステップS306で特定された更新対象のプログラムを示すプログラム特定情報をサーバ装置225へ送信する。サーバ装置225は、情報処理装置100からプログラム特定情報を受信した場合、プログラム特定情報に対応するプログラムを情報処理装置100へ送信する。なお、サーバ装置225から受信した更新対象のプログラムは、FlashROM211のメインパーティション401に記憶させるものとする。
In step S307, the
ステップS308で、CPU210は、ステップS306にて特定された更新対象のプログラムに、メインパーティション401のプログラムが含まれるかどうかを判定し、含まれる場合はステップS309へ処理を進め、含まれない場合はステップS310へ処理を進める。
In step S308, the
ステップS309で、CPU210は、メインパーティションにより起動されるべきことを示す情報と更にアップデートモードで記憶されるべきであることを示す情報をSRAM227に記憶させる。
In step S309, the
ステップS310で、CPU210は、ステップS306にて特定された更新対象のプログラムに、処理部のプログラム(FlashROM220b〜223bに記憶された各プログラム)が含まれるかどうかを判定する。そして、含まれると判定した場合はステップS309へ処理を進め、含まれないと判定した場合はステップS311へ処理を進める。
In step S310, the
ステップS311で、CPU210は、ステップS306にて特定された更新対象のプログラムに、サブパーティション402のプログラムが含まれるかどうかを判定し、含まれる場合はステップS312へ処理を進め、含まれない場合は処理を終了させる。
In step S311, the
ステップS312で、CPU210は、サブパーティションにより起動されるべきことを示す情報をSRAM227に記憶させる。
In step S312, the
次に、図4を用いて、サブパーティション402のプログラムを実行した場合の処理(情報処理装置100のプログラムを更新する処理)を説明する。図4の各処理は、前述した図6のステップS603に対応するものである。
Next, processing when the program of the
ステップS401で、CPU210は、SRAM227にサブパーティションのプログラムを起動させることを示すフラグが記憶されていることを確認し、サブパーティションのプログラムを起動させる。
In step S401, the
ステップS402で、CPU210は、メインパーティション401に記憶されたプログラム(退避情報)を退避させる退避処理を実行する。具体的には、メインパーティション401に記憶された全てのプログラムをサブパーティション402へ複写することで退避させる。なお、サブパーティション402に十分な空き容量が無い場合には、HDD213に退避させるようにしてもよい。このような退避処理を実行させるのは、メインパーティション401のプログラムの更新処理が完了しなかった場合に、更新前の状態に復元できるようにするためである。
In step S <b> 402, the
ステップS403で、CPU210は、メインパーティションアップデートプログラム432を実行することにより、メインパーティション401の各プログラムの更新処理を実行する。
In step S <b> 403, the
ステップS404で、CPU210は、メインパーティション401の各プログラムの更新処理が成功したかどうかを判定し、成功したと判定した場合はステップS405へ処理を進める。一方、更新処理が成功(完了)しなかったと判定した場合は、ステップS408へ処理を進める。なお、更新処理が成功(完了)しなかったと判定する場合は、例えば、更新処理を開始してからの経過時間が一定時間を経過しても更新処理が終了しない場合である。
In step S404, the
ステップS405で、CPU210は、処理部アップデートプログラム433を実行する。そして、CPU210は、各処理部(プリンタ部220、スキャナ部221、USB−FAX部223、フィニッシャ部222)に記憶されたプログラム(退避情報)を退避させる退避処理を実行する。具体的には、各処理部に記憶された全てのプログラムをサブパーティション402へ複写することで退避させる。なお、サブパーティション402に十分な空き容量が無い場合には、HDD213に退避させるようにしてもよい。
In step S405, the
ステップS406で、CPU210は、処理部アップデートプログラム433を実行することにより、各処理部(プリンタ部220、スキャナ部221、USB−FAX部223、フィニッシャ部222)が実行するプログラムの更新処理を実行する。
In step S <b> 406, the
ステップS407で、CPU210は、各処理部のプログラムの更新処理が成功したかどうかを判定し、成功したと判定した場合はステップS407へ処理を進める。一方、更新処理が成功しなかった場合は、ステップS409へ処理を進める。なお、更新処理が成功しない状態となる場合は、例えば、更新処理を開始してからの経過時間が一定時間を経過しても更新処理が終了しない場合である。また、第1の実施例では、処理部として、プリンタ部220、スキャナ部221、USB−FAX部223、フィニッシャ部222が存在するが、いずれか処理部の更新処理が完了しない場合に、ステップS407の判定をNOとする。
In step S407, the
ステップS408で、CPU210は、メインパーティションのプログラムの更新処理が成功したので、次回の起動でメインパーティションのプログラムの更新処理が行われないようにするために、サブパーティションのプログラムを起動させることを指定するフラグをOFFとする情報をSRAM227へ記憶させる。
In step S <b> 408, the
ステップS409で、CPU210は、各処理部のプログラム(複数のサブプログラム)をサブパーティション402へステップS405で退避済みのプログラムで復元する。具体的には、サブパーティション402へ退避済みのプログラムを各処理部のFlashROM(220b〜223b)へ複写することで復元する。このように復元するのは、ステップS407でプログラム(第2プログラム)の更新処理が成功(完了)しなかったと判定されたからである。
In step S409, the
ステップS410で、CPU210は、メインパーティション401のプログラムをサブパーティション402へステップS402で退避済みのプログラムで復元する。具体的には、サブパーティション402へ退避済みのプログラムをメインパーティション401へ複写することで復元する。このように復元するのは、ステップS404又はステップS407でプログラムの更新処理が成功(完了)しなかったと判定されたからである。
In step S410, the
なお、メインパーティション401のプログラムの復元は、ステップS404にてメインパーティション401のプログラムの更新処理が成功したと判定された場合であってもステップS407でNOと判定された場合に実行される。ステップS407でNOと判定されるのは、各処理部のプログラムの更新処理が成功(完了)しなかった場合である。このように、メインパーティション401のプログラムの更新処理が成功した場合であっても、メインパーティション401のプログラムを更新前のプログラムに復元しているのは、次の理由による。それは、メインパーティション401のプログラムと各処理部のプログラムのバージョンの組み合わせを適切なものとするためである。例えば、メインパーティション401のプログラムがバージョンアップされる一方で、各処理部のプログラムがバージョンアップされない場合、メインパーティション401のプログラムと各処理部のプログラムのバージョンの組み合わせが適切なものとならない。この場合、制御部200と各処理部のデータの受け渡しや、制御部200から各処理部への指示とその応答が適切になされないこととなる。従って、このようなバージョンの組み合わせの不適合が発生しないように、メインパーティション401のプログラムの更新処理が成功した場合であっても、メインパーティション401のプログラムを更新前のプログラムに復元する。
The restoration of the program of the
次に、図5を用いて、メインパーティション401のサブパーティションアップデートプログラムを実行した場合の処理を説明する。図5の各処理は、前述した図6のステップS604に対応するものである。
Next, processing when the sub-partition update program for the
ステップS501で、CPU210は、SRAM227にメインパーティションのプログラムを起動させ、かつアップデートモードで起動させることを指定するフラグが記憶されていることを確認し、情報処理装置100をアップデートモードにて起動させる。具体的には、CPU210がOS411を起動させ、起動したOS411によりサブパーティションアップデートプログラム421を起動させる。
In step S501, the
ステップS502で、CPU210は、サブパーティション402に記憶されたプログラムを退避させる退避処理を実行する。具体的には、サブパーティション402に記憶された全てのプログラムをメインパーティション401へ複写することで退避させる。なお、メインパーティション401に十分な空き容量が無い場合には、HDD213に退避させるようにしてもよい。このような退避処理を実行させるのは、サブパーティション402のプログラムの更新処理が完了しなかった場合に、更新前の状態に復元できるようにするためである。
In step S502, the
ステップS503で、CPU210は、サブパーティションアップデートプログラム421を実行することにより、サブパーティション402の各プログラムの更新処理を実行する。
In step S503, the
ステップS504で、CPU210は、サブパーティション402の各プログラムの更新処理が成功したかどうかを判定し、成功したと判定した場合はステップS505へ処理を進める。一方、更新処理が成功(完了)しなかった場合は、ステップS506へ処理を進める。なお、更新処理が成功(完了)しなかった場合は、例えば、更新処理を開始してからの経過時間が一定時間を経過しても更新処理が終了しない場合である。
In step S504, the
ステップS505で、CPU210は、サブパーティションのプログラムの更新処理が成功したので、次回の起動でサブパーティションのプログラムの更新処理が行われないようにするために、メインパーティションのプログラムをアップデートモードで起動させることを指定するフラグをOFFとする情報をSRAM227へ記憶させる。
In step S505, since the update processing of the subpartition program is successful, the
ステップS506で、CPU210は、ステップS504でプログラムの更新処理が成功しなかったので、各処理部のプログラムをメインパーティション401へステップS502で退避済みのプログラムで復元する。具体的には、メインパーティション401へ退避済みのプログラムをサブパーティション402へ複写することで復元する。
In step S506, since the program update process was not successful in step S504, the
以上説明したように、第1の実施例によれば、情報処理装置が実行する複数のプログラムの更新にあたって、いずれかのプログラムの更新処理が完了しない場合であっても、他のプログラムの実行が出来ない状態とならないようにする情報処理装置及びその制御方法を提供することができる。より具体的には、複数のプログラムをメインパーティションとサブパーティションに分けておき、一方のパーティションのプログラムにより他方のパーティションのプログラムを更新するようにする。これにより、一方のプログラムの更新処理が完了しなかった場合であっても、他方のプログラムの実行が出来ない状態となるのを防止することができる。 As described above, according to the first embodiment, when updating a plurality of programs executed by the information processing apparatus, even if the update process of one of the programs is not completed, the execution of another program is performed. It is possible to provide an information processing apparatus and a control method therefor so as not to be in a state where it cannot be performed. More specifically, a plurality of programs are divided into a main partition and a sub partition, and the program of the other partition is updated by the program of one partition. Thereby, even when the update process of one program is not completed, it is possible to prevent the other program from being executed.
更に、複数のプログラムのうち、いずれを更新対象とするかを特定し、更新対象として特定されたプログラムを更新するための処理のみを」実行するようにする。これにより、更新対象となっていないプログラムを更新するために情報処理装置100を再起動させる処理を無駄に実行しないようにすることができる。
Further, it is specified which of the plurality of programs is to be updated, and only the process for updating the program specified as the update target is executed. As a result, it is possible to avoid wastefully executing a process of restarting the
[他の実施例]
以上の説明においては、更新情報は、ネットワークI/F218を介してサーバ装置225から受信するものとして説明したが、他の態様であってもよい。例えば、USB−HostI/F217を介してUSBメモリ(外部メモリ)が接続されるようにし、USBメモリに記憶された更新情報をUSB−HostI/F217を介して受信するような態様であっても良い。
[Other embodiments]
In the above description, the update information has been described as being received from the
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。 The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed. In this case, the program and the storage medium storing the program constitute the present invention.
Claims (7)
第1プログラム及び第2プログラムを記憶する記憶手段と、
前記第1プログラムを実行する第1制御手段と、
前記第2プログラムを実行する第2制御手段と、 前記第1プログラム及び/又は前記第2プログラムを更新するための更新情報を受信する受信手段と、
前記受信手段により受信された前記更新情報に基づいて、前記記憶手段に記憶された前記第1プログラム及び/又は前記第2プログラムを更新する更新手段とを有し、
前記第1プログラムは前記第2プログラムを更新するための第1サブプログラムを含み、前記第2プログラムは前記第1プログラムを更新するための第2サブプログラムを含み、
前記情報処理装置は、更に、前記情報処理装置の起動時に前記第1プログラムを実行するか前記第2プログラムを実行するかを選択する選択手段とを有し、
前記更新手段は、前記選択手段が前記第1プログラムを選択した場合は前記第1サブプログラムを実行することにより前記第2プログラムを更新し、前記選択手段が前記第2プログラムを選択した場合は前記第2サブプログラムを実行することにより前記第1プログラムを更新することを特徴とする情報処理装置。 An information processing apparatus,
Storage means for storing the first program and the second program;
First control means for executing the first program;
Second control means for executing the second program; receiving means for receiving update information for updating the first program and / or the second program;
Updating means for updating the first program and / or the second program stored in the storage means based on the update information received by the receiving means;
The first program includes a first subprogram for updating the second program; the second program includes a second subprogram for updating the first program;
The information processing apparatus further includes selection means for selecting whether to execute the first program or the second program when the information processing apparatus is activated.
The updating means updates the second program by executing the first subprogram when the selecting means selects the first program, and when the selecting means selects the second program, the updating means An information processing apparatus that updates the first program by executing a second subprogram.
前記更新手段は、前記オペレーティングシステムプログラム及び前記複数のサブプログラムの少なくともいずれかを更新することを特徴とする請求項1又は2に記載の情報処理装置。 The first program includes an operating system program and a plurality of subprograms executed by the operating system program,
The information processing apparatus according to claim 1, wherein the updating unit updates at least one of the operating system program and the plurality of subprograms.
前記入力手段により入力された画像データに基づいてシート上に画像をプリントするプリント手段とを有し、
前記第2制御手段は、前記プリント手段を制御するための前記第2プログラムを実行することにより前記プリント手段を制御することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 Input means for inputting image data;
Printing means for printing an image on a sheet based on the image data input by the input means,
4. The information processing according to claim 1, wherein the second control unit controls the printing unit by executing the second program for controlling the printing unit. 5. apparatus.
前記第1プログラム及び/又は前記第2プログラムを更新するための更新情報を受信する受信ステップと、
前記受信ステップにより受信された前記更新情報に基づいて、前記記憶手段に記憶された前記第1プログラム及び/又は前記第2プログラムを更新する更新ステップとを有し、
前記第1プログラムは前記第2プログラムを更新するための第1サブプログラムを含み、前記第2プログラムは前記第1プログラムを更新するための第2サブプログラムを含み、
前記制御方法は、更に、前記情報処理装置の起動時に前記第1プログラムを実行するか前記第2プログラムを実行するかを選択する選択ステップとを有し、
前記更新ステップは、前記選択ステップが前記第1プログラムを選択した場合は前記第1サブプログラムを実行することにより前記第2プログラムを更新し、前記選択ステップが前記第2プログラムを選択した場合は前記第2サブプログラムを実行することにより前記第1プログラムを更新することを特徴とする情報処理装置の制御方法。 A control method for an information processing apparatus, comprising: storage means for storing a first program and a second program; first control means for executing the first program; and second control means for executing the second program. ,
A receiving step of receiving update information for updating the first program and / or the second program;
An update step of updating the first program and / or the second program stored in the storage unit based on the update information received by the reception step;
The first program includes a first subprogram for updating the second program; the second program includes a second subprogram for updating the first program;
The control method further includes a selection step of selecting whether to execute the first program or the second program when the information processing apparatus is activated.
The updating step updates the second program by executing the first subprogram when the selecting step selects the first program, and when the selecting step selects the second program, A method for controlling an information processing apparatus, wherein the first program is updated by executing a second subprogram.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010154958A JP5679714B2 (en) | 2010-07-07 | 2010-07-07 | Image forming apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010154958A JP5679714B2 (en) | 2010-07-07 | 2010-07-07 | Image forming apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012018523A true JP2012018523A (en) | 2012-01-26 |
JP5679714B2 JP5679714B2 (en) | 2015-03-04 |
Family
ID=45603733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010154958A Active JP5679714B2 (en) | 2010-07-07 | 2010-07-07 | Image forming apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5679714B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014099084A (en) * | 2012-11-15 | 2014-05-29 | Nintendo Co Ltd | Information processing device, information processing system, information processing program and information processing method |
JP2014238647A (en) * | 2013-06-06 | 2014-12-18 | キヤノン株式会社 | Information processing apparatus, program update method therefor, and program |
JP2016024775A (en) * | 2014-07-24 | 2016-02-08 | キヤノン株式会社 | Information processing device, control method thereof, and program |
JP2016053839A (en) * | 2014-09-03 | 2016-04-14 | キヤノン株式会社 | Information processing device, control method thereof, and program |
JP2016059982A (en) * | 2014-09-16 | 2016-04-25 | セイコーエプソン株式会社 | Image processing apparatus and robot system |
US9807268B2 (en) | 2013-11-15 | 2017-10-31 | Canon Kabushiki Kaisha | Image forming apparatus having firmware update function, method of controlling the same, program for executing the method, and storage medium |
US10127622B2 (en) | 2014-09-16 | 2018-11-13 | Seiko Epson Corporation | Image processing apparatus and robot system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099313A (en) * | 2001-09-25 | 2003-04-04 | Ricoh Co Ltd | Memory rewrite method, and program for making computer execute the method |
JP2003263323A (en) * | 2002-03-07 | 2003-09-19 | Fuji Xerox Co Ltd | Downloader and download method |
JP2005284902A (en) * | 2004-03-30 | 2005-10-13 | Net Conscious Kk | Terminal device, control method and control program thereof, host device, control method and control program thereof, and method, system, and program for remote updating |
JP2008003861A (en) * | 2006-06-22 | 2008-01-10 | Sony Corp | Information processor, program update processing method and rewriting control software |
-
2010
- 2010-07-07 JP JP2010154958A patent/JP5679714B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099313A (en) * | 2001-09-25 | 2003-04-04 | Ricoh Co Ltd | Memory rewrite method, and program for making computer execute the method |
JP2003263323A (en) * | 2002-03-07 | 2003-09-19 | Fuji Xerox Co Ltd | Downloader and download method |
JP2005284902A (en) * | 2004-03-30 | 2005-10-13 | Net Conscious Kk | Terminal device, control method and control program thereof, host device, control method and control program thereof, and method, system, and program for remote updating |
JP2008003861A (en) * | 2006-06-22 | 2008-01-10 | Sony Corp | Information processor, program update processing method and rewriting control software |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014099084A (en) * | 2012-11-15 | 2014-05-29 | Nintendo Co Ltd | Information processing device, information processing system, information processing program and information processing method |
JP2014238647A (en) * | 2013-06-06 | 2014-12-18 | キヤノン株式会社 | Information processing apparatus, program update method therefor, and program |
US9807268B2 (en) | 2013-11-15 | 2017-10-31 | Canon Kabushiki Kaisha | Image forming apparatus having firmware update function, method of controlling the same, program for executing the method, and storage medium |
US10225426B2 (en) | 2013-11-15 | 2019-03-05 | Canon Kabushiki Kaisha | Image forming apparatus having firmware update function, method of controlling the same, program for executing the method, and storage medium |
JP2016024775A (en) * | 2014-07-24 | 2016-02-08 | キヤノン株式会社 | Information processing device, control method thereof, and program |
JP2016053839A (en) * | 2014-09-03 | 2016-04-14 | キヤノン株式会社 | Information processing device, control method thereof, and program |
JP2016059982A (en) * | 2014-09-16 | 2016-04-25 | セイコーエプソン株式会社 | Image processing apparatus and robot system |
US10127622B2 (en) | 2014-09-16 | 2018-11-13 | Seiko Epson Corporation | Image processing apparatus and robot system |
Also Published As
Publication number | Publication date |
---|---|
JP5679714B2 (en) | 2015-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5679714B2 (en) | Image forming apparatus | |
JP4128516B2 (en) | Image forming apparatus and program updating method | |
KR101478600B1 (en) | Image forming apparatus including firmware, method of controlling image forming apparatus, and storage medium | |
JP5921358B2 (en) | Information processing apparatus, program update method, and program | |
JP4577162B2 (en) | Updating printer system control software | |
US8922805B2 (en) | Image processing apparatus having updatable firmware, method for controlling image processing apparatus, and program | |
JP5984326B2 (en) | Information processing apparatus, program update method, and program | |
EP2037355A2 (en) | Image forming appartus and mehtod, computer program product, and image forming system | |
EP2605502B1 (en) | Image forming apparatus with power-saving mode and image forming method | |
JP5943681B2 (en) | Information processing apparatus, firmware update method for information processing apparatus, and program | |
JP2013092940A (en) | Electronic apparatus and power control method for the same | |
JP2009295003A (en) | Electronic equipment, image forming apparatus, start control method for electronic equipment, start control program and recording medium | |
JP2009135873A (en) | Image forming device, display processing method, and display processing program | |
JP2015022681A (en) | Information processing apparatus and software update method for information processing apparatus | |
JP6399797B2 (en) | Information processing apparatus, control method therefor, and program | |
JP6485227B2 (en) | Image forming apparatus, image forming system, image forming method, and program | |
JP5701043B2 (en) | Information processing apparatus, information processing apparatus control method, and program | |
JP2012160112A (en) | Information processing device and control method thereof | |
JP2015127887A (en) | Image forming apparatus, control method of the same, and program | |
JP4856622B2 (en) | Image forming apparatus and program updating method | |
JP2014238647A (en) | Information processing apparatus, program update method therefor, and program | |
JP5779905B2 (en) | Image processing apparatus, image processing system, and image processing program | |
JP2008307837A (en) | Image forming system and its control method | |
JP6464657B2 (en) | Image processing apparatus, program update method, and computer program | |
JP5928874B2 (en) | Image forming apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130708 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140408 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140609 |
|
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: 20141209 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150106 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5679714 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |