【手続補正書】
【提出日】平成27年8月6日(2015.8.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
システムを起動するための第１のプログラムデータを記憶する第１のプログラムデータ領域と、前記システムを起動するための第２のプログラムデータを記憶する第２のプログラムデータ領域と、前記第１および第２のプログラムデータのうち一方のプログラムデータに異常が検出された場合に使用される他方のプログラムデータと同一内容の修正用データを記憶する修正用データ領域とを有する不揮発性メモリと、
前記第１および第２のプログラムデータのいずれかを前記システムの起動に使用するプログラムデータとして指定する起動情報であって、前記一方のプログラムデータを指定するように予め設定される起動情報を記憶する記憶手段と、
前記起動情報で指定されているプログラムデータを実行して前記システムの起動を行う起動手段と、
前記起動手段による起動と並行して、前記起動情報で指定されているプログラムデータの異常を検出する異常検出手段と、
前記起動手段による起動と並行して、前記第１および第２のプログラムデータのうち前記起動情報で指定されていないプログラムデータと前記修正用データとが一致するか否かを判定し、一致しないと判定された場合に、前記起動情報で指定されていないプログラムデータと前記修正用データのそれぞれに対してビットエラーの検出を行い、どちらかにビットエラーが検出された場合、ビットエラーが検出されたデータをビットエラーが検出されなかったデータにより修正するエラー修正手段と、
前記異常検出手段により前記プログラムデータの異常が検出された場合に、指定されるプログラムデータが切り換わるように前記起動情報を更新した後に、前記起動手段に前記システムの起動を実行させる再起動手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記起動情報に基づき、前記第１および第２のプログラムデータから前記システムの起動に使用するプログラムデータを選択する選択手段を備え、
前記起動手段は、前記選択手段により選択されたプログラムデータを実行して前記システムの起動を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１および第２のプログラムデータについて、前記異常検出手段により検出された異常または前記エラー修正手段により検出され修正されなかったビットエラーを有するか否かを示す異常情報を保持し、
前記再起動手段は、前記異常検出手段により前記プログラムデータの異常が検出された場合、前記異常情報に基づき、前記第１および第２のプログラムデータのうち前記起動情報で指定されていないプログラムデータが、前記異常および前記ビットエラーのいずれも有しないときに、前記起動情報の更新を行い、前記起動手段に前記起動を実行させることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記再起動手段は、前記異常検出手段により前記プログラムデータの異常が検出された場合、前記異常情報に基づき、前記第１および第２のプログラムデータのうち前記起動情報で指定されていないプログラムデータが、前記異常または前記ビットエラーを有するときには、前記不揮発性メモリに記憶されていない前記システムを起動するための新たなプログラムデータを取得し、前記第１のプログラムデータおよび前記第２のプログラムデータのうち少なくとも１つを前記新たなプログラムデータで書き換えることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記記憶手段は、前記起動情報として、前記第１および第２のプログラムデータのそれぞれのバージョンを示すバージョン情報と、前記再起動手段により更新される再起動情報とを記憶し、
前記起動手段は、前記バージョン情報および前記再起動情報に基づき、前記再起動情報が未更新である場合、前記第１および第２のプログラムデータのうちバージョンが所定の条件を満たすプログラムデータを実行し、前記再起動情報が更新済みである場合、前記第１および第２のプログラムデータのうちバージョンが前記所定の条件を満たさないプログラムデータを実行し、
前記再起動手段は、前記異常検出手段により前記プログラムデータの異常が検出された場合、前記再起動情報が未更新であるとき、前記再起動情報を更新した後に、前記起動手段に前記起動を実行させることを特徴とする請求項１または２に記載の情報処理装置。
【請求項６】
前記第１または第２のプログラムデータが前記エラー修正手段により検出され修正されなかったビットエラーを有するか否かを示すエラー情報を保持し、
前記再起動手段は、前記異常検出手段により前記プログラムデータの異常が検出された場合、前記再起動情報が未更新であり、かつ前記エラー情報がビットエラーなしを示すときに、前記再起動情報を更新し、前記起動手段に前記起動を実行させることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記再起動手段は、前記異常検出手段により前記プログラムデータの異常が検出された場合、前記再起動情報が更新済みであるか、または前記エラー情報がビットエラーありを示すときには、前記不揮発性メモリに記憶されていない前記システムを起動するための新たなプログラムデータを取得し、前記第１のプログラムデータおよび前記第２のプログラムデータのうち少なくとも１つを前記新たなプログラムデータで書き換えることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記起動手段による前記システムの起動が正常に終了した後、前記不揮発性メモリに記憶されていない前記システムを起動するための新たなプログラムデータを取得し、前記第１および第２のプログラムデータのうち前記起動情報で指定されていないプログラムデータを前記新たなプログラムデータで書き換え、指定されるプログラムデータが切り換わるように前記起動情報を更新した後、前記起動手段に前記起動を実行させ、当該起動の際に前記異常検出手段によって異常が検出されなかった場合、前記修正用データを前記起動情報で指定されていないプログラムデータで書き換え、異常が検出された場合には、指定されるプログラムデータが切り換わるように前記起動情報を更新した後、前記起動手段に前記起動を実行させることを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記異常検出手段は、前記プログラムデータの異常として、前記プログラムデータのビットエラーを検出することを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記異常検出手段は、前記プログラムデータの異常として、前記プログラムデータによる前記システムの起動の失敗を検出することを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
システムを起動するための第１のプログラムデータを記憶する第１のプログラムデータ領域と、前記システムを起動するための第２のプログラムデータを記憶する第２のプログラムデータ領域と、前記第１および第２のプログラムデータのうち一方のプログラムデータに異常が検出された場合に使用される他方のプログラムデータと同一内容の修正用データを記憶する修正用データ領域とを有する不揮発性メモリのうち、前記第１および第２のプログラムデータのいずれかを前記システムの起動に使用するプログラムデータとして指定する起動情報であって、前記一方のプログラムデータを指定するように予め設定される起動情報で指定されているプログラムデータを実行して前記システムの起動を行う起動工程と、
前記起動工程による起動と並行して、前記起動情報で指定されているプログラムデータの異常を検出する異常検出工程と、
前記起動工程による起動と並行して、前記第１および第２のプログラムデータのうち前記起動情報で指定されていないプログラムデータと前記修正用データとが一致するか否かを判定し、一致しないと判定された場合に、前記起動情報で指定されていないプログラムデータと前記修正用データのそれぞれに対してビットエラーの検出を行い、どちらかにビットエラーが検出された場合、ビットエラーが検出されたデータをビットエラーが検出されなかったデータにより修正するエラー修正工程と、
前記異常検出工程により前記プログラムデータの異常が検出された場合に、指定されるプログラムデータが切り換わるように前記起動情報を更新した後に、前記起動工程に前記システムの起動を実行させる再起動工程と、
を含むことを特徴とする情報処理方法。
【請求項１２】
システムを起動するための第１のプログラムデータを記憶する第１のプログラムデータ領域と、前記システムを起動するための第２のプログラムデータを記憶する第２のプログラムデータ領域と、前記第１および第２のプログラムデータのうち一方のプログラムデータに異常が検出された場合に使用される他方のプログラムデータと同一内容の修正用データを記憶する修正用データ領域とを有する不揮発性メモリのうち、前記第１および第２のプログラムデータのいずれかを前記システムの起動に使用するプログラムデータとして指定する起動情報であって、前記一方のプログラムデータを指定するように予め設定される起動情報で指定されているプログラムデータを実行して前記システムの起動を行う起動工程と、
前記起動工程による起動と並行して、前記起動情報で指定されているプログラムデータの異常を検出する異常検出工程と、
前記起動工程による起動と並行して、前記第１および第２のプログラムデータのうち前記起動情報で指定されていないプログラムデータと前記修正用データとが一致するか否かを判定し、一致しないと判定された場合に、前記起動情報で指定されていないプログラムデータと前記修正用データのそれぞれに対してビットエラーの検出を行い、どちらかにビットエラーが検出された場合、ビットエラーが検出されたデータをビットエラーが検出されなかったデータにより修正するエラー修正工程と、
前記異常検出工程により前記プログラムデータの異常が検出された場合に、指定されるプログラムデータが切り換わるように前記起動情報を更新した後に、前記起動工程に前記システムの起動を実行させる再起動工程と、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
また、本発明に係る情報処理装置は、システムを起動するための第１のプログラムデータを記憶する第１のプログラムデータ領域と、前記システムを起動するための第２のプログラムデータを記憶する第２のプログラムデータ領域と、前記第１および第２のプログラムデータのうち一方のプログラムデータに異常が検出された場合に使用される他方のプログラムデータと同一内容の修正用データを記憶する修正用データ領域とを有する不揮発性メモリと、前記第１および第２のプログラムデータのいずれかを前記システムの起動に使用するプログラムデータとして指定する起動情報であって、前記一方のプログラムデータを指定するように予め設定される起動情報を記憶する記憶手段と、前記起動情報で指定されているプログラムデータを実行して前記システムの起動を行う起動手段と、前記起動手段による起動と並行して、前記起動情報で指定されているプログラムデータの異常を検出する異常検出手段と、前記起動手段による起動と並行して、前記第１および第２のプログラムデータのうち前記起動情報で指定されていないプログラムデータと前記修正用データとが一致するか否かを判定し、一致しないと判定された場合に、前記起動情報で指定されていないプログラムデータと前記修正用データのそれぞれに対してビットエラーの検出を行い、どちらかにビットエラーが検出された場合、ビットエラーが検出されたデータをビットエラーが検出されなかったデータにより修正するエラー修正手段と、前記異常検出手段により前記プログラムデータの異常が検出された場合に、指定されるプログラムデータが切り換わるように前記起動情報を更新した後に、前記起動手段に前記システムの起動を実行させる再起動手段とを備えることを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
また、本発明に係る情報処理方法は、システムを起動するための第１のプログラムデータを記憶する第１のプログラムデータ領域と、前記システムを起動するための第２のプログラムデータを記憶する第２のプログラムデータ領域と、前記第１および第２のプログラムデータのうち一方のプログラムデータに異常が検出された場合に使用される他方のプログラムデータと同一内容の修正用データを記憶する修正用データ領域とを有する不揮発性メモリのうち、前記第１および第２のプログラムデータのいずれかを前記システムの起動に使用するプログラムデータとして指定する起動情報であって、前記一方のプログラムデータを指定するように予め設定される起動情報で指定されているプログラムデータを実行して前記システムの起動を行う起動工程と、前記起動工程による起動と並行して、前記起動情報で指定されているプログラムデータの異常を検出する異常検出工程と、前記起動工程による起動と並行して、前記第１および第２のプログラムデータのうち前記起動情報で指定されていないプログラムデータと前記修正用データとが一致するか否かを判定し、一致しないと判定された場合に、前記起動情報で指定されていないプログラムデータと前記修正用データのそれぞれに対してビットエラーの検出を行い、どちらかにビットエラーが検出された場合、ビットエラーが検出されたデータをビットエラーが検出されなかったデータにより修正するエラー修正工程と、前記異常検出工程により前記プログラムデータの異常が検出された場合に、指定されるプログラムデータが切り換わるように前記起動情報を更新した後に、前記起動工程に前記システムの起動を実行させる再起動工程とを含むことを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
また、本発明に係るコンピュータプログラムは、システムを起動するための第１のプログラムデータを記憶する第１のプログラムデータ領域と、前記システムを起動するための第２のプログラムデータを記憶する第２のプログラムデータ領域と、前記第１および第２のプログラムデータのうち一方のプログラムデータに異常が検出された場合に使用される他方のプログラムデータと同一内容の修正用データを記憶する修正用データ領域とを有する不揮発性メモリのうち、前記第１および第２のプログラムデータのいずれかを前記システムの起動に使用するプログラムデータとして指定する起動情報であって、前記一方のプログラムデータを指定するように予め設定される起動情報で指定されているプログラムデータを実行して前記システムの起動を行う起動工程と、前記起動工程による起動と並行して、前記起動情報で指定されているプログラムデータの異常を検出する異常検出工程と、前記起動工程による起動と並行して、前記第１および第２のプログラムデータのうち前記起動情報で指定されていないプログラムデータと前記修正用データとが一致するか否かを判定し、一致しないと判定された場合に、前記起動情報で指定されていないプログラムデータと前記修正用データのそれぞれに対してビットエラーの検出を行い、どちらかにビットエラーが検出された場合、ビットエラーが検出されたデータをビットエラーが検出されなかったデータにより修正するエラー修正工程と、前記異常検出工程により前記プログラムデータの異常が検出された場合に、指定されるプログラムデータが切り換わるように前記起動情報を更新した後に、前記起動工程に前記システムの起動を実行させる再起動工程とをコンピュータに実行させることを特徴とする。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
プログラム書き換え処理では、ＣＰＵ４は、外部インタフェース６に外部メモリが接続されたことを認識すると、通信部５を介して当該外部メモリから、書き換え用の新たなプログラムおよびそのチェックサム値を読み出し、当該新たなプログラムとチェックサム値で、プログラム１００とチェックサム値１０１、プログラム１０２とチェックサム値１０３、および修正用データ１０４とチェックサム値１０５を書き換える（Ｓ３１）。上記外部メモリは、例えば図６のステップＳ２６のメッセージを見たユーザによって情報処理装置１の外部インタフェース６に接続されるものであり、例えばＵＳＢメモリ等の可搬型記憶媒体である。なお、ＣＰＵ４は、上記以外の方法で新たなプログラムを取得してもよく、例えば、ネットワークを介してネットワーク上のプログラム提供装置から取得してもよい。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１２３
【補正方法】変更
【補正の内容】
【０１２３】
以下、図７を参照して、本実施の形態２におけるプログラム書き換え処理（図６のステップＳ２７）について説明する。
ＣＰＵ４は、実施の形態１と同様に、新たなプログラムとそのチェックサム値を外部メモリから読み出し、当該新たなプログラムとチェックサム値で、プログラム１００とチェックサム値１０１、プログラム１０２とチェックサム値１０３、および修正用データ１０４とチェックサム値１０５を書き換える（Ｓ３１）。