JP7048152B2 - デバイス、コンピュータシステム、デバイスによるファームウェア決定方法及びプログラム - Google Patents

デバイス、コンピュータシステム、デバイスによるファームウェア決定方法及びプログラム Download PDF

Info

Publication number
JP7048152B2
JP7048152B2 JP2018069998A JP2018069998A JP7048152B2 JP 7048152 B2 JP7048152 B2 JP 7048152B2 JP 2018069998 A JP2018069998 A JP 2018069998A JP 2018069998 A JP2018069998 A JP 2018069998A JP 7048152 B2 JP7048152 B2 JP 7048152B2
Authority
JP
Japan
Prior art keywords
firmware
version
information
control unit
information indicating
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.)
Active
Application number
JP2018069998A
Other languages
English (en)
Other versions
JP2019179510A (ja
Inventor
亘史 高村
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 Platforms Ltd
Original Assignee
NEC Platforms Ltd
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 Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2018069998A priority Critical patent/JP7048152B2/ja
Priority to PCT/JP2019/012827 priority patent/WO2019189163A1/ja
Priority to US17/043,345 priority patent/US11301239B2/en
Publication of JP2019179510A publication Critical patent/JP2019179510A/ja
Application granted granted Critical
Publication of JP7048152B2 publication Critical patent/JP7048152B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、デバイス、コンピュータシステム、デバイスによるファームウェア決定方法及びプログラムに関する。
コンピュータシステムの中には、拡張機能を実現するIOデバイスを増設することのできるコンピュータシステムがある。このように増設されるIOデバイスは、さまざまなコンピュータシステムにおいて動作する必要があり、ファームウェアを更新することで、異なるコンピュータシステムにおける動作を可能にしている。
特許文献1には、関連する技術として、ファームウェアの更新に関連する技術が記載されている。
特開2006-260330号公報
ところで、特許文献1に記載されている技術は、システムボードを交換するときに、新たに使用されるシステムボードのファームウェアのバージョンが交換箇所であるパーティションで使用されていたファームウェアのバージョンと異なる場合、その新たに使用されるシステムボードのファームウェアを、交換箇所のパーティションで使用されていたバージョンのファームウェアに変更するものである。
そのため、拡張機能を実現するIOデバイスを増設可能なコンピュータシステムに、特許文献1に記載されている技術を用いた場合、新たに増設するIOデバイスのファームウェアが、ユーザの所望の性能を有するファームウェアである場合でも、ユーザの望まない性能のファームウェアに変更されてしまう可能性がある。
本発明の各態様は、上記の課題を解決することのできるデバイス、コンピュータシステム、デバイスによるファームウェア決定方法及びプログラムを提供することを目的としている。
上記目的を達成するために、本発明の一態様によれば、デバイスは、コンピュータシステムに増設され、ファームウェアによって動作するデバイスであって、前記ファームウェアを決定するときに、前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合の前記ファームウェアの決定における条件を規定するユーザポリシーを、記憶部に予め記憶させるポリシー指定部と、前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合に、前記ユーザポリシーに基づいて、前記デバイスに適用する前記ファームウェアを決定するファームウェア決定部と、を備える。
本発明の別の態様によれば、コンピュータシステムは、上記のデバイスと、前記デバイスを識別するデバイスIDに基づいて、前記デバイスに推奨されるファームウェアを特定し、特定した当該ファームウェアを前記デバイスに出力する入出力制御部と、を備える。
本発明の別の態様によれば、デバイスによるファームウェア決定方法は、コンピュータシステムに増設され、ファームウェアによって動作するデバイスによるファームウェア決定方法であって、前記ファームウェアを決定するときに、前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合の前記ファームウェアの決定における条件を規定するユーザポリシーを、記憶部に予め記憶させることと、前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合に、前記ユーザポリシーに基づいて、前記デバイスに適用する前記ファームウェアを決定することと、を含む。
本発明の別の態様によれば、プログラムは、コンピュータシステムに増設され、ファームウェアによって動作するデバイスのコンピュータに、前記ファームウェアを決定するときに、前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合の前記ファームウェアの決定における条件を規定するユーザポリシーを、記憶部に予め記憶させることと、前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合に、前記ユーザポリシーに基づいて、前記デバイスに適用する前記ファームウェアを決定することと、を実行させる。
本発明の各態様によれば、デバイスに推奨されるファームウェアのバージョンがない場合に、ユーザの所望のファームウェアを決定することができる。
本発明の一実施形態によるコンピュータシステムの構成を示す図である。 本発明の一実施形態による補助記憶装置が記憶する情報の例を示す図である。 本発明の一実施形態による記憶部が記憶する情報の例を示す図である。 本発明の一実施形態による記憶装置が記憶する情報の例を示す図である。 本発明の一実施形態におけるファームウェア管理テーブルの一例を示す図である。 本発明の一実施形態におけるOS/デバイスファームウェア対応テーブルの一例を示す図である。 本発明の一実施形態によるコンピュータシステムの処理フローを示す第1の図である。 本発明の一実施形態におけるOS/デバイスファームウェア対応テーブルへの情報の記録を説明するための図である。 本発明の一実施形態における通知情報の一例を示す図である。 本発明の一実施形態によるコンピュータシステムの処理フローを示す第2の図である。 本発明の実施形態によるSANストレージ装置の最小構成を示す図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
<実施形態>
以下、図面を参照しながら実施形態について詳しく説明する。
コンピュータシステム1は、図1に示すように、IO(Input Output)デバイス10(デバイスの一例)、記憶装置20、入出力制御部30、中央演算処理装置40、主記憶装置50、補助記憶装置60を備える。
入出力制御部30は、IOデバイス10、記憶装置20、中央演算処理装置40、主記憶装置50、補助記憶装置60のそれぞれに接続される。
IOデバイス10は、コンピュータシステム1において増設されたデバイスである。IOデバイス10は、図1に示すように、IOデバイス制御部101(ポリシー指定部の一例、ファームウェア決定部の一例)、デバイス102、記憶部103を備える。
IOデバイス制御部101は、入出力制御部30との間で信号を送受信する。またIOデバイス制御部101は、デバイス102の動作との間で、デバイス102の動作をコントロールするための信号を送受する。
デバイス102は、増設されたIOデバイス10ごとに定まった機能を実行する。
記憶部103は、IOデバイス10が行う処理に必要な種々の情報を記憶する。例えば、記憶部103は、EEPROM(Electrically Erasable Programmable Read-Only Memory)、FLASHメモリなどの不揮発性メモリである。記憶部103は、図3に示すように、記憶領域が分割されて使用され、IOデバイス制御部101の設定データ301、ファームウェア303などを記憶する。設定データ301には、IOデバイス制御部101及びデバイス102それぞれの設定値、複数のOS(Operating System)上のデバイスドライバ、デバイス102に要求するファームウェアのバージョンの情報、IOデバイス10を識別するためのID(IDentification)情報などを含む。
また、ファームウェア303に関する情報は、ファームウェア管理テーブル302に含まれる。図5は、ファームウェア管理テーブル302の一例を示す図である。
ファームウェア管理テーブル302におけるイメージID501は、ファームウェアイメージの識別番号情報を記憶するフィールドである。バージョン502は、ファームウェアイメージのバージョン情報を記憶するフィールドである。タイムスタンプ503は、ファームウェアに記録されているそのファームウェアが作成された日付を示す情報または発行された日付を示す情報を記憶するフィールドである。サポートフラグ504は、ファームウェアが対応可能なOSとそのバージョンをフラグ定義505に従って整理記述するフィールドである。ファームウェア管理テーブル302では、ファームウェアごとに各フィールドの情報が管理される。IOデバイス制御部101は、ファームウェア管理テーブル302の生成、更新、参照、管理を行う。
記憶装置20は、EEPROM、FLASHメモリなどの不揮発性メモリである。記憶装置20は、図4に示すように、記憶領域が分割されて使用され、例えば、OS/デバイスファームウェア対応テーブル401を記憶する。
図6は、OS/デバイスファームウェア対応テーブル401の一例を示す図である。
OS/デバイスファームウェア対応テーブル401における起動可能OS識別番号601は、コンピュータシステム1が起動可能なOS環境の識別番号を記憶するフィールドである。OS情報602は、OSの種別とそのバージョン情報を記憶するフィールドである。起動ファームウェア指定デバイス603は、OS環境でIOデバイス10に対して起動するファームウェアのバージョンの指定があるデバイス102のID情報と、そのID情報に対応するファームウェアのバージョンを記憶するフィールドである。OS/デバイスファームウェア対応テーブル401では、OS環境ごとに各フィールドの情報が管理される。中央演算処理装置40は、OS環境上でIOデバイス10を起動させる指定されたファームウェアの情報を持つデバイスドライバからその情報を収集するプログラムに応じて、OS/デバイスファームウェア対応テーブル401の生成、更新、参照、管理を行う。
OS/デバイスファームウェア対応テーブル401の生成について図8を用いて説明する。
図8のデバイスドライバ群70に示すように、OSには様々なデバイス102を動作させられるよう多数のデバイスドライバが存在している。各デバイスドライバは、デバイス102を制御するためのプログラムであり、中央演算処理装置40は、各デバイス102に付与されたデバイスID(例えば、PCI(Peripheral Component Interconnect) ID)により制御対象のデバイス102を判別している。また、デバイスドライバに、ファームウェアのうちデバイス102に適用可能なファームウェアであるサポートファームウェアのバージョン情報を持たせている。さらにOS上で動作するサポートファームウェア情報収集プログラム80をインストールし、中央演算処理装置40は、OS起動時や、デバイスドライバ更新時などのタイミングで動作させる。サポートファームウェア情報収集プログラム80は、デバイスドライバから、デバイスID情報とファームウェア情報を収集する機能を備える。中央演算処理装置40は、サポートファームウェア情報収集プログラム80を実行することで、OS/デバイスファームウェア対応テーブル401における情報を記録・更新する。
入出力制御部30は、中央演算処理装置40、主記憶装置50、補助記憶装置60それぞれの装置間の信号の送受信を制御する。また、入出力制御部30は、通知情報を生成し、生成した通知情報をIOデバイス制御部101に出力する。
図9は、通知情報の一例を示す図である。通知情報におけるデバイスID701には、IOデバイス10のID情報が記憶されている。例えば、ID情報は、PCI IDである。指定ファームウェアVer702には、IOデバイス10のファームウェアのバージョン情報が記憶される。指定ファームウェアVer702に記憶されるバージョン情報は、OS上のデバイスドライバが要求するファームウェアのバージョン情報である。OS_Info(Type/Ver)703には、コンピュータシステム1が今回起動するOSの種別(Type)とバージョン(Ver)とが記憶される。
中央演算処理装置40は、演算などの処理を実行する。
主記憶装置50は、演算処理で使用されるデータの格納などに利用される。
補助記憶装置60は、OSイメージを記憶する。補助記憶装置60は、OSイメージを複数記憶してもよい。補助記憶装置60は、例えば、ハードディスクである。補助記憶装置60は、図2に示すように、記憶領域を複数に分割して利用することができる。先頭の記憶領域には、MBR(Master Boot Record)201と呼ばれる、補助記憶装置60内の分割領域(パーティション)を管理するための管理テーブルが記憶されている。パーティション202は、パーティションA、B、C、Dを含む。パーティションAにはOS環境1が記憶されている。パーティションBにはOS環境2が記憶されている。パーティションCにはOS環境3が記憶されている。パーティションDにはOS環境4が記憶されている。
次に、本発明の一実施形態によるコンピュータシステム1の処理について説明する。ここでは、図7に示すコンピュータシステム1の起動における入出力制御部30とIOデバイス10の動作について説明する。
コンピュータシステム1の電源が投入されると、コンピュータシステム1が動作を開始する。コンピュータシステム1が動作を開始すると、IOデバイス10において、デバイス102が初期化される。以下に具体例を示す。
IOデバイス制御部101は、記憶部103が記憶する設定データ301に含まれるデバイスIDを読み取る。IOデバイス制御部101は、読み取ったデバイスIDを入出力制御部30に出力する(通知する)(ステップS1)。
入出力制御部30は、IOデバイス10からデバイスIDを受ける。入出力制御部30は、受けたデバイスIDから接続されたデバイス102を認識する(ステップS2)。 電源の投入後からコンピュータシステム1において、コンピュータシステム1を起動させる処理が実行され、その処理において起動するOSを確定させる処理(例えば、BIOS(Basic Input Output System))の記憶する起動プログラムにより起動した中央演算処理装置40が、ユーザによる操作により選択されたOSを確定させる処理)により、起動されるOSが決定される(ステップS3)。
起動するOSが決定すると、入出力制御部30は、記憶装置20からOS/デバイスファームウェア対応テーブル401を読み出す。入出力制御部30は、読み出したOS/デバイスファームウェア対応テーブル401の起動可能OS識別番号601の中から起動するOSに一致するOSを特定する。入出力制御部30は、特定したOSの指定FW_Verの中から、IOデバイス10から受け取ったデバイスIDのデバイス102に適したファームウェアを特定する(ステップS4)。
具体的には、入出力制御部30は、特定したOSの指定FW_Verの中に、IOデバイス10から受け取ったデバイスIDと一致するバージョンのファームウェアがあるか否かを判定する。入出力制御部30は、デバイスIDと一致するバージョンのファームウェアがあると判定した場合、その一致するバージョンのファームウェアがデバイス102に適したファームウェアであると判定する。また、入出力制御部30は、デバイスIDと一致するバージョンのファームウェアがないと判定した場合、デバイス102に適したファームウェアがないと判定する。
入出力制御部30は、ステップS4の処理により特定したデバイスID、指定FW_Ver、OS情報602(種別/バージョン)を含むOS・ファームウェア情報を生成する。
具体的には、入出力制御部30は、デバイスIDと一致するバージョンのファームウェアがあると判定した場合、特定したデバイスID、指定FW_Ver、OS情報602を含むOS・ファームウェア情報を生成する。また、入出力制御部30は、デバイスIDと一致するバージョンのファームウェアがないと判定した場合、OS情報602があるか否かを判定する。入出力制御部30は、OS情報602があると判定した場合、特定したデバイスID、特定したOS情報602、バージョンを示す情報を含まないことを示す情報の指定FW_Verを含むOS・ファームウェア情報を生成する。また、入出力制御部30は、OS情報602がないと判定した場合、特定したデバイスID、バージョンを示す情報を含まないことを示す情報のOS情報602、バージョンを示す情報を含まないことを示す情報の指定FW_Verを含むOS・ファームウェア情報を生成する。
入出力制御部30は、生成したOS・ファームウェア情報をIOデバイス10に出力する(ステップS5)。
IOデバイス制御部101は、入出力制御部30からOS・ファームウェア情報を受ける(ステップS6)。IOデバイス制御部101は、起動するファームウェアを決定する処理を実行する(ステップS7)。IOデバイス制御部101が行うステップS7の処理の詳細については、後述する。
IOデバイス制御部101は、記憶部103が記憶するファームウェア303の中から指定されたファームウェアを読み出す。IOデバイス制御部101は、読み出したファームウェアを実行する(ステップS8)。このファームウェアの実行によりIOデバイス10全体の起動処理が進められる。IOデバイス制御部101は、起動処理が完了したか否かを判定する(ステップS9)。
IOデバイス制御部101は、起動処理が完了しないと判定した場合(ステップS9においてNO)、ステップS9の処理に戻す。
また、IOデバイス制御部101は、起動処理が完了したと判定した場合(ステップS9においてYES)、起動処理が完了したことを入出力制御部30に通知する(ステップS10)。例えば、IOデバイス制御部101は、起動処理が完了したことを報知する報知信号を入出力制御部30に出力する。
入出力制御部30は、IOデバイス10から報知信号を受ける。入出力制御部30は、報知信号を受けるとOSを起動する処理を実行する(ステップS11)。なお、コンピュータシステム1には、複数のIOデバイス10が増設されることがある。そのため、入出力制御部30によるOSを起動する処理は、コンピュータシステム1に増設されたすべてのデバイス102の起動が完了した後に行うものであってもよい。
次に、IOデバイス制御部101が行うステップS7の処理の詳細について説明する。
図10は、起動するファームウェアを決定する処理を示す処理フローである。
IOデバイス制御部101は、ステップS6の処理を行うと、受けたOS・ファームウェア情報にファームウェアを指定する情報があるか否か、すなわち指定FW_Verがバージョンを示す情報であるか否かを判定する(ステップS22)。IOデバイス制御部101は、指定FW_Verがバージョンを示す情報であると判定する場合、OS・ファームウェア情報にファームウェアを指定する情報があると判定する。また、IOデバイス制御部101は、指定FW_Verがバージョンを示す情報を含まないことを示す情報であると判定する場合、OS・ファームウェア情報にファームウェアを指定する情報がないと判定する。
IOデバイス制御部101は、OS・ファームウェア情報にファームウェアを指定する情報があると判定した場合(ステップS22においてYES)、記憶部103が記憶するファームウェア303の中に指定されたファームウェア、すなわち指定FW_Verが示すバージョンのファームウェアがあるか否かを判定する(ステップS23)。
IOデバイス制御部101は、ファームウェア303の中に指定されたファームウェアがあると判定した場合(ステップS23においてYES)、指定FW_Verが示すバージョンのファームウェアでデバイス102を起動する(ステップS24)。
IOデバイス制御部101は、ファームウェア303の中に指定されたファームウェアがないと判定した場合(ステップS23においてNO)、OS情報602があるか否かを判定する(ステップS25)。また、IOデバイス制御部101は、OS・ファームウェア情報にファームウェアを指定する情報がないと判定した場合(ステップS22においてNO)、ステップS25の処理に進める。
IOデバイス制御部101は、OS情報602があると判定した場合(ステップS25においてYES)、ファームウェア管理テーブル302において、OS情報602の示すOSのバージョンに一致するOSの候補を絞り込む。そして、IOデバイス制御部101は、絞り込んだOSの候補の中から、サポートフラグ504またはタイムスタンプ503に基づいて起動する1つのファームウェアを決定する(ステップS26)。例えば、IOデバイス制御部101は、予めユーザポリシーの情報を設定データ301に記憶させ、IOデバイス制御部101は、そのユーザポリシーの情報が示すファームウェアを優先して決定すればよい。ユーザポリシーは、ファームウェアの決定における条件を規定する情報であり、デバイス102に適したバージョンのファームウェアの指定がない場合に、IOデバイス制御部101がファームウェアを決定するときの条件をユーザが任意に付加することを可能にする。この場合のユーザポリシーの例としては、安定版のファームウェア(動作の安定なファームウェア)を対象とする設定、最新のバージョンのファームウェアを対象とする設定、安定版のファームウェアを対象とし、さらにそれらの中から最新のバージョンを対象とする設定、安定版のファームウェアのみを対象とする設定、最新のバージョンのファームウェアのみを対象とする設定、安定版のファームウェアのみを対象とし、さらにそれらの中から最新のバージョンのみを対象とする設定などが挙げられる。
IOデバイス制御部101は、決定したファームウェアをファームウェア管理テーブル302において特定する。IOデバイス制御部101は、特定したファームウェアを記憶部103から読み出す。IOデバイス制御部101は、読み出したファームウェアでデバイス102を起動する(ステップS27)。
また、IOデバイス制御部101は、OS情報602がないと判定した場合(ステップS25においてNO)、タイムスタンプ503に基づいて起動する1つのファームウェアを決定する(ステップS28)。具体的には、予めユーザポリシーの情報を設定データ301に記憶させ、IOデバイス制御部101は、そのユーザポリシーの情報とファームウェア管理テーブル302のタイムスタンプ503とに基づいて、ファームウェアを決定する。この場合のユーザポリシーの例としては、最新のバージョンのファームウェアと決定する設定、サポートフラグ504のうち安定版を示すフラグが最多のバージョンのファームウェアとする設定などが挙げられる。
IOデバイス制御部101は、決定したファームウェアをファームウェア管理テーブル302において特定する。IOデバイス制御部101は、特定したファームウェアを記憶部103から読み出す。IOデバイス制御部101は、読み出したファームウェアでデバイス102を起動する(ステップS29)。
以上、本発明の一実施形態によるコンピュータシステム1について説明した。本発明の一実施形態によるコンピュータシステム1において、IOデバイス制御部101は、ファームウェアを決定するときに、デバイス102に推奨されるファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合のファームウェアの決定における条件を規定するユーザポリシーを、記憶部103に予め記憶させる。また、IOデバイス制御部101は、デバイス102に推奨されるファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合に、ユーザポリシーに基づいて、デバイス102に適用するファームウェアを決定する。
このようにすれば、ユーザは、ファームウェアを決定する条件を規定するユーザポリシーを任意の条件に設定することができる。その結果、コンピュータシステム1において、IOデバイス10は、推奨されるファームウェアのバージョンがない場合に、ユーザの所望のファームウェアを決定することができる。
図11は、本発明の実施形態によるデバイス10aの最小構成を示す図である。
デバイス10aは、コンピュータシステムに増設され、ファームウェアによって動作するデバイスである。デバイス10aは、図11に示すように、ポリシー指定部101aと、ファームウェア決定部101bと、を備える。
ポリシー指定部101aは、前記ファームウェアを決定するときに、前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合の前記ファームウェアの決定における条件を規定するユーザポリシーを、記憶部に予め記憶させる。
ファームウェア決定部101bは、前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合に、前記ユーザポリシーに基づいて、前記デバイスに適用する前記ファームウェアを決定する。
なお、本発明の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
本発明の実施形態における記憶装置20、記憶部103、主記憶装置50、補助記憶装置60、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、記憶装置20、記憶部103、主記憶装置50、補助記憶装置60、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
本発明の実施形態について説明したが、上述のIOデバイス10、デバイス10a、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
図12は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ5は、図12に示すように、CPU6、メインメモリ7、ストレージ8、インターフェース9を備える。
例えば、上述のIOデバイス10、デバイス10a、その他の制御装置のそれぞれは、コンピュータ5に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ8に記憶されている。CPU6は、プログラムをストレージ8から読み出してメインメモリ7に展開し、当該プログラムに従って上記処理を実行する。また、CPU6は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ7に確保する。
また、コンピュータシステム1は、上述のコンピュータシステム、すなわち、図12に示すコンピュータ5を備えるものであってもよい。
ストレージ8の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ8は、コンピュータ5のバスに直接接続された内部メディアであってもよいし、インターフェース9または通信回線を介してコンピュータ5に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ5に配信される場合、配信を受けたコンピュータ5が当該プログラムをメインメモリ7に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ8は、一時的でない有形の記憶媒体である。
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル(差分プログラム)であってもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
1・・・コンピュータシステム
5・・・コンピュータ
6・・・CPU
7・・・メインメモリ
8・・・ストレージ
9・・・インターフェース
10・・・IOデバイス
10a、102・・・デバイス
20・・・記憶装置
30・・・入出力制御部
40・・・中央演算処理装置
50・・・主記憶装置
60・・・補助記憶装置
101・・・IOデバイス制御部
101a・・・ポリシー指定部
101b・・・ファームウェア決定部
103・・・記憶部

