(57)【要約】【課題】簡単な制御により、メモリに割当てられている既存の各領域に影響を及ぼすことなくプログラムの更新を行うことを可能にする。【解決手段】発明の一実施の形態の情報処理装置は、プログラムの更新処理を行うことが可能な情報処理装置であって、更新プログラムの正当性に係る検証対象のサイズのうちの最大のサイズを判定する判定手段と、前記判定手段により判定された前記最大のサイズをメモリの所定の領域において動的に確保するメモリ確保手段と、前記メモリ確保手段により確保した前記最大のサイズのメモリの領域を範囲に前記更新プログラムを前記検証対象毎に検証する検証手段と、を有する。【選択図】図１
2019164513.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの更新処理を行うことが可能な情報処理装置であって、
更新プログラムの正当性に係る検証対象のサイズのうちの最大のサイズを判定する判定手段と、
前記判定手段により判定された前記最大のサイズをメモリの所定の領域において動的に確保するメモリ確保手段と、
前記メモリ確保手段により確保した前記最大のサイズのメモリの領域を範囲に前記更新プログラムを前記検証対象毎に検証する検証手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記メモリ確保手段は、
前記メモリの所定の領域において、その他の処理による前記メモリの使用により前記判定手段により判定された前記最大のサイズを確保することができない場合に、前記その他の処理を優先させる、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記メモリ確保手段は、
前記メモリの所定の領域において、その他の処理による前記メモリの使用により前記判定手段により判定された前記最大のサイズを確保することができない場合に、前記プログラムの更新処理を中止する、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記メモリ確保手段は、
前記メモリの所定の領域において、その他の処理による前記メモリの使用により前記判定手段により判定された前記最大のサイズを確保することができない場合に、前記最大のサイズを確保することができるようになってから前記プログラムの更新処理を行う、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
前記メモリ確保手段は、
前記メモリの所定の領域において、その他の処理による前記メモリの使用により前記判定手段により判定された前記最大のサイズを確保することができない場合に、シャットダウン時に前記プログラムの更新処理を行う、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項６】
更新プログラムの正当性に係る検証対象のサイズのうちの最大のサイズを判定するステップと、
判定された前記最大のサイズをメモリの所定の領域において動的に確保するステップと、
確保した前記最大のサイズのメモリの領域を範囲に前記更新プログラムを前記検証対象毎に検証するステップと、
を含むプログラム更新方法。
【請求項７】
コンピュータを、
更新プログラムの正当性に係る検証対象のサイズのうちの最大のサイズを判定する判定手段と、
前記判定手段により判定された前記最大のサイズをメモリの所定の領域において動的に確保するメモリ確保手段と、
前記メモリ確保手段により確保した前記最大のサイズのメモリの領域を範囲に前記更新プログラムを前記検証対象毎に検証する検証手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム更新方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、情報処理装置のソフトウェアをモジュール化して各モジュールをダウンロードする際に、ダウンロードに必要なメモリ容量と確保可能なメモリ容量とを比較して、メモリ容量が不足していれば不要なモジュールを削除してメモリを効率的に使用する技術が知られている。
【０００３】
例えば、ソフトウェアをダウンロードする際に、メモリ上の不要なモジュールの存在の判断や不要なモジュールの削除、さらにはモジュールを削除した後の空き容量の算出などを行っている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来は、ソフトウェアをダウンロードする際に、メモリ上の不要なモジュールの存在の判断や不要なモジュールの削除、さらにはモジュールを削除した後の空き容量の算出など、基本制御部にかかる負荷が依然として大きいという問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、簡単な制御により、メモリに割当てられている既存の各領域に影響を及ぼすことなくプログラムの更新を行うことが可能な情報処理装置、プログラム更新方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、発明の一実施の形態の情報処理装置は、プログラムの更新処理を行うことが可能な情報処理装置であって、更新プログラムの正当性に係る検証対象のサイズのうちの最大のサイズを判定する判定手段と、前記判定手段により判定された前記最大のサイズをメモリの所定の領域において動的に確保するメモリ確保手段と、前記メモリ確保手段により確保した前記最大のサイズのメモリの領域を範囲に前記更新プログラムを前記検証対象毎に検証する検証手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、簡単な制御により、メモリに割当てられている既存の各領域に影響を及ぼすことなくプログラムの更新を行うことが可能になるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施の形態に係るプログラム更新方法の概要説明図である。
【図２】図２は、情報処理装置のハードウェア構成の一例を示す図である。
【図３】図３は、プログラム更新処理に係る主な機能ブロックの構成の一例を示す図である。
【図４】図４は、ファーム更新制御部の機能ブロックの構成の一例を示す図である。
【図５】図５は、記憶部のメモリマップの構成の一例を示す図である。
【図６】図６は、ファーム更新制御部による処理フローの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、本発明に係る情報処理装置、プログラム更新方法、およびプログラムの実施の形態を詳細に説明する。なお、以下の実施の形態により本発明が限定されるものではない。
【００１０】
（第１の実施の形態）
情報処理装置において、フラッシュメモリなどにはファームウェアが書き込まれており、更新ファイルを入手することによりアップデート等の更新を行うことが可能である。更新ファイルは、サーバやＵＳＢメモリなどから取得して実行することができる。以下では、プログラム更新方法の一例としてファームウェアの更新方法について説明する。
【００１１】
図１は、第１の実施の形態に係るプログラム更新方法の概要説明図である。先ず、情報処理装置は、ファームウェアの更新ファイルの存在をチェックし、更新ファイルに含まれる全ての検証対象を確認する（Ｓ１）。
【００１２】
続いて情報処理装置は、ステップＳ１で確認した検証対象のうちの正当性の検証が必要となり得る全ての検証対象の中から、各検証対象のうちの検証に必要となるメモリ使用サイズの最大サイズを判定する（Ｓ２）。このステップでは、更新ファイルに応じて含まれる検証対象が異なるため、更新ファイルに応じて動的に正当性検証のための最大サイズとして異なるサイズのものが得られる。
【００１３】
情報処理装置は、ステップ２の判定で得られた最大サイズ分のメモリ領域をプレマップ領域上に確保し（Ｓ３）、当該更新ファイルについて、確保した最大サイズ分（固定サイズ）のメモリ領域を使い、検証対象毎に順次に正当性検証を行う（Ｓ４）。
【００１４】
続いて、情報処理装置の構成を示し、情報処理装置における具体的な動作フローについて説明する。
【００１５】
図２は、情報処理装置のハードウェア構成の一例を示す図である。図２に示す情報処理装置１には、ＣＰＵ（Central  Processing  Unit）１０と、ＲＯＭ（Read  Only  Memory）１１、フラッシュＲＯＭ（フラッシュメモリ）１２と、ＲＡＭ（Random  Access  Memory）１３と、ＨＤＤ（Hard  Disk  Drive）１４と、キーボード１５、ＬＣＤ（Liquid  Crystal  Display）１６、ＬＡＮ（Local  Area  Network）カード１７、ＵＳＢ（Universal  Serial  Bus）インタフェース１８とを有する。各部はバス１９を介して接続されている。
【００１６】
ＣＰＵ１０は、演算処理や制御処理を実行する中央演算処理装置である。ＣＰＵ１０は、各種プログラムを実行するなどして情報処理装置１全体を統括的に制御する。
【００１７】
ＲＯＭ１１は、固定プログラム（例えばＢＩＯＳ（Basic  Input/Output  System）等）を記憶する。フラッシュＲＯＭ１２は、ファームウェアを記憶する。ＲＡＭ１３は、各種処理の作業領域などとして使用する。
【００１８】
ＨＤＤ１４は、基本制御プログラムやアプリケーションなどを格納する。
【００１９】
キーボード１５は、入力装置である。ＬＣＤ１６は、表示装置である。ＬＡＮカード１７は、ネットワークインタフェースである。ＵＳＢインタフェース１８は、ＵＳＢメモリなどを接続する。
【００２０】
続いて、情報処理装置１の機能ブロックを示し、情報処理装置１におけるプログラム更新処理のフローを説明する。情報処理装置１では、ＣＰＵ１０が基本制御プログラムやアプリケーションなどを適宜読み出して実行することにより、情報処理装置１が備える各種の機能を実現する。本実施の形態では、プログラム更新処理を行う主な機能ブロックについて説明する。
【００２１】
図３は、プログラム更新処理に係る主な機能ブロックの構成の一例を示す図である。図３に示すように、ＣＰＵ１０は、メモリ制御部１０１と、記憶部１０２と、電力状態制御部１０３と、ファーム更新制御部１０４とを実現する。
【００２２】
メモリ制御部１０１は記憶部１０２を管理する。例えば、アプリケーションなどからの要求に基づき記憶部１０２の記憶領域の割り当てや開放などをスケジュールして実行する。
【００２３】
記憶部１０２は、メモリを抽象化して示したものである。記憶部１０２のメモリマップは後に説明する。
【００２４】
電力状態制御部１０３は情報処理装置１の起動やシャットダウンを制御する。プログラム更新処理において、電力状態制御部１０３は起動やシャットダウンをファーム更新制御部１０４に通知する。
【００２５】
ファーム更新制御部１０４は、ファームウェアの更新を制御する。ファーム更新制御部１０４は主に更新ファイルのチェックや、最大サイズの判定などを行う。
【００２６】
図４は、ファーム更新制御部１０４の機能ブロックの構成の一例を示す図である。図４に示すようにファーム更新制御部１０４は、更新ファイルチェック部２０１と、最大サイズ判定部２０２と、メモリ確保部２０３と、検証処理部２０４とを含む。ここで、最大サイズ判定部２０２は「判定手段」に相当する。メモリ確保部２０３は「メモリ確保手段」に相当する。検証処理部２０４は「検証手段」に相当する。
【００２７】
更新ファイルチェック部２０１は、ＵＳＢメモリ内の更新ファイルやダウンロードした更新ファイルをチェックする。
【００２８】
最大サイズ判定部２０２は、更新ファイルに含まれる検証対象のうちの正当性の検証が必要となり得る全ての検証対象の中から、各検証対象のうちの検証に必要となるメモリ使用サイズの最大サイズを判定して得る。
【００２９】
メモリ確保部２０３は、メモリ制御部１０１からメモリ領域の空きのサイズを取得し、上記の最大サイズのメモリ領域（検証領域）の確保を依頼する。
【００３０】
検証処理部２０４は、各検証対象について１つずつ、確保された検証領域を使用して、正当性を検証する正当性検証処理を行う。また、検証処理部２０４は、全ての検証対象の正当性が検証された後にファームウェアのアップデートを行う。
【００３１】
図５は、記憶部１０２のメモリマップの構成の一例を示す図である。図５に示すように、本例では、情報処理装置１の起動時において所定容量のプレマップ領域Ｍ１が割り当てられる。プレマップ領域Ｍ１は、本実施の形態では、アプリケーションの動作などに利用される。
【００３２】
図６は、ファーム更新制御部１０４による処理フローの一例を示す図である。先ず、ファーム更新制御部１０４は、ファームウェアの更新ファイルの存在をチェックし、更新ファイルに含まれる全ての検証対象を確認する（Ｓ１１）。
【００３３】
続いて、ファーム更新制御部１０４は、ステップＳ１で確認した検証対象のうちの正当性の検証が必要となり得る全ての検証対象の中から、各検証対象のうちの検証に必要となるメモリ使用サイズの最大サイズを判定する（Ｓ１２）。このステップでは、更新ファイルに応じて含まれる検証対象が異なるため、更新ファイルに応じて動的に正当性検証のための最大サイズとして異なるサイズのものが得られる。
【００３４】
続いて、ファーム更新制御部１０４は、並列動作可能サイズと、ステップＳ１２の判定により得られた最大サイズとを比較し、最大サイズ分のメモリ領域を確保することができるかを判定する（Ｓ１３）。具体的には、プレマップ領域Ｍ１（図５参照）において、他の処理で使用されている領域を除く領域に最大サイズ分を割り当てるメモリ領域があるかを判定する。
【００３５】
最大サイズ分のメモリ領域を確保することができる場合（Ｓ１３：Ｙｅｓ）、ファーム更新制御部１０４は、最大サイズ分のメモリ領域をプレマップ領域Ｍ１上に確保して、その確保したメモリ領域（検証領域）へ検証対象の１つを展開する（Ｓ１４）。
【００３６】
続いて、ファーム更新制御部１０４は、検証領域へ展開した検証対象について正当性検証処理を行う（Ｓ１５）。検証対象が１つである場合、検証対象の正当性が検証されると次のステップに進むが、検証対象が複数である場合には、Ｓ１４〜Ｓ１５を繰り返す。つまり、全ての検証対象について順次、検証対象の１つについて正当性検証が終わった後に、当該検証領域へ次の検証対象を展開して正当性検証を行う処理をする。
【００３７】
そして、全ての検証対象の正当性が検証されると、ファーム更新制御部１０４はファームウェアをアップデートする（Ｓ１６）。
【００３８】
一方、最大サイズ分のメモリ領域を確保することができない場合（Ｓ１３：Ｎｏ）、他の処理とファームウェアの更新との並列動作が可能ではないため、ファーム更新制御部１０４は、プレマップ領域Ｍ１のメモリを使用する他の処理を優先する。
【００３９】
他の処理を優先した後に再びファームウェアの更新を開始するタイミングは、適宜設定してよい。
【００４０】
例えば、ファーム更新制御部１０４は、他の処理を優先したことによりファームウェアの更新を中止する（Ｓ１７）。この場合、ファーム更新制御部１０４は、情報処理装置１の再起動後にステップＳ１１からファームウェアの更新を開始する。
【００４１】
また、ファーム更新制御部１０４は、ファームウェアの更新を後回しにしてもよい（Ｓ１８）。例えば、ファーム更新制御部１０４は、定期的にステップＳ１３を行い、他の処理とファームウェアの更新との並列動作が可能になったときにステップＳ１４の処理に進める。
【００４２】
また、ファーム更新制御部１０４は、ファームウェアの更新をシャットダウン時に実行してもよい（Ｓ１９）。この場合、ファーム更新制御部１０４は、情報処理装置１のシャットダウン時にファームウェアの更新を実行する。
【００４３】
以上のように、本実施の形態によれば、更新プログラムの正当性に係る検証対象のサイズのうちの最大のサイズをメモリに割り当てる。これによれば、各更新プログラムにおいて、検証に必要な最低限の領域だけをメモリに確保すればよいことになる。従って、その他の処理がメモリを使用していたとしても、ファームウェアの更新に必要な領域の割り当てが一部で済むため、その他の処理とファームウェアの更新との並列動作が可能になる。
【００４４】
また、更新の際に、メモリ上の不要なモジュールの存在の判断や不要なモジュールの削除、さらにはモジュールを削除した後の空き容量の算出などの必要がないので、基本制御部の負荷を抑えることができる。
【００４５】
また、仮に並列動作が可能でない場合でも、その他の処理を優先させるため、その他の処理の受付や実行が可能である。
【００４６】
このように、本実施の形態では、ファーム更新制御部１０４の簡単な制御により、メモリに割当てられている既存の各記憶領域に影響を及ぼすことなくプログラムの更新を行うことが可能になり、基本制御部にかかる負荷も低減される。
【００４７】
本実施の形態の情報処理装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００４８】
また、本実施の形態の情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態の情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施の形態のプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【００４９】
１０    ＣＰＵ
１０１  メモリ制御部
１０２  記憶部
１０３  電力状態制御部
１０４  ファーム更新制御部
２０１  更新ファイルチェック部
２０２  最大サイズ判定部
２０３  メモリ確保部
２０４  検証処理部
【先行技術文献】
【特許文献】
【００５０】
【特許文献１】特開２００１−２２２３９４号公報
【図１】
2019164513.tif 000003
【図２】
2019164513.tif 000004
【図３】
2019164513.tif 000005
【図４】
2019164513.tif 000006
【図５】
2019164513.tif 000007
【図６】
2019164513.tif 000008