国際・国内特許データベース検索
このアプリケーションの一部のコンテンツは現在ご利用になれません。
この状況が続く場合は、次のお問い合わせ先までご連絡ください。フィードバック & お問い合わせ
1. (WO2015136621) コンピュータシステムの管理方法および管理装置
Document

明 細 書

発明の名称 コンピュータシステムの管理方法および管理装置

技術分野

0001  

背景技術

0002   0003  

先行技術文献

特許文献

0004  

発明の概要

発明が解決しようとする課題

0005   0006  

課題を解決するための手段

0007  

発明の効果

0008  

図面の簡単な説明

0009  

発明を実施するための形態

0010  

実施例 1

0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091  

実施例 2

0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135  

符号の説明

0136  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15  

図面

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17  

明 細 書

発明の名称 : コンピュータシステムの管理方法および管理装置

技術分野

[0001]
 本発明は、コンピュータシステムを構成するモジュールのファームウェアを更新する技術に関する。

背景技術

[0002]
 それぞれがファームウェアを有する複数のモジュールから構成されるコンピュータシステムが知られている。ファームウェアのバージョンは、不具合の解消や機能の追加などの目的で更新され得る。コンピュータシステムを構成する複数のモジュールが互いに連携して動作する場合、ベンダ等によってサポートされている各ファームウェアのバージョンの組み合わせが決まっていることがある。
[0003]
 特許文献1には、ホストコンピュータと、そのホストコンピュータに接続されたプリンタとからなる印刷システムにおいて、ホストコンピュータのドライバのバージョンと、プリンタにおける制御プログラムのバージョンとの適合性を判断することが開示されている。

先行技術文献

特許文献

[0004]
特許文献1 : 特開2001-27940号公報

発明の概要

発明が解決しようとする課題

[0005]
 高可用性が要求されるコンピュータシステムでは、システムを稼働させたまま各モジュールのファームウェアを順次、新バージョンに更新することが考えられる。この場合、コンピュータシステムを構成する全てのモジュールのファームウェアが新バージョンに更新される途中の時点では、或るモジュールは旧バージョンのファームウェアで稼働し、別の或るモジュールは新バージョンのファームウェアで稼働するといった状態が発生し得る。この旧バージョンと新バージョンの組み合わせがサポート対象外であると、各モジュールから構成されるコンピュータシステム全体の稼働に不具合が発生するおそれがある。また、コンピュータシステムにおいて利用中の或る機能がこの旧バージョンと新バージョンの組み合わせでは利用できないものである場合、コンピュータシステムは、ファームウェアの更新の途中の時点において、この機能を利用できないおそれがある。
[0006]
 そこで、本発明の目的は、複数のモジュールから構成されるコンピュータシステムにおいて、各モジュールのファームウェアのバージョンを安全に更新することにある。また、本発明の別の目的は、コンピュータシステムにおける機能の利用を妨げることなく、各モジュールのファームウェアのバージョンを更新することにある。

課題を解決するための手段

[0007]
 一実施例として、それぞれがファームウェアを有する複数のモジュールを有するコンピュータシステムを、以下の方法で管理する。各モジュールのファームウェアのバージョン間の組み合わせの適合性を表す適合性情報を取得する。コンピュータシステムから、各モジュールのファームウェアの更新前のバージョンを取得する。各モジュールのファームウェアの更新後のバージョンを決定する。適合性情報に基づいて、各モジュールのファームウェアを更新前のバージョンから更新後のバージョンへ更新するための複数の更新処理の更新手順を表す更新手順情報を生成する。その生成された更新手順情報が表す更新手順で複数の更新処理を実行する。

発明の効果

[0008]
 本発明によれば、複数のモジュールから構成されるコンピュータシステムにおいて、各モジュールのファームウェアのバージョンを安全に更新することができる。また、本発明によれば、コンピュータシステムにおける機能の利用を妨げることなく、各モジュールのファームウェアのバージョンを更新することができる。

図面の簡単な説明

[0009]
[図1] 実施例1に係る管理サーバの構成例を示すブロック図である。
[図2] 実施例1に係る利用機能テーブルの構成例を示す。
[図3] 実施例1に係る機能対応テーブルの構成例を示す。
[図4] 実施例1に係る修正サポートマトリックスの生成例を示す。
[図5] 実施例1に係る更新手順リストの生成例を示す。
[図6] 実施例1における処理の概要を示す模式図である。
[図7] 実施例1に係るサポートマトリックス修正処理の一例を示すフローチャートである。
[図8] 実施例1に係る更新手順リスト生成処理の一例を示すフローチャートである。
[図9] 実施例1に係る更新スクリプト実行処理の一例を示すフローチャートである。
[図10] 実施例2に係る管理サーバの構成例を示すブロック図である。
[図11] 実施例2に係る利用機能テーブルの構成例を示す。
[図12] 実施例2に係る機能時間帯テーブルの構成例を示す。
[図13] 実施例2に係る更新所要時間テーブルの構成例を示す。
[図14] 実施例2における処理の概要を示す模式図である。
[図15] 実施例2に係る更新手順リスト選択用GUI(Graphical User Interface)の一例を示す。
[図16] 実施例2に係るサポートマトリックス修正処理の一例を示すフローチャートである。
[図17] 実施例2に係る実行候補抽出処理の一例を示すフローチャートである。

発明を実施するための形態

[0010]
 以下、一実施例を説明する。
 以下の説明では、「×××テーブル」、「×××マトリックス」又は「×××リスト」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「×××マトリックス」又は「×××リスト」を「×××情報」と呼ぶことができる。
実施例 1
[0011]
 図1は、管理サーバ10の構成例を示すブロック図である。
[0012]
 管理サーバ10は、コンピュータシステム11を構成する複数のモジュールの各々のFW(Firmware)を管理する。モジュールは、コンピュータシステム11を構成する物理的なデバイスであっても良いし、コンピュータ上で実行される仮想的なデバイスであっても良い。コンピュータシステム11は、垂直統合型システム、例えば、そのコンピュータシステム11を構成する複数のモジュールが同一のベンダによって提供又はサポートされているコンピュータシステムであってもよい。コンピュータシステム11は、複数のモジュールが所定のケーブル又は通信ネットワーク13等で接続されたものであってもよいし、複数のモジュールが所定の装置に内蔵されたものであってもよい。
[0013]
 図1におけるコンピュータシステム11は、管理に関する機能を有する管理モジュール15と、サーバに関する機能を有するサーバモジュール16と、ストレージに関する機能を有するストレージモジュール17とによって構成されている。FW-MM31は、管理モジュール15を稼働させるファームウェアであり、管理に関する様々な機能を実現する。FW-SV32は、サーバモジュール16を稼働させるファームウェアであり、サーバに関する様々な機能を実現する。FW-ST33は、ストレージモジュール17を稼働させるファームウェアであり、ストレージに関する様々な機能を実現する。