Claims (7)

  1. コンピュータシステムに増設され、ファームウェアによって動作するデバイスであって、
    前記ファームウェアを決定するときに、前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合の前記ファームウェアの決定における条件を規定するユーザポリシーを、記憶部に予め記憶させるポリシー指定部と、
    前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合に、前記ユーザポリシーに基づいて、前記デバイスに適用する前記ファームウェアを決定するファームウェア決定部と、
    を備えるデバイス。
  2. 前記ユーザポリシーは、
    動作の安定したバージョンの前記ファームウェアを対象とすることを前記条件として規定する、
    請求項1に記載のデバイス。
  3. 前記ユーザポリシーは、
    前記動作の安定したバージョンのうち最多のバージョンの前記ファームウェアを対象とすることを前記条件として規定する、
    請求項1または請求項2に記載のデバイス。
  4. 前記ユーザポリシーは、
    最新のバージョンの前記ファームウェアを対象とすることを前記条件として規定する、
    請求項1から請求項3の何れか一項に記載のデバイス。
  5. 請求項1から請求項4の何れか一項に記載のデバイスと、
    前記デバイスを識別するデバイスIDに基づいて、前記デバイスに推奨されるファームウェアを特定し、特定した当該ファームウェアを前記デバイスに出力する入出力制御部と、
    を備えるコンピュータシステム。
  6. コンピュータシステムに増設され、ファームウェアによって動作するデバイスによるファームウェア決定方法であって、
    前記ファームウェアを決定するときに、前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合の前記ファームウェアの決定における条件を規定するユーザポリシーを、記憶部に予め記憶させることと、
    前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合に、前記ユーザポリシーに基づいて、前記デバイスに適用する前記ファームウェアを決定することと、
    を含むデバイスによるファームウェア決定方法。
  7. コンピュータシステムに増設され、ファームウェアによって動作するデバイスのコンピュータに、
    前記ファームウェアを決定するときに、前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合の前記ファームウェアの決定における条件を規定するユーザポリシーを、記憶部に予め記憶させることと、
    前記デバイスに推奨される前記ファームウェアのバージョン情報としてバージョンを示す情報を含まないことを示す情報を取得した場合に、前記ユーザポリシーに基づいて、前記デバイスに適用する前記ファームウェアを決定することと、
    を実行させるプログラム。
