以下図面について、本発明の一実施の形態を詳述する。
(1)計算機システムの構成
図1において、1は全体として第1の実施の形態による計算機システムを示す。計算機システム1は、運用自動化システム10と、サービス実行システム20と、ホスト計算機30と、ストレージ装置40とを含んで構成される。運用自動化システム10と、サービス実行システム20と、ホスト計算機30と、ストレージ装置40とは、ネットワーク50を介して互いに通信可能に接続される。かかる計算機システム1では、運用自動化システム10にて提供されるサービスに用いるパラメータ値が推奨される。以下、詳細について説明する。
運用自動化システム10は、システム運用の自動化を支援するシステムである。運用自動化システム10は、管理サーバ100と、管理サーバ100と通信可能に接続された管理クライアント200とを備える。管理サーバ100が管理クライアント200に送信した表示用情報に基づいて、管理クライアント200により情報が出力される。
かかる運用自動化システム10では、例えば、ユーザ自身が処理ステップ(コンポーネント)を定義し、処理ステップ同士を繋げたワークフローを組んで独自のサービスを容易に作ることができる。また、例えば、運用自動化システム10では、ユーザが作成したサービスを実行する際、当該サービスに係る操作履歴から同じ意味で使われているパラメータ値を抽出し、推奨パラメータ値(推奨値)として提示することができる。
より具体的には、管理サーバ100は、サービス編集部101と、サービス保持部102と、サービスリソース関連図生成部103と、推奨値抽出部104と、命令送信部105と含んで構成される。
サービス編集部101は、例えば、管理クライアント200(ユーザ)からの要求に応じて、サービステンプレートの作成、編集などをするための画面(サービス作成画面)に係る情報を生成して管理クライアント200に送信する。
サービス保持部102は、例えば、サービス作成画面を介して管理クライアント200から情報を受け付け、受け付けた情報(入力された情報)に基づいてサービステンプレートを作成すると共にサービスを生成して保持する。
サービスは、ユーザが任意に追加できるが、サービスとしては、ストレージ装置40に論理ボリュームを作成するサービス、ストレージ装置40にセカンダリボリュームを作成するサービス、ハイパーバイザ上でバーチャルマシンを移動するサービス、バーチャルマシン上のアプリケーションの設定を変更するサービス等が挙げられる。
サービスリソース関連図生成部103は、例えば、コンポーネントの作成時にユーザが定義する各コンポーネントのリソース関連図(各プロパティとリソースとのマッピング関係を示す情報)をつなぎ合わせたサービスのリソース関連図を生成する。
推奨値抽出部104は、例えば、ユーザが実行しようとしているサービスに係る操作履歴から同じ意味で使われているパラメータ値をサービスのリソース関連図等に基づいて抽出して提示(出力)したり、当該サービスを実行したりするための画面(サービス実行画面)に係る情報を生成して管理クライアント200に送信する。
命令送信部105は、例えば、サービス実行画面を介して管理クライアント200からサービスを実行する旨の命令を受け付け、受け付けた命令を、サービス実行システム20に送信する。
管理クライアント200は、サービス編集画面表示部201と、サービス実行画面表示部202とを含んで構成される。
サービス編集画面表示部201は、例えば、サービス編集画面に係る情報を管理サーバ100から受信してサービス編集画面を表示する。
サービス実行画面表示部202は、例えば、サービス実行画面に係る情報を管理サーバ100から受信してサービス実行画面を表示する。
サービス実行システム20は、運用自動化システム10からの命令に従いサービスを実行する。
サービス実行システム20は、例えば、管理計算機21と、監視情報表示用装置22とを含んで構成される。
管理計算機21は、ストレージシステムなどの構成を変更するための指示、ハイパーバイザ、バーチャルマシンなどの構成を変更するための指示などを発行する計算機である。管理計算機21は、例えば、運用自動化システム10からの命令に応じて、ストレージ装置40に所定の指示を与える。その指示に応じて、ストレージ装置40は、ストレージ構成を変更する。
監視情報表示用装置22は、管理計算機21に通信可能に接続され、管理計算機21の管理するストレージシステム、ハイパーバイザ等に関する情報を表示する装置である。監視情報表示用装置22は、例えば、ストレージ装置40の各種性能情報、構成情報などを表示する。なお、監視情報表示用装置22と管理計算機21とについては、1つの計算機として構成してもよい。
ホスト計算機30は、I/F(通信インターフェースデバイス)と、記憶資源と、プロセッサとを備える(図示は省略。)。ストレージ装置40は、物理記憶デバイスと、コントローラとを備える(図示は省略。)。コントローラは、例えば、ホスト計算機30に論理ボリュームを提供する。ホスト計算機30は、提供された論理ボリュームを指定したI/O(Input/Output)要求をストレージ装置40に送信する。ストレージ装置40のコントローラは、受信したI/O要求に従い、論理ボリュームに対するデータI/Oを行う。
図2は、管理サーバ100の構成の一例を示す図である。
管理サーバ100は、計算機の一例であり、内部バスを介して接続されたプロセッサ110と、メモリ120と、通信ポート130とを含んで構成される。管理サーバ100は、通信ポート130を介して、サービス実行システム20、管理クライアント200等と通信する。
プロセッサ110は、管理サーバ100全体の動作制御を司るプロセッサ(情報処理装置)であり、例えば、CPU(Central Processing Unit)のようなマイクロプロセッサである。
メモリ120は、各種の情報を記憶する記憶資源である。例えば、メモリ120は、半導体メモリなどから構成され、各種のプログラムを記憶するために利用されるほか、プロセッサ110のワークメモリとしても利用される。また、例えば、メモリ120は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、ROM(Read Only Memory)などから構成され、各種のテーブルと各種のプログラムとを記憶する。
かかるメモリ120には、コンポーネント管理テーブル121、コンポーネントプロパティ管理テーブル122、サービス管理テーブル123、サービスプロパティ管理テーブル124、タスク管理テーブル125、タスクログ126、推奨値管理テーブル127、変更履歴管理テーブル128、事前定義情報129、管理プログラム100Aなどが記憶される(詳細については、図6〜図18参照)。
例えば、プロセッサ110がメモリに格納された管理プログラム100A(サービス編集プログラム101A、サービス保持プログラム102A、サービスリソース関連図生成プログラム103A、推奨値抽出プログラム104A、命令送信プログラム105Aなど)を読み出して実行することにより、プログラムモジュール(サービス編集部101、サービス保持部102、サービスリソース関連図生成部103、推奨値抽出部104、命令送信部105など)が実現される。
なお、事前定義情報129には、コンポーネントのリソース関連情報129A、プロパティマッピング定義ファイル129B、およびサービスのリソース関連情報129Cが含まれる。
通信ポート130は、例えば、NIC(Network Interface Card)から構成され、サービス実行システム20、管理クライアント200等との通信時におけるプロトコル制御を行う。
図3は、管理クライアント200の構成の一例を示す図である。
管理クライアント200は、計算機の一例であり、内部バスを介して接続されたプロセッサ210と、メモリ220と、通信ポート230と、入出力デバイス240とを含んで構成される。管理クライアント200は、通信ポート230を介して、管理サーバ100等と通信する。
プロセッサ210は、管理クライアント200全体の動作制御を司るプロセッサ(情報処理装置)であり、例えば、CPUのようなマイクロプロセッサである。
メモリ220は、各種の情報を記憶する記憶資源である。例えば、メモリ220は、半導体メモリなどから構成され、各種のプログラムを記憶するために利用されるほか、プロセッサ210のワークメモリとしても利用される。また、例えば、メモリ220は、HDD、SSD、ROMなどから構成され、各種のテーブルと各種のプログラムとを記憶する。かかるメモリ220には、表示プログラム200Aなどが記憶される。
例えば、プロセッサ210がメモリに格納された表示プログラム200A(サービス編集画面表示プログラム201A、サービス実行画面表示プログラム202Aなど)を読み出して実行することにより、プログラムモジュール(サービス編集画面表示部201、サービス実行画面表示部202など)が実現される。
通信ポート230は、例えば、NICから構成され、管理サーバ100等との通信時におけるプロトコル制御を行う。
入出力デバイス240は、各種の情報を表示するための液晶表示装置、各種の操作、入力などを行うためのポインティングデバイスおよびキーボードなどであり、例えば、サービス編集画面、サービス実行画面などを表示すると共に、ユーザによる操作(入力)を受け付ける。
図4は、運用自動化システム10の運用例を示す図である。図4に示すように、管理サーバ100は、コンポーネント群310と、サービス群320と、タスク群330とを備える。
コンポーネント群310には、1つの独立した処理を示すコンポーネントが複数含まれる。コンポーネントとしては、プロビジョニング、メール送信、レポート出力、ローカルコピーペア作成、OS再起動等、予め規定されたコンポーネント(コンポーネントA、コンポーネントB、コンポーネントC、・・・)と、ユーザが作成したコンポーネント(ユーザ作成コンポーネント1、ユーザ作成コンポーネント2、・・・)とがある。
サービス群320は、サービステンプレートを実行できる状態にした(インスタンス化された)サービスのあつまりを示す。サービステンプレートは、複数のコンポーネントの組み合わせが規定されたデータであり、サービステンプレートには、サービス(インスタンス)の保持するデータ(メンバ変数、フィールド(属性))と、当該サービスに対して行うことができる操作(メソッド、メンバ関数)とが記述される。なお、各コンポーネントについてもインスタンス化され、実行ファイルとされ、サービスでは、当該実行ファイルが実行される。
管理サーバ100が管理するサービスとしては、予め規定されたサービステンプレートに係るサービス(サービス1、・・・)と、予め規定されたサービステンプレートを複製して編集などしてユーザが作成したサービステンプレートに係るサービス(ユーザ作成サービス1、ユーザ作成サービス2、・・・)とがある。
タスク群330は、管理サーバ100のプロセッサ110で処理(実行)される作業の最小単位であるタスクのあつまりを示す。一のサービスは、一または複数のタスクがプロセッサ110で実行されることにより、実現(提供)される。
図5は、管理サーバ100が管理するサービスの構成の一例を示す図である。ここでは、マイグレーションサービス321を例に挙げてサービスの構成について説明する。
図5に示すように、マイグレーションサービス321では、複数のサービス入力プロパティと、複数のコンポーネントと、複数のサービス出力プロパティとが関係付けられていることがわかる。
ここで、サービスのプロパティ(サービスプロパティ)としては、サービス入力プロパティとサービス出力プロパティとの2種類がある。サービス入力プロパティは、定義された項目(表示名)についての値の入力に関するプロパティである。サービス出力プロパティは、定義された項目(表示名)についての値の出力に関するプロパティである。1つのサービステンプレートには、1以上のサービス入力プロパティと0以上のサービス出力プロパティとが関連付けられる。付言するならば、サービステンプレートによっては、サービス出力プロパティが0個の場合もある。
図5に示すように、マイグレーションサービス321のサービス入力プロパティには、4つのサービス入力プロパティが設けられている。4つのサービス入力プロパティのそれぞれの表示名は、「Primary Volume ID」、「Secondary Volume ID」、「Primary Storage Profile」、「Secondary Storage Profile」である。なお、図面においては、「Primary」は、「P」、「Secondary」は、「S」として適宜、略記する。
マイグレーションサービス321のサービス出力プロパティには、6つのサービス入力プロパティが設けられている。6つのサービス入力プロパティのそれぞれの表示名は、「Primary Volume ID」、「Primary Pool ID」、「Primary Storage ID」、「Secondary Volume ID」、「Secondary Pool ID」、「Secondary Storage ID」である。
また、各コンポーネントは、複数のプロパティ(コンポーネントプロパティ)を含んで構成される。コンポーネントプロパティとしては、コンポーネント入力プロパティとコンポーネント出力プロパティとの2種類がある。コンポーネント入力プロパティは、定義された項目(表示名)についての値の入力に関するプロパティである。コンポーネント出力プロパティは、定義された項目(表示名)についての値の出力に関するプロパティである。1つのコンポーネントには、1以上のコンポーネント入力プロパティと0以上のコンポーネント出力プロパティとが関連付けられる。付言するならば、コンポーネントによっては、出力プロパティが0個の場合もある。
図5に示すように、コンポーネントAには、4つのコンポーネント入力プロパティが設けられている。4つのコンポーネント入力プロパティのそれぞれの表示名は、サービス入力プロパティに対応し、「Primary Volume ID」、「Secondary Volume ID」、「Primary Storage Profile」、「Secondary Storage Profile」である。また、コンポーネントAには、3つのコンポーネント出力プロパティが設けられている。3つのコンポーネント出力プロパティのそれぞれの表示名は、「Primary Copy Pair Name」、「Secondary Copy Pair Name」、「Volume Info」である。
また、コンポーネントBには、2つのコンポーネント入力プロパティが設けられている。2つのコンポーネント入力プロパティのそれぞれの表示名は、「Primary Copy Pair Name」、「Secondary Copy Pair Name」である。なお、コンポーネントBには、コンポーネント出力プロパティが設けられていない。
また、コンポーネントCには、3つのコンポーネント入力プロパティが設けられている。3つのコンポーネント入力プロパティのそれぞれの表示名は、「Primary Copy Pair Name」、「Secondary Copy Pair Name」、「Volume Info」である。また、コンポーネントCには、6つのコンポーネント出力プロパティが設けられている。6つのコンポーネント出力プロパティのそれぞれの表示名は、サービス出力プロパティに対応し、「Primary Volume ID」、「Primary Pool ID」、「Primary Storage ID」、「Secondary Volume ID」、「Secondary Pool ID」、「Secondary Storage ID」である。
マイグレーションサービス321において、コンポーネントAと、コンポーネントBと、コンポーネントCとの順序で実行されるように、マイグレーションサービス321のサービステンプレートに規定されている。また、プロパティマッピング定義ファイル129Bに、サービス入力プロパティとコンポーネントAの入力プロパティとが関連付けられ(マッピングされ)、コンポーネントAの出力プロパティとコンポーネントBおよびコンポーネントCの入力プロパティとが関連付けられ、コンポーネントCの出力プロパティとサービス出力プロパティとが関連付けられること等を示す情報が格納されている。なお、以下では、プロパティ間の関連付けをプロパティマッピングと適宜称する。
(2)管理サーバが使用する各種データ(ファイル、テーブルなど)
図6は、コンポーネント管理テーブル121の一例を示す図である。コンポーネント管理テーブル121は、コンポーネントに関する情報を有する。コンポーネント管理テーブル121は、コンポーネント毎にレコードを有し、各レコードに、コンポーネントuk、コンポーネント名、バージョン、リソース関連図ファイルパス、および実行ファイルパスの情報が格納される。
コンポーネントukは、コンポーネントのユニークキー(管理番号)である。なお、uk「1」、「2」、・・・は、識別情報の一例である。コンポーネント名は、コンポーネントの名称である。バージョンは、コンポーネントのバージョンを表す。リソース関連図ファイルパスは、コンポーネントのリソース関連図を示すファイルへのパス(パス名)を表す。実行ファイルパスは、コンポーネントの実行ファイルへのパスを表す。
図7は、コンポーネントプロパティ管理テーブル122の一例を示す図である。コンポーネントプロパティ管理テーブル122は、コンポーネントプロパティに関する情報を有する。コンポーネントプロパティ管理テーブル122は、コンポーネントプロパティ毎にレコードを有し、各レコードに、コンポーネントプロパティuk、コンポーネントuk、キー名、および表示名の情報が格納される。
コンポーネントプロパティukは、コンポーネントプロパティのユニークキーである。コンポーネントukは、コンポーネントのユニークキーである。キー名は、コンポーネントプロパティを一意に特定するための名称であり、コンポーネントプロパティの識別情報の一例である。表示名は、コンポーネントプロパティ名である。
図8は、サービス管理テーブル123の一例を示す図である。サービス管理テーブル123は、サービスに関する情報を有する。サービス管理テーブル123は、サービス毎にレコードを有し、各レコードに、サービスuk、サービス名、バージョン、およびプロパティマッピング定義ファイルパスの情報が格納される。
サービスukは、サービスのユニークキーである。サービス名は、サービスの名称である。バージョンは、サービスのバージョンを表す。プロパティマッピング定義ファイルパスは、プロパティマッピング定義ファイル129Bへのパスを表す。
図9は、サービスプロパティ管理テーブル124の一例を示す図である。サービスプロパティ管理テーブル124は、サービスプロパティに関する情報を有する。サービスプロパティ管理テーブル124は、サービスプロパティ毎にレコードを有し、各レコードに、サービスプロパティuk、サービスuk、キー名、および表示名の情報が格納される。
サービスプロパティukは、サービスプロパティのユニークキーである。サービスukは、サービスのユニークキーである。キー名は、サービスプロパティを一意に特定するための名称であり、サービスプロパティの識別情報の一例である。表示名は、画面に表示され得るサービスプロパティ名であり、例えば入力項目、出力項目に対応する。
図10は、タスク管理テーブル125の一例を示す図である。タスク管理テーブル125は、タスクに関する情報を有する。タスク管理テーブル125は、タスク毎にレコードを有し、各レコードに、タスクuk、サービスuk、実行日時、およびタスクログパスの情報が格納される。
タスクukは、タスクのユニークキーである。サービスukは、サービスのユニークキーである。実行日時は、タスクが実行された日時である。タスクログファイルパスは、タスクの実行内容(タスクログ126)へのパスを表す。
図11は、タスクログ126の一例を示す図である。タスクログ126は、タスクの実行内容に関する情報を有する。タスクログ126は、タスク毎に作成されるファイルであり、タスクuk、サービスuk、サービス名、実行日時、コンポーネントuk、コンポーネントプロパティuk、値などの情報を含んで構成される。
図12は、推奨値管理テーブル127の一例を示す図である。推奨値管理テーブル127は、推奨値に関する情報を有する。推奨値管理テーブル127は、サービス入力プロパティ毎にレコードを有し、各レコードに、サービスプロパティuk、サービスuk、オブジェクトID、リソース、属性、ユーザ入力値、および推奨値の情報が格納される。
サービスプロパティukは、サービスプロパティのユニークキーである。サービスukは、サービスのユニークキーである。オブジェクトIDは、オブジェクトを識別可能な識別情報である。オブジェクトID「D」、「E」、・・・は、識別情報の一例である。リソースは、コンポーネントの要素を表す。属性は、リソースの性質を表す。本実施の形態では、リソースおよび当該リソースの属性をまとめてオブジェクトと称する。ユーザ入力値は、ユーザが入力した値を表す。推奨値は、タスクログ126から抽出される同じ意味で使われている最新のパラメータ値を表す。
図13は、変更履歴管理テーブル128の一例を示す図である。変更履歴管理テーブル128は、推奨値の変更履歴に関する情報を有する。変更履歴管理テーブル128は、サービスプロパティ毎に変更履歴を示す情報を有し、当該情報には、サービスプロパティuk、実行日、推奨値、およびサービス表示名の情報が格納される。
サービスプロパティukは、サービスプロパティのユニークキーである。実行日は、サービスが実行された年月日である。推奨値は、タスクログ126から抽出される同じ意味で使われている最新のパラメータ値を表す。サービス表示名は、サービスの表示名である。
(2−1)コンポーネントの作成時に定義される情報
コンポーネントの作成時にユーザが定義する情報として、コンポーネントのリソース関連情報129A(コンポーネント単位のリソース関連図、およびコンポーネントの処理内容)がある。
図14は、コンポーネントのリソース関連図の一例を示す図である。コンポーネントAのリソース関連図400を例に挙げて、コンポーネントのリソース関連図について説明する。
コンポーネントAのリソース関連図400では、リソース401および属性402がユーザにより定義される。また、コンポーネントAのコンポーネントプロパティukとリソース401および属性402とのマッピング関係403がユーザにより定義される。また、リソース間の関係性404がユーザにより定義される。また、リソース401および属性402のオブジェクトID405がユーザにより定義される。
また、コンポーネントの処理内容としては、所定のサービスに係る処理対象を識別可能なIDを作成するID作成(対象オブジェクト)、当該IDを削除するID削除(対象オブジェクト)、当該IDを変更するID変更(変更前オブジェクト、変更後オブジェクト)、その他IDを変えない変更がある。コンポーネントの処理内容についてはユーザにより定義され、コンポーネントのリソース関連図と共にコンポーネントのリソース関連情報129Aに含まれる(管理される)。
(2−2)サービスの作成時に定義される情報
サービスの作成時にユーザが定義する情報として、プロパティマッピング定義ファイル129Bがある。
図15は、プロパティマッピング定義ファイル129Bの一例を示す図である。サービスuk(001)に対応するプロパティマッピング定義ファイル500を例に挙げてプロパティマッピング定義ファイル129Bを説明する。
プロパティマッピング定義ファイル500では、サービス入力プロパティuk501と、コンポーネント入力プロパティuk502とが関係付けられて定義(記述)されていることが示されている。
なお、プロパティマッピング定義ファイル129Bは、xml(Extensible Markup Language)ファイルに限られるものではなく、他の形式のファイルであってもよい。また、定義した情報については、ファイルで管理する構成に限られるものではなく、テーブルなどで管理する構成としてもよい。
図16は、プロパティマッピング定義ファイル500によるプロパティマッピングのイメージ図を示す。図16では、プロパティマッピング定義ファイル500により、サービス入力プロパティuk501と、コンポーネント入力プロパティuk502との関連付け503が示されている。
なお、他のサービスプロパティおよびコンポーネントプロパティ間のマッピング、およびコンポーネントプロパティ間のマッピングについても同様に、プロパティマッピング定義ファイル129Bで定義されている。
(2−3)定義されるその他の情報
所定のタイミング(コンポーネントの作成後、サービスの作成後、指定時間、ユーザによる操作など)でサービスのリソース関連図を作成する処理(サービスリソース関連図作成処理)が行われることにより、サービスのリソース関連情報129Cが生成される。
なお、以下においては、各種処理の処理主体が「プログラムモジュール」として説明するが、実際上は、そのプログラムモジュールに基づいて管理サーバ100のプロセッサ110がその処理を実行することは言うまでもない。
図17は、サービスリソース関連図生成処理に係る処理手順の一例を示す図である。サービスリソース関連図生成処理では、入力(X,Y)が行われる。Xは、サービスを構成する全コンポーネントのリソース関連図である。Yは、プロパティマッピング定義ファイル129Bである。
まず、サービスリソース関連図生成部103は、プロパティマッピング定義ファイル129Bに基づいて、コンポーネントのリソース関連図の同じリソースを重ねてリソース関連図同士を繋ぎ合わせる(ステップS1)。
続いて、サービスリソース関連図生成部103は、オブジェクトIDを振り直し(ステップS2)、サービスリソース関連図生成処理を終了する。
図18は、サービス600のリソース関連図のイメージ図を示す。図18に示すように、サービス600は、コンポーネントAとコンポーネントBとにより提供される。
ここで、プロパティマッピング定義ファイル129Bからプロパティ(リソース)間の繋がりが確認され、コンポーネントAのリソース関連図のリソース601Aと、コンポーネントBのリソース関連図のリソース601Bと繋がっているので、これらは同じリソース601として繋ぎ合わされる。
また、プロパティマッピング定義ファイル129Bからプロパティ(リソース)間の繋がりが確認され、コンポーネントAのリソース関連図のリソース602Aと、コンポーネントBのリソース関連図のリソース602Bとが繋がっているので、これらは同じリソース602として繋ぎ合わされる。
そして、各リソースに対応するオブジェクトにオブジェクトID(本例では「A」、「B」、「C」、「D」、「E」、「F」)を振り直し、図18に示すように、サービス600のリソース関連図が作成される。
(3)推奨値抽出出力処理(推奨パラメータ値抽出方法)
図19は、推奨値抽出出力処理に係る処理手順の一例を示す図である。推奨値抽出出力処理は、後述のサービス実行画面の推奨パラメータ表示ボタン717(図31)が押下されることを契機に開始する。
まず、推奨値抽出部104は、入力パラメータ内容判定処理を行う(ステップS11)。なお、詳細については後述するが、入力パラメータ内容判定処理では、サービスのリソース関連図とプロパティマッピング定義ファイル129Bとユーザ入力値とに基づいて、推奨対象とするサービス入力プロパティ(推奨値に係るパラメータ)が特定される。
続いて、推奨値抽出部104は、関連過去タスク検索および推奨値抽出処理を行う(ステップS12)。なお、詳細については後述するが、関連過去タスク検索および推奨値抽出処理では、サービスのリソース関連情報129Cに基づいて、タスクログ126から推奨値が抽出される。
続いて、推奨値抽出部104は、推奨値および変更履歴を表示するための画面に係る画面情報を管理クライアント200に送信(出力の一例)する(ステップS13)。管理クライアント200は、画面情報を受信すると、入出力デバイス240にサービス実行画面(図32)を表示(出力の一例)し、推奨値抽出出力処理を終了する。
図20は、入力パラメータ内容判定処理に係る処理手順の一例を示す図である。
まず、推奨値抽出部104は、後述のサービス一覧画面(図30)で選択されたサービス項目のサービス(対象サービス)のサービスukを特定する(ステップS21)。
続いて、推奨値抽出部104は、対象サービスのリソース関連図とプロパティマッピング定義ファイル129Bとから全サービス入力プロパティのサービスプロパティukとそのリソースおよび属性を特定し、推奨値管理テーブル127に格納する(ステップS22)。
より具体的には、推奨値抽出部104は、プロパティマッピング定義ファイル129Bより、全サービス入力プロパティのサービスプロパティukを特定する。次に、推奨値抽出部104は、プロパティマッピング定義ファイル129Bより、特定したサービスプロパティukに関連付けられたコンポーネントプロパティukを特定する。そして、推奨値抽出部104は、対象サービスのリソース関連図から、特定したコンポーネントプロパティukに定義付けられているリソースおよび属性を特定する。なお、図21に本処理に係るイメージ図(推奨値に係るパラメータを特定するためのイメージ図)を示す。
続いて、推奨値抽出部104は、ユーザ入力値があるサービス入力プロパティの入力値を推奨値管理テーブル127に格納し、推奨値に「−」を格納し(ステップS23)、入力パラメータ内容判定処理を終了する。
図21は、推奨値に係るパラメータを特定するためのイメージ図を示す。
図21には、対象サービス(本例では、ペアボリューム一括マイグレーションサービス)のプロパティマッピング定義ファイル611と、対象サービスのリソース関連図612とが示されている。
推奨値に係るパラメータの特定については、プロパティマッピング定義ファイル611よりサービス入力プロパティに関連付けられたコンポーネントプロパティukが特定され、対象サービスのリソース関連図からコンポーネントプロパティukに定義付けられているリソースおよび属性が特定されることにより行われる。
ここで、入力が必須のパラメータについては、推奨値は不要となるので、基本的には、入力が任意のパラメータについて推奨値が求められる。
ただし、ペアボリューム一括マイグレーションサービスでは、プライマリボリュームに係るストレージ装置40のストレージIDおよびボリュームIDと、セカンダリボリュームに係るストレージ装置40のストレージIDおよびボリュームIDとの少なくとも1つが入力必須のパラメータである。よって、入力されていないパラメータと、プライマリボリュームのストレージプロファイルのパラメータと、セカンダリボリュームのストレージプロファイルのパラメータとについて推奨値が求められることになる。
本例では、プライマリボリュームのストレージIDおよびボリュームIDについてユーザ入力値が設定されているので、セカンダリボリュームのストレージIDおよびボリュームIDのパラメータと、プライマリボリュームのストレージプロファイルのパラメータと、セカンダリボリュームのストレージプロファイルのパラメータとが推奨値に係るパラメータとして特定される。
図22は、関連過去タスク検索および推奨値抽出処理に係る処理手順の一例を示す図である。
まず、推奨値抽出部104は、対象サービスのリソース関連図からユーザ入力値を受け付けたリソースに対応するオブジェクト(Object)を特定する(ステップS31)。
続いて、推奨値抽出部104は、Oをオブジェクト、Tを現在時刻として、各オブジェクトについて、処理(O,T)を実行し(ステップS32)、ステップS31で特定した全てのオブジェクトについて処理(O,T)を終了した場合、関連過去タスク検索および推奨値抽出処理を終了する。
処理(O,T)の詳細については、図24〜図26を用いて説明するが、処理(O,T)は、タスクに係る処理を示すタスク処理の一例であり、処理(O,T)では、オブジェクト「O」に対して、タスクの実行時間Tから直近の未来(Tに最も近くてTよりも未来の時刻)のタスクログ126から順にタスク検索処理(未来タスク検索処理)が行われ、続いて、直近の過去(T以降の時刻。Tを含む。)のタスクログ126から順にタスク検索処理(過去タスク検索処理)が行われる。
(タスク検索処理の概要)
推奨値抽出部104は、ユーザ入力値が含まれるタスクログ126から当該タスクを実行したサービス(実行サービス)を特定し、特定した実行サービスのリソース関連図を特定する。推奨値抽出部104は、特定したリソース関連図にオブジェクト「O」が存在するか否かを判定する。推奨値抽出部104は、特定したリソース関連図にオブジェクト「O」が存在すると判定した場合、そのオブジェクト「O」の属性値を記憶し、最新の値である場合は推奨値として抽出する。
また、推奨値抽出部104は、特定したリソース関連図にオブジェクト「O」の関連オブジェクトが存在するか否かを判定する。推奨値抽出部104は、関連オブジェクトが存在すると判定した場合、オブジェクトの引数を関連オブジェクト、時刻(時間)の引数を関連オブジェクトに係るタスクログ126の実行日時として、処理(関連Obj,現タスクのT)を実行する。
また、推奨値抽出部104は、オブジェクト「O」に係るコンポーネントのリソース関連情報129A(コンポーネントの処理内容)を参照し、ID変更が行われたか否かを判定する。推奨値抽出部104は、ID変更が行われたと判定した場合、オブジェクトの引数をID変更前の別名のオブジェクトとし、処理(別名,現タスクのT)を実行する。
図23は、タスク検索処理に係るイメージ図(タスクログ126を検索したり推奨値を抽出したりする手順のイメージ図)を示す。ここでは、現在時刻がT1(Now)であり、ユーザ入力値(「10051」、「00:01」)を受け付けたオブジェクトがオブジェクト631であり、推奨値を求めるパラメータに係るオブジェクトがオブジェクト「A」、「E」、「H」である場合の処理(オブジェクト631,T1)を例に挙げて説明する。
まず、オブジェクト631に対して、未来タスク検索処理が行われるが、現在時刻T1よりも新しい時刻のタスクログ126は存在しないので、過去タスク検索処理が行われることになる。
よって、推奨値抽出部104は、ユーザ入力値を含む過去のタスクログ126を検索し、検索したタスクログ126から実行サービスを特定し、特定した実行サービスのリソース関連図を特定し、オブジェクト631と同じリソースかつ属性のオブジェクト632を特定する。
続いて、推奨値抽出部104は、オブジェクト632に関連オブジェクトが存在するか否かを判定し、この例では、関連オブジェクトとしてオブジェクト633が存在すると判定する。
続いて、推奨値抽出部104は、オブジェクトの引数をオブジェクト633、時刻の引数をT2として、処理(オブジェクト633,T2)を実行する。オブジェクト633に対して、未来タスク検索処理が行われるが、ユーザ入力値を含む時刻T2よりも新しい時刻のタスクログ126が存在しないので、過去タスク検索処理が行われることになる。
よって、推奨値抽出部104は、ユーザ入力値を含む過去のタスクログ126を検索し、検索したタスクログ126から実行サービスを特定し、特定した実行サービスのリソース関連図を特定し、オブジェクト633と同じリソースかつ属性のオブジェクト633を特定する。このとき、推奨値抽出部104は、オブジェクト633の属性値(「10051」、「00:02」)を記憶すると共に、推奨値として抽出する。
続いて、推奨値抽出部104は、オブジェクト633に関連オブジェクトが存在するか否かを判定し、この例では、関連オブジェクトが存在しないと判定する。
続いて、推奨値抽出部104は、オブジェクト633に係るコンポーネントの処理内容を参照し、ID変更が行われたか否かを判定し、この例では、ID変更が行われていないと判定する。
続いて、推奨値抽出部104は、ユーザ入力値を含む次の過去のタスクログ126を検索し、検索したタスクログ126から実行サービスを特定し、特定した実行サービスのリソース関連図を特定し、オブジェクト633と同じリソースかつ属性のオブジェクト634を特定する。
続いて、推奨値抽出部104は、オブジェクト634に関連オブジェクトが存在するか否かを判定し、この例では、関連オブジェクトとしてオブジェクト635が存在すると判定する。
続いて、推奨値抽出部104は、オブジェクトの引数をオブジェクト635、時刻の引数をT3として、処理(オブジェクト635,T3)を実行する。オブジェクト635に対して、未来タスク検索処理が行われるが、ユーザ入力値を含む時刻T3よりも新しい時刻のタスクログ126が存在しないので、過去タスク検索処理が行われることになる。
よって、推奨値抽出部104は、ユーザ入力値を含む過去のタスクログ126を検索し、検索したタスクログ126から実行サービスを特定し、特定した実行サービスのリソース関連図を特定し、オブジェクト635と同じリソースかつ属性のオブジェクト635を特定する。このとき、推奨値抽出部104は、オブジェクト635の属性値「Silver」を記憶すると共に、推奨値として抽出する。
続いて、推奨値抽出部104は、オブジェクト635に関連オブジェクトが存在するか否かを判定し、この例では、関連オブジェクトが存在しないと判定する。
続いて、推奨値抽出部104は、オブジェクト635に係るコンポーネントの処理内容を参照し、ID変更が行われたか否かを判定し、この例では、ID変更が行われていないと判定する。
続いて、推奨値抽出部104は、ユーザ入力値を含む次の過去のタスクログ126を検索し、検索したタスクログ126から実行サービスを特定し、特定した実行サービスのリソース関連図を特定し、オブジェクト635と同じリソースかつ属性のオブジェクト636を特定する。このとき、推奨値抽出部104は、オブジェクト636の属性値「Gold」を記憶するが、最新の属性値ではないので推奨値は更新しない。
続いて、推奨値抽出部104は、オブジェクト636に関連オブジェクトが存在するか否かを判定し、この例では、関連オブジェクトが存在しないと判定する。
続いて、推奨値抽出部104は、オブジェクト636に係るコンポーネントの処理内容を参照し、ID変更が行われたか否かを判定し、この例では、ID変更が行われていないと判定する。
続いて、推奨値抽出部104は、ユーザ入力値を含む次の過去のタスクログ126を検索するが、該当するタスクログ126は見つからないため、処理(オブジェクト635,T3)を終了する。
続いて、推奨値抽出部104は、オブジェクト634に係るコンポーネントの処理内容を参照し、ID変更が行われたか否かを判定し、この例では、ID変更が行われていないと判定する。
続いて、推奨値抽出部104は、オブジェクト633について、ユーザ入力値を含む次の過去のタスクログ126を検索し、検索したタスクログ126から実行サービスを特定し、特定した実行サービスのリソース関連図を特定し、オブジェクト633と同じリソースかつ属性のオブジェクト637を特定する。
続いて、推奨値抽出部104は、オブジェクト637に関連オブジェクトが存在するか否かを判定し、この例では、関連オブジェクトとしてオブジェクト636が存在すると判定し、オブジェクトの引数をオブジェクト636、時刻の引数をT5として、処理(オブジェクト636,T5)を実行する。処理(オブジェクト636,T5)の詳細については、前述の通りなので、その説明を省略する。
続いて、推奨値抽出部104は、オブジェクト637に係るコンポーネントの処理内容を参照し、ID変更が行われたか否かを判定し、この例では、ID変更が行われていないと判定する。
続いて、推奨値抽出部104は、ユーザ入力値を含む次の過去のタスクログ126を検索するが、該当するタスクログ126は見つからないため、処理(オブジェクト633,T2)を終了する。
続いて、推奨値抽出部104は、オブジェクト632に係るコンポーネントの処理内容を参照し、ID変更が行われたか否かを判定し、この例では、ID変更が行われていないと判定する。
続いて、推奨値抽出部104は、オブジェクト631について、ユーザ入力値を含む次の過去のタスクログ126を検索し、検索したタスクログ126から実行サービスを特定し、特定した実行サービスのリソース関連図を特定し、オブジェクト631と同じリソースかつ属性のオブジェクト638を特定する。
続いて、推奨値抽出部104は、オブジェクト638に関連オブジェクトが存在するか否かを判定し、この例では、関連オブジェクトが存在しないと判定する。
続いて、推奨値抽出部104は、オブジェクト638に係るコンポーネントの処理内容を参照し、ID変更が行われたか否かを判定し、この例では、変更が行われていると判定する。
続いて、推奨値抽出部104は、ユーザ入力値(「10051」、「00:01」)を変更前の値(「10057」、「00:11」)に変更し(別名オブジェクトとし)、オブジェクトの引数を別名オブジェクト、時刻の引数をT4として、処理(別名オブジェクト,T4)を実行する。
続いて、推奨値抽出部104は、別名オブジェクトに対して、未来タスク検索処理が行われるが、変更前の値を含む時刻T4よりも新しい時刻のタスクログ126が存在しないので、過去タスク検索処理が行われることになる。
よって、推奨値抽出部104は、変更前の値を含む過去のタスクログ126を検索し、検索したタスクログ126から実行サービスを特定し、特定した実行サービスのリソース関連図を特定し、別名オブジェクトと同じリソースかつ属性の別名オブジェクトを特定する。
続いて、推奨値抽出部104は、別名オブジェクトに関連オブジェクトが存在するか否かを判定し、この例では、関連オブジェクトが存在しないと判定する。
続いて、推奨値抽出部104は、別名オブジェクトに係るコンポーネントの処理内容を参照し、ID変更が行われたか否かを判定し、この例では、ID変更が行われていないと判定する。
続いて、推奨値抽出部104は、変更前の値を含む次の過去のタスクログ126を検索し、検索したタスクログ126から実行サービスを特定し、特定した実行サービスのリソース関連図を特定し、別名オブジェクトと同じリソースかつ属性のオブジェクト639を特定する。
続いて、推奨値抽出部104は、オブジェクト639に関連オブジェクトが存在するか否かを判定し、この例では、関連オブジェクトとしてオブジェクト640が存在すると判定する。
続いて、推奨値抽出部104は、オブジェクトの引数をオブジェクト640、時刻の引数をT6として、処理(オブジェクト640,T6)を実行する。オブジェクト640に対して、未来タスク検索処理が行われるが、変更前の値を含む時刻T6よりも新しい時刻のタスクログ126が存在しないので、過去タスク検索処理が行われることになる。
よって、推奨値抽出部104は、変更前の値を含む過去のタスクログ126を検索し、検索したタスクログ126から実行サービスを特定し、特定した実行サービスのリソース関連図を特定し、オブジェクト640と同じリソースかつ属性のオブジェクト640を特定する。このとき、推奨値抽出部104は、オブジェクト640の属性値「Gold」を記憶すると共に、推奨値として抽出する。
続いて、推奨値抽出部104は、オブジェクト640に関連オブジェクトが存在するか否かを判定し、この例では、関連オブジェクトが存在しないと判定する。
続いて、推奨値抽出部104は、オブジェクト640に係るコンポーネントの処理内容を参照し、ID変更が行われたか否かを判定し、この例では、ID変更が行われていないと判定する。
続いて、推奨値抽出部104は、変更前の値を含む次の過去のタスクログ126を検索するが、該当するタスクログ126は見つからないため、処理(オブジェクト640,T6)を終了する。
続いて、推奨値抽出部104は、オブジェクト639に係るコンポーネントの処理内容を参照し、ID変更が行われたか否かを判定し、この例では、ID変更が行われていないと判定する。
続いて、推奨値抽出部104は、オブジェクト631について、変更前の値を含む次の過去のタスクログ126を検索するが、該当するタスクログ126は見つからないため、処理(オブジェクト631,T1)を終了する。
このように、ユーザ入力値を受け付けたオブジェクト、当該オブジェクトに係るオブジェクトについてタスク検索処理が行われ、推奨値が抽出される。以下では、処理(O,T)の詳細について図24〜図26を用いて説明する。
図24および図25は、処理(O,T)に係る処理手順の一例を示す図である。
まず、推奨値抽出部104は、Tより未来のタスクログ126について順に、ステップS41〜ステップS51の処理(未来タスク検索処理)を行う。
ステップS41では、推奨値抽出部104は、ユーザ入力値が含まれるタスクログ126から実行サービスを特定し、特定した実行サービスのリソース関連図を特定する。
続いて、推奨値抽出部104は、オブジェクト「O」が存在するか否かを判定する(ステップS42)。推奨値抽出部104は、オブジェクト「O」が存在すると判定した場合、ステップS43に処理を移し、オブジェクト「O」が存在しないと判定した場合、処理対象を次の未来のタスクログ126に設定し、ステップS41に処理を移す。なお、次の未来のタスクログ126がない場合は、T以前の過去のタスクログ126について順に、ステップS61〜ステップS67の処理(過去タスク検索処理)を行う。
ここで、図27に、オブジェクト「O」が存在するか否かの判定に係るイメージ図を示す。図27に示すように、推奨値抽出部104は、検索したタスクログ126のサービスのリソース関連図のオブジェクトのうち、ユーザが選択したサービスのリソース関連図のオブジェクト「O」に対応するリソース、属性、および属性値が全て一致する所定のオブジェクト(オブジェクト640)が存在する場合、オブジェクト「O」が存在すると判定する。
ステップS43では、推奨値抽出部104は、推奨値抽出処理を行う。なお、詳細については後述するが、推奨値抽出処理では、推奨値が抽出される。
続いて、推奨値抽出部104は、欲しい関連オブジェクトがあるか否かを判定する(ステップS44)。推奨値抽出部104は、欲しい関連オブジェクトがあると判定した場合、関連オブジェクトについて処理(関連オブジェクト,現タスクのT)を行い(ステップS45)、ステップS46に処理を移す。他方、推奨値抽出部104は、欲しい関連オブジェクトがないと判定した場合、ステップS46に処理を移す。
ここで、図28に、関連オブジェクトがあるか否かの判定に係るイメージ図を示す。図28に示すように、推奨値抽出部104は、検索したタスクログ126のサービスのリソース関連図のオブジェクトのうち、関連オブジェクト「O’」に対応するリソースおよび属性と一致するリソースおよび属性を有するオブジェクトであって、オブジェクト「O」および関連オブジェクト「O’」間の関連と同じ関連を有する特定のオブジェクト(オブジェクト641)が存在する場合、欲しい関連オブジェクト「O’」が存在すると判定する。
付言するならば、推奨値抽出部104は、リソースが別であり、属性が同じであるケース、リソースは同じでも属性が完全には一致しないケースについては、関連オブジェクトでないと判定する。
また、仮に、欲しい関連オブジェクトがオブジェクト「O」と直接つながっていないオブジェクト642である場合、これらの間にあるオブジェクト(本例では、オブジェクト643)についても判定の対象とされる。この場合、推奨値抽出部104は、オブジェクト642とオブジェクト644とのリソースおよび属性、オブジェクト643とオブジェクト645とのリソースおよび属性、オブジェクト642およびオブジェクト643間とオブジェクト644およびオブジェクト645間との関連、オブジェクト「O」およびオブジェクト643間とオブジェクト640およびオブジェクト645間との関連の全てが一致する場合、欲しい関連オブジェクトが存在すると判定する。
なお、オブジェクト「O」と欲しい関連オブジェクトのルートの中に、リソース間の関係がマイグレートのように、コンポーネントの処理内容でID変更が定義されているオブジェクトについては、同一リソースとみなして当該オブジェクトについては判定の対象から除外してルートを短縮してもよい。
ステップS46では、推奨値抽出部104は、オブジェクト「O」に係るコンポーネントのリソース関連情報129A(コンポーネントの処理内容)を参照し、タスク中でオブジェクト「O」で行われた処理内容を判定する。推奨値抽出部104は、ID変更であると判定した場合、ステップS47に処理を移し、ID作成であると判定した場合、ステップS49に処理を移し、ID削除であると判定した場合、ステップS50に処理を移し、その他の変更であると判定した場合、ステップS51に処理を移す。
ステップS47では、推奨値抽出部104は、メモリ120に一時的に記憶する別名管理テーブル650を更新する。
ここで、図29に、別名管理テーブル650の一例を示す。図29に示すように、別名管理テーブル650は、処理対象のオブジェクトのオブジェクト名およびIDと、変更前のオブジェクト名(別名)およびIDとの情報を格納する。
例えば、処理対象のオブジェクトにおいて、時刻T14にIDが作成され、時刻T13にIDが変更され、時刻T12にIDが変更された場合を例に挙げて別名管理テーブル650に格納される情報を説明する。
別名管理テーブル650は、現在時刻T11では、別名のIDの欄に値が未設定(値が設定されていないことを示す「−」等であってもよい。)であり、処理対象の時刻が時刻T12であるときに別名のIDの欄にID(「10054」、「00:04」)が設定され、処理対象の時刻が時刻T13であるときに別名のIDの欄にID(「10057」、「00:11」)が設定(上書き)される。
かかる別名管理テーブル650により、ID変更される前のIDを含むタスクログから同じ意味で用いられているパラメータ値を抽出できるようになる。
続いて、推奨値抽出部104は、処理(別名,現タスクのT)を実行し(ステップS48)、ステップS51に処理を移す。
ステップS49では、推奨値抽出部104は、ループ(未来タスク検索処理)を終了し、過去タスク検索処理を行う。
ステップS50では、推奨値抽出部104は、タスクは行きついたのでループ(未来タスク検索処理)を終了し、過去タスク検索処理を行う。
ステップS51では、推奨値抽出部104は、ループを終了するか否か(全ての未来のタスクログ126について処理を行ったか否か)を判定する。推奨値抽出部104は、ループを終了すると判定した場合、過去タスク検索処理を行い、ループを終了しないと判定した場合、処理対象を次の未来のタスクログ126に設定し、ステップS41に処理を移す。
図25に示すように、過去タスク検索処理が行われる。より具体的には、ステップS61では、ステップS41〜ステップS45の処理が行われ、ステップS62に処理が移される。
ステップS62では、推奨値抽出部104は、タスク中でオブジェクト「O」で行われた処理内容を判定する。推奨値抽出部104は、ID変更であると判定した場合、ステップS63に処理を移し、ID作成であると判定した場合、ステップS65に処理を移し、ID削除であると判定した場合、ステップS66に処理を移し、その他の変更であると判定した場合、ステップS67に処理を移す。
ステップS63では、推奨値抽出部104は、別名管理テーブル650を更新する。
続いて、推奨値抽出部104は、処理(別名,現タスクのT)を実行し(ステップS64)、ステップS67に処理を移す。
ステップS65では、推奨値抽出部104は、ループ(過去タスク検索処理)を終了し、ステップS67に処理を移す。
ステップS66では、推奨値抽出部104は、タスクは行きついたのでループ(過去タスク検索処理)を終了し、ステップS67に処理を移す。
ステップS67では、推奨値抽出部104は、ループを終了するか否か(全ての過去のタスクログ126について処理を行ったか否か)を判定する。推奨値抽出部104は、ループを終了すると判定した場合、処理(O,T)を終了し、ループを終了しないと判定した場合、処理対象を次の過去のタスクログ126に設定し、ステップS61に処理を移す。
図26は、推奨値抽出処理に係る処理手順の一例を示す図である。
まず、推奨値抽出部104は、推奨値管理テーブル127の当該リソースに対する推奨値が空であるか否かを判定する(ステップS71)。推奨値抽出部104は、空であると判定した場合、ステップS72に処理を移し、空でないと判定した場合、ステップS73に処理を移す。
ステップS72では、推奨値抽出部104は、リソース情報(推奨値など)を、推奨値管理テーブル127と変更履歴管理テーブル128とに格納し、推奨値抽出処理を終了する。
ステップS73では、推奨値抽出部104は、リソース情報(推奨値など)を変更履歴管理テーブル128に実行日時が降順になるように格納する。
続いて、推奨値抽出部104は、変更履歴管理テーブル128から最新の推奨値を抽出し、推奨値管理テーブル127の推奨値を更新し(ステップS74)、推奨値抽出処理を終了する。
このように、推奨値抽出出力処理では、サービスのリソース関連情報129Cに基づいて、タスクログ126から同じ意味で用いられているパラメータ値が抽出され、抽出されたパラメータ値が推奨値として出力されるので、一貫した方針でのパラメータ値が設定できるようになる。
(4)表示画面
図30〜図32は、管理クライアント200における表示画面の一例を示す図である。
図30は、予め設けられるサービスに対応するサービス項目の選択をするためのサービス一覧画面の一例(表示画面700)を示す図である。
表示画面700では、運用自動化システム10に登録されている複数のサービスの各々に対応するサービス項目が選択可能に一覧形式で表示される。
ユーザは、クライアント200の入出力デバイス240を操作(ユーザ操作)することにより、所望のサービスのサービス項目を選択する。ユーザ操作により一のサービス項目が選択されると、サービスに要する入力を行い、サービスを実行するためのサービス実行画面701が表示される。
図31は、サービス実行画面701の一例(ペアボリューム一括マイグレーションサービスのサービス実行画面710)を示す図である。
ここで、ペアボリューム一括マイグレーションサービスとは、ローカルコピーペアを形成するP−Vol(Primary Volume)、S−Vol(Secondary Volume)の存在するストレージ装置40の各ストレージID(Storage Serial No.)および各ボリュームID(Volume ID)と、移行先の各ストレージプロファイル(Primary Storage Profile、Secondary Storage Profile)とを指定し、P−VolおよびS−Volを最適な別のストレージ装置40に一括で移行するサービスである。
サービス実行画面710では、P−Volに係るストレージIDおよびボリュームID(Primary Volume ID)を入力可能な入力欄711と、S−Volに係るストレージIDおよびボリュームID(Secondary Volume ID)を入力可能な入力欄712と、P−Volの移行先のストレージプロファイルを入力可能な入力欄713と、S−Volの移行先のストレージプロファイルを入力可能な入力欄714とが設けられる。
また、サービス実行画面710では、ペアボリューム一括マイグレーションサービスの実行を指示するための実行ボタン715と、ペアボリューム一括マイグレーションサービスの利用をキャンセルするための取消ボタン716と、推奨値(推奨パラメータ値)を表示するための推奨パラメータ表示ボタン717とが設けられる。
ユーザは、ユーザ操作によりカーソル718を操作し、ペアボリューム一括マイグレーションサービスの実行等を行う。例えば、ユーザは、入力欄711に入力を行い、推奨パラメータ表示ボタン717を押下し、入力欄712〜入力欄714に表示された推奨値を確認し、実行ボタン715を押下する。
ここで、推奨パラメータ表示ボタン717が押下されると、入力欄712〜入力欄714に一貫した方針でのパラメータの推奨値が設定されたサービス実行画面が表示される。
図32は、サービス実行画面701の一例(推奨値が設定されたサービス実行画面720)を示す図である。
サービス実行画面720では、入力欄712〜入力欄714に推奨値が設定され、推奨値に係るパラメータ値の変更履歴が表示され得る。
ここで、P−VolとS−Volとを一括でマイグレーションするサービスを利用する場合、P−VolおよびS−Volの夫々についてパラメータ値の設定をする必要があるが、手間がかかったり、それぞれの初期入力においてミスが生じたりする問題がある。
この点、計算機システム1では、P−VolとS−Volとを一括でマイグレーションするサービスの場合、当該サービスのサービス構成を解析し、例えばS−Volは、ローカルコピーが行われたときのパラメータであるとして理解し、当該パラメータのパラメータ値を取得して推奨値として提示するので、入力の手間を省き、入力ミスを低減できる。
また、一貫した方針でのパラメータの推奨値が提示されたとしても、どうして推奨されたのかがわからないために、より好適と考えるパラメータ値に変更できないという問題がある。
この点、計算機システム1では、推奨値に係るパラメータ値の変更履歴が提示され得るので、ユーザは、より好適と考えるパラメータ値に変更できるようになる。
本実施の形態によれば、サービスに用いるパラメータ値の設定を適切に行うことができる。
(5)他の実施の形態
なお上述の実施の形態においては、本発明を計算機システム1に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステムに広く適用することができる。
また上述の実施の形態においては、入力が必須のパラメータを例に挙げて説明したが、本発明はこれに限られない。ユーザの入力値によっては、精度の高い推奨値が得られないこともあり得るが、任意の入力値を受け付けて処理を行うようにしてもよい。例えば、ユーザは、セカンダリボリュームのストレージプロファイルを「Gold」として処理を開始し、推奨値を享受できるようにしてもよい。
また上述の実施の形態においては、未来タスク検索処理を行い、続いて過去タスク検索処理を行う場合について述べたが、本発明はこれに限らず、過去タスク検索処理を行い、続いて未来タスク検索処理を行うようにしてもよい。
また上述の実施の形態においては、過去タスク検索処理においてTのタスクログ126の処理(現在タスク検索処理)を行う場合について述べたが、本発明はこれに限らず、未来タスク検索処理においてTのタスクログ126の処理を行うようにしてもよいし、その他のタイミングで処理(現在タスク検索処理)を行うようにしてもよい。
また上述の実施の形態においては、推奨値を管理クライアント200で表示する場合について述べたが、本発明はこれに限らず、推奨値を管理サーバ100に接続されたプリンタ(図示は省略。)で印刷するようにしてもよいし、推奨値を所定のメールアドレスに送信するようにしてもよいし、推奨値をCSV(Comma Separated Values)ファイルとして所定の記憶装置に格納してもよいし、その他の出力であってもよい。付言するならば、推奨値を出力可能な出力装置としては、管理サーバ100、入出力デバイス240、プリンタなどが挙げられ、サービス実行画面表示部202は、出力部の一例である。
また上述の実施の形態においては、管理サーバ100と管理クライアント200と別々に設けられる場合について述べたが、本発明はこれに限らず、管理サーバ100と管理クライアント200とが一の計算機により設けられてもよい。
また上述の実施の形態においては、管理サーバ100と管理クライアント200とが通信する場合について述べたが、管理サーバ100と管理クライアント200とは、直接接続されていてもよいし、内部ネットワークを介して接続されてもよいし、外部ネットワークを介して接続されていてもよいし、内部ネットワークおよび外部ネットワークを介して接続されてもよいし、その他の形態により接続されてもよい。
また上述の実施の形態においては、管理サーバ100とサービス実行システム20とが通信する場合について述べたが、管理サーバ100とサービス実行システム20とは、直接接続されていてもよいし、内部ネットワークを介して接続されてもよいし、外部ネットワークを介して接続されていてもよいし、内部ネットワークおよび外部ネットワークを介して接続されてもよいし、その他の形態により接続されてもよい。
また上述の実施の形態においては、各種データ(テーブル、ファイル等)を管理サーバ100に格納する場合について述べたが、本発明はこれに限らず、管理サーバ100と通信可能なストレージ装置に格納するようにしてもよい。この場合、ストレージ装置は、例えば、複数のハードディスク装置等の記憶装置が搭載されたディスクアレイ装置から構成され、管理サーバ100が実行する各種処理に必要なデータを保持する。ストレージ装置は、管理サーバ100からのライト要求に応じてデータを記憶装置に格納したり、管理サーバ100からのリード要求に応じて、要求されたデータを記憶装置から読み出して管理サーバ100に送信したりする。
また上述の実施の形態においては、説明の便宜上、XXテーブル、XXファイルを用いて各種のデータを説明したが、データ構造は限定されるものではなく、XX情報などと表現してもよい。
また上述した内容については、本発明の要旨を超えない範囲において、適宜に、組み合わせたり、省略したり、変形したり、順序を入れ替えたりすることができる。