[0014]
 リポジトリ12は、管理サーバ10に様々な情報を提供する。リポジトリ12は、WAN(Wide Area Network)などの通信ネットワーク13に接続された外部のサーバであって、モジュール及びFWを提供又はサポートするベンダによって運営されてもよい。若しくは、リポジトリ12は、LAN(Local Area Network)などの通信ネットワーク13に接続されたサーバ又はストレージであって、管理サーバ10及びコンピュータシステム11と同じ施設内に設置されてもよい。リポジトリ12は、各モジュールに対応する各バージョンのFW30と、複数のサポートマトリックス100と、複数の機能対応テーブル140とを有する。
[0015]
 FWは、インストールされたモジュール内で実行され、そのモジュールに係る様々な機能を実現する。FWは、バージョンによって異なる機能を有してよい。
[0016]
 サポートマトリックス100は、コンピュータシステム11を構成するにあたり、各モジュールのFWの何れのバージョンの組み合わせがベンダによってサポートされているかを表す情報である。サポートマトリックス100の詳細については後述する。
[0017]
 機能対応テーブル140は、各バージョンのFWが何れの機能に対応しているかを表す情報である。機能対応テーブル140の詳細については後述する。
[0018]
 管理サーバ10は、CPU(Central Processing Unit)21と、メモリ22と、通信I/F(Interface)24と、入出力I/F25と、記憶デバイス23と、それらの要素を接続する内部バス26と、を備える。
[0019]
 CPU21は、コンピュータプログラムに従って様々な演算を実行し、他の要素22乃至25を制御し、管理サーバ10の有する様々な機能を実現する。
[0020]
 メモリ22には、CPU21が使用するコンピュータプログラム及びデータなどが記憶される。メモリ22は、例えば、DRAM(Dynamic Random Access Memory)、MRAM(Magnetoresistive random access memory)又はFeRAM(Ferroelectric random access memory)などで構成される。
[0021]
 通信I/F24は、管理サーバ10を通信ネットワーク13に接続するためのI/Fである。通信I/F24は、例えば、WAN又はLANなどに関する通信規格に準拠するI/Fである。
[0022]
 入出力I/F25は、入力デバイス及び出力デバイスを管理サーバ10に接続するためのI/Fである。入力デバイスは、例えば、キーボード、マウス、タッチパッド又はマイクなどである。出力デバイスは、例えば、ディスプレイ又はスピーカなどである。
[0023]
 記憶デバイス23には、様々なデータが保持される。記憶デバイス23は、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)などで構成される。記憶デバイス23は、管理サーバ10の内部及び外部の何れに存在しても良い。
[0024]
 内部バス26は、要素21乃至25が双方向にデータ伝送可能な伝送路である。内部バス26は、例えば、SCSI(Small Computer System Interface)又はPCI-Expressなどの規格に準拠するバスである。
[0025]
 管理サーバ10は、記憶デバイス23に、利用機能テーブル160と、更新手順リスト200と、更新スクリプト220と、修正サポートマトリックス120と、に係るデータを保持する。また、管理サーバ10は、CPU21において、サポートマトリックス修正部41と、更新手順リスト生成部42と、更新スクリプト実行部43と、入出力処理部44と、に係る処理を実行する。以下、各データ及び処理について説明する。
[0026]
 図2は、利用機能テーブル160の構成例を示す。
[0027]
 利用機能テーブル160は、コンピュータシステム11を構成する各モジュールを稼働させるFW、そのFWの有する機能、およびその機能がコンピュータシステム11において利用されているか否か、に関する情報を有する。例えば、1のコンピュータシステム11に、1の利用機能テーブル160が対応付けられる。
[0028]
 利用機能テーブル160は、フィールドとして、モジュール名161と、FW名162と、現バージョン163と、機能名164と、利用状況165とを有する。モジュール名161には、モジュールの名称が格納される。FW名162には、FWの名称が格納される。現バージョン163には、FWのバージョンが格納される。機能名164には、機能の名称が格納される。利用状況165には、機能が利用されているか否かの情報(例えば、YES又はNO)が格納される。
[0029]
 利用機能テーブル160は、コンピュータシステム11を構成する1のモジュールに対応する1のレコードを有する。例えば、図2のレコード169aは、「サーバモジュール(161)」はファームウェア「FW-SV(162)」で稼働しており、このファームウェアの現在のバージョンは「1(163)」であることを示す。そして、このファームウェア「FW-SV」は「SV機能A乃至D(164)」の機能を有し、この利用機能テーブル160に対応するコンピュータシステム11では、SV機能A及びBが利用されており(165:YES)、SV機能C及びDが利用されていない(165:NO)ことを示す。
[0030]
 図3は、機能対応テーブル140の構成例を示す。
[0031]
 機能情報の一種である機能対応テーブル140は、FWの各バージョンにおいて対応している機能に関する情報を有する。例えば、1のFWに、1の機能対応テーブル140が対応付けられる。機能対応テーブル140は、例えば、行項目141にFWが有する各機能を有し、列項目142にFWの各バージョンを有するマトリックスで構成される。そして、例えば、行項目141の機能と列項目142のバージョンと組み合わせからなる欄において、そのバージョンがその機能に対応している場合にはその欄を「○」、対応していない場合にはその欄を「×」とする。なお、この「○」及び「×」は、コンピュータ上では所定のフラグデータとして管理される。以下についても同様である。
[0032]
 例えば、図3の機能対応テーブル140は、FW-SV32に関する機能にはSV機能A乃至Dが存在し、FW-SV32にはバージョン1乃至5が存在することを表す。また、機能対応テーブル140の列149aを参照すると、バージョン「5」のFW-SV32は、「SV機能A乃至C」に対応しており、「SV機能D」に対応していないことがわかる。
[0033]
 図4は、サポートマトリックス100及び修正サポートマトリックス120の構成例を示す。以下、適合性情報の一種であるサポートマトリックス100及び修正サポートマトリックス120の構成と、サポートマトリックス修正部41の処理とについて説明する。また、以下の説明では、同種の要素を区別しないで説明する場合には、「サポートマトリックス100」のように参照符号のうちの共通符号のみを使用し、同種の要素を区別して説明する場合には、「サポートマトリックス100-1」のように、参照要素の全て(共通符号+枝符号)を使用することがある。
[0034]
 サポートマトリックス100は、異なるFWの組み合わせについて、どのバージョンの組み合わせがサポートされており(適合するか)、どのバージョンの組み合わせがサポートされていないか(適合しないか)についての情報を有する。サポートマトリックス100は、例えば、行項目に一方のFWの各バージョンを有し、列項目に他方のFWの各バージョンを有するマトリックスで構成される。そして、例えば、行項目のFWのバージョンと列項目のFWのバージョンとの組み合わせからなる欄において、その組み合わせがサポートされている場合にはその欄を「○」、サポートされていない場合にはその欄を「×」とする。また、サポートされているものの一部の機能が制限される場合にはその欄を「△」としてもよい。
[0035]
 例えば、図4のサポートマトリックス100-1は、FW-SV32の各バージョンとFW-ST33の各バージョンとの関係を表す。サポートマトリックス100-1は、FW-ST33のバージョン1と、FW-SV32のバージョン1との組み合わせがサポートされていること(「○」)を表す。サポートマトリックス100-1は、FW-ST33のバージョン5と、FW-SV32のバージョン1との組み合わせがサポートされていないこと(「×」)を表す。サポートマトリックス100-1は、FW-ST33のバージョン5と、FW-SV32のバージョン2との組み合わせはサポートされているものの一部の機能が制限されること(「△」)を表す。