JP2018069998A 2018-03-30 2018-03-30 デバイス、コンピュータシステム、デバイスによるファームウェア決定方法及びプログラム Active JP7048152B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018069998A JP7048152B2 (ja) 2018-03-30 2018-03-30 デバイス、コンピュータシステム、デバイスによるファームウェア決定方法及びプログラム
PCT/JP2019/012827 WO2019189163A1 (ja) 2018-03-30 2019-03-26 デバイス、コンピュータシステム、デバイスによるファームウェア決定方法及びプログラム
US17/043,345 US11301239B2 (en) 2018-03-30 2019-03-26 Device, computer system, device-based firmware determination method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018069998A JP7048152B2 (ja) 2018-03-30 2018-03-30 デバイス、コンピュータシステム、デバイスによるファームウェア決定方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019179510A JP2019179510A (ja) 2019-10-17
JP7048152B2 true JP7048152B2 (ja) 2022-04-05

Family

ID=68058969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018069998A Active JP7048152B2 (ja) 2018-03-30 2018-03-30 デバイス、コンピュータシステム、デバイスによるファームウェア決定方法及びプログラム

Country Status (3)

Country Link
US (1) US11301239B2 (ja)
JP (1) JP7048152B2 (ja)
WO (1) WO2019189163A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108582A (ja) 2000-09-29 2002-04-12 Minolta Co Ltd 印刷装置、印刷システムおよび印刷方法
JP2016130887A (ja) 2015-01-13 2016-07-21 日本電気株式会社 情報処理装置、情報処理方法、および、プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4791061B2 (ja) 2005-03-18 2011-10-12 富士通株式会社 計算機システムのファームウェアのバージョン管理方法及び情報処理装置
US8370479B2 (en) * 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
JP2015069315A (ja) * 2013-09-27 2015-04-13 アズビル株式会社 デバイス
US8910868B1 (en) * 2013-11-27 2014-12-16 Square, Inc. Firmware management
US20180018161A1 (en) * 2016-07-13 2018-01-18 Blackberry Limited Updating firmware at enterprise devices
JP7119443B2 (ja) * 2018-03-13 2022-08-17 富士フイルムビジネスイノベーション株式会社 情報処理装置、電子機器及び情報処理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108582A (ja) 2000-09-29 2002-04-12 Minolta Co Ltd 印刷装置、印刷システムおよび印刷方法
JP2016130887A (ja) 2015-01-13 2016-07-21 日本電気株式会社 情報処理装置、情報処理方法、および、プログラム

