(57)【要約】      （修正有）【課題】環境ファームウェア／パッチデプロイシステムを動的に変更するためにスケーラブルで適応可能な方法及び装置を提供する。【解決手段】情報システムでは、管理サーバ１２００は、ファームウェアを配布するためのストレージシステム１４００の記憶領域を指定するとともに、前記記憶領域におけるファームウェアへの許容アクセスのためのアクセス制御を設定するアクセス制御テーブルを作成する。複数のサーバ１３００は、ファームウェアをダウンロードする許可を求めてアクセス制御テーブルをチェックすることによって、前記記憶領域からファームウェアをダウンロードして適用し、ファームウェアのダウンロード元である記憶領域に、ダウンロードされたファームウェアを適用した結果を示すステータス情報を書き込む。管理サーバ１２００は、ファームウェアのダウンロード元である記憶領域の各々からステータス情報を取得する。【選択図】図１
2012212423.tif 000002
【特許請求の範囲】
【請求項１】
複数のストレージシステムと、
複数のサーバと、
管理サーバと、
前記ストレージシステム、前記サーバ、及び前記管理サーバに結合されたネットワークと
を備える情報システムであって、
前記管理サーバは、ファームウェアを配布するための前記複数のストレージシステムのうちの１つ以上のストレージシステムにおける１つ以上の記憶領域を指定するとともに、前記複数のストレージシステムのうちの１つ以上のストレージシステムにおける前記１つ以上の記憶領域内の前記ファームウェアへの許容アクセスのためのアクセス制御を設定するアクセス制御テーブルを作成するように構成され、
前記サーバは、前記ファームウェアをダウンロードする許可を求めて前記アクセス制御テーブルをチェックすることによって、前記１つ以上の記憶領域から前記ファームウェアをダウンロードし、前記ファームウェアがダウンロードされた場合に、前記ダウンロードされたファームウェアを適用し、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域に、前記ダウンロードされたファームウェアを適用した結果を示すステータス情報を書き込むように構成され、かつ
前記管理サーバは、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々から前記ステータス情報を取得するように構成される、情報システム。
【請求項２】
前記１つ以上のサーバは、前記ダウンロードされたファームウェアを適用した結果を示すステータス情報を書き込む前に、前記１つ以上のサーバによる前記ダウンロードされたファームウェアの適用の成功又は失敗を示すために、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報の許容更新のためのアクセス制御を設定する前記アクセス制御テーブルをチェックするように構成される、
請求項１に記載の情報システム。
【請求項３】
前記管理サーバは、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報をチェックするとともに、前記ステータス情報が特定の記憶領域からダウンロードされた前記ファームウェアの適用の成功を示す場合、前記特定の記憶領域における前記ファームウェアを削除するように構成される、請求項１に記載の情報システム。
【請求項４】
前記管理サーバは、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報をチェックするとともに、前記ステータス情報が特定の記憶領域からダウンロードされた前記ファームウェアの適用の失敗を示す場合、エラーを通知するように構成される、請求項１に記載の情報システム。
【請求項５】
前記管理サーバは、前記サーバによるファームウェアのダウンロード元となり得る前記ストレージシステム内の任意の記憶領域に各サーバをマップするマッピング管理テーブルを作成するように構成され、かつ
前記サーバは、前記マッピング管理テーブルを使用することによって、任意の新しいファームウェアが前記ストレージシステム内に存在するか否かをチェックするように構成される、請求項１に記載の情報システム。
【請求項６】
前記管理サーバは、前記複数のストレージシステムのうちの１つ以上のターゲットストレージシステムを、前記複数のストレージシステムのうちの１つ以上のソースストレージシステム内の１つ以上の記憶領域にマップする、マッピング管理テーブルを作成するように構成され、ターゲットストレージシステムは、前記マッピング管理テーブルに従ってマップされるように、ソースストレージシステム内の記憶領域からファームウェアをダウンロードすることを許可され、かつ
前記１つ以上のターゲットストレージシステムは、前記ファームウェアをダウンロードする許可を求めて前記アクセス制御テーブルをチェックすることによって、前記１つ以上のソースストレージシステムの前記１つ以上の記憶領域から前記ファームウェアをダウンロードするとともに、前記ファームウェアがダウンロードされた場合に、前記ダウンロードされたファームウェアを適用し、かつ前記ファームウェアのダウンロード元である前記１つ以上の記憶領域に、前記ダウンロードされたファームウェアを適用した結果を示すステータス情報を書き込むように構成される、請求項１に記載の情報システム。
【請求項７】
前記複数のサーバのうちの１つ以上のサーバの各々は、１つ以上の仮想マシンを含み、
前記ファームウェアは、パッチを備え、かつ
前記１つ以上の仮想マシンは、前記パッチをダウンロードする許可を求めて前記アクセス制御テーブルをチェックすることによって、前記１つ以上の記憶領域から前記パッチをダウンロードするとともに、前記パッチがダウンロードされた場合に、前記ダウンロードされたパッチを適用し、かつ前記パッチのダウンロード元である前記１つ以上の記憶領域に、前記パッチを適用した結果を示すステータス情報を書き込むように構成される、請求項１に記載の情報システム。
【請求項８】
前記サーバ及びストレージシステムは、前記ネットワークを介して結合された複数の集中型プラットフォームに分けられ、各集中型プラットフォームは、前記サーバのサブセットと、前記ストレージシステムのサブセットとを有し、
各集中型プラットフォームについて、前記管理サーバは、前記集中型プラットフォームにパッチを配布するために、前記ストレージシステムの前記サブセットの中の１つのストレージシステム内の記憶領域を指定し、前記アクセス制御テーブルは、同じ集中型プラットフォーム内のすべての前記サーバの前記仮想マシンによる前記記憶領域内の前記パッチへの許容アクセスのためのアクセス制御を設定する、請求項７に記載の情報システム。
【請求項９】
複数のストレージシステムと、
複数のサーバと、
管理サーバと、
前記ストレージシステム、前記サーバ、及び前記管理サーバに結合されたネットワークと
を備える情報システムであって、
前記管理サーバは、ファームウェアを配布するための前記複数のストレージシステムのうちの１つ以上のストレージシステムにおける１つ以上の記憶領域を指定するとともに、前記複数のストレージシステムのうちの１つ以上のストレージシステムにおける前記１つ以上の記憶領域内の前記ファームウェアへの許容アクセスのためのアクセス制御を設定するアクセス制御テーブルを作成するように構成され、
前記管理サーバは、前記複数のストレージシステムのうちの１つ以上のターゲットストレージシステムを、前記複数のストレージシステムのうちの１つ以上のソースストレージシステム内の１つ以上の記憶領域にマップする、マッピング管理テーブルを作成するように構成され、ターゲットストレージシステムは、前記マッピング管理テーブルに従ってマップされるように、ソースストレージシステム内の記憶領域からファームウェアをダウンロードすることを許可され、
前記１つ以上のターゲットストレージシステムは、前記ファームウェアをダウンロードする許可を求めて前記アクセス制御テーブルをチェックすることによって、前記１つ以上のソースストレージシステムの前記１つ以上の記憶領域から前記ファームウェアをダウンロードするとともに、前記ファームウェアがダウンロードされた場合に、前記ダウンロードされたファームウェアを適用し、かつ前記ファームウェアのダウンロード元である前記１つ以上の記憶領域に、前記ダウンロードされたファームウェアを適用した結果を示すステータス情報を書き込むように構成され、かつ
前記管理サーバは、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々から前記ステータス情報を取得するように構成される、情報システム。
【請求項１０】
前記１つ以上のターゲットストレージシステムは、前記ダウンロードされたファームウェアを適用した結果を示すステータス情報を書き込む前に、前記１つ以上のターゲットストレージシステムによる前記ダウンロードされたファームウェアの適用の成功又は失敗を示すために、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報の許容更新のためのアクセス制御を設定する前記アクセス制御テーブルをチェックするように構成される、請求項９に記載の情報システム。
【請求項１１】
前記管理サーバは、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報をチェックするとともに、前記ステータス情報が特定の記憶領域からダウンロードされた前記ファームウェアの適用の成功を示す場合、前記特定の記憶領域における前記ファームウェアを削除するように構成される、請求項９に記載の情報システム。
【請求項１２】
前記管理サーバは、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報をチェックするとともに、前記ステータス情報が特定の記憶領域からダウンロードされた前記ファームウェアの適用の失敗を示す場合、エラーを通知するように構成される、請求項９に記載の情報システム。
【請求項１３】
複数のストレージシステムと、
各サーバが１つ以上の仮想マシンを含む複数のサーバと、
管理サーバと、
前記ストレージシステム、前記サーバ、及び前記管理サーバに結合されたネットワークと
を備える情報システムであって、
前記管理サーバは、パッチを配布するための前記複数のストレージシステムのうちの１つ以上のストレージシステムにおける１つ以上の記憶領域を指定するとともに、前記複数のストレージシステムのうちの１つ以上のストレージシステムにおける前記１つ以上の記憶領域内の前記パッチへの許容アクセスのためのアクセス制御を設定するアクセス制御テーブルを作成するように構成され、
前記１つ以上の仮想マシンは、前記パッチをダウンロードする許可を求めて前記アクセス制御テーブルをチェックすることによって、前記１つ以上の記憶領域から前記パッチをダウンロードするとともに、前記パッチがダウンロードされた場合に、前記ダウンロードされたパッチを適用し、かつ前記パッチのダウンロード元である前記１つ以上の記憶領域に、前記パッチを適用した結果を示すステータス情報を書き込むように構成され、かつ
前記管理サーバは、前記パッチのダウンロード元である前記１つ以上の記憶領域の各々から前記ステータス情報を取得するように構成される、情報システム。
【請求項１４】
前記１つ以上の仮想マシンは、前記パッチを適用した結果を示すステータス情報を書き込む前に、前記１つ以上の仮想マシンによる前記パッチの適用の成功又は失敗を示すために、前記パッチのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報の許容更新のためのアクセス制御を設定する前記アクセス制御テーブルをチェックするように構成される、請求項１３に記載の情報システム。
【請求項１５】
前記管理サーバは、前記パッチのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報をチェックするとともに、前記ステータス情報が特定の記憶領域からダウンロードされた前記パッチの適用の成功を示す場合、前記特定の記憶領域における前記パッチを削除するように構成される、請求項１３に記載の情報システム。
【請求項１６】
前記管理サーバは、前記パッチのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報をチェックするとともに、前記ステータス情報が特定の記憶領域からダウンロードされた前記パッチの適用の失敗を示す場合、エラーを通知するように構成される、請求項１３に記載の情報システム。
【請求項１７】
前記管理サーバは、前記仮想マシンによるパッチのダウンロード元となり得る前記ストレージシステム内の任意の記憶領域に各仮想マシンをマップするマッピング管理テーブルを作成するように構成され、かつ
前記仮想マシンは、前記マッピング管理テーブルを使用することによって、任意の新しいパッチが前記ストレージシステム内に存在するか否かをチェックするように構成される、請求項１３に記載の情報システム。
【請求項１８】
前記管理サーバは、前記複数のストレージシステムのうちの１つ以上のターゲットストレージシステムを、前記複数のストレージシステムのうちの１つ以上のソースストレージシステム内の１つ以上の記憶領域にマップする、マッピング管理テーブルを作成するように構成され、ターゲットストレージシステムは、前記マッピング管理テーブルに従ってマップされるように、ソースストレージシステム内の記憶領域からパッチをダウンロードすることを許可され、かつ
前記１つ以上のターゲットストレージシステムは、前記パッチをダウンロードする許可を求めて前記アクセス制御テーブルをチェックすることによって、前記１つ以上のソースストレージシステムの前記１つ以上の記憶領域から前記パッチをダウンロードするとともに、前記パッチがダウンロードされた場合に、前記ダウンロードされたパッチを適用し、かつ前記パッチのダウンロード元である前記１つ以上の記憶領域に、前記ダウンロードされたパッチを適用した結果を示すステータス情報を書き込むように構成される、請求項１３に記載の情報システム。
【請求項１９】
前記サーバ及びストレージシステムは、前記ネットワークを介して結合された複数の集中型プラットフォームに分けられ、各集中型プラットフォームは、前記サーバのサブセットと、前記ストレージシステムのサブセットとを有し、
各集中型プラットフォームについて、前記管理サーバは、前記集中型プラットフォームにパッチを配布するために、前記ストレージシステムの前記サブセットの中の１つのストレージシステム内の記憶領域を指定し、前記アクセス制御テーブルは、同じ集中型プラットフォーム内のすべての前記サーバの前記仮想マシンによる前記記憶領域内の前記パッチへの許容アクセスのためのアクセス制御を設定する、請求項１３に記載の情報システム。
【発明の詳細な説明】
【技術分野】
【０００１】
０００１    本発明は概して、ストレージシステムに関し、特に、ファームウェア／パッチをデプロイするための方法及び装置に関する。
【背景技術】
【０００２】
０００２    近年、データセンターにおいて統合が進む傾向がある。サーバ及びストレージなどの大量のＩＴリソースは、１つのデータセンター内に設置される。このようなＩＴリソースは、リソースの操作を管理調整するファームウェアを有する。ＩＴリソースの通常のファームウェアは、更新機能を有する。同様の態様で、オペレーティングシステム及びアプリケーションの機能は、パッチの使用によって更新することができる。
【０００３】
０００３    伝統的に、ファームウェア／パッチのデプロイは、ディスケット又はＣＤなどのコンピュータ可読媒体を適切なドライブに挿入することによって達成される。最近では、管理サーバはデータセンター内に設置される。管理サーバは、ベンダのウェブサイトから最新のファームウェアを取得し、次に、ファームウェアをそのリソースの各々にデプロイする。１つの管理サーバがファームウェア／パッチを１つのデータセンター内のＩＴリソースのすべてにデプロイする場合、管理サーバが、ボトルネックの原因となり得る。１つの解決法は、複数の管理サーバをデータセンター内に設置することである。その場合、誰かが管理サーバと管理されるリソースとの間の関係を管理しなければならない。さらに、仮想マシンは、仮想サーバ環境内のライブマイグレーション機能によって、複数のサーバ間を移動し得る。この環境では、管理サーバと管理されるリソースとの間の関係は、マイグレーションが原因で壊れてしまう。現在のファームウェア／パッチデプロイシステムは、以下の２つの問題を並行して解決することができない。つまり、（１）スケーラビリティと、（２）システム構成の変更に動的に対応することである。
【０００４】
０００４    米国特許出願公開第２００６／００４８１４４（Ａ１）号明細書は、ＩＰ電話通信のためのファームウェア配布システムを開示する。ピアツーピアネットワーク構成が、複数のエンドポイントによって作成される。１つのエンドポイントは、マスターデバイスとして作用する。マスターデバイスは、ピアツーピアネットワークの残りのエンドポイントにファームウェアを配布する。米国特許出願公開第２０１０／０１９１８６７（Ａ１）号明細書は、ファームウェアのフィールド更新を実行するためのシステムを開示する。ソースデバイスと複数のターゲットデバイスは、直接接続されている。ソースデバイスは、各ターゲットデバイスにファームウェアを送信する。ソースデバイスは、ターゲットデバイスのファームウェア更新完了の妥当性を確認するために動作可能である。米国特許第７,１９７,６３４（Ｂ２）号明細書は、リモートデバイスにファームウェアを提供するシステム及び方法を開示する。ファームウェアは、リモートデバイスのストレージにダウンロードされる。ファームウェアの格納が成功した場合は、成功フラグが設定される。デバイスの次のブートの間に、ダウンロードされたファームウェアは、フラグの適用されるベースである。
【発明の概要】
【０００５】
０００５    本発明の例示的な実施形態は、環境ファームウェア／パッチデプロイシステムを動的に変更するためにスケーラブルで適応可能な方法及び装置を提供する。特定の実施形態では、ファームウェア／パッチは、複数のストレージサブシステムにデプロイかつ格納される。サーバ／仮想マシンは、マッピング管理テーブル上の近い／ローカルのストレージサブシステムベースからファームウェア／パッチをダウンロードする。サーバ／仮想マシンは、ファームウェア／パッチの適用の結果を近い／ローカルのストレージサブシステムに書き込む。管理サーバは、ストレージサブシステムの各々から結果を検索する。この技術は、データセンターのサーバ又はストレージのファームウェアの効率的なデプロイのために使用することができる。この技術はまた、仮想マシンのファームウェアパッチの効率的なデプロイ又はデータセンター内における適用のために使用することができる。
【０００６】
０００６    本発明の一態様に従って、情報システムは、複数のストレージシステムと、複数のサーバと、管理サーバと、前記ストレージシステム、前記サーバ、及び前記管理サーバに結合されたネットワークとを含む。前記管理サーバは、ファームウェアを配布するための前記複数のストレージシステムのうちの１つ以上のストレージシステムにおける１つ以上の記憶領域を指定するとともに、前記複数のストレージシステムのうちの１つ以上のストレージシステムにおける前記１つ以上の記憶領域内の前記ファームウェアへの許容アクセスのためのアクセス制御を設定するアクセス制御テーブルを作成するように構成される。前記サーバは、前記ファームウェアをダウンロードする許可を求めて前記アクセス制御テーブルをチェックすることによって、前記１つ以上の記憶領域から前記ファームウェアをダウンロードし、前記ファームウェアがダウンロードされた場合に、前記ダウンロードされたファームウェアを適用し、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域に、前記ダウンロードされたファームウェアを適用した結果を示すステータス情報を書き込むように構成される。前記管理サーバは、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々から前記ステータス情報を取得するように構成される。
【０００７】
０００７    いくつかの実施形態では、前記１つ以上のサーバは、前記ダウンロードされたファームウェアを適用した結果を示すステータス情報を書き込む前に、前記１つ以上のサーバによる前記ダウンロードされたファームウェアの適用の成功又は失敗を示すために、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報の許容更新のためのアクセス制御を設定する前記アクセス制御テーブルをチェックするように構成される。前記管理サーバは、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報をチェックするとともに、前記ステータス情報が特定の記憶領域からダウンロードされた前記ファームウェアの適用の成功を示す場合、前記特定の記憶領域における前記ファームウェアを削除するように構成される。前記管理サーバは、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報をチェックするとともに、前記ステータス情報が特定の記憶領域からダウンロードされた前記ファームウェアの適用の失敗を示す場合、エラーを通知するように構成される。
【０００８】
０００８    特定の実施形態では、前記管理サーバは、前記サーバによるファームウェアのダウンロード元となり得る前記ストレージシステム内の任意の記憶領域に各サーバをマップするマッピング管理テーブルを作成するように構成され、かつ前記サーバは、前記マッピング管理テーブルを使用することによって、任意の新しいファームウェアが前記ストレージシステム内に存在するか否かをチェックするように構成される。前記管理サーバは、前記複数のストレージシステムのうちの１つ以上のターゲットストレージシステムを、前記複数のストレージシステムのうちの１つ以上のソースストレージシステム内の１つ以上の記憶領域にマップする、マッピング管理テーブルを作成するように構成され、ターゲットストレージシステムは、前記マッピング管理テーブルに従ってマップされるように、ソースストレージシステム内の記憶領域からファームウェアをダウンロードすることを許可される。前記１つ以上のターゲットストレージシステムは、前記ファームウェアをダウンロードする許可を求めて前記アクセス制御テーブルをチェックすることによって、前記１つ以上のソースストレージシステムの前記１つ以上の記憶領域から前記ファームウェアをダウンロードするとともに、前記ファームウェアがダウンロードされた場合に、前記ダウンロードされたファームウェアを適用し、かつ前記ファームウェアのダウンロード元である前記１つ以上の記憶領域に、前記ダウンロードされたファームウェアを適用した結果を示すステータス情報を書き込むように構成される。
【０００９】
０００９    いくつかの実施形態では、前記複数のサーバのうちの１つ以上のサーバの各々は、１つ以上の仮想マシンを含む。前記ファームウェアは、パッチを備える。前記１つ以上の仮想マシンは、前記パッチをダウンロードする許可を求めて前記アクセス制御テーブルをチェックすることによって、前記１つ以上の記憶領域から前記パッチをダウンロードするとともに、前記パッチがダウンロードされた場合に、前記ダウンロードされたパッチを適用し、かつ前記パッチのダウンロード元である前記１つ以上の記憶領域に、前記パッチを適用した結果を示すステータス情報を書き込むように構成される。
【００１０】
００１０    特定の実施形態では、前記サーバ及びストレージシステムは、前記ネットワークを介して結合された複数の集中型プラットフォームに分けられ、各集中型プラットフォームは、前記サーバのサブセットと、前記ストレージシステムのサブセットとを有する。各集中型プラットフォームについて、前記管理サーバは、前記集中型プラットフォームにパッチを配布するために、前記ストレージシステムの前記サブセットの中の１つのストレージシステム内の記憶領域を指定し、前記アクセス制御テーブルは、同じ集中型プラットフォーム内のすべての前記サーバの前記仮想マシンによる前記記憶領域内の前記パッチへの許容アクセスのためのアクセス制御を設定する。
【００１１】
００１１    本発明の他の態様に従って、情報システムは、複数のストレージシステムと、複数のサーバと、管理サーバと、前記ストレージシステム、前記サーバ、及び前記管理サーバに結合されたネットワークとを含む。前記管理サーバは、ファームウェアを配布するための前記複数のストレージシステムのうちの１つ以上のストレージシステムにおける１つ以上の記憶領域を指定するとともに、前記複数のストレージシステムのうちの１つ以上のストレージシステムにおける前記１つ以上の記憶領域内の前記ファームウェアへの許容アクセスのためのアクセス制御を設定するアクセス制御テーブルを作成するように構成される。前記管理サーバは、前記複数のストレージシステムのうちの１つ以上のターゲットストレージシステムを、前記複数のストレージシステムのうちの１つ以上のソースストレージシステム内の１つ以上の記憶領域にマップする、マッピング管理テーブルを作成するように構成され、ターゲットストレージシステムは、前記マッピング管理テーブルに従ってマップされるように、ソースストレージシステム内の記憶領域からファームウェアをダウンロードすることを許可される。前記１つ以上のターゲットストレージシステムは、前記ファームウェアをダウンロードする許可を求めて前記アクセス制御テーブルをチェックすることによって、前記１つ以上のソースストレージシステムの前記１つ以上の記憶領域から前記ファームウェアをダウンロードするとともに、前記ファームウェアがダウンロードされた場合に、前記ダウンロードされたファームウェアを適用し、かつ前記ファームウェアのダウンロード元である前記１つ以上の記憶領域に、前記ダウンロードされたファームウェアを適用した結果を示すステータス情報を書き込むように構成される。前記管理サーバは、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々から前記ステータス情報を取得するように構成される。
【００１２】
００１２    いくつかの実施形態では、前記１つ以上のターゲットストレージシステムは、前記ダウンロードされたファームウェアを適用した結果を示すステータス情報を書き込む前に、前記１つ以上のターゲットストレージシステムによる前記ダウンロードされたファームウェアの適用の成功又は失敗を示すために、前記ファームウェアのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報の許容更新のためのアクセス制御を設定する前記アクセス制御テーブルをチェックするように構成される。
【００１３】
００１３    本発明の別の態様に従って、情報システムは、複数のストレージシステムと、各サーバが１つ以上の仮想マシンを含む複数のサーバと、管理サーバと、前記ストレージシステム、前記サーバ、及び前記管理サーバに結合されたネットワークとを含む。前記管理サーバは、パッチを配布するための前記複数のストレージシステムのうちの１つ以上のストレージシステムにおける１つ以上の記憶領域を指定するとともに、前記複数のストレージシステムのうちの１つ以上のストレージシステムにおける前記１つ以上の記憶領域内の前記パッチへの許容アクセスのためのアクセス制御を設定するアクセス制御テーブルを作成するように構成される。前記１つ以上の仮想マシンは、前記パッチをダウンロードする許可を求めて前記アクセス制御テーブルをチェックすることによって、前記１つ以上の記憶領域から前記パッチをダウンロードするとともに、前記パッチがダウンロードされた場合に、前記ダウンロードされたパッチを適用し、かつ前記パッチのダウンロード元である前記１つ以上の記憶領域に、前記パッチを適用した結果を示すステータス情報を書き込むように構成される。前記管理サーバは、前記パッチのダウンロード元である前記１つ以上の記憶領域の各々から前記ステータス情報を取得するように構成される。
【００１４】
００１４    いくつかの実施形態では、前記１つ以上の仮想マシンは、前記パッチを適用した結果を示すステータス情報を書き込む前に、前記１つ以上の仮想マシンによる前記パッチの適用の成功又は失敗を示すために、前記パッチのダウンロード元である前記１つ以上の記憶領域の各々における前記ステータス情報の許容更新のためのアクセス制御を設定する前記アクセス制御テーブルをチェックするように構成される。前記管理サーバは、前記仮想マシンによるパッチのダウンロード元となり得る前記ストレージシステム内の任意の記憶領域に各仮想マシンをマップするマッピング管理テーブルを作成するように構成され、かつ前記仮想マシンは、前記マッピング管理テーブルを使用することによって、任意の新しいパッチが前記ストレージシステム内に存在するか否かをチェックするように構成される。
【００１５】
００１５    特定の実施形態では、前記管理サーバは、前記複数のストレージシステムのうちの１つ以上のターゲットストレージシステムを、前記複数のストレージシステムのうちの１つ以上のソースストレージシステム内の１つ以上の記憶領域にマップする、マッピング管理テーブルを作成するように構成され、ターゲットストレージシステムは、前記マッピング管理テーブルに従ってマップされるように、ソースストレージシステム内の記憶領域からパッチをダウンロードすることを許可される。前記１つ以上のターゲットストレージシステムは、前記パッチをダウンロードする許可を求めて前記アクセス制御テーブルをチェックすることによって、前記１つ以上のソースストレージシステムの前記１つ以上の記憶領域から前記パッチをダウンロードするとともに、前記パッチがダウンロードされた場合に、前記ダウンロードされたパッチを適用し、かつ前記パッチのダウンロード元である前記１つ以上の記憶領域に、前記ダウンロードされたパッチを適用した結果を示すステータス情報を書き込むように構成される。
【００１６】
００１６    本発明の上記及びその他の特徴及び効果は、特定の実施形態についての以下の詳細な説明を考慮することにより、当業者にとって明らかとなるであろう。
【図面の簡単な説明】
【００１７】
【図１】００１７    図１は、第１の実施形態に従ったデータセンターシステムのシステム構成の一例を示す。
【図２】００１８    図２は、データセンターの管理サーバの構成の一例を示す。
【図３】００１９    図３は、第１の実施形態に従ったデータセンターのサーバの構成の一例を示す。
【図４】００２０    図４は、第１の実施形態に従ったデータセンターのストレージサブシステムの構成の一例を示す。
【図５】００２１    図５は、第１の実施形態に従った管理サーバのマッピング管理テーブルの一例を示す。
【図６】００２２    図６は、第１の実施形態に従った管理サーバのステータス管理テーブルの一例を示す。
【図７】００２３    図７は、サーバのマッピング管理テーブルの一例を示す。
【図８】００２４    図８は、第１の実施形態に従ったストレージサブシステムのステータス管理テーブルの一例を示す。
【図９Ａ】００２５    図９は、第１の実施形態に従ったストレージサブシステムのアクセス制御テーブルの一例を示す。
【図９Ｂ】００２５    図９は、第１の実施形態に従ったストレージサブシステムのアクセス制御テーブルの一例を示す。
【図１０】００２６    図１０は、管理サーバに適用されるサーバのファームウェア更新プログラムのプロセスを例示する流れ図の一例を示す。
【図１１】００２７    図１１は、管理サーバのマッピング管理テーブルを更新するためにファームウェア管理プログラムのプロセスを例示する流れ図の一例を示す。
【図１２】００２８    図１２は、サーバのファームウェア更新プログラムのプロセスを例示する流れ図の一例を示す。
【図１３】００２９    図１３は、第２の実施形態に従ったデータセンターのストレージサブシステムの構成の一例を示す。
【図１４】００３０    図１４は、第２の実施形態に従った管理サーバのマッピング管理テーブルの一例を示す。
【図１５】００３１    図１５は、第２の実施形態に従った管理サーバのステータス管理テーブルの一例を示す。
【図１６】００３２    図１６は、第２の実施形態に従ったストレージサブシステムのステータス管理テーブルの一例を示す。
【図１７Ａ】００３３    図１７は、第２の実施形態に従ったストレージサブシステムのアクセス制御テーブルの一例を示す。
【図１７Ｂ】００３３    図１７は、第２の実施形態に従ったストレージサブシステムのアクセス制御テーブルの一例を示す。
【図１８】００３４    図１８は、第３の実施形態に従ったサーバの構成の一例を示す。
【図１９】００３５    図１９は、第３の実施形態に従ったサーバ及びストレージサブシステムを含むデータセンターシステムの論理構成の一例を示す。
【図２０】００３６    図２０は、第４の実施形態に従ったデータセンターシステムのシステム構成の一例を示す。
【図２１】００３７    図２１は、第４の実施形態に従った集中型プラットフォームを含むシステムの論理構成の一例を示す。
【発明を実施するための形態】
【００１８】
００３８    以下の本発明についての詳細な説明では、開示の一部を成すとともに、それによって本発明が実施され得る例示的実施形態が実例として（但し限定ではない）示される、添付の図面を参照する。当該図面において、類似の数字は、いくつかの図面を通してほぼ同様の構成要素を示すものである。また、留意すべき点として、詳細な説明では様々な例示的実施形態を提供する（以下に説明し、かつ図面で示される通り）が、本発明は本明細書において説明されかつ示される実施形態に限定されず、当業者が知っているであろう又は知るようになり得るその他の実施形態にも及び得る。本明細書における「一実施形態」、「本実施形態」、又は「上述の実施形態」の言及は、当該実施形態に関連して説明される特定の特性、構造又は特徴が、本発明の少なくとも一つの実施形態に含まれることを意味し、本明細書の様々な箇所において上記文言が使用されていても、必ずしもすべてが同一の実施形態を言及するものではない。さらに、以下の詳細な説明において、本発明を徹底して理解できるように、多くの具体的な詳細が記載されている。但し、本発明を実施するためにこれらの具体的な詳細すべてが必要なわけではないことは、当業者にとって明らかであろう。他の状況では、本発明を不必要に曖昧にしないように、周知の構造、材料、回路、プロセス及びインタフェースの詳細については説明しておらず、かつ／又はブロック図において図示している場合もある。
【００１９】
００３９    さらに、以下の詳細な説明の一部は、コンピュータ内のオペレーションのアルゴリズム及び象徴的な態様に関して示されている。これらのアルゴリズム記述及び象徴的な態様は、データ処理分野の当業者がその新しいアイディアのエッセンスを最も効果的に他の当業者に伝えるために使用する手段である。アルゴリズムとは、望ましい最終状態又は結果へと導く一連の定義されたステップである。本発明において、実施されるステップは、具体的な結果を達成するための相当量の物理的操作を必要とする。通常は（必ずしもそうではないが）、当該数量は、格納、転送、組み合わせ、比較、その他の操作が可能な電気もしくは磁気信号又は命令の形態を取る。主に一般的な使用のために、上記の信号をビット、値、要素、記号、文字、用語、数字、命令等として言及することが時として便利であることが証明されている。但し、上記の及び類似の用語のすべてが、適切な物理数量に関連付けられるものであり、かつ当該数量に適用される単に便利なラベルであることを留意すべきである。別段の記載がない限り、以下の解説から明らかなように、当然のことながら説明全体を通して、「処理」、「演算」、「計算」、「判断」、「表示」等の用語を用いた解説は、コンピュータシステムのレジスタ及びメモリ内の物理的（電子的）数量として表わされるデータを、コンピュータシステムのメモリもしくはレジスタ又はその他の情報記憶、送信もしくは表示装置の中の物理的数量として同様に表わされるその他のデータに操作しかつ変換する、コンピュータシステム又はその他の情報処理装置の動作又はプロセスを含み得る。
【００２０】
００４０    本発明は、本明細書における動作を実施する装置にも関する。この装置は、必要とされる目的のために特別に構築してもよく、又は一つ以上のコンピュータプログラムによって選択的に起動又は再構成された一つ以上の汎用コンピュータを含み得る。当該コンピュータプログラムは、光ディスク、磁気ディスク、読取専用記憶装置（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ソリッドステート装置及びドライブ、又は電子情報の格納に適したその他の種類の媒体等（但し、これらに限定されない）のコンピュータ読取可能記憶媒体に格納され得る。本明細書において示されるアルゴリズム及び提示は、特定のコンピュータ又はその他の装置に本質的に関係しているわけではない。様々な汎用システムを、本明細書における教示に従ってプログラム及びモジュールと共に使用してもよく、又は望ましい方法ステップを実施するためにより特化した装置を構築することが都合がよいということが判明するかもしれない。さらに、本発明は、特定のプログラミング言語を参照して説明されてはいない。当然のことながら、本明細書に記載されている通りに本発明の教示を実施するために、様々なプログラミング言語を使用してもよい。プログラミング言語の命令は、一つ以上の処理装置、例えば中央処理装置（ＣＰＵ）、プロセッサ、又はコントローラによって実行され得る。
【００２１】
００４１    本発明の例示的な実施形態は、下記でより詳細に説明されるように、ファームウェア／パッチをデプロイするための装置、方法、及びコンピュータプログラムを提供する。
【００２２】
００４２    第１の実施形態  サーバのファームウェアの更新
【００２３】
００４３    図１は、第１の実施形態に従ったデータセンターのシステム構成の一例を示す。データセンター１１００は、管理サーバ１２００、サーバ１３００、及びストレージサブシステム１４００を含む。管理サーバ、サーバ、及びストレージサブシステムは、管理ネットワーク１０２０を介して接続される。ネットワークは通常、イーサネット（登録商標）ＬＡＮであるが、これに限定されない。サーバ１３００及びストレージサブシステム１４００は、データネットワーク１０３０を介して接続される。ネットワークは通常、ＳＡＮ（ストレージエリアネットワーク）であるが、これに限定されない。本実施形態では、管理ネットワーク１０２０とデータネットワーク１０３０は、別個のものである。管理サーバ１２００は、外部ネットワーク１０１０を介してベンダのサイト１８００に接続される。ベンダのサイト１８００は、ウェブサイト又はＦＴＰサイトなどである。これはファームウェアリポジトリ１８１０を含み、ここにファームウェアが格納される。
【００２４】
００４４    図２は、データセンター１１００の管理サーバ１２００の構成の一例を示す。管理インタフェース１２１０は、管理ネットワーク１０２０へのインタフェースである。外部インタフェース１２３０は、外部ネットワーク１０１０へのインタフェースである。入出力装置１２７０は、モニタ、キーボード、及びマウスなどのユーザインタフェースである。ローカルディスク１２６０は、ファームウェア１２６２及びファームウェア管理プログラム１２６４を含む。ファームウェア管理プログラム１２６４は、メモリ１２４０にロードされ、プロセッサ１２５０によって実行される。メモリ１２４０は、マッピング管理テーブル２１００及びステータス管理テーブル２２００を格納する。ファームウェア管理プログラム１２６４のプロセスは、以下で説明する（図１１を参照）。
【００２５】
００４５    図３は、第１の実施形態に従ったデータセンター１１００のサーバ１３００の構成の一例を示す。管理インタフェース１３１０は、管理ネットワーク１０２０へのインタフェースである。通信インタフェース１３２０は、データネットワーク１０３０へのインタフェースである。ローカルディスク１３６０は、ファームウェア更新プログラム２６０１を含む。ファームウェア更新プログラム２６０１は、メモリ１３４０にロードされ、プロセッサ１３５０によって実行される。メモリ１３４０は、マッピング管理テーブル２１０１を格納する。ファームウェア更新プログラム２６０１の手順は、以下で説明する（図１２を参照）。
【００２６】
００４６    図４は、第１の実施形態に従ったデータセンター１１００のストレージサブシステム１４００の構成の一例を示す。ストレージサブシステム１４００は、コントローラ１４０５及びＨＤＤ１４９０を含む。コントローラ１４０５は、管理インタフェース１４１０、通信インタフェース１４２０、メモリ１４４０、プロセッサ１４５０、ローカルディスク１４６０、入出力装置１４７０、及びディスクインタフェース１４８０を含む。管理インタフェース１４１０は、管理ネットワーク１０２０へのインタフェースである。通信インタフェース１４２０は、データネットワーク１０３０へのインタフェースである。ディスクインタフェース１４８０は、ＨＤＤ１４９０へのインタフェースである。ローカルディスク１４６０は、アクセス制御テーブル２３００を含む。ストレージサブシステム１４００は、いくつかのＨＤＤ（ハードディスクドライブ）を含み、２つのＨＤＤが図４に示されている。異なる実施形態では、ＳＳＤ（ソリッドステートディスク）及びいくつかの他の媒体を使用することができる。
【００２７】
００４７    図５は、第１の実施形態に従った管理サーバ１２００のマッピング管理テーブル２１００の一例を示す。マッピング管理テーブル２１００は、ファームウェア管理プログラム１２６４によって管理サーバ１２００のメモリ１２４０に作成される。サーバ欄２１０５は、データセンター１１００における各サーバ１３００のＩＤを示す。ストレージ通し番号欄２１１０は、データセンター１１００における各ストレージサブシステム１４００のＩＤを示す。位置欄２１１５は、ファームウェアの参照（位置）を示す。各サーバ１３００は、ファームウェアを取得するためにこの位置を参照する。本実施形態では、位置は、ＬＤＥＶ番号によって示される。各行２１３０〜２１６０は、サーバとストレージの間のマッピングを示す。サーバ１３００は、ファームウェアを取得するためにストレージ通し番号フィールドを参照する。
【００２８】
００４８    図６は、第１の実施形態に従った管理サーバ１２００のステータス管理テーブル２２００の一例を示す。ステータス管理テーブル２２００は、ファームウェア管理プログラム１２６４によって管理サーバ１２００のメモリ１２４０に作成される。サーバ欄２２０５は、データセンター１１００における各サーバ１３００のＩＤを示す。ファームウェアバージョン欄２２１０は、適用するファームウェアのバージョン番号を示す。ステータス欄２２１５は、ファームウェア更新のステータスを示す。各行２２３０〜２２６０は、各サーバのファームウェア更新のステータスを示す。
【００２９】
００４９    図７は、サーバ１３００のマッピング管理テーブル２１０１の一例を示す。サーバ１３００のメモリ１３４０のマッピング管理テーブル２１０１は、管理サーバ１２００からデプロイされる。サーバ欄２１０５、ストレージ通し番号欄２１１０、及び位置欄２１１５は、マッピング管理テーブル２１００と同じである（図５）。行２１３０は、サーバとストレージの間のマッピングを示す。
【００３０】
００５０    図８は、第１の実施形態に従ったストレージサブシステム１４００のステータス管理テーブル２２０１の一例を示す。ステータス管理テーブル２２０１は、ＨＤＤ１９４０に格納され、ステータス管理テーブル２２００と同じサーバ欄２２０５、ファームウェアバージョン欄２２１０、及びステータス欄２２１５を有する（図６）。
【００３１】
００５１    図９（部分９−Ａ及び９−Ｂ）は、第１の実施形態に従ったストレージサブシステム１４００のアクセス制御テーブル２３００の一例を示す。データ行２３０５は、このテーブルに従ってアクセス制御されるデータを示す。アクセス機構行２３１０は、データへのアクセサを示す。読み取り行２３１５は、読み取り許可（ＯＫ又はＮＧ）を示す。作成／削除行２３２０は、作成及び削除許可（ＯＫ又はＮＧ）を示す。修正行２３２５は、書き込み許可を示す（ＯＫ又はＮＧ）。ストレージサブシステム１４００へのすべてのＩ／Ｏ要求は、このアクセス制御テーブル２３００を参照する。ルックアップの結果が「ＯＫ」である場合は、要求は実行される。ルックアップの結果が「ＮＧ」である場合は、要求は拒否される。例えば、アクセス制御テーブル２３００をルックアップすることによって、サーバ１９２．１６８．１．２からファームウェアへの読み取り要求は許可されるが、管理サーバからファームウェアへの読み取り要求は拒否される。
【００３２】
００５２    図９に示されるように、ステータス管理テーブルの各行は、異なるアクセス制御を有する。従って、各サーバは、ステータス管理テーブルの指定された行だけにアクセスできる。例えば、行２３６０、２３６２、及び２３６４に示されるように、サーバ１９２．１６８．１．５だけが、ステータス管理テーブルの第３の行にアクセスできる。他のサーバは、図９のアクセス制御テーブル２３００に従ってステータス管理テーブルの第３の行にアクセスできない。
【００３３】
００５３    図１０は、管理サーバ１２００に適用されるサーバ１３００のファームウェア更新プログラム２６０１のプロセスを例示する流れ図２４００の一例を示す。このプロセスは、ステップ２４０５で開始する。ステップ２４０７では、プログラムは、管理サーバ１２００のメモリ１２４０にマッピング管理テーブル２１００及びステータス管理テーブル２２００を作成し、かつマッピング管理テーブル２１００のサブセットを各サーバ１３００にデプロイするためのプロセスを初期化する。マッピング管理テーブル２１００は、以下のように作成される。第１のステップは、「比率」を決定することであり、これはストレージ毎のサーバの数である。例えば、比率は１００である。データセンター内のサーバの数が１０００である場合は、ファームウェアを格納するストレージの数は１０である。従って、次のステップは、１０のストレージを選択し、次にＬＤＥＶを供給することである。各サーバは、例えば、ラウンドロビン方式を使用して上記のストレージに割り当てられる。これに基づいて、マッピング管理テーブル２１００が作成される。
【００３４】
００５４    ステップ２４１０では、プログラムは、最新のファームウェアが存在するか否かを判断するためにベンダのサイト１８００で確認する。最新のファームウェアが存在する場合は、プログラムはステップ２４２０に進む。最新のファームウェアが存在しない場合は、プログラムはステップ２４１３に進む。ステップ２４１３では、プログラムは、新しいイベントが到着したか否かを確認する。ＹＥＳの場合は、プログラムはステップ２４１６に進む。ＮＯの場合は、プログラムはステップ２４１５に進む。ステップ２４１５では、プログラムはしばらく待ち、次にステップ２４１０に進む。ステップ２４１６では、プログラムは、イベントに基づいてマッピング管理テーブル２１００を更新する。この手順の詳細は、図１１に示されている。手順が完了した後で、プログラムはステップ２４１５に進む。ステップ２４２０では、プログラムは、最新のファームウェアをダウンロードする。ステップ２４２５では、プログラムは、メモリ１２４０にステータス管理テーブル２２００を作成する。このテーブルのステータスフィールド２２１５のすべては、「該当なし」によって初期化される。ステップ２４３０では、プログラムは、マッピング管理テーブル２１００に基づいてステータス管理テーブル２２００のファームウェア及びサブセットを各ストレージサブシステム１４００にデプロイする。ステップ２４３５では、プログラムはしばらく待ち、次にステップ２４４０に進む。ステップ２４４０では、プログラムは、各ストレージサブシステム１４００からステータス管理テーブル２２０１を集める。
【００３５】
００５５    ステップ２４４５では、プログラムは、「該当なし」フィールドがストレージシステム１４００のステータス管理テーブル２２０１に存在するか否かをチェックする。「該当なし」フィールドがない場合は、プログラムはステップ２４５０に進む。そうでない場合、ステップ２４３５に進む。ステップ２４５０では、プログラムは、「失敗」フィールドがストレージシステム１４００のステータス管理テーブル２２０１に存在するか否かをチェックする。「失敗」フィールドがない場合は、プログラムはステップ２４５５に進む。そうでない場合、プログラムはステップ２４６０に進む。ステップ２４５５では、プログラムは、各ストレージサブシステム１４００のステータス管理テーブル２２０１のファームウェア及びサブセットを削除し、次にステップ２４６５に進む。ステップ２４６０では、プログラムは、ユーザにエラーを通知し、次にステップ２４７０に進み、プロセスは終了する。ステップ２４６５では、プログラムは、ユーザによる終了指示が存在するか否かをチェックする。終了指示が存在する場合、プログラムはステップ２４７０に進み、プロセスは終了する。そうでない場合、プログラムはステップ２４１０に進む。
【００３６】
００５６    図１１は、図１０のステップ２４１６の管理サーバ１２００のマッピング管理テーブル２１００を更新するためにファームウェア管理プログラム１２６４のプロセスを例示する流れ図２５００の一例を示す。データセンター環境が、例えばサーバの追加又はストレージサブシステムの追加によって変更された場合に、「イベント」が通知され、次にこのプログラムのプロセスが実行される。プログラムはステップ２５１０で開始する。ステップ２５２０では、プログラムは、イベントタイプをチェックする。イベントタイプがデータセンターからの「ストレージサブシステム削除」である場合、プロセスは、ステップ２５３０へ、そして次にステップ２５７０に進む。イベントタイプがデータセンターへの「サーバ追加」である場合、プロセスは、ステップ２５４０へ、そして次にステップ２５７０に進む。イベントタイプがデータセンターからの「サーバ削除」である場合、プロセスは、ステップ２５５０へ、そして次にステップ２５７０に進む。イベントタイプがデータセンターへの「ストレージサブシステム追加」である場合は、プロセスは、ステップ２５６０に進む。
【００３７】
００５７    ステップ２５３０では、プログラムは、管理サーバ１２００のマッピング管理テーブル２１００を修正する。削除されたストレージサブシステムがマッピング管理テーブル２１００のストレージサブシステムフィールド２１１０に存在しない場合は、プログラムは何もしない。削除されたストレージサブシステムがマッピング管理テーブル２１００のストレージサブシステムフィールド２１１０に存在する場合は、プログラムは、マッピング管理テーブル２１００を修正する。プログラムはさらに、削除されたストレージサブシステムの代わりに代替のストレージサブシステムを決定する。代替のストレージサブシステムは、該当サーバに類似のタイプのストレージでもよく、又はラウンドロビンによって決定されてもよい。
【００３８】
００５８    ステップ２５４０では、プログラムは、指定されたサーバの行を管理サーバ１２００のマッピング管理テーブル２１００に追加する。プログラムは、マッピング管理テーブル２１００の各ストレージの割り当てられたサーバの数をチェックする。割り当てられた数がストレージの比率よりも小さい場合は、プログラムは、最も少なく割り当てられたストレージを選択し、サーバをそのストレージに割り当てる。そうでない場合、プログラムは、新しいストレージを選択し、サーバを新しいストレージに割り当てる。ステップ２５５０では、プログラムは、管理サーバ１２００のマッピング管理テーブル２１００から、指定されたサーバの行を削除する。ステップ２５６０では、プログラムは何もせず、次にステップ２５８０に進み、プロセスは終了する。ステップ２５７０では、プログラムはステップ２５３０、２５４０、又は２５５０に基づいてマッピング管理テーブル２１００を更新し、次にステップ２５８０に進み、プロセスは終了する。
【００３９】
００５９    図１２は、サーバ１３００のファームウェア更新プログラム２６０１のプロセスを例示する流れ図２６００の一例を示す。プログラムはステップ２６０５で開始する。ステップ２６１０では、プログラムは、新しいファームウェアがストレージサブシステム１４００に存在するか否かをチェックする。どのストレージサブシステムをチェックすべきかは、マッピング管理テーブル２１０１に基づいて決定される。新しいファームウェアが存在する場合は、プロセスは、ステップ２６２０に進む。新しいファームウェアが存在しない場合は、プロセスは、ステップ２６１５に進む。ステップ２６１５では、プログラムはしばらく待ち、次にステップ２６１０に進む。ステップ２６２０では、プログラムは、新しいファームウェアをダウンロードする。新しいファームウェアをダウンロードする際に、ターゲットボリュームが、読み取り専用モードでマウントされる。これを行うことによって、複数のサーバによる複数のマウントが許可される。ステップ２６２５では、プログラムは、新しいファームウェアをサーバ１３００に適用する。ステップ２６３０では、プログラムは、ファームウェアのインストールが成功したか否かをチェックする。ファームウェアのインストールが成功した場合、プロセスはステップ２６３５に進む。ファームウェアのインストールが失敗した場合、プロセスはステップ２６４０に進む。
【００４０】
００６０    ステップ２６３５では、プログラムは、ストレージサブシステム１４００のステータス管理テーブル２２０１のステータスフィールド２２１５に「成功」を書き込む。ステータスフィールドに「成功」を書き込むために、ターゲットボリュームは、修正モードでマウントされる。アクセス制御テーブル２３００をチェックすることによって、プログラムは、複数のサーバがステータス管理テーブルの同じ行にアクセスできないことを確実なものとする。従って、複数の書き込みが許可される。例えば、ストレージが行レベルロック機構を有する場合は、この機構を使用することができる。
【００４１】
００６１    ステップ２６４０では、プログラムは、ストレージサブシステム１４００のステータス管理テーブル２２０１のステータスフィールド２２１５に「失敗」を書き込む。ステータスフィールドに「失敗」を書き込むために、ターゲットボリュームは、修正モードでマウントされる。プログラムはステップ２６４５で終了する。アクセス制御テーブル２３００をチェックすることによって、プログラムは、複数のサーバがステータス管理テーブルの同じ行にアクセスできないことを確実なものとする。従って、複数の書き込みが許可される。例えば、ストレージが行レベルロック機構を有する場合は、この機構を使用することができる。
【００４２】
００６２    第２の実施形態  ストレージサブシステムのファームウェアの更新
【００４３】
００６３    第２の実施形態のシステム構成は、第１の実施形態のシステム構成とほぼ同じである。以下は、第１の実施形態の特徴と異なる第２の実施形態の特徴だけを説明する。
【００４４】
００６４    図１３は、第２の実施形態に従ったデータセンター１１００のストレージサブシステム１４００の構成の一例を示す。マッピング管理テーブル２１０３は、メモリ１４４０に存在する。ファームウェア更新テーブル２６０２は、コントローラ１４０５のローカルディスク１４５０に存在する。
【００４５】
００６５    図１４は、第２の実施形態に従った管理サーバ１２００のマッピング管理テーブル２１０２の一例を示す。マッピング管理テーブル２１０２は、ファームウェア管理プログラム１２６４によって管理サーバ１２００のメモリ１２４０に作成される。ターゲットストレージサブシステム欄２１０６は、データセンター１１００の各ストレージサブシステム１４００のＩＤを示す。ソースストレージサブシステム欄２１１１は、データセンター１１００の各ストレージサブシステム１４００のＩＤを示す。位置欄２１１５は、ファームウェアの参照を示す。各ストレージサブシステム１４００は、ファームウェアを取得するためにこの位置欄２１１５を参照する。各行２１３１〜２１６１は、ターゲットストレージサブシステムとソースストレージサブシステムの間のマッピングを示す。各ターゲットストレージサブシステムは、ファームウェアを取得するためにソースストレージサブシステムフィールド２１１１を参照する。
【００４６】
００６６    図１５は、第２の実施形態に従った管理サーバ１２００のステータス管理テーブル２２０２の一例を示す。ストレージ通し番号欄２２０６は、データセンター１１００の各ストレージサブシステム１４００のＩＤを示す。各行２２３１〜２２６１は、各ストレージサブシステム１４００のファームウェア更新のステータスを示す。
【００４７】
００６７    図１６は、第２の実施形態に従ったストレージサブシステム１４００のステータス管理テーブル２２０３の一例を示す。ステータス管理テーブル２２０３は、ストレージサブシステムＨＤＤ１９４０に格納される。これは、図１５に示されるように管理サーバ１２００のステータス管理テーブル２２０２と同じ欄を有する。
【００４８】
００６８    図１７（パート１７−Ａ及び１７−Ｂ）は、第２の実施形態に従ったストレージサブシステム１４００のアクセス制御テーブル２３０１の一例を示す。このテーブルは、図９のアクセス制御テーブル２３００に類似している。例えば、アクセス制御テーブル２３０１をルックアップすることによって、ストレージからファームウェアへの読み取り要求は許可されるが、管理サーバからファームウェアへの読み取り要求は拒否される。ステータス管理テーブルの各行は、異なるアクセス制御を有する。従って、各ストレージは、ステータス管理テーブルの指定された行だけにアクセスできる。例えば、図１７のアクセス制御テーブル２３０１の行２３４１、２３４３、及び２３４５に示されるように、ストレージ１０００１だけがステータス管理テーブルの１行目にアクセスできる。他のストレージは、ステータス管理テーブルの１行目にはアクセスできない。
【００４９】
００６９    第３の実施形態  仮想マシンへのパッチの適用
【００５０】
００７０    第３の実施形態のシステム構成は、第１の実施形態のシステム構成とほぼ同じである。以下は、第１の実施形態の特徴と異なる第３の実施形態の特徴だけを説明する。
【００５１】
００７１    図１８は、第３の実施形態に従ったサーバ１３００の構成の一例を示す。ローカルディスク１３６０は、ハイパーバイザ３１００及び仮想マシン（ＶＭ）３２００を含む。ローカルディスク１３６０は、他の実施形態において２つ以上のハイパーバイザ３１００及び２つ以上の仮想マシン３２００を含んでもよい。ハイパーバイザ３１００は、メモリ１３４０にロードされ、プロセッサ１３５０によって実行される。２つ以上の仮想マシン３２００は、メモリ１３４０にロードされ、プロセッサ１３５０によってハイパーバイザ３１００上で実行される。
【００５２】
００７２    図１９は、第３の実施形態に従ったサーバ１３００−Ａ、１３００−Ｂ及びストレージサブシステム１４００−Ａ、１４００Ｂを含むデータセンターシステムの論理構成の一例を示す。ハイパーバイザ３１００−Ａは、サーバ１３００−Ａのメモリ１３４０−Ａ上で実行される。ＶＭ−０１  ３２００−Ａ及びＶＭ−０２  ３２００−Ｂは、ハイパーバイザ３１００−Ａ上で実行される。ハイパーバイザ３１００−Ｂは、サーバ１３００−Ｂのメモリ１３４０−Ｂ上で実行される。ＶＭ−０３  ３２００−Ｃは、ハイパーバイザ３１００−Ｂ上で実行される。
【００５３】
００７３    第１の実施形態では、各サーバ１３００は、マッピング管理テーブル２１０１を参照することによってファームウェアをダウンロードできる（図１８を参照）。同様の方法で、仮想マシンは、第３の実施形態でパッチをダウンロードできる。ハイパーバイザ３１００は、メモリ１３４０にマッピング管理テーブル２１０１を有する。マッピング管理テーブル２１０１では、ストレージサブシステム１４００上にパッチが位置していることが記載されている。仮想マシン３２００は、仮想マシンのパッチ３２１０の位置を問い合わせる。最新のパッチが存在する場合は、仮想マシンは、最新のパッチをダウンロードし、これをインストールする。
【００５４】
００７４    仮想マシンは、ハイパーバイザとハイパーバイザの間でマイグレートしてもよい。ライブマイグレーションなどのマイグレーション技術が知られている。例えば、ＶＭ−０２は、ライブマイグレーション機能を使用することによって、サーバ１３００−Ａ上のハイパーバイザ３１００−Ａからサーバ１３００−Ｂ上のハイパーバイザ３１００−Ｂにマイグレートされる。その場合、ＶＭ−０２は、ハイパーバイザ３１００−Ｂのパッチの位置を問い合わせることによってパッチ３２１０−Ｂにアクセスできる。たとえ仮想マシンがライブマイグレーションによって移動されても、上記のようにして、仮想マシンは、近い又はローカルのストレージサブシステムから最新のパッチをダウンロードできる。
【００５５】
００７５    第４の実施形態  集中型プラットフォーム環境における仮想マシンへのパッチの適用
【００５６】
００７６    集中型プラットフォームは、サーバ、ネットワーク、及びストレージのすべてが一つに組み込まれた１つのハードウェア構成である。以下では、第３の実施形態の特徴と異なる第４の実施形態の特徴だけを説明する。
【００５７】
００７７    図２０は、第４の実施形態に従ったデータセンターシステムのシステム構成の一例を示す。以下では、図１の特徴と異なる特徴のみを説明する。データセンター１１０１は、集中型プラットフォーム１５００及び管理サーバ１２００を含む。集中型プラットフォーム１５００は、サーバ１３００、ストレージサブシステム１４００、及びインターコネクト１５１０を含む。複数の集中型プラットフォーム１５００は、データネットワーク１０３０を介して接続される。集中型プラットフォーム１５００と管理サーバ１２００は、管理ネットワーク１０２０を介して接続される。
【００５８】
００７８    図２１は、第４の実施形態に従って集中型プラットフォーム１５００を含むシステムの論理構成の一例を示す。本実施形態では、マッピング管理テーブルは、第１の実施形態とは異なる方法で作成することができる。例えば、プログラムは、１つの集中型プラットフォームから１つのストレージサブシステムを選択する。集中型プラットフォームのすべてのサーバは、選択されたストレージサブシステムを参照する。これを行うことによって、すべてのサーバは、「ローカルディスク」からパッチをダウンロードすることができる。その結果、集中型プラットフォーム１５００間のライブマイグレーションが発生した場合に、パッチの参照を自動的に切り替えることができる。例えば、ハイパーバイザ３１００−Ａ上のＶＭ−０１  ３２００−Ａ及びＶＭ−０２  ３２００−Ｂは、集中型プラットフォーム１５００−Ａのストレージサブシステム１４００−Ａ上のパッチ３２１０−Ａを参照する。ＶＭ−０２がサーバ１３００−Ｂにマイグレートされた場合、「ローカルディスク」への参照は、ストレージサブシステム１４００−Ｂに変更される。従って、ハイパーバイザ３１００−Ｂ上のＶＭ−０２  ３２００−Ｂは、集中型プラットフォーム１５００−Ｂのストレージサブシステム１４００−Ｂ上のパッチ３２１０−Ｂを参照する。たとえ仮想マシンがライブマイグレーションによって移動しても、上記のようにして、仮想マシンは、ローカルストレージサブシステムから最新のパッチをダウンロードできる。
【００５９】
００７９    当然のことながら、図１及び図２０に示すシステム構成は、本発明が実施され得る情報システムの単なる例示であり、本発明は特定のハードウェア構成に限定されない。本発明を実施するコンピュータ及びストレージシステムは、上述の発明を実施するために用いられるモジュール、プログラム及びデータ構造を格納しかつ読み出すことができる公知のＩ／Ｏ装置（例えば、ＣＤ及びＤＶＤドライブ、フロッピー（登録商標）ディスクドライブ、ハードドライブ等）も有し得る。これらのモジュール、プログラム及びデータ構造は、当該コンピュータ読取可能媒体上で符号化することができる。例えば、本発明のデータ構造は、本発明で使用されるプログラムが存在する一つ以上のコンピュータ読取可能媒体から独立したコンピュータ読取可能媒体に格納することができる。システムの構成要素は、あらゆる形態又は媒体のデジタルデータ通信（例えば、通信ネットワーク）によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク、ワイドエリアネットワーク（例えば、インターネット）、無線ネットワーク、ストレージエリアネットワーク等を含む。
【００６０】
００８０    説明では、本発明を徹底的に理解できるようにするために説明する目的で多くの詳細が記載されている。しかし、当業者にとっては、本発明を実施するためにはこれら具体的な詳細のすべてが必要なわけではないことは明らかであるだろう。また、留意すべき点として、本発明は、通常はフローチャート、流れ図、構成図又はブロック図として記載されるプロセスとして説明されてもよい。フローチャートでは動作を逐次プロセスとして説明し得るが、動作の多くは並行して又は同時に実行することができる。さらに、動作の順番は並び替えてもよい。
【００６１】
００８１    当技術分野では周知であるように、上述の動作は、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアの組み合わせによって実行することができる。本発明の実施形態の様々な態様は、回路や論理装置（ハードウェア）を用いて実施してよく、その一方で、その他の態様は、機械読み取り可能媒体（ソフトウェア）上に記憶された命令を用いて実施してもよく、これがプロセッサによって実行された場合には、本発明の実施形態を実行する方法をプロセッサに実施させるものである。さらに、本発明のいくつかの実施形態は、ハードウェアのみにおいて実施されてよく、その他の実施形態は、ソフトウェアのみで実施されてよい。さらに、説明された様々な機能は、一つのユニットで実施することができ、又はあらゆる方法によって多くの構成要素に分散することができる。ソフトウェアによって実施された場合、上記の方法は、コンピュータ読取可能媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行され得る。望ましい場合には、圧縮及び／又は暗号化形式で命令を媒体に記憶することができる。
【００６２】
００８２    上記により、本発明が、ファームウェア／パッチをデプロイするための方法、装置及びコンピュータ読取可能媒体に記憶されたプログラムを提供するものであることが明らかであろう。さらに、本明細書において特定の実施形態が示され説明されているが、当業者にとって当然のことながら、開示された特定の実施形態の代わりに、同じ目的を達成するために創出されたいかなる構成を用いてもよい。本開示は、本発明のあらゆる適応又はバリエーションを対象とすることを意図したものであり、また以下の請求項で用いられる用語は、本発明を本明細書で開示されている特定の実施形態に限定するものとは解釈されるべきではないことが理解される。むしろ本発明の範囲は、以下の請求項によって全面的に判断されるものであり、以下の請求項は、当該請求項が権利を有する同等物の範囲全体と共に、請求項の解釈について確立された原則に従って解釈されるものである。
【図１】
2012212423.tif 000003
【図２】
2012212423.tif 000004
【図３】
2012212423.tif 000005
【図４】
2012212423.tif 000006
【図５】
2012212423.tif 000007
【図６】
2012212423.tif 000008
【図７】
2012212423.tif 000009
【図８】
2012212423.tif 000010
【図９Ａ】
2012212423.tif 000011
【図９Ｂ】
2012212423.tif 000012
【図１０】
2012212423.tif 000013
【図１１】
2012212423.tif 000014
【図１２】
2012212423.tif 000015
【図１３】
2012212423.tif 000016
【図１４】
2012212423.tif 000017
【図１５】
2012212423.tif 000018
【図１６】
2012212423.tif 000019
【図１７Ａ】
2012212423.tif 000020
【図１７Ｂ】
2012212423.tif 000021
【図１８】
2012212423.tif 000022
【図１９】
2012212423.tif 000023
【図２０】
2012212423.tif 000024
【図２１】
2012212423.tif 000025
【外国語明細書】
2012212423000001.pdf