[0036]
 サポートマトリックス修正部41は、利用機能テーブル160及び機能対応テーブル140を参照し、サポートマトリックス100をコンピュータシステム11に適応するように修正する。このように修正されたサポートマトリックス100を、修正サポートマトリックス120という。
[0037]
 例えば、サポートマトリックス修正部41は、利用機能テーブル160の利用状況165を参照し、各FWについて、コンピュータシステム11が利用している機能を認識する。そして、サポートマトリックス修正部41は、サポートマトリックス100において「△」の欄に係る何れか一方のFWのバージョンが、コンピュータシステム11で利用されている機能に未対応な場合、その欄を「▲」に変更する。つまり、「▲」は、コンピュータシステム11が利用している機能が、その欄を構成する列項目のFWのバージョンと行項目のFWのバージョンとの組み合わせでは利用できなくなってしまうおそれがある旨を示す。そのFWのバージョンが、コンピュータシステム11で利用されている機能に対応しているか否かは、そのFWに対応する機能対応テーブル140を参照することにより認識できる。このようにして、サポートマトリックス修正部41は、例えば、図4の修正サポートマトリックス120-1を生成する。
[0038]
 次に、サポートマトリックス修正部41は、上記の修正サポートマトリックス120-1の「▲」の欄を「×」に変更してもよい。コンピュータシステム11で利用されている機能に一部未対応なFWのバージョンの組み合わせが、後述する更新手順リスト200に含まれないようにするためである。サポートマトリックス修正部41は、上記の修正サポートマトリックス120-1の「△」の欄を「○」に変更してもよい。コンピュータシステム11で利用されていない機能に一部未対応なFWのバージョンの組み合わせは、後述する更新手順リスト200に含まれても問題ないからである。このようにして、サポートマトリックス修正部41は、例えば、図4の修正サポートマトリックス120-2を生成する。
[0039]
 次に、サポートマトリックス修正部41は、後述する各FWの起点バージョンから終点バージョンまでの更新手順の探索の前処理として、修正サポートマトリックス120-2の一部の欄を「×」に変更してもよい。例えば、サポートマトリックス修正部41は、FW-ST33を起点バージョン「1」から終点バージョン「5」へ、FW-SV32を起点バージョン「1」から終点バージョン「5」へとバージョンアップするための更新手順を探索する。ここで、例えば、図4の修正サポートマトリックス120-2のままでバージョンアップの更新手順を探索すると、FW-ST33のバージョンを「×」の手前の「3」まで上げた段階で、次にFW-SV32のバージョンを上げる経路を発見できない(符号801)。そこで、サポートマトリックス修正部41は、このような状態が発生し得る欄(符号805の欄)を予め「×」にした修正サポートマトリックス120-3aを生成する。
[0040]
 同様に、FW-ST33を起点バージョン「5」から終点バージョン「1」へ、FW-SV32を起点バージョン「5」から終点バージョン「1」へとバージョンダウンするための更新手順を探索する。ここで、修正サポートマトリックス120-3のままでバージョンダウンの更新手順を探索すると、例えば、FW-SV32をバージョン「2」、FW-ST33をバージョン「4」まで下げた段階で、次にFW-SV32のバージョンを下げる経路を発見することができない(符号802)。そこで、サポートマトリックス修正部41は、このような状態が発生し得る欄(符号806、807)を予め「×」にした修正サポートマトリックス120-3bを生成する。
[0041]
 なお、サポートマトリックス100は、必ずしも「△」を含んでいなくても良く、「○」及び「×」で構成されていてもよい。この場合、上記のサポートマトリックス修正部41における処理は実行されなくてもよい。すなわち、後述する更新手順リスト生成部42は、「○」及び「×」で構成されたサポートマトリックス100又は修正サポートマトリックス120を使用する。また、FW間の適合性の可否を管理する情報に従って、適合性を確認できるFWの組み合わせを経由する更新手順を探索できるならば、上記例示したサポートマトリックスを明示的に用いなくても良い。
[0042]
 図5は、更新手順リスト200の生成例を示す。以下、更新手順リスト生成部42の処理と、更新手順情報の一種である更新手順リスト200の構成について説明する。
[0043]
 更新手順リスト200は、コンピュータシステム11を構成する各モジュールのFWをどのような手順で更新するかに関する情報を有する。更新手順リスト200は、フィールドとして、順序201と、FW名202と、更新バージョン203とを有する。順序201には、順序を示す番号が格納される。FW名202には、FWの名称が格納される。更新バージョン203には、更新前と更新後のバージョンが格納される。
[0044]
 更新手順リスト200は、1の更新処理に対応する1のレコードを有する。例えば、図5の更新手順リスト200は、「1番目(201)」の更新処理で、「FW-ST(202)」を、バージョン「2」から「3」へ更新する(203)し、「2番目(201)」の更新処理で、「FW-SV(202)」を、バージョン「1」から「3」へ更新する(203)ことを示す。そして、更新手順リスト200は、5回の更新処理によって、全てのFWの更新を完了することを示す。
[0045]
 更新手順リスト生成部42は、修正サポートマトリックス120に基づいて、各モジュールに係るFWを起点バージョンから終点バージョンまで更新する手順(「更新手順」という)を探索する。ここで、「更新」とは、バージョンアップとバージョンダウンの両方の意味を含むものとする。
[0046]
 図5において、FW-SV32の起点バージョン及び終点バージョンはそれぞれ「1」及び「5」、FW-ST33の起点バージョン及び終点バージョンはそれぞれ「2」及び「5」、FW-MM31の起点バージョン及び終点バージョンはそれぞれ「3」及び「5」である。この場合、例えば、以下の処理によって更新手順を探索し、更新手順リスト200を生成する。なお、以下において、FW-ST33とFW-SV32の組み合わせに係る修正サポートマトリックス120を「ST×SV」と表現する。他のFWの組み合わせについても同様とする。
[0047]
 (S1)更新手順リスト生成部42は、FW-ST33のバージョンアップの手順を探索する。更新手順リスト生成部42は、「ST×SV」及び「MM×ST」を参照すると、「ST×SV」において、起点バージョン「2」から終点バージョン「5」までの間の途中バージョン「4」が「×」であるので、FW-ST33をその手前の途中バージョン「3」までバージョンアップさせる旨を更新手順リスト200に登録する。つまり、順序201に「1」、FW名202に「FW-ST」、更新バージョン203に「2→3」を登録する。
[0048]
 (S2)更新手順リスト生成部42は、FW-SV32のバージョンアップの手順を探索する。更新手順リスト生成部42は、「ST×SV」及び「MM×SV」を参照すると、「ST×SV」において、起点バージョン「1」から終点バージョン「5」までの間の途中バージョン「4」が「×」であるので、FW-SV32をその手前の途中バージョン「3」までバージョンアップさせる旨を更新手順リスト200に登録する。つまり、順序201に「2」、FW名202に「FW-SV32」、更新バージョン203に「1→3」を登録する。
