JP5932511B2 - 情報処理装置、ソフトウェアの更新方法及びコンピュータプログラム - Google Patents
情報処理装置、ソフトウェアの更新方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP5932511B2 JP5932511B2 JP2012138172A JP2012138172A JP5932511B2 JP 5932511 B2 JP5932511 B2 JP 5932511B2 JP 2012138172 A JP2012138172 A JP 2012138172A JP 2012138172 A JP2012138172 A JP 2012138172A JP 5932511 B2 JP5932511 B2 JP 5932511B2
- Authority
- JP
- Japan
- Prior art keywords
- software
- unit
- kernel
- information processing
- processing apparatus
- 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
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)
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 (6)
- 情報処理装置であって、
前記情報処理装置のソフトウェアを更新する更新手段と、
更新対象のソフトウェアを特定する特定手段と、
前記特定手段によって特定された更新対象のソフトウェアがOSであり、かつ、カーネルを含む場合に、前記情報処理装置の電源断が必要なリブートを行うように前記更新手段を制御し、前記特定手段によって特定された更新対象のソフトウェアがOSであり、かつ、カーネルを含まない場合に、前記情報処理装置の電源断を必要としないリブートを行うように前記更新手段を制御する制御手段とを備えることを特徴とする情報処理装置。 - 前記特定手段によって特定された更新対象のソフトウェアがOSではなくアプリケーションである場合に、前記制御手段は、当該アプリケーションの差し換えを行うように前記更新手段を制御することを特徴とする請求項1に記載の情報処理装置。
- 前記情報処理装置は、プリンタ部を備える画像形成装置であることを特徴とする請求項1又は2に記載の情報処理装置。
- 情報処理装置のソフトウェアの更新方法であって、
更新対象のソフトウェアを特定する特定ステップと、
前記特定ステップで特定された更新対象のソフトウェアがOSであり、かつ、カーネルを含む場合に、前記情報処理装置の電源断が必要なリブートを行うことでソフトウェアを更新し、前記特定ステップで特定された更新対象のソフトウェアがOSであり、かつ、カーネルを含まない場合に、前記情報処理装置の電源断を必要としないリブートを行うことでソフトウェアを更新する更新ステップとを有することを特徴とするソフトウェアの更新方法。 - 前記特定ステップで特定された更新対象のソフトウェアがOSではなくアプリケーションである場合に、前記更新ステップにおいて、当該アプリケーションの差し換えを行うことを特徴とする請求項4に記載のソフトウェアの更新方法。
- 請求項4又は5に記載のソフトウェアの更新方法をコンピュータに実行させるためのプログラム。
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 JP2014002613A (ja) | 2014-01-09 |
JP2014002613A5 JP2014002613A5 (ja) | 2015-08-06 |
JP5932511B2 true 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 | キヤノン株式会社 | 情報処理装置、及び情報処理方法 |
Family Cites Families (15)
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 |
JP2002244874A (ja) * | 2001-02-15 | 2002-08-30 | Toshiba Corp | 情報処理装置およびファームウェア更新方法 |
US6928579B2 (en) * | 2001-06-27 | 2005-08-09 | Nokia Corporation | Crash recovery system |
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 |
JP2006239923A (ja) * | 2005-03-01 | 2006-09-14 | Canon Inc | プリンタ装置、情報処理装置及び通信機能拡張装置 |
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 |
JP2009006590A (ja) * | 2007-06-28 | 2009-01-15 | Fuji Xerox Co Ltd | 画像形成装置及び制御基盤 |
JP4983815B2 (ja) * | 2009-01-30 | 2012-07-25 | ブラザー工業株式会社 | 情報処理装置及び制御プログラム |
CA2717977A1 (en) * | 2009-10-20 | 2011-04-20 | Research In Motion Limited | Enhanced fast reset in mobile wireless communication devices and associated methods |
JP5185918B2 (ja) * | 2009-12-25 | 2013-04-17 | 東芝テック株式会社 | 電子機器及びプログラム |
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
Also Published As
Publication number | Publication date |
---|---|
JP2014002613A (ja) | 2014-01-09 |
US20130339939A1 (en) | 2013-12-19 |
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 | |
JP4764056B2 (ja) | 画像処理装置、制御プログラムの更新方法、およびプログラム | |
JP2012006306A (ja) | 印刷装置、印刷装置の制御方法、及び、プログラム | |
US20090219569A1 (en) | Information processing apparatus, information processing system, and information processing method | |
JP2013218510A (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) | 画像処理装置 | |
JP7102166B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP2013250911A (ja) | 画像形成装置、画像形成装置の制御方法およびコンピュータプログラム | |
JP2011039847A (ja) | 情報処理装置及びその制御方法 | |
US20180160006A1 (en) | Image processing apparatus and method of controlling an image processing apparatus | |
JP2001022690A (ja) | 装置間のデータ通信方法及びそのシステム | |
JP2012190199A (ja) | 画像形成装置 | |
US20230300268A1 (en) | Information processing apparatus, image forming apparatus, and method of installing an application program therefor | |
JP5812830B2 (ja) | 情報処理装置、その制御方法、および制御プログラム | |
JP2002366362A (ja) | 電子機器、および電子機器の制御方法 | |
JP2004058499A (ja) | 画像形成装置の制御方法 | |
JP2014178741A (ja) | 画像形成装置及びその制御方法、並びにプログラム | |
JP6071684B2 (ja) | 画像形成装置及びその制御方法、並びにプログラム | |
JP2014006836A (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 |