[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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 PDF

Info

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
Application number
JP2017028930A
Other languages
Japanese (ja)
Other versions
JP6822203B2 (en
Inventor
諒慈 松田
Ryoji Matsuda
諒慈 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2017028930A priority Critical patent/JP6822203B2/en
Publication of JP2018136608A publication Critical patent/JP2018136608A/en
Application granted granted Critical
Publication of JP6822203B2 publication Critical patent/JP6822203B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To avoid a malfunction caused by update of a firmware or a driver.SOLUTION: A firmware execution device comprises: a combination information storage unit 101 which stores a combination information including dependence relationship information representing a dependence relationship between versions of a function module and a driver of a firmware; a driver version storage unit 102 which stores a version of a current driver; a firmware storage unit 103 which stores function modules each usable for each version of the driver; a dependence relationship determination unit 104 which determines whether or not there is a mismatch of the dependence relationship between the versions of the current firmware and the current driver at the time of starting, and whether or not the mismatch is solved by update of the firmware; and a firmware update unit 105 and a function module selection unit 106, one of which functions according to the determination result.SELECTED DRAWING: Figure 1

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 Patent Document 1. The related technology described in Patent Document 1 stores, in a printer, the version of the printer driver that created the print data together with the print data to be accumulated. In this related technology, when the firmware is upgraded, the version of the printer driver that creates print data that can correctly print the new version of the firmware is acquired. This related technology saves the old version of the firmware corresponding to the print data when there is a print driver version that has been created and the new version of the firmware cannot be printed correctly. .

特開2006−107251号公報JP 2006-107251 A

しかしながら、特許文献1に記載された関連技術には、以下の課題がある。この関連技術は、ファームウェアまたはドライバの更新に伴いバージョンの組合せが適切でないことによる不具合を回避するために、古いバージョンのファームウェアを保存しておく必要がある。そのため、必要となる全ての古いバージョンのファームウェアを保存するだけのリソースが必要となってしまう。   However, the related technique described in Patent Document 1 has the following problems. In this related technique, it is necessary to save an old version of firmware in order to avoid a malfunction due to an inappropriate combination of versions accompanying firmware or driver updates. As a result, resources are needed to store all the necessary old versions of firmware.

本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、必要なリソース量の増大を抑制しながら、ファームウェアまたはドライバの更新による不具合をより確実に回避する技術を提供することを目的とする。   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.

本発明の第1の実施の形態としてのファームウェア実行装置の機能ブロック構成を示す図である。It is a figure which shows the functional block structure of the firmware execution apparatus as the 1st Embodiment of this invention. 本発明の第1の実施の形態としてのファームウェア実行装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the firmware execution apparatus as the 1st Embodiment of this invention. 本発明の第1の実施の形態におけるファームウェア記憶部に記憶される機能モジュールを模式的に示す図である。It is a figure which shows typically the functional module memorize | stored in the firmware memory | storage part in the 1st Embodiment of this invention. 本発明の第1の実施の形態としてのファームウェア実行装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the firmware execution apparatus as the 1st Embodiment of this invention. 本発明の第2の実施の形態としてのファームウェア実行装置の機能ブロック構成を示す図である。It is a figure which shows the functional block structure of the firmware execution apparatus as the 2nd Embodiment of this invention. 本発明の第2の実施の形態としてのファームウェア実行装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the firmware execution apparatus as the 2nd Embodiment of this invention. 本発明の第2の実施の形態の具体例における組合せ情報を示す図である。It is a figure which shows the combination information in the specific example of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の他の具体例における組合せ情報を示す図である。It is a figure which shows the combination information in the other specific example of the 2nd Embodiment of this invention. 本発明の第3の実施の形態としてのファームウェア実行装置の機能ブロック構成を示す図である。It is a figure which shows the functional block structure of the firmware execution apparatus as the 3rd Embodiment of this invention. 本発明の第3の実施の形態としてのファームウェア実行装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the firmware execution apparatus as the 3rd Embodiment of this invention. 本発明の第4の実施の形態としてのファームウェア実行装置の機能ブロック構成を示す図である。It is a figure which shows the functional block structure of the firmware execution apparatus as the 4th Embodiment of this invention. 本発明の第4の実施の形態におけるファームウェア記憶部に記憶される機能モジュールを模式的に示す図である。It is a figure which shows typically the functional module memorize | stored in the firmware memory | storage part in the 4th Embodiment of this invention. 本発明の第4の実施の形態としてのファームウェア実行装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the firmware execution apparatus as the 4th Embodiment of this invention. 本発明の第5の実施の形態としてのファームウェア管理装置の機能ブロック構成を示す図である。It is a figure which shows the functional block structure of the firmware management apparatus as the 5th Embodiment of this invention. 本発明の第5の実施の形態としてのファームウェア管理装置の動作を説明するフローチャートである。It is a flowchart explaining the operation | movement of the firmware management apparatus as the 5th Embodiment of this invention. 本発明の第5の実施の形態としてのファームウェア管理装置の動作の具体例を説明するフローチャートである。It is a flowchart explaining the specific example of operation | movement of the firmware management apparatus as the 5th Embodiment of this invention. 本発明の第6の実施の形態としてのドライバ実行装置の機能ブロック構成を示す図である。It is a figure which shows the functional block structure of the driver execution apparatus as the 6th Embodiment of this invention. 本発明の第6の実施の形態としてのドライバ実行装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the driver execution apparatus as the 6th Embodiment of this invention. 本発明の第7の実施の形態としてのドライバ管理装置の機能ブロック構成を示す図である。It is a figure which shows the functional block structure of the driver management apparatus as the 7th Embodiment of this invention. 本発明の第7の実施の形態としてのドライバ管理装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the driver management apparatus as the 7th Embodiment of this invention. 本発明の第8の実施の形態としてのドライバ管理装置の機能ブロック構成を示す図である。It is a figure which shows the functional block structure of the driver management apparatus as the 8th Embodiment of this invention. 本発明の第8の実施の形態としてのドライバ管理装置の動作を説明するフローチャートである。It is a flowchart explaining the operation | movement of the driver management apparatus as the 8th Embodiment of this invention. 本発明の第9の実施の形態としてのコンピュータ装置の機能ブロック構成を示す図である。It is a figure which shows the functional block structure of the computer apparatus as the 9th Embodiment of this invention.

以下、本発明の実施の形態について、図面を参照して詳細に説明する。   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 firmware execution device 100 according to the first embodiment of the present invention will be described. The firmware execution device 100 is a device that executes firmware installed in a computer device. A functional block configuration of the firmware execution apparatus 100 is shown in FIG. In FIG. 1, a firmware execution apparatus 100 includes a combination information storage unit 101, a driver version storage unit 102, a firmware storage unit 103, a dependency relationship determination unit 104, a firmware update unit 105, and a functional module selection unit 106. Prepare.

ここで、ファームウェア実行装置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 firmware execution apparatus 100 is shown in FIG. The firmware execution device 100 is configured by a computer device including a CPU (Central Processing Unit) 1001, a memory 1002, a network interface 1003, a management processor 1004, and a management network interface 1005. Further, the computer device constituting the firmware execution device 100 includes an output device 1006 and an input device 1007. In addition, the computer apparatus constituting the firmware execution apparatus 100 includes a hardware device 1008. Alternatively, the hardware device 1008 may be connected to the outside of the computer apparatus that constitutes the firmware execution apparatus 100.

メモリ1002は、RAM(Random Access Memory)やROM(Read Only Memory)、補助記憶装置(ハードディスク等)等によって構成される。また、メモリ1002は、コンピュータ装置をファームウェア実行装置100として動作させるファームウェアを記憶している。その他、メモリ1002は、オペレーティングシステムやデバイスドライバ等のプログラムを記憶する。   The memory 1002 includes a RAM (Random Access Memory), a ROM (Read Only Memory), an auxiliary storage device (such as a hard disk), and the like. The memory 1002 stores firmware that causes the computer apparatus to operate as the firmware execution apparatus 100. In addition, the memory 1002 stores programs such as an operating system and device drivers.

CPU1001は、メモリ1002に記憶されたプログラムを読み込んで実行し、他の各部を制御する。   The CPU 1001 reads and executes a program stored in the memory 1002 and controls other units.

ネットワークインタフェース1003は、ネットワークに接続するインタフェースである。   The network interface 1003 is an interface connected to the network.

管理ネットワークインタフェース1005は、アウトオブバンド管理用のネットワークに接続するインタフェースである。   The management network interface 1005 is an interface connected to a network for out-of-band management.

管理プロセッサ1004は、管理ネットワークインタフェース1005を介して外部の管理サーバ等と通信を行うとともに、他の各部を制御する。   The management processor 1004 communicates with an external management server or the like via the management network interface 1005 and controls other units.

この場合、組合せ情報記憶部101、ドライババージョン記憶部102およびファームウェア記憶部103は、メモリ1002によって構成される。また、依存関係判断部104および機能モジュール選択部106は、メモリ1002に記憶されたプログラムを読み込んで実行するCPU1001によって構成される。また、ファームウェア更新部105は、メモリ1002に記憶されたプログラムを実行するCPU1001と、管理プロセッサ1004と、管理ネットワークインタフェース1005とによって構成される。   In this case, the combination information storage unit 101, the driver version storage unit 102, and the firmware storage unit 103 are configured by the memory 1002. The dependency relationship determination unit 104 and the functional module selection unit 106 are configured by a CPU 1001 that reads and executes a program stored in the memory 1002. The firmware update unit 105 includes a CPU 1001 that executes a program stored in the memory 1002, a management processor 1004, and a management network interface 1005.

なお、ファームウェア実行装置100およびその機能ブロックのハードウェア構成は、上述の構成に限定されない。   Note that the hardware configuration of the firmware execution apparatus 100 and its functional blocks is not limited to the above-described configuration.

次に、ファームウェア実行装置100の各機能ブロックの詳細について説明する。   Next, details of each functional block of the firmware execution apparatus 100 will be described.

組合せ情報記憶部101は、組合せ情報を記憶する。組合せ情報は、依存関係情報を含む。   The combination information storage unit 101 stores combination information. The combination information includes dependency information.

依存関係情報は、ファームウェアの各バージョンに含まれる機能モジュールのバージョンと、ドライバのバージョンとの組合せにおいて、バージョン間の依存関係を表す情報である。なお、ここでいうファームウェアとは、コンピュータ装置に実装されるファームウェアであり、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 hardware device 1008 connected to the inside or outside of the computer apparatus. Specifically, the dependency relationship information represents the version of a driver that can use the function module of the version with respect to the version of the function module included in each version of the firmware.

ドライババージョン記憶部102は、コンピュータ装置に現在実装されている現行のドライバのバージョンを表す情報を記憶する。   The driver version storage unit 102 stores information indicating the version of the current driver currently installed in the computer device.

ファームウェア記憶部103は、コンピュータ装置に現在実装されている現行のファームウェアに本来含まれるバージョンの機能モジュールを記憶する。加えて、ファームウェア記憶部103は、ドライバのバージョンとの依存関係を有する機能モジュールについては、ドライバの各バージョンによって利用可能な機能モジュールを記憶する。つまり、ファームウェア記憶部103には、現行のファームウェアに本来含まれるバージョンの機能モジュールに加えて、当該バージョンの機能モジュールを利用可能なドライバよりも古い各バージョンのドライバによって利用可能な機能モジュールが記憶される。   The firmware storage unit 103 stores the version of the functional module originally included in the current firmware currently installed in the computer apparatus. In addition, the firmware storage unit 103 stores function modules that can be used by each version of the driver for the function modules having a dependency relationship with the driver version. In other words, in addition to the function module of the version originally included in the current firmware, the function module usable by each version of the driver older than the driver that can use the function module of the version is stored in the firmware storage unit 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 firmware storage unit 103 is shown in FIG. In the example of FIG. 3, the firmware includes functional modules A, B, and C. Further, it is assumed that the functional modules A and B have a dependency relationship with the driver version. Further, it is assumed that the functional module C has no dependency relationship with the driver version. Each version of the functional module “X” is represented as a functional module Xn (n is a character string representing a numerical value). Further, the function module Xn represents that the larger the n, the newer the version.

この場合、図3において、ファームウェア記憶部103には、現行のバージョンのファームウェアに本来含まれる機能モジュールとして、機能モジュールA3、B2およびC1が記憶されている。また、機能モジュールAについては、機能モジュールA3を利用可能なドライバよりも古い各バージョンのドライバによって利用可能な機能モジュールA2および機能モジュールA1が記憶されている。同様に、機能モジュールBについても、機能モジュールB2を利用可能なドライバよりも古い各バージョンのドライバによって利用可能な機能モジュールB1が記憶されている。   In this case, in FIG. 3, the firmware storage unit 103 stores functional modules A3, B2, and C1 as functional modules originally included in the current version of firmware. For the function module A, a function module A2 and a function module A1 that can be used by drivers of versions older than the driver that can use the function module A3 are stored. Similarly, for the function module B, the function module B1 that can be used by each version of the driver older than the driver that can use the function module B2 is stored.

依存関係判断部104は、コンピュータ装置の起動時に、現行のファームウェアのバージョンと、現行のドライバのバージョンとの間に依存関係の不整合があるか否かを、組合せ情報を参照することにより判断する。また、依存関係判断部104は、現行のファームウェアのバージョンと、現行のドライバのバージョンとの間に依存関係の不整合がある場合、ファームウェアの更新によって不整合が解消されるか否かを、組合せ情報記憶部101を参照することにより判断する。   The dependency relationship determination unit 104 determines whether or not there is a dependency mismatch between the current firmware version and the current driver version by referring to the combination information when the computer apparatus is started. . In addition, when there is a mismatch in the dependency relationship between the current firmware version and the current driver version, the dependency relationship determination unit 104 determines whether or not the mismatch is resolved by the firmware update. This is determined by referring to the information storage unit 101.

具体的には、組合せ情報において、現行のファームウェアに本来含まれる機能モジュールのバージョンを利用可能なドライバのバージョンと、現行のドライバのバージョンとが合致しないとする。この場合、現行のファームウェアのバージョンと、現行のドライバのバージョンとの間に依存関係の不整合があることになる。   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 dependency determination unit 104 determines that the inconsistency is resolved by updating the firmware, the firmware update unit 105 acquires a version of firmware that eliminates the inconsistency. For example, the firmware update unit 105 may acquire a version of firmware that eliminates inconsistencies from a management server connected via a management network. Alternatively, the firmware update unit 105 may acquire the storage position of the version firmware that eliminates the inconsistency via the input device 1007, and may acquire the corresponding firmware from the location indicated by the storage position.

ここで、ファームウェア更新部105によって取得されるファームウェアは、該当するファームウェアのバージョンに本来含まれる機能モジュールに加えて、上述したようなドライバの各バージョンによって利用可能なバージョンの機能モジュールを含むものとする。   Here, it is assumed that the firmware acquired by the firmware update unit 105 includes a function module of a version that can be used by each version of the driver as described above, in addition to the function module originally included in the version of the corresponding firmware.

すなわち、取得されるファームウェアは、ドライバのバージョンとの間にバージョン間の依存関係を有する機能モジュールについて、複数のバージョンの機能モジュールを含んでいることになる。   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 firmware update unit 105 updates the current firmware by writing the functional module included in the firmware of the version that eliminates such inconsistency into the firmware storage unit 103.

また、ファームウェア更新部105は、ファームウェア記憶部103の更新後、コンピュータ装置を再起動する。   Also, the firmware update unit 105 restarts the computer apparatus after updating the firmware storage unit 103.

機能モジュール選択部106は、依存関係判断部104によって、依存関係の不整合がないと判断された場合に、ファームウェア記憶部103から、現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行する。また、機能モジュール選択部106は、ファームウェアの更新により依存関係の不整合が解消されないと判断された場合に、ファームウェア記憶部103から、現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行する。   When the dependency determination unit 104 determines that there is no dependency mismatch, the function module selection unit 106 selects and executes the function module of the version originally included in the current firmware from the firmware storage unit 103. To do. Also, the function module selection unit 106 selects a function module of a version that can be used according to the current driver version from the firmware storage unit 103 when it is determined that the inconsistency of the dependency relationship is not eliminated by the firmware update. And execute.

以上のように構成されたファームウェア実行装置100の動作について、図4を参照して説明する。なお、以下の動作は、コンピュータ装置の起動時に開始される。   The operation of the firmware execution apparatus 100 configured as described above will be described with reference to FIG. The following operation is started when the computer apparatus is activated.

まず、依存関係判断部104は、組合せ情報記憶部101から、組合せ情報を読み込む(ステップS101)。   First, the dependency relationship determination unit 104 reads combination information from the combination information storage unit 101 (step S101).

次に、依存関係判断部104は、ドライババージョン記憶部102から、現行のドライバのバージョンを表す情報を読み込む(ステップS102)。   Next, the dependency relationship determination unit 104 reads information representing the current driver version from the driver version storage unit 102 (step S102).

次に、依存関係判断部104は、ファームウェア記憶部103に記憶された現行のファームウェアに基づいて、そのバージョンを表す情報を取得する(ステップS103)。   Next, the dependency relationship determination unit 104 acquires information representing the version based on the current firmware stored in the firmware storage unit 103 (step S103).

次に、依存関係判断部104は、現行のファームウェアのバージョンと、現行のデバイスドライバのバージョンとの間に依存関係の不整合があるか否かを、組合せ情報を参照することにより判断する(ステップS104)。   Next, the dependency relationship determination unit 104 determines whether or not there is a dependency mismatch between the current firmware version and the current device driver version by referring to the combination information (Step S1). S104).

ここで、不整合が無いと判断された場合(ステップS104でNo)、機能モジュール選択部106は、現行のファームウェアに本来含まれるバージョンの機能モジュールを選択する(ステップS105)。   If it is determined that there is no inconsistency (No in step S104), the functional module selection unit 106 selects a version of the functional module originally included in the current firmware (step S105).

一方、不整合が有ると判断された場合(ステップS104でYes)、依存関係判断部104は、ファームウェアの更新により不整合が解消されるか否かを判断する(ステップS106)。   On the other hand, when it is determined that there is inconsistency (Yes in step S104), the dependency relationship determination unit 104 determines whether the inconsistency is resolved by updating the firmware (step S106).

ここで、ファームウェアの更新により不整合が解消されると判断された場合(ステップS106でYes)、ファームウェア更新部105は、不整合を解消するバージョンのファームウェアを取得する(ステップS107)。   If it is determined that the inconsistency is resolved by updating the firmware (Yes in step S106), the firmware update unit 105 acquires a version of firmware that eliminates the inconsistency (step S107).

前述したように、取得されるファームウェアには、そのバージョンのファームウェアに本来含まれるバージョンの機能モジュールに加えて、より古い各バージョンのドライバによって利用可能なバージョンの機能モジュールが含まれる。   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 firmware update unit 105 updates the firmware by writing the functional module included in the acquired firmware into the firmware storage unit 103 (step S108).

そして、ファームウェア更新部105は、コンピュータ装置を再起動する(ステップS109)。これにより、ファームウェア実行装置100の動作は、再起動後にステップS101から繰り返される。そして、ファームウェアが更新されて依存関係の不整合が解消されているので、ステップS104でNoとなる。その後、ステップS105が実行され、現行のファームウェアに本来含まれるバージョンの機能モジュールが選択される。   Then, the firmware update unit 105 restarts the computer device (step S109). Thereby, the operation of the firmware execution apparatus 100 is repeated from step S101 after the restart. Then, since the firmware is updated and the inconsistency of the dependency relationship is resolved, No is obtained in step S104. Thereafter, step S105 is executed, and the function module of the version originally included in the current firmware is selected.

一方、ファームウェアの更新により不整合が解消されないと判断された場合(ステップ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 module selection unit 106 selects a functional module of a usable version according to the current driver version (step S110). .

以降、ファームウェア実行装置100は、ステップS105またはステップS110で選択された機能モジュールを実行する。   Thereafter, the firmware execution apparatus 100 executes the functional module selected in step S105 or step S110.

次に、本発明の第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 Patent Document 1 described in the background art downgrades the entire firmware in order to eliminate the inconsistency of the dependency relationship with the driver version. For this reason, the related technique described in Patent Document 1 requires a sufficient resource for storing the entire firmware of the previous version. On the other hand, in this embodiment, it is not necessary to save all of the necessary old version firmware, and it is only necessary to save the old version in units of necessary function modules. An increase in capacity required as a part can be suppressed.

(第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 firmware execution apparatus 120 as a second embodiment of the present invention. In FIG. 5, the firmware execution device 120 is different from the firmware execution device 100 according to the first exemplary embodiment of the present invention in that it includes a combination information storage unit 121 instead of the combination information storage unit 101. Further, the difference is that a firmware storage unit 123 is provided instead of the firmware storage unit 103. Furthermore, the point provided with the parameter setting part 127 differs.

ここで、ファームウェア実行装置120およびその各機能ブロックは、図2を参照して説明した本発明の第1の実施の形態と同様のハードウェア要素によって構成可能である。この場合、パラメータ設定部127は、メモリ1002に記憶されたプログラムを読み込んで実行するCPU1001によって構成される。ただし、ファームウェア実行装置120およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。   Here, the firmware execution device 120 and each functional block thereof can be configured by hardware elements similar to those of the first embodiment of the present invention described with reference to FIG. In this case, the parameter setting unit 127 is configured by the CPU 1001 that reads and executes a program stored in the memory 1002. However, the hardware configuration of the firmware execution device 120 and each functional block thereof is not limited to the above-described configuration.

次に、ファームウェア実行装置120の機能ブロックのうち、本発明の第1の実施の形態と異なる各機能ブロックについて詳細を説明する。   Next, among the functional blocks of the firmware execution device 120, the details of each functional block different from the first embodiment of the present invention will be described.

組合せ情報記憶部121は、機能モジュールのバージョンとドライバのバージョンとの組合せについて、本発明の第1の実施の形態と同様の依存関係情報に加えて、設定値情報、エラー情報および優先度情報を含めた組合せ情報を記憶する。   The combination information storage unit 121 stores setting value information, error information, and priority information, in addition to the dependency information similar to that in the first embodiment of the present invention, for the combination of the function module version and the driver version. The included combination information is stored.

設定値情報は、その組合せにおいて、ファームウェアの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 firmware storage unit 123 stores firmware parameter setting values in addition to the same information as the firmware storage unit 103 according to the first embodiment of the present invention.

パラメータ設定部127は、組合せ情報に基づいて、機能モジュール選択部106によって選択された機能モジュールのバージョンおよび現行のドライバのバージョンの組合せにおいて動作エラーの無い設定値を、ファームウェアのパラメータとして設定する。すなわち、パラメータ設定部127は、そのような設定値を用いて、ファームウェア記憶部123に記憶された設定値を更新する。もし、該当する組合せにおいて、動作エラーの無い設定値を示す1組以上の設定値情報がある場合、パラメータ設定部127は、優先度に基づき選択した設定値を、ファームウェアのパラメータとして設定する。   Based on the combination information, the parameter setting unit 127 sets, as a firmware parameter, a setting value with no operation error in the combination of the function module version selected by the function module selection unit 106 and the current driver version. That is, the parameter setting unit 127 updates the setting value stored in the firmware storage unit 123 using such a setting value. If there is one or more sets of setting value information indicating a setting value with no operation error in the corresponding combination, the parameter setting unit 127 sets the setting value selected based on the priority as a firmware parameter.

なお、動作エラーが無い(または有る)設定値とは、ある組合せに関する組合せ情報において、動作エラーが無い(または有る)ことを示すエラー情報に関連付けられた設定値情報が示す設定値を指すものとする。また、優先度に基づき選択した設定値とは、例えば、ある組合せに関する組合せ情報において、優先度が最も高いことを表す優先度情報に関連付けられた設定値情報が示す設定値であってもよい。   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 parameter setting unit 127 may omit the process of setting the setting value. Alternatively, in this case, the parameter setting unit 127 may set an arbitrary setting value as a parameter. For example, such an arbitrary set value may be a value input via the input device 1007.

また、該当する組合せに関する組合せ情報に、設定値情報が含まれているが、エラー情報が関連付けられていないケースも考えられる。この場合、パラメータ設定部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 parameter setting unit 127 may regard the setting value information not associated with error information as a candidate for selection by regarding that there is no operation error.

また、該当する組合せに関する組合せ情報に、動作エラーが有ることを表すエラー情報が登録されているが、動作エラーが無いことを表すエラー情報が登録されていないケースも考える。この場合、パラメータ設定部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 parameter setting unit 127 may set an arbitrary setting value other than the setting value having an operation error as the parameter. For example, such an arbitrary setting value may be another setting value input via the input device 1007 by indicating a setting value having an operation error with respect to the output device 1006.

また、該当する組合せに関する組合せ情報に、動作エラーが無い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 parameter setting unit 127 may select any one of such setting value information and set it as a parameter.

以上のように構成されたファームウェア実行装置120の動作について、図6を参照して説明する。   The operation of the firmware execution apparatus 120 configured as described above will be described with reference to FIG.

図6において、ファームウェア実行装置120は、ステップS101〜S110まで、本発明の第1の実施の形態と同様に動作する。これにより、ファームウェア実行装置120は、現行のファームウェアおよび現行のドライバのバージョン間に依存関係の不整合が無い場合には、現行のファームウェアに本来含まれるバージョンの機能モジュールを選択する。また、ファームウェア実行装置120は、現行のファームウェアおよび現行のドライバのバージョン間に依存関係の不整合があり、ファームウェアの更新により不整合が解消される場合には、ファームウェアを更新してコンピュータ装置を再起動する。再起動後に、ファームウェア実行装置120は、更新された現行のファームウェアおよび現行のドライバのバージョン間に依存関係の不整合が無いと判断することになる。したがって、ファームウェア実行装置120は、更新された現行のファームウェアに本来含まれるバージョンの機能モジュールを選択する。また、ファームウェア実行装置120は、ファームウェアの更新により不整合が解消されない場合には、現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択する。   In FIG. 6, the firmware execution device 120 operates in the same manner as in the first embodiment of the present invention from step S101 to S110. As a result, when there is no inconsistency in the dependency relationship between the current firmware and the current driver version, the firmware execution apparatus 120 selects the function module of the version originally included in the current firmware. Also, the firmware execution device 120 has a dependency mismatch between the current firmware and the current driver version. If the mismatch is resolved by the firmware update, the firmware execution device 120 updates the firmware and restarts the computer device. to start. After the restart, the firmware execution device 120 determines that there is no dependency mismatch between the updated current firmware and the current driver version. Therefore, the firmware execution device 120 selects the function module of the version originally included in the updated current firmware. Also, if the inconsistency is not resolved by updating the firmware, the firmware execution device 120 selects a function module of a usable version according to the current driver version.

次に、パラメータ設定部127は、選択された機能モジュールのバージョンおよび現行のドライバのバージョンの組合せについて、動作エラーが有ることを表すエラー情報が登録されているか否かを判断する(ステップS121)。   Next, the parameter setting unit 127 determines whether or not error information indicating that there is an operation error is registered for the combination of the selected function module version and the current driver version (step S121).

ここで、動作エラーが有ることを表すエラー情報が登録されていない場合(ステップ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 parameter setting unit 127 sets the setting value selected based on the priority as a parameter (step S122).

一方、動作エラーが有ることを表すエラー情報が登録されている場合(ステップ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 parameter setting unit 127 sets, as a parameter, a setting value selected based on the priority from the setting values with no operation error (step S123).

なお、前述のように、パラメータ設定部127は、エラー情報が関連付けられていない設定値情報については、動作エラーがない設定値を示すとみなすものとする。また、動作エラーが無い設定値がない場合、パラメータ設定部127は、入力装置1007から入力される設定値等を適用してもよい。   As described above, the parameter setting unit 127 regards setting value information not associated with error information as indicating a setting value without an operation error. Further, when there is no set value with no operation error, the parameter setting unit 127 may apply a set value or the like input from the input device 1007.

以降、ファームウェア実行装置120は、ステップS105またはステップS110で選択された機能モジュールを実行し、ステップS122またはS123で設定されたパラメータを用いて動作する。   Thereafter, the firmware execution device 120 executes the functional module selected in step S105 or step S110, and operates using the parameters set in step S122 or S123.

次に、ファームウェア実行装置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 firmware execution apparatus 120 will be described using three specific examples. In these specific examples, the firmware version is represented by a or b, and b is newer than a. Further, it is assumed that the firmware includes a functional module A having a dependency relationship with the driver version. The version of the function module A is assumed to be A2 newer than A1. The driver version is 1.0 or 2.0, and 2.0 is newer than 1.0. In addition, the priority is represented by an integer such as 1, 2, and the smaller the value, the higher the priority.

<具体例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 version storage unit 102 stores “2.0” as the current driver version. That is, the current driver is version 2.0.

また、組合せ情報記憶部121は、図7に示すような組合せ情報を記憶しているとする。図7では、説明のため、項目「No」の列に数字を記載している。以降、数字「x」が記載されている行の組合せ情報を、「No.xの組合せ情報」とも記載する。図7に示すNo.1〜No.2の組合せ情報は、ファームウェアのバージョンに含まれる機能モジュールのいずれのバージョンと、ドライバのいずれのバージョンとの組合せにおいても、バージョン間の依存関係が無いことを表している。   Further, it is assumed that the combination information storage unit 121 stores combination information as shown in FIG. In FIG. 7, numbers are described in the column of the item “No” for explanation. Hereinafter, the combination information of the row in which the number “x” is described is also referred to as “No. x combination information”. No. shown in FIG. 1-No. The combination information 2 indicates that there is no dependency between versions in any combination of any version of the functional module included in the firmware version and any version of the driver.

また、No.1の組合せ情報は、パラメータXとして「Disabled」およびパラメータYとして「Enabled」が設定され得ることを表している。また、No.1の組合せ情報は、これらの設定値に対して優先度1が設定されていることを表している。また、No.1の組合せ情報は、これらの設定値に対してエラー情報が登録されていないことを表している。   No. The combination information 1 indicates that “Disabled” can be set as the parameter X and “Enabled” can be set as the parameter Y. No. The combination information 1 indicates that priority 1 is set for these setting values. No. The combination information 1 indicates that error information is not registered for these setting values.

No.2の組合せ情報は、パラメータXとして「Disabled」およびパラメータYとして「Disabled」が設定され得ることを表している。また、No.2の組合せ情報は、これらの設定値に対して優先度2が設定されていることを表している。また、No.2の組合せ情報は、これらの設定値に対して動作エラーの有無を表すエラー情報が登録されていないことを表している。   No. The combination information 2 represents that “Disabled” can be set as the parameter X and “Disabled” can be set as the parameter Y. No. The combination information 2 indicates that priority 2 is set for these setting values. No. The combination information 2 indicates that error information indicating the presence or absence of an operation error is not registered for these setting values.

この場合、まず、ファームウェア実行装置120において、起動時に、依存関係判断部104は、組合せ情報記憶部121から、図7の組合せ情報を読み込む(ステップS101)。   In this case, first, in the firmware execution apparatus 120, at the time of activation, the dependency relationship determination unit 104 reads the combination information of FIG. 7 from the combination information storage unit 121 (step S101).

次に、依存関係判断部104は、現行のファームウェアのバージョンaと、現行のドライバのバージョン2.0との間に、依存関係の不整合が無いと判断する(ステップS102〜S103、S104でNo)。   Next, the dependency relationship determination unit 104 determines that there is no dependency mismatch between the current firmware version a and the current driver version 2.0 (No in steps S102 to S103 and S104). ).

そこで、機能モジュール選択部106は、現行のファームウェアに本来含まれるバージョンの機能モジュールを選択する(ステップS105)。   Therefore, the functional module selection unit 106 selects a functional module whose version is originally included in the current firmware (step S105).

次に、パラメータ設定部127は、選択された機能モジュールのバージョンと、現行のドライバのバージョンとの組合せについて、エラーが有ることを示すエラー情報が登録されていないと判断する(ステップS121でNo)。   Next, the parameter setting unit 127 determines that error information indicating that there is an error is not registered for the combination of the selected functional module version and the current driver version (No in step S121). .

そこで、パラメータ設定部127は、優先度が最も高い「1」が設定されたNo.1の組合せ情報に基づいて、パラメータXとして「Disabled」およびパラメータYとして「Enabled」を設定する(ステップS122)。   Therefore, the parameter setting unit 127 sets the No. 1 in which “1” having the highest priority is set. Based on the combination information of 1, the parameter X is set to “Disabled” and the parameter Y is set to “Enabled” (step S122).

そして、ファームウェア実行装置120は、選択された機能モジュールを実行し、設定されたパラメータで動作する。   Then, the firmware execution device 120 executes the selected functional module and operates with the set parameters.

<具体例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 version storage unit 102 stores “2.0” as the current driver version. That is, the current driver is version 2.0.

また、組合せ情報記憶部121は、図8に示すような組合せ情報を記憶しているとする。   Further, it is assumed that the combination information storage unit 121 stores combination information as shown in FIG.

例えば、図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 version 1 is the version 1. This indicates that the driver x is necessary. Here, x is an arbitrary numerical value. Further, the dependency relationship information is based on the function module A1 originally included in the firmware version a, and the version 1. It also shows that x drivers are required. No. 1 includes the function module A1 and the driver version 1. In the combination of x, “Disabled” can be set as the parameter X and “Enabled” can be set as the parameter Y. No. The error information included in the combination information 1 indicates that there is no operation error for the corresponding set value. No. The priority information included in the combination information 1 indicates that priority 1 is set for the corresponding setting value.

また、図8のNo.2〜No.5の組合せ情報は、ファームウェアのバージョンbには、機能モジュールAについて、バージョンA1およびA2が含まれることを表している。なお、ファームウェアのバージョンbに本来含まれる機能モジュールAのバージョンは、A2であるとする。なお、No.2〜No.5の各組合せ情報に含まれる依存関係情報、設定値情報、エラー情報および優先度情報については、図示した通りであり、詳細な説明を省略する。   In addition, in FIG. 2-No. The combination information 5 indicates that the version A1 and A2 of the function module A are included in the firmware version b. It is assumed that the version of the functional module A originally included in the firmware version b is A2. In addition, No. 2-No. The dependency relationship information, the set value information, the error information, and the priority information included in each combination information of No. 5 are as illustrated, and detailed description thereof is omitted.

この場合、まず、ファームウェア実行装置120において、起動時に、依存関係判断部104は、組合せ情報記憶部121から図8の組合せ情報を読み込む(ステップS101)。   In this case, first, in the firmware execution apparatus 120, at the time of activation, the dependency relationship determination unit 104 reads the combination information of FIG. 8 from the combination information storage unit 121 (step S101).

ここで、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 relationship determination unit 104 determines that there is a dependency mismatch between the current firmware version a and the current driver version 2.0 (Yes in steps S102 to S103 and S104). .

さらに、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 relationship determination unit 104 determines that the inconsistency is resolved by updating the firmware (Yes in step S106).

そこで、ファームウェア更新部105は、不整合を解消するバージョンbのファームウェアを取得して(ステップS107)、ファームウェアを更新する(ステップS108)。すなわち、ファームウェア更新部105は、取得したファームウェアに含まれる機能モジュールA1およびA2を、ファームウェア記憶部123に書き込む。そして、ファームウェア更新部105は、コンピュータ装置を再起動する(ステップS109)。   Therefore, the firmware update unit 105 acquires version b firmware that resolves the inconsistency (step S107), and updates the firmware (step S108). That is, the firmware update unit 105 writes the functional modules A1 and A2 included in the acquired firmware in the firmware storage unit 123. Then, the firmware update unit 105 restarts the computer device (step S109).

再起動されたコンピュータ装置において、依存関係判断部104は、組合せ情報に基づいて、現行のファームウェアのバージョンbと現行のドライバのバージョン2.0との間に、依存関係の不整合が無いと判断する(ステップS101〜S103、S104でNo)。   In the restarted computer apparatus, the dependency relationship determination unit 104 determines that there is no dependency mismatch between the current firmware version b and the current driver version 2.0 based on the combination information. (No in steps S101 to S103 and S104).

そこで、機能モジュール選択部106は、現行のファームウェアのバージョンbに本来含まれる機能モジュールA2を選択する(ステップS105)。   Therefore, the functional module selection unit 106 selects the functional module A2 originally included in the current firmware version b (step S105).

次に、パラメータ設定部127は、選択された機能モジュールA2と、現行のドライバのバージョン2.0との組合せについて、エラーが有ることを示すエラー情報が登録されていないと判断する(ステップS121でNo)。   Next, the parameter setting unit 127 determines that error information indicating that there is an error is not registered for the combination of the selected functional module A2 and the current driver version 2.0 (in step S121). No).

そこで、パラメータ設定部127は、優先度が最も高い「1」が設定されたNo.4の組合せ情報に基づいて、パラメータXとして「Enabled」およびパラメータYとして「Enabled」を設定する。   Therefore, the parameter setting unit 127 sets the No. 1 in which “1” having the highest priority is set. Based on the combination information 4, “Enabled” is set as the parameter X and “Enabled” is set as the parameter Y.

そして、ファームウェア実行装置120は、選択された機能モジュールA2を実行し、設定されたパラメータで動作する。   Then, the firmware execution device 120 executes the selected functional module A2 and operates with the set parameters.

<具体例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 version storage unit 102 stores “1.0” as the current driver version. That is, the current driver is version 1.0.

また、組合せ情報記憶部121は、具体例2と同様に、図8に示した組合せ情報を記憶しているとする。   Further, it is assumed that the combination information storage unit 121 stores the combination information illustrated in FIG.

この場合、まず、ファームウェア実行装置120において、起動時に、依存関係判断部104は、組合せ情報記憶部121から図8の組合せ情報を読み込む(ステップS101)。   In this case, first, in the firmware execution apparatus 120, at the time of activation, the dependency relationship determination unit 104 reads the combination information of FIG. 8 from the combination information storage unit 121 (step S101).

ここで、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 relationship determination unit 104 determines that there is a dependency mismatch between the current firmware version b and the current driver version 1.0 (Yes in step S104).

また、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 relationship determination unit 104 determines that the inconsistency is not eliminated even if the firmware is updated (No in step S106).

そこで、機能モジュール選択部106は、現行のファームウェアのバージョンbに含まれる複数のバージョンの機能モジュールAのうち、現行のドライバのバージョン1.0によって利用可能な機能モジュールA1を選択する(ステップS110)。   Therefore, the functional module selection unit 106 selects a functional module A1 that can be used according to the current driver version 1.0 among a plurality of functional modules A included in the current firmware version b (step S110). .

次に、パラメータ設定部127は、選択された機能モジュールA1と、現行のドライバのバージョン1.0との組合せについて、動作エラーが有ることを示すエラー情報が登録されていると判断する(ステップS121でYes)。   Next, the parameter setting unit 127 determines that error information indicating that there is an operation error is registered for the combination of the selected functional module A1 and the current driver version 1.0 (step S121). Yes).

そこで、パラメータ設定部127は、動作エラーが無い設定値のうち優先度が最も高い「2」が設定されたNo.3の組合せ情報に基づいて、パラメータXとして「Disabled」およびパラメータYとして「Disabled」を設定する(ステップS123)。   Therefore, the parameter setting unit 127 sets the No. 2 in which “2” having the highest priority is set among the setting values having no operation error. Based on the combination information of 3, “Disabled” is set as the parameter X and “Disabled” is set as the parameter Y (step S123).

そして、ファームウェア実行装置120は、選択された機能モジュールA1を実行し、設定されたパラメータで動作する。   Then, the firmware execution device 120 executes the selected functional module A1 and operates with the set parameters.

以上で、具体例の説明を終了する。   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 firmware execution device 130 as a third exemplary embodiment of the present invention will be described in detail with reference to the drawings.

まず、ファームウェア実行装置130の機能ブロック構成を図9に示す。図9において、ファームウェア実行装置130は、本発明の第2の実施の形態としてのファームウェア実行装置120と同様の構成に加えて、組合せ情報取得部138を備える。   First, the functional block configuration of the firmware execution apparatus 130 is shown in FIG. In FIG. 9, the firmware execution device 130 includes a combination information acquisition unit 138 in addition to the same configuration as that of the firmware execution device 120 according to the second embodiment of the present invention.

次に、ファームウェア実行装置130のハードウェア構成の一例について説明する。ファームウェア実行装置130は、図2を参照して説明した本発明の第1の実施の形態と同様のハードウェア要素によって構成可能である。この場合、組合せ情報取得部138は、メモリ1002に記憶されたプログラムを実行するCPU1001と、管理プロセッサ1004と、管理ネットワークインタフェース1005とによって構成される。ただし、ファームウェア実行装置130およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。   Next, an example of the hardware configuration of the firmware execution device 130 will be described. The firmware execution device 130 can be configured by hardware elements similar to those of the first embodiment of the present invention described with reference to FIG. In this case, the combination information acquisition unit 138 includes a CPU 1001 that executes a program stored in the memory 1002, a management processor 1004, and a management network interface 1005. However, the hardware configuration of the firmware execution device 130 and each functional block thereof is not limited to the above-described configuration.

次に、ファームウェア実行装置130の機能ブロックのうち本発明の第2の実施の形態と異なる機能ブロックについて詳細を説明する。   Next, details of the functional blocks of the firmware execution apparatus 130 that are different from those of the second embodiment of the present invention will be described.

組合せ情報取得部138は、コンピュータ装置の起動時に、管理ネットワークを介して組合せ情報を取得し、組合せ情報記憶部121に書き込む。管理ネットワークは、ファームウェア実行装置130を含むコンピュータ装置においてファームウェアの起動中に利用可能である。例えば、組合せ情報取得部138は、管理ネットワーク上で稼働する管理サーバから、組合せ情報を取得してもよい。   The combination information acquisition unit 138 acquires combination information via the management network and writes the combination information in the combination information storage unit 121 when the computer apparatus is activated. The management network is available during the activation of the firmware in the computer device including the firmware execution device 130. For example, the combination information acquisition unit 138 may acquire combination information from a management server that operates on the management network.

以上のように構成されたファームウェア実行装置130の動作を、図10を参照して説明する。   The operation of the firmware execution apparatus 130 configured as described above will be described with reference to FIG.

図10では、まず、組合せ情報取得部138は、起動時に、管理ネットワークを介して組合せ情報を取得する(ステップS131)。   In FIG. 10, first, the combination information acquisition unit 138 acquires combination information via the management network at the time of activation (step S131).

次に、組合せ情報取得部138は、取得した組合せ情報を、組合せ情報記憶部121に書き込む(ステップS132)。   Next, the combination information acquisition unit 138 writes the acquired combination information in the combination information storage unit 121 (step S132).

このとき、組合せ情報取得部138は、取得した組合せ情報を用いて、組合せ情報記憶部121に記憶された情報を上書きしてもよい。あるいは、組合せ情報取得部138は、は、取得した組合せ情報を追加して書き込んでもよい。   At this time, the combination information acquisition unit 138 may overwrite the information stored in the combination information storage unit 121 using the acquired combination information. Alternatively, the combination information acquisition unit 138 may additionally write the acquired combination information.

以降、ファームウェア実行装置130は、ステップS101〜S110まで、本発明の第1および第2の実施の形態と同様に動作する。これにより、ファームウェアおよびドライバのバージョン間の依存関係に関する依存関係判断部104の判断結果に応じて、ファームウェアが更新されて再起動されるか、または、機能モジュールが選択される。   Thereafter, the firmware execution device 130 operates in the same manner as in the first and second embodiments of the present invention from step S101 to S110. Accordingly, the firmware is updated and restarted or a functional module is selected according to the determination result of the dependency relationship determination unit 104 regarding the dependency relationship between the firmware and the driver version.

そして、ファームウェア実行装置130は、ステップS121〜S123まで、本発明の第2の実施の形態と同様に動作する。これにより、ファームウェアおよびドライバのバージョンの組合せに応じて、エラー情報および優先度情報に基づいてパラメータが設定される。   Then, the firmware execution apparatus 130 operates in the same manner as in the second embodiment of the present invention from step S121 to S123. Thus, parameters are set based on the error information and the priority information according to the combination of firmware and driver versions.

以上で、ファームウェア実行装置130の動作の説明を終了する。   Above, description of operation | movement of the firmware execution apparatus 130 is complete | finished.

次に、本発明の第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 firmware execution device 140 as a fourth exemplary embodiment of the present invention will be described in detail with reference to the drawings.

まず、ファームウェア実行装置140の機能ブロック構成を図11に示す。図11において、ファームウェア実行装置140は、本発明の第3の実施の形態としてのファームウェア実行装置130と同一の構成に加えて、機能モジュール取得部149を備える。   First, the functional block configuration of the firmware execution apparatus 140 is shown in FIG. In FIG. 11, the firmware execution device 140 includes a functional module acquisition unit 149 in addition to the same configuration as the firmware execution device 130 according to the third embodiment of the present invention.

また、本実施の形態では、ファームウェア更新部105によって取得されるファームウェアに含まれる情報が、本発明の第1〜第3の実施の形態と若干異なる。本発明の第1〜第3の実施の形態では、取得されるファームウェアは、該当するファームウェアのバージョンに本来含まれるバージョンの機能モジュールに加えて、ドライバのバージョン別の機能モジュールを含むものとして説明した。本実施の形態では、取得されるファームウェアは、本来含まれるバージョンの機能モジュールを含んでいればよい。   In the present embodiment, the information included in the firmware acquired by the firmware update unit 105 is slightly different from the first to third embodiments of the present invention. In the first to third embodiments of the present invention, it has been described that the obtained firmware includes functional modules for each version of the driver in addition to the functional modules of the version originally included in the corresponding firmware version. . In the present embodiment, the acquired firmware only needs to include the function module of the originally included version.

ここで、ファームウェア実行装置140およびその各機能ブロックは、図2を参照して説明した本発明の第1の実施の形態と同様のハードウェア要素によって構成可能である。この場合、機能モジュール取得部149は、メモリ1002に記憶されたプログラムを実行するCPU1001と、管理プロセッサ1004と、管理ネットワークインタフェース1005とによって構成される。ただし、ファームウェア実行装置140およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。   Here, the firmware execution device 140 and each functional block thereof can be configured by hardware elements similar to those of the first embodiment of the present invention described with reference to FIG. In this case, the functional module acquisition unit 149 includes a CPU 1001 that executes a program stored in the memory 1002, a management processor 1004, and a management network interface 1005. However, the hardware configuration of the firmware execution device 140 and each functional block thereof is not limited to the above-described configuration.

次に、ファームウェア実行装置140の機能ブロックのうち本発明の第2の実施の形態と異なる機能ブロックについて詳細を説明する。   Next, details of the functional blocks of the firmware execution device 140 that are different from those of the second embodiment of the present invention will be described.

機能モジュール取得部149は、依存関係判断部104によって、ファームウェアの更新により不整合が解消されないと判断された場合に機能する。すなわち、この場合、機能モジュール取得部149は、現行のドライバのバージョンとの間に依存関係の不整合がないバージョンの機能モジュールをバックアップモジュールとして、管理ネットワークより取得する。   The functional module acquisition unit 149 functions when the dependency determination unit 104 determines that the inconsistency is not eliminated by the firmware update. That is, in this case, the functional module acquisition unit 149 acquires, from the management network, a functional module having a version having no dependency mismatch with the current driver version as a backup module.

また、機能モジュール取得部149は、取得したバックアップモジュールを、ファームウェア記憶部123に記憶させる。ここで、ファームウェア記憶部123には、ファームウェア更新部105によって現行のファームウェアに本来含まれるバージョンの機能モジュールが記憶されている。本来含まれるバージョンの機能モジュールを、以降、メインモジュールとも記載する。つまり、機能モジュール取得部149が機能することにより、ファームウェア記憶部123は、ドライバのバージョンとの間に依存関係を有する機能モジュールについては、メインモジュールおよびバックアップモジュールを記憶することになる。   Also, the functional module acquisition unit 149 stores the acquired backup module in the firmware storage unit 123. Here, the firmware storage unit 123 stores the version of the functional module originally included in the current firmware by the firmware update unit 105. The version of the functional module that is originally included is hereinafter also referred to as a main module. That is, when the functional module acquisition unit 149 functions, the firmware storage unit 123 stores the main module and the backup module for functional modules having a dependency relationship with the driver version.

本実施の形態においてファームウェア記憶部123に記憶される機能モジュールの一例を図12に示す。図12において、機能モジュールAおよび機能モジュールBは、ドライバのバージョンとの間に依存関係を有するものとする。したがって、これらの機能モジュールについてはメインモジュールおよびバックアップモジュールが記憶される。この例では、機能モジュールAがメインモジュールを表し、機能モジュールA’が機能モジュールAに対するバックアップモジュールを表している。また、機能モジュールBがメインモジュールを表し、機能モジュールB’が機能モジュールBに対するバックアップモジュールを表している。また、この例では、機能モジュールCは、ドライバのバージョンとの間に依存関係が無いとする。したがって、メインモジュールとして機能モジュールCが記憶され、機能モジュールCに対するバックアップモジュールは記憶されない。   An example of functional modules stored in the firmware storage unit 123 in this embodiment is shown in FIG. In FIG. 12, it is assumed that the function module A and the function module B have a dependency relationship with the driver version. Therefore, a main module and a backup module are stored for these functional modules. In this example, the functional module A represents a main module, and the functional module A ′ represents a backup module for the functional module A. The function module B represents a main module, and the function module B ′ represents a backup module for the function module B. In this example, it is assumed that the functional module C has no dependency relationship with the driver version. Therefore, the functional module C is stored as the main module, and the backup module for the functional module C is not stored.

以上のように構成されたファームウェア実行装置140の動作を、図13を参照して説明する。   The operation of the firmware execution apparatus 140 configured as described above will be described with reference to FIG.

図13において、ファームウェア実行装置140は、図10を参照して説明した本発明の第3の実施の形態とほぼ同様に動作する。ただし、ファームウェアの更新により依存関係の不整合が解消されないと判断された場合(ステップS106でNo)の動作が若干異なる。   In FIG. 13, the firmware execution device 140 operates in substantially the same manner as in the third embodiment of the present invention described with reference to FIG. However, the operation in the case where it is determined that the inconsistency in the dependency relationship is not eliminated by the firmware update (No in step S106) is slightly different.

この場合、本発明の第3の実施の形態では、機能モジュール選択部106は、ファームウェア記憶部123に記憶された機能モジュールの中から、現行のドライバのバージョンにより利用可能なバージョンの機能モジュールを選択していた(ステップS110)。   In this case, in the third embodiment of the present invention, the function module selection unit 106 selects a function module of a version that can be used according to the current driver version from the function modules stored in the firmware storage unit 123. (Step S110).

これに対して、本実施の形態では、ファームウェア実行装置140は、ステップS110の代わりに、次のステップS141〜S143を実行する点が異なる。   On the other hand, in this embodiment, the firmware execution apparatus 140 is different in that it executes the following steps S141 to S143 instead of step S110.

すなわち、この場合、機能モジュール取得部149は、現行のドライバのバージョンとの間に依存関係の不整合がないバージョンの機能モジュールをバックアップモジュールとして、管理ネットワークより取得する(ステップS141)。   That is, in this case, the functional module acquisition unit 149 acquires, from the management network, a functional module having a version having no dependency mismatch with the current driver version as a backup module (step S141).

次に、機能モジュール取得部149は、取得したバックアップモジュールを、ファームウェア記憶部123に記憶させる(ステップS142)。   Next, the functional module acquisition unit 149 stores the acquired backup module in the firmware storage unit 123 (step S142).

その後、機能モジュール選択部106は、バックアップモジュールを選択する(ステップS143)。   Thereafter, the functional module selection unit 106 selects a backup module (step S143).

以降、ファームウェア実行装置140は、本発明の第3の実施の形態と同様にステップS121〜S123を実行することにより、パラメータを設定する。   Thereafter, the firmware execution apparatus 140 sets parameters by executing steps S121 to S123 as in the third embodiment of the present invention.

以上で、ファームウェア実行装置140の動作の説明を終了する。   Above, description of operation | movement of the firmware execution apparatus 140 is complete | finished.

次に、本発明の第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 firmware management apparatus 200 as a fifth embodiment of the present invention will be described. The firmware management apparatus 200 is an apparatus that manages firmware executed by the firmware execution apparatus 120 according to the second embodiment of the present invention. A functional block configuration of the firmware management apparatus 200 is shown in FIG. In FIG. 14, the firmware management apparatus 200 includes a combination information update unit 201.

ここで、ファームウェア管理装置200のハードウェア構成の一例について説明する。ファームウェア管理装置200は、図2に示したような、本発明の第2の実施の形態としてのファームウェア実行装置120を構成するコンピュータ装置によって構成される。この場合、組合せ情報更新部201は、メモリ1002に記憶されたプログラムを実行するCPU1001によって構成される。なお、ファームウェア管理装置200およびその機能ブロックのハードウェア構成は、上述の構成に限定されない。   Here, an example of a hardware configuration of the firmware management apparatus 200 will be described. The firmware management apparatus 200 is configured by a computer apparatus that constitutes the firmware execution apparatus 120 as the second embodiment of the present invention as shown in FIG. In this case, the combination information update unit 201 is configured by the CPU 1001 that executes a program stored in the memory 1002. Note that the hardware configuration of the firmware management apparatus 200 and its functional blocks is not limited to the above-described configuration.

次に、ファームウェア管理装置200の機能ブロックの詳細について説明する。   Next, details of functional blocks of the firmware management apparatus 200 will be described.

組合せ情報更新部201は、ファームウェア実行装置120における組合せ情報記憶部121に記憶された組合せ情報を更新する。   The combination information update unit 201 updates the combination information stored in the combination information storage unit 121 in the firmware execution device 120.

以上のように構成されたファームウェア管理装置200の動作を図15に示す。   The operation of the firmware management apparatus 200 configured as described above is shown in FIG.

図15では、まず、組合せ情報更新部201は、更新対象の組合せ情報を取得し、取得した組合せ情報を、ファームウェア実行装置120の組合せ情報記憶部121に格納するする(ステップS201)。例えば、組合せ情報更新部201は、更新対象の組合せ情報を、入力装置1007によって入力された格納場所や、ネットワーク上の所定の格納場所から取得してもよい。   In FIG. 15, first, the combination information update unit 201 acquires combination information to be updated, and stores the acquired combination information in the combination information storage unit 121 of the firmware execution apparatus 120 (step S201). For example, the combination information update unit 201 may acquire the combination information to be updated from the storage location input by the input device 1007 or a predetermined storage location on the network.

このとき、組合せ情報更新部201は、取得した組合せ情報を用いて、組合せ情報記憶部121に記憶された情報を上書きしてもよい。あるいは、組合せ情報更新部201は、取得した組合せ情報を追加して書き込んでもよい。   At this time, the combination information update unit 201 may overwrite the information stored in the combination information storage unit 121 using the acquired combination information. Alternatively, the combination information update unit 201 may add and write the acquired combination information.

以上で、ファームウェア管理装置200は、動作を終了する。   Thus, the firmware management apparatus 200 ends the operation.

なお、組合せ情報更新部201は、組合せ情報の更新を、入力装置1007からの指示に応じて実行してもよい。あるいは、ファームウェア管理装置200がファームウェアの更新機能を有する場合、組合せ情報更新部201は、組合せ情報の更新を、ファームウェアの更新の際に実行してもよい。   The combination information update unit 201 may update the combination information in response to an instruction from the input device 1007. Alternatively, when the firmware management apparatus 200 has a firmware update function, the combination information update unit 201 may update the combination information when updating the firmware.

この場のファームウェア管理装置200の動作を図16に示す。   The operation of the firmware management apparatus 200 at this time is shown in FIG.

図16では、まず、ファームウェア管理装置200は、ファームウェアの更新を要求されているか否かを判断する(ステップS211)。更新の要求は、例えば、入力装置1007や管理ネットワークを介して行われる。   In FIG. 16, first, the firmware management apparatus 200 determines whether or not a firmware update is requested (step S211). The update request is made, for example, via the input device 1007 or the management network.

ここで、ファームウェアの更新が要求されていなければ、ファームウェア管理装置200は、動作を終了する。   If firmware update is not requested, the firmware management apparatus 200 ends the operation.

一方、ファームウェアの更新が要求されている場合、ファームウェア管理装置200は、更新用のファームウェアを取得して、ファームウェアを更新する(ステップS212)。   On the other hand, when the firmware update is requested, the firmware management apparatus 200 acquires the firmware for update and updates the firmware (step S212).

なお、更新用のファームウェアとは、現行のファームウェアから更新するためのより新しいバージョンのファームウェアをいうものとする。   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 information update unit 201 updates the combination information by executing step S201 described above (step S201).

次に、ファームウェア管理装置200は、コンピュータ装置を再起動する(ステップS213)。   Next, the firmware management apparatus 200 restarts the computer apparatus (step S213).

以上で、ファームウェアを更新する際に組合せ情報を更新する場合のファームウェア管理装置200の動作の説明を終了する。   This is the end of the description of the operation of the firmware management apparatus 200 when the combination information is updated when the firmware is updated.

次に、ファームウェア管理装置200の動作を具体例で説明する。ここでは、ファームウェアの更新の際に組合せ情報を更新するものとする。   Next, the operation of the firmware management apparatus 200 will be described using a specific example. Here, it is assumed that the combination information is updated when the firmware is updated.

<具体例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 version storage unit 102 stores “1.0” as the current driver version. That is, the current driver is version 1.0.

また、組合せ情報記憶部121は、本発明の第2の実施の形態の具体例2および具体例3と同様に、図8に示した組合せ情報を記憶しているとする。   Moreover, it is assumed that the combination information storage unit 121 stores the combination information illustrated in FIG. 8 as in the second specific example and the third specific example of the second embodiment of the present invention.

この場合、まず、ファームウェア管理装置200は、ファームウェアaをファームウェアbに更新する(ステップS211でYes、S212)。例えば、更新用のファームウェアbは、可搬型記憶媒体から取得されていてもよい。あるいは、更新用のファームウェアbは、アウトオブバンド管理用の管理ネットワークを介して受信されてもよい。   In this case, first, the firmware management apparatus 200 updates the firmware a to the firmware b (Yes in step S211, S212). For example, the update firmware b may be acquired from a portable storage medium. Alternatively, the update firmware b may be received via a management network for out-of-band management.

次に、組合せ情報更新部201は、更新用の組合せ情報を、組合せ情報記憶部121に書き込む(ステップS201)。例えば、更新用の組合せ情報は、可搬型記憶媒体から取得されていてもよい。あるいは、更新用の組合せ情報は、アウトオブバンド管理用の管理ネットワークを介して受信されてもよい。なお、更新用の組合せ情報とは、現行の組合せ情報を更新するためのより新しい組合せ情報をいうものとする。   Next, the combination information update unit 201 writes the combination information for update in the combination information storage unit 121 (step S201). For example, the combination information for update may be acquired from a portable storage medium. Alternatively, the combination information for update may be received via a management network for out-of-band management. Note that the combination information for updating refers to newer combination information for updating the current combination information.

次に、組合せ情報更新部201は、コンピュータ装置を再起動する(ステップS213)。これにより、現行のファームウェアは、バージョンbとなる。このとき、ドライババージョン記憶部102は、現行のドライバのバージョンとして「1.0」を記憶している。したがって、その後、ファームウェア実行装置120は、本発明の第2の実施の形態における具体例3と同様に動作する。   Next, the combination information update unit 201 restarts the computer device (step S213). As a result, the current firmware becomes version b. At this time, the driver version storage unit 102 stores “1.0” as the current driver version. Therefore, after that, the firmware execution device 120 operates in the same manner as the specific example 3 in the second embodiment of the present invention.

以上で、具体例の動作の説明を終了する。   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 driver execution device 300 as a sixth exemplary embodiment of the present invention will be described. The driver execution device 300 is a device that executes a driver installed in a computer device including the firmware execution device 120 according to the second embodiment of the present invention. A functional block configuration of the driver execution device 300 is shown in FIG. In FIG. 17, the driver execution device 300 includes an error information registration unit 301.

ここで、ドライバ実行装置300のハードウェア構成の一例について説明する。ドライバ実行装置300は、図2に示したような、本発明の第2の実施の形態としてのファームウェア実行装置120を構成するコンピュータ装置によって構成される。この場合、エラー情報登録部301は、メモリ1002に記憶されたプログラムを実行するCPU1001によって構成される。なお、ドライバ実行装置300およびその機能ブロックのハードウェア構成は、上述の構成に限定されない。   Here, an example of a hardware configuration of the driver execution device 300 will be described. The driver execution device 300 is configured by a computer device that constitutes the firmware execution device 120 as the second embodiment of the present invention as shown in FIG. In this case, the error information registration unit 301 is configured by a CPU 1001 that executes a program stored in the memory 1002. Note that the hardware configuration of the driver execution device 300 and its functional blocks is not limited to the above-described configuration.

次に、ドライバ実行装置300の機能ブロックの詳細について説明する。   Next, details of functional blocks of the driver execution device 300 will be described.

エラー情報登録部301は、ハードウェアデバイス1008の制御において動作エラーを検出した場合、ファームウェア実行装置120の組合せ情報記憶部121に、エラー情報を登録する。具体的には、エラー情報登録部301は、組合せ情報記憶部121において、動作エラーに関連するファームウェアの機能モジュールのバージョンと、現行のドライバのバージョンとの組合せについて、パラメータの現行の設定値情報を含むエントリを検索する。そして、エラー情報登録部301は、検索したエントリに、動作エラーが有ることを表すエラー情報を登録すればよい。   When the error information registration unit 301 detects an operation error in the control of the hardware device 1008, the error information registration unit 301 registers the error information in the combination information storage unit 121 of the firmware execution device 120. Specifically, the error information registration unit 301 uses the combination information storage unit 121 to display the current setting value information of the parameter for the combination of the firmware functional module version related to the operation error and the current driver version. Search for entries that contain it. Then, the error information registration unit 301 may register error information indicating that there is an operation error in the searched entry.

以上のように構成されたドライバ実行装置300の動を図18に示す。   The operation of the driver execution device 300 configured as described above is shown in FIG.

図18において、エラー情報登録部301は、ハードウェアデバイス1008の制御において動作エラーを検出したか否かを判断する(ステップS301)。   In FIG. 18, the error information registration unit 301 determines whether an operation error has been detected in the control of the hardware device 1008 (step S301).

ここで、動作エラーを検出していない場合(ステップS301でNo)、エラー情報登録部301は、ステップS301の動作を繰り返す。   If no operation error is detected (No in step S301), the error information registration unit 301 repeats the operation in step S301.

一方、動作エラーを検出した場合(ステップS301でYes)、エラー情報登録部301は、エラー情報を、ファームウェア実行装置120の組合せ情報記憶部121に登録する(ステップS302)。   On the other hand, when an operation error is detected (Yes in step S301), the error information registration unit 301 registers the error information in the combination information storage unit 121 of the firmware execution apparatus 120 (step S302).

そして、エラー情報登録部301は、ステップS301からの動作を繰り返す。   Then, the error information registration unit 301 repeats the operation from step S301.

以上で、ドライバ実行装置300の動作の説明を終了する。   Above, description of operation | movement of the driver execution apparatus 300 is complete | finished.

次に、本発明の第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 driver management apparatus 400 as a seventh embodiment of the present invention will be described. The driver management apparatus 400 is an apparatus that manages drivers installed in a computer apparatus including the firmware execution apparatus 100 as the first embodiment of the present invention. A functional block configuration of the driver management apparatus 400 is shown in FIG. In FIG. 19, the driver management apparatus 400 includes a driver update unit 401 and an information update unit 402.

ここで、ドライバ管理装置400のハードウェア構成の一例について説明する。ドライバ管理装置400は、図2に示したような、本発明の第1の実施の形態としてのファームウェア実行装置100を構成するコンピュータ装置によって構成される。この場合、ドライバ更新部401および情報更新部402は、メモリ1002に記憶されたプログラムを実行するCPU1001によって構成される。なお、ドライバ管理装置400およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。   Here, an example of a hardware configuration of the driver management apparatus 400 will be described. The driver management apparatus 400 is configured by a computer apparatus that constitutes the firmware execution apparatus 100 as the first embodiment of the present invention as shown in FIG. In this case, the driver update unit 401 and the information update unit 402 are configured by a CPU 1001 that executes a program stored in the memory 1002. Note that the hardware configuration of the driver management device 400 and each functional block thereof is not limited to the above-described configuration.

次に、ドライバ管理装置400の各機能ブロックの詳細について説明する。   Next, details of each functional block of the driver management apparatus 400 will be described.

ドライバ更新部401は、コンピュータ装置に実装されたドライバを更新する。例えば、ドライバ更新部401は、入力装置1007を介して入力される更新指示を表す情報に基づいて、ドライバを更新してもよい。なお、ドライバ更新部401は、現行のバージョンより新しいバージョンのドライバを、更新指示を表す情報に基づく格納場所から取得すればよい。そのような格納場所としては、例えば、メモリ1002、可搬型記憶媒体、または、ネットワーク上の管理サーバ等があるが、これらに限られない。   The driver update unit 401 updates the driver installed in the computer device. For example, the driver update unit 401 may update the driver based on information representing an update instruction input via the input device 1007. The driver update unit 401 may acquire a driver having a version newer than the current version from a storage location based on information indicating an update instruction. Examples of such storage locations include, but are not limited to, the memory 1002, a portable storage medium, or a management server on a network.

情報更新部402は、ファームウェア実行装置100におけるドライババージョン記憶部102に記憶された現行のドライバのバージョンを表す情報を、ドライバ更新部401による更新後のバージョンを表す情報に更新する。   The information update unit 402 updates the information indicating the current driver version stored in the driver version storage unit 102 in the firmware execution apparatus 100 to information indicating the version updated by the driver update unit 401.

なお、情報更新部402は、さらに、ドライバを更新したタイミングで、ファームウェア実行装置100における組合せ情報記憶部101に記憶された情報を更新可能に構成されていてもよい。この場合、ドライバ更新部401は、更新指示を表す情報に基づいて、更新用のドライバを表す情報に加えて、更新用の組合せ情報を取得すればよい。   Note that the information update unit 402 may be further configured to be able to update information stored in the combination information storage unit 101 in the firmware execution device 100 at the timing when the driver is updated. In this case, the driver update unit 401 may acquire update combination information in addition to information indicating an update driver based on information indicating an update instruction.

次に、ドライバ管理装置400の動作を図20に示す。   Next, the operation of the driver management apparatus 400 is shown in FIG.

図20では、まず、ドライバ更新部401は、更新用のドライバを表す情報を取得し、取得したドライバを表す情報を用いて、現行のドライバを更新する(ステップS401)。   In FIG. 20, first, the driver update unit 401 acquires information representing a driver for update, and updates the current driver using the information representing the acquired driver (step S401).

次に、情報更新部402は、ファームウェア実行装置100に記憶された情報を更新する(ステップS402)。   Next, the information update unit 402 updates the information stored in the firmware execution device 100 (step S402).

具体的には、情報更新部402は、ドライババージョン記憶部102に記憶された現行のドライバのバージョンを表す情報を、更新後のドライバのバージョンを表す情報に更新する。さらに、前述したように、情報更新部402は、組合せ情報記憶部101に記憶された情報を更新してもよい。その場合、ステップS401において、更新用のドライバを表す情報と共に、更新用の組合せ情報が取得されているものとする。   Specifically, the information update unit 402 updates the information indicating the current driver version stored in the driver version storage unit 102 to information indicating the updated driver version. Furthermore, as described above, the information update unit 402 may update the information stored in the combination information storage unit 101. In this case, it is assumed that the combination information for update is acquired together with the information indicating the driver for update in step S401.

次に、ドライバ更新部401は、コンピュータ装置を再起動する(ステップS403)。   Next, the driver update unit 401 restarts the computer device (step S403).

このときステップ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 firmware execution apparatus 100 operates in the same manner as in the first embodiment of the present invention. At this time, the current driver version information updated by the information updating unit 402 of the driver management apparatus 400 is referred to. Thus, the dependency relationship determination unit 104 determines that there is a dependency mismatch between the current firmware version and the updated driver version, and that the mismatch is resolved by the firmware update. As a result, the firmware update unit 105 updates the firmware, and the inconsistency is resolved.

次に、本発明の第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 driver management apparatus 480 as the 8th Embodiment of this invention is demonstrated. The driver management apparatus 480 is an apparatus that updates a driver installed in a computer apparatus including the firmware execution apparatus 100 according to the first embodiment of the present invention. A functional block configuration of the driver management apparatus 480 is shown in FIG. In FIG. 21, the driver management device 480 is different from the driver management device 400 according to the seventh embodiment of the present invention in that a driver update unit 481 is provided instead of the driver update unit 401.

次に、ドライバ管理装置480の各機能ブロックのうち、本発明の第7の実施の形態と異なる機能ブロックの詳細について説明する。   Next, among the functional blocks of the driver management apparatus 480, details of functional blocks different from those of the seventh embodiment of the present invention will be described.

ドライバ更新部481は、ドライバを更新する前に、ファームウェア実行装置100における組合せ情報記憶部101に記憶された組合せ情報を参照する。そして、ドライバ更新部481は、組合せ情報を参照することにより、現行のファームウェアのバージョンと、ドライバを更新した場合の更新後のバージョンとの間に依存関係の不整合があるか否かを判断する。もし、更新後のバージョンとの間に依存関係の不整合があれば、ドライバ更新部481は、現行のドライバを更新しない。更新後のバージョンとの間に依存関係の不整合がなければ、ドライバ更新部481は、現行のドライバを更新する。   The driver update unit 481 refers to the combination information stored in the combination information storage unit 101 in the firmware execution apparatus 100 before updating the driver. Then, the driver update unit 481 refers to the combination information to determine whether or not there is a dependency mismatch between the current firmware version and the updated version when the driver is updated. . If there is a mismatch in the dependency relationship with the updated version, the driver update unit 481 does not update the current driver. If there is no dependency mismatch with the updated version, the driver update unit 481 updates the current driver.

次に、ドライバ管理装置480の動作を図22に示す。   Next, the operation of the driver management apparatus 480 is shown in FIG.

図22では、まず、ドライバ更新部481は、更新用のドライバのバージョンを取得する(ステップS421)。   In FIG. 22, first, the driver update unit 481 acquires the version of the driver for update (step S421).

次に、ドライバ更新部481は、現行のファームウェアのバージョンを取得する(ステップS422)。   Next, the driver update unit 481 acquires the current firmware version (step S422).

次に、ドライバ更新部481は、ファームウェア実行装置100の組合せ情報記憶部101から、組合せ情報を読み込む(ステップS423)。   Next, the driver update unit 481 reads combination information from the combination information storage unit 101 of the firmware execution apparatus 100 (step S423).

次に、ドライバ更新部481は、更新用のドライバのバージョンおよび現行のファームウェアのバージョンとの間に依存関係の不整合があるか否かを、組合せ情報を参照して判断する(ステップS424)。   Next, the driver update unit 481 determines whether or not there is a mismatch in dependency between the version of the driver for update and the version of the current firmware with reference to the combination information (step S424).

ここで、依存関係の不整合があると判断した場合(ステップS424でYes)、ドライバ更新部481は、ドライバを更新せずに動作を終了する。   If it is determined that there is a dependency mismatch (Yes in step S424), the driver update unit 481 ends the operation without updating the driver.

一方、依存関係の不整合がないと判断した場合(ステップ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 driver management apparatus 480 performs steps S401 to S403 in the same manner as the driver management apparatus 400 according to the seventh embodiment of the present invention. Operate. As a result, the driver is updated, the information in the firmware execution apparatus 100 is updated, and the computer apparatus is restarted.

以上で、ドライバ管理装置480は動作を終了する。   Thus, the driver management device 480 ends the operation.

次に、本発明の第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 computer apparatus 1 as the ninth embodiment of the present invention. In FIG. 23, the computer apparatus 1 includes a firmware execution apparatus 100 as the first embodiment of the present invention. Firmware implemented in the computer apparatus 1 is executed by the firmware execution apparatus 100. Here, the computer apparatus 1 can be configured by the hardware elements described with reference to FIG. However, the hardware configuration of the computer apparatus 1 is not limited to the above-described configuration.

コンピュータ装置1に含まれるファームウェア実行装置100の機能ブロック構成および動作は、本発明の第1の実施の形態で説明した通りである。   The functional block configuration and operation of the firmware execution apparatus 100 included in the computer apparatus 1 are as described in the first embodiment of the present invention.

次に、本発明の第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 1, wherein
(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 attachment 2, wherein the set value is set as the parameter.
(Appendix 4)
Any one of appendix 1 to appendix 3, further comprising: a combination information acquisition unit that acquires the combination information via a management network and stores the combination information in the combination information storage unit when the computer apparatus is activated. Firmware execution device described in one.
(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 1 to appendix 4, further comprising a functional module obtaining unit that obtains and stores the module in the firmware storage unit.
(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 supplementary notes 2 and the supplementary notes 3 to 5 subordinate to the supplementary note 2. A driver execution apparatus comprising error information registration means for registering the error information in an information storage means.
(Appendix 7)
Driver update means for updating the driver mounted on a computer device including the firmware execution device according to any one of appendix 1 to appendix 5;
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 1 to appendix 5.
(Appendix 11)
A computer device including the firmware execution device according to any one of appendix 1 to appendix 5 and having the firmware executed by the firmware execution device mounted thereon.
(Appendix 12)
When the computer device includes the firmware execution device according to any one of Supplementary Note 2 and Supplementary Note 3 and Supplementary Note 4 subordinate to Supplementary Note 2,
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 SYMBOLS 1 Computer apparatus 100,120,130,140 Firmware execution apparatus 101,121 Combination information storage part 102 Driver version storage part 103,123 Firmware storage part 104 Dependency judgment part 105 Firmware update part 106 Functional module selection part 127 Parameter setting part 138 Combination information acquisition unit 149 Functional module acquisition unit 200 Firmware management device 201 Combination information update unit 300 Driver execution device 301 Error information registration unit 400, 480 Driver management device 401, 481 Driver update unit 402 Information update unit 1001 CPU
1002 Memory 1003 Network interface 1004 Management processor 1005 Management network interface 1006 Output device 1007 Input device 1008 Hardware device

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.
前記コンピュータ装置の起動時に、管理ネットワークを介して前記組合せ情報を取得して、前記組合せ情報記憶手段に記憶させる組合せ情報取得手段をさらに備えたことを特徴とする請求項1または請求項2に記載のファームウェア実行装置。   3. The combination information acquisition unit according to claim 1, further comprising a combination information acquisition unit configured to acquire the combination information via a management network and store the combination information in the combination information storage unit when the computer apparatus is activated. Firmware execution device. 前記依存関係判断手段によって、前記ファームウェアの更新により前記不整合が解消されないと判断された場合に、前記現行のドライバのバージョンとの間に依存関係の不整合がないバージョンの機能モジュールを管理ネットワークより取得して、前記ファームウェア記憶手段に記憶させる機能モジュール取得手段をさらに備えたことを特徴とする請求項1から請求項3のいずれか1項に記載のファームウェア実行装置。   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 claims 1 to 3, further comprising functional module acquisition means for acquiring and storing the firmware in the firmware storage means. 請求項2ならびに請求項2に従属する請求項3および請求項4のいずれか1項に記載のファームウェア実行装置を含むコンピュータ装置において前記ドライバを実行する際に動作エラーを検出した場合、前記ファームウェア実行装置の前記組合せ情報記憶手段に、前記エラー情報を登録するエラー情報登録手段を備えたドライバ実行装置。   When an operation error is detected when executing the driver in a computer apparatus including the firmware execution apparatus according to claim 2 or claim 3 dependent on claim 2, the firmware execution is performed. A driver execution device comprising error information registration means for registering the error information in the combination information storage means of the device. 請求項1から請求項4のいずれか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:
請求項1から請求項4のいずれか1項に記載のファームウェア実行装置における前記組合せ情報記憶手段に記憶された組合せ情報を更新する組合せ情報更新手段を備えたファームウェア管理装置。   5. 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 claims 1 to 4. 請求項1から請求項4のいずれか1項に記載のファームウェア実行装置を含み、前記ファームウェア実行装置によって実行される前記ファームウェアが実装されたコンピュータ装置。   A computer apparatus including the firmware execution apparatus according to claim 1, wherein the firmware executed by the firmware execution apparatus is mounted. コンピュータ装置が、
前記コンピュータ装置に実装されるファームウェアの各バージョンに含まれる機能モジュールのバージョンと、前記コンピュータ装置の内部または外部に接続されるハードウェアデバイスを制御するドライバのバージョンとの組合せについて、バージョン間の依存関係を表す依存関係情報を含む組合せ情報を記憶する組合せ情報記憶手段と、
前記コンピュータ装置に現在実装されている現行のドライバのバージョンを表す情報を記憶するドライババージョン記憶手段と、
前記コンピュータ装置に現在実装されている現行のファームウェアのバージョンに本来に含まれるバージョンの機能モジュールに加えて、前記ドライバのバージョンとの間に依存関係を有する機能モジュールについて前記ドライバの各バージョンによって利用可能なバージョンの機能モジュールを記憶するファームウェア記憶手段とを用いて、
前記コンピュータ装置の起動時に、前記現行のファームウェアのバージョンと、前記現行のドライバのバージョンとの間に依存関係の不整合があるか否か、および、前記不整合がある場合に前記ファームウェアの更新によって当該不整合が解消されるか否かを、前記組合せ情報を参照することにより判断し、
前記ファームウェアの更新により前記不整合が解消されると判断した場合に、前記不整合を解消するバージョンのファームウェアを取得して前記ファームウェア記憶手段を更新後、前記コンピュータ装置を再起動し、
前記不整合がないと判断した場合に、前記現行のファームウェアに本来含まれるバージョンの機能モジュールを選択して実行し、
前記ファームウェアの更新により前記不整合が解消されないと判断した場合に、前記現行のドライバのバージョンによって利用可能なバージョンの機能モジュールを選択して実行する方法。
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.
JP2017028930A 2017-02-20 2017-02-20 Firmware Execution Device, Driver Execution Device, Driver Management Device, Firmware Management Device, Computer Device, Method and Program Active JP6822203B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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