[0049]
 (S3)更新手順リスト生成部42は、FW-ST33のバージョンアップの手順を探索する。更新手順リスト生成部42は、「ST×SV」及び「MM×ST」を参照すると、「ST×SV」及び「MM×ST」の何れにおいても、上記の途中バージョン「3」からSTの終点バージョン「5」までの間に「×」がないので、FW-ST33を終点バージョン「5」までバージョンアップさせる旨を更新手順リスト200に登録する。つまり、順序201に「3」、FW名202に「FW-ST33」、更新バージョン203に「3→5」を登録する。
[0050]
 (S4)次に、更新手順リスト生成部42は、FW-MM31のバージョンアップの手順を探索する。更新手順リスト生成部42は、「MM×SV」及び「MM×ST」を参照すると、「MM×SV」及び「MM×ST」の何れにおいても、起点バージョン「3」から終点バージョン「5」までの間に「×」がないので、FW-MM31を終点バージョン「5」までバージョンアップさせる旨を更新手順リスト200に登録する。つまり、順序201に「4」、FW名202に「FW-MM31」、更新バージョン203に「3→5」を登録する。
[0051]
 (S5)更新手順リスト生成部42は、FW-SV32のバージョンアップの手順を探索する。更新手順リスト生成部42は、「ST×SV」及び「MM×SV」を参照すると、「ST×SV」及び「MM×SV」の何れにおいても、上記の途中バージョン「3」から終点バージョン「5」までの間に「×」がないので、FW-SV32を終点バージョン「5」までバージョンアップさせる旨を更新手順リスト200に登録する。つまり、順序201に「5」、FW名202に「FW-SV32」、更新バージョン203に「3→5」)を登録する。
[0052]
 なお、更新手順リスト生成部42は、上記以外の更新手順を探索し、複数の異なる更新手順リスト200を生成してもよい。
[0053]
 以上の処理により、更新手順リスト生成部42は、FW-SV32、FW-ST33及びFW-MM31の全てを終点バージョンまでバージョンアップさせる更新手順リスト200を生成することができる。そして、この更新手順リスト200は、何れの時点おいても、サポートされていないバージョンの組み合わせ及び一部機能が制限されるバージョンの組み合わせとならない。これにより、コンピュータシステム11が、サポートされていないFWのバージョンの組み合わせで稼働するおそれを回避することができる。また、コンピュータシステム11が利用している機能が、各モジュールのFWの更新中に利用できなくなってしまうおそれを回避することができる。以下、図1の説明に戻る。
[0054]
 更新スクリプト実行部43は、更新手順リスト200に基づいて、コンピュータシステム11の各モジュールのFWを更新するための更新スクリプト220を生成する。そして、更新スクリプト実行部43は、その生成した更新スクリプト220を実行し、コンピュータシステム11の各モジュールのFWを更新(バージョンアップ又はバージョンダウン)する。更新スクリプト220は、管理サーバ10で実行されてもよいし、コンピュータシステム11で実行されてもよい。また、更新スクリプト実行部43は、一部のFWの更新に失敗した場合、その一部又は全部のFWを元のバージョンに戻すロールバック処理を実行してもよい。
[0055]
 入出力処理部44は、入出力I/F25を制御して、管理サーバ10における入力及び出力に関する処理を行う。例えば、入出力処理部44は、ユーザが管理サーバ10に指示又はパラメータ等を入力するためのGUIや、管理サーバ10での処理結果をユーザに提示するためのGUIなどを生成する。
[0056]
 入出力処理部44は、更新手順リスト生成部42が生成した複数の更新手順リスト200の内、何れか1つの更新手順リスト200を選択できるGUIを生成及び表示してもよい。そして、入出力処理部44は、このGUIを通じて選択された1つの更新手順リスト200を、更新スクリプト実行部43に通知してもよい。更新スクリプト実行部43は、この通知された1つの更新手順リスト200に基づいて更新スクリプト220を生成してもよい。
[0057]
 入出力処理部44は、コンピュータシステム11における各モジュールのFWの終点バージョンを指定できるGUIを生成及び表示してもよい。そして、入出力処理部44は、このGUIを通じて指定された各モジュールのFWの終点バージョンを、サポートマトリックス修正部41及び更新手順リスト生成部42に通知してもよい。
[0058]
 入出力処理部44は、コンピュータシステム11における何れかのモジュールのFWの終点バージョンを指定できるGUIを生成及び表示してもよい。この場合、サポートマトリックス修正部41及び更新手順リスト生成部42は、指定されなかった他のFWについて、その指定されたFWの終点バージョンとの組み合わせおいてサポートされているバージョンを、自動的に終点バージョンに設定してもよい。
[0059]
 入出力処理部44は、コンピュータシステム11における全てのモジュールのFWを最新のバージョンに更新する旨を指定できるGUIを生成及び表示してもよい。この場合、サポートマトリックス修正部41及び更新手順リスト生成部42は、各FWの最新のバージョンを自動的に終点バージョンに設定してもよい。
[0060]
 図6は、実施例1における全体の処理の概要を示す模式図である
[0061]
 (1)サポートマトリックス修正部41は、コンピュータシステム11を構成する各モジュールに対応するFW(FW-MM31、FW-SV32およびFW-ST33)を認識する。
[0062]
 (2)サポートマトリックス修正部41は、リポジトリ12から、それら認識したFWに係る各サポートマトリックス100(「SV×ST」、「ST×MM」および「MM×SV」)を取得する。
[0063]
 (3)サポートマトリックス修正部41は、各サポートマトリックス100について、コンピュータシステム11が利用している機能に未対応のバージョンの組み合わせの欄を修正し、各修正サポートマトリックス120を生成する。
[0064]
 (4)更新手順リスト生成部42は、各修正サポートマトリックス120の「○」及び「×」の情報に基づいて、1以上の更新手順リスト200を生成する。
[0065]
 (5)更新スクリプト実行部43は、1以上の更新手順リスト200の内、更新に用いる1の更新手順リスト200を選択する。この選択は、ユーザによってなされても良いし、管理サーバ10によって自動的になされても良い。例えば、入出力処理部44が、後述の図15に示すような更新手順リスト選択用GUI700を表示し、ユーザに選択させてもよい。例えば、更新スクリプト実行部43が、更新処理の数(順序201の数)が最少の更新手順リスト200を自動的に選択しても良いし、後述の図13に示す更新所要時間テーブル320を参照して算出された更新所要時間が最短となる更新手順リスト200を自動的に選択しても良い。
[0066]
 (6)更新スクリプト実行部43は、その選択された更新手順リスト200に基づいて、更新スクリプト220を生成する。
[0067]
 (7)更新スクリプト実行部43は、その生成した更新スクリプト220を実行し、コンピュータシステム11を構成する各モジュールのFWを更新する。
[0068]
 以上の処理により、コンピュータシステム11を構成する各モジュールのFWが安全に更新される。以下、これらの処理の詳細について説明する。
[0069]
 図7は、サポートマトリックス修正処理の一例を示すフローチャートである。以下、修正サポートマトリックス120を生成する処理の詳細について説明する。
