IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東芝テック株式会社の特許一覧

<>
  • 特開-処理装置及びプログラム 図1
  • 特開-処理装置及びプログラム 図2
  • 特開-処理装置及びプログラム 図3
  • 特開-処理装置及びプログラム 図4
  • 特開-処理装置及びプログラム 図5
  • 特開-処理装置及びプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023129549
(43)【公開日】2023-09-14
(54)【発明の名称】処理装置及びプログラム
(51)【国際特許分類】
   G06F 11/07 20060101AFI20230907BHJP
【FI】
G06F11/07 193
G06F11/07 140H
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023119817
(22)【出願日】2023-07-24
(62)【分割の表示】P 2019167159の分割
【原出願日】2019-09-13
(71)【出願人】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】池上 史彦
(57)【要約】
【課題】ソフトウェアのデータに誤りがあった場合に、使用可能になるまでの時間を短くすることができる処理装置及び起動方法を提供する。
【解決手段】実施形態の処理装置は、第1の記憶領域、第2の記憶領域及び処理部を含む。第1の記憶領域は、第1のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する。第2の記憶領域は、前記第1のシステムソフトウェアのコピーである第2のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する。処理部は、前記第1の記憶領域内の前記ソフトウェアのデータに誤りを検出した場合、前記誤りの修復にかかる予想時間を求める。処理部は、前記予想時間が閾値未満であるならば、前記第1のシステムソフトウェアを起動する場合に前記誤りを修復してから起動する。処理部は、前記予想時間が前記閾値以上であるならば、前記第1のシステムソフトウェアに代えて前記第2のシステムソフトウェアを起動する。
【選択図】図2
【特許請求の範囲】
【請求項1】
第1のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する第1の記憶領域と、
前記第1のシステムソフトウェアのコピーである第2のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する第2の記憶領域と、
前記第1の記憶領域内の前記ソフトウェアのデータに誤りを検出した場合、前記誤りの修復にかかる予想時間を求め、前記予想時間が閾値未満であるならば、前記第1のシステムソフトウェアを起動する場合に前記誤りを修復してから起動し、前記予想時間が前記閾値以上であるならば、前記第1のシステムソフトウェアに代えて前記第2のシステムソフトウェアを起動する、処理部と、を備える処理装置。
【請求項2】
前記誤りを修復するための修復データを記憶する第3の記憶領域をさらに備え、
前記処理部は、前記修復データを用いて前記誤りを修復する、請求項1に記載の処理装置。
【請求項3】
前記予想時間は、前記誤りを修復するための修復データをサーバーからダウンロードする時間を含む、請求項1に記載の処理装置。
【請求項4】
前記第2の記憶領域は、暗号化によりデータの読み書きが制限されている、請求項1乃至請求項3のいずれか1項に記載の処理装置。
【請求項5】
第1のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する第1の記憶領域内の前記ソフトウェアのデータに誤りを検出した場合、前記誤りの修復にかかる予想時間を求め、前記予想時間が閾値未満であるならば、前記第1のシステムソフトウェアを起動する場合に前記誤りを修復してから起動し、前記予想時間が前記閾値以上であるならば、第2のシステムソフトウェアを含む1又は複数のソフトウェアがインストールされている第2の記憶領域に記憶された前記第2のシステムソフトウェアを、前記第1のシステムソフトウェアに代えて起動する、起動方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、処理装置及び起動方法に関する。
【背景技術】
【0002】
装置の動作に関わるシステムソフトウェアなどのソフトウェアのバックアップデータを予め記憶しておき、装置の起動時に、ソフトウェアのデータに改竄又は破損などの誤りがあった場合にバックアップデータを用いてデータを書き戻す技術がある。しかしながら、データの誤りが多数ある場合、データの書き戻しに時間がかかり、装置が使用可能になるまで時間がかかる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2012-252701号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施形態が解決しようとする課題は、ソフトウェアのデータに誤りがあった場合に、使用可能になるまでの時間を短くすることができる処理装置及び起動方法を提供することである。
【課題を解決するための手段】
【0005】
実施形態の処理装置は、第1の記憶領域、第2の記憶領域及び処理部を含む。第1の記憶領域は、第1のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する。第2の記憶領域は、前記第1のシステムソフトウェアのコピーである第2のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する。処理部は、前記第1の記憶領域内の前記ソフトウェアのデータに誤りを検出した場合、前記誤りの修復にかかる予想時間を求める。処理部は、前記予想時間が閾値未満であるならば、前記第1のシステムソフトウェアを起動する場合に前記誤りを修復してから起動する。処理部は、前記予想時間が前記閾値以上であるならば、前記第1のシステムソフトウェアに代えて前記第2のシステムソフトウェアを起動する。
【図面の簡単な説明】
【0006】
図1】第1実施形態及び第2実施形態に係る処理装置についての要部回路構成の一例を示すブロック図。
図2図1中のプロセッサー11による第1実施形態に係る処理の一例を示すフローチャート。
図3図1中のプロセッサー11による第2実施形態に係る処理の一例を示すフローチャート。
図4】第3実施形態に係る処理システム及び当該処理システムに含まれる各構成要素についての要部回路構成の一例を示すブロック図。
図5図4中の処理装置のプロセッサー11による第3実施形態に係る処理の一例を示すフローチャート。
図6図4中のサーバー装置のプロセッサー11による第3実施形態に係る処理の一例を示すフローチャート。
【発明を実施するための形態】
【0007】
以下、いくつかの実施形態に係る処理装置について図面を用いて説明する。なお、以下の実施形態の説明に用いる各図面は、説明のため、構成を省略して示している場合がある。また、各図面及び以下の説明において、同一の符号は同様の要素を示す
〔第1実施形態〕
図1は、第1実施形態に係る処理装置10についての要部回路構成の一例を示すブロック図である。
処理装置10は、プログラムによって動作する装置である。処理装置10は、例えば、PC(personal computer)、サーバー、POS(point of sale)端末、事務機器、産業用コンピューター、組み込み機器、又はIoT機器などである。処理装置10は、一例として、プロセッサー11、ROM(read-only memory)12、RAM(random-access memory)13、補助記憶デバイス14、通信インターフェース15、入力デバイス16及び出力デバイス17を含む。そして、バス18などが、これら各部を接続する。
【0008】
プロセッサー11は、処理装置10の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、処理装置10の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー11の回路内に組み込まれていても良い。プロセッサー11は、例えば、CPU(central processing unit)、MPU(micro processing unit)、SoC(system on a chip)、DSP(digital signal processor)、GPU(graphics processing unit)、ASIC(application specific integrated circuit)、PLD(programmable logic device)又はFPGA(field-programmable gate array)などである。あるいは、プロセッサー11は、これらのうちの複数を組み合わせたものである。
【0009】
ROM12は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。ROM12は、専らデータの読み出しに用いられる不揮発性メモリである。ROM12は、上記のプログラムのうち、例えばファームウェアなどを記憶する。当該ファームウェアは、例えば、BIOS(Basic Input/Output System)又はUEFI(Unified Extensible Firmware Interface)などである。また、ROM12は、プロセッサー11が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
【0010】
RAM13は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。RAM13は、データの読み書きに用いられるメモリである。RAM13は、プロセッサー11が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。RAM13は、典型的には揮発性メモリである。
【0011】
補助記憶デバイス14は、プロセッサー11を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス14は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disk drive)又はフラッシュメモリなどである。補助記憶デバイス14は、上記のプログラムのうち、例えば、OS(operating system)などのシステムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶デバイス14は、プロセッサー11が各種の処理を行う上で使用するデータ、プロセッサー11での処理によって生成されたデータ又は各種の設定値などを保存する。
【0012】
補助記憶デバイス14は、例えば、Opal仕様準拠の自己暗号化ドライブ(SED(self-encrypting device))である。したがって、補助記憶デバイス14は、データを暗号化して記憶している。
【0013】
補助記憶デバイス14の記憶領域は、第1の領域141、第2の領域142及び第3の領域143を含む。なお、第1の領域141、第2の領域142及び第3の領域143は、例えばレンジによって区切られる。
【0014】
第1の領域141は、第1のデータを記憶する記憶領域である。第1のデータは、例えば、第1のシステムソフトウェア、第1のアプリケーションソフトウェア及び第1の各種データを含む。第1のシステムソフトウェアは、処理装置10にインストールされたOSなどを含むシステムソフトウェアのデータである。第1のアプリケーションソフトウェアは、処理装置10にインストールされたアプリケーションソフトウェアのデータである。なお、第1のデータは、0、1又は複数の第1のアプリケーションソフトウェアを含む。第1の各種データは、処理装置10において用いられるその他のデータなどを含む。
したがって、第1の領域141は、第1のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する第1の記憶領域の一例である。
【0015】
第1の領域141は、例えば、第1のデータを暗号化及び復号化する第1の暗号鍵が暗号化されていない。したがって、第1の領域141に記憶されたデータは、自由に読み取ることが可能である。
【0016】
第2の領域142は、第2のデータを記憶する記憶領域である。第2のデータは、第1のデータをコピーしたデータであり、バックアップ用のデータである。第2のデータは、例えば、第2のシステムソフトウェア、第2のアプリケーションソフトウェア及び第2の各種データを含む。第2のシステムソフトウェアは、第1のシステムソフトウェアをコピーしたデータである。したがって、第2のシステムソフトウェアは、処理装置10にインストールされたOSなどを含むシステムソフトウェアである。第2のアプリケーションソフトウェアは、第1のアプリケーションソフトウェアをコピーしたデータである。したがって、第2のアプリケーションソフトウェアは、処理装置10にインストールされたアプリケーションソフトウェアのデータである。第2の各種データは、第1の各種データをコピーしたデータである。
したがって、第2の領域142は、第1のシステムソフトウェアのコピーである第2のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する第2の記憶領域の一例である。
【0017】
なお、プロセッサー11は、例えば、定期的に第1のデータを第2の領域142にコピーする。また、プロセッサー11は、例えば、処理装置10の操作者による操作内容に基づき、第1のデータを第2の領域142にコピーする。また、プロセッサー11は、例えば、第1の領域141に新たにソフトウェアがインストールされたことに応じて、第1のデータを第2の領域142にコピーする。また、プロセッサー11は、例えば、第1の領域141にインストールされたソフトウェアがアップデートされたことに応じて、第1のデータを第2の領域142にコピーする。
第2の領域142は、例えば、第2のデータを暗号化及び復号化する第2の暗号鍵が暗号化されている。したがって、第2の領域142に記憶されたデータは、第2の暗号鍵を復号可能でなければ読み書きすることはできない。すなわち、第2の領域142は、データの読み書きが許可者のみに制限されている状態にある。なお、処理装置10は、第2の暗号鍵を復号可能である。例えば、処理装置10は、第2の暗号鍵を復号するためのパスワードを記憶する。
【0018】
第3の領域143は、修復データを記憶する記憶領域である。修復データは、第1のシステムソフトウェア及び第1のアプリケーションソフトウェアなどのデータを修復するためのデータである。
したがって、第3の領域143は、修復データを記憶する第3の記憶領域の一例である。
【0019】
第3の領域143は、例えば、第3のデータを暗号化及び復号化する第3の暗号鍵が暗号化されている。したがって、第3の領域143に記憶されたデータは、第3の暗号鍵を復号可能でなければ読み書きすることはできない。すなわち、第3の領域143は、データの読み書きが許可者のみに制限されている状態にある。なお、処理装置10は、第3の暗号鍵を復号可能である。例えば、処理装置10は、第3の暗号鍵を復号するためのパスワードを記憶する。
なお、第3の暗号鍵と第2の暗号鍵は、共通であっても良い。また、第2の領域142及び第3の領域143は、その他の方法によって暗号化されていても良い。また、第1の領域141も、第2の領域142及び第3の領域143と同様に第1の暗号鍵が暗号化されていても良い。また、第1の領域141~第3の領域143は、暗号化されていなくても良い。
【0020】
ROM12又は補助記憶デバイス14に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、処理装置10は、当該プログラムがROM12又は補助記憶デバイス14に記憶された状態で処理装置10の管理者などへと譲渡される。しかしながら、処理装置10は、当該プログラムがROM12又は補助記憶デバイス14に記憶されない状態で当該管理者などに譲渡されても良い。また、処理装置10は、当該プログラムとは別のプログラムがROM12又は補助記憶デバイス14に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM12又は補助記憶デバイス14へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークなどを介したダウンロードにより実現できる。
【0021】
通信インターフェース15は、処理装置10がネットワークなどを介して通信するためのインターフェースである。
【0022】
入力デバイス16は、処理装置10の操作者による操作を受け付ける。入力デバイス16は、例えば、キーボード、キーパッド、タッチパッド又はマウスなどである。
【0023】
出力デバイス17は、処理装置10の操作者に各種情報を通知するための画面を表示する。出力デバイス17は、例えば、液晶ディスプレイ又は有機EL(electro-luminescence)ディスプレイなどのディスプレイである。また、入力デバイス16及び出力デバイス17としては、タッチパネルを用いることもできる。すなわち、タッチパネルが備える表示パネルを出力デバイス17として、タッチパネルが備えるタッチパッドを入力デバイス16として用いることができる。
【0024】
バス18は、コントロールバス、アドレスバス及びデータバスなどを含み、処理装置10の各部で授受される信号を伝送する。
【0025】
以下、第1実施形態に係る処理装置10の動作を図2に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図2は、処理装置10のプロセッサー11による処理の一例を示すフローチャートである。プロセッサー11は、例えば、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこの処理を実行する。
【0026】
処理装置10のプロセッサー11は、例えば、処理装置10の電源投入にともない図2に示す処理を開始する。
図2のACT11においてプロセッサー11は、ファームウェアの実行を開始する。なお、プロセッサー11は、第1実施形態では、以下で説明するACT12~ACT21の処理を、例えばファームウェア又はファームウェア上で動作するソフトウェアにより実行する。
【0027】
ACT12においてプロセッサー11は、第1の領域141に記憶された第1のシステムソフトウェア及び第1のアプリケーションソフトウェアのデータに誤りが無いか検査する。なお、データの誤りは、例えば、データの改竄又は破損などを原因として発生する。
【0028】
ACT13においてプロセッサー11は、第1のシステムソフトウェア及び第1のアプリケーションソフトウェアの少なくともいずれかのデータに誤りを検出したか否かを判定する。プロセッサー11は、データに誤りを検出したならば、ACT13においてYesと判定してACT14へと進む。
【0029】
ACT14においてプロセッサー11は、データの誤りを解消するためのデータ修復にかかる予想時間を求める。
以上より、プロセッサー11は、ACT13及びACT14の処理を行うことで、第1の領域141内のソフトウェアのデータに誤りを検出した場合、誤りの修復にかかる予想時間を求める処理部として機能する。
【0030】
ACT15においてプロセッサー11は、データ修復を実行するか否かを判定する。プロセッサー11は、例えば、ACT14で求めた予想時間が閾値T未満であるならば、データ修復を実行すると判定する。そして、プロセッサー11は、当該予想時間が閾値T以上であるならば、データ修復を実行すると判定しない。プロセッサー11は、データ修復を実行すると判定するならば、ACT15においてYesと判定してACT16へと進む。
【0031】
ACT16においてプロセッサー11は、第3の領域143に記憶された修復データを用いてデータ修復を実行する。なお、修復の方法は公知の方法を用いることができる。
【0032】
プロセッサー11は、ACT16の処理の後、ACT17へと進む。また、プロセッサー11は、データに誤りを検出していないならば、ACT13においてNoと判定してACT17へと進む。
ACT17においてプロセッサー11は、第1の領域141に記憶された第1のシステムソフトウェアをブートする。プロセッサー11は、ACT17の処理の後、図2に示す処理を終了する。そして、プロセッサー11は、ブートした第1のシステムソフトウェアの起動処理を行う。
以上より、プロセッサー11は、ACT15~ACT17の処理を行うことで、予想時間が閾値T未満である場合、誤りを修復してから第1のシステムソフトウェアを起動する処理部として機能する。
【0033】
一方、プロセッサー11は、データ修復を実行すると判定しないならば、ACT15においてNoと判定してACT18へと進む。
【0034】
ACT18においてプロセッサー11は、選択画面に対応した画像を生成する。そして、プロセッサー11は、生成したこの画像を表示するように出力デバイス17に対して指示する。表示の指示を受けて出力デバイス17は、選択画面を表示する。
選択画面は、データ修復を実行するか第2の領域142に記憶された第2のデータを用いて起動するかを処理装置10の操作者に選択させるための画面である。選択画面は、ACT14で求めた時間、修復をするかバックアップから起動するかを当該操作者に問うための画像、修復ボタン、及びバックアップ起動ボタンを含む。修復ボタンは、データ修復を実行するように処理装置10に指示する場合に当該操作者が走査するためのボタンである。バックアップ起動ボタンは、第2のデータ、すなわちバックアップデータを用いてシステムソフトウェアを起動するように処理装置10に指示する場合に当該操作者が操作するためのボタンである。なお、文字列なども画像の一種である。
【0035】
ACT19においてプロセッサー11は、データを修復するように指示する操作が行われたか否かを判定する。すなわちプロセッサー11は、修復ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー11は、データを修復するように指示する操作が行われないならば、ACT19においてNoと判定してACT20へと進む。
【0036】
ACT20においてプロセッサー11は、バックアップデータを用いて起動するように指示する操作が行われたか否かを判定する。すなわちプロセッサー11は、バックアップ起動を操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー11は、バックアップデータを用いて起動するように指示する操作が行われないならば、ACT20においてNoと判定してACT19へと戻る。かくして、プロセッサー11は、データを修復するように指示する操作が行われるか、バックアップデータを用いて起動するように指示する操作が行われるまでACT19及びACT20を繰り返す。
【0037】
プロセッサー11は、ACT19及びACT20の待受状態にあるときにデータを修復するように指示する操作が行われたならば、ACT19においてYesと判定してACT16へと進む。
【0038】
プロセッサー11は、ACT19及びACT20の待受状態にあるときにバックアップデータを用いて起動するように指示する操作が行われたならば、ACT20においてYesと判定してACT21へと進む。
【0039】
ACT21においてプロセッサー11は、第2の領域142に記憶された第2のシステムソフトウェアをブートする。プロセッサー11は、ACT21の処理の後、図2に示す処理を終了する。そして、プロセッサー11は、ブートした第2のシステムソフトウェアの起動処理を行う。
以上より、プロセッサー11は、ACT15及びACT21の処理を行うことで、予想時間が閾値T以上である場合、第1のシステムソフトウェアに代えて第2のシステムソフトウェアを起動する処理部として機能する。
【0040】
第1実施形態の処理装置10は、第1の領域141に記録されたデータに誤りがある場合、データ修復を実行するのにかかる時間を求める。そして、第1実施形態の処理装置10は、当該時間が閾値T以上であるならば、第2の領域142に記録されたデータを用いて処理装置10を起動する。したがって、第1実施形態の処理装置10は、第1の領域141に記録されたデータに誤りがある場合、且つ処理装置10をすぐに使用しなければならないなどの理由でデータ修復をする時間がないような場合であっても安全に使用可能な状態で起動可能である。
【0041】
第1実施形態の処理装置10は、第1の領域141に記録されたデータに誤りがある場合、第3の領域143に記録された修復データを用いてデータ修復を実行する。これにより、処理装置10は、第1の領域141に記録されたデータに誤りがある場合でもデータを修復することで安全に起動することができる。
【0042】
第1実施形態の処理装置10は、第2の領域142及び第3の領域143が暗号化されている。このため、処理装置10以外からは第2の領域142及び第3の領域143に記録されたデータを読み書きすることができない。このため、第2の領域142及び第3の領域143に記録されたデータが改竄される可能性は低い。したがって、第1の領域141にデータの誤りが発生した場合でも、第2の領域142又は第3の領域143に記憶されたデータを用いてバックアップ起動又はデータの修復を行うことで、処理装置10を安全に起動することができる。
【0043】
〔第2実施形態〕
以下、第2実施形態の処理装置10について説明する。なお、第2実施形態の処理装置10の構成は、第1実施形態と同様であるので構成の説明を省略する。
【0044】
以下、第2実施形態に係る処理装置10の動作を図3に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図3は、処理装置10のプロセッサー11による処理の一例を示すフローチャートである。プロセッサー11は、例えば、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこの処理を実行する。
【0045】
第2実施形態の処理装置10のプロセッサー11は、第1実施形態の図2に示す処理に代えて図3に示す処理を実行する。
処理装置10のプロセッサー11は、例えば、処理装置10の電源投入にともない図3に示す処理を開始する。
第2実施形態では、プロセッサー11は、図3のACT11の処理の後、ACT31へと進む。
ACT31においてプロセッサー11は、通常起動するか否かを判定する。プロセッサー11は、ブート設定が、第1のシステムソフトウェアをブートする設定になっているならば、通常起動すると判定する。そして、プロセッサー11は、ブート設定が、第2のシステムソフトウェアをブートする設定になっているならば、通常起動ではなくバックアップ起動すると判定する。なお、ブート設定は、デフォルトでは第1のシステムソフトウェアをブートする設定になっている。プロセッサー11は、通常起動すると判定するならば、ACT31においてYesと判定してACT32へと進む。
【0046】
ACT32においてプロセッサー11は、通常起動する。すなわち、プロセッサー11は、第1のシステムソフトウェアをブートする。そして、プロセッサー11は、ブートした第1のシステムソフトウェアを途中の段階まで起動する。なお、プロセッサー11は、ここでは、少なくともデータ誤りの検査が可能な段階まで第1のシステムソフトウェアを起動する。プロセッサー11は、ACT32の処理の後、ACT12へと進む。なお、プロセッサー11は、第2実施形態においては、ACT12~ACT20、ACT33及びACT34の処理を第1のシステムソフトウェア又は第1のシステムソフトウェア上で動作するソフトウェアにより実行する。なお、当該処理を行うのは、第1のアプリケーションソフトウェアであっても良い。
【0047】
第2実施形態では、プロセッサー11は、ACT16の処理の後、ACT33へと進む。
ACT33においてプロセッサー11は、途中まで起動していた第1のシステムソフトウェアの起動を再開して、起動を完了する。プロセッサー11は、ACT33の処理の後、図3に示す処理を終了する。
以上より、プロセッサー11は、ACT16及びACT33の処理を行うことで、予想時間が閾値T未満である場合、誤りを修復してから第1のシステムソフトウェアを起動する処理部として機能する。
【0048】
また、第2実施形態では、プロセッサー11は、ACT20においてYesと判定したならばACT34へと進む。
ACT34においてプロセッサー11は、ブート設定を第2のシステムソフトウェアをブートする設定にする。
【0049】
ACT35においてプロセッサー11は、処理装置を再起動する。これにともない、プロセッサー11は、図3に示す処理を終了する。そして、プロセッサー11は、図3に示す処理を再度実行開始する。
【0050】
そして、プロセッサー11は、ブート設定が第2のシステムソフトウェアをブートする設定になっているため、バックアップ起動する。プロセッサー11は、バックアップ起動すると判定するならば、ACT31においてNoと判定してACT36へと進む。
ACT36においてプロセッサー11は、バックアップ起動する。すなわち、プロセッサー11は、第2のシステムソフトウェアをブートする。そして、プロセッサー11は、ブートした第2のシステムソフトウェアを起動する。なお、プロセッサー11は、ブート設定を、第1のシステムソフトウェアをブートする設定に戻す。プロセッサー11は、ACT36の処理の後、図3に示す処理を終了する。
以上より、プロセッサー11は、ACT15及びACT34~ACT36の処理を行うことで、予想時間が閾値T以上である場合、第1のシステムソフトウェアに代えて第2のシステムソフトウェアを起動する処理部として機能する。
【0051】
第2実施形態の処理装置10は、第1実施形態の処理装置10と同様の効果が得られる。
また、第2実施形態の処理装置10は、システムソフトウェアの変更又はアプリケーションソフトウェアのインストールなどによって、既存の処理装置に図3に示す処理を実行させることができる。
【0052】
〔第3実施形態〕
以下、第3実施形態の処理システム1について説明する。
図4は、処理システム1及び処理システム1に含まれる構成要素の要部回路構成の一例を示すブロック図である。
処理システム1は、処理装置10及びサーバー装置20を含む。なお、図4には、処理装置10及びサーバー装置20を1台ずつ示す。しかしながら、処理装置10及びサーバー装置20は、それぞれ複数あっても良い。ただし、以下の説明では、1台の処理装置10及び1台のサーバー装置20に着目して説明を行う。
【0053】
処理装置10及びサーバー装置20は、ネットワークNWに接続する。ネットワークNWは、典型的にはインターネットを含む通信網である。ネットワークNWは、典型的にはWAN(wide area network)を含む通信網である。ネットワークNWは、イントラネットなどのプライベートネットワークを含む通信網であっても良い。ネットワークNWは、LAN(local area network)を含む通信網であっても良い。
【0054】
第3実施形態の処理装置10は、第1実施形態及び第2実施形態の処理装置10と同様の構成であるので説明を省略する。
ただし、第3実施形態では、処理装置10の補助記憶デバイス14の記憶領域は、第1の領域141及び第2の領域142を含み、第3の領域143を含まない。
【0055】
サーバー装置20は、一例として、プロセッサー21、ROM22、RAM23、補助記憶デバイス24及び通信インターフェース25を含む。そして、バス26などが、これら各部を接続する。
【0056】
プロセッサー21は、サーバー装置20の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー21は、ROM22又は補助記憶デバイス24などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、サーバー装置20の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー21の回路内に組み込まれていても良い。プロセッサー21は、例えば、CPU、MPU、SoC、DSP、GPU、ASIC、PLD又はFPGAなどである。あるいは、プロセッサー21は、これらのうちの複数を組み合わせたものである。
【0057】
ROM22は、プロセッサー21を中枢とするコンピューターの主記憶装置に相当する。ROM22は、専らデータの読み出しに用いられる不揮発性メモリである。ROM22は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ROM22は、プロセッサー21が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
【0058】
RAM23は、プロセッサー21を中枢とするコンピューターの主記憶装置に相当する。RAM23は、データの読み書きに用いられるメモリである。RAM23は、プロセッサー21が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。RAM23は、典型的には揮発性メモリである。
【0059】
補助記憶デバイス24は、プロセッサー21を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス24は、例えばEEPROM、HDD又はフラッシュメモリなどである。補助記憶デバイス24は、上記のプログラムのうち、例えば、システムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶デバイス24は、プロセッサー21が各種の処理を行う上で使用するデータ、プロセッサー21での処理によって生成されたデータ又は各種の設定値などを保存する。
【0060】
また、補助記憶デバイス14は、修復データを記憶する。当該修復データは、第1実施形態及び第2実施形態において第3の領域143が記憶する修復データと同様のデータである。
【0061】
ROM22又は補助記憶デバイス24に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、サーバー装置20は、当該プログラムがROM22又は補助記憶デバイス24に記憶された状態でサーバー装置20の管理者などへと譲渡される。しかしながら、サーバー装置20は、当該プログラムがROM22又は補助記憶デバイス24に記憶されない状態で当該管理者などに譲渡されても良い。また、サーバー装置20は、当該プログラムとは別のプログラムがROM22又は補助記憶デバイス24に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するためのプログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM22又は補助記憶デバイス24へと書き込まれても良い。このときのプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWなどを介したダウンロードにより実現できる。
【0062】
通信インターフェース25は、サーバー装置20がネットワークNWなどを介して通信するためのインターフェースである。
【0063】
バス26は、コントロールバス、アドレスバス及びデータバスなどを含み、サーバー装置20の各部で授受される信号を伝送する。
【0064】
以下、実施形態に係る処理システム1の動作を図5及び図6などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図5は、処理装置10のプロセッサー11による処理の一例を示すフローチャートである。プロセッサー11は、例えば、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこの処理を実行する。図6は、サーバー装置20のプロセッサー21による処理の一例を示すフローチャートである。プロセッサー21は、例えば、ROM22又は補助記憶デバイス24などに記憶されたプログラムに基づいてこの処理を実行する。
【0065】
第3実施形態の処理装置10のプロセッサー11は、第2実施形態の図3に示す処理に代えて図5に示す処理を実行する。
第3実施形態では、プロセッサー11は、図5のACT13においてYesと判定したならばACT41へと進む。
ACT41においてプロセッサー11は、データ修復にかかる予想時間を求める。なお、プロセッサー11は、例えば、サーバー装置20との通信にかかる通信時間を加味して予想時間を求める。すなわち、プロセッサー11は、データ修復の処理にかかる時間とデータ修復に用いる修復データのダウンロードにかかる時間を足したものを当該予想時間として求める。第3実施形態では、処理装置10は、修復データをサーバー装置20から取得する。通信時間は当該取得に係る時間である。プロセッサー11は、例えば、サーバー装置20との通信速度を計測し、修復データを取得するのにかかる時間を当該通信速度から求める。プロセッサー11は、ACT41の処理の後、ACT15へと進む。
以上より、プロセッサー11は、ACT13及びACT41の処理を行うことで、第1の領域141にインストールされているソフトウェアの誤りを検出した場合、誤りの修復にかかる予想時間を求める処理部として機能する。
【0066】
なお、プロセッサー11は、第3実施形態のACT15において、ACT14に代えてACT41で求めた予想時間を用いる。また、プロセッサー11は、ACT15の処理においてYesと判定したならばACT42へと進む。
【0067】
ACT42においてプロセッサー11は、誤り情報を生成する。誤り情報は、処理装置10のデータに誤りがあることをサーバー装置20に通知する。また、誤り情報は、当該誤りの修復に必要な修復データを送信するようにサーバー装置20に要求する。プロセッサー11は、誤り情報を生成した後、当該誤り情報をサーバー装置20に送信するように通信インターフェース15に対して指示する。この送信の指示を受けて通信インターフェース15は、当該誤り情報をサーバー装置20に送信する。送信された当該誤り情報は、サーバー装置20の通信インターフェース25によって受信される。
【0068】
一方、図6のACT51においてサーバー装置20のプロセッサー21は、通信インターフェース25によって誤り情報が受信されるのを待ち受けている。プロセッサー21は、誤り情報が受信されたならば、ACT51においてYesと判定してACT52へと進む。
【0069】
ACT52においてプロセッサー21は、修復情報を生成する。修復情報は、修復に必要な修復データを含む。当該修復データは、ACT51で受信された誤り情報によって要求された修復データである。プロセッサー21は、修復情報を生成した後、当該修復情報をサーバー装置20に送信するように通信インターフェース15に対して指示する。この送信の指示を受けて通信インターフェース15は、当該修復情報をサーバー装置20に送信する。送信された当該修復情報は、サーバー装置20の通信インターフェース25によって受信される。
【0070】
一方、図5のACT43において処理装置10のプロセッサー11は、通信インターフェース15によって修復情報が受信されるのを待ち受けている。プロセッサー11は、修復情報が受信されたならば、ACT43においてYesと判定してACT44へと進む。
【0071】
ACT44においてプロセッサー11は、ACT43で受信された修復情報に含まれる修復データを用いてデータの誤りを修復する。プロセッサー11は、ACT44の処理の後、ACT33へと進む。
【0072】
第3実施形態の処理システム1によれば、処理装置10は、修復データのダウンロードにかかる時間を加味して、データ修復にかかる予想時間を求める。したがって、処理装置10は、データ修復にかかる時間をより正確に求めることができる。
【0073】
第1実施形態~第3実施形態は以下のような変形も可能である。
【0074】
第1実施形態~第3実施形態では、処理装置10は、修復時間が閾値T以上である場合選択画面を表示して、データ修復を実行するか否かを操作者に選択させた。しかしながら、処理装置10は、選択画面を表示せず、自動的に第2のシステムソフトウェアを起動しても良い。すなわち、第1実施形態の処理装置10のプロセッサー11は、図2のACT15においてNoと判定したならば、ACT21へと進む。第2実施形態の処理装置10のプロセッサー11は、図3のACT15においてNoと判定したならば、ACT34へと進む。第3実施形態の処理装置10のプロセッサー11は、図5のACT15においてNoと判定したならば、ACT34へと進む。
【0075】
処理装置10のプロセッサー11は、処理装置10のシャットダウン時に、図2図3又は図5のACT16のデータ誤りの検査を行っても良い。この場合、プロセッサー11は、例えば、処理装置10のシャットダウン時に、ACT12~ACT14の処理を行う。ただし、プロセッサー11は、ACT13においてNoと判定したならば、通常通りシャットダウンを行う。そして、プロセッサー11は、次回起動時に、ACT12~ACT14の処理をスキップしてACT15へと進む。なお、このとき、プロセッサー11は、ACT15以降の処理を、前回シャットダウン時のACT12~ACT14の処理結果を用いて行う。
このように、ACT12~ACT14の処理を前回のシャットダウン時に行っておくことで処理装置10の起動にかかる時間を短くすることができる。
【0076】
処理装置10のプロセッサー11は、第3実施形態においてシステムソフトウェア上で行う処理をファームウェア又はファームウェア上で動作するソフトウェアによって実行しても良い。
【0077】
第2実施形態及び第3実施形態では、処理装置10のプロセッサー11は、ACT32の処理において途中の段階までシステムソフトウェアを起動する。そして、プロセッサー11は、この状態でACT12以降の処理を行う。しかしながら、プロセッサー11は、起動を完了してからACT12以降の処理を行っても良い。
【0078】
第1実施形態~第3実施形態では、第2のデータは、第1のデータの全部をコピーしたものである。しかしながら、第2のデータは、第1のデータの一部をコピーしたものであっても良い。この場合、第2のデータは、例えば、第1のデータのうちの重要でないものを含まない。第1のデータのうちのどのデータをコピーして第2のデータとするかは、例えば、設定により決定される。当該設定は、例えば、処理装置10の操作者などによって決定される。
【0079】
第1の領域141、第2の領域142及び第3の領域143のうちの2つ以上の領域が、同一レンジ内にあっても良い。
【0080】
第1の領域141、第2の領域142及び第3の領域143は、レンジ以外の方式によって区切られていても良い。例えば、第1の領域141、第2の領域142及び第3の領域143は、パーティションで区切られていても良い。
【0081】
プロセッサー11又はプロセッサー21は、上記実施形態においてプログラムによって実現する処理の一部又は全部を、回路のハードウェア構成によって実現するものであっても良い。
【0082】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0083】
1……処理システム、10……処理装置、11,21……プロセッサー、12,22……ROM、13,23……RAM、14,24……補助記憶デバイス、15,25……通信インターフェース、16……入力デバイス、17……出力デバイス、18,26……バス、20……サーバー装置、141……第1の領域、142……第2の領域、143……第3の領域
図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2023-07-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
第1のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する第1の記憶領域と、
前記第1のシステムソフトウェアのコピーである第2のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する第2の記憶領域と、
前記第1の記憶領域内の前記ソフトウェアのデータに誤りを検出した場合、前記誤りの修復にかかる予想時間を操作者に提示すると共に、前記誤りを修復してから前記第1のシステムソフトウェアを起動させる修復手段と、前記第1のシステムソフトウェアに代えて前記第2のシステムソフトウェアを起動させるバックアップ起動手段と、のうちのいずれかを前記操作者に選択させる、処理部と、
を備える処理装置。
【請求項2】
前記誤りを修復するための修復データを記憶する第3の記憶領域をさらに備え、
前記処理部は、前記修復データを用いて前記誤りを修復する、請求項1に記載の処理装置。
【請求項3】
前記予想時間は、前記誤りを修復するための修復データをサーバーからダウンロードする時間を含む、請求項1に記載の処理装置。
【請求項4】
前記第2の記憶領域は、暗号化によりデータの読み書きが制限されている、請求項1乃至請求項3のいずれか1項に記載の処理装置。
【請求項5】
第1のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する第1の記憶領域と、前記第1のシステムソフトウェアのコピーである第2のシステムソフトウェアを含む1又は複数のソフトウェアを記憶する第2の記憶領域と、を備える処理装置のコンピュータに、
前記第1の記憶領域内の前記ソフトウェアのデータに誤りを検出した場合、前記誤りの修復にかかる予想時間を操作者に提示すると共に、前記誤りを修復してから前記第1のシステムソフトウェアを起動させる機能と、前記第1のシステムソフトウェアに代えて前記第2のシステムソフトウェアを起動させる機能と、のうちのいずれかを前記操作者に選択させる機能を実行させることが可能なプログラム。