(57)【要約】【課題】情報処理装置に対して正しいパッチを効率よく適用できる。【解決手段】情報処理装置１０は、第１のプログラム１１ａを識別する第１の識別情報を、情報処理装置２０に通知する通知部を有する。情報処理装置２０は、情報処理装置１０用の複数のプログラムをそれぞれ識別する識別情報と、情報処理装置２０用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、情報処理装置１０にインストールすべきパッチが登録されたプログラム対応情報２２ａを記憶する記憶部２２と、プログラム対応情報２２ａに登録されたパッチの中から、通知された第１の識別情報と、第２のプログラム２１ａを識別する第２の識別情報との組み合わせに対応する特定パッチを特定し、特定パッチを情報処理装置１０に送信して第１のプログラム１１ａを更新させる更新制御部２３とを有する。【選択図】図１
2018018273.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置と、前記第１の情報処理装置からの要求に応じて処理を実行する第２の情報処理装置とを有する情報処理システムであって、
前記第１の情報処理装置は、
前記第１の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報を、前記第２の情報処理装置に通知する通知部、
を有し、
前記第２の情報処理装置は、
前記第１の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、前記第２の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、前記第１の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を記憶する記憶部と、
前記プログラム対応情報に登録されたパッチの中から、通知された前記第１の識別情報と、前記第２の情報処理装置にインストールされている第２のプログラムを識別する第２の識別情報との組み合わせに対応する特定パッチを特定し、前記特定パッチを前記第１の情報処理装置に送信して前記第１のプログラムを更新させる更新制御部と、
を有する情報処理システム。
【請求項２】
前記通知部は、前記第１のプログラムに適用済みのパッチを識別するパッチ識別情報を前記第２の情報処理装置に通知し、
前記更新制御部は、前記パッチ識別情報に基づいて、前記特定パッチの中から前記第１のプログラムに未適用の未適用パッチを判別し、前記未適用パッチを前記第１の情報処理装置に送信して前記第１のプログラムを更新させる、
請求項１記載の情報処理システム。
【請求項３】
第１の情報処理装置と、複数の第２の情報処理装置とを有する情報処理システムであって、
前記第１の情報処理装置は、
前記複数の第２の情報処理装置のそれぞれにインストールされている第２のプログラムをそれぞれ識別する複数の第２の識別情報を、前記複数の第２の情報処理装置から収集する収集部と、
前記第１の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報と、前記複数の第２の識別情報とを、前記複数の第２の情報処理装置の中から選択された第３の情報処理装置に通知する通知部と、
を有し、
前記複数の第２の情報処理装置の少なくとも１つは、
前記第１の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、前記複数の第２の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、前記第１の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を記憶する記憶部と、
前記プログラム対応情報に登録されたパッチの中から、前記第１の識別情報と前記複数の第２の識別情報のそれぞれとの組み合わせに対応する特定パッチを特定し、前記特定パッチを前記第１の情報処理装置に送信して前記第１のプログラムを更新させる更新制御部と、
を有する情報処理システム。
【請求項４】
前記通知部は、前記第１のプログラムに適用済みのパッチを識別するパッチ識別情報を前記第３の情報処理装置に通知し、
前記更新制御部は、前記パッチ識別情報に基づいて、前記特定パッチの中から前記第１のプログラムに未適用の未適用パッチを判別し、前記未適用パッチを前記第１の情報処理装置に送信して前記第１のプログラムを更新させる、
請求項３記載の情報処理システム。
【請求項５】
前記プログラム対応情報には、前記第１の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、前記複数の第２の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせの少なくとも１つに対して、インストールが適用不可である不適パッチが登録され、
前記更新制御部は、前記プログラム対応情報において、前記第１の識別情報と前記複数の第２の識別情報のそれぞれとの組み合わせの少なくとも１つに対して前記不適パッチが登録されており、前記パッチ識別情報が示すパッチの中に前記不適パッチが含まれている場合には、前記第１のプログラムの更新制御を停止して警告情報を出力する、
請求項４記載の情報処理システム。
【請求項６】
前記記憶部および前記更新制御部は、前記複数の第２の情報処理装置のそれぞれに備えられ、
前記収集部は、前記複数の第２の情報処理装置のそれぞれから、記憶されている前記プログラム対応情報の更新日を収集し、
前記通知部は、前記複数の第２の情報処理装置のうち、収集された前記更新日が最も新しい情報処理装置を前記第３の情報処理装置として選択する、
請求項３乃至５のいずれか１項に記載の情報処理システム。
【請求項７】
他の情報処理装置からの要求に応じて処理を実行する情報処理装置において、
前記他の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、前記情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、前記他の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を記憶する記憶部と、
前記他の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報を前記他の情報処理装置から受信し、前記プログラム対応情報に登録されたパッチの中から、受信した前記第１の識別情報と、前記情報処理装置にインストールされている第２のプログラムを識別する第２の識別情報との組み合わせに対応する特定パッチを特定し、前記特定パッチを前記他の情報処理装置に送信して前記第１のプログラムを更新させる更新制御部と、
を有する情報処理装置。
【請求項８】
第１の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、複数の第２の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、前記第１の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を記憶する記憶部と、
前記第１の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報と、前記複数の第２の情報処理装置のそれぞれにインストールされている第２のプログラムをそれぞれ識別する複数の第２の識別情報とを、前記第１の情報処理装置から受信し、前記プログラム対応情報に登録されたパッチの中から、前記第１の識別情報と前記複数の第２の識別情報のそれぞれとの組み合わせに対応する特定パッチを特定し、前記特定パッチを前記第１の情報処理装置に送信して前記第１のプログラムを更新させる更新制御部と、
を有する更新制御装置。
【請求項９】
他の情報処理装置からの要求に応じて処理を実行するコンピュータに、
前記他の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報を前記他の情報処理装置から受信し、
前記他の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、前記情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、前記他の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を参照して、前記プログラム対応情報に登録されたパッチの中から、受信した前記第１の識別情報と、前記情報処理装置にインストールされている第２のプログラムを識別する第２の識別情報との組み合わせに対応する特定パッチを特定し、
前記特定パッチを前記他の情報処理装置に送信して前記第１のプログラムを更新させる、
処理を実行させる更新制御プログラム。
【請求項１０】
コンピュータに、
第１の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報と、複数の第２の情報処理装置のそれぞれにインストールされている第２のプログラムをそれぞれ識別する複数の第２の識別情報とを、前記第１の情報処理装置から受信し、
前記第１の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、前記複数の第２の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、前記第１の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を参照して、前記プログラム対応情報に登録されたパッチの中から、前記第１の識別情報と前記複数の第２の識別情報のそれぞれとの組み合わせに対応する特定パッチを特定し、
前記特定パッチを前記第１の情報処理装置に送信して前記第１のプログラムを更新させる、
処理を実行させる更新制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム、情報処理装置、更新制御装置および更新制御プログラムに関する。
【背景技術】
【０００２】
コンピュータにインストールされているＯＳ（Operating System）プログラムやアプリケーションプログラムの一部を更新するため、パッチと呼ばれる修正プログラムが配布されることがある。パッチは、例えば、バグやセキュリティホールなどの不具合の修正、機能の追加などを目的として配布される。
【０００３】
パッチに関する技術の例として、次のようなシステムが提案されている。このシステムでは、クライアント端末は、クライアント端末が搭載しているＯＳおよびアプリケーションソフトウェアのパッチプログラムの適用状況をサーバに送信する。サーバは、データベースの情報に基づいて必要最小限のパッチプログラムをクライアント端末に送信する。
【０００４】
また、プログラム更新に関する技術の例として、装置の形式にあわせて機能セットであるＯＳ、ドライバおよびファームウェアを変更する技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２２２４５３号公報
【特許文献２】特開２００７−１８８３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、処理の実行を要求する第１の情報処理装置と、要求された処理を実行する第２の情報処理装置とを含む情報処理システムの構成においては、各情報処理装置で様々な種別や版数のプログラムが実行され得る。このため、各情報処理装置で実行されるプログラムの種別や版数の組み合わせが多くなる。また、これらの組み合わせに応じて、第１の情報処理装置のプログラムに適用すべきパッチも異なる。このため、第１の情報処理装置に対しパッチを適用する作業時間が長時間となり、作業員による判断ミスなどが生じるリスクが高くなっている。
【０００７】
１つの側面では、本発明は、情報処理装置に対して正しいパッチを効率よく適用可能な情報処理システム、情報処理装置、更新制御装置および更新制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、情報処理システムが提供される。情報処理システムは、第１の情報処理装置と、第１の情報処理装置からの要求に応じて処理を実行する第２の情報処理装置とを有する。第１の情報処理装置は、第１の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報を、第２の情報処理装置に通知する通知部を有する。第２の情報処理装置は、記憶部と更新制御部とを有する。記憶部は、第１の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、第２の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、第１の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を記憶する。更新制御部は、プログラム対応情報に登録されたパッチの中から、通知された第１の識別情報と、第２の情報処理装置にインストールされている第２のプログラムを識別する第２の識別情報との組み合わせに対応する特定パッチを特定し、特定パッチを第１の情報処理装置に送信して第１のプログラムを更新させる。
【０００９】
また、１つの態様では、情報処理システムが提供される。情報処理システムは、第１の情報処理装置と、複数の第２の情報処理装置とを有する。第１の情報処理装置は、収集部と、通知部とを有する。収集部は、複数の第２の情報処理装置のそれぞれにインストールされている第２のプログラムをそれぞれ識別する複数の第２の識別情報を、複数の第２の情報処理装置から収集する。通知部は、第１の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報と、複数の第２の識別情報とを、複数の第２の情報処理装置の中から選択された第３の情報処理装置に通知する。複数の第２の情報処理装置の少なくとも１つは、記憶部と更新制御部とを有する。記憶部は、第１の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、複数の第２の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、第１の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を記憶する。更新制御部は、プログラム対応情報に登録されたパッチの中から、第１の識別情報と複数の第２の識別情報のそれぞれとの組み合わせに対応する特定パッチを特定し、特定パッチを第１の情報処理装置に送信して第１のプログラムを更新させる。
【００１０】
また、１つの態様では、上記の情報処理システムにおける第２の情報処理装置と同様の処理を実行する情報処理装置が提供される。
また、１つの態様では、上記の情報処理システムにおける複数の第２の情報処理装置のうちの１つと同様の処理を実行する更新制御装置が提供される。
【００１１】
また、１つの態様では、上記の情報処理システムにおける第２の情報処理装置と同様の処理をコンピュータに実行させる更新制御プログラムが提供される。
また、１つの態様では、上記の情報処理システムにおける複数の第２の情報処理装置のうちの１つと同様の処理をコンピュータに実行させる更新制御プログラムが提供される。
【発明の効果】
【００１２】
１つの側面では、情報処理装置に対して正しいパッチを効率よく適用できる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態の情報処理システムを示す図である。
【図２】第２の実施の形態のストレージシステムを示す図である。
【図３】サーバ装置のハードウェア例を示す図である。
【図４】ＣＭのハードウェア例を示す図である。
【図５】サーバ装置の機能例を示す図である。
【図６】ＣＭの機能例を示す図である。
【図７】サーバ装置に対するパッチのインストール処理の例を示すシーケンス図である。
【図８】マスタ情報テーブルの例を示す図である。
【図９】ストレージ情報テーブルの例を示す図である。
【図１０】ＯＳ情報テーブルの例を示す図である。
【図１１】パッチＤＢの例を示す図である。
【図１２】受信情報管理テーブルの例を示す図である。
【図１３】判定テーブルの例を示す図である。
【図１４】情報収集通知処理の例を示すフローチャートである。
【図１５】判定テーブル作成処理の例を示すフローチャート（その１）である。
【図１６】判定テーブル作成処理の例を示すフローチャート（その２）である。
【図１７】パッチ適用要否判定処理の例を示すフローチャート（その１）である。
【図１８】パッチ適用要否判定処理の例を示すフローチャート（その２）である。
【図１９】パッチインストール判定処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の情報処理システムを示す図である。
【００１５】
情報処理システムは、情報処理装置１０と情報処理装置２０とを有する。
情報処理装置１０は、情報処理装置２０に対して処理の実行を要求するコンピュータである。情報処理装置２０は、情報処理装置１０からの要求に応じて処理を実行するコンピュータである。例えば、このような処理のために、情報処理装置１０は、処理の実行を要求する処理要求部１１を有し、情報処理装置２０は、要求された処理を実行する処理実行部２１を有する。要求される処理としては、例えば、記憶装置に対するアクセスなどがある。この場合、情報処理装置２０は、ストレージ制御装置として実現されてもよい。なお、処理要求部１１の処理は、情報処理装置１０のプロセッサが第１のプログラム１１ａを実行することで実現される。処理実行部２１の処理は、情報処理装置２０が第２のプログラム２１ａを実行することで実現される。
【００１６】
また、情報処理装置１０はさらに、通知部１２を有する。通知部１２の処理は、例えば、情報処理装置１０のプロセッサが所定のプログラムを実行することで実現される。このプログラムは、第１のプログラム１１ａと同一であっても、あるいはこれとは別であってもよい。
【００１７】
通知部１２は、情報処理装置１０にインストールされている第１のプログラム１１ａの識別情報を、情報処理装置２０に通知する。第１のプログラム１１ａの識別情報とは、例えば、プログラムのファイル名、プログラムの種別、プログラムの版数の少なくとも１つを示す情報である。図１の例では、通知部１２は、第１のプログラム１１ａの識別情報として識別情報Ｘ１を通知したものとする。
【００１８】
一方、情報処理装置２０はさらに、記憶部２２および更新制御部２３を有する。
記憶部２２は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置でもよい。記憶部２２は、プログラム対応情報２２ａを記憶する。
【００１９】
プログラム対応情報２２ａには、情報処理装置１０用の複数のプログラムをそれぞれ識別する識別情報と、情報処理装置２０用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、情報処理装置１０にインストールすべきパッチが登録されている。情報処理装置１０用のプログラムとは、第１のプログラム１１ａとして情報処理装置１０にインストールされ得るプログラムである。情報処理装置２０用のプログラムとは、第２のプログラム２１ａとして情報処理装置２０にインストールされ得るプログラムである。
【００２０】
図１の例では、情報処理装置１０，２０にそれぞれ識別情報Ｘ１，Ｙ１で特定されるプログラムがインストールされている場合に情報処理装置１０にインストールすべきパッチとして、パッチＰ１が登録されている。また、情報処理装置１０，２０にそれぞれ識別情報Ｘ２，Ｙ２で特定されるプログラムがインストールされている場合に情報処理装置１０にインストールすべきパッチとして、パッチＰ２が登録されている。
【００２１】
更新制御部２３の処理は、情報処理装置２０のプロセッサが所定のプログラムを実行することで実現される。このプログラムは、第２のプログラム２１ａと同一であっても、あるいはこれとは別であってもよい。
【００２２】
更新制御部２３は、プログラム対応情報２２ａに登録されたパッチの中から、通知部１２から通知された第１の識別情報と、情報処理装置２０にインストールされている第２のプログラム２１ａを識別する第２の識別情報との組み合わせに対応するパッチを特定する。図１の例では、第１の識別情報として識別情報Ｘ１が通知されている。また、第２のプログラム２１ａの識別情報が識別情報Ｙ１であったとする。この場合、更新制御部２３は、プログラム対応情報２２ａから、識別情報Ｘ１，Ｙ１に対応付けられたパッチＰ１を特定する。
【００２３】
更新制御部２３は、特定されたパッチＰ１を情報処理装置１０に送信して、第１のプログラム１１ａを更新させる。情報処理装置１０は、パッチＰ１によって第１のプログラム１１ａを更新する。
【００２４】
このように、情報処理装置２０は、情報処理装置１０で稼働するプログラムと情報処理装置２０で稼働するプログラムとの組み合わせに応じて、情報処理装置１０に対して適用すべき正しいパッチを、人手を介さずに効率的に決定できる。また、処理を要求する側で稼働するプログラムを、処理を要求される側で稼働するプログラムに合わせて自動的に正しく更新できる。
【００２５】
［第２の実施の形態］
次に、第２の実施の形態として、図１の情報処理システムの例としてストレージシステムを適用した場合について説明する。
【００２６】
図２は、第２の実施の形態のストレージシステムを示す図である。図２に示すストレージシステムは、サーバ装置１００ａ，１００ｂ、ストレージ装置２００ａ，２００ｂ，２００ｃ、およびスイッチ３００を含む。なお、以下の説明では、特にサーバ装置、ストレージ装置を特定せずに説明する場合には、サーバ装置１００、ストレージ装置２００と記載する。
【００２７】
サーバ装置１００とストレージ装置２００とは、スイッチ３００を介して接続される。スイッチ３００は、例えば、ファイバチャネル（ＦＣ：Fibre Channel）である。
サーバ装置１００は、ユーザに対して所定のサービスを提供する装置である。サーバ装置１００は、サービス提供のための処理の実行に伴い、ストレージ装置から提供される記憶領域にアクセスする。この記憶領域は、例えば、論理記憶領域として提供される。
【００２８】
ストレージ装置２００ａは、ＣＭ（Controller Module）２１０ａおよびＤＥ（Device Enclosure）２５０ａを有する。ストレージ装置２００ｂも同様に、ＣＭ２１０ｂおよびＤＥ２５０ｂを有し、ストレージ装置２００ｃも同様に、ＣＭ２１０ｃおよびＤＥ２５０ｃを有する。なお、以下の説明では、特にＣＭ、ＤＥを特定せずに説明する場合には、ＣＭ２１０、ＤＥ２５０と記載する。
【００２９】
ＣＭ２１０は、ストレージ装置２００全体を制御する。ＣＭ２１０は、ＤＥ２５０に搭載された記憶装置の記憶領域を用いて論理記憶領域を作成し、サーバ装置１００からの要求に応じて論理記憶領域へのアクセスを制御する。また、ＣＭ２１０は、サーバ装置１００にパッチファイルをインストールするための情報を格納し、サーバ装置１００からの要求によりパッチファイルの適用の要否の判定をする。パッチファイルとは、プログラムを更新や修正するファイルであり、以下の説明ではパッチと記載する。
【００３０】
ＤＥ２５０は、複数の記憶装置を搭載する。ＤＥ２５０は、記憶装置としてＨＤＤを備えたディスクアレイ装置である。なお、ＤＥ２５０に搭載される記憶装置は、ＳＳＤ（Solid State Drive）などの他の種類の記憶装置であってもよい。
【００３１】
なお、ストレージシステムに含まれるサーバ装置１００の台数は、２台に限定されるものではない。また、ストレージシステムに含まれるストレージ装置２００の台数も、３台に限定されるものではない。
【００３２】
次に、サーバ装置のハードウェアについて、説明する。
図３は、サーバ装置のハードウェア例を示す図である。サーバ装置１００は、プロセッサ１０１、ＲＡＭ１０２、ＨＤＤ１０３、グラフィック処理装置１０４、入力インタフェース１０５、読み取り装置１０６および通信インタフェース１０７を有する。各ユニットがサーバ装置１００のバス１０８に接続されている。
【００３３】
プロセッサ１０１は、サーバ装置１００全体を制御する。プロセッサ１０１は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field Programmable Gate Array）などである。また、プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００３４】
ＲＡＭ１０２は、サーバ装置１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００３５】
ＨＤＤ１０３は、サーバ装置１００の補助記憶装置である。ＨＤＤ１０３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。サーバ装置１００は、フラッシュメモリやＳＳＤなどの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００３６】
グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、サーバ装置１００に接続された表示装置１０４ａに画像を出力する。表示装置１０４ａとしては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、有機ＥＬ（Electro-Luminescence）ディスプレイなど各種のディスプレイを用いることができる。
【００３７】
入力インタフェース１０５は、サーバ装置１００に接続された入力装置１０５ａから入力信号を取得し、プロセッサ１０１に出力する。入力装置１０５ａとしては、マウスやタッチパネルなどのポインティングデバイスやキーボードなどの各種の入力デバイスを用いることができる。サーバ装置１００には、複数の種類の入力装置が接続されてもよい。
【００３８】
読み取り装置１０６は、可搬型記録媒体１０６ａに格納されたプログラムやデータを読み取る装置である。読み取り装置１０６は、例えば、プロセッサ１０１からの命令に従って、可搬型記録媒体１０６ａから読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００３９】
通信インタフェース１０７は、ネットワーク１０７ａを介してスイッチ３００やストレージ装置２００と通信するためのインタフェースである。
次に、ＣＭ２１０のハードウェアについて、説明する。
【００４０】
図４は、ＣＭのハードウェア例を示す図である。ＣＭ２１０は、プロセッサ２１１、ＲＡＭ２１２、ＳＳＤ２１３、ＣＡ（Channel Adapter）２１４およびＤＩ（Device Interface）２１５を有する。
【００４１】
プロセッサ２１１は、ＣＭ２１０の情報処理を制御する。プロセッサ２１１は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。
ＲＡＭ２１２は、ＣＭ２１０の主記憶装置である。ＲＡＭ２１２は、プロセッサ２１１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ２１２は、プロセッサ２１１による処理に用いる各種データを記憶する。
【００４２】
ＳＳＤ２１３は、ＣＭ２１０の補助記憶装置である。ＳＳＤ２１３は、不揮発性の半導体メモリである。ＳＳＤ２１３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ＣＭ２１０は、補助記憶装置として、ＳＳＤ２１３の代わりにＨＤＤを備えていてもよい。
【００４３】
ＣＡ２１４は、サーバ装置１００と通信するためのインタフェースである。ＤＩ２１５は、ＤＥ２５０と通信するためのインタフェースである。
ところで、上記のストレージシステムには、様々な機種のストレージ装置２００が接続される可能性がある。ストレージ装置２００の機種ごとに、実行されるファームウェアプログラムの種別が異なる。また、同じ機種のストレージ装置２００でも、版数の異なるファームウェアプログラムが実行される可能性がある。さらに、ストレージシステムには、ストレージ装置２００が交換される場合や、増設される場合がある。交換や増設により、それまでとは異なる種別や版数のファームウェアがインストールされたストレージ装置２００が接続されることもあり得る。
【００４４】
一方、ストレージシステムに含まれるサーバ装置１００でも、様々な種別や版数のＯＳプログラムが実行される可能性がある。また、ＯＳベンダからは、ＯＳプログラムに対応するパッチが提供されることがある。
【００４５】
ＯＳベンダから提供されるパッチの中には、サーバ装置１００とストレージ装置２００との接続を検証した結果、サーバ装置１００への適用が必須となるものが存在する。適用が必須のパッチをサーバ装置１００に適用しないと、サーバ装置１００とストレージ装置２００との間で正しい処理が実行されない、あるいは動作が不安定になるといった問題が発生する可能性がある。
【００４６】
サーバ装置１００への適用が必須となるパッチは、ストレージ装置２００で実行されるファームウェアプログラムの種別や版数によって異なる。また、そのようなパッチは、サーバ装置１００にインストールされたＯＳプログラムの種別や版数によっても異なる。従って、サーバ装置１００に適用すべきパッチは、サーバ装置１００側のＯＳプログラムの種別や版数と、ストレージ装置２００側のファームウェアプログラムの種別や版数との組み合わせによって異なることになる。
【００４７】
さらに、本実施の形態のように複数のストレージ装置２００が接続される場合には、サーバ装置１００に適用すべきパッチがストレージ装置２００ごとに異なる場合もある。このため、ストレージ装置２００ごとに適用が必須のパッチ間での整合性を考慮する必要もある。
【００４８】
管理者が上記のような事情を考慮してサーバ装置１００に適用すべきパッチを判別する作業は、非常に煩雑であるため、作業に長い時間がかかり、また間違いも発生しやすい。そこで、本実施の形態では、各サーバ装置１００に適用すべきパッチを自動的に判断する次のような機能が提供される。
【００４９】
サーバ装置１００は、ストレージ装置２００ａ〜２００ｃから、インストールされているファームウェアの種別と版数の情報を収集する。サーバ装置１００は、収集した情報と、自装置にインストールされたＯＳプログラムの種別と版数の情報とを、ストレージ装置２００ａ〜２００ｃの中から選択されたマスタストレージに通知する。マスタストレージ内のＣＭ２１０は、通知された情報と、後述するパッチＤＢ（データベース）とに基づいて、サーバ装置１００に適用すべきパッチを選択し、選択したパッチをサーバ装置１００に送信してインストールさせる。
【００５０】
次に、サーバ装置１００が有する機能について説明する。
図５は、第２の実施の形態のサーバ装置の機能例を示す図である。サーバ装置１００は、ＯＳ１１０、記憶部１１１、ドライバ１１２を有する。なお、ＯＳ１１０は図１の処理要求部１１の一例であり、ドライバ１１２は図１の通知部１２の一例である。
【００５１】
ＯＳ１１０の処理は、プロセッサ１０１がＯＳプログラム１１１ａを実行することで実現される。ＯＳ１１０上では、ユーザにサービスを提供するためのアプリケーション（図示せず）が動作する。また、ＯＳ１１０は、ストレージ装置２００から提供される論理記憶領域を認識する。ＯＳ１１０は、アプリケーションからの要求に応じて、ストレージ装置２００に対し、論理記憶領域へのデータの書き込みや論理記憶領域からのデータの読み出しの命令を送信する。
【００５２】
ドライバ１１２の処理は、プロセッサ１０１がドライバプログラム（図示せず）を実行することで実現される。ドライバ１１２は、情報収集部１１２ａ、情報通知部１１２ｂおよびパッチ適用部１１２ｃを有する。
【００５３】
情報収集部１１２ａは、ＣＭ２１０ａ〜２１０ｃからストレージ装置２００ａ〜２００ｃの機種、ストレージ装置２００ａ〜２００ｃで実行しているファームウェア版数などの情報を収集する。また、情報収集部１１２ａは、サーバ装置１００で実行されるＯＳプログラム１１１ａの種別や版数などの情報を収集する。
【００５４】
情報通知部１１２ｂは、ストレージ装置２００ａ〜２００ｃの中からマスタストレージを選択し、収集した情報をマスタストレージのＣＭ２１０に送信する。
パッチ適用部１１２ｃは、マスタストレージのＣＭ２１０から受信したパッチをサーバ装置１００にインストールして、ＯＳプログラム１１１ａを更新する。
【００５５】
記憶部１１１は、例えば、ＲＡＭ１０２またはＨＤＤ１０３に確保した記憶領域として実装される。記憶部１１１は、ＯＳプログラム１１１ａ、マスタ情報テーブル１１１ｂ、ストレージ情報テーブル１１１ｃおよびＯＳ情報テーブル１１１ｄを記憶する。
【００５６】
ＯＳプログラム１１１ａは、ＯＳ１１０の処理を実現するプログラムファイルである。
マスタ情報テーブル１１１ｂには、マスタストレージの情報が登録される。マスタストレージとは、サーバ装置１００に対してパッチの適用についての指示をするストレージ装置２００である。
【００５７】
ストレージ情報テーブル１１１ｃには、サーバ装置１００が収集したストレージ装置２００ａ〜２００ｃの機種やファームウェア版数が登録される。
ＯＳ情報テーブル１１１ｄには、ＯＳプログラム１１１ａの種別、版数、適用したパッチの名称および版数が登録される。
【００５８】
次に、ＣＭ２１０が有する機能について説明する。
図６は、第２の実施の形態のＣＭの機能例を示す図である。
ＣＭ２１０は、アクセス制御部２２０、記憶部２２１、情報通知部２２２、情報受信部２２３およびパッチ選択部２２４を有する。なお、アクセス制御部２２０は図１の処理実行部２１の一例であり、記憶部２２１は図１の記憶部２２の一例であり、情報受信部２２３およびパッチ選択部２２４は更新制御部２３の一例である。
【００５９】
アクセス制御部２２０、情報通知部２２２、情報受信部２２３およびパッチ選択部２２４の処理は、プロセッサ２１１がファームウェアプログラム２２１ａを実行することによって実現される。
【００６０】
アクセス制御部２２０は、ＤＥ２５０に搭載された記憶装置の記憶領域を用いて論理記憶領域を作成する。アクセス制御部２２０は、サーバ装置１００から論理記憶領域に対するアクセスの命令を受信し、論理記憶領域に割り当てられたＤＥ２５０内の記憶装置にアクセスすることで、命令に応じたアクセス制御を実行する。
【００６１】
情報通知部２２２は、サーバ装置１００に対しストレージ装置２００が保持する情報や指示を通知する。
情報受信部２２３およびパッチ選択部２２４は、ＣＭ２１０が搭載されたストレージ装置２００がマスタストレージとして選択された場合に動作する。情報受信部２２３は、サーバ装置１００が保持する情報をサーバ装置１００から受信する。パッチ選択部２２４は、パッチＤＢ２２１ｂに基づきサーバ装置１００に適用するパッチを選択し、サーバ装置１００にインストールする。
【００６２】
記憶部２２１は、例えば、ＲＡＭ２１２またはＳＳＤ２１３に確保した記憶領域として実装される。記憶部２２１は、ファームウェアプログラム２２１ａ、パッチＤＢ２２１ｂ、受信情報管理テーブル２２１ｃおよび判定テーブル２２１ｄを記憶する。
【００６３】
ファームウェアプログラム２２１ａは、アクセス制御部２２０、情報通知部２２２、情報受信部２２３およびパッチ選択部２２４の処理を実現するプログラムファイルである。
パッチＤＢ２２１ｂには、ストレージ装置２００とサーバ装置１００との間において動作が確認されたパッチの名称および版数およびパッチのファイルが登録される。例えば、パッチＤＢ２２１ｂには、ストレージシステムに搭載可能な全ての機種のストレージ装置２００のファームウェアに対し、動作が確認されたサーバ装置１００用のＯＳのパッチの名称や版数などが登録される。パッチＤＢ２２１ｂは、管理者によって予め記憶部２２１に格納される情報である。
【００６４】
受信情報管理テーブル２２１ｃには、サーバ装置１００から通知されたサーバ装置１００で稼働するＯＳの種別や版数およびパッチの適用状況とサーバ装置１００に接続されているストレージ装置２００ａ〜２００ｃの機種などが登録される。受信情報管理テーブル２２１ｃは、情報通知部２２２がサーバ装置１００から受信した情報が登録される。
【００６５】
判定テーブル２２１ｄには、パッチＤＢ２２１ｂと受信情報管理テーブル２２１ｃに基づきパッチ選択部２２４がパッチの適用の要否を判定した情報が登録される。
次に、本実施の形態のストレージシステムにおける処理手順について、シーケンス図を用いて説明する。以下の説明では、サーバ装置１００ａにパッチをインストールする場合について記載するが、サーバ装置１００ｂに対するパッチのインストールも同様の手順で実行可能である。
【００６６】
図７は、サーバ装置に対するパッチのインストール処理の例を示すシーケンス図である。
まず、サーバ装置１００ａに対する管理者の起動操作やＯＳ１１０の稼動中にデバイスの認識（例えば、ストレージ装置２００のディスカバリ）を実行した際に、サーバ装置１００ａがストレージ装置２００ａ〜２００ｃから情報を収集する処理を実行する。
【００６７】
［ステップＳ１１］サーバ装置１００ａの情報収集部１１２ａは、ストレージ装置２００ａ〜２００ｃのＣＭ２１０ａ〜２１０ｃからストレージ機種、ファームウェア版数、パッチＤＢ２２１ｂの更新日時を収集する。
【００６８】
情報収集部１１２ａは、収集した情報とマスタ情報テーブル１１１ｂに登録された情報とを比較し、パッチＤＢ２２１ｂの更新日付が新しい方の情報をマスタ情報テーブル１１１ｂに残す。なお、マスタ情報テーブル１１１ｂは初期において空のテーブルである。マスタ情報テーブル１１１ｂが空のテーブルである場合、情報収集部１１２ａは、最初にＣＭ２１０から収集した情報をマスタ情報テーブル１１１ｂに登録する。
【００６９】
また、情報収集部１１２ａは、収集した全てのストレージ機種とファームウェア版数とをストレージ情報テーブル１１１ｃに登録する。
ここで、マスタ情報テーブル１１１ｂについて図８を用いて説明する。図８は、マスタ情報テーブルの例を示す図である。
【００７０】
マスタ情報テーブル１１１ｂは、マスタストレージを決定するために使用されるテーブルである。マスタ情報テーブル１１１ｂは、記憶部１１１に格納される。マスタ情報テーブル１１１ｂは、ストレージ機種、ファームウェア版数、パッチＤＢ更新日付の項目を含む。
【００７１】
ストレージ機種の項目には、ＣＭ２１０が搭載されたストレージ装置２００の機種が登録される。ファームウェア版数の項目には、ＣＭ２１０にインストールされているファームウェアプログラム２２１ａの版数が登録される。パッチＤＢ更新日付には、ＣＭ２１０が保持しているパッチＤＢ２２１ｂの更新日付が登録される。
【００７２】
マスタ情報テーブル１１１ｂには最終的に、各ストレージ装置２００から送信されたストレージ機種、ファームウェア版数およびパッチＤＢ更新日付の組のうち、パッチ更新日付が最新のものが登録される。以下の説明では、ストレージ装置２００ａのＣＭ２１０ａから取得したパッチＤＢ更新日付が最新の情報であったものとする。この場合、マスタ情報テーブル１１１ｂには、図８に示すように、ストレージ機種がＡ、ファームウェア版数がＡ−２、パッチＤＢ更新日付が２０１６／１／２２というＣＭ２１０ａから取得した情報が登録されたものとする。
【００７３】
ここで、ストレージ情報テーブル１１１ｃについて図９を用いて説明する。図９は、ストレージ情報テーブルの例を示す図である。
ストレージ情報テーブル１１１ｃは、記憶部１１１に格納される。ストレージ情報テーブル１１１ｃは、ストレージ機種、ファームウェア版数の項目を含む。ストレージ機種およびファームウェア版数の項目は、マスタ情報テーブル１１１ｂの項目と同様であるが、ストレージ情報テーブル１１１ｃにおいてはサーバ装置１００が認識して情報を取得した全てのストレージ装置２００に関する情報が登録される。
【００７４】
例えば、情報収集部１１２ａは、ＣＭ２１０ａの情報通知部２２２から送信されたストレージ機種Ａおよびストレージファームウェア版数Ａ−２をストレージ情報テーブル１１１ｃに登録する。また、情報収集部１１２ａは、ＣＭ２１０ｂの情報通知部２２２から送信されたストレージ機種Ｂおよびストレージのファームウェア版数Ｂ−１をストレージ情報テーブル１１１ｃに登録する。また、情報収集部１１２ａは、ＣＭ２１０ｃの情報通知部２２２から送信されたストレージ機種Ｃおよびストレージのファームウェア版数Ｃ−２をストレージ情報テーブル１１１ｃに登録する。
【００７５】
再び、サーバ装置に対するパッチのインストール処理のシーケンスの説明に戻る。
［ステップＳ１２］情報収集部１１２ａは、サーバ装置１００ａにインストールされているＯＳプログラム１１１ａについてのＯＳ種別およびＯＳ版数を収集する。情報収集部１１２ａは、収集した情報をＯＳ情報テーブル１１１ｄに登録する。
【００７６】
ここで、ＯＳ情報テーブル１１１ｄについて図１０を用いて説明する。図１０は、ＯＳ情報テーブルの例を示す図である。
ＯＳ情報テーブル１１１ｄは、記憶部１１１に格納される。ＯＳ情報テーブル１１１ｄは、ＯＳ種別、ＯＳ版数、パッチ版数の項目を含む。ＯＳ種別の項目には、サーバ装置１００にインストールされているＯＳプログラム１１１ａの種別が登録される。ＯＳ種別とは、例えば、Ｗｉｎｄｏｗｓ（登録商標）やＵＮＩＸ（登録商標）などである。ＯＳ版数の項目には、ＯＳプログラム１１１ａの版数が登録される。パッチ版数の項目には、ＯＳプログラム１１１ａに適用済みのパッチの版数が登録される。
【００７７】
例えば、ＯＳ情報テーブル１１１ｄには、ＯＳ種別がＯＳ−Ａ、ＯＳ版数がＲ１、パッチ版数がＰａ−２、Ｐｂ−１、Ｐｃ−１という情報が登録される。これは、サーバ装置１００ａのＯＳプログラム１１１ａの種別がＯＳ−Ａであり、ＯＳプログラム１１１ａの版数がＲ１であり、ＯＳプログラム１１１ａに適用されたパッチの版数がＰａ−２、Ｐｂ−１、Ｐｃ−１であることを示す。
【００７８】
再び、サーバ装置に対するパッチのインストール処理のシーケンスの説明に戻る。
［ステップＳ１３］情報通知部１１２ｂは、マスタ情報テーブル１１１ｂに登録されているストレージ装置２００をマスタストレージとして決定する。また、情報通知部１１２ｂは、ストレージ情報テーブル１１１ｃおよびＯＳ情報テーブル１１１ｄの内容をマスタストレージのＣＭ２１０に通知する。
【００７９】
ここで、情報通知部１１２ｂは、マスタ情報テーブル１１１ｂに基づき、ストレージ装置２００ａをマスタストレージとして決定し、情報を通知したものとする。
なお、ステップＳ１１，Ｓ１２，Ｓ１３の情報収集通知処理の詳細については、後で図１４を用いて説明する。
【００８０】
［ステップＳ１４］ＣＭ２１０ａの情報受信部２２３は、サーバ装置１００ａの情報通知部１１２ｂから受信した情報を受信情報管理テーブル２２１ｃに登録する。ＣＭ２１０ａのパッチ選択部２２４は、受信情報管理テーブル２２１ｃとパッチＤＢ２２１ｂとに基づいて判定テーブル２２１ｄを作成し、判定テーブル２２１ｄに基づき、サーバ装置１００ａのＯＳプログラム１１１ａに適用するパッチを判定する。
【００８１】
ここで、パッチＤＢ２２１ｂについて図１１を用いて説明する。図１１は、パッチＤＢの例を示す図である。
パッチＤＢ２２１ｂは、記憶部２２１に格納される。パッチＤＢ２２１ｂは、ＯＳ種別、ＯＳ版数、パッチ版数、パッチファイル、ストレージ機種、ファームウェア版数の項目を含む。
【００８２】
ＯＳ種別、ＯＳ版数、パッチ版数の項目は、ＯＳ情報テーブル１１１ｄと同様の項目であるが、パッチＤＢ２２１ｂにおいてはストレージ装置に対して動作が検証されたＯＳプログラムに関する情報が登録される。パッチファイルの項目は、パッチ版数の項目で特定されるパッチのプログラムファイルが登録される。パッチファイルの項目は、プログラムファイルの実体であってもよいし、プログラムが格納された場所を示す情報であってもよい。
【００８３】
ストレージの機種の項目は、パッチの動作が検証されたストレージ装置２００の機種を示す情報が登録される。ファームウェア版数の項目は、パッチの動作が検証された、ストレージ装置用のファームウェアプログラムの版数が登録される。なお、図１１に示すように、ストレージ機種Ａ，Ｂ，Ｃのそれぞれに対して、ファームウェア版数Ａ−１，Ａ−２、ファームウェア版数Ｂ−１，Ｂ−２、ファームウェア版数Ｃ−１，Ｃ−２が対応付けられている。これは、ファームウェア版数における「Ａ」、「Ｂ」、「Ｃ」が、インストール可能なストレージ機種を識別しているとともに、ファームウェアプログラムの種別を識別していることを示す。
【００８４】
例えば、パッチＤＢ２２１ｂには、ＯＳ種別がＯＳ−Ａ、ＯＳ版数がＲ１、パッチ版数がＰｄ−１、パッチファイルがＦｉｌｅ−Ｐｄ−１という情報が登録される。また、パッチ版数Ｐｄ−１に対応するファームウェア版数Ｃ−１の項目には、適用必須を示す丸印「○」が登録されている。これは、Ｃ−１で特定されるファームウェアプログラムがストレージ装置２００にインストールされている場合、ＯＳ−ＡおよびＲ１で特定されるサーバ用のＯＳプログラムに対してパッチファイルＦｉｌｅ−Ｐｄ−１の適用が必須であることを示す。
【００８５】
また、パッチ版数Ｐｄ−１に対応するファームウェア版数Ａ−１の項目には、適用不可を示すバツ印「×」が登録されている。これは、Ａ−１で特定されるファームウェアプログラムがストレージ装置２００にインストールされている場合、ＯＳ−ＡおよびＲ１で特定されるサーバ用のＯＳプログラムに対してパッチファイルＦｉｌｅ−Ｐｄ−１の適用が不可であることを示す。適用が不可であるパッチファイルを不適パッチと記載する。
【００８６】
なお、ファームウェア版数の項目が空欄である場合、下記の例外を除いて、パッチファイルが適用不可ではなく、必須でもない（すなわち、適用してもしなくてもよい）ことを示す。
【００８７】
パッチ版数の数字のみが異なるパッチは、同じ機能に関する版数の異なるパッチを示す。数字が新しい方が版数の新しいパッチを示す。例えば、パッチ版数Ｐａ−１，Ｐａ−２は、同じ機能に関するパッチであり、パッチ版数Ｐａ−２の方が版数が新しい。また、同じ機能に関するパッチに関しては、版数の古いパッチに適用必須を示す「○」が登録されている場合、版数の新しい方のパッチを適用することも可能であるものとする。逆に、版数の新しいパッチに適用必須を示す「○」が登録されている場合には、版数の古い方のパッチは適用不可であるものとする。
【００８８】
ここで、受信情報管理テーブル２２１ｃについて図１２を用いて説明する。図１２は、受信情報管理テーブルの例を示す図である。
受信情報管理テーブル２２１ｃは、記憶部２２１に格納される。受信情報管理テーブル２２１ｃには、サーバ装置１００から送信されたＯＳ情報テーブル１１１ｄおよびストレージ情報テーブル１１１ｃの内容がそのまま登録される。
【００８９】
ここで、判定テーブル２２１ｄについて図１３を用いて説明する。図１３は、判定テーブルの例を示す図である。
判定テーブル２２１ｄは、記憶部２２１に格納される。判定テーブル２２１ｄは、ＯＳ種別、ＯＳ版数、パッチ版数、サーバの適用状況、ファームウェア版数、適用要否判定の項目を含む。ＯＳ種別およびＯＳ版数の項目は、サーバ装置１００から送信された受信情報管理テーブル２２１ｃの項目と同様であるため説明を省略する。パッチ版数の項目には、受信情報管理テーブル２２１ｃのＯＳ種別およびＯＳ版数に対応するパッチ版数をパッチＤＢ２２１ｂから抽出したものが登録される。
【００９０】
サーバの適用状況の項目には、サーバ装置１００にパッチの適用が済んでいるか否かを示す情報が登録される。具体的には、サーバの適用状況の項目は、受信情報管理テーブル２２１ｃに含まれるパッチ版数に対して適用済であることを示す「済」が登録され、含まれないパッチ版数に対して未適用であることを示す「未」が登録される。
【００９１】
ファームウェア版数の項目には、受信情報管理テーブル２２１ｃに含まれるファームウェア版数が登録される。ファームウェア版数の項目に登録された情報は、ストレージシステムに現在接続されている各ストレージ装置２００にインストールされているファームウェアプログラムの版数を示す。
【００９２】
適用要否判定の項目には、パッチ版数で特定されるパッチについてサーバ装置１００に対する適用の要否を示す情報を登録する。例えば、適用要否判定の項目には、パッチ版数で示されるパッチについてサーバ装置１００に適用を要する場合に「要」が登録され、適用を要しない場合に「否」が登録される。
【００９３】
再び、サーバ装置に対するパッチのインストール処理のシーケンスの説明に戻る。
なお、ステップＳ１４の判定テーブル２２１ｄの作成処理の詳細については、後で図１５および図１６を用いて説明する。また、ステップＳ１４の判定テーブル２２１ｄに基づくパッチの適用要否判定処理については、後で図１７および図１８を用いて説明する。
【００９４】
［ステップＳ１５］パッチ選択部２２４は、判定テーブル２２１ｄで判定した結果に基づき、適用が必要なパッチファイルをサーバ装置１００に送信し、送信したパッチファイルによるＯＳプログラム１１１ａの更新を指示する。
【００９５】
図１３に示した判定テーブル２２１ｄの登録情報に基づく場合、パッチ選択部２２４は、サーバ装置１００ａに対してパッチ版数Ｐｂ−２を適用する必要があると判定する。パッチ選択部２２４は、適用するパッチファイルＦｉｌｅ−Ｐｂ−２をパッチＤＢ２２１ｂから取得し、サーバ装置１００ａに送信する。
【００９６】
なお、ステップＳ１５の処理の詳細については、後で図１７を用いて説明する。
［ステップＳ１６］サーバ装置１００ａのパッチ適用部１１２ｃは、ＣＭ２１０ａから送信されたパッチファイルをサーバ装置１００ａにインストールして、ＯＳプログラム１１１ａを更新する。
【００９７】
なお、ステップＳ１６の処理の詳細については、後で図１９を用いて説明する。
次に、サーバ装置１００における情報収集通知処理について説明する。
図１４は、情報収集通知処理の例を示すフローチャートである。図１４の処理は、サーバ装置１００に対する管理者の入力操作に応じて、サーバ装置１００がストレージ装置２００を認識することで開始される。以下、図１４に示す処理をステップ番号に沿って説明する。
【００９８】
［ステップＳ２１］サーバ装置１００の情報収集部１１２ａは、ストレージ装置２００を１台認識する。
［ステップＳ２２］情報収集部１１２ａは、認識したストレージ装置２００のＣＭ２１０からストレージ機種、ファームウェア版数を取得する。認識されたストレージ装置２００のＣＭ２１０では、情報通知部２２２によってストレージ機種とファームウェア版数とが送信される。
【００９９】
［ステップＳ２３］情報収集部１１２ａは、ステップＳ２２で取得した情報をストレージ情報テーブル１１１ｃに登録する。
［ステップＳ２４］情報収集部１１２ａは、認識したストレージ装置２００が保持するパッチＤＢ２２１ｂの更新日付を認識したストレージ装置２００から取得する。認識されたストレージ装置２００のＣＭ２１０では、情報通知部２２２によってパッチＤＢ２２１ｂの更新日付が送信される。
【０１００】
［ステップＳ２５］情報収集部１１２ａは、マスタ情報テーブル１１１ｂに現在登録されているパッチＤＢ更新日付とステップＳ２４で取得した更新日付とを比較する。情報収集部１１２ａは、取得した更新日付がマスタ情報テーブル１１１ｂのパッチＤＢ更新日付よりも新しい場合、または、マスタ情報テーブル１１１ｂに情報が未登録の場合、処理をステップＳ２６に進める。情報収集部１１２ａは、取得した更新日付がマスタ情報テーブル１１１ｂのパッチＤＢ更新日付よりも古い場合、処理をステップＳ２７に進める。
【０１０１】
［ステップＳ２６］情報収集部１１２ａは、マスタ情報テーブル１１１ｂの情報を更新する。具体的には、情報収集部１１２ａは、ステップＳ２２で取得したストレージ機種およびファームウェア版数と、ステップＳ２４で取得した更新日付とを、マスタ情報テーブル１１１ｂに上書きして登録する。
【０１０２】
［ステップＳ２７］情報収集部１１２ａは、未だ情報を取得していない他のストレージ装置２００の認識処理を実行し、他のストレージ装置２００を認識できたか否かを判定する。
【０１０３】
情報収集部１１２ａは、他のストレージ装置２００を認識できた場合、処理をステップＳ２２に進める。この場合、認識された他のストレージ装置２００についてステップＳ２２以降の処理が実行される。一方、情報収集部１１２ａは、他のストレージ装置２００を認識できなかった場合、処理をステップＳ２８に進める。
【０１０４】
［ステップＳ２８］情報収集部１１２ａは、サーバ装置１００にインストールされているＯＳプログラム１１１ａについてのＯＳ種別およびＯＳ版数と、このＯＳプログラム１１１ａに適用済みのパッチについてのパッチ版数とを取得する。情報収集部１１２ａは、取得した情報をＯＳ情報テーブル１１１ｄに登録する。
【０１０５】
［ステップＳ２９］情報通知部１１２ｂは、マスタ情報テーブル１１１ｂに登録されたストレージ装置２００をマスタストレージとして選択し、マスタストレージにストレージ情報テーブル１１１ｃとＯＳ情報テーブル１１１ｄを送信する。この処理では結果的に、更新日付が最新のパッチＤＢ２２１ｂを保持しているストレージ装置２００が、マスタストレージとして選択される。
【０１０６】
次に、マスタストレージとして選択されたストレージ装置２００における判定テーブル作成処理について、図１５および図１６を用いて説明する。
図１５は、判定テーブル作成処理の例を示すフローチャート（その１）である。図１６は、判定テーブル作成処理の例を示すフローチャート（その２）である。図１５および図１６の処理は、ストレージ装置２００がストレージ情報テーブル１１１ｃとＯＳ情報テーブル１１１ｄをサーバ装置１００から受信することで開始される。以下、図１５および図１６に示す処理をステップ番号に沿って説明する。
【０１０７】
なお、判定テーブル作成処理は、判定テーブル２２１ｄに含まれるＯＳ種別、ＯＳ版数、パッチ版数、サーバの適用状況、ストレージのファームウェア版数が登録される処理である。判定テーブル２２１ｄに含まれる適用要否判定が登録される処理については、後で図１７および図１８を用いて説明する。
【０１０８】
［ステップＳ４１］ストレージ装置２００の情報受信部２２３は、ストレージ情報テーブル１１１ｃとＯＳ情報テーブル１１１ｄをサーバ装置１００から受信する。
［ステップＳ４２］ストレージ装置２００の情報受信部２２３は、ストレージ情報テーブル１１１ｃとＯＳ情報テーブル１１１ｄの内容を受信情報管理テーブル２２１ｃに登録する。
【０１０９】
［ステップＳ４３］ストレージ装置２００のパッチ選択部２２４は、受信情報管理テーブル２２１ｃからファームウェア版数を取得する。
［ステップＳ４４］パッチ選択部２２４は、判定テーブル２２１ｄのファームウェア版数の項目として、ステップＳ４３で取得した各ファームウェア版数を示す項目を登録する。
【０１１０】
［ステップＳ４５］パッチ選択部２２４は、受信情報管理テーブル２２１ｃからＯＳ種別およびＯＳ版数を取得する。
［ステップＳ４６］パッチ選択部２２４は、記憶部２２１からパッチＤＢ２２１ｂを読み出し、ステップＳ４５で取得したＯＳ種別およびＯＳ版数に該当する情報がパッチＤＢ２２１ｂに存在するか否かを判定する。
【０１１１】
パッチ選択部２２４は、パッチＤＢ２２１ｂに取得したＯＳ種別およびＯＳ版数が存在しない場合、処理をステップＳ４７に進める。一方、パッチ選択部２２４は、パッチＤＢ２２１ｂに取得したＯＳ種別およびＯＳ版数が存在する場合、処理をステップＳ４８に進める。
【０１１２】
［ステップＳ４７］パッチ選択部２２４は、サポート対象外のＯＳ種別およびＯＳ版数である旨をサーバ装置１００に通知し、判定テーブル作成処理を終了する。
［ステップＳ４８］パッチ選択部２２４は、該当するＯＳ種別およびＯＳ版数に対応付けられた先頭のパッチ版数をパッチＤＢ２２１ｂから取得する。
【０１１３】
例えば、該当するＯＳ種別がＯＳ−Ａ、該当するＯＳ版数がＲ１であるとする。この場合、パッチ選択部２２４は、パッチＤＢ２２１ｂにおいてＯＳ種別ＯＳ−Ａ、ＯＳ版数Ｒ１に含まれるパッチ版数Ｐａ−２からＰｄ−１（図１１参照）のうち、先頭のパッチ版数Ｐａ−２を取得する。
【０１１４】
［ステップＳ４９］パッチ選択部２２４は、受信情報管理テーブル２２１ｃにステップＳ４８でパッチＤＢ２２１ｂから取得したパッチ版数が存在するか否かを判定する。パッチ選択部２２４は、受信情報管理テーブル２２１ｃに該当するパッチ版数が存在しない場合、処理をステップＳ５０に進める。一方、パッチ選択部２２４は、受信情報管理テーブル２２１ｃに該当するパッチ版数が存在する場合、処理をステップＳ５１に進める。
【０１１５】
［ステップＳ５０］パッチ選択部２２４は、判定テーブル２２１ｄの該当するパッチ版数に対応するサーバの適用状況に「未」を登録する。
［ステップＳ５１］パッチ選択部２２４は、判定テーブル２２１ｄの該当するパッチ版数に対応するサーバの適用状況に「済」を登録する。
【０１１６】
［ステップＳ５２］パッチ選択部２２４は、パッチＤＢ２２１ｂに基づいて、判定テーブル２２１ｄの該当するパッチ版数に対応する各ファームウェア版数の項目に、パッチの適用可否を示す情報を登録する。パッチＤＢ２２１ｂにおいて、該当するパッチ版数と該当するファームウェア版数とに対応付けて適応必須を示す「○」または適用不可を示す「×」が登録されている場合、判定テーブル２２１ｄの該当項目にも同じ情報（「○」または「×」）が登録される。
【０１１７】
［ステップＳ５３］パッチ選択部２２４は、パッチＤＢ２２１ｂにおいて該当するＯＳ種別およびＯＳ版数に対応付けられたパッチ版数の中から、次のパッチ版数を取得する。
パッチ選択部２２４は、該当するＯＳ版数に対応する次のエントリが存在していてそのエントリからパッチ版数を取得できた場合、処理をステップＳ４９に進める。一方、パッチ選択部２２４は、該当するＯＳ版数に対応する最後のエントリまでチェック済みであり、次のエントリのパッチ版数を取得できない場合、判定テーブル作成処理を終了する。
【０１１８】
次に、マスタストレージとして選択されたストレージ装置２００におけるパッチ適用要否判定処理について、図１７および図１８を用いて説明する。
図１７は、パッチ適用要否判定処理の例を示すフローチャート（その１）である。図１８は、パッチ適用要否判定処理の例を示すフローチャート（その２）である。図１７および図１８の処理は、ストレージ装置２００が判定テーブル作成処理を終了したことで開始される。以下、図１７および図１８に示す処理をステップ番号に沿って説明する。
【０１１９】
［ステップＳ６１］ストレージ装置２００のパッチ選択部２２４は、記憶部２２１から判定テーブル２２１ｄを取得する。
［ステップＳ６２］パッチ選択部２２４は、判定対象とするパッチ版数のエントリを取得する。以下の説明では、判定対象とするパッチ版数を対象パッチ版数と記載する。パッチ選択部２２４は、判定テーブル２２１ｄに登録されたパッチ版数のうち先頭のパッチ版数から順に対象パッチ版数として判定対象にする。
【０１２０】
［ステップＳ６３］パッチ選択部２２４は、対象パッチ版数に対応するサーバの適用状況を判定する。パッチ選択部２２４は、対象パッチ版数に対応するサーバの適用状況が「未」である場合、処理をステップＳ６４に進める。パッチ選択部２２４は、対象パッチ版数に対応するサーバの適用状況が「済」である場合、処理をステップＳ６７に進める。
【０１２１】
［ステップＳ６４］パッチ選択部２２４は、対象パッチ版数に対応する、各ファームウェア版数について適用可否を示す情報の中に、適用不可を示す情報「×」が存在するか否かを判定する。パッチ選択部２２４は、適用不可を示す情報「×」が存在する場合、処理をステップＳ６５に進める。パッチ選択部２２４は、適用不可を示す情報「×」が存在しない場合、処理をステップＳ７３に進める。
【０１２２】
［ステップＳ６５］パッチ選択部２２４は、対象パッチ版数に対応する、各ファームウェア版数について適用可否を示す情報の中に、適用必須を示す情報「○」が存在するか否かを判定する。パッチ選択部２２４は、適用必須を示す情報「○」が存在する場合、処理をステップＳ６６に進める。パッチ選択部２２４は、適用必須を示す情報「○」が存在しない場合、処理をステップＳ６８に進める。
【０１２３】
［ステップＳ６６］パッチ選択部２２４は、サーバ装置１００に接続不可の通知と完了コード「２」を送信し、パッチ適用要否判定処理を終了する。
ここで、ステップＳ６５，Ｓ６６の順に処理が実行されるケースとは、対象パッチ版数について、適用必須であるストレージ装置と適用不可であるストレージ装置とが存在しており、ストレージ装置間でパッチ適用可否の不整合が発生しているケースである。パッチ選択部２２４は、判定テーブル２２１ｄに基づいてこのようなケースを自動的に判別し、動作異常が発生しないようにパッチ適用処理を中断するとともに、完了コード「２」の送信によってサーバ装置１００に警告することができる。
【０１２４】
［ステップＳ６７］パッチ選択部２２４は、対象パッチ版数に対応する、各ファームウェア版数について適用可否を示す情報の中に、適用不可を示す情報「×」が存在するか否かを判定する。パッチ選択部２２４は、適用不可を示す情報「×」が存在する場合、処理をステップＳ６６に進める。パッチ選択部２２４は、適用不可を示す情報「×」が存在しない場合、処理をステップＳ６８に進める。
【０１２５】
ここで、ステップＳ６７，Ｓ６６の順に処理が実行されるケースとは、少なくとも１つのストレージ装置について適用不可であるパッチが、サーバ装置１００にすでに適用されてしまっているケースである。パッチ選択部２２４は、判定テーブル２２１ｄに基づいてこのようなケースを自動的に判別し、動作異常が発生しないようにパッチ適用処理を中断するとともに、完了コード「２」の送信によってサーバ装置１００に警告することができる。
【０１２６】
［ステップＳ６８］パッチ選択部２２４は、対象パッチ版数に対応する適用要否判定の項目に「否」を登録する。
［ステップＳ６９］パッチ選択部２２４は、判定テーブル２２１ｄにおいて対象パッチ版数の次のパッチ版数が存在するか否かを判定する。パッチ選択部２２４は、次のパッチ版数が存在する場合、処理をステップＳ６２に進める。パッチ選択部２２４は、次のパッチ版数が存在しない場合、処理をステップＳ７０に進める。後者の場合、判定テーブル２２１ｄ内の全てのパッチ版数に対応する適用要否判定の項目に、「要」または「否」が登録されている状態となる。
【０１２７】
［ステップＳ７０］パッチ選択部２２４は、判定テーブル２２１ｄの適用要否判定に「要」が存在するか否かを判定する。パッチ選択部２２４は、判定テーブル２２１ｄの適用要否判定に「要」が存在しない場合、処理をステップＳ７１に進める。パッチ選択部２２４は、判定テーブル２２１ｄの適用要否判定に「要」が存在する場合、処理をステップＳ７２に進める。
【０１２８】
［ステップＳ７１］パッチ選択部２２４は、サーバ装置１００に適用すべきパッチがないことを示す完了コード「０」を送信し、パッチ適用要否判定処理を終了する。
［ステップＳ７２］パッチ選択部２２４は、サーバ装置１００に、パッチの適用を指示する完了コード「４」と適用すべきパッチファイルとを送信し、パッチ適用要否判定処理を終了する。この処理では、パッチ選択部２２４は、判定テーブル２２１ｄにおいて適用要否判定「要」が付されたパッチ版数で特定されるパッチファイルをパッチＤＢ２２１ｂから取得し、サーバ装置１００に送信する。
【０１２９】
［ステップＳ７３］パッチ選択部２２４は、対象パッチ版数よりも新しい版数のパッチ版数についてサーバの適用状況を判定する。対象パッチ版数より新しい版数のパッチ版数とは、対象パッチ版数が示すパッチと同じ機能に関するパッチのうち、より版数の新しいパッチのパッチ版数である。これは、パッチ版数の数字のみが対象パッチ版数より新しいものを指す。例えば、対象パッチ版数がＰａ−１の場合、パッチ版数Ｐａ−２がパッチ版数Ｐａ−１より新しい版数に該当する。
【０１３０】
パッチ選択部２２４は、このようなパッチ版数が判定テーブル２２１ｄに存在しない場合は、無条件に処理をステップＳ７４に進める。一方、パッチ選択部２２４は、このようなパッチ版数が判定テーブル２２１ｄに存在する場合、そのパッチ版数についてのサーバの適用状況に応じて次のような処理を実行する。パッチ選択部２２４は、サーバの適用状況が「済」である場合、言い換えると、対象パッチ版数よりも新しい版数のパッチがサーバ装置１００に適用されている場合、処理をステップＳ６８に進める。パッチ選択部２２４は、サーバの適用状況が「未」である場合、言い換えると、対象パッチ版数よりも新しい版数のパッチがサーバ装置１００に適用されていない場合、処理をステップＳ７４に進める。
【０１３１】
［ステップＳ７４］パッチ選択部２２４は、対象パッチ版数よりも新しい版数のパッチ版数について適用要否判定が「要」であるか「否」であるかを判定する。パッチ選択部２２４は、適用要否判定が「要」である場合、処理をステップＳ６８に進める。このケースでは、対象パッチ版数についての適用要否判定がステップＳ６８で「否」と登録されるが、これは、新しい版数のパッチ版数を対象パッチ版数としたときの処理であらためて適用要否判定が行われるからである。一方、パッチ選択部２２４は、適用要否判定が「否」である場合、処理をステップＳ７５に進める。なお、パッチ選択部２２４は、新しい版数のパッチ版数が判定テーブル２２１ｄに存在しない場合にも、処理をステップＳ７５に進める。
【０１３２】
［ステップＳ７５］パッチ選択部２２４は、対象パッチ版数に対応する、各ファームウェア版数について適用可否を示す情報の中に、適用必須を示す情報「○」が存在するか否かを判定する。パッチ選択部２２４は、適用必須を示す情報「○」が存在する場合、処理をステップＳ７６に進める。パッチ選択部２２４は、適用必須を示す情報「○」が存在しない場合、処理をステップＳ６８に進める。
【０１３３】
［ステップＳ７６］パッチ選択部２２４は、対象パッチ版数に対応する適用要否判定の項目に「要」を登録し、処理をステップＳ６９に進める。
以上の図１７、図１８の処理によれば、サーバ装置１００にインストールされたＯＳプログラム１１１ａの種別および版数と、ストレージ装置２００ａ〜２００ｃにインストールされたファームウェアプログラム２２１ａの種別および版数との組み合わせに基づき、サーバ装置１００に適用すべきパッチと適用してはいけないパッチとが判定される。そして、適用すべきパッチがサーバ装置１００に適用されていない場合、完了コード「４」と適用すべきパッチファイルとがサーバ装置１００に送信される。また、適用すべきパッチが特に存在しない場合や、適用すべきパッチがサーバ装置１００にすでに適用済みの場合には、完了コード「０」がサーバ装置１００に送信され、適用すべきパッチがないことが通知される。また、適用してはいけないパッチがある場合や、ストレージ装置間で適用すべきパッチと適用してはいけないパッチとの不整合がある場合には、パッチ適用処理が中断されるとともに、完了コード「２」の送信によってサーバ装置１００に警告が発せられる。
【０１３４】
このように、適用が必要なパッチが自動的に判定されてサーバ装置１００への適用が指示されることで、人手を介さずに、サーバ装置１００に対して必要なパッチを正確に適用させることができる。また、動作異常を防止するための措置が自動的に実行されることにより、ストレージシステムの運用中の異常の発生を未然に防止することができる。
【０１３５】
次に、サーバ装置１００におけるパッチインストール判定処理について説明する。
図１９は、パッチインストール判定処理の例を示すフローチャートである。図１９の処理は、サーバ装置１００がマスタストレージとして選択したストレージ装置２００からパッチ適用要否判定と完了コードを受信したことで開始される。以下、図１９に示す処理をステップ番号に沿って説明する。
【０１３６】
［ステップＳ８１］サーバ装置１００のパッチ適用部１１２ｃは、ストレージ装置２００から完了コードを受信する。また、パッチ適用部１１２ｃは、パッチ完了コードの内容によってはパッチファイルも受信する。
【０１３７】
［ステップＳ８２］パッチ適用部１１２ｃは、完了コードを判定する。パッチ適用部１１２ｃは、完了コードが「０」である場合、パッチインストール判定処理を終了する。なお、パッチ適用部１１２ｃは、完了コードが「０」である場合、適用すべきパッチがないことを示す情報を表示装置１０４ａに表示してもよい。パッチ適用部１１２ｃは、完了コードが「２」である場合、処理をステップＳ８３に進める。パッチ適用部１１２ｃは、完了コードが「４」である場合、処理をステップＳ８４に進める。
【０１３８】
［ステップＳ８３］パッチ適用部１１２ｃは、サーバ装置１００の現状のＯＳ環境ではストレージ装置２００との接続が不可である旨のメッセージを表示装置１０４ａに表示し、パッチインストール判定処理を終了する。
【０１３９】
なお、パッチ適用部１１２ｃは、接続が不可である旨のメッセージとともに、ＯＳ種別、ＯＳ版数、パッチ版数、ストレージのファームウェア版数などを表示装置１０４ａに表示してもよい。
【０１４０】
［ステップＳ８４］パッチ適用部１１２ｃは、ストレージ装置から受信したパッチファイルをサーバ装置１００にインストールしてＯＳプログラム１１１ａを更新し、パッチインストール判定処理を終了する。
【０１４１】
なお、パッチ適用部１１２ｃは、ストレージ装置から受信したパッチファイルのファイル名およびパッチファイルをインストールする旨のメッセージを表示装置１０４ａに表示してもよい。
【０１４２】
このように、ストレージシステムにおいて、サーバ装置で稼働するプログラムとストレージ装置で稼働するプログラムとの組み合わせに応じて、サーバ装置に対して適用するパッチを決定できる。
【０１４３】
また、上記の各実施の形態に示した装置（例えば、情報処理装置１０，２０、サーバ装置１００ａ，１００ｂ、ストレージ装置２００ａ〜２００ｃ）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１４４】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１４５】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【０１４６】
以上の第１〜第２の実施の形態を含む実施形態に関し、更に以下の付記を開示する。
（付記１）  第１の情報処理装置と、前記第１の情報処理装置からの要求に応じて処理を実行する第２の情報処理装置とを有する情報処理システムであって、
前記第１の情報処理装置は、
前記第１の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報を、前記第２の情報処理装置に通知する通知部、
を有し、
前記第２の情報処理装置は、
前記第１の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、前記第２の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、前記第１の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を記憶する記憶部と、
前記プログラム対応情報に登録されたパッチの中から、通知された前記第１の識別情報と、前記第２の情報処理装置にインストールされている第２のプログラムを識別する第２の識別情報との組み合わせに対応する特定パッチを特定し、前記特定パッチを前記第１の情報処理装置に送信して前記第１のプログラムを更新させる更新制御部と、
を有する情報処理システム。
【０１４７】
（付記２）  前記通知部は、前記第１のプログラムに適用済みのパッチを識別するパッチ識別情報を前記第２の情報処理装置に通知し、
前記更新制御部は、前記パッチ識別情報に基づいて、前記特定パッチの中から前記第１のプログラムに未適用の未適用パッチを判別し、前記未適用パッチを前記第１の情報処理装置に送信して前記第１のプログラムを更新させる、
付記１記載の情報処理システム。
【０１４８】
（付記３）  前記第２の情報処理装置は、前記第１の情報処理装置からの要求に応じて記憶装置に対するアクセスを制御するストレージ制御装置である、
付記１または２記載の情報処理システム。
【０１４９】
（付記４）  第１の情報処理装置と、複数の第２の情報処理装置とを有する情報処理システムであって、
前記第１の情報処理装置は、
前記複数の第２の情報処理装置のそれぞれにインストールされている第２のプログラムをそれぞれ識別する複数の第２の識別情報を、前記複数の第２の情報処理装置から収集する収集部と、
前記第１の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報と、前記複数の第２の識別情報とを、前記複数の第２の情報処理装置の中から選択された第３の情報処理装置に通知する通知部と、
を有し、
前記複数の第２の情報処理装置の少なくとも１つは、
前記第１の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、前記複数の第２の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、前記第１の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を記憶する記憶部と、
前記プログラム対応情報に登録されたパッチの中から、前記第１の識別情報と前記複数の第２の識別情報のそれぞれとの組み合わせに対応する特定パッチを特定し、前記特定パッチを前記第１の情報処理装置に送信して前記第１のプログラムを更新させる更新制御部と、
を有する情報処理システム。
【０１５０】
（付記５）  前記通知部は、前記第１のプログラムに適用済みのパッチを識別するパッチ識別情報を前記第３の情報処理装置に通知し、
前記更新制御部は、前記パッチ識別情報に基づいて、前記特定パッチの中から前記第１のプログラムに未適用の未適用パッチを判別し、前記未適用パッチを前記第１の情報処理装置に送信して前記第１のプログラムを更新させる、
付記４記載の情報処理システム。
【０１５１】
（付記６）  前記プログラム対応情報には、前記第１の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、前記複数の第２の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせの少なくとも１つに対して、インストールが適用不可である不適パッチが登録され、
前記更新制御部は、前記プログラム対応情報において、前記第１の識別情報と前記複数の第２の識別情報のそれぞれとの組み合わせの少なくとも１つに対して前記不適パッチが登録されており、前記パッチ識別情報が示すパッチの中に前記不適パッチが含まれている場合には、前記第１のプログラムの更新制御を停止して警告情報を出力する、
付記５記載の情報処理システム。
【０１５２】
（付記７）  前記更新制御部は、前記プログラム対応情報において、前記第１の識別情報と前記複数の第２の識別情報のそれぞれとの組み合わせに対して、前記特定パッチと前記不適パッチの両方が登録されている場合、前記第１のプログラムの更新制御を停止して警告情報を出力する、
付記６記載の情報処理システム。
【０１５３】
（付記８）  前記記憶部および前記更新制御部は、前記複数の第２の情報処理装置のそれぞれに備えられ、
前記収集部は、前記複数の第２の情報処理装置のそれぞれから、記憶されている前記プログラム対応情報の更新日を収集し、
前記通知部は、前記複数の第２の情報処理装置のうち、収集された前記更新日が最も新しい情報処理装置を前記第３の情報処理装置として選択する、
付記４乃至７のいずれか１項に記載の情報処理システム。
【０１５４】
（付記９）  前記第１の識別情報、前記複数の第２の識別情報のそれぞれ、および、前記プログラム対応情報に登録された識別情報のそれぞれは、プログラムの種別および版数を識別する情報である、
付記４乃至８のいずれか１項に記載の情報処理システム。
【０１５５】
（付記１０）  前記複数の第２の情報処理装置は、前記第１の情報処理装置からの要求に応じて処理を実行する装置である、
付記４乃至９のいずれか１項に記載の情報処理システム。
【０１５６】
（付記１１）  前記複数の第２の情報処理装置は、前記第１の情報処理装置からの要求に応じて記憶装置に対するアクセスを制御するストレージ制御装置である、
付記４乃至９のいずれか１項に記載の情報処理システム。
【０１５７】
（付記１２）  他の情報処理装置からの要求に応じて処理を実行する情報処理装置において、
前記他の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、前記情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、前記他の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を記憶する記憶部と、
前記他の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報を前記他の情報処理装置から受信し、前記プログラム対応情報に登録されたパッチの中から、受信した前記第１の識別情報と、前記情報処理装置にインストールされている第２のプログラムを識別する第２の識別情報との組み合わせに対応する特定パッチを特定し、前記特定パッチを前記他の情報処理装置に送信して前記第１のプログラムを更新させる更新制御部と、
を有する情報処理装置。
【０１５８】
（付記１３）  第１の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、複数の第２の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、前記第１の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を記憶する記憶部と、
前記第１の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報と、前記複数の第２の情報処理装置のそれぞれにインストールされている第２のプログラムをそれぞれ識別する複数の第２の識別情報とを、前記第１の情報処理装置から受信し、前記プログラム対応情報に登録されたパッチの中から、前記第１の識別情報と前記複数の第２の識別情報のそれぞれとの組み合わせに対応する特定パッチを特定し、前記特定パッチを前記第１の情報処理装置に送信して前記第１のプログラムを更新させる更新制御部と、
を有する更新制御装置。
【０１５９】
（付記１４）  他の情報処理装置からの要求に応じて処理を実行するコンピュータに、
前記他の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報を前記他の情報処理装置から受信し、
前記他の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、前記情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、前記他の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を参照して、前記プログラム対応情報に登録されたパッチの中から、受信した前記第１の識別情報と、前記情報処理装置にインストールされている第２のプログラムを識別する第２の識別情報との組み合わせに対応する特定パッチを特定し、
前記特定パッチを前記他の情報処理装置に送信して前記第１のプログラムを更新させる、
処理を実行させる更新制御プログラム。
【０１６０】
（付記１５）  コンピュータに、
第１の情報処理装置にインストールされている第１のプログラムを識別する第１の識別情報と、複数の第２の情報処理装置のそれぞれにインストールされている第２のプログラムをそれぞれ識別する複数の第２の識別情報とを、前記第１の情報処理装置から受信し、
前記第１の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報と、前記複数の第２の情報処理装置用の複数のプログラムをそれぞれ識別する識別情報との組み合わせごとに、前記第１の情報処理装置にインストールすべきパッチが登録されたプログラム対応情報を参照して、前記プログラム対応情報に登録されたパッチの中から、前記第１の識別情報と前記複数の第２の識別情報のそれぞれとの組み合わせに対応する特定パッチを特定し、
前記特定パッチを前記第１の情報処理装置に送信して前記第１のプログラムを更新させる、
処理を実行させる更新制御プログラム。
【符号の説明】
【０１６１】
１０，２０  情報処理装置
１１  処理要求部
１１ａ  第１のプログラム
１２  通知部
２１  処理実行部
２１ａ  第２のプログラム
２２  記憶部
２２ａ  プログラム対応情報
２３  更新制御部
Ｐ１，Ｐ２  パッチ
Ｘ１，Ｘ２，Ｙ１，Ｙ２  識別情報
【図１】
2018018273.tif 000003
【図２】
2018018273.tif 000004
【図３】
2018018273.tif 000005
【図４】
2018018273.tif 000006
【図５】
2018018273.tif 000007
【図６】
2018018273.tif 000008
【図７】
2018018273.tif 000009
【図８】
2018018273.tif 000010
【図９】
2018018273.tif 000011
【図１０】
2018018273.tif 000012
【図１１】
2018018273.tif 000013
【図１２】
2018018273.tif 000014
【図１３】
2018018273.tif 000015
【図１４】
2018018273.tif 000016
【図１５】
2018018273.tif 000017
【図１６】
2018018273.tif 000018
【図１７】
2018018273.tif 000019
【図１８】
2018018273.tif 000020
【図１９】
2018018273.tif 000021