Also Published As

Publication number Publication date
WO2019189163A1 (ja) 2019-10-03
US20210026619A1 (en) 2021-01-28
US11301239B2 (en) 2022-04-12
JP2019179510A (ja) 2019-10-17

Similar Documents

Publication Publication Date Title
US9104431B2 (en) Deployment of a software image on multiple targets with streaming technique
EP2477111B1 (en) Computer system and program restoring method thereof
US20080028402A1 (en) Method of setting operation environment and computer system
JP5821393B2 (ja) 情報処理装置、起動方法、プログラム
KR20080003490A (ko) 시스템 동작 제어 장치 및 방법
JP2010237852A (ja) ファームウェア更新システム、ファームウェア配信サーバ、及びファームウェア組み込み機器、並びにプログラム
JP2006260330A (ja) 計算機システムのファームウェアのバージョン管理方法及び情報処理装置
JP4863154B2 (ja) 起動イメージ提供システム及びその動作方法、ブートノード装置、ブートサーバ装置並びにその動作プログラム
US11023153B2 (en) Installation of operating system
CN106528226B (zh) 操作***的安装方法及装置
US10620867B2 (en) System and method for performing wear leveling at a non-volatile firmware memory
US20190265964A1 (en) Electronic apparatus, updating method, and recording medium
JP6683424B2 (ja) ブレードサーバ、ブレードシステム、bmc、チップセットおよびエンクロージャマネージャ
JP7048152B2 (ja) デバイス、コンピュータシステム、デバイスによるファームウェア決定方法及びプログラム
JP4613598B2 (ja) ディスクシステム
KR20170037017A (ko) 메모리 업그레이드 시스템 및 방법
JP2009053993A (ja) ファイルシステム管理装置
JP6428047B2 (ja) 情報処理システム、管理制御方法および管理制御プログラム
JP5950290B1 (ja) 不揮発性記憶デバイス及び不揮発性記憶デバイスの処理方法
KR20090123674A (ko) 다수의 드라이브가 구현될 수 있는 솔리드 스테이트드라이브
JP2016162465A (ja) 不揮発性記憶デバイス及び不揮発性記憶デバイスの処理方法
JP5673844B2 (ja) 情報処理装置,基本システム起動方法,及び基本システム起動プログラム
JP2018037052A (ja) 情報処理装置、情報処理システム、コンピュータプログラムおよび方法
CN110858145B (zh) 一种Linux操作***下BIOS的更新方法和装置
JP2006126987A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

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: 20220222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220317

R150 Certificate of patent or registration of utility model

Ref document number: 7048152

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150