[0070]
 サポートマトリックス修正部41は、リポジトリ12から、サポートマトリックス100と機能対応テーブル140を取得し、記憶デバイス23へ格納する(S101)。
 サポートマトリックス修正部41は、コンピュータシステム11から各FWの起点バージョンを取得する(S102)。
 サポートマトリックス修正部41は、ユーザからの指示に基づいて又は自動的に各FWの終点バージョンを認識する(S103)。
 サポートマトリックス修正部41は、利用機能テーブル160及び機能対応テーブル140などを参照し、サポートマトリックス100から修正サポートマトリックス120を生成し、記憶デバイス23へ格納し(S104)、本処理を終了する(END)。本ステップの詳細は図4に示した通りである。なお、S102,S103で取得した起点と終点の情報からバージョンアップかバージョンダウンかを判断して、図4の修正サポートマトリックス120-3a又は120-3bの何れを生成すべきか判断することができる。以上の処理により、修正サポートマトリックス120が生成される。又、本フローは少なくとも図8の更新手順リスト生成処理の前に行われていれば良く、ユーザからの終点Verの指定が未入力、又、図4の修正サポートマトリックス120-3a又は120-3bの生成を行う必要がなければS101,102のステップは実行されなくてもよい。
[0071]
 図8は、更新手順リスト生成処理の一例を示すフローチャートである。以下、1以上の更新手順リスト200を生成する処理の詳細について説明する。
[0072]
 更新手順リスト生成部42は、コンピュータシステム11から各FWの起点バージョンを取得する(S201)。
 更新手順リスト生成部42は、ユーザからの指示に基づいて又は自動的に各FWの終点バージョンを認識する(S202)。サポートマトリックス修正部41がS102~S103を実行する場合、このS201~S202は実行されなくてもよい。
[0073]
 更新手順リスト生成部42は、FWの数の分、S203~S230を繰り返す(S203)。
 更新手順リスト生成部42は、未選択の内、1つのFWを出発点に選択する(S204)。
 更新手順リスト生成部42は、更新手順リスト200の順序201に対応する順序カウンタに「1」をセット(初期化)する(S205)。
 更新手順リスト生成部42は、S204によって選択中のFWの起点バージョンを認識する(S206)。
 更新手順リスト生成部42は、何れかの修正サポートマトリックス120において、選択中のFWの起点又は途中バージョンから終点バージョンまでの間に「×」が存在するか否かを判定する(S207)。
[0074]
 終点バージョンまでの間に「×」が存在する場合(S207:YES)、更新手順リスト生成部42は、順序カウンタと、選択中のFWと、選択中のFWの「×」の手前の途中バージョンとを更新手順リスト200に登録する(S210)。
 そして、更新手順リスト生成部42は、順序カウンタに「1」を加算する(S211)。
 そして、更新手順リスト生成部42は、選択中のFWに対して「×」となった修正サポートマトリックス120において、その選択中のFWに対向するFW及びバージョンを選択し(S212)、S207へ戻る。
[0075]
 終点バージョンまでの間に「×」が存在しない場合(S207:NO)、更新手順リスト生成部42は、順序カウンタと、選択中のFWと、選択中のFWの終点バージョンとを更新手順リスト200に登録する(S220)。
 そして、更新手順リスト生成部42は、全てのFWが終点バージョンに到達したか否かを判定する(S221)。
[0076]
 全てのFWが終点バージョンに到達した場合(S221:YES)、更新手順リスト生成部42は、更新手順リスト200を出力し(S213)、S230へ進む。
[0077]
 終点バージョンに未到達のFWが存在する場合(S221:NO)、更新手順リスト生成部42は、全てのFWの探索を完了したか否かを判定する(S222)。
[0078]
 全てのFWの探索を完了した場合(S222:YES)、更新手順リスト生成部42は、S230へ進む。
[0079]
 まだ探索が完了していないFWが存在する場合(S222:NO)、更新手順リスト生成部42は、終点バージョンに未到達の1つのFWを選択する(S223)。そして、更新手順リスト生成部42は、順序カウンタに「1」を加算し(S224)、S207へ戻る。
[0080]
 FWの数の分、S203~S230を繰り返した後(S230)、更新手順リスト生成部42は、1つ以上の更新手順リスト200が生成されたか否かを判定する(S231)。
[0081]
 更新手順リスト生成部42は、1以上の更新手順リスト200が生成された場合(S231:YES)、本処理を終了する(END)。
[0082]
 更新手順リスト生成部42は、1つも更新手順リスト200が生成されなかった場合(S231:NO)、その旨のエラーを出力し(S232)、本処理を終了する(END)。以上の処理により、1以上の更新手順リスト200が生成される。
[0083]
 図9は、更新スクリプト実行処理の一例を示すフローチャートである。以下、更新スクリプト220を生成する処理及びFWを更新する処理の詳細について説明する。
[0084]
 更新スクリプト実行部43は、1以上の更新手順リスト200から1の更新手順リスト200を選択する(S301)。この選択は、図8のフローによって探索された手順を、後に例示する図15のGUIを介してユーザに提示し、何れかの選択指示を受けることによって実行されてよい。又は、更新処理の数が最少の更新手順情報を選択するようにポリシーを設定しておき、更新スクリプト実行部43が、探索された中で最も少ない手順でFW更新を行うとしてもよい。又は、後述する図13に示した更新所要時間テーブル320を実施例1の構成に設け、探索されたすべての手順における所要時間を算出し、更新スクリプト実行部43は、所要時間が最も少ない手順を選択してもよい。
[0085]
 更新スクリプト実行部43は、その選択中の更新手順リスト200に基づいて更新スクリプト220を生成する(S302)。
[0086]
 更新スクリプト実行部43は、その生成した更新スクリプト220における次のステップの(初回は最初のステップの)更新処理を実行対象に選択する(S303)。例えば、更新スクリプト220における1の更新処理は、更新手順リスト200の1のレコードに対応する。
[0087]
 更新スクリプト実行部43は、その選択中の更新処理の指示するバージョンのFWを、リポジトリ12から取得する(S304)。
 更新スクリプト実行部43は、対象モジュールにその取得したバージョンのFWをインストールするする(S305)。つまり、対象モジュールのFWのバージョンを更新する。
 更新スクリプト実行部43は、FWの更新に成功したか否かを判定する(S306)。
[0088]
 FWの更新に成功した場合(S306:YES)、更新スクリプト実行部43は、全てのFWについて更新が完了したか否かを判定する(S307)。
 まだ更新が完了していないFWが存在する場合(S307:NO)、更新スクリプト実行部43は、S303へ戻る。
 全てのFWの更新が完了した場合(S307:YES)、入出力処理部44は、全てのFWの更新が成功した旨を表示する(S308)。そして、更新スクリプト実行部43は、本処理を終了する(END)。
[0089]
 FWの更新に失敗した場合(S306:NO)、更新スクリプト実行部43は、S305で対象モジュールにインストールしたFWを、更新前のバージョンのFWに戻すロールバック処理を実行する(S310)。
 そして、更新スクリプト実行部43は、ロールバック処理が成功したか否かを判定する(S311)。
