JP2014002613A - 情報処理装置、その制御方法及びコンピュータプログラム - Google Patents
情報処理装置、その制御方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2014002613A JP2014002613A JP2012138172A JP2012138172A JP2014002613A JP 2014002613 A JP2014002613 A JP 2014002613A JP 2012138172 A JP2012138172 A JP 2012138172A JP 2012138172 A JP2012138172 A JP 2012138172A JP 2014002613 A JP2014002613 A JP 2014002613A
- Authority
- JP
- Japan
- Prior art keywords
- software
- kernel
- unit
- reboot
- updated
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
Abstract
【解決手段】情報処理装置1は、記憶部に記憶されたソフトウェアの更新対象にアプリケーションだけが含まれているか否かを判断し、更新対象のソフトウェアを更新し、更新対象のソフトウェアにアプリケーションだけが含まれている場合はリブートせず、更新対象のソフトウェアにアプリケーション以外のソフトウェアが含まれている場合であって、更新対象のソフトウェアにカーネルが含まれているときはハードウェアの初期化を伴うリブートを行い、更新対象のソフトウェアに前記カーネルが含まれないときは前記ハードウェアの初期化を伴わないリブートを行う。
【選択図】図5
Description
図1は、本実施例の情報処理装置として機能する画像形成装置の構成例を示す図である。本実施例では画像形成装置を例に説明するが、本発明は計算機システム全般に適用可能な技術である。画像形成装置1は、イーサネット(登録商標)等のLAN(Local Area Network)400を介してホストコンピュータ(本実施例ではPC3,4)に接続されている。
ROM98は、メインコントローラ32に接続され、IO初期化プログラムを記憶する。
Loader1007、KernelA1008、InitrdA1009、Program StorageA1010を有する。さらに、Flash99は、KernelB1011、InitrdB1012、Program
StorageB1013を有する。
StorageA1010またはProgram StorageB1013を実際の起動ディスクとして実装する。Program StorageA1010およびProgram
StorageB1013はそれぞれ、アプリケーション部およびOS部を含むソフトウェアを記憶する。KernelA1008もしくはKernelB1011は、Program
StorageA1010およびProgram StorageB1013を実装後に、内部に配置されたソフトウェアを起動することで複写機の機能を実行する。
StorageA1010とKernelB1011、InitrdB1012、Program Storage10013はソフトウェア更新のため、冗長的に構成されている。片方が他方を更新することで、更新処理中の不整合を回避すると共に、更新失敗時のリカバリ処理を可能としている。KernelA1008とInitrdA1009、KernelB1011とInitrdB1012は、それぞれ組み合わせて用いられる。Program
StorageA1010とProgram StorageB1013は更新処理のシーケンスによって、KernelA1008とKernelB1011と任意の組み合わせで用いられる。
StorageA1010内に配置され、起動しているメインコントローラ32のソフトウェアがユーザの指示を受けバージョンアップを開始する。ステップ2001で使用されているソフトウェアは、KernelA1008、InitrdA1009、Program
StorageA1010であるものとする。
StorageA1010内で差し換えることで更新を実施する。そして、ステップ2013で、CPU33はバージョンアップを終了する。アプリケーションは、他のプロセスとの依存関係がなく独立性が高いため、CPU33はこの様に簡単な処理で更新することができる。また、この様に独立性の高いソフトウェアだけが、メタデータとしてアプリケーションであることを示す情報を有する。ハードウェアの初期化を伴わないとしてもリブート処理は数十秒から数分かかるため、アプリケーションのみの更新がもっとも高速に実施される。
StorageAの内容をProgram StorageBへ複製した後に、更新対象のOSのソフトウェアに対応するプログラムファイルを差し換えることで更新を実施する。これにより、更新処理中にプログラムファイルの不整合が発生することを防止する。カーネル、Initrdのソフトウェアが更新対象として含まれていた場合は、KernelA1008、InitrdA1009を更新後、KernelB1011、InitrdB1012に複製し、ステップ2005の処理を実施する。
StorageA1010を保持しておく。カーネルの初期化で、CPU33は、カーネル内にデバイスドライバとして記述された全ハードウェアの初期化を実行し、終了後にステップ2011の処理を実施する。
StorageA1010の実装を解除し、ステップ2011の処理を実施する。カーネルが含まれていない場合は、電源断を伴うハードウェアの初期化が必要ないため、CPU33は、OSのソフトウェアに対応するプログラムを差し換えるだけで更新を実現できる。換言すれば、CPU33は、カーネルによる起動対象を実装していたProgram
StorageA1010からProgra StorageB1013に切り替える。更新処理が完了した後は、Program StorageA1010に含まれる内容は任意のタイミングで削除されてよい。上述の構成により、Progra
StorageB1013を実装後にバージョンアップが指示された場合は、CPU33は、Progra StorageB1013をProgram StorageA1010に複製する。そして複製されたProgram
StorageA1010が更新されることになる。つまり、ステップ2007で更新対象のソフトウェアにカーネルが含まれていないと判定された場合は、電源断を必要としないリブートを実行する。
StorageA1010に含まれるプロセスと対応するProgram StorageB1013に含まれるプロセスを再起動する。すなわち、CPU33は、更新対象のソフトウェアに含まれるソフトウェアの種類に応じてリブートするリブート手段として機能する。つまり、CPU33は、更新対象のソフトウェアがアプリケーションのみの場合はリブートしない。CPU33は、更新対象のソフトウェアにアプリケーション以外のソフトウェアが含まれている場合であって、更新対象のソフトウェアがカーネルを含む場合は初期化を行い、カーネルを含まない場合は初期化を伴わないリブートを行う。そしてステップ2013で、CPU33はバージョンアップを終了する。
StorageA1010である。ステップ2007でカーネルが含まれていないとCPU33が判断した場合のバージョンアップ後に使用されるソフトウェアは、KernelA1008、InitrdA1009、Program
StorageB1013である。ステップ2007でカーネルが含まれているとCPU33が判断した場合のバージョンアップ後に使用されるソフトウェアはKernelB1011、InitrdB1012、Progra
StorageB1013である。
次にCPU33がProgram StorageA1010およびProgram StorageB1013に配置したプログラムをデマンドローディングせず、起動時にDRAM38に全て読み込んでから実行する場合の実施例を説明する。
図3と図6を用いてFlash99の内部に配置されたソフトウェアの構成について説明する。
StorageA3010を有する。CPU33は、BIOS98によって、DRAM38にBoot Loader3007を読み込み、読み込まれたBoot Loader3007が次にKernelA3008、InitrdA3009をDRAM38に読み込む。InitrdA3009はDRAM38に読み込まれたのちに、カーネル初期化時の一時的な起動ディスクとして使用される。KernelA3008は、InitrdA3009を一時起動ディスクとして起動する。その後、CPU33は、Program
StorageA3010の内容をDRAM38に全て読み込む。
StorageA3010は、アプリケーションおよびOSのソフトウェアを記憶する。Program StorageA3010を読み込んだ後にKernelA3008が内部に配置されたソフトウェアを起動することで複写機の機能を実行する。起動処理が完了するとProgram
StorageA3010はアクセスされないため、CPU33は実行時の任意のタイミングでProgram StorageA3010を書き換え、バージョンアップを実施することができる。
StorageA30010内およびDRAM38内で差し換える。その後、ステップ4013の処理を実施する。
StorageA3010上で、更新対象のOSのソフトウェアに対応するプログラムファイルを差し換えることで更新を実施する。さらに、カーネル、Initrdが含まれていた場合は、KernelA3008、InitrdA3009を更新し、CPU33は、ステップ4005の処理を実施する。
ROM98をDRAM38へ読み込み、BIOSの初期化を開始する。BIOSの初期化ではIOデバイスを中心とした部分のハードウェアの初期化を実施した後、ステップ4010の処理を実施する。ステップ4010ではKernelA3008とInitrdA3009をDRAM38へ読み込み、カーネルの初期化を開始する。カーネルの初期化で、CPU33はカーネル内にデバイスドライバとして記述された全ハードウェアの初期化を実行した後、ステップ4011の処理を実施する。
StorageA3010の再読み込みに備えて、DRAM38の内容を削除する。ステップ4011で、CPU33は、Program StorageA3010の内容をDRAM38に全て読み込み、ステップ4012の処理を実施する。ステップ4012で、CPU33は予め設計された起動シーケンスに従い、必要なプロセス群を起動する。そしてステップ4013で、CPU33はバージョンアップを終了する。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
1007 Boot Loader
1008 KernelA
1009 InitrdA
1010 Program StorageA
1011 KernelB
1012 InitrdB
1013 Program StorageB
Claims (7)
- ソフトウェアの更新処理を行う情報処理装置であって、
記憶部に記憶された前記ソフトウェアの更新対象にアプリケーションだけが含まれているか否かを判断する判断手段と、
前記更新対象のソフトウェアを更新する更新手段と、
前記更新対象のソフトウェアにアプリケーションだけが含まれている場合はリブートせず、前記更新対象のソフトウェアに前記アプリケーション以外のソフトウェアが含まれている場合であって、前記更新対象のソフトウェアにカーネルが含まれているときはハードウェアの初期化を伴うリブートを行い、前記更新対象のソフトウェアに前記カーネルが含まれないときは前記ハードウェアの初期化を伴わないリブートを行うリブート手段とを備える
ことを特徴とする情報処理装置。 - 前記更新手段は、前記更新対象のソフトウェアに前記アプリケーションだけが含まれている場合は、前記記憶部に記憶されたソフトウェアを更新し、前記更新対象のソフトウェアに前記アプリケーション以外のソフトウェアが含まれている場合に、前記記憶部に記憶されたソフトウェアを前記記憶部とは異なる他の記憶部に複製した後に、複製された前記ソフトウェアを更新し、
前記リブート手段は、前記ソフトウェアの更新対象に前記カーネルが含まれている場合は、前記記憶部に記憶された前記更新対象のソフトウェアを保持して前記ハードウェアの初期化を行い、前記初期化の終了後に前記他の記憶部に複製され更新されたソフトウェアを実装し、前記ソフトウェアの更新対象に前記カーネルが含まれていない場合は、カーネルによる起動対象を前記記憶部に記憶された前記更新対象のソフトウェアから前記他の記憶部に複製され更新されたソフトウェアに切り替える
ことを特徴とする請求項1に記載の情報処理装置。 - 前記記憶部に記憶されたソフトウェアは、デマンドローディングされて実行される
ことを特徴とする請求項2に記載の情報処理装置。 - 前記記憶部に記憶された全てのソフトウェアが実行時に読み込まれる作業部をさらに備え、
前記更新手段は、前記ソフトウェアの更新対象にアプリケーションだけが含まれている場合は、前記作業部に読み込まれたソフトウェアおよび前記記憶部に記憶された前記ソフトウェアを更新し、前記更新対象のソフトウェアに前記アプリケーション以外のソフトウェアが含まれている場合は、前記記憶部に記憶されたソフトウェアを更新し、
前記リブート手段は、前記ソフトウェアの更新対象に前記カーネルが含まれている場合は、前記作業部に読み込まれた前記ソフトウェアを保持して前記ハードウェアの初期化を行い、前記初期化の終了後に前記記憶部に記憶されたソフトウェアを実装し、前記ソフトウェアの更新対象に前記カーネルが含まれない場合は、前記作業部に読み込まれたソフトウェアを削除して前記記憶部に記憶されたソフトウェアを実装する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記ハードウェアの初期化を伴うリブートは、前記情報処理装置の電源断を必要とするリブートであり、前記ハードウェアの初期化を伴わないリブートは、前記情報処理装置の電源断を必要としないリブートであることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- ソフトウェアの更新処理を行う情報処理装置の制御方法であって、
記憶部に記憶された前記ソフトウェアの更新対象にアプリケーションだけが含まれているか否かを判断する判断工程と、
前記更新対象のソフトウェアを更新する更新工程と、
前記更新対象のソフトウェアにアプリケーションだけが含まれている場合はリブートせず、前記更新対象のソフトウェアに前記アプリケーション以外のソフトウェアが含まれている場合であって、前記更新対象のソフトウェアにカーネルが含まれているときはハードウェアの初期化を伴うリブートを行い、前記更新対象のソフトウェアに前記カーネルが含まれないときは前記ハードウェアの初期化を伴わないリブートを行うリブート工程とを含む
ことを特徴とする制御方法。 - 請求項6に記載の制御方法をコンピュータにより実行させることを特徴とするコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012138172A JP5932511B2 (ja) | 2012-06-19 | 2012-06-19 | 情報処理装置、ソフトウェアの更新方法及びコンピュータプログラム |
US13/912,938 US20130339939A1 (en) | 2012-06-19 | 2013-06-07 | Information processing apparatus, control method thereof, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012138172A JP5932511B2 (ja) | 2012-06-19 | 2012-06-19 | 情報処理装置、ソフトウェアの更新方法及びコンピュータプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014002613A true JP2014002613A (ja) | 2014-01-09 |
JP2014002613A5 JP2014002613A5 (ja) | 2015-08-06 |
JP5932511B2 JP5932511B2 (ja) | 2016-06-08 |
Family
ID=49757193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012138172A Active JP5932511B2 (ja) | 2012-06-19 | 2012-06-19 | 情報処理装置、ソフトウェアの更新方法及びコンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130339939A1 (ja) |
JP (1) | JP5932511B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6706278B2 (ja) * | 2018-03-27 | 2020-06-03 | キヤノン株式会社 | 情報処理装置、及び情報処理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002244874A (ja) * | 2001-02-15 | 2002-08-30 | Toshiba Corp | 情報処理装置およびファームウェア更新方法 |
US20030005037A1 (en) * | 2001-06-27 | 2003-01-02 | Gunnar Aija | Crash recovery system |
JP2006239923A (ja) * | 2005-03-01 | 2006-09-14 | Canon Inc | プリンタ装置、情報処理装置及び通信機能拡張装置 |
JP2009006590A (ja) * | 2007-06-28 | 2009-01-15 | Fuji Xerox Co Ltd | 画像形成装置及び制御基盤 |
JP2010176517A (ja) * | 2009-01-30 | 2010-08-12 | Brother Ind Ltd | 情報処理装置及び制御プログラム |
JP2011138231A (ja) * | 2009-12-25 | 2011-07-14 | Toshiba Tec Corp | 電子機器及びプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537596A (en) * | 1993-02-19 | 1996-07-16 | Apple Computer, Inc. | Method and apparatus for overriding resource maps in a computer system |
US6044461A (en) * | 1997-09-16 | 2000-03-28 | International Business Machines Corporation | Computer system and method of selectively rebooting the same in response to a system program code update |
US6247081B1 (en) * | 1998-02-19 | 2001-06-12 | Nortel Networks Limited | Method and apparatus for installing drivers without requiring system re-boot |
US6237091B1 (en) * | 1998-10-29 | 2001-05-22 | Hewlett-Packard Company | Method of updating firmware without affecting initialization information |
US20040093592A1 (en) * | 2002-11-13 | 2004-05-13 | Rao Bindu Rama | Firmware update in electronic devices employing SIM card for saving metadata information |
US7149889B2 (en) * | 2002-12-12 | 2006-12-12 | Scientific-Atlanta, Inc. | Proactive reboot |
US8286238B2 (en) * | 2006-09-29 | 2012-10-09 | Intel Corporation | Method and apparatus for run-time in-memory patching of code from a service processor |
CA2717977A1 (en) * | 2009-10-20 | 2011-04-20 | Research In Motion Limited | Enhanced fast reset in mobile wireless communication devices and associated methods |
US8719559B2 (en) * | 2010-10-13 | 2014-05-06 | International Business Machines Corporation | Memory tagging and preservation during a hot upgrade |
-
2012
- 2012-06-19 JP JP2012138172A patent/JP5932511B2/ja active Active
-
2013
- 2013-06-07 US US13/912,938 patent/US20130339939A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002244874A (ja) * | 2001-02-15 | 2002-08-30 | Toshiba Corp | 情報処理装置およびファームウェア更新方法 |
US20030005037A1 (en) * | 2001-06-27 | 2003-01-02 | Gunnar Aija | Crash recovery system |
JP2006239923A (ja) * | 2005-03-01 | 2006-09-14 | Canon Inc | プリンタ装置、情報処理装置及び通信機能拡張装置 |
JP2009006590A (ja) * | 2007-06-28 | 2009-01-15 | Fuji Xerox Co Ltd | 画像形成装置及び制御基盤 |
JP2010176517A (ja) * | 2009-01-30 | 2010-08-12 | Brother Ind Ltd | 情報処理装置及び制御プログラム |
JP2011138231A (ja) * | 2009-12-25 | 2011-07-14 | Toshiba Tec Corp | 電子機器及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20130339939A1 (en) | 2013-12-19 |
JP5932511B2 (ja) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5383516B2 (ja) | 画像形成装置及びそのファームウェア更新方法、並びにプログラム | |
JP4732248B2 (ja) | 画像処理装置およびその制御方法 | |
US8922805B2 (en) | Image processing apparatus having updatable firmware, method for controlling image processing apparatus, and program | |
US20090219569A1 (en) | Information processing apparatus, information processing system, and information processing method | |
JP5943681B2 (ja) | 情報処理装置、情報処理装置のファームウエア更新方法及びプログラム | |
JP2006293882A (ja) | 画像処理装置、制御プログラムの更新方法、コンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム | |
JP2006201932A (ja) | コンピュータ起動装置、及びコンピュータ起動方法、及びコンピュータ起動プログラム | |
JP2007038580A (ja) | コンピュータの退避・復帰高速化手法 | |
US9336463B2 (en) | Image forming apparatus capable of changing partitions of storage unit, and control method and storage medium therefor | |
JP5932511B2 (ja) | 情報処理装置、ソフトウェアの更新方法及びコンピュータプログラム | |
JP2006252094A (ja) | 画像処理装置 | |
JP2004086860A (ja) | 画像形成装置及びその制御方法 | |
US10447886B2 (en) | Image processing apparatus for updating a non-volatile memory and method controlling image processing apparatus | |
JP2013250911A (ja) | 画像形成装置、画像形成装置の制御方法およびコンピュータプログラム | |
JP2011039847A (ja) | 情報処理装置及びその制御方法 | |
JP2001022690A (ja) | 装置間のデータ通信方法及びそのシステム | |
JP2012190199A (ja) | 画像形成装置 | |
US20230300268A1 (en) | Information processing apparatus, image forming apparatus, and method of installing an application program therefor | |
JP2002366362A (ja) | 電子機器、および電子機器の制御方法 | |
JP6150048B2 (ja) | 画像形成システムおよび画像形成システムの診断方法 | |
JP7424457B2 (ja) | 画像形成装置及びプログラム | |
JP5812830B2 (ja) | 情報処理装置、その制御方法、および制御プログラム | |
JP2009265980A (ja) | 情報処理装置 | |
JP2014178741A (ja) | 画像形成装置及びその制御方法、並びにプログラム | |
JP6953828B2 (ja) | 情報処理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150618 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150618 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160323 |
|
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: 20160405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160428 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5932511 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |