JP2005165557A - 情報処理装置及び制御方法並びに制御プログラム - Google Patents

情報処理装置及び制御方法並びに制御プログラム Download PDF

Info

Publication number
JP2005165557A
JP2005165557A JP2003401934A JP2003401934A JP2005165557A JP 2005165557 A JP2005165557 A JP 2005165557A JP 2003401934 A JP2003401934 A JP 2003401934A JP 2003401934 A JP2003401934 A JP 2003401934A JP 2005165557 A JP2005165557 A JP 2005165557A
Authority
JP
Japan
Prior art keywords
software
recording
new software
new
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.)
Withdrawn
Application number
JP2003401934A
Other languages
English (en)
Inventor
Hiroshi Torii
寛 鳥居
Toyohiko Ushiku
豊彦 牛久
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 JP2003401934A priority Critical patent/JP2005165557A/ja
Publication of JP2005165557A publication Critical patent/JP2005165557A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 ソフトウェアの記録やソフトウェアの起動に失敗した場合に、小さいシステム構成で、短時間で復旧することができる情報処理装置及び制御方法並びに制御プログラムを提供する。
【解決手段】 記録成功フラグ201が「0」、即ち、新規ソフトウェアの記録に成功しなかったか、又は初実行フラグ202が「0」、即ち、新規ソフトウェアを実行したことがあるときは、ソフトウェア指定フラグ203が「0」であるか否かを判別し、ソフトウェア指定フラグ203が「0」、即ち、フラッシュメモリAを示しているときは、フラッシュメモリBに格納されるソフトウェアを実行し、ソフトウェア指定フラグ203が「1」、即ち、フラッシュメモリBを示しているときは、フラッシュメモリAに格納されるソフトウェアを実行する。
【選択図】 図4

Description

本発明は、情報処理装置及び制御方法並びに制御プログラムに関し、特に、ソフトウェアを不揮発性メモリに記録し、記録したソフトウェアを実行する情報処理装置及び制御方法並びに制御プログラムに関する。
ソフトウェアを不揮発性メモリに記録する情報処理装置は、新規ソフトウェアの記録に失敗した場合や、誤って記録した場合は、新規ソフトウェアを起動することができない。
そのため、電力がバッテリーによって供給されている時にはソフトウェアの記録を禁止してソフトウェアの記録の失敗を防止する技術や、記録に失敗した場合に予備のプログラムを起動する第1の技術が提案されている(例えば、特許文献1)。
また、ソフトウェアの起動に失敗した情報処理装置を復旧させるために、上位装置と下位装置を用意し、上位装置は、下位装置を監視して、下位装置の起動失敗を検知した場合は下位装置に旧ソフトウェアを起動させる第2の技術が提案や(例えば、特許文献2)、タイマーを利用したウォッチドッグを利用してソフトウェアの起動に成功したか否かを検知し、起動に失敗したときは、ソフトウェアをリセットして再起動後に修復アプリケーションによって設定を修復する第3の技術(例えば、特許文献3)が提案されている。
また、誤ってソフトウェアを情報処理装置に記録することを防止するために、ソフトウェアを記録する際にインストーラと呼ばれるアプリケーションが情報処理装置の種別を判別してソフトウェアの記録を許可するかを決定する技術や、情報処理装置がソフトウェアに付随する情報から記録が可能であるかを判断する第4の技術が導入されている。
特開2002−176582号公報 特開2001−134428号公報 特開2002−333990号公報
しかしながら、上記第1の技術では、記録に成功しても、情報処理装置に合わないソフトウェアを記録した場合は、該ソフトウェアを起動することができない。
上記第2の技術では、2つの装置が必要となり、無用なコストが生じてしまう。
上記第3の技術では、起動の失敗をウォッチドッグによって検知できない場合、又は停電やユーザの操作による電源断が生じた場合に対応することができない上に、装置の動作不能が、新規ソフトウェアによるものか、不正アプリケーションのインストールやユーザの操作等別の理由によるものかを認識することができない。また、修復アプリケーションの実行はOS起動後に行われなければならないので、復旧に時間がかかる場合があるのに加え、ウォッチドッグ機能は書き換えてはならないので、ソフトウェアの中で書き換えてはならない部分が肥大化してしまう。
上記第4の技術では、ソフトウェアを開発する際に記録可能な情報処理装置の種別を判断しなければならない上に、ハードウェア構成やソフトウェア構成によって起動できない場合がある。
本発明の目的は、ソフトウェアの記録やソフトウェアの起動に失敗した場合に、小さいシステム構成で、短時間で復旧することができる情報処理装置及び制御方法並びに制御プログラムを提供することにある。
上述の目的を達成するために、請求項1記載の情報処理装置は、ソフトウェアを旧ソフトウェアから新規ソフトウェアに更新する情報処理装置において、前記旧ソフトウェア及び前記新規ソフトウェアの一方を記録する第1の記録手段と、前記旧ソフトウェア及び前記新規ソフトウェアの他方を記録する第2の記録手段と、前記新規ソフトウェアの記録、又は前記新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶する記憶手段と、前記識別情報に応じて、前記第1の記録手段か前記第2の記録手段のどちらに記録されたソフトウェアを実行するかを決定する決定手段とを備えることを特徴とする。
請求項2記載の情報処理装置は、請求項1記載の情報処理装置において、前記記憶手段は前記新規ソフトウェアが前記第1の記録手段か前記第2の記録手段のどちらに記録されたかを示すソフトウエア指定情報を記憶し、前記決定手段は、前記新規ソフトウェアを実行したことがなく、かつ前記新規ソフトウェアの記録に成功したときは、前記ソフトウェア指定情報が示す記録手段に記録されたソフトウェアを実行することを決定し、前記新規ソフトウェアを実行したことがあるか、又は前記新規ソフトウェアの記録に成功しなかったときは、前記ソフトウェア指定情報が示す記録手段とは逆の記録手段に記録されたソフトウェアを実行すること決定することを特徴とする。
請求項3記載の情報処理装置は、請求項2記載の情報処理装置において、前記新規ソフトウェアの実行に成功した場合において、前記ソフトウェア指定情報が前記第1の記録手段を示すときは前記第2の記録手段を示すように、前記ソフトウェア指定情報が前記第2の記録手段を示すときは前記第1の記録手段を示すように、前記ソフトウェア指定情報を変更する変更手段を備えることを特徴とする。
上述の目的を達成するために、請求項4記載の情報処理装置は、ソフトウェアを旧ソフトウェアから新規ソフトウェアに更新する情報処理装置において、前記旧ソフトウェア及び前記新規ソフトウェアを記録する記録手段と、前記新規ソフトウェアの記録、又は前記新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶する第2の記憶手段と、前記識別情報に応じて、前記旧ソフトウェア及び前記新規ソフトウェアのどちらを実行するかを決定する第2の決定手段とを備えることを特徴とする。
請求項5記載の情報処理装置は、請求項4記載の情報処理装置において、前記第2の決定手段は、前記前記新規ソフトウェアの記録に成功したときは、前記新規ソフトウェアを実行することを決定し、前記新規ソフトウェアの記録に成功しなかったときは、前記旧ソフトウェアを実行することを決定することを特徴とする。
請求項6記載の情報処理装置は、請求項4又は5記載の情報処理装置において、前記第2の決定手段は、前記新規ソフトウェアの実行に成功したときは、次に前記新規ソフトウェアを実行することを決定し、前記新規ソフトウェアの実行に成功しなかったときは、次に前記旧ソフトウェアを実行することを決定することを特徴とする。
上述の目的を達成するために、請求項7記載の情報処理装置の制御方法は、ソフトウェアを旧ソフトウェアから新規ソフトウェアに更新する情報処理装置の制御方法において、前記旧ソフトウェア及び前記新規ソフトウェアの一方を第1の記録手段に記録する第1の記録ステップと、前記旧ソフトウェア及び前記新規ソフトウェアの他方を第2の記録手段に記録する第2の記録ステップと、前記新規ソフトウェアの記録、又は前記新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶する記憶ステップと、前記識別情報に応じて、前記第1の記録手段か前記第2の記録手段のどちらに記録されたソフトウェアを実行するかを決定する決定ステップとを備えることを特徴とする。
請求項8記載の情報処理装置の制御方法は、請求項7記載の情報処理装置の制御方法において、前記記憶ステップは前記新規ソフトウェアが前記第1の記録手段か前記第2の記録手段のどちらに記録されたかを示すソフトウエア指定情報を記憶し、前記決定ステップは、前記新規ソフトウェアを実行したことがなく、かつ前記新規ソフトウェアの記録に成功したときは、前記ソフトウェア指定情報が示す記録手段に記録されたソフトウェアを実行することを決定し、前記新規ソフトウェアを実行したことがあるか、又は前記新規ソフトウェアの記録に成功しなかったときは、前記ソフトウェア指定情報が示す記録手段とは逆の記録手段に記録されたソフトウェアを実行すること決定することを特徴とする。
請求項9記載の情報処理装置の制御方法は、請求項8記載の情報処理装置の制御方法において、前記新規ソフトウェアの実行に成功した場合において、前記ソフトウェア指定情報が前記第1の記録手段を示すときは前記第2の記録手段を示すように、前記ソフトウェア指定情報が前記第2の記録手段を示すときは前記第1の記録手段を示すように、前記ソフトウェア指定情報を変更する変更ステップを備えることを特徴とする。
上述の目的を達成するために、請求項10記載の情報処理装置の制御方法は、ソフトウェアを旧ソフトウェアから新規ソフトウェアに更新する情報処理装置の制御方法において、前記旧ソフトウェア及び前記新規ソフトウェアを記録する記録ステップと、前記新規ソフトウェアの記録、又は前記新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶する第2の記憶ステップと、前記識別情報に応じて、前記旧ソフトウェア及び前記新規ソフトウェアのどちらを実行するかを決定する第2の決定ステップとを備えることを特徴とする。
請求項11記載の情報処理装置の制御方法は、請求項10記載の情報処理装置の制御方法において、前記第2の決定ステップは、前記前記新規ソフトウェアの記録に成功したときは、前記新規ソフトウェアを実行することを決定し、前記新規ソフトウェアの記録に成功しなかったときは、前記旧ソフトウェアを実行することを決定することを特徴とする。
請求項12記載の情報処理装置の制御方法は、請求項10又は11記載の情報処理装置の制御方法において、前記第2の決定ステップは、前記前記新規ソフトウェアの実行に成功したときは、次に前記新規ソフトウェアを実行することを決定し、前記新規ソフトウェアの実行に成功しなかったときは、次に前記旧ソフトウェアを実行することを決定することを特徴とする。
上述の目的を達成するために、請求項13記載の情報処理装置の制御プログラムは、ソフトウェアを旧ソフトウェアから新規ソフトウェアに更新する情報処理装置の制御プログラムにおいて、前記旧ソフトウェア及び前記新規ソフトウェアの一方を第1の記録手段に記録する第1の記録モジュールと、前記旧ソフトウェア及び前記新規ソフトウェアの他方を第2の記録手段に記録する第2の記録モジュールと、前記新規ソフトウェアの記録、又は前記新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶する記憶モジュールと、前記識別情報に応じて、前記第1の記録手段か前記第2の記録手段のどちらに記録されたソフトウェアを実行するかを決定する決定モジュールとをコンピュータに実行させることを特徴とする。
上述の目的を達成するために、請求項14記載の情報処理装置の制御プログラムは、ソフトウェアを旧ソフトウェアから新規ソフトウェアに更新する情報処理装置の制御プログラムにおいて、前記旧ソフトウェア及び前記新規ソフトウェアを記録する記録モジュールと、前記新規ソフトウェアの記録、又は前記新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶する第2の記憶モジュールと、前記識別情報に応じて、前記旧ソフトウェア及び前記新規ソフトウェアのどちらを実行するかを決定する第2の決定モジュールとをコンピュータに実行させることを特徴とする。
請求項1記載の情報処理装置、請求項7記載の制御方法、請求項13記載の制御プログラムによれば、新規ソフトウェアの記録、又は新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶し、識別情報に応じて、第1の記録手段か第2の記録手段のどちらに記録されたソフトウェアを実行するかを決定するので、新規ソフトウェアの記録や起動に失敗したときは旧ソフトウェアを実行することができ、もってソフトウェアの記録やソフトウェアの起動に失敗した場合に、小さいシステム構成で、短時間で復旧することができる。
請求項2記載の情報処理装置、請求項8記載の制御方法によれば、新規ソフトウェアが第1の記録手段か第2の記録手段のどちらに記録されたかを示すソフトウエア指定情報を記憶し、新規ソフトウェアを実行したことがなく、かつ新規ソフトウェアの記録に成功したときは、ソフトウェア指定情報が示す記録手段に記録されたソフトウェアを実行することを決定し、新規ソフトウェアを実行したことがあるか、又は新規ソフトウェアの記録に成功しなかったときは、ソフトウェア指定情報が示す記録手段とは逆の記録手段に記録されたソフトウェアを実行すること決定するので、請求項1の効果を確実に奏することができる。
請求項3記載の情報処理装置、請求項9記載の制御方法によれば、新規ソフトウェアの実行に成功した場合において、ソフトウェア指定情報が第1の記録手段を示すときは第2の記録手段を示すように、ソフトウェア指定情報が第2の記録手段を示すときは第1の記録手段を示すように、ソフトウェア指定情報を変更するので、請求項1の効果を確実に奏することができる。
請求項4記載の情報処理装置、請求項10記載の制御方法、請求項14記載の制御プログラムによれば、新規ソフトウェアの記録、又は新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶し、識別情報に応じて、旧ソフトウェア及び新規ソフトウェアのどちらを実行するかを決定するので、新規ソフトウェアの記録や起動に失敗したときは旧ソフトウェアを実行することができ、もってソフトウェアの記録やソフトウェアの起動に失敗した場合に、小さいシステム構成で、短時間で復旧することができる。
請求項5記載の情報処理装置、請求項11記載の制御方法によれば、新規ソフトウェアの記録に成功したときは、新規ソフトウェアを実行することを決定し、新規ソフトウェアの記録に成功しなかったときは、旧ソフトウェアを実行することを決定するので、請求項4の効果を確実に奏することができる。
請求項6記載の情報処理装置、請求項12記載の制御方法によれば、新規ソフトウェアの実行に成功したときは、次に新規ソフトウェアを実行することを決定し、新規ソフトウェアの実行に成功しなかったときは、次に旧ソフトウェアを実行することを決定するので、請求項4の効果を確実に奏することができる。
以下、本発明の実施の形態を図面を参照しながら説明する。
図1は、本発明の第1の実施の形態に係る情報処理装置の内部構成を示すブロック図である。
図1において、情報処理装置100は、ソフトウェアを実行する中央演算装置(CPU)101と、主電源を落としても記憶内容を保持することができる不揮発性記憶装置(SRAM)102(記憶手段)と、ソフトウェアを実行する際に必要な情報を一時的に蓄積する揮発性記憶装置(RAM)103と、CPU101が実行するソフトウェアを蓄積するフラッシュメモリ104(第1の記録手段),105(第2の記録手段),106と、フラッシュメモリ104又は105に蓄積すべきソフトウェア等の情報をCD−ROMから読み出すためのCD−ROMドライブ107と、各種情報を表示するディスプレイ108とを備え、これらはバス109を介して互いに接続される。
バス109は、CPU101の設定を変更することなく、CPU101がフラッシュメモリ104,105,106に格納されるソフトウェアを実行することができるように構成される。
図2は、図1におけるSRAM102の記憶領域の構成を示す図である。
図2において、SRAM102は、新規ソフトウェアの記録に成功したか否かを示す記録成功フラグ201と、新規ソフトウェアを実行したことがあるか否かを示す初実行フラグ202と、新規ソフトウェアが記録されるソフトウェアを指定するソフトウェア指定フラグ203とを不揮発性情報として格納する。
記録成功フラグ201は、新規ソフトウェアの記録に成功したことを「1」で示し、新規ソフトウェアの記録に成功しなかったことを「0」で示す。初実行フラグ202は、新規ソフトウェアを実行したことがないことを「1」で示し、新規ソフトウェアを実行したことがあることを「0」で示す。ソフトウェア指定フラグ203は、新規ソフトウェアがフラッシュメモリAに格納されていることを「0」で示し、新規ソフトウェアがフラッシュメモリBに格納されていることを「1」で示す。
これらのフラグは、夫々1つのバイト情報において1ビットを占有し、CPU101は2つ又は3つのフラグを同時に書き換えることができる。
図3は、図1の情報処理装置100によって実行されるソフトウェア記録処理のフローチャートである。
図3において、情報処理装置100のソフトウェアを書き換えるときは、まず、記録成功フラグ201を「0」に設定し(ステップS301)、ソフトウェア指定フラグ203が「0」であるか否かを判別し(ステップS302)、ソフトウェア指定フラグ203が「0」、即ち、フラッシュメモリAを示しているときは、CD−ROMドライブ107から読み出したソフトウェアをフラッシュメモリAに記録し(ステップS303)、ソフトウェア指定フラグ203が「1」、即ち、フラッシュメモリBを示しているときは、CD−ROMドライブ107から読み出したソフトウェアをフラッシュメモリBに記録する(ステップS304)。
次いで、フラッシュメモリA又はBにソフトウェアが正しく記録されたか否かを判別する(ステップS305)。ステップS305の判別は、ファイルサイズの確認やチェックサムの確認等により行われる。
ステップS305の判別の結果、ソフトウェアが正しく記録されたときは、記録成功フラグ201及び初実行フラグ202を「1」に設定し(ステップS306)、ディスプレイ108にソフトウェアの記録が成功したことを通知する表示を行い(ステップS307)、本処理を終了する。
ステップS305の判別の結果、ソフトウェアが正しく記録されなかったときは、ディスプレイ108にソフトウェアの記録が成功しなかったことを通知する表示を行い(ステップS308)、本処理を終了する。このとき、記録成功フラグ201は「0」に設定されている。この場合、ユーザは再度ソフトウェアの記録を試みるか否かの選択を行うことができる。また、正しく記録されなかったソフトウェアは実行されない。
図3の処理によれば、ソフトウェアが正しく記録されたときは(ステップS305でYES)、記録成功フラグ201及び初実行フラグ202を「1」に設定する(ステップS306)ので、新規ソフトウェアの記録に成功したときにのみ、新規ソフトウェアを実行することができる。
図4は、図1の情報処理装置100によって実行されるソフトウェア実行処理のフローチャートである。
本処理は、電源投入時又は図3のソフトウェア記録処理の後に実行される。
図4において、まず、記録成功フラグ201が「1」であるか否かを判別し(ステップS401)、記録成功フラグ201が「1」、即ち、新規ソフトウェアの記録に成功したときは、初実行フラグ202が「1」であるか否かを判別し(ステップS402)(決定手段)、初実行フラグ202が「1」、即ち、新規ソフトウェアを実行したことがないときは、記録成功フラグ201を「0」に設定する(ステップS403)。
次いで、ソフトウェア指定フラグ203が「0」であるか否かを判別し(ステップS404)、ソフトウェア指定フラグ203が「0」、即ち、フラッシュメモリAを示しているときは、フラッシュメモリAに格納されるソフトウェアを実行し(ステップS405)、ソフトウェア指定フラグ203が「1」、即ち、フラッシュメモリBを示しているときは、フラッシュメモリBに格納されるソフトウェアを実行して(ステップS406)、本処理を終了する。
ステップS401の判別の結果、記録成功フラグ201が「0」、即ち、新規ソフトウェアの記録に成功しなかったか、又はステップS402の判別の結果、初実行フラグ202が「0」、即ち、新規ソフトウェアを実行したことがあるときは、ソフトウェア指定フラグ203が「0」であるか否かを判別し(ステップS407)、ソフトウェア指定フラグ203が「0」、即ち、フラッシュメモリAを示しているときは、フラッシュメモリBに格納されるソフトウェアを実行し(ステップS408)、ソフトウェア指定フラグ203が「1」、即ち、フラッシュメモリBを示しているときは、フラッシュメモリAに格納されるソフトウェアを実行して(ステップS409)、本処理を終了する。
ステップS408,S409の処理によれば、新規ソフトウェアの記録に成功しなかったときは、旧ソフトウェアが実行される。
なお、ステップS405,S406,S408,S409において、ソフトウェアの実行は、CPU101がフラッシュメモリA又はフラッシュメモリBに格納されるソフトウェアを実行するようにバス109の設定を変更することにより行われる。
図4の処理によれば、記録成功フラグ201が「0」であるか(ステップS401でNO)、又は初実行フラグ202が「0」である場合において(ステップS402でNO)、ソフトウェア指定フラグ203が「0」であるときは(ステップS407でYES)、フラッシュメモリBに格納されるソフトウェアを実行し(ステップS408)、ソフトウェア指定フラグ203が「1」であるときは(ステップS407でNO)、フラッシュメモリAに格納されるソフトウェアを実行する(ステップS409)ので、新規ソフトウェアの記録や起動に失敗したときは旧ソフトウェアを実行することができ、もってソフトウェアの記録やソフトウェアの起動に失敗した場合に、小さいシステム構成で、短時間で復旧することができる。
図5は、図1の情報処理装置100によって実行される起動成功処理のフローチャートである。
本処理は、図4のソフトウェア実行処理でOS等のプラットフォームの起動に成功した場合に実行され、起動途中に情報処理装置100がフリーズ(実行停止)した場合や、起動途中に情報処理装置100の電源が切られた場合には実行されない。
図5において、まず、初実行フラグ202が「1」であるか否かを判別し(ステップS501)、初実行フラグ202が「1」であるときは、ソフトウェア指定フラグ203を反転して「0」であるときは「1」に設定し、「1」であるときは「0」に設定し(ステップS502)(変更手段)、初実行フラグ202を「0」に設定し(ステップS503)、本処理を終了する。
ステップS501の判別の結果、初実行フラグ202が「0」であるときは、本処理を終了する。
この設定は、次に図4のソフトウェア実行処理が行われたときの動作に反映される。
図5の処理によれば、初実行フラグ202が「1」であるときは、ソフトウェア指定フラグ203を反転し(ステップS502)、初実行フラグ202を「0」に設定するので(ステップS503)、新規ソフトウェアの起動に成功したときには、次に新規ソフトウェアを実行することができると共に、新規ソフトウェアの起動に失敗したときには、次に旧ソフトウェアを実行することができる。
図6は、本発明の第2の実施の形態に係る情報処理装置の内部構成を示すブロック図である。
図6において、情報処理装置601は、ソフトウェアを実行する中央演算装置(CPU)701と、ソフトウェアを実行する際に必要な情報を一時的に蓄積する揮発性記憶装置(RAM)702と、CPU701が実行する書き換え可能なソフトウェアを格納するハードディスク703(記録手段、第2の記憶手段)と、CPU701が実行する起動用のソフトウェアを蓄積するフラッシュメモリ704と、後述する図7のパーソナルコンピュータ603との通信を担うネットワークカード705とを備え、これらはバス706を介して互いに接続される。
ハードディスク703は、MS−DOS等と同じ一般的なディレクトリ構造を有する。また、ハードディスク703は、ディレクトリ名を改名する途中で電源断が起きた場合に、次回起動したときに改名されていないか、改名されているかのいずれかの状態になるように構成される。
図7は、図6の情報処理装置601が設置される環境を示す図である。
図7において、情報処理装置601は、ネットワーク602を介して、情報処理装置601にソフトウェアを転送することのできるアプリケーションを搭載したパーソナルコンピュータ603に接続される。ネットワーク602は、イーサネット(登録商標)ケーブル等を媒体とし、各種の情報処理装置が接続される。
図8は、図6におけるハードディスク703のディレクトリ構造を示す図である。
図8において、ルートディレクトリ801には、3つのディレクトリ名のディレクトリ、即ち、/NEWディレクトリ802 、/CURRENTディレクトリ803 、及び/OLDディレクトリ804が用意される。ただし、3つのディレクトリ名のディレクトリが存在するのは、ディレクトリ名を改名するためであり、3つのディレクトリ名のディレクトリが常に存在しているとは限らない。
また、/NEWディレクトリ802 、/CURRENTディレクトリ803 、及び/OLDディレクトリ804には、3つのファイル、即ち、ソフトウェアの起動に成功したときに作成されるBOOT.OKファイル805,806,807と、ソフトウェアの記録に成功したときに作成されるDOWNLOAD.OKファイル808,809,810と、記録されたソフトウェアを格納するBOOTABLEソフトウェアファイル811,812,813が夫々存在しうる。
図9は、図6の情報処理装置601によって実行されるソフトウェア記録処理のフローチャートである。
図9において、情報処理装置601のソフトウェアを書き換えるときは、ルートディレクトリ801に/NEWディレクトリ802があれば、/NEWディレクトリ802をその内容と共に削除し(ステップS901)、/NEWディレクトリ802を新たに作成する(ステップS902)。
次いで、ネットワークカード705を介して、パーソナルコンピュータ603から転送される新規ソフトウェアを、/NEWディレクトリ802のBOOTABLEソフトウェアファイル811に記録し(ステップS903)、ソフトウェアが正しく記録されたか否かを判別する(ステップS904)。ステップS904の判別は、ファイルサイズの確認やチェックサムの確認等により行われる。
ステップS904の判別の結果、ソフトウェアが正しく記録されたときは、/NEWディレクトリ802にDOWNLOAD.OKファイル808を作成し(ステップS905)、ネットワークカード705を介して、ソフトウェアの記録が成功したことをパーソナルコンピュータ603に通知し(ステップS906)、本処理を終了する。
ステップS904の判別の結果、ソフトウェアが正しく記録されなかったときは、ネットワークカード705を介して、ソフトウェアの記録が成功しなかったことをパーソナルコンピュータ603に通知し(ステップS907)、本処理を終了する。この場合、ユーザは再度ソフトウェアの記録を試みるか否かの選択を行うことができる。また、正しく記録されなかったソフトウェアは実行されない。
図9の処理によれば、ソフトウェアが正しく記録されたときは(ステップS904でYES)、/NEWディレクトリ802にDOWNLOAD.OKファイル808を作成する(ステップS905)ので、新規ソフトウェアの記録に成功したときにのみ、新規ソフトウェアを実行することができる。
図10は、図6の情報処理装置601によって実行されるソフトウェア実行処理のフローチャートである。
本処理は、電源投入時又は図9のソフトウェア記録処理の後に実行される。
図10において、/CURRENTディレクトリ803にBOOT.OKファイル806が存在せず、かつ/OLDディレクトリ804が存在するか否かを判別し(ステップS1001)、/CURRENTディレクトリ803にBOOT.OKファイル806が存在するか、又は/OLDディレクトリ804が存在しないときは、/NEWディレクトリ802にDOWNLOAD.OKファイル808が存在するか否かを判別し(ステップS1002)(第2の決定手段)、DOWNLOAD.OKファイル808が存在するときは、ルートディレクトリ801に/OLDディレクトリ804があれば、/OLDディレクトリ804をその内容と共に削除し(ステップS1003)、/CURRENTディレクトリ803を「/OLDディレクトリ」に改名し(ステップS1004)、/NEWディレクトリ802を「/CURRENTディレクトリ」に改名する(ステップS1005)。
次いで、/CURRENTディレクトリ803のBOOTABLEソフトウェアファイル813に格納されたソフトウェアをRAM702に読込み(ステップS1006)、読込んだソフトウェアを実行し(ステップS1007)、本処理を終了する。
ステップS1002の判別の結果、/NEWディレクトリ802にDOWNLOAD.OKファイル808が存在しないときは、ステップS1003〜ステップS1005の処理を実行することなく、ステップS1006以降の処理を実行する。
ステップS1001の判別の結果、/CURRENTディレクトリ803にBOOT.OKファイル806が存在せず、かつ/OLDディレクトリ804が存在するときは、/CURRENTディレクトリ803をその内容と共に削除し(ステップS1008)、/OLDディレクトリ804を「/CURRENTディレクトリ」に改名して(ステップS1009)、ステップS1006以降の処理を実行する。
図10の処理によれば、/NEWディレクトリ802にDOWNLOAD.OKファイル808が存在しないときは(ステップS1002でNO)、/CURRENTディレクトリ803のBOOTABLEソフトウェアファイル813に格納されたソフトウェアを実行する(ステップS1007)ので、新規ソフトウェアの記録に成功しなかったときは、旧ソフトウェアを実行することができる。
また、/CURRENTディレクトリ803にBOOT.OKファイル806が存在せず、かつ/OLDディレクトリ804が存在するときは(ステップS1001でYES)、/OLDディレクトリ804を「/CURRENTディレクトリ」に改名し(ステップS1009)、/CURRENTディレクトリ803のBOOTABLEソフトウェアファイル813に格納されたソフトウェアを実行する(ステップS1007)ので、前回ソフトウェアの起動に成功しなかったときは、旧ソフトウェアを実行することができ、もってソフトウェアの記録やソフトウェアの起動に失敗した場合に、小さいシステム構成で、短時間で復旧することができる。
図11は、図6の情報処理装置601によって実行される起動成功処理のフローチャートである。
本処理は、図10のソフトウェア実行処理でOS等のプラットフォームの起動に成功した場合に実行され、起動途中にフリーズ(実行停止)したり、起動途中に情報処理装置601のユーザによって電源が切られたりした場合には、実行されない。
図11において、/CURRENTディレクトリ803にBOOT.OKファイル806が存在しないときは、BOOT.OKファイル806を作成し(ステップS1001)、本処理を終了する。
この設定は、次に図10のソフトウェア実行処理が行われたときの動作に反映される。
図11の処理によれば、/CURRENTディレクトリ803にBOOT.OKファイル806が存在しないときは、BOOT.OKファイル806を作成する(ステップS1001)ので、新規ソフトウェアの起動に成功したときには、次に新規ソフトウェアを実行することができると共に、新規ソフトウェアの起動に失敗したときには、次に旧ソフトウェアを実行することができる。
本発明の第1の実施の形態に係る情報処理装置の内部構成を示すブロック図である。 図1におけるSRAM102の記憶領域の構成を示す図である。 図1の情報処理装置100によって実行されるソフトウェア記録処理のフローチャートである。 図1の情報処理装置100によって実行されるソフトウェア実行処理のフローチャートである。 図1の情報処理装置100によって実行される起動成功処理のフローチャートである。 本発明の第2の実施の形態に係る情報処理装置の内部構成を示すブロック図である。 図6の情報処理装置601が設置される環境を示す図である。 図6におけるハードディスク703のディレクトリ構造を示す図である。 図6の情報処理装置601によって実行されるソフトウェア記録処理のフローチャートである。 図6の情報処理装置601によって実行されるソフトウェア実行処理のフローチャートである。 図6の情報処理装置601によって実行される起動成功処理のフローチャートである。
符号の説明
100 情報処理装置
101 CPU
102 SRAM
104 フラッシュメモリA
105 フラッシュメモリB

Claims (14)

  1. ソフトウェアを旧ソフトウェアから新規ソフトウェアに更新する情報処理装置において、前記旧ソフトウェア及び前記新規ソフトウェアの一方を記録する第1の記録手段と、前記旧ソフトウェア及び前記新規ソフトウェアの他方を記録する第2の記録手段と、前記新規ソフトウェアの記録、又は前記新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶する記憶手段と、前記識別情報に応じて、前記第1の記録手段か前記第2の記録手段のどちらに記録されたソフトウェアを実行するかを決定する決定手段とを備えることを特徴とする情報処理装置。
  2. 前記記憶手段は前記新規ソフトウェアが前記第1の記録手段か前記第2の記録手段のどちらに記録されたかを示すソフトウエア指定情報を記憶し、前記決定手段は、前記新規ソフトウェアを実行したことがなく、かつ前記新規ソフトウェアの記録に成功したときは、前記ソフトウェア指定情報が示す記録手段に記録されたソフトウェアを実行することを決定し、前記新規ソフトウェアを実行したことがあるか、又は前記新規ソフトウェアの記録に成功しなかったときは、前記ソフトウェア指定情報が示す記録手段とは逆の記録手段に記録されたソフトウェアを実行すること決定することを特徴とする請求項1記載の情報処理装置。
  3. 前記新規ソフトウェアの実行に成功した場合において、前記ソフトウェア指定情報が前記第1の記録手段を示すときは前記第2の記録手段を示すように、前記ソフトウェア指定情報が前記第2の記録手段を示すときは前記第1の記録手段を示すように、前記ソフトウェア指定情報を変更する変更手段を備えることを特徴とする請求項2記載の情報処理装置。
  4. ソフトウェアを旧ソフトウェアから新規ソフトウェアに更新する情報処理装置において、前記旧ソフトウェア及び前記新規ソフトウェアを記録する記録手段と、前記新規ソフトウェアの記録、又は前記新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶する第2の記憶手段と、前記識別情報に応じて、前記旧ソフトウェア及び前記新規ソフトウェアのどちらを実行するかを決定する第2の決定手段とを備えることを特徴とする情報処理装置。
  5. 前記第2の決定手段は、前記新規ソフトウェアの記録に成功したときは、前記新規ソフトウェアを実行することを決定し、前記新規ソフトウェアの記録に成功しなかったときは、前記旧ソフトウェアを実行することを決定することを特徴とする請求項4記載の情報処理装置。
  6. 前記第2の決定手段は、前記新規ソフトウェアの実行に成功したときは、次に前記新規ソフトウェアを実行することを決定し、前記新規ソフトウェアの実行に成功しなかったときは、次に前記旧ソフトウェアを実行することを決定することを特徴とする請求項4又は5記載の情報処理装置。
  7. ソフトウェアを旧ソフトウェアから新規ソフトウェアに更新する情報処理装置の制御方法において、前記旧ソフトウェア及び前記新規ソフトウェアの一方を第1の記録手段に記録する第1の記録ステップと、前記旧ソフトウェア及び前記新規ソフトウェアの他方を第2の記録手段に記録する第2の記録ステップと、前記新規ソフトウェアの記録、又は前記新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶する記憶ステップと、前記識別情報に応じて、前記第1の記録手段か前記第2の記録手段のどちらに記録されたソフトウェアを実行するかを決定する決定ステップとを備えることを特徴とする情報処理装置の制御方法。
  8. 前記記憶ステップは前記新規ソフトウェアが前記第1の記録手段か前記第2の記録手段のどちらに記録されたかを示すソフトウエア指定情報を記憶し、前記決定ステップは、前記新規ソフトウェアを実行したことがなく、かつ前記新規ソフトウェアの記録に成功したときは、前記ソフトウェア指定情報が示す記録手段に記録されたソフトウェアを実行することを決定し、前記新規ソフトウェアを実行したことがあるか、又は前記新規ソフトウェアの記録に成功しなかったときは、前記ソフトウェア指定情報が示す記録手段とは逆の記録手段に記録されたソフトウェアを実行すること決定することを特徴とする請求項7記載の情報処理装置の制御方法。
  9. 前記新規ソフトウェアの実行に成功した場合において、前記ソフトウェア指定情報が前記第1の記録手段を示すときは前記第2の記録手段を示すように、前記ソフトウェア指定情報が前記第2の記録手段を示すときは前記第1の記録手段を示すように、前記ソフトウェア指定情報を変更する変更ステップを備えることを特徴とする請求項8記載の情報処理装置の制御方法。
  10. ソフトウェアを旧ソフトウェアから新規ソフトウェアに更新する情報処理装置の制御方法において、前記旧ソフトウェア及び前記新規ソフトウェアを記録する記録ステップと、前記新規ソフトウェアの記録、又は前記新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶する第2の記憶ステップと、前記識別情報に応じて、前記旧ソフトウェア及び前記新規ソフトウェアのどちらを実行するかを決定する第2の決定ステップとを備えることを特徴とする情報処理装置の制御方法。
  11. 前記第2の決定ステップは、前記前記新規ソフトウェアの記録に成功したときは、前記新規ソフトウェアを実行することを決定し、前記新規ソフトウェアの記録に成功しなかったときは、前記旧ソフトウェアを実行することを決定することを特徴とする請求項10記載の情報処理装置の制御方法。
  12. 前記第2の決定ステップは、前記前記新規ソフトウェアの実行に成功したときは、次に前記新規ソフトウェアを実行することを決定し、前記新規ソフトウェアの実行に成功しなかったときは、次に前記旧ソフトウェアを実行することを決定することを特徴とする請求項10又は11記載の情報処理装置の制御方法。
  13. ソフトウェアを旧ソフトウェアから新規ソフトウェアに更新する情報処理装置の制御プログラムにおいて、前記旧ソフトウェア及び前記新規ソフトウェアの一方を第1の記録手段に記録する第1の記録モジュールと、前記旧ソフトウェア及び前記新規ソフトウェアの他方を第2の記録手段に記録する第2の記録モジュールと、前記新規ソフトウェアの記録、又は前記新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶する記憶モジュールと、前記識別情報に応じて、前記第1の記録手段か前記第2の記録手段のどちらに記録されたソフトウェアを実行するかを決定する決定モジュールとをコンピュータに実行させることを特徴とする情報処理装置の制御プログラム。
  14. ソフトウェアを旧ソフトウェアから新規ソフトウェアに更新する情報処理装置の制御プログラムにおいて、前記旧ソフトウェア及び前記新規ソフトウェアを記録する記録モジュールと、前記新規ソフトウェアの記録、又は前記新規ソフトウェアの実行に関連する少なくとも1つの識別情報を記憶する第2の記憶モジュールと、前記識別情報に応じて、前記旧ソフトウェア及び前記新規ソフトウェアのどちらを実行するかを決定する第2の決定モジュールとをコンピュータに実行させることを特徴とする情報処理装置の制御プログラム。
JP2003401934A 2003-12-01 2003-12-01 情報処理装置及び制御方法並びに制御プログラム Withdrawn JP2005165557A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003401934A JP2005165557A (ja) 2003-12-01 2003-12-01 情報処理装置及び制御方法並びに制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003401934A JP2005165557A (ja) 2003-12-01 2003-12-01 情報処理装置及び制御方法並びに制御プログラム

Publications (1)

Publication Number Publication Date
JP2005165557A true JP2005165557A (ja) 2005-06-23

Family

ID=34725707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003401934A Withdrawn JP2005165557A (ja) 2003-12-01 2003-12-01 情報処理装置及び制御方法並びに制御プログラム

Country Status (1)

Country Link
JP (1) JP2005165557A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016136014A1 (ja) * 2015-02-26 2016-09-01 三菱電機株式会社 監視レコーダ
JP2018180792A (ja) * 2017-04-07 2018-11-15 株式会社リコー 情報処理システム、情報処理方法、プログラム及び情報処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016136014A1 (ja) * 2015-02-26 2016-09-01 三菱電機株式会社 監視レコーダ
JPWO2016136014A1 (ja) * 2015-02-26 2017-04-27 三菱電機株式会社 監視レコーダ
JP2018180792A (ja) * 2017-04-07 2018-11-15 株式会社リコー 情報処理システム、情報処理方法、プログラム及び情報処理装置
JP7043737B2 (ja) 2017-04-07 2022-03-30 株式会社リコー 情報処理システム及び情報処理方法

Similar Documents

Publication Publication Date Title
JP5575338B2 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
JP4668416B2 (ja) ブート・ブロックへの書き込みアクセスを可能にする時のブート・ブロック・コードの保護
JP5113700B2 (ja) ファームウェア更新装置及び方法
KR100750132B1 (ko) 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체
JP3838840B2 (ja) コンピュータ
JP4810172B2 (ja) 制御装置及びバージョンアップ方法並びにプログラム
WO2011024688A1 (ja) ファームウェア更新システム、及び情報機器、並びにプログラム
JP4940599B2 (ja) 情報処理装置、情報処理装置制御プログラム、情報処理装置制御方法
JP2001331327A (ja) 電子機器
US6523103B2 (en) Disablement of a write filter stored on a write-protected partition
JP2004046453A (ja) シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
CN115145650A (zh) 信息处理装置、存储介质及信息处理方法
JP2005284902A (ja) 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム
JPH10307726A (ja) 起動エラー時におけるファームウェアリカバリ方式
JP2005165557A (ja) 情報処理装置及び制御方法並びに制御プログラム
JP2004362221A (ja) ハードディスクバックアップリカバリーシステム、およびハードディスクバックアップリカバリー方法、および情報処理装置
JP2001331379A (ja) フラッシュメモリ更新プログラムの書き換え方法及び装置
JP6554881B2 (ja) 半導体装置および記憶媒体の制御方法
JP2005050079A (ja) サーバ装置、bios更新プログラム、初期起動プログラム、及びbios更新方法
JP2007164392A (ja) 計算機
JP2010282645A (ja) Linuxプログラム起動システム
JP5418348B2 (ja) 情報処理装置およびカラオケ装置
JP2002041292A (ja) コンピュータ用リカバリ装置
JP4170133B2 (ja) 情報処理装置
JP2005242930A (ja) 情報処理装置、プログラム更新方法、プログラム更新プログラム、およびプログラム更新プログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060417

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070206