[0090]
 ロールバック処理が成功した場合(S311:YES)、入出力処理部44は、FW更新が失敗し、ロールバック処理が成功した旨のエラーを表示し(S312)、本処理を終了する(END)。
[0091]
 ロールバック処理が失敗した場合(S311:NO)、入出力処理部44は、FW更新が失敗し、ロールバック処理も失敗した旨のエラーを表示し(S313)、本処理を終了する(END)。以上の処理により、コンピュータシステム11における各モジュールのFWが更新される。
実施例 2
[0092]
 実施例2では、コンピュータシステム11が機能を利用しない時間帯が存在する場合における、各モジュールのFW更新方法について説明する。以下、実施例1と同じ要素には同一の符号を付し、説明を省略する。
[0093]
 図10は、実施例2に係る管理サーバ10の構成例を示すブロック図である。
[0094]
 リポジトリ12は、サポートマトリックス100と、各モジュールに対応するバージョン毎のFW30と、機能対応テーブル140と、更新所要時間テーブル320とを有する。更新所要時間テーブル320の詳細については後述する。
[0095]
 管理サーバ10は、記憶デバイス23に、利用機能テーブル360と、機能時間帯テーブル300と、更新手順リスト200と、更新スクリプト220と、時間帯別修正サポートマトリックス320と、に係るデータを保持する。また、管理サーバ10は、CPU21において、サポートマトリックス修正部41と、更新手順リスト生成部42と、実行候補抽出部45と、更新スクリプト実行部43と、入出力処理部44と、に係る処理を実行する。以下、実施例1とは異なるデータ及び処理について説明する。
[0096]
 図11は、実施例2に係る利用機能テーブル360の構成例を示す。
[0097]
 利用機能テーブル360は、図2に示した情報に加えて、その機能がコンピュータシステム11において利用される時間帯に関する情報も有する。利用機能テーブル360は、フィールドとして、モジュール名161と、FW名162と、現バージョン163と、機能名164と、利用状況165と、開始時刻166と、終了時刻167とを有する。モジュール名161、FW名162、現バージョン163、機能名164、および利用状況165は、図2で説明したとおりである。開始時刻166及び終了時刻167には、時刻が格納される。
[0098]
 例えば、図11のレコード369aは、「サーバモジュール(161)」はファームウェア「FW-SV(162)」で稼働しており、このFWの現在のバージョンは「1(163)」であることを示す。そして、このファームウェア「FW-SV」は「SV機能A乃至D(164)」の機能を有し、この利用機能テーブル360に対応するコンピュータシステム11では、SV機能A及びBが利用されており(165:YES)、SV機能C及びDが利用されていない(165:NO)ことを示す。そして、「SV機能A(165)」は「23:00(166)」から「5:00(167)」まで利用され、「SV機能B(165)」は「2:00(166)」から「5:00(167)」まで利用されることを示す。
[0099]
 図12は、機能時間帯テーブル300の構成例を示す。
[0100]
 機能時間帯テーブル300は、各機能時間帯において各機能が利用されるか否かに関する情報を有する。機能時間帯とは、利用機能テーブル360における各機能の開始時刻166と終了時刻167に従って設定される。機能時間帯テーブル300は、例えば、行項目301にコンピュータシステム11において利用されている機能を有し、列項目302に機能時間帯を有するマトリックスで構成される。そして、例えば、行項目301の機能と列項目302の機能時間帯との組み合わせからなる欄において、その機能がその機能時間帯に利用される場合にはその欄を「○」、利用されない場合にはその欄「×」とする。
[0101]
 例えば、図12の機能時間帯テーブル300の列309aを参照すると、機能時間帯である「2:00~5:00」の間は、SV機能A、SV機能B及びST機能Aの何れもが利用されることがわかる。また、列309bを参照すると、機能時間帯である「5:00~23:00」の間は、SV機能A及びSV機能Bが利用されず、ST機能Aが利用されることがわかる。
[0102]
 図13は、更新所要時間テーブル320の構成例を示す。
[0103]
 更新所要時間テーブル320は、モジュールのFWを或るバージョンから別の或るバージョンへ更新する際に要するおおよその時間に関する情報を有する。更新所要時間テーブル320は、フィールドとして、FW名321と、更新バージョン322と、所要時間323とを有する。FW名321には、FWの名称が格納される。更新バージョン322は、更新前のバージョン及び更新後のバージョンが格納される。所要時間323には、更新に要するおおよその時間が格納される。
[0104]
 更新所要時間テーブル320は、FWのバージョン更新のパターン毎に1のレコードを有する。例えば、図13のレコード329aは、「FW-SV(321)」のバージョンを「1」から「2」に更新(322)するのにおおよそ「20分(323)」を要することを示す。
[0105]
 図14は、実施例2における全体の処理の概要を示す模式図である。以下、実施例2において管理サーバ10で実行される全体の処理の概要と、実行候補抽出部45の機能について説明する。
[0106]
 (1)サポートマトリックス修正部41は、コンピュータシステム11を構成する各モジュールに対応するFW(FW-MM31、FW-SV32およびFW-ST33)を認識する。
[0107]
 (2)サポートマトリックス修正部41は、リポジトリ12から、それら認識したFWに係るサポートマトリックス100(「SV×ST」、「ST×MM」および「MM×SV」)を取得する。
[0108]
 (3)サポートマトリックス修正部41は、利用機能テーブル360の各機能の利用の開始時刻166及び終了時刻167に基づいて、機能時間帯テーブル300を生成する。ここで、機能時間帯テーブル300は、機能時間帯A及びBを有するものとする。
[0109]
 (4)サポートマトリックス修正部41は、機能時間帯A、Bごとに、各サポートマトリックス100について、その機能時間帯にコンピュータシステム11が利用している機能に未対応のバージョンの組み合わせの欄を修正し、各時間帯別修正サポートマトリックス320A、320Bを生成する。
[0110]
 (5)更新手順リスト生成部42は、機能時間帯A(B)に対応する各時間帯別修正サポートマトリックス320A(320B)の「○」及び「×」に基づいて、機能時間帯A(B)に対応する1以上の更新手順リスト200A(200B)を生成する。
[0111]
 (6)実行候補抽出部45は、機能時間帯A(B)に対応する1以上の更新手順リスト200A(200B)から、その機能時間帯A(B)の範囲内で更新が完了する更新手順リスト200AA(200BB)を抽出し、実行候補に登録する。すなわち、実行候補抽出部45は、更新所要時間テーブル320を参照し、各更新手順リスト200について更新に要するおおよその時間(「更新所要時間」という)を算出する。そして、実行候補抽出部45は、機能時間帯に対応する1以上の更新手順リスト200の内、更新所要時間が機能時間帯の範囲内に納まる(機能時間帯>更新所要時間帯である)更新手順リスト200を抽出し、実行候補に登録する。
[0112]
 (7)更新スクリプト実行部43は、実行候補に登録されている1以上の更新手順リスト200AA、200BBの内、例えば更新に使用する1の更新手順リスト200AAを選択する。この選択は、ユーザによってなされても良いし、管理サーバ10によって自動的になされても良い。例えば、入出力処理部44は、後述の図15に示すように、更新手順リスト選択用GUIを生成及び表示し、更新に使用する1の更新手順リスト200をユーザに選択させてもよい。例えば、更新スクリプト実行部43は、更新処理の数(順序201の数)が最少の更新手順リスト200を自動的に選択しても良いし、更新所要時間が最短の更新手順リスト200を自動的に選択しても良い。
[0113]
 (8)更新スクリプト実行部43は、その選択された更新手順リスト200AAに基づいて、更新スクリプト220を生成する。
[0114]
 (9)更新スクリプト実行部43は、その選択された更新手順リスト200AAが対応する機能時間帯Aの範囲内(例えば、機能時間帯Aの開始時刻)にその生成した更新スクリプト220の実行を開始し、コンピュータシステム11を構成する各モジュールのFWを更新する。
[0115]
 以上の処理により、コンピュータシステム11を構成する各モジュールのFWが安全に更新される。以下、これらの処理の詳細について説明する。
[0116]
 図15は、更新手順リスト選択用GUI700の構成の一例を示す。
[0117]
 更新手順リスト選択用GUI700は、複数の更新手順リスト200から更新に使用する1の更新手順リスト200を選択するためのGUIである。更新手順リスト選択用GUI700は、例えば、入出力処理部44によって生成される。
[0118]
 更新手順リスト選択GUI700は、例えば、1以上の更新手順リスト701a、701bと、更新手順リスト701a、702bにそれぞれ対応するリスト選択領域702a、702bと、OKボタン703とを有する。
[0119]
 更新手順リスト701a、701bには、図5に示した更新手順リスト200のフィールドに格納されている値に加えて、実行時間帯705a、705b、および更新所要時間706a、706bが表示されてよい。
[0120]
 実行時間帯705a、705bには、更新手順リスト701a、701bが実行される予定の時間帯が表示される。実行時間帯705a、705bには、この更新手順リスト701a、701bに対応する機能時間帯が表示されてもよいし、更新が開始される予定の時刻が表示されてもよい。
[0121]
 更新所要時間706a、706bには、更新手順リスト701a、701bに基づいて生成される更新スクリプト220によって、コンピュータシステム11を構成する各モジュールのFWを更新した場合、おおよそどのくらいの時間を要するかが表示される。この更新所要時間706a、706bは、更新所要時間テーブル320を参照することによって算出できる。
[0122]
 図15に示す更新手順リスト選択用GUI700において、ユーザが、リスト選択領域702a、702bの内、リスト選択領域702bを選択して、OKボタン703を押下すると、更新手順リスト702bが選択される。更新スクリプト実行部43は、この選択された更新手順リスト702bに対応する更新スクリプト220を生成する。そして、更新スクリプト実行部43は、この生成した更新スクリプト220を、「5:00~23:00(705b)」の間で更新が終了するように実行する。更新処理スクリプト43は、実行時間帯の開始時刻である「5:00」から更新を実行するとしてもよい。なお、実施例1の場合、実行時間帯705a、705b、及び、更新所要時間706a、706b以外の要素が表示されてよい。
[0123]
 図16は、実施例2に係るサポートマトリックス修正処理の一例を示すフローチャートである。
[0124]
 サポートマトリックス修正部41は、リポジトリ12から、サポートマトリックス100と、機能対応テーブル140と、更新所要時間テーブル320とを取得する(S401)。
 サポートマトリックス修正部41は、利用機能テーブル360及び機能対応テーブル140に基づき、機能時間帯テーブル300を生成する(S402)。
 サポートマトリックス修正部41は、コンピュータシステム11から各FWの起点バージョンを取得する(S403)。サポートマトリックス修正部41は、ユーザからの指示に基づいて又は自動的に各FWの終点バージョンを認識する(S404)。S403とS404については実施例1と同様に必須ではない。
[0125]
 サポートマトリックス修正部41は、機能時間帯の数の分、S405~S408を繰り返す(S405)。
 サポートマトリックス修正部41は、未選択の内、1つの機能時間帯を選択する(S406)。
[0126]
 サポートマトリックス修正部41は、選択中の機能時間帯に利用される機能を考慮して時間帯別修正サポートマトリックスを生成する(S407)。例えば、サポートマトリックス修正部41は、図4のサポートマトリックス110-1において、選択中の機能時間帯に利用される機能と対応関係を有する「△」の欄を「▲」に変更し、図4の修正サポートマトリックス120-1に相当する時間帯別修正サポートマトリックスを生成する。
[0127]
 サポートマトリックス修正部41は、S405~S408の繰り返しを完了後(S408)、本処理を終了する(END)。以上の処理により、機能時間帯ごとの時間帯別修正サポートマトリックスが生成される。
[0128]
 図17は、実行候補抽出処理の一例を示すフローチャートである。
[0129]
 実行候補抽出部45は、機能時間帯の数の分、S501~S509を繰り返す(S501)。
 実行候補抽出は、未選択の内、1つの機能時間帯を選択する(S502)。
[0130]
 実行候補抽出部45は、選択中の機能時間帯に対応する更新手順リスト200の数の分、S503~508を繰り返す(S503)。
 実行候補抽出部45は、選択中の機能時間帯に対応する未選択の更新手順リスト200の内、1つの更新手順リスト200を選択する(S504)。
 実行候補抽出部45は、更新所要時間テーブル320に基づき、選択中の更新手順リスト200の更新所要時間を算出する(S505)。
[0131]
 実行候補抽出部45は、更新所要時間が、選択中の機能時間帯の範囲内に納まるか否かを判定する(S506)。
 更新所要時間が、選択中の機能時間帯の範囲内に納まる場合(S506:YES)、実行候補抽出部45は、選択中の更新手順リスト200及び機能時間帯を実行候補に登録し(S507)、S508へ進む。
 更新所要時間が、選択中の機能時間帯の範囲内に納まらない場合(S506:NO)、実行候補抽出部45は、そのままS508へ進む。
[0132]
 実行候補抽出部45は、S503~S508の繰り返しを完了し、さらにS501~S509の繰り返しを完了した後、本処理を終了する(END)。以上の処理により、実行候補に、機能時間帯の範囲内で更新可能な更新手順リスト200が登録される。
[0133]
 実行候補に登録された更新手順リスト200は、例えば、図15に示した更新手順リスト選択用GUI700に表示され、ユーザによって1の更新手順リスト200が選択される。その選択された更新手順リスト200から更新スクリプト220を生成する処理及びFWを更新する処理は、実施例1と同様である。実施例2の場合、更新スクリプト220は、直ちに実行されるとは限らず、その選択された更新手順リスト200に対応する機能時間帯の範囲内で更新が完了するように実行される。例えば、更新スクリプト220は、機能時間帯の開始時刻に開始される。
[0134]
 本実施例によれば、所定の機能を利用している時間帯が限定されている場合に、当該時間帯を考慮した上で、有効なFWの更新手順を探索および実行することができる。本実施例によれば、ユーザの機能の利用が制限されることなく、FWを更新することができる。本実施例によれば、更新に関わる機能が利用されていない時間帯にFWの更新を実行することにより、その機能が利用されている時間帯にFWの更新を実行する場合と比較して、より少ない手順又は時間で更新を完了し得る。
