JP2018136608A - Firmware execution device, driver execution device, driver management device, firmware management device, computer apparatus, method and program - Google Patents
Firmware execution device, driver execution device, driver management device, firmware management device, computer apparatus, method and program Download PDFInfo
- Publication number
- JP2018136608A JP2018136608A JP2017028930A JP2017028930A JP2018136608A JP 2018136608 A JP2018136608 A JP 2018136608A JP 2017028930 A JP2017028930 A JP 2017028930A JP 2017028930 A JP2017028930 A JP 2017028930A JP 2018136608 A JP2018136608 A JP 2018136608A
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- version
- driver
- combination information
- information
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、ファームウェアを更新する技術に関する。 The present invention relates to a technique for updating firmware.
近年、コンピュータ装置のハードウェアを制御するためのファームウェアには、より高い機能や信頼性、完全性が求められている。その理由として、操作性向上や信頼性向上のため、ファームウェアに組み込まれる制御プログラムがより高度で複雑となってきたことが挙げられる。また、他の理由として、ファームウェアレベルでのセキュリティの脆弱性を利用した攻撃が見受けられるようになってきたことが挙げられる。このような状況により、ファームウェアは、機能強化、セキュリティ向上、または、不具合修正等のために、頻繁に更新される。 In recent years, firmware for controlling the hardware of a computer device has been required to have higher functions, reliability, and completeness. The reason for this is that control programs incorporated in firmware have become more sophisticated and complex in order to improve operability and reliability. Another reason is that attacks using security vulnerabilities at the firmware level have come to be seen. Under such circumstances, the firmware is frequently updated for function enhancement, security improvement, or defect correction.
一般に、ファームウェアは、上位ソフトウェアの更新とは異なり、更新に失敗した場合、コンピュータ装置が起動しなくなる可能性が高い。そのため、ファームウェアを二重化したり、熟練した保守員が操作したり、工場に戻して修理したりするなどの対応がなされてきた。しかしながら、これらの対応にはコストがかかる。また、近年のように、コンピュータシステムのクラウド化が進むに伴い、サーバ装置等はデータセンタに集約されるようになってきている。この場合、データセンタ内のサーバ装置のファームウェア更新に問題があった場合でも、保守する機会を得ることが難しくなっている。このような背景から、安価で安全にファームウェアを更新する技術が求められている。 In general, unlike the update of the upper software, the firmware has a high possibility that the computer apparatus will not start if the update fails. For this reason, measures such as duplicating firmware, operation by skilled maintenance personnel, and returning to the factory for repair have been made. However, these measures are costly. In recent years, as computer systems become clouded, server devices and the like have been integrated into data centers. In this case, even when there is a problem in the firmware update of the server device in the data center, it is difficult to obtain an opportunity for maintenance. Against this background, there is a need for a technique for inexpensively and safely updating firmware.
ここで、ファームウェアのバージョンは、デバイスドライバのバージョンとの間に依存関係を有する場合がある。デバイスドライバは、コンピュータ装置の内部または外部に接続されるハードウェアデバイスを制御するプログラムである。ファームウェアが、オペレーティングシステムが起動する前の電源投入時に動作する一方で、デバイスドライバは、オペレーティングシステム上で動作する。以降、デバイスドライバを、単にドライバとも記載する。この場合、ファームウェアおよびドライバについて、正しいバージョンの組合せを正しい順序で更新しないと、動作に問題が生じる場合がある。 Here, the firmware version may have a dependency relationship with the version of the device driver. The device driver is a program that controls a hardware device connected to the inside or outside of the computer apparatus. The firmware runs on power up before the operating system starts, while the device driver runs on the operating system. Hereinafter, the device driver is also simply referred to as a driver. In this case, if the correct version combination of the firmware and driver is not updated in the correct order, a problem may occur in the operation.
このような問題に対応するため、オペレーティングシステム上で動作する更新ツールにより、ファームウェアおよびドライバの更新順序を制御することが考えられる。しかし、ファームウェアは、そのような更新ツールを用いなくても、他の方法による更新も可能である。例えば、ファームウェアは、POST(Power On Self Test)中に、可搬型記憶媒体やアウトオブバンド管理ネットワーク上から取得されるファームウェアに更新可能である。このように、保守作業等において更新ツール以外の更新方法が選択される可能性も考慮すると、ドライバおよびファームウェアの更新順序を確実に適切に行うことは難しい。 In order to cope with such a problem, it is conceivable to control the update order of firmware and drivers by an update tool operating on the operating system. However, the firmware can be updated by other methods without using such an update tool. For example, the firmware can be updated to firmware acquired from a portable storage medium or an out-of-band management network during POST (Power On Self Test). As described above, in consideration of the possibility of selecting an update method other than the update tool in maintenance work or the like, it is difficult to ensure that the update order of the driver and the firmware is appropriately performed appropriately.
もし、ドライバおよびファームウェアが、適切でないバージョンの組合せや適切でない順序で更新された場合、ユーザ操作による解決またはファームウェアのダウングレード等が必要となる。しかしながら、一度更新してしまったファームウェアをダウングレードすることはセキュリティ上の観点などから難しいことが多く、容易に復旧できないという問題がある。 If the driver and firmware are updated in an inappropriate combination of versions or in an inappropriate order, a user operation solution or firmware downgrade is required. However, downgrading firmware that has been updated once is often difficult from a security standpoint and cannot be easily recovered.
このような問題に関連する技術が、特許文献1に記載されている。特許文献1に記載された関連技術は、プリンタにおいて、蓄積する印刷データとともに、当該印刷データを作成したプリンタドライバのバージョンを保存しておく。そして、この関連技術は、ファームウェアをバージョンアップする際に、ファームウェアの新バージョンが正しく印刷処理できる印刷データを作成するプリンタドライバのバージョンを取得する。そして、この関連技術は、蓄積された印刷データのうち、作成したプリンタドライバのバージョンがファームウェアの新バージョンで正しく印刷処理できないものがある場合、旧バージョンのファームウェアを当該印刷データと対応させて保存する。
A technique related to such a problem is described in
しかしながら、特許文献1に記載された関連技術には、以下の課題がある。この関連技術は、ファームウェアまたはドライバの更新に伴いバージョンの組合せが適切でないことによる不具合を回避するために、古いバージョンのファームウェアを保存しておく必要がある。そのため、必要となる全ての古いバージョンのファームウェアを保存するだけのリソースが必要となってしまう。
However, the related technique described in
本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、必要なリソース量の増大を抑制しながら、ファームウェアまたはドライバの更新による不具合をより確実に回避する技術を提供することを目的とする。 The present invention has been made to solve the above-described problems. In other words, an object of the present invention is to provide a technique for more reliably avoiding problems caused by firmware or driver updates while suppressing an increase in the amount of necessary resources.
本発明のファームウェア実行装置は、コンピュータ装置に実装されるファームウェアの各バージョンに含まれる機能モジュールのバージョンと、前記コンピュータ装置の内部または外部に接続されるハードウェアデバイスを制御するドライバのバージョンとの組合せについて、バージョン間の依存関係を表す依存関係情報を含む組合せ情報を記憶する組合せ情報記憶手段と、前記コンピュータ装置に現在実装されている現行のドライバのバージョンを表す情報を記憶するドライババージョン記憶手段と、前記コンピュータ装置に現在実装されている現行のファームウェアのバージョンに本来に含まれるバージョンの機能モジュールに加えて、前記ドライバのバージョンとの間に依存関係を有する機能モジュールについて前記ドライバの各バージョンによって利用可能なバージョンの機能モジュールを記憶するファームウェア記憶手段と、前記コンピュータ装置の起動時に、前記現行のファームウェアのバージョンと、前記現行のドライバのバージョンとの間に依存関係の不整合があるか否か、および、前記不整合がある場合に前記ファームウェアの更新によって当該不整合が解消されるか否かを、前記組合せ情報を参照することにより判断する依存関係判断手段と、前記依存関係判断手段によって、前記ファームウェアの更新により前記不整合が解消されると判断された場合に、前記不整合を解消するバージョンのファームウェアを取得して前記ファームウェア記憶手段を更新後、前記コンピュータ装置を再起動するファームウェア更新手段と、前記依存関係判断手段によって、前記不整合がないと判断された場合に、前記現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行し、前記ファームウェアの更新により前記不整合が解消されないと判断された場合に、前記現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行する機能モジュール選択手段と、を備える。 The firmware execution apparatus according to the present invention is a combination of a version of a function module included in each version of firmware installed in a computer apparatus and a version of a driver that controls a hardware device connected to the inside or outside of the computer apparatus. A combination information storage means for storing combination information including dependency relation information representing dependency relations between versions, and a driver version storage means for storing information indicating the version of the current driver currently installed in the computer device In addition to the function module of the version originally included in the current firmware version currently installed in the computer device, each bar of the driver for the function module having a dependency relationship with the version of the driver There is a mismatch in dependency between the firmware storage means for storing the functional module of the version usable by the application and the current firmware version and the current driver version when the computer apparatus is started up Whether or not, and if there is a mismatch, whether or not the mismatch is resolved by updating the firmware by referring to the combination information, and the dependency determination If it is determined by the means that the inconsistency is resolved by updating the firmware, a version of firmware that eliminates the inconsistency is acquired, the firmware storage means is updated, and then the computer apparatus is restarted The firmware update unit and the dependency relationship determination unit When it is determined that there is no inconsistency, the function module of the version originally included in the current firmware is selected and executed, and when it is determined that the inconsistency is not resolved by the firmware update, Function module selection means for selecting and executing a function module of a version that can be used depending on the version of the driver.
また、本発明のドライバ実行装置は、上述のファームウェア実行装置を含むコンピュータ装置において前記ドライバを実行する際に動作エラーを検出した場合、前記ファームウェア実行装置の前記組合せ情報記憶手段にエラー情報を登録するエラー情報登録手段を備える。 The driver execution device of the present invention registers error information in the combination information storage unit of the firmware execution device when an operation error is detected when the driver is executed in the computer device including the firmware execution device described above. Error information registration means is provided.
また、本発明のドライバ管理装置は、上述のファームウェア実行装置を含むコンピュータ装置に実装された前記ドライバを更新するドライバ更新手段と、
前記ファームウェア実行装置における前記ドライババージョン記憶手段に記憶された前記現行のドライバのバージョンを表す情報を、前記ドライバ更新手段による更新後のバージョンを表す情報に更新する情報更新手段と、を備える。
In addition, the driver management apparatus of the present invention includes a driver update unit that updates the driver mounted on the computer device including the firmware execution device described above,
Information updating means for updating the information representing the version of the current driver stored in the driver version storage means in the firmware execution device to information representing the version updated by the driver updating means.
また、本発明のファームウェア管理装置は、上述のファームウェア実行装置における前記組合せ情報記憶手段に記憶された組合せ情報を更新する組合せ情報更新手段を備える。 The firmware management apparatus according to the present invention further includes combination information update means for updating the combination information stored in the combination information storage means in the firmware execution apparatus described above.
また、本発明のコンピュータ装置は、上述のファームウェア実行装置を含み、前記ファームウェア実行装置によって実行される前記ファームウェアが実装される。 The computer device of the present invention includes the above-described firmware execution device, and the firmware executed by the firmware execution device is mounted thereon.
また、本発明の方法は、コンピュータ装置が、前記コンピュータ装置に実装されるファームウェアの各バージョンに含まれる機能モジュールのバージョンと、前記コンピュータ装置の内部または外部に接続されるハードウェアデバイスを制御するドライバのバージョンとの組合せについて、バージョン間の依存関係を表す依存関係情報を含む組合せ情報を記憶する組合せ情報記憶手段と、前記コンピュータ装置に現在実装されている現行のドライバのバージョンを表す情報を記憶するドライババージョン記憶手段と、前記コンピュータ装置に現在実装されている現行のファームウェアのバージョンに本来に含まれるバージョンの機能モジュールに加えて、前記ドライバのバージョンとの間に依存関係を有する機能モジュールについて前記ドライバの各バージョンによって利用可能なバージョンの機能モジュールを記憶するファームウェア記憶手段とを用いて、前記コンピュータ装置の起動時に、前記現行のファームウェアのバージョンと、前記現行のドライバのバージョンとの間に依存関係の不整合があるか否か、および、前記不整合がある場合に前記ファームウェアの更新によって当該不整合が解消されるか否かを、前記組合せ情報を参照することにより判断し、前記ファームウェアの更新により前記不整合が解消されると判断した場合に、前記不整合を解消するバージョンのファームウェアを取得して前記ファームウェア記憶手段を更新後、前記コンピュータ装置を再起動し、前記不整合がないと判断した場合に、前記現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行し、前記ファームウェアの更新により前記不整合が解消されないと判断した場合に、前記現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行する。 The method of the present invention also includes a driver for controlling a version of a functional module included in each version of firmware installed in the computer apparatus and a hardware device connected to the inside or outside of the computer apparatus. Combination information storage means for storing combination information including dependency relationship information representing dependency relationships between versions, and information indicating the version of the current driver currently installed in the computer device. In addition to the function module of the version originally included in the version of the current firmware currently installed in the computer apparatus and the driver version storage means, the driver module stores the driver module for the function module having a dependency relationship with the version of the driver. Firmware storage means for storing functional modules of a version usable by each version of the driver, and a dependency relationship between the current firmware version and the current driver version when the computer device is started Whether or not there is an inconsistency and whether or not the inconsistency is resolved by updating the firmware when there is an inconsistency, by referring to the combination information, and updating the firmware If it is determined that the inconsistency is resolved, after obtaining the version of firmware that resolves the inconsistency and updating the firmware storage means, the computer apparatus is restarted and it is determined that there is no inconsistency The function module of the version originally included in the current firmware. Select Yuru running, when the inconsistency update of the firmware is determined not to be eliminated, selects and executes the function module of the available versions depending on the version of the current driver.
また、本発明のプログラムは、コンピュータ装置に実装されるファームウェアの各バージョンに含まれる機能モジュールのバージョンと、前記コンピュータ装置の内部または外部に接続されるハードウェアデバイスを制御するドライバのバージョンとの組合せについて、バージョン間の依存関係を表す依存関係情報を含む組合せ情報を記憶する組合せ情報記憶手段と、前記コンピュータ装置に現在実装されている現行のドライバのバージョンを表す情報を記憶するドライババージョン記憶手段と、前記コンピュータ装置に現在実装されている現行のファームウェアのバージョンに本来に含まれるバージョンの機能モジュールに加えて、前記ドライバのバージョンとの間に依存関係を有する機能モジュールについて前記ドライバの各バージョンによって利用可能なバージョンの機能モジュールを記憶するファームウェア記憶手段とを用いて、前記コンピュータ装置の起動時に、前記現行のファームウェアのバージョンと、前記現行のドライバのバージョンとの間に依存関係の不整合があるか否か、および、前記不整合がある場合に前記ファームウェアの更新によって当該不整合が解消されるか否かを、前記組合せ情報を参照することにより判断する依存関係判断ステップと、前記依存関係判断ステップによって、前記ファームウェアの更新により前記不整合が解消されると判断された場合に、前記不整合を解消するバージョンのファームウェアを取得して前記ファームウェア記憶手段を更新後、前記コンピュータ装置を再起動するファームウェア更新ステップと、前記依存関係判断ステップによって、前記不整合がないと判断された場合に、前記現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行し、前記ファームウェアの更新により前記不整合が解消されないと判断された場合に、前記現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行する機能モジュール選択ステップと、を前記コンピュータ装置に実行させる。 Further, the program of the present invention is a combination of a version of a function module included in each version of firmware installed in a computer device and a version of a driver that controls a hardware device connected to the inside or outside of the computer device. A combination information storage means for storing combination information including dependency relation information representing dependency relations between versions, and a driver version storage means for storing information indicating the version of the current driver currently installed in the computer device In addition to the function module of the version originally included in the current firmware version currently installed in the computer apparatus, each version of the driver for the function module having a dependency relationship with the version of the driver Thus, using the firmware storage means for storing the available version of the functional module, there is a mismatch in dependency between the current firmware version and the current driver version when the computer apparatus is started. A dependency relationship determining step of determining whether there is a mismatch and whether the mismatch is eliminated by updating the firmware when there is a mismatch, and the dependency relationship; If it is determined by the determination step that the inconsistency is resolved by updating the firmware, the version of firmware that eliminates the inconsistency is acquired and the firmware storage unit is updated, and then the computer apparatus is restarted Firmware updating step and the dependency determination step If it is determined that there is no inconsistency, the function module of the version originally included in the current firmware is selected and executed, and it is determined that the inconsistency is not eliminated by updating the firmware. A function module selection step of selecting and executing a function module of an available version according to the version of the current driver.
本発明は、必要なリソース量の増大を抑制しながら、ファームウェアまたはドライバの更新による不具合をより確実に回避する技術を提供することができる。 The present invention can provide a technique for more reliably avoiding problems caused by firmware or driver updates while suppressing an increase in the amount of necessary resources.
以下、本発明の実施の形態について、図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(第1の実施の形態)
まず、本発明の第1の実施の形態としてのファームウェア実行装置100について説明する。ファームウェア実行装置100は、コンピュータ装置に実装されたファームウェアを実行する装置である。ファームウェア実行装置100の機能ブロック構成を図1に示す。図1において、ファームウェア実行装置100は、組合せ情報記憶部101と、ドライババージョン記憶部102と、ファームウェア記憶部103と、依存関係判断部104と、ファームウェア更新部105と、機能モジュール選択部106とを備える。
(First embodiment)
First, the
ここで、ファームウェア実行装置100のハードウェア構成の一例を図2に示す。ファームウェア実行装置100は、CPU(Central Processing Unit)1001と、メモリ1002と、ネットワークインタフェース1003と、管理プロセッサ1004と、管理ネットワークインタフェース1005とを含むコンピュータ装置によって構成される。また、ファームウェア実行装置100を構成するコンピュータ装置は、出力装置1006および入力装置1007を含む。また、ファームウェア実行装置100を構成するコンピュータ装置は、ハードウェアデバイス1008を含む。あるいは、ハードウェアデバイス1008は、ファームウェア実行装置100を構成するコンピュータ装置の外部に接続されていてもよい。
An example of the hardware configuration of the
メモリ1002は、RAM(Random Access Memory)やROM(Read Only Memory)、補助記憶装置(ハードディスク等)等によって構成される。また、メモリ1002は、コンピュータ装置をファームウェア実行装置100として動作させるファームウェアを記憶している。その他、メモリ1002は、オペレーティングシステムやデバイスドライバ等のプログラムを記憶する。
The
CPU1001は、メモリ1002に記憶されたプログラムを読み込んで実行し、他の各部を制御する。
The
ネットワークインタフェース1003は、ネットワークに接続するインタフェースである。
The
管理ネットワークインタフェース1005は、アウトオブバンド管理用のネットワークに接続するインタフェースである。
The
管理プロセッサ1004は、管理ネットワークインタフェース1005を介して外部の管理サーバ等と通信を行うとともに、他の各部を制御する。
The
この場合、組合せ情報記憶部101、ドライババージョン記憶部102およびファームウェア記憶部103は、メモリ1002によって構成される。また、依存関係判断部104および機能モジュール選択部106は、メモリ1002に記憶されたプログラムを読み込んで実行するCPU1001によって構成される。また、ファームウェア更新部105は、メモリ1002に記憶されたプログラムを実行するCPU1001と、管理プロセッサ1004と、管理ネットワークインタフェース1005とによって構成される。
In this case, the combination
なお、ファームウェア実行装置100およびその機能ブロックのハードウェア構成は、上述の構成に限定されない。
Note that the hardware configuration of the
次に、ファームウェア実行装置100の各機能ブロックの詳細について説明する。
Next, details of each functional block of the
組合せ情報記憶部101は、組合せ情報を記憶する。組合せ情報は、依存関係情報を含む。
The combination
依存関係情報は、ファームウェアの各バージョンに含まれる機能モジュールのバージョンと、ドライバのバージョンとの組合せにおいて、バージョン間の依存関係を表す情報である。なお、ここでいうファームウェアとは、コンピュータ装置に実装されるファームウェアであり、BIOS(Basic Input Output System)とも呼ばれる。また、ここでいうドライバとは、コンピュータ装置のオペレーティングシステム上で動作し、コンピュータ装置の内部または外部に接続されるハードウェアデバイス1008を制御するソフトウェアである。具体的には、依存関係情報は、ファームウェアの各バージョンに含まれる機能モジュールのバージョンに対して、そのバージョンの機能モジュールを利用可能なドライバのバージョンを表す。
The dependency relationship information is information representing a dependency relationship between versions in a combination of a function module version and a driver version included in each firmware version. The firmware referred to here is firmware installed in a computer device, and is also called BIOS (Basic Input Output System). The driver here is software that operates on the operating system of the computer apparatus and controls the
ドライババージョン記憶部102は、コンピュータ装置に現在実装されている現行のドライバのバージョンを表す情報を記憶する。
The driver
ファームウェア記憶部103は、コンピュータ装置に現在実装されている現行のファームウェアに本来含まれるバージョンの機能モジュールを記憶する。加えて、ファームウェア記憶部103は、ドライバのバージョンとの依存関係を有する機能モジュールについては、ドライバの各バージョンによって利用可能な機能モジュールを記憶する。つまり、ファームウェア記憶部103には、現行のファームウェアに本来含まれるバージョンの機能モジュールに加えて、当該バージョンの機能モジュールを利用可能なドライバよりも古い各バージョンのドライバによって利用可能な機能モジュールが記憶される。
The
例えば、ファームウェア記憶部103に記憶される情報の一例を図3に示す。図3の例では、ファームウェアには、機能モジュールA、BおよびCが含まれるものとする。また、機能モジュールAおよびBは、ドライバのバージョンとの間に依存関係が有るものとする。また、機能モジュールCは、ドライバのバージョンとの間に依存関係が無いものとする。また、機能モジュール「X」の各バージョンを、機能モジュールXn(nは数値を表す文字列)と表すものとする。また、機能モジュールXnは、nが大きいほど、バージョンが新しいことを表すものとする。
For example, an example of information stored in the
この場合、図3において、ファームウェア記憶部103には、現行のバージョンのファームウェアに本来含まれる機能モジュールとして、機能モジュールA3、B2およびC1が記憶されている。また、機能モジュールAについては、機能モジュールA3を利用可能なドライバよりも古い各バージョンのドライバによって利用可能な機能モジュールA2および機能モジュールA1が記憶されている。同様に、機能モジュールBについても、機能モジュールB2を利用可能なドライバよりも古い各バージョンのドライバによって利用可能な機能モジュールB1が記憶されている。
In this case, in FIG. 3, the
依存関係判断部104は、コンピュータ装置の起動時に、現行のファームウェアのバージョンと、現行のドライバのバージョンとの間に依存関係の不整合があるか否かを、組合せ情報を参照することにより判断する。また、依存関係判断部104は、現行のファームウェアのバージョンと、現行のドライバのバージョンとの間に依存関係の不整合がある場合、ファームウェアの更新によって不整合が解消されるか否かを、組合せ情報記憶部101を参照することにより判断する。
The dependency
具体的には、組合せ情報において、現行のファームウェアに本来含まれる機能モジュールのバージョンを利用可能なドライバのバージョンと、現行のドライバのバージョンとが合致しないとする。この場合、現行のファームウェアのバージョンと、現行のドライバのバージョンとの間に依存関係の不整合があることになる。 Specifically, in the combination information, it is assumed that the version of the driver that can use the function module version originally included in the current firmware does not match the version of the current driver. In this case, there is a mismatch in the dependency between the current firmware version and the current driver version.
この場合、さらに、現行のドライバのバージョンによって利用可能な機能モジュールのバージョンが、現行のファームウェアに本来含まれる機能モジュールのバージョンより新しいとする。つまり、ファームウェアより先にドライバが更新された状況である。この場合、ファームウェアの更新により、依存関係の不整合が解消される。 In this case, it is further assumed that the function module version available according to the current driver version is newer than the function module version originally included in the current firmware. That is, the driver is updated before the firmware. In this case, the inconsistency of the dependency relationship is resolved by updating the firmware.
一方、現行のドライバのバージョンによって利用可能なファームウェアのバージョンよりも、現行のファームウェアに本来含まれる機能モジュールのバージョンが新しいとする。つまり、ドライバより先にファームウェアが更新された状況である。この場合、ファームウェアを更新しても、依存関係の不整合は解消されない。 On the other hand, it is assumed that the version of the function module originally included in the current firmware is newer than the version of firmware that can be used depending on the version of the current driver. That is, the firmware is updated before the driver. In this case, even if the firmware is updated, the inconsistency of the dependency relationship is not resolved.
ファームウェア更新部105は、依存関係判断部104によって、ファームウェアの更新により不整合が解消されると判断された場合に、不整合を解消するバージョンのファームウェアを取得する。例えば、ファームウェア更新部105は、管理ネットワークを介して接続される管理サーバから、不整合を解消するバージョンのファームウェアを取得してもよい。あるいは、ファームウェア更新部105は、入力装置1007を介して、不整合を解消するバージョンのファームウェアの格納位置を取得し、格納位置が示す場所から該当するファームウェアを取得してもよい。
When the
ここで、ファームウェア更新部105によって取得されるファームウェアは、該当するファームウェアのバージョンに本来含まれる機能モジュールに加えて、上述したようなドライバの各バージョンによって利用可能なバージョンの機能モジュールを含むものとする。
Here, it is assumed that the firmware acquired by the
すなわち、取得されるファームウェアは、ドライバのバージョンとの間にバージョン間の依存関係を有する機能モジュールについて、複数のバージョンの機能モジュールを含んでいることになる。 That is, the acquired firmware includes a plurality of functional modules with respect to the functional modules having a dependency relationship between the versions of the driver.
また、ファームウェア更新部105は、このような不整合を解消するバージョンのファームウェアに含まれる機能モジュールを、ファームウェア記憶部103に書き込むことにより、現行のファームウェアを更新する。
Also, the
また、ファームウェア更新部105は、ファームウェア記憶部103の更新後、コンピュータ装置を再起動する。
Also, the
機能モジュール選択部106は、依存関係判断部104によって、依存関係の不整合がないと判断された場合に、ファームウェア記憶部103から、現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行する。また、機能モジュール選択部106は、ファームウェアの更新により依存関係の不整合が解消されないと判断された場合に、ファームウェア記憶部103から、現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行する。
When the
以上のように構成されたファームウェア実行装置100の動作について、図4を参照して説明する。なお、以下の動作は、コンピュータ装置の起動時に開始される。
The operation of the
まず、依存関係判断部104は、組合せ情報記憶部101から、組合せ情報を読み込む(ステップS101)。
First, the dependency
次に、依存関係判断部104は、ドライババージョン記憶部102から、現行のドライバのバージョンを表す情報を読み込む(ステップS102)。
Next, the dependency
次に、依存関係判断部104は、ファームウェア記憶部103に記憶された現行のファームウェアに基づいて、そのバージョンを表す情報を取得する(ステップS103)。
Next, the dependency
次に、依存関係判断部104は、現行のファームウェアのバージョンと、現行のデバイスドライバのバージョンとの間に依存関係の不整合があるか否かを、組合せ情報を参照することにより判断する(ステップS104)。
Next, the dependency
ここで、不整合が無いと判断された場合(ステップS104でNo)、機能モジュール選択部106は、現行のファームウェアに本来含まれるバージョンの機能モジュールを選択する(ステップS105)。
If it is determined that there is no inconsistency (No in step S104), the functional
一方、不整合が有ると判断された場合(ステップS104でYes)、依存関係判断部104は、ファームウェアの更新により不整合が解消されるか否かを判断する(ステップS106)。
On the other hand, when it is determined that there is inconsistency (Yes in step S104), the dependency
ここで、ファームウェアの更新により不整合が解消されると判断された場合(ステップS106でYes)、ファームウェア更新部105は、不整合を解消するバージョンのファームウェアを取得する(ステップS107)。
If it is determined that the inconsistency is resolved by updating the firmware (Yes in step S106), the
前述したように、取得されるファームウェアには、そのバージョンのファームウェアに本来含まれるバージョンの機能モジュールに加えて、より古い各バージョンのドライバによって利用可能なバージョンの機能モジュールが含まれる。 As described above, the acquired firmware includes a function module of a version that can be used by each older version of the driver in addition to the function module of the version originally included in the firmware of that version.
次に、ファームウェア更新部105は、取得したファームウェアに含まれる機能モジュールをファームウェア記憶部103に書き込むことにより、ファームウェアを更新する(ステップS108)。
Next, the
そして、ファームウェア更新部105は、コンピュータ装置を再起動する(ステップS109)。これにより、ファームウェア実行装置100の動作は、再起動後にステップS101から繰り返される。そして、ファームウェアが更新されて依存関係の不整合が解消されているので、ステップS104でNoとなる。その後、ステップS105が実行され、現行のファームウェアに本来含まれるバージョンの機能モジュールが選択される。
Then, the
一方、ファームウェアの更新により不整合が解消されないと判断された場合(ステップS106でNo)、機能モジュール選択部106は、現行のドライバのバージョンにより利用可能なバージョンの機能モジュールを選択する(ステップS110)。
On the other hand, if it is determined that the inconsistency is not eliminated by the firmware update (No in step S106), the functional
以降、ファームウェア実行装置100は、ステップS105またはステップS110で選択された機能モジュールを実行する。
Thereafter, the
次に、本発明の第1の実施の形態の効果について述べる。 Next, effects of the first exemplary embodiment of the present invention will be described.
本発明の第1の実施の形態としてのファームウェア実行装置は、必要なリソース量の増大を抑制しながら、ファームウェアまたはドライバの更新による不具合をより確実に回避することができる。 The firmware execution device according to the first exemplary embodiment of the present invention can more reliably avoid problems due to firmware or driver updates while suppressing an increase in the amount of necessary resources.
その理由について説明する。本実施の形態では、組合せ情報記憶部が、依存関係情報を含む組合せ情報を記憶している。依存関係情報は、ファームウェアの各バージョンに含まれる機能モジュールのバージョンと、ドライバのバージョンとの組合せについて、バージョン間の依存関係を表す情報である。また、ドライババージョン記憶部が、現行のドライバのバージョンを表す情報を記憶している。また、ファームウェア記憶部が、現行のファームウェアに本来含まれるバージョンの機能モジュールに加えて、ドライバのバージョンとの依存関係を有する機能モジュールについて、ドライバの各バージョンによって利用可能な機能モジュールを記憶している。 The reason will be described. In the present embodiment, the combination information storage unit stores combination information including dependency relationship information. The dependency relationship information is information representing a dependency relationship between versions of a combination of a function module version and a driver version included in each firmware version. The driver version storage unit stores information representing the current driver version. Also, the firmware storage unit stores functional modules that can be used by each version of the driver for functional modules having a dependency relationship with the driver version, in addition to the functional modules originally included in the current firmware. .
そして、コンピュータ装置の起動時に、依存関係判断部が、現行のファームウェアのバージョンおよび現行のドライバのバージョン間に依存関係の不整合があるか否か、また、不整合がある場合にファームウェアの更新により不整合が解消されるか否かを判断する。そして、ファームウェアの更新により不整合が解消される場合には、ファームウェア更新部が、現行のファームウェアを更新してコンピュータ装置を再起動する。また、バージョン間に依存関係の不整合が無い場合には、機能モジュール選択部が、現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行する。また、ファームウェアの更新により不整合が解消されない場合に、機能モジュール選択部が、現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行するからである。 Then, at the time of starting the computer device, the dependency determination unit determines whether there is a dependency mismatch between the current firmware version and the current driver version, and if there is a mismatch, updates the firmware. Determine whether the inconsistency is resolved. If the inconsistency is resolved by the firmware update, the firmware update unit updates the current firmware and restarts the computer apparatus. When there is no dependency mismatch between versions, the function module selection unit selects and executes the function module of the version originally included in the current firmware. In addition, when the inconsistency is not resolved by updating the firmware, the function module selection unit selects and executes a function module of a version that can be used according to the current driver version.
つまり、本実施の形態は、ファームウェアの更新によりバージョン間の依存関係の不整合が解消される場合には、ファームウェアを更新して再起動することにより不整合を解消する。また、本実施の形態は、ファームウェアの更新によりバージョン間の依存関係の不整合が解消されない場合でも、ファームウェア全体をダウングレードすることなく、一部の機能モジュールだけをダウングレードすることにより、不整合を解消する。 In other words, in the present embodiment, when the inconsistency in the dependency relationship between versions is resolved by updating the firmware, the inconsistency is resolved by updating the firmware and restarting. In addition, even if the inconsistency in the dependency relationship between versions is not resolved by updating the firmware, this embodiment does not downgrade the entire firmware, but downgrades only a part of the functional modules, thereby causing inconsistency. Is solved.
このように、本実施の形態は、ファームウェアおよびドライバのどちらが先に更新されても、自装置自身がファームウェアを更新したり、一部の機能モジュールだけをダウングレードしたりして、不整合を解消する。その結果、本実施の形態は、ファームウェアまたはドライバの更新に際して、不具合が発生する状態でオペレーティングシステムを稼働させることがない。 In this way, this embodiment eliminates inconsistencies by updating the firmware itself or downgrading only some functional modules, regardless of which firmware or driver is updated first. To do. As a result, according to the present embodiment, the operating system is not operated in a state where a problem occurs when updating the firmware or the driver.
さらには、背景技術で述べた特許文献1に記載された関連技術は、ドライバのバージョンとの間の依存関係の不整合を解消するためにファームウェア全体をダウングレードしていた。このため、特許文献1に記載された関連技術は、旧バージョンのファームウェア全体を保存するのに充分なだけのリソースを必要としていた。これに対して、本実施の形態は、必要となる全ての旧バージョンのファームウェア全体を保存しておく必要がなく、必要となる機能モジュール単位で旧バージョンを保存しておけばよいので、ファームウェア記憶部として必要な容量の増大を抑制することができる。
Furthermore, the related technology described in
(第2の実施の形態)
次に、本発明の第2の実施の形態としてのファームウェア装置について図面を参照して詳細に説明する。本実施の形態では、本発明の第1の実施の形態と同様に、ファームウェアおよびドライバのバージョン間の不整合を解消した上で、さらに、ファームウェアまたはドライバの更新に伴う設定変更に起因する不具合を解消するファームウェア装置について説明する。
(Second Embodiment)
Next, a firmware device according to a second embodiment of the present invention will be described in detail with reference to the drawings. In the present embodiment, in the same way as in the first embodiment of the present invention, inconsistencies between firmware and driver versions are resolved, and further, problems caused by setting changes accompanying firmware or driver updates are eliminated. The firmware device to be eliminated will be described.
ここで、ファームウェアまたはドライバの更新に伴う設定変更に起因する不具合について説明する。ファームウェアまたはそのドライバが更新される際には、不具合の解消や性能向上を目的として、ファームウェアのパラメータが利用者により変更されることがある。この場合、バージョンの組合せや更新順序を考慮してファームウェアおよびドライバを更新しても、ユーザ環境で変更されたファームウェアのパラメータに起因して、新たな不具合が起きることがある。 Here, a problem caused by a setting change accompanying firmware or driver update will be described. When the firmware or its driver is updated, the firmware parameters may be changed by the user for the purpose of eliminating problems and improving performance. In this case, even if the firmware and the driver are updated in consideration of the combination of versions and the update order, a new problem may occur due to the firmware parameters changed in the user environment.
例えば、コンピュータ装置にPCI(Peripheral Component Interconnect)接続されたDAC(Disk Array Controller)が、ドライバの不具合に起因して、PCIリンク速度をファームウェア側で制限しないと正常に動作しない場合を想定する。この場合、DACのドライバを、ファームウェアのバージョンに適合する不具合のないバージョンに更新すると同時に、ファームウェア側でPCIリンク速度の設定について性能を最大化する値に変更する必要がある。このとき、ファームウェアおよびドライバのバージョンの組合せや更新順序を考慮して更新を行っても、PCIリンク速度の設定に起因して新たな不具合が起きる可能性もある。 For example, it is assumed that a DAC (Disk Array Controller) connected to a computer device by PCI (Peripheral Component Interconnect) does not operate normally unless the PCI link speed is limited on the firmware side due to a driver malfunction. In this case, it is necessary to change the DAC driver to a value that maximizes the performance of the PCI link speed setting on the firmware side at the same time that the driver is updated to a version that does not have a defect that matches the firmware version. At this time, even if the update is performed in consideration of the combination of firmware and driver versions and the update order, a new problem may occur due to the setting of the PCI link speed.
本実施の形態では、ファームウェアまたはドライバの更新に伴う設定変更による不具合を解消するために追加される機能について説明する。 In the present embodiment, a function that is added in order to solve a problem caused by a setting change associated with firmware or driver update will be described.
まず、本発明の第2の実施の形態としてのファームウェア実行装置120の機能ブロック構成を図5に示す。図5において、ファームウェア実行装置120は、本発明の第1の実施の形態としてのファームウェア実行装置100に対して、組合せ情報記憶部101に替えて組合せ情報記憶部121を備える点が異なる。また、ファームウェア記憶部103に替えてファームウェア記憶部123を備える点が異なる。さらに、パラメータ設定部127を備える点が異なる。
First, FIG. 5 shows a functional block configuration of a
ここで、ファームウェア実行装置120およびその各機能ブロックは、図2を参照して説明した本発明の第1の実施の形態と同様のハードウェア要素によって構成可能である。この場合、パラメータ設定部127は、メモリ1002に記憶されたプログラムを読み込んで実行するCPU1001によって構成される。ただし、ファームウェア実行装置120およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
Here, the
次に、ファームウェア実行装置120の機能ブロックのうち、本発明の第1の実施の形態と異なる各機能ブロックについて詳細を説明する。
Next, among the functional blocks of the
組合せ情報記憶部121は、機能モジュールのバージョンとドライバのバージョンとの組合せについて、本発明の第1の実施の形態と同様の依存関係情報に加えて、設定値情報、エラー情報および優先度情報を含めた組合せ情報を記憶する。
The combination
設定値情報は、その組合せにおいて、ファームウェアの1つ以上のパラメータに設定され得る各設定値の組を表す。 The set value information represents each set value set that can be set in one or more parameters of the firmware in the combination.
エラー情報は、その組合せにおいてその設定値情報が適用された場合の、コンピュータ装置における動作エラーの有無を表す。 The error information represents the presence or absence of an operation error in the computer device when the set value information is applied in the combination.
優先度情報は、その組合せにおけるその設定値情報の優先度を表す。 The priority information represents the priority of the set value information in the combination.
なお、このような組合せ情報は、例えば、あらかじめドライバまたはファームウェアのベンダによって提供されることが考えられる。具体的には、あるドライバのバージョンと機能モジュールのバージョンとの組合せにおいて不具合が起きることが想定され、そのような不具合を回避可能なパラメータの設定値がベンダによって予め提供されることがある。例えば、ソフトウェアRAID(Redundant Arrays of Inexpensive Disks)の機能についてファームウェアに含まれる機能モジュールのバージョンとドライバのバージョンとの間に依存関係があるとする。このとき、制御対象となるストレージを接続するPCIのリンク速度の変更や、ハードウェア割り込みの間隔の変更、または、ストレージの省電力制御機能の無効化等により、不具合を回避できることがある。このような場合、不具合が生じる可能性がある機能モジュールのバージョンとドライバのバージョンとの組合せについて、PCIのリンク速度、ハードウェア割り込みの間隔、ストレージの省電力制御機能等の各設定値の組が、ベンダから提供されていてもよい。また、同一の組合せについて1組以上の設定値情報が提供される場合には、さらに、それぞれの設定値の優先度を表す優先度情報が提供されていてもよい。さらに、それぞれの設定値情報に対して動作エラーの有無が検証済みである場合には、エラー情報が提供されていてもよい。 Such combination information may be provided in advance by a driver or firmware vendor, for example. Specifically, it is assumed that a problem occurs in a combination of a certain driver version and a functional module version, and a parameter setting value that can avoid such a problem may be provided in advance by the vendor. For example, it is assumed that there is a dependency between the function module version included in the firmware and the driver version for the function of software RAID (Redundant Arrays of Inexpensive Disks). At this time, the problem may be avoided by changing the link speed of the PCI connecting the storage to be controlled, changing the hardware interrupt interval, or invalidating the power saving control function of the storage. In such a case, for a combination of a functional module version and a driver version that may cause a failure, a set of setting values such as PCI link speed, hardware interrupt interval, storage power saving control function, etc. Or a vendor. When one or more sets of setting value information are provided for the same combination, priority information indicating the priority of each setting value may be further provided. Further, when the presence / absence of an operation error has been verified for each set value information, error information may be provided.
ファームウェア記憶部123は、本発明の第1の実施の形態におけるファームウェア記憶部103と同様の情報に加えて、ファームウェアのパラメータの設定値を記憶する。
The
パラメータ設定部127は、組合せ情報に基づいて、機能モジュール選択部106によって選択された機能モジュールのバージョンおよび現行のドライバのバージョンの組合せにおいて動作エラーの無い設定値を、ファームウェアのパラメータとして設定する。すなわち、パラメータ設定部127は、そのような設定値を用いて、ファームウェア記憶部123に記憶された設定値を更新する。もし、該当する組合せにおいて、動作エラーの無い設定値を示す1組以上の設定値情報がある場合、パラメータ設定部127は、優先度に基づき選択した設定値を、ファームウェアのパラメータとして設定する。
Based on the combination information, the
なお、動作エラーが無い(または有る)設定値とは、ある組合せに関する組合せ情報において、動作エラーが無い(または有る)ことを示すエラー情報に関連付けられた設定値情報が示す設定値を指すものとする。また、優先度に基づき選択した設定値とは、例えば、ある組合せに関する組合せ情報において、優先度が最も高いことを表す優先度情報に関連付けられた設定値情報が示す設定値であってもよい。 Note that the setting value without (or having) an operation error refers to the setting value indicated by the setting value information associated with error information indicating that there is no (or having) an operation error in the combination information regarding a certain combination. To do. Further, the setting value selected based on the priority may be, for example, a setting value indicated by setting value information associated with priority information indicating that the priority is the highest in the combination information regarding a certain combination.
なお、該当する組合せに関する組合せ情報に、設定値情報が含まれていないケースも考えられる。この場合、パラメータ設定部127は、設定値を設定する処理を省略してもよい。あるいは、この場合、パラメータ設定部127は、任意の設定値をパラメータに設定してもよい。例えば、そのような任意の設定値は、入力装置1007を介して入力された値であってもよい。
Note that there may be a case where the set value information is not included in the combination information regarding the corresponding combination. In this case, the
また、該当する組合せに関する組合せ情報に、設定値情報が含まれているが、エラー情報が関連付けられていないケースも考えられる。この場合、パラメータ設定部127は、エラー情報が関連付けられていない設定値情報については、動作エラーが無いものとみなして選択の候補としてもよい。
In addition, there may be a case where the set value information is included in the combination information regarding the corresponding combination, but the error information is not associated. In this case, the
また、該当する組合せに関する組合せ情報に、動作エラーが有ることを表すエラー情報が登録されているが、動作エラーが無いことを表すエラー情報が登録されていないケースも考える。この場合、パラメータ設定部127は、動作エラーが有る設定値以外の任意の設定値をパラメータに設定してもよい。例えば、そのような任意の設定値は、出力装置1006に対して動作エラーが有る設定値を示すことにより、入力装置1007を介して入力される他の設定値であってもよい。
Further, a case is considered in which error information indicating that there is an operation error is registered in the combination information regarding the corresponding combination, but error information indicating that there is no operation error is not registered. In this case, the
また、該当する組合せに関する組合せ情報に、動作エラーが無い1組以上の設定値情報が登録されているが、優先度情報が登録されていないケースも考えられる。この場合、パラメータ設定部127は、そのような設定値情報から任意の1つを選択して、パラメータとして設定してもよい。
Further, although one or more sets of setting value information with no operation error are registered in the combination information related to the corresponding combination, there may be a case where priority information is not registered. In this case, the
以上のように構成されたファームウェア実行装置120の動作について、図6を参照して説明する。
The operation of the
図6において、ファームウェア実行装置120は、ステップS101〜S110まで、本発明の第1の実施の形態と同様に動作する。これにより、ファームウェア実行装置120は、現行のファームウェアおよび現行のドライバのバージョン間に依存関係の不整合が無い場合には、現行のファームウェアに本来含まれるバージョンの機能モジュールを選択する。また、ファームウェア実行装置120は、現行のファームウェアおよび現行のドライバのバージョン間に依存関係の不整合があり、ファームウェアの更新により不整合が解消される場合には、ファームウェアを更新してコンピュータ装置を再起動する。再起動後に、ファームウェア実行装置120は、更新された現行のファームウェアおよび現行のドライバのバージョン間に依存関係の不整合が無いと判断することになる。したがって、ファームウェア実行装置120は、更新された現行のファームウェアに本来含まれるバージョンの機能モジュールを選択する。また、ファームウェア実行装置120は、ファームウェアの更新により不整合が解消されない場合には、現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択する。
In FIG. 6, the
次に、パラメータ設定部127は、選択された機能モジュールのバージョンおよび現行のドライバのバージョンの組合せについて、動作エラーが有ることを表すエラー情報が登録されているか否かを判断する(ステップS121)。
Next, the
ここで、動作エラーが有ることを表すエラー情報が登録されていない場合(ステップS121でNo)について説明する。この場合、パラメータ設定部127は、優先度に基づき選択した設定値を、パラメータとして設定する(ステップS122)。
Here, a case where error information indicating that there is an operation error is not registered (No in step S121) will be described. In this case, the
一方、動作エラーが有ることを表すエラー情報が登録されている場合(ステップS121でYes)について説明する。この場合、パラメータ設定部127は、動作エラーが無い設定値の中から優先度に基づき選択した設定値を、パラメータとして設定する(ステップS123)。
On the other hand, a case where error information indicating that there is an operation error is registered (Yes in step S121) will be described. In this case, the
なお、前述のように、パラメータ設定部127は、エラー情報が関連付けられていない設定値情報については、動作エラーがない設定値を示すとみなすものとする。また、動作エラーが無い設定値がない場合、パラメータ設定部127は、入力装置1007から入力される設定値等を適用してもよい。
As described above, the
以降、ファームウェア実行装置120は、ステップS105またはステップS110で選択された機能モジュールを実行し、ステップS122またはS123で設定されたパラメータを用いて動作する。
Thereafter, the
次に、ファームウェア実行装置120の動作を3つの具体例を用いて説明する。なお、これらの具体例では、ファームウェアのバージョンはaまたはbで表され、aよりbが新しいものとする。また、ファームウェアには、ドライバのバージョンとの間に依存関係を有する機能モジュールAが含まれるものとする。また、機能モジュールAのバージョンは、A1よりA2が新しいものとする。また、ドライバのバージョンは、1.0または2.0で表され、1.0より2.0が新しいものとする。また、優先度は、1、2といった整数で表され、小さい値ほど優先度が高いことを表すものとする。
Next, the operation of the
<具体例1>
ここでは、ファームウェアのバージョンおよびドライバのバージョン間にいずれの組合せでも依存関係がない場合の具体例について説明する。
<Specific example 1>
Here, a specific example in the case where there is no dependency relationship between the firmware version and the driver version in any combination will be described.
まず、現行のファームウェアは、バージョンaであるとする。 First, it is assumed that the current firmware is version a.
また、ドライババージョン記憶部102は、現行のドライバのバージョンとして「2.0」を記憶しているとする。つまり、現行のドライバは、バージョン2.0である。
Further, it is assumed that the driver
また、組合せ情報記憶部121は、図7に示すような組合せ情報を記憶しているとする。図7では、説明のため、項目「No」の列に数字を記載している。以降、数字「x」が記載されている行の組合せ情報を、「No.xの組合せ情報」とも記載する。図7に示すNo.1〜No.2の組合せ情報は、ファームウェアのバージョンに含まれる機能モジュールのいずれのバージョンと、ドライバのいずれのバージョンとの組合せにおいても、バージョン間の依存関係が無いことを表している。
Further, it is assumed that the combination
また、No.1の組合せ情報は、パラメータXとして「Disabled」およびパラメータYとして「Enabled」が設定され得ることを表している。また、No.1の組合せ情報は、これらの設定値に対して優先度1が設定されていることを表している。また、No.1の組合せ情報は、これらの設定値に対してエラー情報が登録されていないことを表している。
No. The
No.2の組合せ情報は、パラメータXとして「Disabled」およびパラメータYとして「Disabled」が設定され得ることを表している。また、No.2の組合せ情報は、これらの設定値に対して優先度2が設定されていることを表している。また、No.2の組合せ情報は、これらの設定値に対して動作エラーの有無を表すエラー情報が登録されていないことを表している。
No. The
この場合、まず、ファームウェア実行装置120において、起動時に、依存関係判断部104は、組合せ情報記憶部121から、図7の組合せ情報を読み込む(ステップS101)。
In this case, first, in the
次に、依存関係判断部104は、現行のファームウェアのバージョンaと、現行のドライバのバージョン2.0との間に、依存関係の不整合が無いと判断する(ステップS102〜S103、S104でNo)。
Next, the dependency
そこで、機能モジュール選択部106は、現行のファームウェアに本来含まれるバージョンの機能モジュールを選択する(ステップS105)。
Therefore, the functional
次に、パラメータ設定部127は、選択された機能モジュールのバージョンと、現行のドライバのバージョンとの組合せについて、エラーが有ることを示すエラー情報が登録されていないと判断する(ステップS121でNo)。
Next, the
そこで、パラメータ設定部127は、優先度が最も高い「1」が設定されたNo.1の組合せ情報に基づいて、パラメータXとして「Disabled」およびパラメータYとして「Enabled」を設定する(ステップS122)。
Therefore, the
そして、ファームウェア実行装置120は、選択された機能モジュールを実行し、設定されたパラメータで動作する。
Then, the
<具体例2>
ここでは、ファームウェアより先にドライバが更新された状況でコンピュータ装置が起動された具体例について説明する。
<Specific example 2>
Here, a specific example in which the computer apparatus is activated in a situation where the driver is updated prior to the firmware will be described.
まず、現行のファームウェアは、バージョンaであるとする。 First, it is assumed that the current firmware is version a.
また、ドライババージョン記憶部102は、現行のドライバのバージョンとして「2.0」を記憶しているとする。つまり、現行のドライバは、バージョン2.0である。
Further, it is assumed that the driver
また、組合せ情報記憶部121は、図8に示すような組合せ情報を記憶しているとする。
Further, it is assumed that the combination
例えば、図8のNo.1の組合せ情報に含まれる依存関係情報は、ファームウェアのバージョンaに含まれる機能モジュールA1に対して、バージョン1.xのドライバが必要であることを表している。ここで、xは任意の数値である。また、この依存関係情報は、ファームウェアのバージョンaに対して、本来含まれる機能モジュールA1に基づき、バージョン1.xのドライバが必要であることも表している。また、No.1の組合せ情報に含まれる設定値情報は、機能モジュールA1およびドライバのバージョン1.xの組合せにおいて、パラメータXとして「Disabled」およびパラメータYとして「Enabled」が設定され得ることを表している。また、No.1の組合せ情報に含まれるエラー情報は、該当する設定値に対して動作エラーが無いことを表している。また、No.1の組合せ情報に含まれる優先度情報は、該当する設定値には、優先度1が設定されていることを表している。
For example, in FIG. , The dependency relationship information included in the combination information of
また、図8のNo.2〜No.5の組合せ情報は、ファームウェアのバージョンbには、機能モジュールAについて、バージョンA1およびA2が含まれることを表している。なお、ファームウェアのバージョンbに本来含まれる機能モジュールAのバージョンは、A2であるとする。なお、No.2〜No.5の各組合せ情報に含まれる依存関係情報、設定値情報、エラー情報および優先度情報については、図示した通りであり、詳細な説明を省略する。
In addition, in FIG. 2-No. The
この場合、まず、ファームウェア実行装置120において、起動時に、依存関係判断部104は、組合せ情報記憶部121から図8の組合せ情報を読み込む(ステップS101)。
In this case, first, in the
ここで、No.1の組合せ情報を参照すると、現行のファームウェアのバージョンaを利用可能なドライバのバージョンは、本来含まれる機能モジュールA1を利用可能なドライバのバージョン1.xである。しかしながら、現行のドライバはバージョン2.0である。 Here, no. 1, the version of the driver that can use the current firmware version a is the version of the driver that can use the function module A1 that is originally included. x. However, the current driver is version 2.0.
そこで、依存関係判断部104は、現行のファームウェアのバージョンaと、現行のドライバのバージョン2.0との間に、依存関係の不整合が有ると判断する(ステップS102〜S103、S104でYes)。
Therefore, the dependency
さらに、No.4〜No.5の組合せ情報を参照すると、現行のドライバのバージョン2.0との間に依存関係の不整合がない機能モジュールA2を本来含むファームウェアは、バージョンbである。ファームウェアのバージョンbは、現行のバージョンaより新しい。 Furthermore, no. 4-No. Referring to the combination information of 5, the firmware that originally includes the functional module A2 having no dependency mismatch with the current driver version 2.0 is version b. The firmware version b is newer than the current version a.
したがって、依存関係判断部104は、ファームウェアの更新により不整合が解消されると判断する(ステップS106でYes)。
Therefore, the dependency
そこで、ファームウェア更新部105は、不整合を解消するバージョンbのファームウェアを取得して(ステップS107)、ファームウェアを更新する(ステップS108)。すなわち、ファームウェア更新部105は、取得したファームウェアに含まれる機能モジュールA1およびA2を、ファームウェア記憶部123に書き込む。そして、ファームウェア更新部105は、コンピュータ装置を再起動する(ステップS109)。
Therefore, the
再起動されたコンピュータ装置において、依存関係判断部104は、組合せ情報に基づいて、現行のファームウェアのバージョンbと現行のドライバのバージョン2.0との間に、依存関係の不整合が無いと判断する(ステップS101〜S103、S104でNo)。
In the restarted computer apparatus, the dependency
そこで、機能モジュール選択部106は、現行のファームウェアのバージョンbに本来含まれる機能モジュールA2を選択する(ステップS105)。
Therefore, the functional
次に、パラメータ設定部127は、選択された機能モジュールA2と、現行のドライバのバージョン2.0との組合せについて、エラーが有ることを示すエラー情報が登録されていないと判断する(ステップS121でNo)。
Next, the
そこで、パラメータ設定部127は、優先度が最も高い「1」が設定されたNo.4の組合せ情報に基づいて、パラメータXとして「Enabled」およびパラメータYとして「Enabled」を設定する。
Therefore, the
そして、ファームウェア実行装置120は、選択された機能モジュールA2を実行し、設定されたパラメータで動作する。
Then, the
<具体例3>
ここでは、ファームウェアがドライバより先に更新された状況でコンピュータ装置が起動された具体例について説明する。
<Specific example 3>
Here, a specific example in which the computer apparatus is activated in a situation where the firmware is updated before the driver will be described.
まず、現行のファームウェアはバージョンbであるとする。 First, assume that the current firmware is version b.
また、ドライババージョン記憶部102は、現行のドライバのバージョンとして「1.0」を記憶しているとする。つまり、現行のドライバはバージョン1.0である。
Further, it is assumed that the driver
また、組合せ情報記憶部121は、具体例2と同様に、図8に示した組合せ情報を記憶しているとする。
Further, it is assumed that the combination
この場合、まず、ファームウェア実行装置120において、起動時に、依存関係判断部104は、組合せ情報記憶部121から図8の組合せ情報を読み込む(ステップS101)。
In this case, first, in the
ここで、No.4〜No.5の組合せ情報を参照すると、現行のファームウェアのバージョンbを利用可能なドライバのバージョンは、本来含まれる機能モジュールA2を利用可能なドライバのバージョン2.xである。しかしながら、現行のドライバはバージョン1.0である。 Here, no. 4-No. 5, the version of the driver that can use the current firmware version b is the version of the driver that can use the originally included function module A2. x. However, the current driver is version 1.0.
そこで、依存関係判断部104は、現行のファームウェアのバージョンbと、現行のドライバのバージョン1.0との間に、依存関係の不整合が有ると判断する(ステップS104でYes)。
Therefore, the dependency
また、No.1の組合せ情報を参照すると、現行のドライバのバージョン1.0との間に依存関係の不整合がないバージョンの機能モジュールを本来含むファームウェアは、バージョンaである。ファームウェアのバージョンaは、現行のバージョンbより古い。 No. Referring to the combination information of 1, the firmware that originally includes the functional module of the version having no inconsistency of dependency with the current driver version 1.0 is version a. The firmware version a is older than the current version b.
したがって、依存関係判断部104は、ファームウェアを更新しても不整合が解消されないと判断する(ステップS106でNo)。
Therefore, the dependency
そこで、機能モジュール選択部106は、現行のファームウェアのバージョンbに含まれる複数のバージョンの機能モジュールAのうち、現行のドライバのバージョン1.0によって利用可能な機能モジュールA1を選択する(ステップS110)。
Therefore, the functional
次に、パラメータ設定部127は、選択された機能モジュールA1と、現行のドライバのバージョン1.0との組合せについて、動作エラーが有ることを示すエラー情報が登録されていると判断する(ステップS121でYes)。
Next, the
そこで、パラメータ設定部127は、動作エラーが無い設定値のうち優先度が最も高い「2」が設定されたNo.3の組合せ情報に基づいて、パラメータXとして「Disabled」およびパラメータYとして「Disabled」を設定する(ステップS123)。
Therefore, the
そして、ファームウェア実行装置120は、選択された機能モジュールA1を実行し、設定されたパラメータで動作する。
Then, the
以上で、具体例の説明を終了する。 This is the end of the description of the specific example.
次に、本発明の第2の実施の形態の効果について述べる。 Next, the effect of the second exemplary embodiment of the present invention will be described.
本発明の第2の実施の形態としてのファームウェア実行装置は、必要なリソース量の増大を抑制しながら、ファームウェアまたはドライバの更新に伴うパラメータの設定変更に起因する不具合を、より確実に回避することができる。 The firmware execution device according to the second exemplary embodiment of the present invention more reliably avoids problems caused by parameter setting changes accompanying firmware or driver updates while suppressing an increase in the amount of necessary resources. Can do.
その理由について説明する。本発明の第2の実施の形態は、本発明の第1の実施の形態と同様の構成に加えて、次の構成を備える。すなわち、組合せ情報記憶部が、機能モジュールのバージョンおよびドライバのバージョンの組合せ毎に、依存関係情報、設定値情報、エラー情報および優先度情報を含む組合せ情報を記憶する。そして、パラメータ設定部が、選択された機能モジュールのバージョンと現行のドライバのバージョンとの組合せにおいて、動作エラーが無い設定値のうち優先度に基づき選択した設定値を、パラメータとして設定するからである。 The reason will be described. The second embodiment of the present invention has the following configuration in addition to the same configuration as the first embodiment of the present invention. That is, the combination information storage unit stores combination information including dependency relationship information, setting value information, error information, and priority information for each combination of functional module version and driver version. This is because the parameter setting unit sets, as a parameter, the setting value selected based on the priority among the setting values with no operation error in the combination of the selected functional module version and the current driver version. .
このように、本実施の形態は、依存関係の不整合がないよう選択された機能モジュールのバージョンおよび現行のドライバのバージョンの組合せにおいて、動作エラーが無い設定値を優先度に基づき選択してパラメータとして設定する。したがって、本実施の形態は、ファームウェアまたはドライバの更新の際に、パラメータの設定変更により不具合を生じさせる可能性を大幅に低減するだけでなく、ファームウェアのパラメータとしてより適切な設定値を設定して性能を向上させることができる。 As described above, according to the present embodiment, in the combination of the function module version and the current driver version selected so that there is no inconsistency in the dependency relationship, a setting value with no operation error is selected based on the priority and the parameter is selected. Set as. Therefore, this embodiment not only greatly reduces the possibility of causing problems due to parameter setting changes when updating firmware or drivers, but also sets more appropriate setting values as firmware parameters. Performance can be improved.
なお、本実施の形態の具体例において、組合せ情報記憶部に記憶される組合せ情報の一例を図7〜図8に示した。ただし、組合せ情報の構造や形式は、これら図示したものに限られない。 In the specific example of the present embodiment, examples of combination information stored in the combination information storage unit are shown in FIGS. However, the structure and format of the combination information are not limited to those illustrated.
(第3の実施の形態)
次に、本発明の第3の実施の形態としてのファームウェア実行装置130について図面を参照して詳細に説明する。
(Third embodiment)
Next, a
まず、ファームウェア実行装置130の機能ブロック構成を図9に示す。図9において、ファームウェア実行装置130は、本発明の第2の実施の形態としてのファームウェア実行装置120と同様の構成に加えて、組合せ情報取得部138を備える。
First, the functional block configuration of the
次に、ファームウェア実行装置130のハードウェア構成の一例について説明する。ファームウェア実行装置130は、図2を参照して説明した本発明の第1の実施の形態と同様のハードウェア要素によって構成可能である。この場合、組合せ情報取得部138は、メモリ1002に記憶されたプログラムを実行するCPU1001と、管理プロセッサ1004と、管理ネットワークインタフェース1005とによって構成される。ただし、ファームウェア実行装置130およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
Next, an example of the hardware configuration of the
次に、ファームウェア実行装置130の機能ブロックのうち本発明の第2の実施の形態と異なる機能ブロックについて詳細を説明する。
Next, details of the functional blocks of the
組合せ情報取得部138は、コンピュータ装置の起動時に、管理ネットワークを介して組合せ情報を取得し、組合せ情報記憶部121に書き込む。管理ネットワークは、ファームウェア実行装置130を含むコンピュータ装置においてファームウェアの起動中に利用可能である。例えば、組合せ情報取得部138は、管理ネットワーク上で稼働する管理サーバから、組合せ情報を取得してもよい。
The combination
以上のように構成されたファームウェア実行装置130の動作を、図10を参照して説明する。
The operation of the
図10では、まず、組合せ情報取得部138は、起動時に、管理ネットワークを介して組合せ情報を取得する(ステップS131)。
In FIG. 10, first, the combination
次に、組合せ情報取得部138は、取得した組合せ情報を、組合せ情報記憶部121に書き込む(ステップS132)。
Next, the combination
このとき、組合せ情報取得部138は、取得した組合せ情報を用いて、組合せ情報記憶部121に記憶された情報を上書きしてもよい。あるいは、組合せ情報取得部138は、は、取得した組合せ情報を追加して書き込んでもよい。
At this time, the combination
以降、ファームウェア実行装置130は、ステップS101〜S110まで、本発明の第1および第2の実施の形態と同様に動作する。これにより、ファームウェアおよびドライバのバージョン間の依存関係に関する依存関係判断部104の判断結果に応じて、ファームウェアが更新されて再起動されるか、または、機能モジュールが選択される。
Thereafter, the
そして、ファームウェア実行装置130は、ステップS121〜S123まで、本発明の第2の実施の形態と同様に動作する。これにより、ファームウェアおよびドライバのバージョンの組合せに応じて、エラー情報および優先度情報に基づいてパラメータが設定される。
Then, the
以上で、ファームウェア実行装置130の動作の説明を終了する。
Above, description of operation | movement of the
次に、本発明の第3の実施の形態の効果について述べる。 Next, effects of the third exemplary embodiment of the present invention will be described.
本発明の第3の実施の形態としてのファームウェア実行装置は、ファームウェアまたはドライバが未知のバージョンに更新されることによる不具合をより確実に回避することができる。 The firmware execution apparatus according to the third embodiment of the present invention can more reliably avoid problems caused by updating the firmware or driver to an unknown version.
その理由について説明する。本発明の第3の実施の形態では、本発明の第2の実施の形態と同様の構成に加えて、組合せ情報取得部が、コンピュータ装置の起動時に、管理ネットワークを介して組合せ情報を取得し、組合せ情報記憶部に書き込む。したがって、組合せ情報記憶部には、コンピュータ装置が起動する度に、取得可能な最新の組合せ情報が記憶されることになる。つまり、本実施の形態は、最新の組合せ情報に基づいて動作することになり、ファームウェアまたはドライバを未知のバージョンに更新してしまうことがない。その結果、本実施の形態は、未知のバージョン間で依存関係の不整合が発生することを回避できる。 The reason will be described. In the third embodiment of the present invention, in addition to the same configuration as that of the second embodiment of the present invention, the combination information acquisition unit acquires the combination information via the management network when the computer apparatus is started. To the combination information storage unit. Therefore, the latest combination information that can be acquired is stored in the combination information storage unit every time the computer apparatus is activated. In other words, the present embodiment operates based on the latest combination information, and the firmware or driver is not updated to an unknown version. As a result, the present embodiment can avoid the occurrence of dependency mismatch between unknown versions.
(第4の実施の形態)
次に、本発明の第4の実施の形態としてのファームウェア実行装置140について図面を参照して詳細に説明する。
(Fourth embodiment)
Next, a
まず、ファームウェア実行装置140の機能ブロック構成を図11に示す。図11において、ファームウェア実行装置140は、本発明の第3の実施の形態としてのファームウェア実行装置130と同一の構成に加えて、機能モジュール取得部149を備える。
First, the functional block configuration of the
また、本実施の形態では、ファームウェア更新部105によって取得されるファームウェアに含まれる情報が、本発明の第1〜第3の実施の形態と若干異なる。本発明の第1〜第3の実施の形態では、取得されるファームウェアは、該当するファームウェアのバージョンに本来含まれるバージョンの機能モジュールに加えて、ドライバのバージョン別の機能モジュールを含むものとして説明した。本実施の形態では、取得されるファームウェアは、本来含まれるバージョンの機能モジュールを含んでいればよい。
In the present embodiment, the information included in the firmware acquired by the
ここで、ファームウェア実行装置140およびその各機能ブロックは、図2を参照して説明した本発明の第1の実施の形態と同様のハードウェア要素によって構成可能である。この場合、機能モジュール取得部149は、メモリ1002に記憶されたプログラムを実行するCPU1001と、管理プロセッサ1004と、管理ネットワークインタフェース1005とによって構成される。ただし、ファームウェア実行装置140およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
Here, the
次に、ファームウェア実行装置140の機能ブロックのうち本発明の第2の実施の形態と異なる機能ブロックについて詳細を説明する。
Next, details of the functional blocks of the
機能モジュール取得部149は、依存関係判断部104によって、ファームウェアの更新により不整合が解消されないと判断された場合に機能する。すなわち、この場合、機能モジュール取得部149は、現行のドライバのバージョンとの間に依存関係の不整合がないバージョンの機能モジュールをバックアップモジュールとして、管理ネットワークより取得する。
The functional
また、機能モジュール取得部149は、取得したバックアップモジュールを、ファームウェア記憶部123に記憶させる。ここで、ファームウェア記憶部123には、ファームウェア更新部105によって現行のファームウェアに本来含まれるバージョンの機能モジュールが記憶されている。本来含まれるバージョンの機能モジュールを、以降、メインモジュールとも記載する。つまり、機能モジュール取得部149が機能することにより、ファームウェア記憶部123は、ドライバのバージョンとの間に依存関係を有する機能モジュールについては、メインモジュールおよびバックアップモジュールを記憶することになる。
Also, the functional
本実施の形態においてファームウェア記憶部123に記憶される機能モジュールの一例を図12に示す。図12において、機能モジュールAおよび機能モジュールBは、ドライバのバージョンとの間に依存関係を有するものとする。したがって、これらの機能モジュールについてはメインモジュールおよびバックアップモジュールが記憶される。この例では、機能モジュールAがメインモジュールを表し、機能モジュールA’が機能モジュールAに対するバックアップモジュールを表している。また、機能モジュールBがメインモジュールを表し、機能モジュールB’が機能モジュールBに対するバックアップモジュールを表している。また、この例では、機能モジュールCは、ドライバのバージョンとの間に依存関係が無いとする。したがって、メインモジュールとして機能モジュールCが記憶され、機能モジュールCに対するバックアップモジュールは記憶されない。
An example of functional modules stored in the
以上のように構成されたファームウェア実行装置140の動作を、図13を参照して説明する。
The operation of the
図13において、ファームウェア実行装置140は、図10を参照して説明した本発明の第3の実施の形態とほぼ同様に動作する。ただし、ファームウェアの更新により依存関係の不整合が解消されないと判断された場合(ステップS106でNo)の動作が若干異なる。
In FIG. 13, the
この場合、本発明の第3の実施の形態では、機能モジュール選択部106は、ファームウェア記憶部123に記憶された機能モジュールの中から、現行のドライバのバージョンにより利用可能なバージョンの機能モジュールを選択していた(ステップS110)。
In this case, in the third embodiment of the present invention, the function
これに対して、本実施の形態では、ファームウェア実行装置140は、ステップS110の代わりに、次のステップS141〜S143を実行する点が異なる。
On the other hand, in this embodiment, the
すなわち、この場合、機能モジュール取得部149は、現行のドライバのバージョンとの間に依存関係の不整合がないバージョンの機能モジュールをバックアップモジュールとして、管理ネットワークより取得する(ステップS141)。
That is, in this case, the functional
次に、機能モジュール取得部149は、取得したバックアップモジュールを、ファームウェア記憶部123に記憶させる(ステップS142)。
Next, the functional
その後、機能モジュール選択部106は、バックアップモジュールを選択する(ステップS143)。
Thereafter, the functional
以降、ファームウェア実行装置140は、本発明の第3の実施の形態と同様にステップS121〜S123を実行することにより、パラメータを設定する。
Thereafter, the
以上で、ファームウェア実行装置140の動作の説明を終了する。
Above, description of operation | movement of the
次に、本発明の第4の実施の形態の効果について述べる。 Next, effects of the fourth exemplary embodiment of the present invention will be described.
本発明の第4の実施の形態としてのファームウェア実行装置は、ファームウェアまたはドライバの更新による不具合をより確実に回避しながら、必要となるリソース量の増大をさらに抑制することができる。 The firmware execution device according to the fourth exemplary embodiment of the present invention can further suppress an increase in the amount of required resources while more reliably avoiding problems caused by firmware or driver updates.
その理由について説明する。本発明の第4の実施の形態では、本発明の第4の実施の形態と同様の構成に加えて、バックアップモジュール取得部が、依存関係判断部によってファームウェアの更新により不整合が解消されないと判断された場合に機能する。すなわち、この場合、バックアップモジュール取得部は、現行のドライバのバージョンとの間に依存関係の不整合がないバージョンの機能モジュールをバックアップモジュールとして、管理ネットワークより取得する。そして、バックアップモジュール取得部は、取得したバックアップモジュールを、ファームウェア記憶部に記憶させる。そして、機能モジュール選択部が、バックアップモジュールを選択するからである。 The reason will be described. In the fourth embodiment of the present invention, in addition to the configuration similar to that of the fourth embodiment of the present invention, the backup module acquisition unit determines that the inconsistency is not resolved by the firmware update by the dependency relationship determination unit. It works when it is done. That is, in this case, the backup module acquisition unit acquires, from the management network, a function module having a version having no dependency mismatch with the current driver version as a backup module. Then, the backup module acquisition unit stores the acquired backup module in the firmware storage unit. This is because the functional module selection unit selects the backup module.
つまり、本実施の形態は、ドライバのバージョンとの間に依存関係がある機能モジュールであっても、全てのバージョンのドライバによってそれぞれ利用可能な機能モジュールをファームウェア記憶部に記憶させる必要がない。本実施の形態は、そのような機能モジュールについて、現行のファームウェアに本来含まれるバージョンのメインモジュールと、現行のドライバのバージョンによって利用可能なバックアップモジュールとをファームウェア記憶部に記憶すればよい。したがって、本実施の形態は、ファームウェア記憶部として必要なリソース量を削減することができる。 In other words, in the present embodiment, even if a function module has a dependency relationship with the driver version, it is not necessary to store the function modules that can be used by all versions of the driver in the firmware storage unit. In the present embodiment, for such a functional module, a version of the main module that is originally included in the current firmware and a backup module that can be used depending on the version of the current driver may be stored in the firmware storage unit. Therefore, this embodiment can reduce the amount of resources required as a firmware storage unit.
また、本実施の形態では、ファームウェア記憶部によって取得されるファームウェアに、バージョン別の機能モジュールが含まれている必要がない。したがって、本実施の形態は、更新対象のファームウェアとして、一般的なデータ構造のファームウェアを適用することができる。 In the present embodiment, the firmware acquired by the firmware storage unit does not need to include functional modules for different versions. Therefore, this embodiment can apply firmware having a general data structure as firmware to be updated.
(第5の実施の形態)
次に、本発明の第5の実施の形態について図面を参照して詳細に説明する。本実施の形態は、本発明のファームウェア実行装置に対応するファームウェア管理装置の一実施形態について説明する。
(Fifth embodiment)
Next, a fifth embodiment of the present invention will be described in detail with reference to the drawings. In the present embodiment, an embodiment of a firmware management apparatus corresponding to the firmware execution apparatus of the present invention will be described.
まず、本発明の第5の実施の形態としてのファームウェア管理装置200について説明する。ファームウェア管理装置200は、本発明の第2の実施の形態としてのファームウェア実行装置120が実行するファームウェアを管理する装置である。ファームウェア管理装置200の機能ブロック構成を図14に示す。図14において、ファームウェア管理装置200は、組合せ情報更新部201を備える。
First, a
ここで、ファームウェア管理装置200のハードウェア構成の一例について説明する。ファームウェア管理装置200は、図2に示したような、本発明の第2の実施の形態としてのファームウェア実行装置120を構成するコンピュータ装置によって構成される。この場合、組合せ情報更新部201は、メモリ1002に記憶されたプログラムを実行するCPU1001によって構成される。なお、ファームウェア管理装置200およびその機能ブロックのハードウェア構成は、上述の構成に限定されない。
Here, an example of a hardware configuration of the
次に、ファームウェア管理装置200の機能ブロックの詳細について説明する。
Next, details of functional blocks of the
組合せ情報更新部201は、ファームウェア実行装置120における組合せ情報記憶部121に記憶された組合せ情報を更新する。
The combination
以上のように構成されたファームウェア管理装置200の動作を図15に示す。
The operation of the
図15では、まず、組合せ情報更新部201は、更新対象の組合せ情報を取得し、取得した組合せ情報を、ファームウェア実行装置120の組合せ情報記憶部121に格納するする(ステップS201)。例えば、組合せ情報更新部201は、更新対象の組合せ情報を、入力装置1007によって入力された格納場所や、ネットワーク上の所定の格納場所から取得してもよい。
In FIG. 15, first, the combination
このとき、組合せ情報更新部201は、取得した組合せ情報を用いて、組合せ情報記憶部121に記憶された情報を上書きしてもよい。あるいは、組合せ情報更新部201は、取得した組合せ情報を追加して書き込んでもよい。
At this time, the combination
以上で、ファームウェア管理装置200は、動作を終了する。
Thus, the
なお、組合せ情報更新部201は、組合せ情報の更新を、入力装置1007からの指示に応じて実行してもよい。あるいは、ファームウェア管理装置200がファームウェアの更新機能を有する場合、組合せ情報更新部201は、組合せ情報の更新を、ファームウェアの更新の際に実行してもよい。
The combination
この場のファームウェア管理装置200の動作を図16に示す。
The operation of the
図16では、まず、ファームウェア管理装置200は、ファームウェアの更新を要求されているか否かを判断する(ステップS211)。更新の要求は、例えば、入力装置1007や管理ネットワークを介して行われる。
In FIG. 16, first, the
ここで、ファームウェアの更新が要求されていなければ、ファームウェア管理装置200は、動作を終了する。
If firmware update is not requested, the
一方、ファームウェアの更新が要求されている場合、ファームウェア管理装置200は、更新用のファームウェアを取得して、ファームウェアを更新する(ステップS212)。
On the other hand, when the firmware update is requested, the
なお、更新用のファームウェアとは、現行のファームウェアから更新するためのより新しいバージョンのファームウェアをいうものとする。 Note that the firmware for update refers to a newer version of firmware for updating from the current firmware.
次に、組合せ情報更新部201は、上述のステップS201を実行することにより、組合せ情報を更新する(ステップS201)。
Next, the combination
次に、ファームウェア管理装置200は、コンピュータ装置を再起動する(ステップS213)。
Next, the
以上で、ファームウェアを更新する際に組合せ情報を更新する場合のファームウェア管理装置200の動作の説明を終了する。
This is the end of the description of the operation of the
次に、ファームウェア管理装置200の動作を具体例で説明する。ここでは、ファームウェアの更新の際に組合せ情報を更新するものとする。
Next, the operation of the
<具体例4>
ここでは、現行のファームウェアは、バージョンaであるとする。
<Specific Example 4>
Here, it is assumed that the current firmware is version a.
また、ドライババージョン記憶部102は、現行のドライバのバージョンとして「1.0」を記憶しているとする。つまり、現行のドライバはバージョン1.0である。
Further, it is assumed that the driver
また、組合せ情報記憶部121は、本発明の第2の実施の形態の具体例2および具体例3と同様に、図8に示した組合せ情報を記憶しているとする。
Moreover, it is assumed that the combination
この場合、まず、ファームウェア管理装置200は、ファームウェアaをファームウェアbに更新する(ステップS211でYes、S212)。例えば、更新用のファームウェアbは、可搬型記憶媒体から取得されていてもよい。あるいは、更新用のファームウェアbは、アウトオブバンド管理用の管理ネットワークを介して受信されてもよい。
In this case, first, the
次に、組合せ情報更新部201は、更新用の組合せ情報を、組合せ情報記憶部121に書き込む(ステップS201)。例えば、更新用の組合せ情報は、可搬型記憶媒体から取得されていてもよい。あるいは、更新用の組合せ情報は、アウトオブバンド管理用の管理ネットワークを介して受信されてもよい。なお、更新用の組合せ情報とは、現行の組合せ情報を更新するためのより新しい組合せ情報をいうものとする。
Next, the combination
次に、組合せ情報更新部201は、コンピュータ装置を再起動する(ステップS213)。これにより、現行のファームウェアは、バージョンbとなる。このとき、ドライババージョン記憶部102は、現行のドライバのバージョンとして「1.0」を記憶している。したがって、その後、ファームウェア実行装置120は、本発明の第2の実施の形態における具体例3と同様に動作する。
Next, the combination
以上で、具体例の動作の説明を終了する。 This is the end of the description of the operation of the specific example.
次に、本発明の第5の実施の形態の効果について述べる。 Next, effects of the fifth exemplary embodiment of the present invention will be described.
本発明の第5の実施の形態としてのファームウェア管理装置は、ファームウェアまたはドライバの更新による不具合の発生を、さらに確実に回避することができる。 The firmware management apparatus according to the fifth embodiment of the present invention can more reliably avoid the occurrence of problems due to firmware or driver updates.
その理由について説明する。本実施の形態では、組合せ情報更新部が、組合せ情報を更新するからである。これにより、本実施の形態は、ファームウェアまたはドライバの更新による不具合の発生を回避するためにファームウェア実行装置によって参照される組合せ情報を、任意のタイミングで最新の情報に更新することができるからである。 The reason will be described. This is because the combination information update unit updates the combination information in the present embodiment. As a result, the present embodiment can update the combination information referred to by the firmware execution apparatus to the latest information at an arbitrary timing in order to avoid the occurrence of problems due to firmware or driver updates. .
(第6の実施の形態)
次に、本発明の第6の実施の形態について図面を参照して詳細に説明する。本実施の形態は、本発明のファームウェア実行装置に対応するドライバ実行装置の一実施形態について説明する。
(Sixth embodiment)
Next, a sixth embodiment of the present invention will be described in detail with reference to the drawings. In the present embodiment, an embodiment of a driver execution device corresponding to the firmware execution device of the present invention will be described.
まず、本発明の第6の実施の形態としてのドライバ実行装置300について説明する。ドライバ実行装置300は、本発明の第2の実施の形態としてのファームウェア実行装置120を含むコンピュータ装置に実装されたドライバを実行する装置である。ドライバ実行装置300の機能ブロック構成を図17に示す。図17において、ドライバ実行装置300は、エラー情報登録部301を備える。
First, a
ここで、ドライバ実行装置300のハードウェア構成の一例について説明する。ドライバ実行装置300は、図2に示したような、本発明の第2の実施の形態としてのファームウェア実行装置120を構成するコンピュータ装置によって構成される。この場合、エラー情報登録部301は、メモリ1002に記憶されたプログラムを実行するCPU1001によって構成される。なお、ドライバ実行装置300およびその機能ブロックのハードウェア構成は、上述の構成に限定されない。
Here, an example of a hardware configuration of the
次に、ドライバ実行装置300の機能ブロックの詳細について説明する。
Next, details of functional blocks of the
エラー情報登録部301は、ハードウェアデバイス1008の制御において動作エラーを検出した場合、ファームウェア実行装置120の組合せ情報記憶部121に、エラー情報を登録する。具体的には、エラー情報登録部301は、組合せ情報記憶部121において、動作エラーに関連するファームウェアの機能モジュールのバージョンと、現行のドライバのバージョンとの組合せについて、パラメータの現行の設定値情報を含むエントリを検索する。そして、エラー情報登録部301は、検索したエントリに、動作エラーが有ることを表すエラー情報を登録すればよい。
When the error
以上のように構成されたドライバ実行装置300の動を図18に示す。
The operation of the
図18において、エラー情報登録部301は、ハードウェアデバイス1008の制御において動作エラーを検出したか否かを判断する(ステップS301)。
In FIG. 18, the error
ここで、動作エラーを検出していない場合(ステップS301でNo)、エラー情報登録部301は、ステップS301の動作を繰り返す。
If no operation error is detected (No in step S301), the error
一方、動作エラーを検出した場合(ステップS301でYes)、エラー情報登録部301は、エラー情報を、ファームウェア実行装置120の組合せ情報記憶部121に登録する(ステップS302)。
On the other hand, when an operation error is detected (Yes in step S301), the error
そして、エラー情報登録部301は、ステップS301からの動作を繰り返す。
Then, the error
以上で、ドライバ実行装置300の動作の説明を終了する。
Above, description of operation | movement of the
次に、本発明の第6の実施の形態の効果について述べる。 Next, effects of the sixth exemplary embodiment of the present invention will be described.
本発明の第6の実施の形態としてのドライバ実行装置は、ファームウェアまたはドライバの更新による不具合をより確実に回避することができる。 The driver execution device according to the sixth exemplary embodiment of the present invention can more reliably avoid problems caused by firmware or driver updates.
その理由について説明する。本実施の形態では、エラー情報登録部が、ハードウェアデバイスの制御において動作エラーを検出した場合、本発明の第2の実施の形態としてのファームウェア実行装置の組合せ情報記憶部に、エラー情報を登録するからである。 The reason will be described. In the present embodiment, when the error information registration unit detects an operation error in the control of the hardware device, the error information is registered in the combination information storage unit of the firmware execution apparatus according to the second embodiment of the present invention. Because it does.
ここで、本実施の形態は、そのような動作エラーが、ファームウェアまたはドライバの更新により生じたケースを想定している。本実施の形態は、このようにして登録したエラー情報を、コンピュータ装置が再起動された際に動作する本発明の第2の実施の形態としてのファームウェア実行装置に参照させることになる。したがって、動作エラー発生後のコンピュータ装置の再起動の際に、該当する設定値が、パラメータに設定されることがない。したがって、本実施の形態は、ファームウェアまたはドライバの更新による不具合の回避に貢献することができる。 Here, the present embodiment assumes a case where such an operation error has occurred due to firmware or driver updates. In this embodiment, the error information registered in this way is referred to the firmware execution apparatus as the second embodiment of the present invention that operates when the computer apparatus is restarted. Accordingly, when the computer apparatus is restarted after an operation error occurs, the corresponding set value is not set as a parameter. Therefore, the present embodiment can contribute to avoiding problems caused by firmware or driver updates.
なお、本実施の形態において、ファームウェア実行装置の組合せ情報記憶部に記憶される当初の組合せ情報がベンダから提供される場合、提供される組合せ情報には、エラー情報が含まれていなくてもよい。その場合であっても、本実施の形態のドライバ実行装置が、動作エラーの検出に応じてエラー情報を登録する。これにより、エラー情報は、動作実績に基づき蓄積されることになる。 In the present embodiment, when the original combination information stored in the combination information storage unit of the firmware execution apparatus is provided by the vendor, the provided combination information may not include error information. . Even in this case, the driver execution device according to the present embodiment registers error information in response to detection of an operation error. Thereby, the error information is accumulated based on the operation results.
(第7の実施の形態)
次に、本発明の第7の実施の形態について図面を参照して詳細に説明する。本実施の形態は、本発明のファームウェア実行装置に対応するドライバ管理装置の一実施形態について説明する。
(Seventh embodiment)
Next, a seventh embodiment of the present invention will be described in detail with reference to the drawings. In the present embodiment, an embodiment of a driver management apparatus corresponding to the firmware execution apparatus of the present invention will be described.
まず、本発明の第7の実施の形態としてのドライバ管理装置400について説明する。ドライバ管理装置400は、本発明の第1の実施の形態としてのファームウェア実行装置100を含むコンピュータ装置に実装されたドライバを管理する装置である。ドライバ管理装置400の機能ブロック構成を図19に示す。図19において、ドライバ管理装置400は、ドライバ更新部401と、情報更新部402とを備える。
First, a
ここで、ドライバ管理装置400のハードウェア構成の一例について説明する。ドライバ管理装置400は、図2に示したような、本発明の第1の実施の形態としてのファームウェア実行装置100を構成するコンピュータ装置によって構成される。この場合、ドライバ更新部401および情報更新部402は、メモリ1002に記憶されたプログラムを実行するCPU1001によって構成される。なお、ドライバ管理装置400およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
Here, an example of a hardware configuration of the
次に、ドライバ管理装置400の各機能ブロックの詳細について説明する。
Next, details of each functional block of the
ドライバ更新部401は、コンピュータ装置に実装されたドライバを更新する。例えば、ドライバ更新部401は、入力装置1007を介して入力される更新指示を表す情報に基づいて、ドライバを更新してもよい。なお、ドライバ更新部401は、現行のバージョンより新しいバージョンのドライバを、更新指示を表す情報に基づく格納場所から取得すればよい。そのような格納場所としては、例えば、メモリ1002、可搬型記憶媒体、または、ネットワーク上の管理サーバ等があるが、これらに限られない。
The
情報更新部402は、ファームウェア実行装置100におけるドライババージョン記憶部102に記憶された現行のドライバのバージョンを表す情報を、ドライバ更新部401による更新後のバージョンを表す情報に更新する。
The
なお、情報更新部402は、さらに、ドライバを更新したタイミングで、ファームウェア実行装置100における組合せ情報記憶部101に記憶された情報を更新可能に構成されていてもよい。この場合、ドライバ更新部401は、更新指示を表す情報に基づいて、更新用のドライバを表す情報に加えて、更新用の組合せ情報を取得すればよい。
Note that the
次に、ドライバ管理装置400の動作を図20に示す。
Next, the operation of the
図20では、まず、ドライバ更新部401は、更新用のドライバを表す情報を取得し、取得したドライバを表す情報を用いて、現行のドライバを更新する(ステップS401)。
In FIG. 20, first, the
次に、情報更新部402は、ファームウェア実行装置100に記憶された情報を更新する(ステップS402)。
Next, the
具体的には、情報更新部402は、ドライババージョン記憶部102に記憶された現行のドライバのバージョンを表す情報を、更新後のドライバのバージョンを表す情報に更新する。さらに、前述したように、情報更新部402は、組合せ情報記憶部101に記憶された情報を更新してもよい。その場合、ステップS401において、更新用のドライバを表す情報と共に、更新用の組合せ情報が取得されているものとする。
Specifically, the
次に、ドライバ更新部401は、コンピュータ装置を再起動する(ステップS403)。
Next, the
このときステップS402の更新動作により、ファームウェアより先にドライバが更新された状況を想定する。また、そのために、バージョン間に依存関係の不整合が発生していたとする。その場合であっても、ステップS403での再起動後に、ファームウェア実行装置100の各機能ブロックが、本発明の第1の実施の形態と同様に動作する。このとき、ドライバ管理装置400の情報更新部402によって更新された現行ドライババージョン情報が参照される。これにより、依存関係判断部104は、現行のファームウェアのバージョンおよび更新後のドライバのバージョン間に依存関係の不整合があり、ファームウェアの更新により不整合が解消されると判断することになる。その結果、ファームウェア更新部105が、ファームウェアを更新することになり、不整合が解消される。
At this time, it is assumed that the driver is updated prior to the firmware by the update operation in step S402. Also, for this reason, it is assumed that inconsistency in dependency relationship has occurred between versions. Even in that case, after the restart in step S403, each functional block of the
次に、本発明の第7の実施の形態の効果について述べる。 Next, effects of the seventh exemplary embodiment of the present invention will be described.
本発明の第7の実施の形態としてのドライバ管理装置は、ファームウェアまたはドライバの更新による不具合をより確実に回避することができる。 The driver management apparatus according to the seventh embodiment of the present invention can more reliably avoid problems caused by firmware or driver updates.
その理由について説明する。本実施の形態では、ドライバ更新部が、本発明の第1の実施の形態としてのファームウェア実行装置を含むコンピュータ装置のドライバを更新する。そして、情報更新部が、ファームウェア実行装置のドライババージョン記憶部に記憶された情報を、更新後のドライバのバージョンを表す情報に更新するからである。 The reason will be described. In the present embodiment, the driver update unit updates the driver of the computer apparatus including the firmware execution apparatus as the first embodiment of the present invention. This is because the information updating unit updates the information stored in the driver version storage unit of the firmware execution apparatus to information indicating the updated driver version.
これにより、本実施の形態は、更新後のドライバのバージョンを、コンピュータ装置が再起動された際に動作する本発明の第1の実施の形態としてのファームウェア実行装置に参照させることになる。したがって、ファームウェア実行装置において、現行のファームウェアおよび更新後のドライバのバージョン間の依存関係の不整合が、正しく判断されることになる。したがって、本実施の形態は、ファームウェアまたはドライバの更新による不具合の回避に貢献することができる。 Thus, in this embodiment, the updated driver version is referred to by the firmware execution apparatus as the first embodiment of the present invention that operates when the computer apparatus is restarted. Accordingly, in the firmware execution apparatus, inconsistency in dependency between the current firmware and the updated driver version is correctly determined. Therefore, the present embodiment can contribute to avoiding problems caused by firmware or driver updates.
また、さらに、本実施の形態において、情報更新部が、ドライバの更新の際に組合せ情報を更新するよう構成される場合、そのような組合せ情報は、更新後のドライバのバージョンに関する情報を確実に含むことが期待される。したがって、再起動後のファームウェア実行装置において、更新後のドライバのバージョンに関する情報を含む組合せ情報が参照されることになる。その結果、本実施の形態は、バージョン間の依存関係の不整合による不具合の発生を、さらに確実に回避することができる。 Furthermore, in the present embodiment, when the information update unit is configured to update the combination information at the time of driver update, such combination information ensures that the information about the updated driver version is included. Expected to include. Therefore, in the firmware execution apparatus after the restart, the combination information including the information related to the updated driver version is referred to. As a result, according to the present embodiment, it is possible to more reliably avoid the occurrence of problems due to inconsistencies in dependency relationships between versions.
(第8の実施の形態)
次に、本発明の第8の実施の形態について図面を参照して詳細に説明する。本実施の形態は、本発明のファームウェア実行装置に対応するドライバ管理装置の他の一実施形態について説明する。
(Eighth embodiment)
Next, an eighth embodiment of the present invention will be described in detail with reference to the drawings. In the present embodiment, another embodiment of the driver management apparatus corresponding to the firmware execution apparatus of the present invention will be described.
まず、本発明の第8の実施の形態としてのドライバ管理装置480について説明する。ドライバ管理装置480は、本発明の第1の実施の形態としてのファームウェア実行装置100を含むコンピュータ装置に実装されたドライバを更新する装置である。ドライバ管理装置480の機能ブロック構成を図21に示す。図21において、ドライバ管理装置480は、本発明の第7の実施の形態としてのドライバ管理装置400に対して、ドライバ更新部401に替えてドライバ更新部481を備える点が異なる。
First, the
次に、ドライバ管理装置480の各機能ブロックのうち、本発明の第7の実施の形態と異なる機能ブロックの詳細について説明する。
Next, among the functional blocks of the
ドライバ更新部481は、ドライバを更新する前に、ファームウェア実行装置100における組合せ情報記憶部101に記憶された組合せ情報を参照する。そして、ドライバ更新部481は、組合せ情報を参照することにより、現行のファームウェアのバージョンと、ドライバを更新した場合の更新後のバージョンとの間に依存関係の不整合があるか否かを判断する。もし、更新後のバージョンとの間に依存関係の不整合があれば、ドライバ更新部481は、現行のドライバを更新しない。更新後のバージョンとの間に依存関係の不整合がなければ、ドライバ更新部481は、現行のドライバを更新する。
The
次に、ドライバ管理装置480の動作を図22に示す。
Next, the operation of the
図22では、まず、ドライバ更新部481は、更新用のドライバのバージョンを取得する(ステップS421)。
In FIG. 22, first, the
次に、ドライバ更新部481は、現行のファームウェアのバージョンを取得する(ステップS422)。
Next, the
次に、ドライバ更新部481は、ファームウェア実行装置100の組合せ情報記憶部101から、組合せ情報を読み込む(ステップS423)。
Next, the
次に、ドライバ更新部481は、更新用のドライバのバージョンおよび現行のファームウェアのバージョンとの間に依存関係の不整合があるか否かを、組合せ情報を参照して判断する(ステップS424)。
Next, the
ここで、依存関係の不整合があると判断した場合(ステップS424でYes)、ドライバ更新部481は、ドライバを更新せずに動作を終了する。
If it is determined that there is a dependency mismatch (Yes in step S424), the
一方、依存関係の不整合がないと判断した場合(ステップS424でNo)、ドライバ管理装置480は、ステップS401〜S403まで、本発明の第7の実施の形態としてのドライバ管理装置400と同様に動作する。これにより、ドライバが更新され、ファームウェア実行装置100における情報が更新された上で、コンピュータ装置が再起動される。
On the other hand, if it is determined that there is no dependency mismatch (No in step S424), the
以上で、ドライバ管理装置480は動作を終了する。
Thus, the
次に、本発明の第8の実施の形態の効果について述べる。 Next, effects of the eighth exemplary embodiment of the present invention will be described.
本発明の第8の実施の形態としてのドライバ管理装置は、ファームウェアまたはドライバの更新による不具合をさらに確実に回避することができる。 The driver management apparatus according to the eighth embodiment of the present invention can more reliably avoid problems caused by firmware or driver updates.
その理由について説明する。本実施の形態では、ドライバ更新部が、本発明の第1の実施の形態としてのファームウェア実行装置を含むコンピュータ装置のドライバを更新する前に、次のように動作するからである。すなわち、ドライバ更新部が、現行のファームウェアのバージョンおよび更新しようとしている更新用のドライバのバージョンの間に依存関係の不整合があるか否かを、ファームウェア実行装置の組合せ情報記憶部を参照することにより判断する。そして、依存関係の不整合がない場合に、ドライバ更新部が、本発明の第7の実施の形態としてのドライバ更新部と同様に動作してドライバを更新する。そして、情報更新部が、ファームウェア実行装置のドライババージョン記憶部等を更新するからである。 The reason will be described. This is because, in the present embodiment, the driver update unit operates as follows before updating the driver of the computer apparatus including the firmware execution apparatus as the first embodiment of the present invention. In other words, the driver update unit refers to the combination information storage unit of the firmware execution device to determine whether or not there is a dependency mismatch between the current firmware version and the version of the driver for update to be updated. Judgment by. When there is no dependency mismatch, the driver update unit operates in the same manner as the driver update unit according to the seventh embodiment of the present invention to update the driver. This is because the information update unit updates the driver version storage unit and the like of the firmware execution device.
このように、本実施の形態は、ファームウェアより先にドライバが更新されることにより依存関係の不整合が発生することを回避できる。 As described above, according to the present embodiment, it is possible to avoid the occurrence of inconsistency in the dependency relationship due to the driver being updated before the firmware.
(第9の実施の形態)
次に、本発明の第9の実施の形態について図面を参照して詳細に説明する。本実施の形態は、本発明のファームウェア実行装置を含むコンピュータ装置の一実施形態について説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
(Ninth embodiment)
Next, a ninth embodiment of the present invention will be described in detail with reference to the drawings. In the present embodiment, an embodiment of a computer apparatus including the firmware execution apparatus of the present invention will be described. Note that, in each drawing referred to in the description of the present embodiment, the same reference numerals are given to the same configuration and steps that operate in the same manner as in the first embodiment of the present invention, and the detailed description in the present embodiment. Description is omitted.
まず、本発明の第9の実施の形態としてのコンピュータ装置1の機能ブロック構成を図23に示す。図23において、コンピュータ装置1は、本発明の第1の実施の形態としてのファームウェア実行装置100を含む。コンピュータ装置1に実装されるファームウェアは、ファームウェア実行装置100によって実行される。ここで、コンピュータ装置1は、図2を参照して説明したハードウェア要素によって構成可能である。ただし、コンピュータ装置1のハードウェア構成は、上述の構成に限定されない。
First, FIG. 23 shows a functional block configuration of a
コンピュータ装置1に含まれるファームウェア実行装置100の機能ブロック構成および動作は、本発明の第1の実施の形態で説明した通りである。
The functional block configuration and operation of the
次に、本発明の第9の実施の形態の効果について説明する。 Next, effects of the ninth exemplary embodiment of the present invention will be described.
本発明の第9の実施の形態としてのコンピュータ装置は、ファームウェアまたはドライバの更新による不具合をより確実に回避することができる。 The computer apparatus according to the ninth embodiment of the present invention can more reliably avoid problems caused by firmware or driver updates.
その理由について説明する。 The reason will be described.
本実施の形態のコンピュータ装置は、本発明の第1の実施の形態としてのファームウェア実行装置を含む。これにより、本実施の形態は、ファームウェアより先にドライバが更新された場合にも、ファームウェアがドライバより先に更新された場合にも、バージョン間の依存関係の不整合を解消するからである。 The computer apparatus according to the present embodiment includes a firmware execution apparatus as the first embodiment of the present invention. This is because the present embodiment eliminates inconsistencies in dependency relations between versions both when the driver is updated before the firmware and when the firmware is updated before the driver.
つまり、本実施の形態のコンピュータ装置は、ファームウェアまたはドライバがバージョン間の依存関係や更新順序を考慮せずに更新された場合にも、依存関係の不整合を解消する。これにより、本実施の形態のコンピュータ装置は、ファームウェアまたはドライバの更新による不具合をより確実に回避することができる。 That is, the computer apparatus according to the present embodiment eliminates the inconsistency in the dependency relationship even when the firmware or driver is updated without considering the dependency relationship between the versions and the update order. Thereby, the computer apparatus of this Embodiment can avoid the malfunction by the update of a firmware or a driver more reliably.
なお、本実施の形態において、コンピュータ装置は、本発明の第1の実施の形態としてのファームウェア実行装置の代わりに本発明の第2〜第4のいずれかの実施の形態としてのファームウェア実行装置を含んでいてもよい。 In the present embodiment, the computer apparatus uses a firmware execution apparatus as one of the second to fourth embodiments of the present invention instead of the firmware execution apparatus as the first embodiment of the present invention. May be included.
また、本実施の形態において、コンピュータ装置は、ファームウェア実行装置に加えて、本発明の第5の実施の形態としてのファームウェア管理装置を含んでいてもよい。 In the present embodiment, the computer apparatus may include a firmware management apparatus as the fifth embodiment of the present invention in addition to the firmware execution apparatus.
また、本実施の形態において、コンピュータ装置は、ファームウェア実行装置に加えて、本発明の第6の実施の形態としてのドライバ実行装置を含んでいてもよい。 In the present embodiment, the computer device may include a driver execution device as a sixth embodiment of the present invention in addition to the firmware execution device.
また、本実施の形態において、コンピュータ装置は、ファームウェア実行装置に加えて、本発明の第7または第8の実施の形態としてのドライバ管理装置を含んでいてもよい。 In the present embodiment, the computer device may include a driver management device according to the seventh or eighth embodiment of the present invention in addition to the firmware execution device.
また、上述した本発明の各実施の形態において、各装置の各機能ブロックが、メモリに記憶されたコンピュータ・プログラムを実行するCPUによって実現される例を中心に説明した。これに限らず、各機能ブロックまたはそれらの任意の組合せが専用のハードウェアにより実現されていてもよい。 Further, in each of the above-described embodiments of the present invention, the example in which each functional block of each apparatus is realized by a CPU that executes a computer program stored in a memory has been described. Not only this but each functional block or those arbitrary combinations may be implement | achieved by the hardware for exclusive use.
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した各装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納しておく。そして、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。 In each embodiment of the present invention described above, the operation of each device described with reference to each flowchart is stored in a storage device (storage medium) of the computer device as a computer program of the present invention. Then, the computer program may be read and executed by the CPU. In such a case, the present invention is constituted by the code of the computer program or a storage medium.
また、上述した各実施の形態は、適宜組合せて実施されることが可能である。 Moreover, each embodiment mentioned above can be implemented in combination as appropriate.
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。 The present invention is not limited to the above-described embodiments, and can be implemented in various modes.
また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
コンピュータ装置に実装されるファームウェアの各バージョンに含まれる機能モジュールのバージョンと、前記コンピュータ装置の内部または外部に接続されるハードウェアデバイスを制御するドライバのバージョンとの組合せについて、バージョン間の依存関係を表す依存関係情報を含む組合せ情報を記憶する組合せ情報記憶手段と、
前記コンピュータ装置に現在実装されている現行のドライバのバージョンを表す情報を記憶するドライババージョン記憶手段と、
前記コンピュータ装置に現在実装されている現行のファームウェアのバージョンに本来に含まれるバージョンの機能モジュールに加えて、前記ドライバのバージョンとの間に依存関係を有する機能モジュールについて前記ドライバの各バージョンによって利用可能なバージョンの機能モジュールを記憶するファームウェア記憶手段と、
前記コンピュータ装置の起動時に、前記現行のファームウェアのバージョンと、前記現行のドライバのバージョンとの間に依存関係の不整合があるか否か、および、前記不整合がある場合に前記ファームウェアの更新によって当該不整合が解消されるか否かを、前記組合せ情報を参照することにより判断する依存関係判断手段と、
前記依存関係判断手段によって、前記ファームウェアの更新により前記不整合が解消されると判断された場合に、前記不整合を解消するバージョンのファームウェアを取得して前記ファームウェア記憶手段を更新後、前記コンピュータ装置を再起動するファームウェア更新手段と、
前記依存関係判断手段によって、前記不整合がないと判断された場合に、前記現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行し、前記ファームウェアの更新により前記不整合が解消されないと判断された場合に、前記現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行する機能モジュール選択手段と、
を備えたファームウェア実行装置。
(付記2)
前記組合せ情報記憶手段は、前記機能モジュールのバージョンと前記ドライバのバージョンとの組合せについて、前記依存関係情報に加えて、前記ファームウェアのパラメータとして設定され得る設定値を表す設定値情報、および、前記設定値が適用された場合の動作エラーの有無を表すエラー情報をさらに含めて前記組合せ情報を記憶し、
前記組合せ情報を参照することにより、前記機能モジュール選択手段によって選択された機能モジュールおよび前記現行のドライバのバージョンの組合せにおいて動作エラーの無い設定値を、前記パラメータとして設定するパラメータ設定手段をさらに備えたことを特徴とする付記1に記載のファームウェア実行装置。
(付記3)
前記組合せ情報記憶手段は、前記機能モジュールのバージョンと前記ドライバのバージョンとの組合せについて、前記依存関係情報、前記設定値情報および前記エラー情報に加えて、前記設定値の優先度を表す優先度情報をさらに含めて前記組合せ情報を記憶し、
前記パラメータ設定手段は、前記組合せ情報を参照することにより、前記機能モジュール選択手段によって選択された機能モジュールおよび前記現行のドライバのバージョンの組合せにおいて動作エラーの無い設定値のうち前記優先度に基づき選択した設定値を、前記パラメータとして設定することを特徴とする付記2に記載のファームウェア実行装置。
(付記4)
前記コンピュータ装置の起動時に、管理ネットワークを介して前記組合せ情報を取得して、前記組合せ情報記憶手段に記憶させる組合せ情報取得手段をさらに備えたことを特徴とする付記1から付記3のいずれか1つに記載のファームウェア実行装置。
(付記5)
前記依存関係判断手段によって、前記ファームウェアの更新により前記不整合が解消されないと判断された場合に、前記現行のドライバのバージョンとの間に依存関係の不整合がないバージョンの機能モジュールを管理ネットワークより取得して、前記ファームウェア記憶手段に記憶させる機能モジュール取得手段をさらに備えたことを特徴とする付記1から付記4のいずれか1つに記載のファームウェア実行装置。
(付記6)
付記2ならびに付記2に従属する付記3から付記5のいずれか1つに記載のファームウェア実行装置を含むコンピュータ装置において前記ドライバを実行する際に動作エラーを検出した場合、前記ファームウェア実行装置の前記組合せ情報記憶手段に、前記エラー情報を登録するエラー情報登録手段を備えたドライバ実行装置。
(付記7)
付記1から付記5のいずれか1つに記載のファームウェア実行装置を含むコンピュータ装置に実装された前記ドライバを更新するドライバ更新手段と、
前記ファームウェア実行装置における前記ドライババージョン記憶手段に記憶された前記現行のドライバのバージョンを表す情報を、前記ドライバ更新手段による更新後のバージョンを表す情報に更新する情報更新手段と、
を備えたドライバ管理装置。
(付記8)
前記ドライバ更新手段は、前記ファームウェア実行装置における前記組合せ情報記憶手段に記憶された前記組合せ情報を参照することにより、前記現行のファームウェアのバージョンと、前記現行のドライバを更新した場合の更新後のバージョンとの間に依存関係の不整合があれば、前記現行のドライバを更新しないことを特徴とする付記7に記載のドライバ管理装置。
(付記9)
前記情報更新手段は、前記ファームウェア実行装置における前記組合せ情報記憶手段に記憶された組合せ情報をさらに更新することを特徴とする付記7または付記8に記載のドライバ管理装置。
(付記10)
付記1から付記5のいずれか1つに記載のファームウェア実行装置における前記組合せ情報記憶手段に記憶された組合せ情報を更新する組合せ情報更新手段を備えたファームウェア管理装置。
(付記11)
付記1から付記5のいずれか1つに記載のファームウェア実行装置を含み、前記ファームウェア実行装置によって実行される前記ファームウェアが実装されたコンピュータ装置。
(付記12)
前記コンピュータ装置が付記2ならびに付記2に従属する付記3および付記4のいずれか1つに記載のファームウェア実行装置を含む場合、
さらに、
付記6に記載のドライバ実行装置を含むことを特徴とする付記11に記載のコンピュータ装置。
(付記13)
さらに、
付記7から付記9のいずれか1つに記載のドライバ管理装置を含むことを特徴とする付記11または付記12に記載のコンピュータ装置。
(付記14)
さらに、
付記10に記載のファームウェア管理装置を含むことを特徴とする付記11から付記13のいずれか1つに記載のコンピュータ装置。
(付記15)
コンピュータ装置が、
前記コンピュータ装置に実装されるファームウェアの各バージョンに含まれる機能モジュールのバージョンと、前記コンピュータ装置の内部または外部に接続されるハードウェアデバイスを制御するドライバのバージョンとの組合せについて、バージョン間の依存関係を表す依存関係情報を含む組合せ情報を記憶する組合せ情報記憶手段と、
前記コンピュータ装置に現在実装されている現行のドライバのバージョンを表す情報を記憶するドライババージョン記憶手段と、
前記コンピュータ装置に現在実装されている現行のファームウェアのバージョンに本来に含まれるバージョンの機能モジュールに加えて、前記ドライバのバージョンとの間に依存関係を有する機能モジュールについて前記ドライバの各バージョンによって利用可能なバージョンの機能モジュールを記憶するファームウェア記憶手段とを用いて、
前記コンピュータ装置の起動時に、前記現行のファームウェアのバージョンと、前記現行のドライバのバージョンとの間に依存関係の不整合があるか否か、および、前記不整合がある場合に前記ファームウェアの更新によって当該不整合が解消されるか否かを、前記組合せ情報を参照することにより判断し、
前記ファームウェアの更新により前記不整合が解消されると判断した場合に、前記不整合を解消するバージョンのファームウェアを取得して前記ファームウェア記憶手段を更新後、前記コンピュータ装置を再起動し、
前記不整合がないと判断した場合に、前記現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行し、
前記ファームウェアの更新により前記不整合が解消されないと判断した場合に、前記現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行する方法。
(付記16)
コンピュータ装置に実装されるファームウェアの各バージョンに含まれる機能モジュールのバージョンと、前記コンピュータ装置の内部または外部に接続されるハードウェアデバイスを制御するドライバのバージョンとの組合せについて、バージョン間の依存関係を表す依存関係情報を含む組合せ情報を記憶する組合せ情報記憶手段と、
前記コンピュータ装置に現在実装されている現行のドライバのバージョンを表す情報を記憶するドライババージョン記憶手段と、
前記コンピュータ装置に現在実装されている現行のファームウェアのバージョンに本来に含まれるバージョンの機能モジュールに加えて、前記ドライバのバージョンとの間に依存関係を有する機能モジュールについて前記ドライバの各バージョンによって利用可能なバージョンの機能モジュールを記憶するファームウェア記憶手段とを用いて、
前記コンピュータ装置の起動時に、前記現行のファームウェアのバージョンと、前記現行のドライバのバージョンとの間に依存関係の不整合があるか否か、および、前記不整合がある場合に前記ファームウェアの更新によって当該不整合が解消されるか否かを、前記組合せ情報を参照することにより判断する依存関係判断ステップと、
前記依存関係判断ステップによって、前記ファームウェアの更新により前記不整合が解消されると判断された場合に、前記不整合を解消するバージョンのファームウェアを取得して前記ファームウェア記憶手段を更新後、前記コンピュータ装置を再起動するファームウェア更新ステップと、
前記依存関係判断ステップによって、前記不整合がないと判断された場合に、前記現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行し、前記ファームウェアの更新により前記不整合が解消されないと判断された場合に、前記現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行する機能モジュール選択ステップと、
を前記コンピュータ装置に実行させるプログラム。
A part or all of each of the above-described embodiments can be described as in the following supplementary notes, but is not limited thereto.
(Appendix 1)
Regarding the combination of the version of the function module included in each version of the firmware installed in the computer apparatus and the version of the driver controlling the hardware device connected to the inside or outside of the computer apparatus, the dependency relationship between the versions is determined. Combination information storage means for storing combination information including dependency relationship information to represent;
Driver version storage means for storing information representing the version of the current driver currently installed in the computer device;
In addition to the function module of the version originally included in the current firmware version currently implemented in the computer device, the function module having a dependency relationship with the version of the driver can be used by each version of the driver Firmware storage means for storing various versions of functional modules;
Upon startup of the computing device, whether there is a dependency mismatch between the current firmware version and the current driver version, and if there is a mismatch, updating the firmware Dependency determination means for determining whether or not the inconsistency is resolved by referring to the combination information;
When it is determined by the dependency relationship determining means that the inconsistency is resolved by updating the firmware, the computer apparatus is obtained after obtaining the version of firmware that eliminates the inconsistency and updating the firmware storage means. Firmware update means for restarting,
When the dependency determination means determines that the inconsistency does not exist, the function module of the version originally included in the current firmware is selected and executed, and the inconsistency is not resolved by the firmware update. Function module selection means for selecting and executing a function module of a version that can be used according to the version of the current driver, if determined;
A firmware execution device comprising:
(Appendix 2)
The combination information storage means includes setting value information representing a setting value that can be set as a parameter of the firmware, in addition to the dependency information, for the combination of the version of the functional module and the version of the driver, and the setting Storing the combination information further including error information indicating the presence or absence of an operation error when the value is applied;
It further comprises parameter setting means for setting, as the parameter, a setting value without an operation error in the combination of the function module selected by the function module selecting means and the current driver version by referring to the combination information. The firmware execution apparatus according to
(Appendix 3)
The combination information storage means, for the combination of the version of the functional module and the version of the driver, in addition to the dependency relationship information, the setting value information, and the error information, priority information indicating the priority of the setting value And further storing the combination information,
The parameter setting means refers to the combination information, and selects based on the priority among the setting values without operation error in the combination of the function module selected by the function module selection means and the current driver version. The firmware execution apparatus according to
(Appendix 4)
Any one of
(Appendix 5)
When the dependency determination unit determines that the inconsistency is not eliminated by the firmware update, a function module having a version having no dependency mismatch with the current driver version is obtained from the management network. The firmware execution apparatus according to any one of
(Appendix 6)
The combination of the firmware execution devices when an operation error is detected when the driver is executed in the computer device including the firmware execution device according to any one of the
(Appendix 7)
Driver update means for updating the driver mounted on a computer device including the firmware execution device according to any one of
Information updating means for updating the information representing the version of the current driver stored in the driver version storage means in the firmware execution device to information representing the version updated by the driver updating means;
A driver management device comprising:
(Appendix 8)
The driver update means refers to the combination information stored in the combination information storage means in the firmware execution device, thereby updating the current firmware version and the updated version when the current driver is updated. The driver management apparatus according to appendix 7, wherein the current driver is not updated if there is a dependency mismatch between the first and second drivers.
(Appendix 9)
9. The driver management apparatus according to appendix 7 or appendix 8, wherein the information update unit further updates the combination information stored in the combination information storage unit in the firmware execution apparatus.
(Appendix 10)
A firmware management apparatus comprising combination information update means for updating combination information stored in the combination information storage means in the firmware execution apparatus according to any one of
(Appendix 11)
A computer device including the firmware execution device according to any one of
(Appendix 12)
When the computer device includes the firmware execution device according to any one of
further,
12. The computer device according to appendix 11, including the driver execution device according to appendix 6.
(Appendix 13)
further,
13. The computer apparatus according to appendix 11 or appendix 12, including the driver management apparatus according to any one of appendix 7 to appendix 9.
(Appendix 14)
further,
14. The computer apparatus according to any one of appendix 11 to appendix 13, including the firmware management apparatus according to appendix 10.
(Appendix 15)
Computer equipment
Dependency relationship between versions of a combination of a version of a function module included in each version of firmware installed in the computer apparatus and a version of a driver that controls a hardware device connected to the inside or outside of the computer apparatus Combination information storage means for storing combination information including dependency relationship information representing
Driver version storage means for storing information representing the version of the current driver currently installed in the computer device;
In addition to the function module of the version originally included in the current firmware version currently implemented in the computer device, the function module having a dependency relationship with the version of the driver can be used by each version of the driver Firmware storage means for storing functional modules of various versions,
Upon startup of the computing device, whether there is a dependency mismatch between the current firmware version and the current driver version, and if there is a mismatch, updating the firmware Determine whether or not the inconsistency is resolved by referring to the combination information,
When it is determined that the inconsistency is resolved by the firmware update, after obtaining the version of firmware that resolves the inconsistency and updating the firmware storage unit, the computer apparatus is restarted,
If it is determined that there is no inconsistency, the function module of the version originally included in the current firmware is selected and executed,
A method of selecting and executing a function module of a version that can be used according to the version of the current driver when it is determined that the inconsistency is not resolved by updating the firmware.
(Appendix 16)
Regarding the combination of the version of the function module included in each version of the firmware installed in the computer apparatus and the version of the driver controlling the hardware device connected to the inside or outside of the computer apparatus, the dependency relationship between the versions is determined. Combination information storage means for storing combination information including dependency relationship information to represent;
Driver version storage means for storing information representing the version of the current driver currently installed in the computer device;
In addition to the function module of the version originally included in the current firmware version currently implemented in the computer device, the function module having a dependency relationship with the version of the driver can be used by each version of the driver Firmware storage means for storing functional modules of various versions,
Upon startup of the computing device, whether there is a dependency mismatch between the current firmware version and the current driver version, and if there is a mismatch, updating the firmware A dependency determination step of determining whether or not the inconsistency is resolved by referring to the combination information;
When it is determined by the dependency determination step that the inconsistency is resolved by updating the firmware, a version of firmware that eliminates the inconsistency is acquired and the firmware storage unit is updated, and then the computer apparatus A firmware update step to restart
If the inconsistency determination step determines that the inconsistency does not exist, the function module of the version originally included in the current firmware is selected and executed, and the inconsistency is not resolved by the firmware update. A function module selection step of selecting and executing a function module of an available version according to the version of the current driver, if determined;
For causing the computer apparatus to execute the program.
1 コンピュータ装置
100、120、130、140 ファームウェア実行装置
101、121 組合せ情報記憶部
102 ドライババージョン記憶部
103、123 ファームウェア記憶部
104 依存関係判断部
105 ファームウェア更新部
106 機能モジュール選択部
127 パラメータ設定部
138 組合せ情報取得部
149 機能モジュール取得部
200 ファームウェア管理装置
201 組合せ情報更新部
300 ドライバ実行装置
301 エラー情報登録部
400、480 ドライバ管理装置
401、481 ドライバ更新部
402 情報更新部
1001 CPU
1002 メモリ
1003 ネットワークインタフェース
1004 管理プロセッサ
1005 管理ネットワークインタフェース
1006 出力装置
1007 入力装置
1008 ハードウェアデバイス
DESCRIPTION OF
1002
Claims (10)
前記コンピュータ装置に現在実装されている現行のドライバのバージョンを表す情報を記憶するドライババージョン記憶手段と、
前記コンピュータ装置に現在実装されている現行のファームウェアのバージョンに本来に含まれるバージョンの機能モジュールに加えて、前記ドライバのバージョンとの間に依存関係を有する機能モジュールについて前記ドライバの各バージョンによって利用可能なバージョンの機能モジュールを記憶するファームウェア記憶手段と、
前記コンピュータ装置の起動時に、前記現行のファームウェアのバージョンと、前記現行のドライバのバージョンとの間に依存関係の不整合があるか否か、および、前記不整合がある場合に前記ファームウェアの更新によって当該不整合が解消されるか否かを、前記組合せ情報を参照することにより判断する依存関係判断手段と、
前記依存関係判断手段によって、前記ファームウェアの更新により前記不整合が解消されると判断された場合に、前記不整合を解消するバージョンのファームウェアを取得して前記ファームウェア記憶手段を更新後、前記コンピュータ装置を再起動するファームウェア更新手段と、
前記依存関係判断手段によって、前記不整合がないと判断された場合に、前記現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行し、前記ファームウェアの更新により前記不整合が解消されないと判断された場合に、前記現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行する機能モジュール選択手段と、
を備えたファームウェア実行装置。 Regarding the combination of the version of the function module included in each version of the firmware installed in the computer apparatus and the version of the driver controlling the hardware device connected to the inside or outside of the computer apparatus, the dependency relationship between the versions is determined. Combination information storage means for storing combination information including dependency relationship information to represent;
Driver version storage means for storing information representing the version of the current driver currently installed in the computer device;
In addition to the function module of the version originally included in the current firmware version currently implemented in the computer device, the function module having a dependency relationship with the version of the driver can be used by each version of the driver Firmware storage means for storing various versions of functional modules;
Upon startup of the computing device, whether there is a dependency mismatch between the current firmware version and the current driver version, and if there is a mismatch, updating the firmware Dependency determination means for determining whether or not the inconsistency is resolved by referring to the combination information;
When it is determined by the dependency relationship determining means that the inconsistency is resolved by updating the firmware, the computer apparatus is obtained after obtaining the version of firmware that eliminates the inconsistency and updating the firmware storage means. Firmware update means for restarting,
When the dependency determination means determines that the inconsistency does not exist, the function module of the version originally included in the current firmware is selected and executed, and the inconsistency is not resolved by the firmware update. Function module selection means for selecting and executing a function module of a version that can be used according to the version of the current driver, if determined;
A firmware execution device comprising:
前記組合せ情報を参照することにより、前記機能モジュール選択手段によって選択された機能モジュールおよび前記現行のドライバのバージョンの組合せにおいて動作エラーの無い設定値を、前記パラメータとして設定するパラメータ設定手段をさらに備えたことを特徴とする請求項1に記載のファームウェア実行装置。 The combination information storage means includes setting value information representing a setting value that can be set as a parameter of the firmware, in addition to the dependency information, for the combination of the version of the functional module and the version of the driver, and the setting Storing the combination information further including error information indicating the presence or absence of an operation error when the value is applied;
It further comprises parameter setting means for setting, as the parameter, a setting value without an operation error in the combination of the function module selected by the function module selecting means and the current driver version by referring to the combination information. The firmware execution device according to claim 1.
前記ファームウェア実行装置における前記ドライババージョン記憶手段に記憶された前記現行のドライバのバージョンを表す情報を、前記ドライバ更新手段による更新後のバージョンを表す情報に更新する情報更新手段と、
を備えたドライバ管理装置。 Driver update means for updating the driver mounted on a computer device including the firmware execution device according to any one of claims 1 to 4,
Information updating means for updating the information representing the version of the current driver stored in the driver version storage means in the firmware execution device to information representing the version updated by the driver updating means;
A driver management device comprising:
前記コンピュータ装置に実装されるファームウェアの各バージョンに含まれる機能モジュールのバージョンと、前記コンピュータ装置の内部または外部に接続されるハードウェアデバイスを制御するドライバのバージョンとの組合せについて、バージョン間の依存関係を表す依存関係情報を含む組合せ情報を記憶する組合せ情報記憶手段と、
前記コンピュータ装置に現在実装されている現行のドライバのバージョンを表す情報を記憶するドライババージョン記憶手段と、
前記コンピュータ装置に現在実装されている現行のファームウェアのバージョンに本来に含まれるバージョンの機能モジュールに加えて、前記ドライバのバージョンとの間に依存関係を有する機能モジュールについて前記ドライバの各バージョンによって利用可能なバージョンの機能モジュールを記憶するファームウェア記憶手段とを用いて、
前記コンピュータ装置の起動時に、前記現行のファームウェアのバージョンと、前記現行のドライバのバージョンとの間に依存関係の不整合があるか否か、および、前記不整合がある場合に前記ファームウェアの更新によって当該不整合が解消されるか否かを、前記組合せ情報を参照することにより判断し、
前記ファームウェアの更新により前記不整合が解消されると判断した場合に、前記不整合を解消するバージョンのファームウェアを取得して前記ファームウェア記憶手段を更新後、前記コンピュータ装置を再起動し、
前記不整合がないと判断した場合に、前記現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行し、
前記ファームウェアの更新により前記不整合が解消されないと判断した場合に、前記現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行する方法。 Computer equipment
Dependency relationship between versions of a combination of a version of a function module included in each version of firmware installed in the computer apparatus and a version of a driver that controls a hardware device connected to the inside or outside of the computer apparatus Combination information storage means for storing combination information including dependency relationship information representing
Driver version storage means for storing information representing the version of the current driver currently installed in the computer device;
In addition to the function module of the version originally included in the current firmware version currently implemented in the computer device, the function module having a dependency relationship with the version of the driver can be used by each version of the driver Firmware storage means for storing functional modules of various versions,
Upon startup of the computing device, whether there is a dependency mismatch between the current firmware version and the current driver version, and if there is a mismatch, updating the firmware Determine whether or not the inconsistency is resolved by referring to the combination information,
When it is determined that the inconsistency is resolved by the firmware update, after obtaining the version of firmware that resolves the inconsistency and updating the firmware storage unit, the computer apparatus is restarted,
If it is determined that there is no inconsistency, the function module of the version originally included in the current firmware is selected and executed,
A method of selecting and executing a function module of a version that can be used according to the version of the current driver when it is determined that the inconsistency is not resolved by updating the firmware.
前記コンピュータ装置に現在実装されている現行のドライバのバージョンを表す情報を記憶するドライババージョン記憶手段と、
前記コンピュータ装置に現在実装されている現行のファームウェアのバージョンに本来に含まれるバージョンの機能モジュールに加えて、前記ドライバのバージョンとの間に依存関係を有する機能モジュールについて前記ドライバの各バージョンによって利用可能なバージョンの機能モジュールを記憶するファームウェア記憶手段とを用いて、
前記コンピュータ装置の起動時に、前記現行のファームウェアのバージョンと、前記現行のドライバのバージョンとの間に依存関係の不整合があるか否か、および、前記不整合がある場合に前記ファームウェアの更新によって当該不整合が解消されるか否かを、前記組合せ情報を参照することにより判断する依存関係判断ステップと、
前記依存関係判断ステップによって、前記ファームウェアの更新により前記不整合が解消されると判断された場合に、前記不整合を解消するバージョンのファームウェアを取得して前記ファームウェア記憶手段を更新後、前記コンピュータ装置を再起動するファームウェア更新ステップと、
前記依存関係判断ステップによって、前記不整合がないと判断された場合に、前記現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行し、前記ファームウェアの更新により前記不整合が解消されないと判断された場合に、前記現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行する機能モジュール選択ステップと、
を前記コンピュータ装置に実行させるプログラム。 Regarding the combination of the version of the function module included in each version of the firmware installed in the computer apparatus and the version of the driver controlling the hardware device connected to the inside or outside of the computer apparatus, the dependency relationship between the versions is determined. Combination information storage means for storing combination information including dependency relationship information to represent;
Driver version storage means for storing information representing the version of the current driver currently installed in the computer device;
In addition to the function module of the version originally included in the current firmware version currently implemented in the computer device, the function module having a dependency relationship with the version of the driver can be used by each version of the driver Firmware storage means for storing functional modules of various versions,
Upon startup of the computing device, whether there is a dependency mismatch between the current firmware version and the current driver version, and if there is a mismatch, updating the firmware A dependency determination step of determining whether or not the inconsistency is resolved by referring to the combination information;
When it is determined by the dependency determination step that the inconsistency is resolved by updating the firmware, a version of firmware that eliminates the inconsistency is acquired and the firmware storage unit is updated, and then the computer apparatus A firmware update step to restart
If the inconsistency determination step determines that the inconsistency does not exist, the function module of the version originally included in the current firmware is selected and executed, and the inconsistency is not resolved by the firmware update. A function module selection step of selecting and executing a function module of an available version according to the version of the current driver, if determined;
For causing the computer apparatus to execute the program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017028930A JP6822203B2 (en) | 2017-02-20 | 2017-02-20 | Firmware Execution Device, Driver Execution Device, Driver Management Device, Firmware Management Device, Computer Device, Method and Program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017028930A JP6822203B2 (en) | 2017-02-20 | 2017-02-20 | Firmware Execution Device, Driver Execution Device, Driver Management Device, Firmware Management Device, Computer Device, Method and Program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018136608A true JP2018136608A (en) | 2018-08-30 |
JP6822203B2 JP6822203B2 (en) | 2021-01-27 |
Family
ID=63366876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017028930A Active JP6822203B2 (en) | 2017-02-20 | 2017-02-20 | Firmware Execution Device, Driver Execution Device, Driver Management Device, Firmware Management Device, Computer Device, Method and Program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6822203B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306532A (en) * | 2020-11-20 | 2021-02-02 | 广州欢网科技有限责任公司 | Version display method, device and system based on large-screen APP function update |
-
2017
- 2017-02-20 JP JP2017028930A patent/JP6822203B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306532A (en) * | 2020-11-20 | 2021-02-02 | 广州欢网科技有限责任公司 | Version display method, device and system based on large-screen APP function update |
Also Published As
Publication number | Publication date |
---|---|
JP6822203B2 (en) | 2021-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7750676B2 (en) | Embedded system and control method therefor | |
WO2019156062A1 (en) | Information processing system, information processing device, bios updating method for information processing device, and bios updating program for information processing device | |
US9563497B2 (en) | Correcting a failure associated with a current firmware image | |
US11797389B2 (en) | System and method for recovering an operating system after an upgrade hang using a dual-flash device | |
CN102609275A (en) | BIOS updating system and method thereof | |
US11481278B2 (en) | System and method for recovering an operating system after a runtime hang using a dual-flash device | |
CN101739266A (en) | Firmware updating method | |
US7308547B2 (en) | Apparatus and method for control of write filter | |
JP2011164971A (en) | Method for strengthening communication path between bios and bmc, device thereof and program thereof | |
US11243780B2 (en) | System and method for operating system installation using a dual-flash device | |
US20210365261A1 (en) | System and method for monitoring and upgrading a dual-flash device | |
TWI450090B (en) | Method and system of changing a startup list of programs to determine whether computer system performance increases | |
JP6482211B2 (en) | Information processing apparatus, control method thereof, and program | |
US12099609B2 (en) | Combination BIOS with A/B recovery | |
JP2009271737A (en) | Information processor | |
JP6822203B2 (en) | Firmware Execution Device, Driver Execution Device, Driver Management Device, Firmware Management Device, Computer Device, Method and Program | |
JP6073710B2 (en) | Information processing apparatus, automatic recovery method from startup failure, and automatic recovery program from startup failure | |
CN114237722A (en) | System starting method, device, equipment and engineering vehicle | |
CN115033267A (en) | Method for verifying equipment tree mirror image version and terminal equipment | |
US20060198314A1 (en) | Processing device, failure recovery method therefor, and failure restoration method | |
JP2006338225A (en) | Automatic installation method of computer | |
JP2015032103A (en) | Image forming apparatus, control method of image forming apparatus, and program | |
JP5585502B2 (en) | Information processing apparatus and firmware update method thereof | |
JP6160688B2 (en) | Information processing apparatus, information processing method, and information processing program | |
CN114222972A (en) | Application presence monitoring and reinstallation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201111 |
|
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: 20201208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6822203 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |