(57)【要約】  管理システムは、記憶デバイスとプロセッサとを有する。記憶デバイスは、データベースを利用してストレージシステムに係る情報を制御する情報処理プログラムを保持する。プロセッサは、情報処理プログラムと、当該情報処理プログラムが利用するデータベースと、を更新する更新プログラムを実行する。更新プログラムは、更新前の情報処理プログラムが利用するデータベースの少なくとも一部のサイズと、更新後の情報処理プログラムが利用するデータベースの構成と、に基づいて、情報処理プログラム及びデータベースの更新にかかる推定更新時間を算出し、その算出した推定更新時間を出力する。
2017002194.tif 000002
【特許請求の範囲】
【請求項１】
ストレージシステムを管理する管理システムであって、
データベースを利用してストレージシステムに係る情報を管理する情報処理プログラム、を保持する記憶デバイスと、
前記情報処理プログラムと当該情報処理プログラムが利用するデータベースと、を更新する更新プログラム、を実行するプロセッサと
を有し、
前記更新プログラムは、
更新前の情報処理プログラムが利用するデータベースの少なくとも一部のサイズと、更新後の情報処理プログラムが利用するデータベースの構成と、に基づいて、前記情報処理プログラム及び前記データベースの更新にかかる推定時間である推定更新時間を算出し、
その算出した推定更新時間を出力する
管理システム。
【請求項２】
前記推定更新時間の算出には、所定の処理性能を有するプロセッサで前記更新プログラムを実行して所定のＩ／Ｏ性能を有するデータベースを更新した場合にかかる時間である基準更新時間が用いられる
請求項１に記載の管理システム。
【請求項３】
前記更新プログラムは、前記基準更新時間を含む
請求項２に記載の管理システム。
【請求項４】
前記基準更新時間は、前記更新プログラムの配布前に前記ストレージシステムのベンダーによって算出される
請求項３に記載の管理システム。
【請求項５】
前記推定更新時間の算出には、前記更新プログラムが実行されるプロセッサの処理性能と、前記更新プログラムによって更新されるデータベースのＩ／Ｏ性能と、に基づいて前記基準更新時間を変換した値が用いられる
請求項２に記載の管理システム。
【請求項６】
前記更新プログラムがデータベースを更新する処理は、
更新前のデータベースに新規項目を追加する処理と、
更新前のデータベースの少なくとも一部の情報を用いて新規項目に係る初期値を算出する処理と、
その算出した初期値を、少なくとも一部のレコードの新規項目に格納する処理と、
を含む
請求項２に記載の管理システム。
【請求項７】
前記更新プログラムは、
前記ストレージシステムの過去の処理負荷の傾向に基づいて、１日間のうち当該ストレージシステムの処理負荷の傾向が閾値以上となる高負荷時間帯を算出し、
当該更新プログラムの開始予定時刻及び前記推定更新時間に基づいて、当該更新プログラムの終了予定時刻を算出し、
前記開始予定時刻から前記終了予定時刻までの時間帯が、前記高負荷時間帯の少なくとも一部と重複している場合、その旨を表示する
請求項２に記載の管理システム。
【請求項８】
前記更新プログラムは、
前記推定更新時間が前記高負荷時間帯の何れにも重複しない時刻を算出し、その算出した時刻を、推奨する開始予定時刻として表示する
請求項７に記載の管理システム。
【請求項９】
前記更新プログラムは、
前記推奨する開始予定時刻と、前記推定更新時間と、前記高負荷時間帯とを表示し、
前記開始予定時刻の入力を受け付ける
請求項７に記載の管理システム。
【請求項１０】
複数の更新プログラムの実行を管理する更新管理プログラムは、前記プロセッサで実行されると、
前記複数の更新プログラムのそれぞれの進捗状況及び前記終了予定時刻と、前記複数の更新プログラムの全ての進捗状況及び終了予定時刻と、を表示する
請求項７に記載の管理システム。
【請求項１１】
ストレージシステムを管理する方法であって、
記憶デバイスが、データベースを利用してストレージシステムに係る情報を制御する情報処理プログラムを保持しており、
プロセッサが、前記情報処理プログラムと当該情報処理プログラムが利用するデータベースと、を更新する更新プログラムを実行すると、
更新前の情報処理プログラムが利用するデータベースの少なくとも一部のサイズと、更新後の情報処理プログラムが利用するデータベースの構成とに基づいて、前記情報処理プログラム及び前記データベースの更新にかかる推定時間である推定更新時間を算出し、
その算出した推定更新時間を出力する
管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、ストレージシステムを管理する技術に関する。
【背景技術】
【０００２】
計算機にインストールされているプログラムを更新する際に、更新プログラムのファイルサイズからその更新にかかると推定される時間を算出し、その算出した時間を表示する技術が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６―２２７８７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ストレージシステムを構成するサーバにインストールされているプログラムの更新にかかると推定される時間を、更新プログラムのファイルサイズから算出した場合、実際の更新にかかる時間と大きく乖離してしまうことがある。例えば、更新対象のプログラムがＤａｔａＢａｓｅ（ＤＢ）を利用しており、そのＤＢの構成及び値なども合わせて更新する必要がある場合、更新時間は、そのＤＢのサイズなどによって大きく変わってしまう。【０００５】
そこで本発明の目的は、ストレージシステムを構成するサーバにインストールされているプログラムの更新時間を、より正確に推定することにある。
【課題を解決するための手段】
【０００６】
本発明の一実施例に係る管理システムは、ストレージシステムを管理するシステムであり、記憶デバイス及びプロセッサを有する。記憶デバイスは、データベースを利用してストレージシステムに係る情報を制御する情報処理プログラムを保持する。プロセッサは、情報処理プログラムと、当該情報処理プログラムが利用するデータベースと、を更新する更新プログラムを実行する。更新プログラムは、更新前の情報処理プログラムが利用するデータベースの少なくとも一部のサイズと、更新後の情報処理プログラムが利用するデータベースの構成と、に基づいて、情報処理プログラム及びデータベースの更新にかかる推定時間である推定更新時間を算出し、その算出した推定更新時間を出力する。
【発明の効果】
【０００７】
本発明によれば、ストレージシステムを構成するサーバにインストールされているプログラムの更新時間をより正確に推定することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施例に係るストレージシステムの構成例を示す。
【図２】更新選択のＧｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＧＵＩ）の例を示す。
【図３】更新時刻のＧＵＩの例を示す。
【図４】警告ダイアログの例を示す。
【図５】更新進捗のＧＵＩの例を示す。
【図６】各バージョンの管理ＤＢの構成例を示す。
【図７】各バージョンの監視ＤＢの構成例を示す。
【図８】性能比率の算出方法の例を示す。
【図９】推定更新時間の算出方法の例を示す。
【図１０】更新予約処理のフローチャート例を示す。
【図１１】更新実行処理のフローチャート例を示す。
【発明を実施するための形態】
【０００９】
以下、一実施例を説明する。以下の説明では、「ａａａデータベース」、「ａａａテーブル」又は「ａａａリスト」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「ａａａデータベース」、「ａａａテーブル」又は「ａａａリスト」を「ａａａ情報」と呼ぶことができる。
【００１０】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ））によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び通信インターフェイスデバイスのうちの少なくとも１つを用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する装置とされてもよい。プロセッサが行う処理の一部又は全部が、ハードウェア回路で行われてもよい。コンピュータプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア（例えば可搬型の記憶メディア）であってもよい。
【００１１】
また、以下の説明では、計算機システムに含まれる少なくとも１つの装置を管理する１以上の計算機の集合を「管理システム」と呼ぶことがある。管理計算機が表示用情報を表示する場合は管理計算機が管理システムでよい。また、管理計算機と表示用計算機の組み合わせも管理システムでよい。また、管理処理の高速化や高信頼化のために複数の計算機で管理計算機と同等の処理を実現してもよく、この場合はそれら複数の計算機（表示を表示用計算機が行う場合は表示用計算機も含んでよい）が管理システムでよい。本実施例では、管理計算機が管理システムである。また、管理計算機が情報を表示するとは、管理計算機が有する表示デバイスに情報を表示することであってもよいし、管理計算機（例えばサーバ）に接続された表示用計算機（例えばクライアント）に表示用情報を送信することであってもよい。後者の場合、表示用計算機が有する表示デバイスに表示用情報が表す情報が表示用計算機によって表示される。
【００１２】
また、以下の説明では、同種の要素を区別して説明する場合には、「ａａａ３０１Ａ」、「ａａａ３０１Ｂ」のように、参照符号を使用し、同種の要素を区別しないで説明する場合には、「ａａａ３０１」のように参照符号のうちの共通番号のみを使用することがある。
【実施例１】
【００１３】
図１は、本実施例に係るストレージシステム及び管理システムの構成例を示す。【００１４】
ストレージシステムは、ストレージ装置１８、及び、業務サーバ１６を有する。管理システムは、ストレージシステムを管理する。管理システムは、管理サーバ１２及び監視サーバ１４の少なくとも１つを有する。管理システムは、さらに、管理クライアント１０を有してよい。なお、このストレージシステム及び管理システムの構成は、あくまで一例であり、管理システムがストレージシステムの構成要素の一部を含んでもよいし、ストレージシステムが管理システムの構成要素の一部を含んでもよい。【００１５】
管理サーバ１２、管理クライアント１０、監視サーバ１４、及び、業務サーバ１６は、ネットワーク２０を介して、双方向通信可能に接続される。ネットワーク２０は、例えば、Ｌｏｃａｌ  Ａｒｅａ  ｎｅｔｗｏｒｋ（ＬＡＮ）である。【００１６】
監視サーバ１４、業務サーバ１６、及び、ストレージ装置１８は、ネットワーク２２を介して、双方向通信可能に接続される。ネットワーク２２は、例えば、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ−Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＦＣ−ＳＡＮ）である。【００１７】
管理サーバ１２、及び、ストレージ装置１８は、ネットワーク２４（又は所定のケーブル）を介して、双方向通信可能に接続される。ネットワーク２４は、例えば、ＬＡＮである。【００１８】
ストレージ装置１８は、複数の不揮発性の記憶デバイス（不図示）を備える。記憶デバイスは、例えば、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ（ＨＤＤ）又はＳｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ（ＳＳＤ）である。ストレージ装置１８は、複数の記憶デバイスからＲｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（ＲＡＩＤ）グループを構成してよい。ストレージ装置１８は、ＲＡＩＤグループからＬｏｇｉｃａｌ  Ｄｅｖｉｃｅ（ＬＤＥＶ）４２を構成してよい。ＬＤＥＶは、論理ボリュームと呼ばれてもよい。ストレージ装置１８は、その構成したＬＤＥＶ４２を業務サーバ１６に提供してよい。これらの機能は、ストレージ装置１８の有するストレージコントローラ４０が、所定のプログラムを実行することにより実現されてよい。ストレージコントローラ４０は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）及びメモリを含む構成であってよい。【００１９】
業務サーバ１６は、業務に関する処理を行う装置である。業務サーバ１６は、ストレージ装置１８にリード要求を発行し、自らに提供されているＬＤＥＶ４２からデータをリードできる。業務サーバ１６は、ストレージ装置１８にライト要求を発行し、自らに提供されているＬＤＥＶ４２にデータをライトできる。【００２０】
監視サーバ１４は、監視プログラムを実行して、業務サーバ１６、ストレージ装置１８、管理サーバ１２、及び、ネットワーク２０、２２、２４、のうちの少なくとも１つの状態を監視する装置である。例えば、監視プログラムは、業務サーバ１６のＣＰＵ使用率及びメモリ空き容量の情報を定期的に収集する。監視プログラムによって収集される情報を「監視情報」と呼んでよい。監視プログラムは、定期的に収集したこれらの監視情報を、監視ＤＢに登録して管理する。監視プログラムの更新によって監視情報の種類が増える場合（例えば、ＣＰＵ温度を新たに監視対象とする場合）、それに合わせて監視ＤＢの項目（カラム）も増やす必要がある。反対に、監視プログラムの更新によって監視情報の種類が減る場合（例えば、監視対象であったＣＰＵ温度を非監視対象とする場合）、それに合わせて監視ＤＢの項目（カラム）も減らす必要がある。【００２１】
管理サーバ１２は、管理プログラムを実行して、ストレージシステム全体を管理する装置である。例えば、管理プログラムは、複数の業務サーバ１６の何れの業務サーバ１６に、何れのＬＤＥＶ４２が提供されているかを管理する。管理プログラムは、業務サーバ１６とＬＤＥＶ４２とを結ぶパス（「ディスクパス」という）を管理してよい。管理プログラムは、それぞれのＬＤＥＶ４２が何れのプールに属しているかを管理してよい。管理プログラムによって管理される情報をまとめて「管理情報」という。管理プログラムは、これらの管理情報を管理ＤＢに登録して管理する。管理プログラムの更新によって管理情報の種類が増える場合（例えば、ＬＤＥＶ４２が属するプールを新たに管理対象とする場合）、それに合わせて管理ＤＢの項目（カラム）も増やす必要がある。反対に、管理プログラムの更新によって管理情報の種類が減る場合（例えば、管理対象であったＬＤＥＶ４２が属するプールを非管理対象とする場合）、それに合わせて管理ＤＢの項目（カラム）も減らす必要がある。【００２２】
なお、管理サーバ１２は、管理プログラム及び監視プログラムの両方を実行してもよい。この場合、管理サーバ１２は、管理ＤＢ及び監視ＤＢを有してよい。また、管理サーバ１２は、複数の監視プログラムを実行してよい。この場合、管理サーバ１２は、監視プログラム毎に監視ＤＢを有してもよい。また、管理サーバ１２及び監視サーバ１４の少なくとも１つを含むサーバを、情報処理サーバと呼んでよい。また、管理プログラム及び監視プログラムの少なくとも１つを含むプログラムを、情報処理プログラムと呼んでよい。【００２３】
管理クライアント１０は、ユーザが、管理サーバ１２及び／又は監視サーバ１４を管理するための装置である。管理クライアント１０は、ネットワーク２０を通じて、管理サーバ１２及び／又は管理サーバ１４にアクセス可能であってよい。ユーザは、管理クライアント１０を介して、管理サーバ１２の管理プログラム及び／又は監視プログラム、並びに／若しくは、監視サーバ１４の監視プログラムを更新できてよい。例えば、ユーザが、管理クライアント１０で一括インストーラ９０を実行すると、その一括インストーラ９０に含まれる更新プログラム１００が、管理サーバ１２の管理プログラム及び／又は監視プログラム、並びに／若しくは、監視サーバ１４の監視プログラムを更新してよい。【００２４】
一括インストーラ９０は、実行されると、更新選択のＧＵＩ２００（図２参照）、更新時刻のＧＵＩ２４０（図３参照）、及び／又は、更新進捗のＧＵＩ２６０（図４参照）を適宜管理クライアント１０のディスプレイデバイスに表示してよい。【００２５】
なお、一括インストーラ９０は、管理サーバ１２又は監視サーバ１４で、直接実行されてもよい。この場合、これらのＧＵＩ２００、２４０、２６０は、管理サーバ１２又は監視サーバ１４のディスプレイデバイスに表示されてよい。例えば、ユーザが、管理サーバ１２の有する光学ドライブに一括インストーラ９０の記録されている光学ディスクを挿入して実行すると、これらのＧＵＩ２００、２４０、２６０が適宜表示されてもよい。【００２６】
次に、図１を用いて、本実施例の処理概要を述べる。【００２７】
（Ｓ１０）一括インストーラ９０は、実行されると、更新選択のＧＵＩ２００を表示する。【００２８】
（Ｓ１１）ユーザは、更新選択のＧＵＩ２００を操作して、実行対象とする更新プログラム１００を選択する。ここで、更新プログラム１００は、管理サーバ１２の情報処理プログラム１０２を更新するためのプログラムである。【００２９】
（Ｓ１２）一括インストーラ９０は、更新時刻のＧＵＩ２４０を表示する。更新時刻のＧＵＩ２４０は、Ｓ１１で選択された更新プログラム１００が実行されて更新処理が完了するまでにかかると推定される時間（「推定更新時間」という）を表示してよい。一括インストーラ９０は、現バージョンであるプログラム１０２に対応するＤＢ１０４の少なくとも一部のサイズと、新バージョンである更新プログラム１００に対応するＤＢの項目（カラム）の増減と、に基づいて、推定更新時間を算出してよい。図１の例は、現バージョンであるプログラム１０２に対応するＤＢ１０４の項目Ａ〜Ｄに対して、新バージョンである更新プログラム１００に対応するＤＢの項目Ｅ、Ｆ（つまり２つの項目）が増加していることを示す。【００３０】
（Ｓ１３）ユーザは、更新時刻のＧＵＩ２４０を操作して、更新プログラム１００の開始予定時刻を設定する。【００３１】
（Ｓ１４）一括インストーラ９０は、更新進捗のＧＵＩ２６０を表示する。更新進捗のＧＵＩ２６０は、更新プログラム１００の開始予定時刻を表示してよい。【００３２】
（Ｓ１５）一括インストーラ９０は、Ｓ１３で設定された開始予定時刻になったら、更新プログラム１００の実行を開始する。このとき、更新進捗のＧＵＩ２６０は、更新全体の進捗状況と、個々の更新プログラム１００の進捗状況と、を合わせて表示してよい。【００３３】
図２は、更新選択のＧＵＩ２００の例を示す。【００３４】
更新選択のＧＵＩ２００は、一括インストーラ９０に含まれる複数の更新プログラムの中から、実行対象を選択するためのＧＵＩである。【００３５】
例えば、更新選択のＧＵＩ２００は、一括インストーラ９０に含まれる更新プログラム毎に、チェックボックス２０２、プログラム名２０４、現バージョン２０６、新パージョン２０８を表示する。【００３６】
プログラム名２０４は、更新プログラムの名称である。【００３７】
チェックボックス２０２は、プログラム名２０４の更新プログラムを実行対象とするか否かを設定するものである。例えば、ユーザは、実行対象とする更新プログラムのチェックボックス２０２をオンにする。【００３８】
現バージョン２０６は、プログラム名２０４の更新プログラムによって更新されるプログラムの現在のバージョンである。【００３９】
新バージョン２０８は、プログラム名２０４の更新プログラムによって更新された後のプログラムのバージョンである。【００４０】
一括インストーラ９０は、実行されると、図２のような更新選択のＧＵＩ２００を生成し、その生成したＧＵＩ２００を所定のディスプレイデバイスに表示してよい。ユーザは、このＧＵＩ２００の次ボタン２１０を押下して、実行対象の更新プログラムを、管理サーバ１２に指示することができる。【００４１】
図３は、更新時刻のＧＵＩ２４０の例を示す。【００４２】
更新時刻のＧＵＩ２４０は、更新選択のＧＵＩ２００によって実行対象に選択された更新プログラムについて、その更新プログラムの実行時刻を設定するためのＧＵＩである。【００４３】
例えば、更新時刻のＧＵＩ２４０は、実行対象の更新プログラム毎に、プログラム名２４２、サーバ名２４４、推定更新時間２４６、高負荷時間帯２４８、推奨開始時刻２５０、開始予定時刻２５２、終了予定時刻２５４を表示する。【００４４】
プログラム名２４２は、実行対象の更新プログラムの名称である。【００４５】
サーバ名２４４は、プログラム名２４２の更新プログラムが実行されるサーバの名称である。【００４６】
推定更新時間２４６は、サーバ名２４４のサーバにおいて、プログラム名２４２の更新プログラムを実行し終えるまでにかかると推定される時間である。推定更新時間２４６の算出方法例は後述する（図９参照）。【００４７】
高負荷時間帯２４８は、プログラム名２４２の更新プログラムが管理対象又は監視対象とする装置の１日間のうち、特に処理負荷が高くなると予測される時間帯である。高負荷時間帯２４８は、管理対象又は監視対象の装置の過去の処理負荷の統計に基づいて算出されてよい。例えば、過去の処理負荷の履歴から１日間における各時間帯の処理負荷の平均を算出し、その処理負荷の平均が所定の閾値以上の時間帯を高負荷時間帯２４８としてよい。【００４８】
推奨開始時刻２５０は、サーバ名２４４のサーバにおいて、プログラム名２４２の更新プログラムの実行を開始するのに推奨される時刻である。一括インストーラ９０は、開始予定時刻２５２から終了予定時刻２５４までの時間帯が、高負荷時間帯２５８の少なくとも一部と重複しないように、推奨開始時刻２５０を決定してよい。【００４９】
開始予定時刻２５２は、サーバ名２４４のサーバにおいて、プログラム名２４２の更新プログラムの実行開始予定の時刻である。開始予定時刻２５２の初期値は、ＮＵＬＬ、現在時刻、又は、推奨開始時刻２５０の何れかの時刻であってよい。ユーザは、開始予定時刻２５２の初期値を自ら入力して、任意の時刻に変更できてよい。【００５０】
終了予定時刻２５４は、サーバ名２４４のサーバにおいて、プログラム名２４２の更新プログラムの実行終了予定の時刻である。終了予定時刻２５４は、開始予定時刻２５２に推定更新時間２４６を加算した時刻であってよい。終了予定時刻２５４は、ユーザが開始予定時刻２５２を変更すると、それに合わせて更新されてよい。【００５１】
また、更新時刻のＧＵＩ２４０は、開始予定時刻２５２から終了予定時刻２５４までの時間帯が、高負荷時間帯２５８の少なくとも一部と重複する場合、例えば図４のような、その旨を警告するダイアログを表示してもよい。【００５２】
図５は、更新進捗のＧＵＩ２６０の例を示す。【００５３】
更新進捗のＧＵＩ２６０は、実行対象に選択された全ての更新プログラムの進捗、実行対象に選択された各更新プログラムの進捗、及び、各更新プログラムの開始予定時刻等を表示するためのＧＵＩである。【００５４】
例えば、更新進捗のＧＵＩ２６０は、全体２７０及び各更新プログラム２７２について、プログレスバー２６２、開始予定時刻２６４、終了予定時刻２６６、終了時刻２６８を表示する。【００５５】
全体２７０に対応するプログレスバー２６２は、全ての更新についての進捗状況を表す。【００５６】
各更新プログラム２７２に対応するプログレスバー２６２は、それぞれの更新プログラムについての進捗状況を表す。【００５７】
全体２７０に対応する開始予定時刻２６４及び終了予定時刻２６６は、全ての更新についての開始予定時刻及び終了予定時刻を表す。【００５８】
各更新プログラム２７２に対応する開始予定時刻２６４及び終了予定時刻２６６は、それぞれの更新プログラムについての開始予定時刻及び終了予定時刻を表す。【００５９】
終了時刻２６８は、実際に更新が終了した時刻である。【００６０】
図６は、各バージョンの管理ＤＢ３０１の構成例を示す。管理ＤＢ３０１は、管理プログラムから利用される。【００６１】
図６において、管理ＤＢ３０１Ａは、Ｖｅｒ．１の管理ＤＢが、カラムとして、業務サーバ名３１０、サーバＨｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ（ＨＢＡ）３１２、ストレージＨＢＡ３１４、及び、ＬＤＥＶ３１６を有することを示す。【００６２】
業務サーバ名３１０は、管理プログラムが管理する業務サーバ１６の名称である。【００６３】
サーバＨＢＡ３１２は、業務サーバ名３１０の業務サーバ１６側のＨＢＡの識別子である。【００６４】
ストレージＨＢＡ３１４は、ストレージ装置１８側のＨＢＡの識別子である。【００６５】
ＬＤＥＶ３１６は、業務サーバ名３１０の業務サーバ１６に提供されるＬＤＥＶ４２の識別子である。【００６６】
図６の管理ＤＢ３０１Ａの業務サーバ名３１０「サーバＡ」のレコードは、「サーバＡ」の業務サーバ１６が、「ＡＢＣＤ０１２３４」のサーバＨＢＡ３１２と、「０１２３４ＡＢＣＤ」のストレージＨＢＡ３１４とを結ぶディスクパスを介して、「Ｌ０１」（３１６）のＬＤＥＶ４２にアクセス可能であることを示す。【００６７】
管理ＤＢ３０１Ｂは、Ｖｅｒ．２の管理ＤＢが、カラムとして、Ｖｅｒ．１の管理ＤＢ３０１Ａの有するカラムに加え、Ａ方式プールデバイス３１８を有することを示す。【００６８】
管理ＤＢ３０１Ｃは、Ｖｅｒ．３の管理ＤＢが、カラムとして、Ｖｅｒ．２の管理ＤＢ３０１Ｂの有するカラムから、Ａ方式プールデバイス３１８が削除されていることを示す。【００６９】
したがって、管理プログラムをＶｅｒ．１からＶｅｒ．２に更新する場合は、管理ＤＢ３０１Ａに、Ａ方式プールデバイス３１８のカラムを追加する必要がある。【００７０】
管理プログラムをＶｅｒ．２からＶｅｒ．３に更新する場合は、管理ＤＢ３０１Ｂから、Ａ方式プールデバイスのカラムを削除する必要がある。【００７１】
管理プログラムをＶｅｒ．１からＶｅｒ．３に更新する場合は、管理ＤＢ３０１Ａのカラムを変更する必要がない。Ｖｅｒ．１の管理ＤＢ３０１Ａの有するカラムと、Ｖｅｒ．３の管理ＤＢ３０１Ｃの有するカラムとが、同じだからである。【００７２】
図７は、各バージョンの監視ＤＢ４０１の構成例を示す。監視ＤＢ４０１は、監視プログラムから利用される。【００７３】
図７において、監視ＤＢ４０１Ａは、Ｖｅｒ．１の監視ＤＢが、カラムとして、収集時刻４１０、ＣＰＵ使用率４１２、及び、メモリ空き容量４１４を有することを示す。【００７４】
収集時刻４１０は、監視プログラムがＣＰＵ使用率４１２及びメモリ空き容量４１４の情報（つまり、監視情報）を収集した時刻である。【００７５】
ＣＰＵ使用率４１２は、監視プログラムが監視しているサーバの、収集時刻４１０におけるＣＰＵの使用率である。【００７６】
メモリ空き容量４１４は、監視プログラムが監視しているサーバの、収集時刻４１０におけるメモリの空き容量である。【００７７】
監視ＤＢ４０１Ｂは、Ｖｅｒ．２の監視ＤＢが、カラムとして、Ｖｅｒ．１の管理ＤＢ４０１Ａの有するカラムに加え、監視項目Ａ４１６を有することを示す。【００７８】
監視ＤＢ４０１Ｃは、Ｖｅｒ．３の監視ＤＢが、カラムとして、Ｖｅｒ．２の管理ＤＢ４０１Ｂの有するカラムから、監視項目Ａ４１６が削除されていることを示す。【００７９】
監視ＤＢ４０１Ｄは、Ｖｅｒ．４の監視ＤＢが、カラムとして、Ｖｅｒ．３の管理ＤＢ４０１Ｃの有するカラムに加え、監視項目Ｂ４１８を有することを示す。【００８０】
したがって、監視プログラムをＶｅｒ．１からＶｅｒ．２に更新する場合は、監視ＤＢ４０１Ａに、監視項目Ａ４１６のカラムを追加する必要がある。【００８１】
監視プログラムをＶｅｒ．２からＶｅｒ．３に更新する場合は、監視ＤＢ４０１Ｂから、監視項目Ａ４１６のカラムを削除する必要がある。【００８２】
監視プログラムをＶｅｒ．１からＶｅｒ．３に更新する場合は、監視ＤＢ４０１Ａのカラムを変更する必要がない。Ｖｅｒ．１の監視ＤＢ４０１Ａの有するカラムと、Ｖｅｒ．３の監視ＤＢ４０１Ｃの有するカラムとが、同じだからである。【００８３】
監視プログラムをＶｅｒ．２からＶｅｒ．４に更新する場合は、監視ＤＢ４０１Ｂに対して、監視項目Ａ４１６のカラムを削除し、監視項目Ｂ４１８のカラムを追加する必要がある。【００８４】
図８は、性能比率の算出方法の例を示す。【００８５】
性能比率５０８は、基準の計算機の性能５０４と、更新実行先の計算機の性能５０６との比率を示す値である。性能比率５０８は、計算機のデバイスに係る項目５０２毎に算出されてよい。【００８６】
図８の例において、基準の計算機のＣＰＵの動作周波数５０４は「３．０ＧＨｚ」、更新実行先の計算機のＣＰＵの動作周波数５０６は「２．４ＧＨｚ」である。この場合、一括インストーラ９０は、ＣＰＵ５０２の性能比率５０８を、「２．４÷３．０×１００＝８０％」と算出してよい。【００８７】
また、基準の計算機のメモリの容量５０４は「１６００ＭＢ」、更新実行先のメモリの容量５０６は「１２００ＭＢ」である。この場合、一括インストーラ９０は、メモリ５０２の性能比率５０８を、「１２００÷１６００×１００＝７５％」と算出してよい。【００８８】
また、基準の計算機のディスクＩ／Ｏ速度５０４は「１０ＭＢ／ｓ」、更新実行先の計算機のディスクＩ／Ｏ速度５０６は「１２ＭＢ／ｓ」である。この場合、一括インストーラ９０は、ディスクＩ／Ｏ速度５０２の性能比率５０８を、「１２÷１０×１００＝１２０％」と算出してよい。【００８９】
更新実行先の計算機の性能５０６は、その計算機の実測に基づいて算出された値であってもよいし、計算機に予め定義されている値であってもよい。【００９０】
基準の計算機の性能５０４は、一括インストーラ９０のベンダーによって予め定義されている値であってよい。そして、一括インストーラ９０は、この基準の計算機の性能５０４を含んでよい。【００９１】
図９は、推定更新時間の算出方法の例を示す。【００９２】
一括インストーラ９０は、更新前後におけるＤＢのカラム構成の変化と、更新対象のＤＢに登録済みの情報の量と、更新実行対象の計算機の性能比率と、に基づいて、推定更新時間２４６を算出してよい。図９を用いて、その算出例を述べる。【００９３】
図６の場合において、管理プログラムをＶｅｒ．１からＶｅｒ．２に更新する場合、それに伴い、管理ＤＢ３０１Ａを、Ａ方式プールデバイス３１８のカラムを追加した管理ＤＢ３０１Ｂに更新する必要がある。この場合、更新プログラムは、管理ＤＢ３０１Ａに対して以下の処理を行う。【００９４】
（Ｓ３１）管理ＤＢ３０１Ａに、Ａ方式プールデバイス３１８のカラムを追加する（６０４）。このカラムの追加は、Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ（ＳＱＬ）コマンド（６０６）によって行われてよい。
（Ｓ３２）各レコードのＡ方式プールデバイス３１８のカラムに、初期値を格納する。この初期値は、管理ＤＢ３０１Ａに登録済みの値に基づいて算出されてよい。【００９５】
ここで、Ｓ３１の処理について、基準の計算機のＣＰＵによる１回の処理時間が「３０ｍｓ」（６０８）、基準の計算機のディスクＩ／Ｏに基づく１回の処理時間が「１０ｍｓ」であるとする（６１０）。更新実行先の計算サーバにおけるＣＰＵの性能比率が「８０％」（６０８）、ディスクＩ／Ｏ速度の性能比率が「１２０％」であるとする（６１０）。Ｓ３１の実行回数は「１回」であるので（６１２）、一括インストーラ９０は、Ｓ３１の処理時間を、「（３０×１×０．８）＋（１０×１×１．２）＝３６ｍｓ」（６１４）と算出する。【００９６】
また、Ｓ３２の処理について、基準の計算機のＣＰＵに基づく１回の処理時間が「５ｍｓ」（６０８）、基準の計算機のディスクＩ／Ｏに基づく１回の処理時間が「１０ｍｓ」であるとする（６１０）。Ｓ３２の実行回数は、管理ＤＢ３０１Ｂにレコード数となる。例えば、管理ＤＢ３０１Ａに登録済みの業務サーバの数が「１００」、管理ＤＢ３０１Ａに登録済みのＬＤＥＶの数が「１０００００」とすると、管理ＤＢ３０１Ｂのレコード数は「１００００×１００＝１００００００」となる。つまり、Ｓ３２の実行回数は「１００００００回」である（６１２）。したがって、一括インストーラ９０は、Ｓ３２の処理時間を、「（５×１００００００×０．８）＋（１０×１００００００×１．２）＝８３ｍｉｎ」（６１４）と算出する。【００９７】
この場合、一括インストーラ９０は、管理プログラムをＶｅｒ．１からＶｅｒ．２に更新するための推定更新時間を、管理ＤＢの更新時間を考慮して、「３６ｍｓ＋８３ｍｉｎ」と算出してよい。【００９８】
また、図６のように管理プログラムをＶｅｒ．２からＶｅｒ．３に更新すると、それに伴い、管理ＤＢ３０１Ｂを、Ａ方式プールデバイス３１８のカラムを削除した管理ＤＢ３０１Ｃに更新する必要がある。この場合、更新プログラムは、管理ＤＢ３０１Ｂに対して以下の処理を行う。【００９９】
（Ｓ３３）管理ＤＢ３０１Ｂから、Ａ方式プールデバイス３１８のカラムを削除する。【０１００】
ここで、Ｓ３３の処理について、基準の計算機のＣＰＵによる１回の処理時間が「３０ｍｓ」（６０８）、基準の計算機のディスクＩ／Ｏに基づく１回の処理時間が「１０ｍｓ」であるとする（６１０）。ＣＰＵの性能比率及びディスクＩ／Ｏ速度の性能比率は、上述と同じとする。Ｓ３３の実行回数は「１回」であるので（６１２）、一括インストーラ９０は、Ｓ３３の処理時間を、「（３０×１×０．８）＋（１０×１×１．２）＝３６ｍｓ」と算出する。【０１０１】
この場合、一括インストーラ９０は、管理プログラムをＶｅｒ．２からＶｅｒ．３に更新するための推定更新時間を、「３６ｍｓ」と算出してよい。【０１０２】
次に、管理プログラムをＶｅｒ．１からＶｅｒ．３に更新する場合を考える。Ｖｅｒ．２への更新プログラムは、Ｖｅｒ．１からＶｅｒ．２に更新するとき、管理ＤＢ３０１ＡにＡ方式プールデバイス３１８のカラムを追加する。しかし、Ｖｅｒ．３への更新プログラムは、Ｖｅｒ．２からＶｅｒ．３に更新するとき、管理ＤＢ３０１ＢからＡ方式プールデバイス３１８のカラムを削除する。つまり、管理プログラムをＶｅｒ．１からＶｅｒ．３に更新する場合、Ｖｅｒ．３への更新プログラムは、管理ＤＢ３０１Ａのカラム構成を変更する必要が無い。【０１０３】
この場合、一括インストーラ９０は、管理プログラムをＶｅｒ．１からＶｅｒ．３に更新するための推定更新時間を、「０」と算出してよい。【０１０４】
監視プログラムに係る推定更新時間の算出方法も、上述と同様である。【０１０５】
図１０は、更新予約処理のフローチャート例を示す。【０１０６】
一括インストーラ９０は、実行されると、例えば図２のような更新選択のＧＵＩ２００を表示する（Ｓ１００）。ユーザは、このＧＵＩ２００を介して、実行対象の更新プログラムを選択する。【０１０７】
一括インストーラ９０は、Ｓ１００で選択された更新プログラムのそれぞれについて、以下のＳ１０１〜Ｓ１０８のループ処理を行う（Ｓ１０１）。以下のＳ１０１〜Ｓ１０８のループ処理の説明において、処理対象の更新プログラムを、「対象更新プログラム」という。【０１０８】
一括インストーラ９０は、例えば図８で述べたように、対象更新プログラムが実行される計算機の性能比率を算出する（Ｓ１０２）。【０１０９】
一括インストーラ９０は、例えば図９で述べたように、対象更新プログラムが実行される計算機における推定更新時間を算出する（Ｓ１０４）。【０１１０】
一括インストーラ９０は、対象更新プログラムが実行される計算機の高負荷時間帯を算出する（Ｓ１０６）。【０１１１】
なお、性能比率の算出（Ｓ１０２）及び高負荷時間帯の算出（Ｓ１０６）は、それ以前の処理で算出済みの場合、省略されてよい。【０１１２】
Ｓ１０１〜Ｓ１０８のループ処理終了後、一括インストーラ９０は、例えば図３に示す更新時刻のＧＵＩ２４０を表示する（Ｓ１１０）。このＧＵＩ２４０に含まれる推定更新時間２４６、及び、高負荷時間帯２４８は、上述のループ処理で算出されている。【０１１３】
ユーザは、このＧＵＩ２４０に含まれる各更新プログラムの開始予定時刻２５２を入力又は変更してよい（Ｓ１１２）。ここで、開始予定時刻２５２が未入力の場合は、即時実行を意味するとしてもよい。【０１１４】
一括インストーラ９０は、各更新プログラムを、開始予定時刻２５２の早い順に実行リストに登録する（Ｓ１１４）。ここで、即時実行の更新プログラムは、実行リストの先頭に登録されてよい。【０１１５】
一括インストーラ９０は、更新実行処理を行う（Ｓ１１６）。この処理の詳細は後述する（図１１参照）。【０１１６】
そして、一括インストーラ９０は、本処理を終了する（ＥＮＤ）。これにより、一括インストーラ９０に含まれる更新プログラムが管理サーバ又は監視サーバで実行され、更新対象のプログラム及びＤＢが更新される。【０１１７】
以上の処理によれば、ユーザは、更新時刻のＧＵＩ２４０によって、各更新プログラムのより正確な推定更新時間２４６と、その更新プログラムが実行されるサーバの高負荷時間帯２４８と、を知ることができる。これにより、ユーザは、各更新プログラムの適切な開始予定時刻２５２を決めることができる。さらに、更新時刻のＧＵＩ２４０に推奨開始時刻２５０を表示することにより、ユーザは、各更新プログラムの適切な開始予定時刻２５２をより簡単に決めることができる。【０１１８】
図１１は、更新実行処理のフローチャート例を示す。本処理は、図１０のＳ１１６の詳細である。【０１１９】
一括インストーラ９０は、例えば図５のような更新進捗のＧＵＩ２６０を表示する（Ｓ２００）。【０１２０】
一括インストーラ９０は、実行リストに登録されている未実行の更新プログラムの中から、先頭の更新プログラムうを選択し、以下のＳ２０２〜Ｓ２１４のループ処理を行う（Ｓ２０２）。以下のＳ２０２〜Ｓ２１４のループ処理内の説明において、処理対象の更新プログラムを、「対象更新プログラム」という。【０１２１】
一括インストーラ９０は、現在時刻が対象更新プログラムの開始予定時刻を過ぎているか否かを判定する（Ｓ２０４）。【０１２２】
現在時刻が対象更新プログラムの開始予定時刻を過ぎていない場合（Ｓ２０４：ＮＯ）、一括インストーラ９０は、そのときまで待つ。【０１２３】
現在時刻が対象更新プログラムの開始予定時刻を過ぎている場合（Ｓ２０４：ＹＥＳ）、一括インストーラ９０は、次のＳ２１０及びＳ２１２の処理に進む。なお、対象更新プログラムの開始所定時刻が「即時実行」の場合、一括インストーラ９０は、Ｓ２０４を常に「ＹＥＳ」と判定する。【０１２４】
一括インストーラ９０は、更新プログラムを、実行対象のサーバで実行させる（Ｓ２１０）。【０１２５】
それと共に、一括インストーラ９０は、その実行中の更新プログラムの進捗状況を示す情報を取得し、その進捗状況を更新進捗のＧＵＩ２６０に反映する（Ｓ２１２）。【０１２６】
更新プログラムの実行完了後、一括インストーラ９０は、実行リスト内に未実行の更新プログラムが残っているか否かを判定し（Ｓ２１４）、未実行の更新プログラムが残っている場合、Ｓ２０２に戻る。未実行の更新プログラムが残っていない場合、一括インストーラ９０は、全ての更新を完了した旨をＧＵＩ２６０に表示し（Ｓ２２０）、本処理を終了する（ＥＮＤ）。【０１２７】
以上の処理によれば、ユーザは、更新進捗のＧＵＩ２６０によって、更新全体の進捗と、それぞれの更新の進捗とを、一度に知ることができる。また、ユーザは、更新全体の終了予定時刻と、それぞれの更新の終了予定時刻とを、一度に知ることができる。【０１２８】
上述した実施例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【符号の説明】
【０１２９】
１：ストレージシステム  １０：管理クライアント  １２：管理サーバ  １４：監視サーバ  １６：業務サーバ  １８：ストレージ装置
【図１】
2017002194.tif 000003
【図２】
2017002194.tif 000004
【図３】
2017002194.tif 000005
【図４】
2017002194.tif 000006
【図５】
2017002194.tif 000007
【図６】
2017002194.tif 000008
【図７】
2017002194.tif 000009
【図８】
2017002194.tif 000010
【図９】
2017002194.tif 000011
【図１０】
2017002194.tif 000012
【図１１】
2017002194.tif 000013
【国際調査報告】
2017002194.tif 000014
2017002194.tif 000015