[0135]
 上述した本発明の実施例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。

符号の説明

[0136]
10:管理サーバ 11:コンピュータシステム 12:リポジトリ 15、16、17:モジュール 30、31、32、33:ファームウェア 100:サポートマトリックス



請求の範囲

[請求項1]
 それぞれがファームウェアを有する複数のモジュールを有するコンピュータシステムの管理方法であって、
 各モジュールのファームウェアのバージョン間の組み合わせの適合性を表す適合性情報を取得し、
 前記コンピュータシステムから、前記各モジュールのファームウェアの更新前のバージョンを取得し、
 前記各モジュールのファームウェアの更新後のバージョンを決定し、
 前記適合性情報に基づいて、前記各モジュールのファームウェアを更新前のバージョンから更新後のバージョンへ更新するための複数の更新処理の更新手順を表す更新手順情報を生成し、
 前記生成された更新手順情報が表す更新手順で前記複数の更新処理を実行する
コンピュータシステムの管理方法。
[請求項2]
 前記更新手順情報は、何れのファームウェアを何れのバージョンへ更新する更新処理を何れの順序で実行するかを表す情報を含み、
 前記複数の更新処理は、それぞれ前記更新手順情報に定義されており、前記更新手順情報に含まれる順序で実行される
請求項1に記載のコンピュータシステムの管理方法。
[請求項3]
 前記更新手順情報は、或るファームウェアのバージョンが更新された時点における前記各モジュールのファームウェアのバージョン間の組み合わせが、前記適合性情報において適合性を有するように生成されている
請求項2に記載のコンピュータシステムの管理方法。
[請求項4]
 前記更新手順情報を、前記適合性情報において適合性を有するように生成できない場合は、その旨を通知する
請求項3に記載のコンピュータシステムの管理方法。
[請求項5]
 複数の更新手順情報が生成される場合、その複数の更新手順情報を出力し、その出力した複数の更新手順情報の内から選択された1の更新手順情報に基づいて前記複数の更新処理を実行する
請求項1に記載のコンピュータシステムの管理方法。
[請求項6]
 複数の更新手順情報が生成される場合、その複数の更新手順情報の内から選択された1の更新手順情報に基づいて前記複数の更新処理を実行し、
 前記選択された1の更新手順情報は、前記複数の更新手順情報の内、更新処理の数が最少の更新手順情報である、
請求項2に記載のコンピュータシステムの管理方法。
[請求項7]
 さらに、前記各モジュールのファームウェアのそれぞれのバージョンが何れの機能に対応しているかを表す機能情報を取得し、
 前記コンピュータシステムにおいて利用されている機能を認識し、
 前記適合性情報及び前記機能情報に基づいて前記更新手順情報を生成するにあたり、或るファームウェアのバージョンが更新された時点における前記各モジュールのファームウェアのバージョン間の組み合わせが、前記適合性を有し、且つ、前記コンピュータシステムに利用されている機能が利用不可とならないように生成する
請求項2に記載のコンピュータシステムの管理方法。
[請求項8]
 さらに、前記各モジュールのファームウェアのそれぞれのバージョンが何れの機能に対応しているかを表す機能情報を取得し、
 前記コンピュータシステムに利用されている機能と、その機能が利用されている時間帯とを認識し、
 前記適合性情報及び前記機能情報に基づいて前記時間帯に対応する更新手順情報を生成するにあたり、或るファームウェアのバージョンが更新された時点における前記各モジュールのファームウェアのバージョン間の組み合わせが、前記適合性を有し、且つ、前記コンピュータシステムにおいて前記時間帯に利用されている機能が利用不可とならないように生成する
請求項2に記載のコンピュータシステムの管理方法。
[請求項9]
 さらに、前記時間帯に対応する更新手順情報に基づいて前記各モジュールのファームウェアを更新する場合に要する時間を表す更新所要時間を算出し、
 前記複数の更新処理は、前記時間帯に対応する更新手順情報の内、前記更新所要時間が前記時間帯の範囲内に納まる更新手順情報に基づいて実行される
請求項8に記載のコンピュータシステムの管理方法。
[請求項10]
 前記時間帯に対応する更新手順情報に基づく前記複数の更新処理は、前記時間帯の範囲内の何れかの時刻から開始される
請求項9に記載のコンピュータシステムの管理方法。
[請求項11]
 それぞれがファームウェアを有する複数のモジュールを有するコンピュータシステムに接続されたインターフェイスデバイスと、
 各モジュールのファームウェアのバージョン間の組み合わせの適合性を表す適合性情報を有するメモリと、
 前記インターフェイスデバイス及び前記メモリに接続されたプロセッサと
を有し、
 前記プロセッサが、
  前記コンピュータシステムから、前記各モジュールのファームウェアの更新前のバージョンを取得し、
  前記各モジュールのファームウェアの更新後のバージョンを決定し、
  前記適合性情報に基づいて、前記各モジュールのファームウェアを更新前のバージョンから更新後のバージョンへ更新するための複数の更新処理の更新手順を表す更新手順情報を生成し、
  前記生成された更新手順情報が表す更新手順で前記複数の更新処理を実行する、
管理装置。
[請求項12]
 前記更新手順情報は、何れのファームウェアを何れのバージョンへ更新する更新処理を何れの順序で実行するかを表す情報を含み、
 前記複数の更新処理は、それぞれ前記更新手順情報に定義されており、前記更新手順情報に含まれる順序で実行される
請求項11に記載の管理装置。
[請求項13]
 前記更新手順情報は、或るファームウェアのバージョンが更新された時点における前記各モジュールのファームウェアのバージョン間の組み合わせが、前記適合性情報において適合性を有するように生成されている
請求項12に記載の管理装置。
[請求項14]
 前記プロセッサが、
 さらに、前記各モジュールのファームウェアのそれぞれのバージョンが何れの機能に対応しているかを表す機能情報を取得し、
 前記コンピュータシステムにおいて利用されている機能を認識し、
 前記適合性情報及び前記機能情報に基づいて前記更新手順情報を生成するにあたり、或るファームウェアのバージョンが更新された時点における前記各モジュールのファームウェアのバージョン間の組み合わせが、前記適合性を有し、且つ、前記コンピュータシステムに利用されている機能が利用不可とならないように生成する
請求項12に記載の管理装置。
[請求項15]
 前記プロセッサが、
 さらに、前記各モジュールのファームウェアのそれぞれのバージョンが何れの機能に対応しているかを表す機能情報を取得し、
 前記コンピュータシステムに利用されている機能と、その機能が利用されている時間帯とを認識し、
 前記適合性情報及び前記機能情報に基づいて前記時間帯に対応する更新手順情報を生成するにあたり、或るファームウェアのバージョンが更新された時点における前記各モジュールのファームウェアのバージョン間の組み合わせが、前記適合性を有し、且つ、前記コンピュータシステムにおいて前記時間帯に利用されている機能が利用不可とならないように生成する
請求項12に記載の管理装置。



図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]

[ 図 11]

[ 図 12]

[ 図 13]

[ 図 14]

[ 図 15]

[ 図 16]

[ 図 17]