(57)【要約】  １以上の運用対象装置を含む運用対象システムに接続された管理システムは、運用自動化のためのテンプレートであり１以上のコンポーネントが関連付けられたサービステンプレートを作成又は編集する。プロセッサは、（１）サービステンプレートを指定したバージョンアップ要求を受信し、（２）バージョンアップ要求に応答して、指定されたサービステンプレート又はその複製に関連付けられる対象コンポーネントのバージョンを、指定されたサービステンプレートに既に関連付けられている対象コンポーネントのバージョンと違える。
2016113913.tif 000002
【特許請求の範囲】
【請求項１】
１以上の運用対象装置を含む運用対象システムに接続されたインターフェースデバイスと、
管理プログラムを記憶する記憶資源と、
前記管理プログラムを実行することで、運用自動化のためのテンプレートであり１以上のコンポーネントが関連付けられたサービステンプレートを作成又は編集するプロセッサと、
を有し、
前記プロセッサは、
（１）サービステンプレートを指定したバージョンアップ要求を受信し、
（２）前記バージョンアップ要求に応答して、前記指定されたサービステンプレート又はその複製に関連付けられる対象コンポーネントのバージョンを、前記指定されたサービステンプレートに既に関連付けられている対象コンポーネントのバージョンと違える、
管理システム。
【請求項２】
（２）において、異なるバージョンの対象コンポーネントは、前記指定されたサービステンプレートの複製に、バージョン変更前の対象コンポーネントに代えて関連付けられる、
請求項１記載の管理システム。
【請求項３】
前記プロセッサは、
（３）前記指定されたサービステンプレートに関連付けられている１以上のコンポーネントのうちのバージョン変更対象のコンポーネントの選択と、変更後のバージョンの指定とを、ユーザインターフェース経由で受け付け、
前記バージョンアップ要求には、前記選択されたコンポーネントと前記指定されたアップ後のバージョンとが関連付けられており、
前記対象コンポーネントは、（３）で選択されたコンポーネントである、
請求項１記載の管理システム。
【請求項４】
前記指定されたサービステンプレートに複数の同一コンポーネントが関連付けられている場合、前記プロセッサは、（３）において、前記複数の同一コンポーネントの各々について、バージョン変更対象とするか否かの選択と、バージョン変更対象とするのであれば変更後のバージョンの指定とを受け付ける、
請求項３記載の管理システム。
【請求項５】
サービステンプレートには、少なくとも１つのプラグインコンポーネントと少なくとも１つのサービステンプレートコンポーネントとのうちの１以上のコンポーネントが関連付けられ、
サービステンプレートコンポーネントは、作成済サービステンプレートである、
請求項１記載の管理システム。
【請求項６】
プラグインコンポーネントは、運用対象装置のベンダ又は前記管理プログラムのベンダにより提供されたコンポートネントであり、
サービステンプレートコンポーネントは、コンポーネント提供ユーザとは別のユーザにより提供されたコンポーネントである、
請求項５記載の管理システム。
【請求項７】
プラグインコンポーネントは、最小単位のコンポートネントであり、
サービステンプレートコンポーネントは、１以上のプラグインコンポーネントとそれらが関連付けられたサービステンプレートとのパッケージである、
請求項５記載の管理システム。
【請求項８】
前記プロセッサは、個別適用モードと、オール適用モードとのうちのいずれかのモードの選択を、ユーザインターフェース経由で受け付け、
前記プロセッサは、前記個別適用モードの選択を受け付けた場合、（３）を実行し、
前記プロセッサは、前記オール適用モードの選択を受け付けた場合、
（４）前記指定されたサービステンプレートの複製に関連付けられているコンポーネントのうちの全ての旧バーションのコンポーネントに代えて、それぞれ、最新バーションのコンポーネントを、前記指定されたサービステンプレートの複製に関連付ける、
請求項３記載の管理システム。
【請求項９】
前記プロセッサは、
作成済のサービステンプレートのうち、最新バージョンのコンポーネントが存在するが旧バージョンのコンポーネントが関連付けられているサービステンプレートを特定し、
前記特定したサービステンプレートを、前記特定したサービステンプレートがバージョンアップ可能であることを意味する表示オブジェクトを関連付けて表示し、
前記バージョンアップ要求で指定されているサービステンプレートは、前記表示オブジェクトが関連付けられているサービステンプレートから選択されたサービステンプレートである、
請求項１記載の管理システム。
【請求項１０】
前記プロセッサは、前記指定されたサービステンプレートに関連付けられている１以上のコンポーネントのうち、複数のバージョンが存在するコンポーネントのみのリストを表示し、
（３）で選択されたコンポーネントは、前記リストから選択されたコンポーネントである、
請求項３記載の管理システム。
【請求項１１】
前記指定されたサービステンプレートに関連付けられている対象コンポーネントは、コンポーネント入力プロパティと、前記コンポーネント入力プロパティに入力された入力値に基づいて実行する処理内容とを含むコンポーネントであり、
前記プロセッサは、（２）において、バージョン変更前の対象コンポーネントのコンポーネント入力プロパティの入力値を、バージョン変更後の対象コンポーネントのコンポーネント入力プロパティに入力する、
請求項１記載の管理システム。
【請求項１２】
サービステンプレートには、少なくとも１つのプラグインコンポーネントと少なくとも１つのサービステンプレートコンポーネントとのうちの１以上のコンポーネントが関連付けられ、
サービステンプレートコンポーネントは、作成済サービステンプレートであり、
（４）において、前記プロセッサは、旧バージョンのコンポーネントが別のサービステンプレートであれば、その旧バージョンのコンポーネントとしてのサービステンプレートをバージョンアップしない、
請求項８記載の管理システム。
【請求項１３】
プラグインコンポーネントは、運用対象装置のベンダ又は前記管理プログラムのベンダにより提供されたコンポートネントであり、
サービステンプレートコンポーネントは、コンポーネント提供ユーザとは別のユーザにより提供されたコンポーネントである、
請求項１２記載の管理システム。
【請求項１４】
前記指定されたサービステンプレートに複数の同一コンポーネントが関連付けられている場合、その複数の同一のコンポーネントの少なくとも１つについて、前記プロセッサは、（４）において、バージョン変更対象とするか否かの選択と、バージョン変更対象とするのであれば変更後のバージョンの指定とを受け付ける、
請求項８記載の管理システム。
【請求項１５】
１以上の運用対象装置を含む運用対象システムに接続された計算機に、
運用自動化のためのテンプレートであり１以上のコンポーネントが関連付けられたサービステンプレートを作成又は編集し、
サービステンプレートを指定したバージョンアップ要求を受信し、
前記バージョンアップ要求に応答して、前記指定されたサービステンプレート又はその複製に関連付けられる対象コンポーネントのバージョンを、前記指定されたサービステンプレートに既に関連付けられている対象コンポーネントのバージョンと違える、
ことを実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、運用対象装置の運用自動化技術に関する。
【背景技術】
【０００２】
近年の計算機システムは大規模化しており、それに伴い、計算機システムを構成し、運用対象となる装置（運用対象装置）の運用の手間も増えている。自動化技術はこのような運用対象装置の管理及び保守（以後はまとめて運用と呼ぶ）を自動化する技術である。特許文献１に開示の技術ではこうした自動化技術を実現した管理システムに於いて、フロー内部のコンポーネントが全て自動運用向けであればフローのアイコンとして全自動であることを示すアイコンで表し、自動運用向けと手動設定向けのコンポーネントが混在している場合は、混在であることを表すアイコンで表す。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】WO2013/140609
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コンポーネントは、機能拡充又はバグフィックス等の理由で改善が続けられる。しかし、特許文献１では、このようなコンポーネントの改善について開示されていない。
【課題を解決するための手段】
【０００５】
１以上の運用対象装置を含む運用対象システムに接続された管理システムは、運用自動化のためのテンプレートであり１以上のコンポーネントが関連付けられたサービステンプレートを作成又は編集する。プロセッサは、（１）サービステンプレートを指定したバージョンアップ要求を受信し、（２）バージョンアップ要求に応答して、指定されたサービステンプレート又はその複製に関連付けられる対象コンポーネントのバージョンを、指定されたサービステンプレートに既に関連付けられている対象コンポーネントのバージョンと違える。
【発明の効果】
【０００６】
コンポーネントの改善に伴いサービステンプレートを効率的にバージョンアップできる。
【図面の簡単な説明】
【０００７】
【図１】実施形態の第１の概要を示す。
【図２】実施形態の第２の概要を示す。
【図３】実施形態に係るシステム全体の構成を示す。
【図４】管理サーバの構成を示す。
【図５】管理クライアントの構成を示す。
【図６】コンポーネント管理テーブルの構成を示す。
【図７】コンポーネントプロパティ管理テーブルの構成を示す。
【図８】ＳＴ（サービステンプレート）管理テーブルの構成を示す。
【図９】フロー管理テーブルの構成を示す。
【図１０】ＳＴプロパティ管理テーブルの構成を示す。
【図１１】サービス管理テーブルの構成を示す。
【図１２】サービスプロパティ設定テーブルの構成を示す。
【図１３】ＳＴ入力プロパティとＳＴ出力プロパティの関係の一例を示す。
【図１４】図１３のＳＴに対応したサービス作成画面の一例である。
【図１５】ＳＴ作成画面の一例を示す。
【図１６】バージョン毎の関連ＳＴリストの一例を示す。
【図１７】サービス作成画面の具体例を示す。
【図１８】実施形態の第３の概要を示す。
【図１９】ステップ管理テーブルの構成を示す。
【図２０】コンポーネントインポート処理のフローチャートである。
【図２１】ＳＴ編集処理のフローチャートである。
【図２２】ＳＴ確定処理のフローチャートである。
【図２３】関連ＳＴ表示処理のフローチャートである。
【図２４】サービス作成画面表示処理のフローチャートである。
【図２５】サービス実行処理のフローチャートである。
【図２６】ＵＩ変更処理のフローチャートである。
【図２７】ＳＴリスト画面の構成を示す。
【図２８】「All apply」タブが選択された状態のＳＴバージョンアップ画面の構成を示す。
【図２９】「Step list to be applied」ボタンが押された場合のＳＴバージョンアップ画面の構成を示す。
【図３０】「Individual apply」タブが選択された場合のＳＴバージョンアップ画面の構成を示す。
【図３１】コンポーネント入力プロパティの入力値の引継ぎを示す。
【図３２】ユースケースの一例の第１のフェーズを示す。
【図３３】ユースケースの一例の第２のフェーズを示す。
【図３４】ユースケースの一例の第３のフェーズを示す。
【図３５】ＳＴバージョンアップ処理のフローチャートである。
【発明を実施するための形態】
【０００８】
以下、一実施形態を説明する。なお、以下に説明する実施形態は請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
また、以下の説明では、「ｋｋｋテーブル」の表現にて情報を説明することがあるが、情報は、テーブル以外のデータ構成で表現されていてもよい。データ構成に依存しないことを示すために「ｋｋｋテーブル」のうちの少なくとも１つを「ｋｋｋ情報」と呼ぶことができる。また、テーブルの構成は一例であり、２以上のテーブルが１つのテーブルにまとめられたり、１つのテーブルが複数のテーブルに分割されたりしてもよい。
【００１０】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣＰＵ（Central  Processing  Unit）によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び／又は通信インターフェイスデバイス（例えば通信ポート）等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。また、プロセッサは、処理の一部または全部を行うハードウエア回路を含んでもよい。プログラムは、プログラムソースから各コントローラにインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機または計算機が読み取り可能な記憶メディアであってもよい。
【００１１】
また、以下の実施形態では、計算機システムを管理する第１の管理システム（以下、計算機管理システム）と、システム運用の自動化を支援する第２の管理システム（以下、運用自動化システム）とがある。しかし、計算機管理システムと運用自動化システムは１つの管理システムであってもよい。また、計算機管理システムは運用対象装置に含まれていてもよい。
【００１２】
また、以下の説明において、管理システムは、一以上の計算機で構成されてよい。具体的には、例えば、管理計算機が情報を表示する場合（具体的には、管理計算機が自分の表示デバイスに情報を表示する、或いは、管理計算機が表示用情報を遠隔の表示用計算機に送信する場合）、管理計算機が管理システムである。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機を含んでよい）が、管理システムである。本実施形態では、運用自動化システムの管理サーバが管理計算機であり、運用自動化システムの管理クライアントが表示用計算機である。
【００１３】
また、管理計算機は、表示システムを含むＩ／Ｏシステムに接続されたインターフェースデバイスと、情報を記憶する記憶資源（例えばメモリ）と、インターフェースデバイス及び記憶資源に接続されたプロセッサとを有する。表示システムは、管理計算機が有する表示デバイスでもよいし、管理計算機に接続された表示用計算機でもよい。Ｉ／Ｏシステムは、管理計算機が有するＩ／Ｏデバイス（例えばキーボード及びポインティングデバイス、タッチパネル）でもよいし、管理計算機に接続された表示用計算機又は別の計算機でもよい。管理計算機が「表示用情報を表示する」ことは、表示システムに表示用情報を表示することであり、これは、管理計算機が有する表示デバイスに表示用情報を表示することであってもよいし、管理計算機が表示用計算機に表示用情報を送信することであってもよい（後者の場合は表示用計算機によって表示用情報が表示される）。また、管理計算機が情報を入出力するとは、管理計算機が有するＩ／Ｏデバイスとの間で情報の入出力を行うことであってもよいし、管理計算機に接続された遠隔の計算機（例えば表示用計算機）との間で情報の入出力を行うことであってもよい。情報の出力は、情報の表示であってもよい。
【００１４】
また、以下の説明において、要素の識別情報として、「ｕｋ（ユニークキー）」、「キー名」という表現を用いるが、これらのうちの少なくとも１つに代えて又は加えて他種の識別情報（例えば番号）が使用されてもよい。
【００１５】
図１は、実施形態の第１の概要を示す。図２は、実施形態の第２の概要を示す。
【００１６】
運用自動化システムは、システム運用の多数のコンポーネントを管理する。ここで、「システム運用」とは、計算機システムの運用のことである。「コンポーネント」とは、システム運用の一部分であり、１つの独立した処理（業務）である。コンポーネントは、サービステンプレートに関連付けられる１つの単位（サービステンプレートに含まれる１つの単位）である。コンポーネントとしては、プラグインコンポーネントと、ＳＴコンポーネント（コンポーネントとして扱われるサービステンプレート）がある。詳細は後述する。
【００１７】
プラグインコンポーネントは、例えば、スクリプトを実行する処理モジュールであり、実行ファイルでよい。プラグインコンポーネントは、運用自動化システムに予め設けられるが、これに限らず、後から運用自動化システムに追加することもできる。プラグインコンポーネントは、例えば、ストレージ装置の構成変更（例えば論理ボリュームの作成）を実行させるコンポーネントでよいが、これに限らず、コンポーネント同士を組み合わせるために使用するコンポーネント、汎用的に使用可能なコンポーネントなどがあってもよい。例えば、プラグインコンポーネントとしては、繰り返し実行するためのソフトウェアコンポーネント、ファイル転送コンポーネント、ファイル実行コンポーネントなどがあってもよい。
【００１８】
なお、運用自動化システムの外部よりコンポーネント（パッケージ）がダウンロードされインポートされる場合、運用自動化システムのユーザがコンポーネントを作成又は改善する場合、又はサービステンプレートがコンポーネントとされる場合、といったことが考えられるが、これ以外で運用自動化システムにてコンポーネントがインポートされてもよい。ちなみにコンポーネントの改善例として、（１）コンポーネント内部の不具合の修正、（２）内部処理効率の改善、（３）コンポーネントが運用対象とする装置が変更された（例えば、ある装置の管理をするコマンドの仕様が変わったので、そのコマンドを実行するコンポーネントも変える必要が出た）、（４）コンポーネントが運用対象とする装置が増えた（例えば、第１のベンダーの装置に加えて新たに第２ベンダーの装置も運用できるようになった）、（５）コンポーネントの入出力プロパティ数が増減した、（６）コンポーネントの入出力プロパティに与える値のフォーマットが変更された、（７）コンポーネントに関連付けられているデフォルト値が変更又は追加された、（８）コンポーネントとして処理できることが増加又は処理効率の改善、のうちの少なくとも１つが考えられる。
【００１９】
運用自動化システムは、多数のコンポーネント（コンポーネント群）を管理する。本実施形態では、多数のコンポーネントのうちの２以上のコンポーネントを基にサービステンプレート（ＳＴ）が作成され、作成されたＳＴを基にサービスが作成され、作成されたサービスが実行される。以下、コンポーネント管理、ＳＴ作成、ＳＴ確定、サービス作成及びサービス実行の概要を説明する。
【００２０】
＜コンポーネント管理＞
【００２１】
運用自動化システムは、多数のコンポーネント（コンポーネント群）を管理する。コンポーネントは、コンポーネント提供ユーザにより追加又は編集されてよい。運用自動化システムは、コンポーネント毎に、コンポーネントに関連付けられる１以上のコンポーネントプロパティを管理する。また、運用自動化システムは、コンポーネント毎に、コンポーネントのバージョンを管理する。図１では、コンポーネントＢＢＢを例に取って、コンポーネントプロパティ及びバージョンを示しているが、別のコンポーネントにも、その別のコンポーネントのコンポーネントプロパティ及びバージョンが関連付けられている。
【００２２】
「コンポーネントプロパティ」とは、コンポーネントのプロパティである。コンポーネントプロパティとして、コンポーネント入力プロパティとコンポーネント出力プロパティの２種類がある。コンポーネント入力プロパティは、定義された項目（表示名）についての値の入力に関するプロパティであり、コンポーネント出力プロパティは、定義された項目（表示名）についての値の出力に関するプロパティである。１つのコンポーネントに、１以上のコンポーネント入力プロパティと０以上のコンポーネント出力プロパティのうちの少なくとも１つが関連付けられる。すなわち、コンポーネントによっては、出力プロパティが０個の場合もあるが、入力プロパティは、各コンポーネントにつき１個以上関連付けられている。入力値は、例えば、過去に作成されたサービスのプロパティとして入力された値のコピーであってもよいし、実行済みの他のコンポーネントについて出力された値のコピーであってもよい。出力値は、コンポーネント実行後の構成情報等でよい。
【００２３】
バージョン００１のコンポーネントＢＢＢと、バージョン００２のコンポーネントＢＢＢがそれぞれ管理されている。すなわち、同一コンポーネントでも「バージョン」が異なれば、異なるコンポーネントのように扱われる。別の言い方をすれば、コンポーネントが更新（例えば改善）されても、更新後のコンポーネントが更新前のコンポーネントに上書きされることなく、更新前のコンポーネントとは別に更新後のコンポーネントが管理される。コンポーネントが更新された場合にいわゆるソフトウェアの更新のように更新前のコンポーネントが自動で更新後のコンポーネントに置き換わると、運用自動化においてトラブルの原因となり得る。特に、更新前のコンポーネントが既に作成されたサービスの要素の場合には、トラブルの原因となる可能性が高い。そこで、本実施形態では、運用自動化システムは、コンポーネントが更新された場合、更新後のコンポーネントの第１種の識別情報（例えばコンポーネント名）を更新前のコンポーネントの第１種の識別情報と同じとするが、更新後のコンポーネントのバージョン及び第２の識別情報（例えばコンポーネントｕｋ（コンポーネントユニークキー））のうちの少なくとも１つを、更新前のコンポーネントのバージョン及び第２の識別情報と違う値とする。これにより、運用自動化システムは、更新後のコンポーネントを更新前のコンポーネントと別コンポーネントのように管理できる。
【００２４】
「コンポーネント提供ユーザ」とは、コンポーネントの追加又は更新等を行う、運用自動化システム３０１のユーザである。コンポーネント提供ユーザは、例えばＧＵＩ（Graphical  User  Interface）、ＣＬＩ（Common  Language  Infrastructure）、ＡＰＩ（Application  Programming  Interface）などを介して、コンポーネントを作成、追加、又は更新等行うことができる。コンポーネント提供ユーザにより追加又は更新されるコンポーネントは、典型的にはプラグインコンポーネントでよい。なお、プラグインコンポーネントは、例えば、管理プログラム４３１のベンダー、運用対象装置のベンダー等が作成する。サービステンプレートには、プラグインコンポーネント及びＳＴコンポーネントのいずれも関連付けることができる。プラグインコンポーネントは、最小単位でよく、ＳＴコンポーネントは、１以上のプラグインコンポーネントとそれらが関連付けられたサービステンプレートとのパッケージでよい。プラグインコンポーネントは、コンポーネント入力プロパティと、コンポーネント入力プロパティに入力された入力値に基づいて実行する処理内容とを含んでよい。ＳＴコンポーネントも、コンポーネント入力プロパティと、コンポーネント入力プロパティに入力された入力値に基づいて実行する処理内容とを含んでよい。ＳＴコンポーネントのコンポーネント入力プロパティは、後述するＳＴ入力プロパティでよい。
【００２５】
＜ＳＴ作成＞
【００２６】
運用自動化システムが、ＳＴ作成画面を表示する。ＳＴ作成画面に、情報の入力ＵＩが表示される。ＳＴ作成ユーザが、ユーザ操作により、ＳＴ作成画面に情報を入力する。例えば、運用自動化システムは、ＳＴ作成画面を介して、多数のコンポーネントのうちの２以上のコンポーネントの選択と、２以上のコンポーネントの実行順序の指定とを受け付ける。運用自動化システムが、選択された２以上のコンポーネントと指定された実行順序とに基づきサービスフローのサービステンプレートを作成する。
【００２７】
「ＳＴ作成ユーザ」とは、サービステンプレートを作成する、運用自動化システム３０１のユーザである。ＳＴ作成ユーザは、上述のように、ＳＴ作成画面を用いてサービステンプレートを作成する。ＳＴ作成ユーザは、コンポーネント提供ユーザと同一であってもよいし異なっていてもよい。なお、前述のＳＴコンポーネントは、典型的には、ＳＴ作成ユーザにより作成され検証済みとなったサービステンプレートがコンポーネント化されたものでよい。しかし、ＳＴコンポーネントは他のベンダーやユーザが作成したものであってもよい。
【００２８】
「ユーザ操作」とは、画面に対してユーザが入力デバイスを使用して行う操作である。ユーザ操作に使用される入力デバイスは、一般に、ポインティングデバイス（例えばマウス）とキーボードの組合せ、又は、タッチスクリーンである。画面を介した入力は、ユーザ操作により行われる。
【００２９】
「サービステンプレート」とは、サービスのテンプレートである。本実施形態では、サービステンプレートが「ＳＴ」と略記されることもある。ＳＴは、インスタンス化されていない自動実行内容を指し示すオブジェクトという言い方をすることもできる。
【００３０】
「サービスフロー」とは、典型的には、選択された２以上のコンポーネントの並びである。コンポーネントの並びは、指定された実行順序に従う。選択されたコンポーネントの数が１つだけの場合、サービスフローを構成するコンポーネントの数も１つである。
【００３１】
上述のように、運用自動化システムは、ＳＴ作成画面を介して選択された２以上のコンポーネント及び指定された実行順序を基にサービステンプレートを作成する。具体的には、例えば、運用自動化システムは、選択された２以上のコンポーネントに関連付けられている複数のコンポーネントプロパティ（例えばコンポーネントプロパティ００１及び００２）にそれぞれ対応した複数のＳＴプロパティ（例えばＳＴプロパティ００Ａ及び００Ｂ）を作成し、作成した複数のＳＴプロパティをサービステンプレート（例えばＳＴ００１）に関連付ける。コンポーネントプロパティに対応したＳＴプロパティは、そのコンポーネントプロパティを基に運用自動化システムにより自動作成される。ＳＴプロパティの作成中又は作成後にユーザ操作により入力された値がＳＴプロパティに含まれてもよいが、ユーザ操作による入力（つまり手動入力）無しにＳＴプロパティが作成されてよい。「ＳＴプロパティ」とは、ＳＴのプロパティである。ＳＴプロパティとして、ＳＴ入力プロパティとＳＴ出力プロパティの２種類がある。ＳＴ入力プロパティは、定義された項目（表示名）についての値の入力に関するプロパティであり、ＳＴ出力プロパティは、定義された項目（表示名）についての値の出力に関するプロパティである。１つのサービステンプレートに、１以上のＳＴ入力プロパティと０以上のＳＴ出力プロパティのうちの少なくとも１つが関連付けられる。すなわち、ＳＴ出力プロパティが必ず１個あるとは限らない。
【００３２】
図１の例では、サービスフローは、コンポーネントＢＢＢ「Provisioning  volume」（ストレージ装置に論理ボリュームを作成する）と、コンポーネントＤＤＤ「Create  pair  volume」（論理ボリューム（プライマリボリューム）とペアになる論理ボリューム（セカンダリボリューム）を作成する）の組合せであり、そのサービスフローのサービステンプレート（ＳＴ００１）が作成されたとする。
【００３３】
＜ＳＴ確定＞
【００３４】
運用自動化システムは、作成されたサービステンプレートについて、ユーザ操作により確定を受けた場合、その作成されたサービステンプレートのＳＴ種別を「Release」として管理する（図２参照）。ＳＴ種別「Release」は、サービステンプレートが確定しており、そのサービステンプレートを基にサービスを作成することが可能であることを意味する。一方、確定していないサービステンプレートは、ＳＴ種別「Debug」である。ＳＴ種別「Debug」は、サービステンプレートが編集中であることを意味する。なお、運用自動化システムは、サービス実行において、ＳＴ種別「Debug」のサービステンプレートの選択を受け付けないようにしてもよい（例えば、ＳＴ種別「Debug」のサービステンプレートを、選択可能に表示しない（ディスエーブル））。その一例としては、後述するサービス作成ユーザは、ＳＴ種別が「Release」であるサービステンプレートだけサービスの作成を可能とし、サービステンプレート作成ユーザは、テスト目的もあるため、ＳＴ種別が「Release」と「Debug」両方でサービス作成を可能としてもよい。なお、こうした処理を実現するため、運用自動化システムはユーザ認識を行っていることは言うまでも無い。
【００３５】
＜サービス作成＞
【００３６】
運用自動化システムは、作成済のサービステンプレートを管理する。運用自動化システムは、ＳＴ種別「Release」のサービステンプレートのうちのいずれかのサービステンプレートの選択をサービス作成ユーザから受け、選択されたサービステンプレートを基にサービス作成画面を表示する。サービス作成ユーザが、ユーザ操作により、サービス作成画面に情報を入力する。運用自動化システムは、サービス作成画面を介して入力された情報を基にサービスを作成する。
【００３７】
「サービス作成ユーザ」とは、サービスを作成（実行）するユーザである。サービス作成ユーザとＳＴ作成ユーザは異なるユーザであってもよいし同一ユーザであってもよい。
【００３８】
「サービス」とは、インスタンス化されたサービステンプレートである。具体的には、サービステンプレートは、サービスの実行に必要な値がブランクとなっており、その必要な値がサービステンプレートに入力されたものが、サービスである。なお、前述のサービスの実行に必要な値については、デフォルト値がＳＴのプロパティの情報として設定できる場合もある。
【００３９】
なお、サービスは運用に関係するものであることを表すために「運用サービス」と記載する場合がある。なお、特定の状況に於いては「サービス」は、ユーザが指定した運用対象装置に対して行うべき運用処理を示しているとも言える。例えば、図１３の例でＳＴ入力プロパティ１３０４Ｃを指定した場合はこの表現に該当する。また、コンポーネント自体に指定する運用対象装置を埋め込んだり、コンポーネントの入力プロパティのデフォルト値として与えたりしない場合は、「サービス」と「サービステンプレート」間の別な見方として、「サービス」が示す処理内容では入力値の定めにより構成変更や情報取得先として指定する運用対象装置が明確になっている一方で、「サービステンプレート」では指定する運用対象装置が不明であるとも言える。
【００４０】
なお、運用自動化システムは、作成されたサービスに、サービスプロパティを関連付けらよい。「サービスプロパティ」とは、サービスの入力・出力プロパティ（入力及び出力のうちの少なくとも一方のプロパティ）である。サービスの入力・出力プロパティには、サービス作成においてサービステンプレートに入力された値と、サービス実行においてコンポーネントから出力された値とのうちの少なくとも１つが設定される。具体的には、例えば、サービスの実行では、サービス作成において入力プロパティに入力された値が、そのサービスのサービステンプレートに関連付けられているコンポーネントに入力されて、処理が実行されてよい。また、コンポーネントから出力された値が、サービスの出力プロパティに設定されることで、サービスの実行結果画面において、その設定された値（例えば、コンポーネントが実行された後の構成情報等）が表示されてよい。
【００４１】
＜サービス実行＞
【００４２】
運用自動化システムが、作成したサービスの実行の命令を、計算機管理システムに送信する。計算機管理システムが、その命令に従い、サービスを実行する。
【００４３】
以上が、コンポーネント管理、ＳＴ作成、サービス作成及びサービス実行の各々の概要である。
【００４４】
複数のＳＴプロパティのうちの少なくとも１つのＳＴ入力プロパティの各々に、カスタムＵＩを定義した情報であるカスタムＵＩ生成情報が関連付けられている。但し、デフォルトＵＩに関しては、カスタムＵＩ生成情報は「Null」（デフォルトＵＩ用の情報）である。カスタムＵＩ及びデフォルトＵＩについては後述する。また、図面では、「カスタムＵＩ生成情報」を、「カスタムＩｎｆｏ．」のように略記することもある。ＳＴプロパティのカスタムＵＩ生成情報は、そのＳＴプロパティに対応したコンポーネントプロパティに関連付けられているＵＩ生成情報（例えば、ＵＩの生成に必要な情報を含んだ情報）である。複数のコンポーネントプロパティのうちの少なくとも１つのコンポーネント入力プロパティの各々に、カスタムＵＩ生成情報が関連付けられている場合がある。
【００４５】
運用自動化システムは、ＳＴ作成画面及びサービス作成画面等の画面を、一連の流れにおいて表示することができる。少なくとも１つの画面には、ＵＩが表示される。本実施形態において、ＵＩは、画面に表示される１つの要素である。１以上のＵＩを含んだ画面をＧＵＩと呼ぶこともできる。なお、以後の説明ではＵＩを「ＵＩ要素」と呼ぶことがある。
【００４６】
＜ＵＩの生成及び表示＞
【００４７】
本実施形態では、運用自動化システムは、少なくともサービス作成画面に表示されるＵＩを、例えば次のように生成する。
【００４８】
すなわち、運用自動化システムは、選択されたサービステンプレートの複数のＳＴプロパティにそれぞれ対応した複数のカスタムＵＩ生成情報を基に、複数のＵＩをそれぞれ生成する。運用自動化システムは、生成した複数のＵＩを１つのサービス作成画面に表示する。本実施形態では、１つのカスタムＵＩ生成情報を基に１つのＵＩが生成される。つまり、カスタムＵＩ生成情報とＵＩの関係は、１：１である。しかし、カスタムＵＩ生成情報とＵＩの関係は、ｎ：１でもよいし、１：ｎでもよいし、ｍ：ｎでもよい（ｍとｎは２以上の整数）。
【００４９】
このようなＵＩ生成によれば、例えば、コンポーネントＢＢＢとコンポーネントＤＤＤで構成されたサービスフローのうちコンポーネントＤＤＤがコンポーネントＥＥＥと入れ替えられても、コンポーネント入れ替え後のサービス作成画面に表示されるＵＩとして、コンポーネントＤＤＤに代えてコンポーネントＥＥＥのＵＩが生成され表示される。このように、ＵＩの生成が効率的である。
【００５０】
＜カスタムＵＩ＞
【００５１】
また、本実施形態では、ＵＩとして、デフォルトＵＩに代えて又は加えて、カスタムＵＩが用意されている。
【００５２】
「デフォルトＵＩ」は、テキストフィールドのkey-value形式でのＵＩであり、具体的には、ＳＴプロパティ（コンポーネントプロパティ）の表示名と、テキストフィールドとの組である。なお、デフォルトＵＩにてテキストフィールドが採用される理由は、幅広い入力形式に対応できることが理由である。ＳＴプロパティ（コンポーネントプロパティ）の表示名（入力項目）に関わらず、テキストフィールドが表示される。従って、ユーザは、表示名を見て、入力する値又は名称等の情報を考えなければならず、そして、その情報をキータイプによりテキストフィールドに入力する必要がある。このため、タイプミス等の誤入力が生じ得る。また、ＳＴプロパティ（コンポーネントプロパティ）に無効な値や名称等があってもそのような無効な値や名称等が入力されるおそれもある。また、ユーザに高い知識が必要とされ得る。
【００５３】
それに対し、「カスタムＵＩ」は、テキストフィールドのkey-value形式でのＵＩではなく、ユーザビリティが考慮されたＵＩである。例えば、カスタムＵＩは、ＳＴプロパティ（コンポーネントプロパティ）の表示名と、プルダウンメニュー、チェックボックス及びラジオボタン等のうちの少なくとも１つのような、１以上のＧＵＩ要素（ウィジェット）とを含んだＵＩである。このため、デフォルトＵＩに比べて、誤入力は生じないし、ユーザに高い知識が必要とされない。なお、カスタムＵＩも、テキストフィールドを含んでよいが、デフォルトＵＩのようなＵＩ（テキストフィールドのkey-value形式でのＵＩ）よりもユーザビリティの高いＵＩ（例えば、テキストフィールドの近傍に表示される無効な値や名称等のリストを含んだＵＩ）である。
【００５４】
図１の例によれば、１つのサービス作成画面において、デフォルトＵＩ（表示名：ＬＵＮと、テキストフィールドとの組）と、カスタムＵＩ（表示名：Volume  Capacityと、ボリューム容量のプルダウンメニューと、ボリューム容量の単位（例えばＭＢ（メガバイト））のプルダウンメニューとの組）が混在している。
【００５５】
このように、本実施形態では、全てのＵＩが、カスタムＵＩである必要は無い。カスタムＵＩが関連付いていないコンポーネントとカスタムＵＩが関連付いたコンポーネントとが１つのサービスフローに混在しても、サービス作成画面では、デフォルトＵＩの他にカスタムＵＩも定義通り表示される。システム運用のコンポーネントは多数存在するので、全てのＵＩをカスタムＵＩにしてからコンポーネント提供するとなると、運用自動化システムのベンダーが自社製品を提供するまでに時間がかかる。本実施形態によれば、カスタムＵＩのカスタムＵＩ生成情報が関連付いていないコンポーネントが早期に提供されたり、ＳＴ作成ユーザがコンポーネントを独自に作成してサービステンプレートに組み込んだりしても、サービス作成ユーザが、サービス作成においてカスタムＵＩの恩恵を受けることができる。
【００５６】
なお、コンポーネントプロパティ（ＳＴプロパティ）にカスタムＵＩが追加された場合、及び、古いカスタムＵＩから新しいカスタムＵＩに変わった場合でも、画面に表示されるＵＩは、変更前のＵＩ（すなわち、デフォルトＵＩ又は古いカスタムＵＩ）とされる。具体的には、例えば、運用自動化システムは、既存のＳＴに関連付いているコンポーネントのＵＩの変更要求を受け付けた場合、ＵＩの変更要求を受けたコンポーネントのコピーを作成（既存のコンポーネントを基にバージョンの異なる新たなコンポーネントを作成）し、ＵＩを変更したコンポーネントを作成する。次に、既存のＳＴのコピーを作成し（既存のＳＴを基にバージョンの異なる新たなＳＴを作成）、その作成した新しいＳＴに、既存のコンポーネントとバージョンが異なる新しいコンポーネントを入れ替える。既存のＳＴで使用されているコンポーネントに関連付いているＵＩを自動的に変更してしまうと、元々はうまく使えていたＳＴが使えなくなる可能性がある（例えば、元々は入力できていた値が入力できなくなった等）。本実施形態によれば、使用可能なＳＴに悪影響を及ぼさずにコンポーネントのＵＩの入れ替えが可能となる。
【００５７】
また、作成済のサービステンプレートに関連付いているコンポーネントのコンポーネントプロパティに関連付いたＵＩが変更されて新規コンポーネントが追加されても、運用自動化システムは、そのサービステンプレートに基づくサービス作成画面において、既存のコンポーネントを使用して変更前のＵＩを表示する。これにより、サービステンプレートの作成後に関連するＵＩが変更されることで元々入力可能だった値の入力が不可能になるといったおそれを回避できる。変更前のＵＩの生成及び表示を維持する具体例は、図２６を参照して説明する。
【００５８】
＜コンポーネントバージョンと関連ＳＴの表示＞
【００５９】
運用自動化システムは、図１を参照して説明したように、コンポーネントのバージョンと、そのバージョンのコンポーネントが関連付いたサービステンプレート（関連ＳＴ）との関係を管理する。サービス作成又はサービス作成開始前等において、運用自動化システムは、図２に示すように、コンポーネント（例えばコンポーネントＢＢＢ）の選択をユーザから受けた場合に、選択されたコンポーネントのバージョン毎に、関連ＳＴリストを表示する。関連ＳＴリストは、関連ＳＴ毎に、関連ＳＴの情報（例えば、ＳＴ名、ＳＴバージョン及びＳＴ種別）を有する。これにより、下記の（Ａ）乃至（Ｂ）のうちの少なくとも１つを実現し得る。
（Ａ）更新後のコンポーネントがインポートされた場合、更新前のコンポーネントを選択することで、ユーザは、更新前のコンポーネントについてのバージョン毎の関連ＳＴリストから、更新前のコンポーネントについて関連ＳＴの有無がわかる。また、更新前のコンポーネントに関連ＳＴがあれば、その関連ＳＴのＳＴ種別もわかる。ユーザは、関連ＳＴの有無及びＳＴ種別を基に、既存のサービステンプレートに関連付いているコンポーネントを、更新後のコンポーネントに入れ替えるか否かを判断できる。例えば、更新前のコンポーネントについて関連ＳＴが存在しなければ、ユーザは、ＳＴに関連付いているコンポーネントを更新後のコンポーネントに置換することは不要であると判断できる。また、例えば、更新前のコンポーネント（例えばバージョン００１のコンポーネントＢＢＢ）についてＳＴ種別「Release」の関連ＳＴが存在していれば、ユーザは、その関連ＳＴに関連付いている更新前のコンポーネントを更新後のコンポーネントに入れ替えると不具合が生じ得ること、及び、それ故に更新前のコンポーネントを更新後のコンポーネントに入れ替えた新たなＳＴを作成することとを、判断できる。また、例えば、更新前のコンポーネントについて関連ＳＴが存在するもののＳＴ種別「Release」の関連ＳＴが存在していなければ（例えばバージョン００２のコンポーネントＢＢＢ）、ユーザは、関連ＳＴに関連付いている更新前のコンポーネントを更新後のコンポーネントに入れ替えても良いことを判断できる。
（Ｂ）ユーザは、選択したコンポーネント（例えばコンポーネントＢＢＢ）についてのバージョン毎の関連ＳＴリストから、選択したコンポーネントについて関連ＳＴの有無と、関連ＳＴのＳＴ種別がわかる。ユーザは、関連ＳＴの有無及びＳＴ種別を基に、選択したコンポーネントを更新することによる影響（例えば、新たなバージョンのコンポーネントとすることの必要性、関連ＳＴに関連付いているコンポーネントの交換の必要性、新たにＳＴを作成することの必要性等）を判断できる。例えば、選択したコンポーネントについてＳＴ種別「Release」の関連ＳＴが存在していなければ、ユーザは、選択したコンポーネントのバージョンを変更すること無しにコンポーネントを更新して良い（つまりバージョンの異なるコンポーネントを追加するのではなくコンポーネントそれ自体を入れ替えてよい）と判断できる。また、例えば、選択したコンポーネントについてＳＴ種別「Release」の関連ＳＴが存在していれば、ユーザは、選択したコンポーネントについて新たなバージョンのコンポーネントを更新後のコンポーネントとする必要があると判断できる。
【００６０】
通常、コンポーネントが更新されても（バージョンアップされても）、確定したサービステンプレートに関連付いているコンポーネントを更新後のコンポーネントに入れ替えることは避けることが望ましい。本実施形態によれば、上述の通り、各バージョンのコンポーネントがどのサービステンプレートに関連づいているのかのリストが表示される。このため、更新後のコンポーネントに入れ替えられるべき又は入れ替えられてはならないコンポーネントが関連付いているサービステンプレートがどれであるかの判断が容易である。
【００６１】
＜ＳＴのバージョンアップ＞
【００６２】
本実施形態では、サービステンプレート（ＳＴ）に関連付いているいずれかのコンポーネントについて新たなバージョンのコンポーネントがコンポーネント群に追加されても、そのＳＴは自動でバージョンアップされない。具体的には、そのＳＴに関連付いているコンポーネントが、追加された新たなコンポーネントに自動で差し替えられることは無い。ＳＴのバージョンアップは、ユーザからの明示的な要求に応答して行われる。ＳＴが自動バックアップされることは無いので、そのＳＴを用いて作成されたサービスの動作の保障することが可能である。
【００６３】
ユーザ（例えばＳＴ作成ユーザ）からの明示的なバックアップ要求に応答して、その要求において指定されているＳＴ（以下、指定ＳＴ）のバージョンアップが可能である。「指定ＳＴのバージョンアップ」とは、指定ＳＴ又はその複製に関連付けられる対象コンポーネントのバージョンを、指定ＳＴに既に関連付けられている対象コンポーネントのバージョンと違えることである。「対象コンポーネント」とは、バージョン変更対象のコンポーネントである。対象コンポーネントは、ユーザ（例えばＳＴ作成ユーザ）から選択されたコンポーネントでもよいし、運用自動化システムにより自動で選択されたコンポーネントでもよい。バージョン変更前の対象コンポーネントと、バージョン変更後の対象コンポーネントは、バージョン等の所定属性（例えばバージョン及びｕｋ）の違いを除いて同じコンポーネント（例えば、名称が同じコンポーネント）である。
【００６４】
指定ＳＴのバージョンアップは、例えば、（ａ）指定ＳＴそれ自体の対象コンポーネントを、異なるバージョンの対象コンポーネントに差し替えること、（ｂ）指定ＳＴの対象コンポーネント以外のコンポーネントを、指定ＳＴの複製に関連付け、指定ＳＴの対象コンポーネントとバージョンの違う対象コンポーネントを、指定ＳＴの複製に関連付け、結果として、指定ＳＴの複製であるが対象コンポーネントのバージョンが異なる新たなＳＴを生成すること、のいずれも該当してよい。
【００６５】
また、例えば次のようなケースも考えられる。すなわち、新たにコンポーネントが追加されたが、そのコンポーネントはいずれのＳＴに関連付けられることも無く、そのコンポーネントの新たなバージョンのコンポーネントが追加される。その新たなバージョンのコンポーネントがいずれかのＳＴに関連付けられる。しかし、そのＳＴを用いたサービスの実行（例えばテスト）において不具合が発見され、故に、そのＳＴ（又はそのＳＴの複製）に、いずれのＳＴに関連付けられたことが無い旧バージョンのコンポーネントが関連付けられる。このようなケースも、「指定ＳＴのバージョンアップ」に該当してよい。
【００６６】
従って、指定ＳＴのバージョンアップは、典型的には、指定ＳＴに関連付けられている対象コンポーネントのバージョンをアップすること（例えば最新バージョンにすること）であるが、指定ＳＴに関連付けられている対象コンポーネントのバージョンをダウンすることであっても、指定ＳＴのバージョンアップに該当し得る（例えば、バージョンダウンされた対象コンポーネントがいずれのＳＴにも関連付けられたことが無い場合、又は、対象コンポーネントのバージョンダウン後のＳＴ（又はＳＴ複製）が、いずれの作成済のＳＴとも異なるＳＴである場合）。
【００６７】
運用自動化システムは、ＳＴが指定されたバージョンアップ要求（例えば指定ＳＴのｕｋが関連付けられた要求）を受信し、そのバージョンアップ要求に応答して、指定ＳＴ又はその複製に関連付けられる対象コンポーネントのバージョンを、指定ＳＴに既に関連付けられている対象コンポーネントのバージョンと違える。
【００６８】
複数のＳＴで用いられるコンポーネントであっても、サービステンプレート毎にそのコンポーネントのバージョン変更（例えばバージョンアップ）の可否を変更したい場合がある。例えば、コンポーネントのバージョンアップによってＳＴの動作不安定化につながる可能性があり、できるだけ不要なバージョンアップは避けたいＳＴが存在する一方で、一部のＳＴについては最新機能を持つコンポーネントを使用したい場合がある。これらのうちのいずれのケースにも対応可能である。なお、バージョン変更したコンポーネントを用いてＳＴを新たに作成することも考えられるが、この場合は、ＳＴ作成ユーザに最初からプロパティの設定等のＳＴ作成操作をやり直してもらう必要があるため、作成者にとって利便性が悪い。
【００６９】
指定ＳＴのバージョンアップは、指定ＳＴを作成したＳＴ作成ユーザからインターフェースを通じて運用自動化システムが受信したバージョンアップ要求に応答して行われてよい。具体的には、例えば、運用自動化システムに、複数のＳＴ作成ユーザが登録されており、運用自動化システムは、指定ＳＴのバージョンアップ要求を、指定ＳＴのＳＴ作成ユーザ以外のユーザから受けた場合、そのユーザの属性に関わらず指定ＳＴのバージョンアップを行ってもよいし、そのユーザの属性が所定の条件に適合していれば指定ＳＴのバージョンアップを行ってもよいし、バージョンアップ不可をそのユーザに返してもよい。
【００７０】
図１８は、実施形態の第３の概要を示す。
【００７１】
「指定ＳＴのバージョンアップ」は、指定ＳＴそれ自体の対象コンポーネントを別のバージョンの対象コンポーネントに差し替えることを含んでもよいが、本実施形態では、運用自動化システムは、指定ＳＴそれ自体を維持し、指定ＳＴの新たなバージョンとして指定ＳＴの複製（但し、対象コンポーネントについては指定ＳＴに関連付いている対象コンポーネントとバージョンが異なる）を作成する。すなわち、指定ＳＴのバージョンアップでは、異なるバージョンの対象コンポーネントが、指定ＳＴの複製に、バージョン変更前の対象コンポーネントに代えて関連付けられる。
【００７２】
既に安定してバージョンアップ前のＳＴを使えているのであれば、そのＳＴは維持される（そのＳＴそれ自体が更新されることは無い）ので、ＳＴのバージョンアップに伴う不具合発生を回避できる。また、そのＳＴを別なＳＴのコンポーネントとして使用するためのバージョンを管理し易い。
【００７３】
また、ＳＴのバージョンアップのモードとして、「All apply」モードと「Individual apply」モードの２つのモードがある。「All apply」モードは、指定ＳＴの複製（バージョン違いの指定ＳＴ）に関連付けられている全ての旧バージョンのコンポーネントを全て最新バージョンのコンポーネントに差し替えるモードである。「Individual apply」モードは、指定ＳＴの複製に関連付けられるコンポーネントのうちＳＴ作成ユーザから選択されたコンポーネントについてバージョン変更を行うモードである。
【００７４】
例えば、図１８に示すように、指定ＳＴ００１（バージョン００１）に、コンポーネントＢＢＢ（旧バージョン００１）とコンポーネントＤＤＤ（旧バージョン００１）とが関連付いている（含まれている）とする。また、コンポーネントＢＢＢについては、最新バージョン００２のコンポーネントＢＢＢが存在し、コンポーネントＤＤＤについても、最新バージョン００２のコンポーネントＤＤＤが存在するとする。運用自動化システムは、指定ＳＴ００１（バージョン００１）について、「All apply」モードと「Individual apply」モードのいずれかのモードの選択を、ユーザインターフェース（例えばＧＵＩ）経由で受け付ける。
【００７５】
「All apply」モードが選択された場合、運用自動化システムは、指定ＳＴ００１の複製（バージョン００２のＳＴ００１）に関連付けられる全ての旧バージョンのコンポーネント（コンポーネントＢＢＢ（旧バージョン００１）及びコンポーネントＤＤＤ（旧バージョン００１））を全て最新バージョンのコンポーネント（コンポーネントＢＢＢ（最新バージョン００２）及びコンポーネントＤＤＤ（最新バージョン００２））に差し替える。
【００７６】
「Individual apply」モードが選択された場合、運用自動化システムは、コンポーネントＢＢＢ（旧バージョン００１）の選択と、変更後のバージョン００２とを、ＳＴ作成ユーザからユーザインターフェース経由で受け付けたとする。運用自動化システムは、指定ＳＴの複製に関連付けられるコンポーネントのうち選択されたコンポーネントＢＢＢ（旧バージョン００１）をコンポーネントＢＢＢ（変更後バージョン００２）に差し替える。
【００７７】
このように、個別にコンポーネントを選択すること無しに簡易にＳＴをバージョンアップするか、或いは、個別にコンポーネントを選択することでよりユーザのニーズに沿ったＳＴにバージョンアップするかをユーザが選択することができる。
【００７８】
以上が、実施形態の概要である。以下、実施形態を詳細に説明する。
【００７９】
図３は、実施形態に係るシステム全体の構成を示す。
【００８０】
計算機システム３１０に、計算機管理システム３０２が接続されており、計算機管理システム３０２に運用自動化システム３０１が接続されている。運用自動化システム３０１は計算機管理システム３０２と一体でもよい。
【００８１】
計算機システム３１０は、１以上のホスト計算機（以下、ホスト）３０３と、１以上のストレージ装置３０４とを含む。ホスト３０３とストレージ装置３０４は通信ネットワーク３０６を介して接続されている。ホスト３０３は、ストレージ装置３０４に接続されたＩ／Ｆ（通信インターフェースデバイス）と、メモリのような記憶資源と、それらに接続されたプロセッサとを有する。ストレージ装置３０４は、１以上のＰＤＥＶ（物理記憶デバイス）と、１以上のＰＤＥＶに接続されたコントローラとを有する。コントローラは、ホスト３０３に論理ボリュームを提供する。ホスト３０３は、提供された論理ボリュームを指定したＩ／Ｏ（Input/Output）要求をストレージ装置３０４に送信する。ストレージ装置３０４のコントローラが、そのＩ／Ｏ要求に従い、論理ボリュームに対するデータＩ／Ｏを行う。Ｉ／Ｏ対象のデータが、論理ボリュームのＩ／Ｏ先領域に基になっている１以上のＰＤＥＶに対して入出力される。なお、ホスト３０３とストレージ装置３０４とは運用対象装置の一例である。
【００８２】
計算機管理システム３０２は、計算機システム３１０を管理する管理システムである。計算機管理システム３０２は、運用自動化システム３０１からの命令に従いサービスを実行する。サービス実行では、例えば、ストレージ装置３０４に論理ボリュームを作成すること、及び、ストレージ装置３０４にセカンダリボリュームを作成することが行われる。
【００８３】
運用自動化システム３０１は、システム運用の自動化を支援する管理システムである。運用自動化システム３０１は、管理サーバ３１１と、管理サーバ３１１に接続された管理クライアントとを有する。管理サーバ３１１が管理クライアント３１２に送信した表示用情報を基に、管理クライアント３１２により情報が表示される。つまり、管理サーバ３１１が管理クライアント３１２を介して情報を表示する。
【００８４】
具体的には、例えば、管理サーバ３１１は、コンポーネントと関連ＳＴとの関係を特定し（Ｐ１１）、コンポーネントのバージョン毎の関連ＳＴリストを表示する（Ｐ１２）。
【００８５】
また、例えば、管理サーバ３１１は、ＳＴ作成画面を表示し（Ｐ２１）、ＳＴ作成ユーザからＳＴ作成画面を介してＳＴの作成（編集を含む）を受け付ける（Ｐ２２）。管理サーバ３１１は、確定したＳＴに基づきサービス作成画面を表示する（Ｐ２３）。管理サーバ３１１は、サービス作成ユーザからサービス作成画面を介して情報を受け、入力された情報を基にサービスを作成し保持する（Ｐ２４）。管理サーバ３１１は、サービスの編集のための画面を表示し（Ｐ２５）、サービスの編集を受け付けることもできる。管理サーバ３１１は、作成（編集を含む）されたサービスの実行画面を表示する（Ｐ２６）。管理サーバ３１１は、サービス実行画面を介してサービスの実行をサービス作成ユーザから受け付け、受け付けたサービスの実行の命令を、計算機管理システム３０２に送信する（Ｐ２７）。
【００８６】
図３に示した処理Ｐ１１、Ｐ１２及びＰ２１〜Ｐ２７の各処理群（１以上の処理）が、プログラム群（１以上のコンピュータプログラム）がプロセッサにより実行されることにより行われる。
【００８７】
図４は、管理サーバ３１１の構成を示す。
【００８８】
管理サーバ３１１は、通信ポート４１４（Ｉ／Ｆの一例）、メモリ４１２（記憶資源の一例）、及び、それらに接続されたプロセッサ（典型的にはＣＰＵのようなマイクロプロセッサ）４１１を有する。管理サーバ３１１は、通信ポート４１４を介して、少なくとも計算機管理システム３０２及び管理クライアント３１２と通信する。
【００８９】
メモリ４１２は、半導体メモリに限らずハードディスクドライブでもよい。メモリ４１２は、コンピュータプログラムと管理テーブルを記憶する。具体的には、例えば、メモリ４１２は、コンポーネント管理テーブル４２１、コンポーネントプロパティ管理テーブル４２２、ＳＴ管理テーブル４２３、フロー管理テーブル４２４、ＳＴプロパティ管理テーブル４２５、サービス管理テーブル４２６、サービスプロパティ設定テーブル４２７、ステップ管理テーブル４２８、及び、管理プログラム４３１を記憶する。管理プログラム４３１が、プロセッサ４１１により実行され、それにより、例えば図３に示した処理Ｐ１１、Ｐ１２、Ｐ２４及びＰ２７を行う。
【００９０】
図５は、管理クライアント３１２の構成を示す。
【００９１】
管理クライアント３１２は、通信ポート５１４（Ｉ／Ｆの一例）、入出力デバイス５１３、メモリ５１２（記憶資源の一例）、及び、それらに接続されたプロセッサ（典型的にはＣＰＵのようなマイクロプロセッサ）５１１を有する。
【００９２】
メモリ５１２は、半導体メモリに限らずハードディスクドライブでもよい。メモリ５１２は、表示プログラム５３１を記憶する。表示プログラム５３１が、プロセッサ５１１により実行され、それにより、例えば図３に示した処理Ｐ１２、Ｐ２１、Ｐ２３、Ｐ２５及びＰ２６を行う。
【００９３】
以下、管理サーバ３１１が有する管理情報（テーブル４２１〜４２８）の構成を説明する。
【００９４】
図６は、コンポーネント管理テーブル４２１の構成を示す。
【００９５】
コンポーネント管理テーブル４２１は、コンポーネントに関する情報を有する。コンポーネント管理テーブル４２１は、コンポーネント毎にレコードを有し、各レコードに、管理番号６０１、コンポーネント名６０２、バージョン６０３、実行ファイルパス６０４、及びコンポーネントｕｋ６０５が格納される。管理番号６０１は、レコードの通し番号である。コンポーネント名６０２は、コンポーネントの名称である。バージョン６０３は、コンポーネントのバージョンを表す。実行ファイルパス６０４は、コンポーネントの実行ファイルへのパス（パス名）を表す。コンポーネントｕｋ６０５は、コンポーネントのユニークキー（番号）である。ｕｋは、識別情報の一例である。
【００９６】
図６から分かるように、バージョンが異なる同一コンポーネントは、コンポーネント名６０２が同じであり（例えば、「Provisioning  Volume」）、バージョン６０３が異なる（例えば「01.00.00」、「01.10.00」）。つまり、バージョンが異なる同一コンポーネントは、別々のコンポーネントとして管理される。しかし、複数のコンポーネントのコンポーネント名６０２が同一であれば、それら複数のコンポーネントのオリジナルは同一であることがわかる。
【００９７】
図７は、コンポーネントプロパティ管理テーブル４２２の構成を示す。
【００９８】
コンポーネントプロパティ管理テーブル４２２は、コンポーネントプロパティに関する情報を有する。コンポーネントプロパティ管理テーブル４２２は、コンポーネントプロパティ毎にレコードを有し、各レコードに、管理番号７０１、コンポーネントｕｋ７０２、表示名７０３、キー名７０４、初期値７０５、入出力タイプ７０６、プロパティグループ７０７及びカスタムＵＩ生成情報７０８が格納される。
【００９９】
管理番号７０１は、レコードの通し番号である。コンポーネントｕｋ７０２は、コンポーネントのユニークキーである。表示名７０３は、画面に表示されるコンポーネントプロパティ名であり、例えば入力項目又は出力項目に相当する。
【０１００】
キー名７０４は、コンポーネントプロパティを一意に特定するための名称であり、コンポーネントプロパティの識別情報の一例である。初期値７０５は、生成されたＵＩに予め設定される値である。初期値７０５「Null」は、初期値が存在しないことを意味する。つまり、ＵＩが表示されたとき、入力欄又は出力欄がブランクである。
【０１０１】
入出力タイプ７０６は、コンポーネントプロパティがコンポーネント入力プロパティであるかコンポーネント出力プロパティであるか（言い換えれば、ＵＩ上の値が入力値であるか出力値であるか）区別するための情報である。入出力タイプ７０６の値は、対応するコンポーネントプロパティがコンポーネント入力プロパティの場合に「In」であり、対応するコンポーネントプロパティがコンポーネント出力プロパティの場合に「Out」である。
【０１０２】
プロパティグループ７０７は、コンポーネントプロパティが属するプロパティグループの名称を示す。すなわち、本実施形態では、少なくとも１つのプロパティグループが存在し、プロパティグループに、１以上のコンポーネントプロパティと、１以上のＳＴプロパティ（例えば、その１以上のコンポーネントプロパティにそれぞれ対応する１以上のＳＴプロパティ）とのうちの少なくとも一方が関連付けられる。プロパティグループ７０７の値「Null」は、対応するコンポーネントプロパティがいずれのプロパティグループにも属さないことを意味する。
【０１０３】
カスタムＵＩ生成情報７０８は、生成されるカスタムＵＩの種別を表す。カスタムＵＩ生成情報７０８の値「Null」は、カスタムＵＩ生成情報がデフォルトＵＩ用の情報であることを意味する。
【０１０４】
図８は、ＳＴ管理テーブル４２３の構成を示す。
【０１０５】
ＳＴ管理テーブル４２２は、サービステンプレートに関する情報を有する。ＳＴ管理テーブル４２３は、ＳＴ毎にレコードを有し、各レコードに、管理番号８０１、ＳＴ名８０２、ＳＴバージョン８０３、ＳＴ  ｕｋ８０４、フローｕｋ８０５及びＳＴ種別８０６が格納される。
【０１０６】
管理番号８０１は、レコードの通し番号である。ＳＴ名８０２は、サービステンプレートの名称である。ＳＴバージョン８０３は、サービステンプレートのバージョンである。ＳＴ  ｕｋ８０４は、サービステンプレートのユニークキーである。フローｕｋ８０５は、サービステンプレートに対応するサービスフローのｕｋである。ＳＴ種別８０６は、サービステンプレートの種別を表す。ＳＴ種別８０６の値「Debug」は、サービステンプレートが編集可能であることを意味し、ＳＴ種別８０６の値「Release」は、サービステンプレートが確定していること（編集不可）であることを意味する。
【０１０７】
図８から分かるように、バージョンが異なる同一ＳＴは、ＳＴ名８０２が同じであり（例えば、「Provisioning & Pair」）、ＳＴバージョン８０３が異なる（例えば「01.00.00」、「01.10.00」）。つまり、ＳＴバージョンが異なる同一ＳＴは、別々のＳＴとして管理される。しかし、複数のＳＴのＳＴ名８０２が同一であれば、それら複数のＳＴのオリジナルは同一であることがわかる。
【０１０８】
上述したように、ＳＴに関連付いているコンポーネントのバージョンの入れ替え（つまりコンポーネントの更新）が可能なのは、そのコンポーネントが関連付いているＳＴが未確定（Debug）である場合である。なお、既にサービスとして存在してしまっているＳＴが編集されることで生じる混乱（例えば、そのＳＴに関連付いているコンポーネントへの影響）を回避するために、本実施形態では、管理プログラム４３１が、確定したＳＴ（ＳＴ種別「Release」のＳＴ）を編集状態（Debug）に戻すことを禁止する。管理プログラム４３１は、確定したＳＴの編集要求をユーザから受け付けた場合、確定したＳＴのコピーを生成し、そのＳＴコピーを、編集対象のＳＴとして表示する。変形例として、管理プログラム４３１は、確定したＳＴであっても実行中又は実行待ちのサービスが無ければ（例えば、ＳＴを基にサービスを作成中及び作成済で無ければ）、確定したＳＴを編集状態に戻すことを許可し、ＳＴが確定しており且つ実行中又は実行待ちのサービスが１つでもあれば、そのＳＴを編集状態に戻すことを禁止してよい。
【０１０９】
図９は、フロー管理テーブル４２４の構成を示す。
【０１１０】
フロー管理テーブル４２４は、サービスフローに関する情報を有する。フロー管理テーブル４２４は、サービスフロー毎にレコードを有し、各レコードに、管理番号９０１、フローｕｋ９０２、構成コンポーネントｕｋリスト９０３及びプロパティマッピングリスト９０４が格納される。
【０１１１】
管理番号９０１は、レコードの通し番号である。フローｕｋ９０２は、フローのユニークキー（番号）である。
【０１１２】
構成コンポーネントｕｋリスト９０３は、サービスフローを構成するコンポーネントのｕｋのリストである。構成コンポーネントｕｋリスト９０３では、サービスフローにおけるコンポーネントの並び順に（コンポーネントの実行順序通りに）、コンポーネントのｕｋが並ぶ。
【０１１３】
プロパティマッピングリスト９０４は、サービスフローに対応するサービスのサービスプロパティのｕｋのリストである。リスト９０４において、サービスプロパティのｕｋは、例えば、コンポーネントｕｋと、コンポーネントのキー名との組合せである。なお、「{コンポーネントuk(1). storage.pathinfo = コンポーネントuk(2). storage.pathinfo}」のような、コンポーネントukのコンポーネントプロパティの組合せは、一方のコンポーネントからの出力値が他方のコンポーネントへの入力値となることを意味する。
【０１１４】
図１０は、ＳＴプロパティ管理テーブル４２５の構成を示す。
【０１１５】
ＳＴプロパティ管理テーブル４２５は、ＳＴプロパティに関する情報を有する。ＳＴプロパティ管理テーブル４２５は、ＳＴプロパティ毎にレコードを有し、各レコードに、管理番号１００１、ＳＴ  ｕｋ１００２、ＳＴプロパティｕｋ１００３、表示名１００４、キー名１００５、入出力タイプ１００６、プロパティグループ１００７及びカスタムＵＩ生成情報１００８が格納される。
【０１１６】
管理番号１００１は、レコードの通し番号である。ＳＴ  ｕｋ１００２は、ＳＴプロパティが関連付いているＳＴのＳＴ  ｕｋである。
【０１１７】
ＳＴプロパティｕｋ１００３は、ＳＴプロパティのユニークキー（例えば番号）である。
【０１１８】
表示名１００４は、画面に表示されるＳＴプロパティ名である。キー名１００５は、ＳＴプロパティを一意に特定するための名称であり、ＳＴプロパティの識別情報の一例である。
【０１１９】
入出力タイプ１００６は、ＳＴプロパティがＳＴ入力プロパティであるかＳＴ出力プロパティであるか（言い換えれば、ＵＩ上の値が入力値であるか出力値であるか）区別するための情報である。入出力タイプ１００６の値は、対応するＳＴプロパティがＳＴ入力プロパティの場合に「In」であり、対応するＳＴプロパティがＳＴ出力プロパティの場合に「Out」である。
【０１２０】
プロパティグループ１００７は、ＳＴプロパティが属するプロパティグループの名称を示す。すなわち、上述したように、本実施形態では、後述するNullも含めて少なくとも１つのプロパティグループが存在し、プロパティグループに、１以上のコンポーネントプロパティと、１以上のＳＴプロパティとのうちの少なくとも一方が関連付けられる。プロパティグループ１００７の値「Null」は、対応するＳＴプロパティがいずれのプロパティグループにも属さないことを意味する。
【０１２１】
カスタムＵＩ生成情報１００８は、生成されるカスタムＵＩの種別を表す。カスタムＵＩ生成情報１００８の値「Null」は、対応するＳＴプロパティにデフォルトＵＩが関連付けられていることを意味する。なお、カスタムＵＩ生成情報は、カスタムＵＩ生成詳細情報（例えば、ウィジェットの数、各々のウィジェットの種別、表示対象のテキスト、表示されるリスト等）を含んでよい。カスタムＵＩ生成詳細情報（図示せず）は、ＳＴプロパティに関連付けられてよい。ＳＴプロパティに関連付いているカスタムＵＩ生成詳細情報を基に、カスタムＵＩが生成されてよい。
【０１２２】
図１１は、サービス管理テーブル４２６の構成を示す。
【０１２３】
サービス管理テーブル４２６は、サービスに関する情報を有する。サービス管理テーブル４２６は、サービス毎にレコードを有し、各レコードに、管理番号１１０１、サービス名１１０２、サービス説明１１０３、ＳＴ  ｕｋ１１０４及びサービスｕｋ１１０５が格納される。
【０１２４】
管理番号９０１は、レコードの通し番号である。サービス名１１０２は、サービスの名称である。サービス説明１１０３は、サービスに関する説明の記述であり、例えば、サービスにおける処理とその順序を含んでよい。ＳＴ  ｕｋ１１０４は、サービスに対応するＳＴのＳＴ  ｕｋである。サービスｕｋ１１０５は、サービスのユニークキー（番号）である。
【０１２５】
図１２は、サービスプロパティ設定テーブル４２７の構成を示す。
【０１２６】
サービスプロパティ設定テーブル４２７は、サービスプロパティに関する情報を有する。サービスプロパティ設定テーブル４２７は、サービスプロパティ毎にレコードを有し、各レコードに、管理番号１２０１、プロパティ設定値１２０２、ＳＴプロパティｕｋ１２０３及びサービスｕｋ１２０４が格納される。
【０１２７】
管理番号１２０１は、レコードの通し番号である。プロパティ設定値１２０２は、対応するＳＴプロパティの入力値（又は出力値）である。「Null」は、入力値（又は出力値）が存在しないことを意味する。ＳＴプロパティｕｋ１２０３は、対応するＳＴプロパティのＳＴプロパティｕｋである。サービスｕｋ１２０４は、対応するサービスのサービスｕｋである。
【０１２８】
図１２によれば、サービスｕｋ「１」のサービスに、５つのＳＴプロパティが関付けられていて、５つのＳＴプロパティにそれぞれ対応した５つのＵＩ（デフォルトＵＩ及びカスタムＵＩのうちの少なくとも１つ）に、「STORAGEHOST」、「1」等の値が入力（又は出力）されたことがわかる。
【０１２９】
図１９は、ステップ管理テーブル４２８の構成を示す。
【０１３０】
ステップ管理テーブル４２８は、ステップに関する情報を有する。「ステップ」とは、ＳＴが表すサービスフローのエレメントであり、そのエレメントにコンポーネントが対応付けられることで、２以上のコンポーネントの並びとしてサービスフローが構築される。１つのコンポーネントが、ＳＴにおける１以上のステップに対応する。つまり、１つのコンポーネント（バージョンは同一でも異なっていてもよい）が、複数のステップに対応付けられることもある。本実施形態の説明において、いずれのＳＴに関連付けられたコンポーネントを「ステップ」と呼ぶことができる。ステップ管理テーブル４２８は、ステップ毎にレコードを有し、各レコードに、管理番号１９０１、Outdated  ST  uk１９０２、Outdated  STバージョン１９０３、ステップ名１９０４、現在コンポーネント名１９０５、現在バージョン１９０６、最新コンポーネント名１９０７、最新バージョン１９０８及びステータス１９０９が格納される。
【０１３１】
管理番号１９０１は、レコードの通し番号である。Outdated  ST  uk１９０２は、ステップが属するバージョンアップ可能なＳＴのｕｋである。ステップが関連付いているＳＴ（以下、図１９の説明において「対象ＳＴ」）が、バージョンアップ不可の場合（例えば、対象ＳＴに関連付いているいずれのコンポーネントも単一バージョンしか存在しない場合）、Outdated  ST  uk１９０２の値は、バージョンアップ不可を意味する値（例えば「Null」）である。ステップ名１９０４は、ステップの名称（例えば表示名）である（例えば図７の表示名７０３と同じ値）。現在コンポーネント名１９０５は、ステップに対応付けられているコンポーネント（現在コンポーネント）の名称（例えば表示名）である。現在バージョン１９０６は、ステップに対応した現在コンポーネントのバージョンを表す。最新コンポーネント名１９０７は、ステップに対応した現在コンポーネントの最新のバージョンのコンポーネント（最新コンポーネント）の名称（例えば表示名）である。最新バージョン１９０８は、ステップに対応した最新コンポーネントのバージョンを表す。最新バージョンのコンポーネントが存在しない場合（言い換えれば、現在バージョンが最新バージョンである場合）、最新コンポーネント名１９０７の値及び最新バージョン１９０８の値は、それぞれ、最新バージョンのコンポーネントが存在しないことを意味する値（例えば「Null」）である。また、管理プログラム４３１は、バージョン変更後のコンポーネントについて、例えばコンポーネントのバージョン変更の際に、バージョン変更前のコンポーネントのコンポーネント名と異なるコンポーネント名の入力をユーザから受け、その異なるコンポーネント名を、バージョン変更後のコンポーネントに関連付けることができる。このため、同一ステップについて、現在コンポーネント名１９０５と最新コンポーネント名１９０７は異なっていることがある。また、コンポーネントは、作成したユーザはもちろん他のユーザ（例えばＳＴ作成ユーザが作成するＳＴ）でも使用するものであり、ステップ名１９０４として、汎用性のある表示名を定義することができる。すなわち、コンポーネントの表示名とは別に、ステップとしての表示名を定義することができる。また、ステップはユニークである（複数のＳＴに同一のステップが存在しない）ため、ステップが行う処理目的はコンポーネントよりも明確と言える。例えば、ステップのプロパティに値を設定したり実行順序を定義したりすることで、処理内容を具体化及び差別化の少なくとも一方を実現することができる。コンポーネントの表示名とは別に、ステップの表示名が定義されることで、サービスフロー上でどのような処理が行われるかをユーザが識別し易くなることが期待できる。ステータス１９０９は、対象ＳＴに関連付いているステップのバージョン変更がされたか否かを表す。バージョン変更済の場合、ステータス１９０９の値は「Applied」であり、バージョン変更が未だ又は最新バージョンが存在しない場合、ステータス１９０９の値は「Not  applied」である。
【０１３２】
以上が、テーブル４２１〜４２８の構成の説明である。なお、上述の説明において、表示名、キー名及びｕｋのような識別情報は、ユーザにより入力された情報でもよいし、管理プログラム４３１により決められた情報でもよい。
【０１３３】
以下、ＳＴ入力プロパティとＳＴ出力プロパティの関係の詳細と、ＵＩ生成／表示の詳細のそれぞれの例を説明する。
【０１３４】
図１３は、ＳＴ入力プロパティとＳＴ出力プロパティの関係の一例を示す。
【０１３５】
サービステンプレート１３０１に対応するサービスフローが、コンポーネント１３０２Ａ（「Provisioning  Volume」）と、コンポーネント１３０２Ｂ（「Create  pair  volume」）とにより構成されている。そのサービスフローでは、コンポーネント１３０２Ａの次にコンポーネント１３０２Ｂが実行されるような実行順序となっている。
【０１３６】
コンポーネント１３０２Ａには、４つのコンポーネント入力プロパティ１３０３Ａ〜１３０３Ｄが関連付けられている。４つのコンポーネント入力プロパティ１３０３Ａ〜１３０３Ｄのそれぞれの表示名は、「Number  of  Volume」、「Volume  Capacity」、「Host  Name」及び「Number  of  path」である。また、コンポーネント１３０２Ａには、２つのコンポーネント出力プロパティ１３０３Ｅ及び１３０３Ｆが関連付けられている。２つのコンポーネント出力プロパティ１３０３Ｅ及び１３０３Ｆのそれぞれの表示名は、「Volume  uk」及び「Path  info」である。
【０１３７】
コンポーネント１３０２Ｂには、４つのコンポーネント入力プロパティ１３０３Ｇ〜１３０３Ｊが関連付けられている。４つのコンポーネント入力プロパティ１３０３Ｇ〜１３０３Ｊのそれぞれの表示名は、「Volume  uk」、「Host  Name」、「Path  info」及び「Path世代数」である。また、コンポーネント１３０２Ｂには、１つのコンポーネント出力プロパティ１３０３Ｋが関連付けられている。そのコンポーネント出力プロパティ１３０３Ｋの表示名は、「Path  info」である。
【０１３８】
これらのコンポーネントプロパティにおいて、表示名「Volume  uk」のコンポーネント出力プロパティ１３０３Ｅと、同じ表示名「Volume  uk」のコンポーネント入力プロパティ１３０３Ｇは、同一のキー名を有する。同様に、表示名「Path  info」のコンポーネント出力プロパティ１３０３Ｆと、同じ表示名「Path  info」のコンポーネント入力プロパティ１３０３Ｉも、同一のキー名を有する。これにより、コンポーネント出力プロパティ１３０３Ｅからの出力値が、コンポーネント入力プロパティ１３０３Ｇの入力値とされ、また、コンポーネント出力プロパティ１３０３Ｆからの出力値が、コンポーネント入力プロパティ１３０３Ｉの入力値とされる。このように、「Volume  uk」及び「Path  info」については、出力値がそのまま入力値と使用されるので、ＳＴ作成ユーザがわざわざ「Volume  uk」及び「Path  info」について値を入力する必要が無い。従って、誤入力を防止できる。
【０１３９】
このようなコンポーネントを有するサービスフローのサービステンプレート１３０１には、ＳＴ入力プロパティ１３０４Ａ〜１３０４Ｅと、ＳＴ出力プロパティ１３０４Ｆ及び１３０４Ｇが、管理プログラム４３１により関連付けられる。ＳＴ入力プロパティ１３０４Ａは、コンポーネント入力プロパティ１３０３Ａを基に生成されたＳＴ入力プロパティであり、故に、表示名は「Number  of  Volume」である。ＳＴ入力プロパティ１３０４Ｂは、コンポーネント入力プロパティ１３０３Ｂを基に生成されたＳＴ入力プロパティであり、故に、表示名は「Volume  Capacity」である。ＳＴ入力プロパティ１３０４Ｃは、コンポーネント入力プロパティ１３０３Ｃ及びＨを基に生成されたＳＴ入力プロパティであり、故に、表示名は「Host  Name」である。ＳＴ入力プロパティ１３０４Ｄは、コンポーネント入力プロパティ１３０３Ｄを基に生成されたＳＴ入力プロパティであり、故に、表示名は「Number  of  path」である。ＳＴ入力プロパティ１３０４Ｅは、コンポーネント入力プロパティ１３０３Ｊを基に生成されたＳＴ入力プロパティであり、故に、表示名は「Path世代数」である。ＳＴ出力プロパティ１３０４Ｆは、コンポーネント出力プロパティ１３０３Ｅを基に生成されたＳＴ入力プロパティであり、故に、表示名は「Volume  uk」である。ＳＴ出力プロパティ１３０４Ｇは、コンポーネント出力プロパティ１３０３Ｋを基に生成されたＳＴ入力プロパティであり、故に、表示名は「Path  info」である。これらのＳＴ入力プロパティ及びＳＴ出力プロパティは、コンポーネント入力プロパティ及びコンポーネント出力プロパティを基にそれぞれ管理プログラム４３１により生成される。
【０１４０】
図１４は、図１３のＳＴに対応したサービス作成画面の一例である。
【０１４１】
サービス作成画面１４０１には、ＳＴ入力プロパティ１３０４Ａ〜１３０４Ｅにそれぞれ対応したＵＩ１４１１〜１４１５が表示される。ＵＩ１４１１〜１４１５は、それぞれ管理プログラム４３１により生成されたＵＩである。ＵＩ１４１１〜１４１５のうち、ＵＩ１４１１及び１４１５がそれぞれデフォルトＵＩであり、ＵＩ１４１２〜１４１４がそれぞれカスタムＵＩである。ＵＩ１４１１〜１４１５の各々は、ＳＴ入力プロパティに関連付いているカスタムＵＩ生成情報を基に生成される。
【０１４２】
サービス作成画面１４０１には、実行ボタン１４１７と取消ボタン１４１８が設けられている。ＳＴ作成ユーザは、ＵＩ１４１１〜１４１５に入力した値でよければ、実行ボタン１４１７を押し、それにより、入力された値を基にサービスが作成され、そのサービスの実行命令が計算機管理システム３０２に送信される。ＳＴ作成ユーザは、ＵＩ１４１１〜１４１５に入力した値を取り消すのであれば、取消ボタン１４１８を押し、それにより、全てのＵＩ１４１１〜１４１５がブランクとされる。
【０１４３】
なお、サービス作成画面１４０１に表示されるＵＩが、デフォルトＵＩであるかカスタムＵＩであるかは、ＳＴのＳＴプロパティに関連付いているカスタムＵＩ生成情報次第なので、画面１４０１に表示される全てのＵＩがカスタムＵＩであることもある。
【０１４４】
また、管理プログラム４３１は、ＳＴ入力プロパティ１３０４Ａ〜１３０４Ｅがそれぞれいずれのプロパティグループに属しているかを基に、プロパティグループ別に、ＵＩを表示してもよい。例えば、同一のプロパティグループに属する２以上のＵＩが１つの枠で囲まれてもよい。分野が同一のＳＴプロパティが同一のプロパティグループに属していれば、ＵＩの配置がプロパティグループに応じた配置となる。これにより、視認性の向上が期待される。
【０１４５】
以下、本実施形態での表示の具体例を説明する。
【０１４６】
図１５は、ＳＴ作成画面の一例を示す。
【０１４７】
ＳＴ作成画面は、コンポーネントリストプレーン１５１１と、コンポーネント詳細プレーン１５１２と、フロー作成プレーン１５１３と、ＳＴ種別選択ツール１５１４と、ＳＴ  ＶＵＰボタン１５２３とを有する。
【０１４８】
コンポーネントリストプレーン１５１１には、管理されているコンポーネントのコンポーネント名のリスト（コンポーネント管理テーブルに記録されているコンポーネント名のリスト）１５３１が、管理プログラム４３１により表示される。
【０１４９】
コンポーネント詳細プレーン１５１２には、コンポーネントリスト１５３１から選択されたコンポーネントに対応する詳細（例えばコンポーネント名及びバージョン）が、管理プログラム４３１により表示される。
【０１５０】
フロー作成プレーン１５１３には、コンポーネントリスト１５３１から選択されたコンポーネントのアイコン１５４１Ａ及び１５４１Ｂがユーザ操作に従い表示され、コンポーネントアイコン１５４１Ａ及び１５４１Ｂ同士の接続により、サービスフローが定義される。例えば、管理プログラム４３１は、コンポーネントリスト１５３１から選択されたコンポーネントをフロー作成プレーン１５１３にドラッグ＆ドロップするユーザ操作に従い、そのコンポーネントのアイコン１５４１Ａ及び１５４１Ｂをフロー作成プレーン１５１３に表示する。コンポーネントリスト１５３１からコンポーネントがドラッグ＆ドロップされる都度に、管理プログラム４３１は、コンポーネントアイコンをフロー作成プレーン１５１３に追加する。また、管理プログラム４３１は、ユーザ操作に従い、第１のコンポーネントアイコンから第２のコンポーネントアイコンへの矢印リンクを張ることで、第１のコンポーネントの次に第２のコンポーネントを実行することを定義する。
【０１５１】
ＳＴ種別選択ツール１５１４は、Debugボタン１５２１とReleaseボタン１５２２とを含む。管理プログラム４３１は、Releaseボタン１５２２が押された場合、フロー作成プレーン１５１３に表示されているサービスフローのＳＴを、ＳＴ種別「Release」として保存する。一方、管理プログラム４３１は、Debugボタン１５２１が押された場合、フロー作成プレーン１５１３に表示されているサービスフローのＳＴを、ＳＴ種別「Debug」として保存する。
【０１５２】
ＳＴ  ＶＵＰボタン１５２３は、ＳＴバージョンアップを指示するボタンである。ＳＴ  ＶＵＰボタン１５２３が押された場合、管理プログラム４３１は、後述のＳＴリスト画面（図２７参照）を表示する。
【０１５３】
以上が、ＳＴ作成画面１５０１の構成の説明である。
【０１５４】
新たにインポートされたコンポーネントがあれば、ＳＴ作成画面１５０１のコンポーネントリスト１５３１には、その新たにインポートされたコンポーネントのコンポーネント名も含まれる。ＳＴ作成ユーザが、その新たなコンポーネントのコンポーネント名を選択し、関連ＳＴ表示のためのユーザ操作を行うと（選択されたコンポーネント名を関連ＳＴ表示の対象として指定すると）、管理プログラム４３１が、例えばポップアップで、バージョン毎の関連ＳＴリストを表示する。
【０１５５】
図１６は、バージョン毎の関連ＳＴリストの一例を示す。
【０１５６】
管理プログラム４３１は、コンポーネントリスト１５３１から選択されたコンポーネント名と同一のコンポーネント名のバージョン及びコンポーネントｕｋをコンポーネント管理テーブル４２１から特定する。管理プログラム４３１は、特定したコンポーネントｕｋに対応するフローｕｋをフロー管理テーブル４２４から特定し、特定したフローｕｋに対応するＳＴ名及びＳＴ種別をＳＴ管理テーブル４２３から特定する。これにより、管理プログラム４３１は、コンポーネントリスト１５３１から選択されたコンポーネントのバージョン毎の関連ＳＴリスト（関連ＳＴのＳＴ名、バージョン及びＳＴ種別のリスト）１６１１Ａ及び１６１１Ｂを生成し表示する。それらのリスト１６１１Ａ及び１６１１Ｂは、例えばＳＴ作成画面１５０１上のポップアップ画面１６０１に表示される。
【０１５７】
例えば、ＳＴ作成ユーザは、通常、新たにコンポーネントがインポートされた場合、その新たなコンポーネントを、古いバージョンのコンポーネントを使用する既存のＳＴに適応する必要があるかを検討することになる。この時、コンポーネントとＳＴの関係が把握できないと、どのＳＴをエンハンスすればよいのか不明である。
【０１５８】
本実施形態によれば、コンポーネントリスト１５３１から選択されたコンポーネントについて、関連ＳＴ（選択されたコンポーネントとコンポーネント名が同じコンポーネントが関連付いているＳＴ）がバージョン毎に表示される。これにより、ＳＴ作成ユーザは、選択したコンポーネントと同一コンポーネント名のコンポーネントを使用しているＳＴを把握できる。このため、新しいコンポーネントがインポートされた場合に、どのサービステンプレートを新しいコンポーネントに入れ替える必要があるか容易に判別できる。
【０１５９】
なお、関連ＳＴリストの表示のためのユーザ操作は、コンポーネント更新前に行われてよい。例えば、ＳＴ作成ユーザが、コンポーネントを更新するか否かの判断のために、そのコンポーネントについての関連ＳＴを管理プログラム４３１に表示させる。ＳＴ作成ユーザは、そのコンポーネントについてＳＴ種別「Release」が存在しないことがわかった場合に、選択したコンポーネントを、バージョンを更新すること無しに更新することを決めてよい。一方、ＳＴ作成ユーザは、そのコンポーネントについてＳＴ種別「Release」が存在することがわかった場合に、選択したコンポーネントをバージョンと共に更新することを決めてよい。
【０１６０】
ところで、上述したように、ＳＴ作成画面１５０１を用いて作成されたＳＴを基に、サービス作成画面を用いてサービスを作成することができる。
【０１６１】
図１７は、サービス作成画面の具体例を示す。
【０１６２】
サービス作成画面１７０１は、フロー概要プレーン１７２１と、ＵＩプレーン１７２２とを有する。管理プログラム４３１が、確定したＳＴのサービスフローの概要図を例えばフロー管理テーブル４２４を基に生成し、生成した概要図をフロー概要プレーン１７２１に表示する。
【０１６３】
また、管理プログラム４３１が、確定したＳＴのＳＴ入力プロパティに関連付いているカスタムＵＩ生成情報を基に、ＵＩを生成し、生成したＵＩをＵＩプレーン１７２２に表示する。ＵＩプレーン１７２２には、例えば図示のように、デフォルトＵＩ１７１１とカスタムＵＩ１７１２が混在する。
【０１６４】
カスタムＵＩは、デフォルトＵＩよりユーザビリティが高く、値の入力がサービス作成ユーザにとって容易である。そのため、例えば図１６に示したＳＴ作成画面１５０１のコンポーネントリスト１５３１に、コンポーネント名に加えて、有効なカスタムＵＩ生成情報（「Null」ではないカスタムＵＩ生成情報）が関連付けられているか否かも表示されてよい。ＳＴ作成ユーザは、コンポーネント名が同一の複数のコンポーネントにカスタムＵＩが関連付けられたコンポーネントとカスタムＵＩが関連付けられていないコンポーネントとあれば、カスタムＵＩが関連付けられているコンポーネントをＳＴに関連付けるコンポーネントとして選択する。これにより、サービス作成において値を入力し易いＳＴを作成することができる。
【０１６５】
なお、サービス作成画面１７０１には、例えば図示のように、ＳＴのサービスフローの概要図が表示されてもよい。
【０１６６】
以下、本実施形態で行われる処理を説明する。
【０１６７】
図２０は、コンポーネントインポート処理のフローチャートである。
【０１６８】
管理プログラム４３１は、コンポーネントの情報パッケージ（例えば、実行ファイル及びコンポーネントプロパティを含む）を受け、コンポーネントの実行ファイルを、メモリ４１２（又は、外部のストレージ装置等の補助ストレージ装置）に格納する（Ｐ２００１）。コンポーネントの情報パッケージは、カスタムＵＩ生成情報の一部又は全部を含んでよい。
【０１６９】
管理プログラム４３１は、実行ファイルのパス名等の情報を、コンポーネント管理テーブル４２１に格納する（Ｐ２００２）。
【０１７０】
また、管理プログラム４３１は、コンポーネントプロパティに関する情報をコンポーネントプロパティ管理テーブル４２２に格納する（Ｐ２００３）。なお、コンポーネントプロパティ管理テーブル４２２の属性の一部は、インポート後にコンポーネント提供ユーザ又はＳＴ作成ユーザが追加又は変更してもよい。例えば、表示名７０３は他のコンポーネントの表示名と混乱することが好ましくない場合である。そして、プロパティグループについてはＵＩの配置をグループ化できることから、ＳＴ作成ユーザが追加又は変更してもよい。
【０１７１】
また、管理プログラム４３１は、必要に応じてステップ管理テーブル４２８を更新する（Ｐ２００４）。具体的には、例えば、管理プログラム４３１は、インポートされたコンポーネントの旧バージョンのステップ（コンポーネント）をステップ管理テーブル４２８から探してよい。管理プログラム４３１は、旧バージョンのステップ（コンポーネント）が見つかった場合、見つかったステップに対応する最新コンポーネント名１９０７及び最新バージョン１９０８を更新してよい。また、管理プログラム４３１は、見つかったステップ（コンポーネント）に対応するステータス１９０９の値が「Applied」の場合、その値を「Not  applied」に更新してよい。また、管理プログラム４３１は、見つかったステップ（コンポーネント）に対応するOutdated  ST  uk１９０２及びOutdated  ST  version１９０３の各々の値が「Null」の場合、Outdated  ST  uk１９０２の値を、見つかったステップが関連付いているSTのukに更新し、Outdated  ST  version１９０３の値を、見つかったステップが関連付いているSTのバージョンに更新してよい。
【０１７２】
本実施形態では、カスタムＵＩ生成情報は、予め運用自動化システム３０１に存在するものではなく（運用自動化システム３０１にビルトインされているものではなく）、インポートされるコンポーネントに付随して入力される。これにより、インポートされるコンポーネントに適したＵＩを、コンポーネントのインポートという適切なタイミングで、自動的に運用自動化システム３０１の運用対象として追加することができる。
【０１７３】
なお、コンポーネントインポート処理では例え同じコンポーネント名であったとしても異なるバージョンのコンポーネントである場合は、インポートしたコンポーネントに対して新しいコンポーネントｕｋをコンポーネント管理テーブルにて割り当てる。そのため、作成済みのサービステンプレートやサービスで用いるコンポーネントが自動で変更されることはない。そのメリットはこれまで説明してきた通りである。しかし、同じコンポーネント名であった場合は異なるバージョンであっても従来のバージョンと同じコンポーネントｕｋを割り当てる等によって、コンポーネントインポート処理によって自動的に作成済みのサービステンプレートやサービスで用いるコンポーネントを変更してもよい。
【０１７４】
図２１は、ＳＴ編集処理のフローチャートである。
【０１７５】
ＳＴ編集処理とは、ＳＴ作成処理における処理である。ＳＴ作成ユーザがＳＴ作成画面１５０１のフロー作成プレーン１５１３上に必要なコンポーネントを置いてコンポーネントの順番を決めるが、図２１に示すＳＴ編集処理は、フロー作成プレーン１５１３上のサービスフローのＳＴを一時保存する処理である。
【０１７６】
管理プログラム４３１は、ＳＴの情報（ＳＴ名、ＳＴバージョン、ＳＴ  ｕｋ等）を、ＳＴ管理テーブル４２３に格納する（Ｐ２１０１）。また、管理プログラム４３１は、そのＳＴのサービスフローの情報（フローｕｋ、構成コンポーネントｕｋリスト等）を、フロー管理テーブル４２４に格納する。
【０１７７】
管理プログラム４３１は、そのＳＴのサービスフローの構成コンポーネントｕｋリストが表す全てのコンポーネントの各々について（例えば、構成コンポーネントｕｋリストが表すコンポーネント順序通りに）、Ｐ２１０４〜Ｐ２１０７を行う（Ｐ２１０３）。すなわち、管理プログラム４３１は、構成コンポーネントｕｋリストから選択されたコンポーネントのコンポーネントプロパティに対応したＳＴプロパティに関する情報を、ＳＴプロパティ管理テーブル４２５に格納する（Ｐ２１０４）。この処理には、コンポーネントプロパティ管理テーブルのカスタムＵＩ生成情報７０８及びプロパティグループ７０７の値をＳＴプロパティ管理テーブル４２５のカスタムＵＩ生成情報１００８及びプロパティグループ１００７に格納することも含む。Ｐ２１０４では、例えば、管理プログラム４３１は、前のコンポーネントの出力プロパティと、次のコンポーネントの入力プロパティの関連付けが可能か否か（キー名が同一か否か）を判断し、その判断の結果が肯定であれば、その出力プロパティ及び入力プロパティを関連付けてよい。管理プログラム４３１は、対応するプロパティマッピングリスト９０４に、Ｐ２１０４で格納したＳＴプロパティに基づく情報を追加する（Ｐ２１０５）。管理プログラム４３１は、ステップ管理テーブル４２８を更新、例えば、ＳＴに関連付くコンポーネント（ステップ）に対応するレコードをステップ管理テーブル４２８に追加する（Ｐ２１０６）。そして、管理プログラム２１０４は、構成コンポーネントｕｋリストが表すコンポーネントのうちの次のコンポーネントを選択する（Ｐ２１０７）。なお、あるコンポーネントの入力プロパティが、他のコンポーネントの出力プロパティと関連付いている場合は、ＳＴプロパティ管理テーブル４２５への登録を省略してもよい。
【０１７８】
図２２は、ＳＴ確定処理のフローチャートである。
【０１７９】
管理プログラム４３１は、作成済（登録済）のＳＴから選択されたＳＴについて、ＳＴ種別「Release」が指定を受け付け、そのＳＴのＳＴ種別を、「Debug」から「Release」に変更する（Ｐ２２０１）。ＳＴ種別が「Release」となったＳＴについて、管理プログラム４３１は、編集を禁止する。なお、この編集禁止の例としては編集に関するユーザ操作を拒否したり、またそもそも編集の際に編集禁止としたＳＴを選択したりできないようにする、といったことが考えられる。
【０１８０】
図２３は、関連ＳＴ表示処理のフローチャートである。
【０１８１】
管理プログラム４３１は、選択されたコンポーネント（例えば図１５のコンポーネントリスト１５３１から選択されたコンポーネント）のコンポーネント名と同一のコンポーネント名のバージョン及びコンポーネントｕｋをコンポーネント管理テーブル４２１から特定する（Ｐ２３０１）。管理プログラム４３１は、特定したコンポーネントｕｋに対応するフローｕｋをフロー管理テーブル４２４から特定する（Ｐ２３０２）。管理プログラム４３１は、特定したフローｕｋに対応するＳＴ名及びＳＴ種別をＳＴ管理テーブル４２３から特定する（Ｐ２３０３）。管理プログラム４３１は、Ｐ２３０２及びＰ２３０２を、Ｐ２３０１で特定された全てのコンポーネントｕｋについて行う（Ｐ２３０４）。その後、管理プログラム４３１は、選択されたコンポーネントのバージョン毎の関連ＳＴリスト（関連ＳＴのＳＴ名、バージョン及びＳＴ種別のリスト）を生成し表示する（Ｐ２３０５）。
【０１８２】
図２４は、サービス作成画面１７０１表示処理のフローチャートである。
【０１８３】
管理プログラム４３１は、確定したＳＴの選択をサービス作成ユーザから受け、選択されたＳＴに対応したサービス情報（例えばＳＴ  ｕｋ）を、サービス管理テーブル４２６に格納する（Ｐ２４０１）。管理プログラム４３１は、選択されたＳＴのＳＴ  ｕｋに対応する全てのＳＴプロパティに関する情報をＳＴプロパティ管理テーブル４２５から特定する（Ｐ２４０２）。管理プログラム４３１は、特定したＳＴプロパティに関連付いているカスタムＵＩ生成情報１００８を基に、各ＳＴ入力プロパティについてＵＩ（デフォルトＵＩ又はカスタムＵＩ）を生成し（Ｐ２４０３）、生成したＵＩを含んだサービス作成画面１７０１（プロパティ入力画面）を表示する（Ｐ２４０４）。
【０１８４】
なお、Ｐ２４０３が参照するカスタムＵＩ生成情報１００８の代わりとして、フロー管理テーブル４２４のプロパティマッピングリスト９０４の値を参考にした上で対応するコンポーネントのコンポーネントプロパティを特定し、コンポーネントプロパティ管理テーブル４２２のカスタムＵＩ生成情報７０８を参照してもよい。サービス生成画面のＵＩを決定するにあたって、直接的又は間接的かに関わらずコンポーネントのカスタムＵＩ生成情報を参照することで、サービステンプレート作成ユーザが各サービステンプレート毎にサービス作成画面をデザインしなくても利便性の高い画面を生成できるからである。
【０１８５】
図２５は、サービス実行処理のフローチャートである。
【０１８６】
図２４の処理により表示された画面のＵＩに値が入力され、サービス作成ユーザにより実行が指定された場合に、サービス実行処理が開始される。なお、作成されたサービスが登録されて実行待ちの状態となり、実行待ちの状態のサービスについて実行が指示されることで、サービス実行処理が乖離されてもよい。
【０１８７】
管理プログラム４３１は、サービス作成画面１７０１（プロパティ入力画面）に入力された値を、サービスプロパティ設定テーブル４２７に格納する（Ｐ２５０１）。その後、管理プログラム４３１は、入力された設定値を基に、サービスを実行する（Ｐ２５０２）。具体的には、管理プログラム４３１は、例えば下記を行う。
（Ａ）管理プログラム４３１は、サービスの元となったサービステンプレートを選択する。
（Ｂ）管理プログラム４３１は、（Ａ）で選択したサービステンプレートのフローの構成コンポーネントukリスト９０３を参照し、実行すべきコンポーネントを実行順序と共に特定する。
（Ｃ）管理プログラム４３１は、（Ｂ）で特定した通りにコンポーネントを実行する。（Ｃ）において、管理プログラム４３１は、プロパティマッピングリスト９０４を参照することで、適切なサービスプロパティの入力プロパティ又は他のコンポーネントの出力プロパティを選び、その値を入力する。その入力された値が、実行対象のコンポーネントの入力プロパティに設定される入力値である。なお、「コンポーネントの実行」とは、実行ファイルパス６０４に記載の実行ファイルを実行することである。
（Ｄ）実行順序通りにコンポーネントを実行した後、管理プログラム４３１は、プロパティマッピングリスト９０４を参照の上で、サービステンプレートの出力プロパティに関連するコンポーネントの出力プロパティを選び、その値をサービステンプレートの出力プロパティとしてサービスの実行結果として表示する。なお、サービスの実行結果についてもカスタムＵＩ及びプロパティグループの処理を適用してもよいことは言うまでもない。
【０１８８】
なお、実行ファイルに記載された処理内容は、典型的には、運用対象装置への構成変更、又は、運用対象装置からの構成情報、メトリック情報、状態の取得、といった要求を運用対象装置に直接又は間接に送信することである。なお、運用対象装置に要求を直接に送信する例としては、運用自動化システムから運用対象装置に要求を直接に送信する場合であり、要求を間接に送信する例としては、計算機管理システム３０２に対して要求を送信する場合と運用対象装置の保守員に保守メッセージを送信し、保守員が運用対象装置の運用として保守業務を行う場合とが考えられる。
【０１８９】
図２６は、ＵＩ変更処理のフローチャートである。
【０１９０】
管理プログラム４３１は、ＵＩの変更要求を受け付け（Ｐ２６０１）、Ｐ２６０２を実行する。Ｐ２６０２では、管理プログラム４３１は、ＵＩの変更要求に従いＵＩの変更を実行する。ＵＩが変更された場合、変更前のＵＩに関連付いているコンポーネントのコピーを作成し、そのコンポーネントコピーに、新たなバージョン（変更前のＵＩに関連付いているコンポーネントのバージョンと異なるバージョン）を割り当てる。そして、管理プログラム４３１は、そのコンポーネントコピーに、変更後のＵＩ（変更後のＵＩを表すカスタムＵＩ生成情報）を関連付ける。管理プログラム４３１は、そのコンポーネントコピー（新たなバージョンのコンポーネント）に関する情報をコンポーネント管理テーブル４２１に格納し（追加）し、そのコンポーネントコピーに関連付いているコンポーネントプロパティに関する情報をコンポーネントプロパティ管理テーブル４２２に格納（追加）する。なお、管理プログラム４３１は、変更対象のＵＩが関連付いているコンポーネントがいずれの既存ＳＴ（又は、いずれの既存確定ＳＴ（ＳＴ種別「Release」のＳＴ））にも関連付いていなければ、コンポーネントコピーを作成すること無しに、ＵＩの変更を受け付けてよい。
【０１９１】
管理プログラム４３１は、変更要求で指定されているＵＩが既存のＳＴに関連付いているか否かを判断する（Ｐ２６０３）。
【０１９２】
Ｐ２６０３の判断結果が肯定の場合（Ｐ２６０３：ＹＥＳ）、管理プログラム４３１が、既存コンポーネントと関連がある既存ＳＴの一覧画面を表示する（Ｐ２６０４）。このとき、ユーザが選択した既存ＳＴについて、管理プログラム４３１がその既存のＳＴのコピーを作成し（例えば、既存のＳＴを基にバージョンの異なる新たなＳＴを作成し）（Ｐ２６０５）、その作成したＳＴコピーで使用されている既存コンポーネントを新たなバージョンのコンポーネントに入れ替える。これにより、変更後のＵＩが、既存のＳＴに関連付けられることが回避される。ここで言う「既存のＳＴ」は、ＳＴ種別が「Release」のＳＴであって、ＳＴ種別が「Debug」のＳＴは対象外でもよい。
【０１９３】
なお、コンポーネントのＵＩ変更処理は上記以外で実現しても良い。例えば、コンポーネント提供ユーザが、ＵＩが更新されることで新しいバージョンとなったコンポーネントをインポートしたり、サービステンプレートをコンポーネントとしてインポートしたりしている場合は、サービステンプレートに関係するカスタムＵＩ生成情報が変更されることでバージョンアップされた場合である。
【０１９４】
ところで、以下、ＳＴバージョンアップの詳細を説明する。
【０１９５】
図２７は、ＳＴリスト画面の構成を示す。
【０１９６】
ＳＴリスト画面２７００は、ＳＴのリストを表示する画面である。具体的には、管理プログラム４３１は、ＳＴ管理テーブル４２３に基づいて複数のＳＴを特定し、特定した複数のＳＴにそれぞれ対応した複数のＳＴブロック（表示オブジェクト）２７０１を表示するＳＴリスト画面２７００を表示する。
【０１９７】
管理プログラム４３１は、ステップ管理テーブル４２８を基に、特定された複数のＳＴの各々について、バージョンアップ可能なＳＴであるか否か（言い換えれば、最新バージョンのコンポーネントが存在するが旧バージョンのコンポーネント（ステップ）が関連付けられているか否か）を判断してよい。その判断結果は、例えば、Outdated  ST  uk１９０２及びOutdated  ST  version１９０３の各々の値が「Null」ではなく、ステータス１９０９「Not  applied」に関連付いたＳＴである場合、肯定となってよい。その判断結果が肯定の場合に、管理プログラム４３１は、ＳＴブロック２７０１に、バージョンアップ可能なＳＴであることを意味する表示オブジェクト、例えば「Outdated」と表示されたマーク、を関連付けて表示する。ＳＴ作成ユーザは、マーク「Outdated」の有無により、ＳＴのバージョンアップが可能か否かわかる。これにより、ＳＴ作成ユーザは、ＳＴ毎に、バージョンアップするタイミングを決めやすい。
【０１９８】
各ＳＴブロック２７０１に、チェックボックスが表示される。チェックボックスにチェックマークが記入された場合、管理プログラム４３１は、チェックマークが記入されたＳＴブロック２７０１に対応するＳＴの詳細をＳＴ管理テーブル４２３等から特定し、特定した詳細２７０２を表示する。また、管理プログラム４３１は、チェックマークが記入されたＳＴブロック２７０１について「Update」ボタン２７０３を表示する。「Update」ボタン２７０３が押された場合、押された「Update」ボタン２７０３に対応したＳＴが、指定ＳＴとなり、ＳＴバージョンアップ画面が管理プログラム４３１により表示される。
【０１９９】
図２８は、ＳＴバージョンアップ画面の構成を示す。
【０２００】
ＳＴバージョンアップ画面２８００では、「All apply」タブ２８０１を有する「All apply」画面２８１１と「Individual apply」タブ２８０２を有する「Individual apply」画面とのいずれを前面表示とするかが、いずれのタブを選択するかによって切り替えられる。図２８では、「All apply」タブ２８０１が選択されている状態であり、故に、「All apply」画面２８１１が前面表示されている。
【０２０１】
「All apply」画面２８１１には、管理プログラム４３１により、「Apply」ボタン２８０３と、「Step list to be applied」ボタン２８０４とが表示される。
【０２０２】
「Apply」ボタン２８０３が押された場合、指定ＳＴが関連付いた（つまりＳＴが指定された）バージョンアップ要求が管理プログラム４３１に入力され、管理プログラム４３１は、その要求に応答して、ＳＴバージョンアップ処理を実行する。具体的には、例えば、管理プログラム４３１は、指定ＳＴの複製に関連付けられている全ての旧バーションのステップにそれぞれ対応した全ての最新バーションのコンポーネントをステップ管理テーブル４２８から特定し、その全ての旧バーションのステップをそれぞれ特定した全ての最新バーションのコンポーネントに差し替える。その処理中、管理プログラム４３１は、処理進捗（例えば、旧バージョンのコンポーネントの数と、差し替え（バージョンアップ）が済んだ（ステータス１９０９が「Applied」になった）ステップの数）を表示してもよい。
【０２０３】
「Step list to be applied」ボタン２８０４が押された場合、管理プログラム４３１は、指定ＳＴに対応した全てのレコード（Outdated  ST  uk１９０２及びOutdated  STバージョン１９０３が指定ＳＴに該当する全てのレコード）をステップ管理テーブル４２８から特定し、図２９に示すように、特定した全てのレコードにそれぞれ対応した全ての旧バージョンステップ（コンポーネント）に関する情報のリスト２９０１を、「All apply」画面２８１１に表示する。リスト２９０１の１以上のレコードは、指定ＳＴに関連付いている１以上のステップ（旧バージョン）にそれぞれ対応している。各レコードは、チェックボックスを有する。ＳＴ作成ユーザによりチェックボックスにチェックマークが記入され（つまりステップが選択され）「Apply」ボタン２９０２が押された場合、指定ＳＴと選択されたステップとが関連付いたバージョンアップ要求が管理プログラム４３１に入力される。管理プログラム４３１は、その要求に応答して、指定ＳＴの複製に関連付く旧バージョンステップ（つまりＳＴ作成ユーザにより選択されたステップ）を、最新バージョンのコンポーネントに差し替える。なお、ここでは、差し替え後のコンポーネントは必ず最新バージョンのコンポーネントであるが、「All apply」画面２８１１に、選択されたステップ（コンポーネント）の変更後のバージョンを受け付けるＵＩ（又は他のＵＩ）が、管理プログラム４３１により表示されてよい。そのＵＩは、カスタムＵＩであってもよいしデフォルトＵＩであってもよい。つまり、ＳＴバージョンアップ画面２８００におけるＵＩに関する情報（例えばカスタムＵＩかデフォルトＵＩか）も、コンポーネントプロパティに含まれていて、その情報を基に、ＳＴバージョンアップ画面２８００（例えば「All apply」画面２８１１及び後述の「Individual apply」画面）に展開されるＵＩが管理プログラム４３１により生成されてよい。また、リスト２９０１に加えて、詳細フィールド２９０３が、「Step list to be applied」ボタン２８０４が押された場合に管理プログラム４３１により「All apply」画面２８１１に表示されてもよい。詳細フィールド２９０３には、リスト２９０１からユーザにより選択されたレコード（例えばマウスカーソルが重ねられてクリックされたレコード）に対応した最新コンポーネント（最新バージョンのコンポーネント）に関する詳細な情報が、管理プログラム４３１により表示されてもよい。
【０２０４】
「Individual apply」タブ２８０２が選択された場合、図３０に示すように、管理プログラム４３１により、「Individual apply」画面３０１１が前面表示される（図３０）。「Individual apply」画面３０１１は、コンポーネントリストプレーン３００１と、選択コンポーネントプレーン３００２とを有する。
【０２０５】
コンポーネントリストプレーン３００１は、「Individual apply」画面３０１１の左側に位置する縦長のプレーンである。コンポーネントリストプレーン３００１には、指定ＳＴに関連付いている全てのコンポーネントのリストではなく、指定ＳＴに関連付いているコンポーネントのうち複数バージョンが存在するコンポーネントのみのリストが表示される。具体的には、例えば、管理プログラム４３１が、ステップ管理テーブル４２８から、最新コンポーネント名１９０７及び最新バージョン１９０８が「Null」ではないレコードを特定し、特定したレコードに記載の最新コンポーネント名１９０７のリストをコンポーネントリストプレーン３００１に表示する。このリストから、ＳＴ作成ユーザにより、バージョン変更対象のステップ（コンポーネント）が選択される。コンポーネントリストプレーン３００１には、バージョン変更不可のステップ（単一バージョンしか存在しないステップ）は表示されない。このため、視認性が高い。
【０２０６】
なお、後述するように、指定ＳＴには、複数の同一のコンポーネント（ステップ）が関連付けられていることがあり（但し、バージョンは同じこともあるし異なっていることもある）、リストには、複数の同一のコンポーネントが表示されてもよいが、本実施形態では、指定ＳＴに関連付けられている同一コンポーネントの数に関わらず、その同一コンポーネントについて、リストに表示されるコンポーネントの数は、１である。これにより、視認性がより高まる。
【０２０７】
また、プレーン３００１には、ＳＴ管理ユーザからの要求に応答して、指定ＳＴに関連付いている全てのコンポーネントのリストが表示されてもよい。
【０２０８】
選択コンポーネントプレーン３００２には、コンポーネントリストプレーン３００１に表示されたリストから選択されたコンポーネントに関する情報が表示される。図３０の例によれば、リスト（最新コンポーネント名のリスト）から選択されたコンポーネント（「Volume  Capacity」）には２つのステップが対応付けられているため、選択コンポーネントプレーン３００２には、その選択されたコンポーネントに対応付けられている２つのステップの各々について、ステップ名が表示される。ステップ毎にステップ名が異なっていてよい。
【０２０９】
選択コンポーネントプレーン３００２には、選択されたコンポーネントに関する情報が表示される。具体的には、例えば、選択コンポーネントプレーン３００２には、バージョン指定プルダウンメニュー３００４、詳細フィールド３００６、候補ステップリスト３００７、及び「Apply」ボタン３００５が表示される。
【０２１０】
バージョン指定プルダウンメニュー３００４は、変更後のバージョンを指定するためのＵＩである。バージョン指定プルダウンメニュー３００４は、選択されたコンポーネントについてコンポーネントプロパティ管理テーブル４２２から特定された指定可能なバージョンのメニューを表示する。
【０２１１】
詳細フィールド３００６には、候補ステップリスト３００７から選択されたステップ（例えばチェックマークが記入されたレコードに対応するステップ）に関する詳細な情報（例えばステップ管理テーブル４２８から特定された情報）が表示される。
【０２１２】
候補ステップリスト３００７は、プレーン３００１のリストから選択されたコンポーネントに対応付けられている１以上のステップのリストである。図３０では、プレーン３００１のリストからコンポーネント「Volume  Capacity」が選択されているが、指定ＳＴには、そのコンポーネントに２つのステップが対応付けられているため、候補ステップリスト３００７は、２つのステップにそれぞれ対応した２つのレコードを有する。各レコードは、チェックボックスと、ステップ管理テーブル４２８におけるレコードの少なくとも一部（例えば、ステップ名、現在バージョン及びステータス）を有する。
【０２１３】
図３０によれば、指定ＳＴには、バージョン００３のコンポーネント（ステップ）「Volume  Capacity3」と、バージョン００２のコンポーネント（ステップ）「Volume  Capacity」が含まれていることがわかる。また、バージョン００３のコンポーネント「Volume  Capacity3」のステータスが「Applied」なので、コンポーネント「Volume  Capacity3」のバージョン００３がバージョン指定プルダウンメニュー３００４で指定したバージョンと同じである、または、バージョンアップ済みであるため、バージョンアップ対象とする必要がないことがわかる。ステップはユニークであり、異なる複数のＳＴに同一のステップが存在することはない。また、図３０によれば、ステータスが「Not applied」であるコンポーネント「Volume  Capacity」（バージョン００２）についてチェックマークが記入されたため（つまり、コンポーネント「Volume  Capacity」（バージョン００２）が選択されたため）、詳細フィールド３００６には、そのコンポーネント（ステップ）「Volume  Capacity」（バージョン００２）に関する詳細な情報が表示される。バージョン指定プルダウンメニュー３００４を用いて選択されるバージョンは、選択されたステップ「Volume  Capacity」（バージョン００２）についての変更後のバージョンである。詳細フィールド３００６には、バージョン指定プルダウンメニュー３００４で選択したバージョンのコンポーネントに関する詳細な情報が管理プログラム４３１により表示されてもよい。
【０２１４】
「Apply」ボタン３００５が押された場合、指定ＳＴ、選択されたステップ及び変更後のバージョンが関連付いたバージョンアップ要求が、管理プログラム４３１に入力される。管理プログラム４３１は、その要求に応答して、指定ＳＴの複製に関連付く旧バージョンステップ（つまりＳＴ作成ユーザにより選択されたステップ）を、変更後バージョンのコンポーネントに差し替える。
【０２１５】
このように、「Individual apply」モードによれば、ＳＴ作成ユーザは、指定ＳＴに関連付いているステップのうちの所望のステップのみバージョンを変更することができる。このため、指定ＳＴに関連付いているステップのうち、その指定ＳＴについてバージョン変更（典型的にはバージョンアップ）しても問題が発生しそうに無いコンポーネントのみを選んでバージョン変更できる。これにより、ＳＴのバージョンアップにより問題が生じる確率を低減できる。
【０２１６】
「All apply」モードでも「Individual apply」モードでも、ＳＴのバージョンアップでは、変更前バージョン（例えば旧バージョン）のコンポーネント（ステップ）が変更後バージョン（例えば最新バージョン）のコンポーネントに差し替えられる。そのＳＴバージョンアップにおいて、本実施形態では、変更前バージョンのコンポーネントに関連付いているコンポーネント入力プロパティの入力値（少なくともＳＴ作成ユーザ又はコンポーネント作成ユーザ等のユーザにより設定された値）が、変更後バージョンのコンポーネントに関連付いているコンポーネント入力プロパティに入力される（引き継がれる）。
【０２１７】
図３１は、コンポーネント入力プロパティの入力値の引継ぎを示す。
【０２１８】
ＳＴ００１（バージョン００１）に、コンポーネントＢＢＢ（バージョン００１）とコンポーネントＤＤＤ（バージョン００１）とが関連付いているとする。コンポーネントＢＢＢ（バージョン００１）に関連付いているコンポーネント入力プロパティの入力値（例えばユーザにより設定された値）が「ＸＸＸ」であり、コンポーネントＹＹＹ（バージョン００１）に関連付いているコンポーネント入力プロパティの入力値が「ＹＹＹ」であるとする。
【０２１９】
「All apply」モードでは、上述したように、ＳＴ００１の複製（バージョン００２のＳＴ００１）に関連付けられる全ての旧バージョンのステップＢＢＢ及びステップＤＤＤが、それぞれ、新たなバージョン００２のステップＢＢＢと新たなバージョン００２のステップＤＤＤに差し替えられる。その際、管理プログラム４３１は、新たなバージョン００２のステップＢＢＢに関連付けられるコンポーネント入力プロパティの値を、「Null」から、旧バージョン００１のステップＢＢＢに関連付いているコンポーネント入力プロパティの入力値「ＸＸＸ」に変更し、且つ、新たなバージョン００２のステップＤＤＤに関連付けられるコンポーネント入力プロパティの値を、「Null」から、旧バージョン００１のステップＤＤＤに関連付いているコンポーネント入力プロパティの入力値「ＹＹＹ」に変更する。
【０２２０】
「Individual apply」モードでは、上述したように、ＳＴ００１の複製（バージョン００２のＳＴ００１）に関連付けられる旧バージョンのステップＢＢＢ及びステップＤＤＤのうち、選択されたステップＢＢＢのみが、新たなバージョン００２のステップＢＢＢに差し替えられる。その際、管理プログラム４３１は、新たなバージョン００２のステップＢＢＢに関連付けられるコンポーネント入力プロパティの値を、「Null」から、旧バージョン００１のステップＢＢＢに関連付いているコンポーネント入力プロパティの入力値「ＸＸＸ」に変更する。一方、バージョン変更されなかったステップＤＤＤに関連付いているコンポーネント入力プロパティの入力値は、「ＹＹＹ」のままである。
【０２２１】
このように、ＳＴバージョンアップでは、コンポーネントのバージョン変更に伴い、自動で、バージョン変更前のコンポーネントに関連付いているコンポーネント入力プロパティの入力値が、バージョン変更後のコンポーネントに関連付くコンポーネント入力プロパティに引き継がれる。これにより、バージョン変更前のコンポーネントについての入力値と同じ入力値をバージョン変更後のコンポーネントについてユーザが手入力する手間を削減できる。
【０２２２】
また、上述したように、本実施形態では、コンポーネントは、典型的にはプラグインコンポーネントであるが、サービステンプレートそれ自体もコンポーネントになり得る。このため、管理プログラム４３１は、ユーザからの操作に応答して、ＳＴに、少なくとも１つのプラグインコンポーネントと少なくとも１つの作成済ＳＴとのうちの１以上をそれぞれコンポーネントとして関連付けることが可能である。
【０２２３】
このように、作成済ＳＴもコンポーネントの１つとしてＳＴに関連付けることが可能なので、より高度なＳＴの作成が可能である。以下、ＳＴに関連付いている１つのコンポーネントが別のＳＴの場合、コンポーネントとして関連付けられているＳＴを「子ＳＴ」と言い、子ＳＴが関連付けられているＳＴを「親ＳＴ」と言う。なお、こうした親子間の関係を持つサービステンプレートについてバージョンアップをする場合について考える。例えば下記のケースである。
（ケース１）親ＳＴと関連付けられたサービステンプレートを指定してバージョンアップする場合。
（ケース２）子ＳＴと関連付けられたサービステンプレートを指定してバージョンアップする場合。
【０２２４】
何れのケースでも、指定されたサービステンプレートに加えて、関連付けられた親ＳＴ又は子ＳＴのバージョンアップを併せて行われても良い。しかし、これらサービステンプレートは複製を伴って別々にバージョンアップされることが好ましい。
【０２２５】
まず、ケース１である。複製を伴わずにバージョンアップ後のサービステンプレートだけ存在させると仮定した場合、関連付けられた親ＳＴはバージョンアップ前の子ＳＴが無くなってしまうため強制的にバージョンアップ後のコンポーネントを使用させてしまう。これはこれまで説明してきたことと同様の発生してしまう。そのため複製を伴うことでバージョンアップ前後の両方のサービステンプレートが存在したほうがよい。また、親ＳＴが自動的にバージョンアップ後のサービステンプレートに関連付けられてしまう場合も同じ問題が発生する。よって子ＳＴのバージョンアップと親ＳＴのバージョンアップは別々に行うほうがよい。
【０２２６】
次にケース２である。親ＳＴのバージョンアップに伴って子ＳＴのバージョンアップを行うと仮定した場合、複製を伴わずに子ＳＴのバージョンアップを行うと、バージョンアップ前のサービステンプレートが無くなってしまい、他の親ＳＴが実行できなくなる、又はユーザがバージョンアップ前のサービステンプレートを使用できないといった問題が発生する。このため、子ＳＴのバージョンアップは複製を伴うほうがよい。しかし複数の親ＳＴが共通の子ＳＴを持ち、さらに親ＳＴのバージョンアップで自動的に子ＳＴのバージョンアップの複製を伴って行ってしまうと、子ＳＴは親ＳＴのバージョンアップの度に複製されてしまう。これは例えば子ＳＴに関連づいた親ＳＴが４つあり、各親ＳＴのバージョンアップが５回行われた場合は、子ＳＴの複製が４×５＝２０存在することになり、子ＳＴのバージョン管理が難しくなる。よって子ＳＴのバージョンアップと親ＳＴのバージョンアップは別々に行うほうがよい。なお、上述の複製を伴った別々なバージョンアップの考えについては「All apply」モードと「Individual apply」モード両方について適用してもよい。なお、「Individual apply」モードに対して適用する一例としては、親ＳＴのバージョンアップの際に、関連付けられた子ＳＴに関連づいたコンポーネントがバージョンアップ対象である旨の表示をしないことが考えられる。
【０２２７】
ところで、１つのＳＴに、複数の同一のコンポーネントが関連付けられることは、既に上述した通りである（例えば、図１８には、コンポーネント群中に、コンポーネントとしてＳＴ（バージョン００５）が存在）。「All apply」モードでも「Individual apply」モードでも、管理プログラム４３１は、ステップ管理テーブル４２８を基に、指定ＳＴに複数の同一のコンポーネントが関連付けられているか否かを判断することができる。そして、「All apply」モードにおいてその判断結果が肯定の場合、管理プログラム４３１は、その複数の同一のコンポーネントの各々について、バージョン変更対象とするか否かの選択と、バージョン変更対象とするのであれば変更後のバージョンの指定とを受け付ける。「Individual apply」モードにおいてその判断結果が肯定の場合、管理プログラム４３１は、その複数の同一のコンポーネントにそれぞれ対応した複数のレコードを含む候補ステップリスト３００７（図３０参照）を生成し表示することで、複数の同一のコンポーネントの各々について、バージョン変更対象とするか否かの選択と、バージョン変更対象とするのであれば変更後のバージョンの指定とを受け付ける。このような処理を行う１つの理由は、例えば図３２〜図３４を参照して説明するユースケースがあり得るからである（図３２〜図３４では、ステップは「（Ｓ）」と表記される）。
【０２２８】
すなわち、図３２に示すように、１つのＳＴ（以下、図３２〜図３４の説明において「対象ＳＴ」と言う）が、次のようなステップのフローを定義しているとする。すなわち、（Ｓ１）ストレージＨ８の情報が記述された表が取得され、（Ｓ３）前ステップで取得された表が読み出される。一方、（Ｓ２）ストレージＨ９の情報が記述された表が取得され、（Ｓ３）前ステップで取得された表が読み出される。そして、（Ｓ５）それぞれ読み出された表に記述されている情報がメールで通知される。このように、対象ＳＴは、ステップ（Ｓ１）、（Ｓ２）、（Ｓ４）をそれぞれ１つずつ含み、ステップ（Ｓ３）を２つ含む。すなわち、対象ＳＴには、２つの同一ステップ（Ｓ３）が存在する。いずれのステップ（Ｓ３）もバージョンは００１である。
【０２２９】
そして、図３３に示すように、ストレージＨ９の情報が記述される表のフォーマットが変更されたことが理由で（:例えば項目の増減、表中の時刻表示形式の変更等）、そのフォーマット変更に対応したコンポーネント（Ｓ３）（バージョン００２）が追加されたとする。この時点で、対象ＳＴに関連付いている２つのステップ（Ｓ３）はいずれも旧バージョンのステップ（コンポーネント）となる。
【０２３０】
この状況によれば、ステップ（Ｓ２）の次のステップ（Ｓ３）は新たなバージョン００２のステップ（Ｓ３）に変更する必要があるが、ステップ（Ｓ１）の次のステップ（Ｓ３）はバージョン変更されてはならない。
【０２３１】
そこで、「All apply」モードでも「Individual apply」モードでも、図３４に示すように、管理プログラム４３１は、ステップ管理テーブル４２８を基に、指定ＳＴ（対象ＳＴ）に複数の同一のステップ（Ｓ３）が関連付けられていることを特定し、その複数の同一のステップ（Ｓ３）の各々について、バージョン変更対象とするか否かの選択と、バージョン変更対象とするのであれば変更後のバージョンの指定とを受け付ける。このユースケースによれば、管理プログラム４３１は、ユーザインターフェース経由で、ＳＴ作成ユーザから、ステップ（Ｓ２）の次のステップ（Ｓ３）の選択を、バージョン変更対象のステップの選択として受け、且つ、変更後のバージョン００２の指定を受ける。管理プログラム４３１は、その選択と指定に従い、ステップ（Ｓ２）の次のステップ（Ｓ３）（バージョン００１）をステップ（Ｓ３）（バージョン００２）に差し替え、ステップ（Ｓ１）とステップ（Ｓ３）（バージョン００１）の関係を維持する。
【０２３２】
図３５は、ＳＴバージョンアップ処理のフローチャートである。
【０２３３】
管理プログラム４３１は、ＳＴの指定を、例えばＳＴリスト画面２７００（図２７参照）経由で受けた場合、ＳＴバージョンアップ画面２８００（図２８参照）を表示する。そして、管理プログラム４３１は、「All apply」タブ２８０１と「Individual apply」タブ２８０２のいずれかの選択を受ける（Ｐ３５００）。
【０２３４】
「All apply」タブ２８０１が選択された場合（Ｐ３５００：ＹＥＳ）、管理プログラム４３１は、リスト表示するか否かを判断する（Ｐ３５０１）。例えば、「Step list to be applied」ボタン２８０４が押された場合、又は、指定ＳＴに複数の同一ステップが関連付けられていることが特定された場合、Ｐ３５０１の判断結果が肯定になる。一方、例えば、「Apply」ボタン２８０３が押された場合、Ｐ３５０１の判断結果が否定になる。
【０２３５】
Ｐ３５０１の判断結果が否定の場合（Ｐ３５０１：ＮＯ）、管理プログラム４３１は、指定ＳＴが関連付いたバージョンアップ要求を受け、その要求に応答して、Ｐ３５１１を行う。すなわち、管理プログラム４３１は、指定ＳＴの複製を生成し、指定ＳＴに関連付いているステップ（コンポーネント）のうちの全ての旧ステップ（旧バージョンのステップ）をそれぞれ全ての最新コンポーネント（最新バージョンのコンポーネント）に差し替える。その際、管理プログラム４３１は、旧ステップのコンポーネント入力プロパティの入力値を、最新コンポーネントのコンポーネント入力プロパティに入力する。また、管理プログラム４３１は、旧ステップが子ＳＴの場合、その旧ステップについてはバージョンアップをせずスキップする。Ｐ３５１１の後、管理プログラム４３１は、バージョンアップされたＳＴである新ＳＴ（バージョン変更されたコンポーネントが関連付けられているＳＴ複製）に関する情報（例えばＳＴのバージョンアップ後のバージョン）を表示する（Ｐ３５４１）。
【０２３６】
Ｐ３５０１の判断結果が肯定の場合（Ｐ３５０１：ＹＥＳ）、管理プログラム４３１は、指定ＳＴに関連付いている旧ステップ（旧バージョンのステップ）のリスト２９０１を表示する。そして、そのリスト２９０１からステップが選択され「Apply」ボタン２９０２が押された場合、管理プログラム４３１は、指定ＳＴと選択されたステップとが関連付いたバージョンアップ要求を受け、その要求に応答して、Ｐ３５２２を行う。すなわち、管理プログラム４３１は、指定ＳＴの複製を生成し、指定ＳＴに関連付いているステップ（コンポーネント）のうちの選択された旧ステップ（旧バージョンのステップ）を、最新コンポーネント（最新バージョンのコンポーネント）に差し替える。その際、管理プログラム４３１は、旧ステップのコンポーネント入力プロパティの入力値を、最新コンポーネントのコンポーネント入力プロパティに入力する。Ｐ３５２２の後、管理プログラム４３１は、Ｐ３５４１を行う。
【０２３７】
「Individual apply」タブ２８０２が選択された場合（Ｐ３５００：ＮＯ）、管理プログラム４３１は、ステップ管理テーブル４２８を参照して、指定ＳＴに関連付いているステップのうち複数バージョンが存在するステップを特定し、特定したステップのみのリストをコンポーネントリストプレーン３００１に表示する。具体的には、例えば、管理プログラム４３１が、ステップ管理テーブル４２８から、最新コンポーネント名１９０７及び最新バージョン１９０８が「Null」ではないレコードを特定し、特定したレコードに記載のステップ名１９０４のリストをコンポーネントリストプレーン３００１に表示する（Ｐ３５３１）。このリストから、ＳＴ作成ユーザにより、バージョン変更対象のステップ（コンポーネント）が選択された場合、管理プログラム４３１は、選択されたステップに関する候補ステップリスト３００７を表示する（Ｐ３５３２）。そのリスト３００７からステップが選択され、バージョン指定プルダウンメニュー３００４から変更後のバージョンが指定され、且つ、「Apply」ボタン３００５が押された場合、管理プログラム４３１は、指定ＳＴ、選択されたステップ及び変更後のバージョンが関連付いたバージョンアップ要求を受け、その要求に応答して、Ｐ３５３３を行う。すなわち、管理プログラム４３１は、指定ＳＴの複製を生成し、指定ＳＴに関連付いているステップ（コンポーネント）のうちの選択された旧ステップ（旧バージョンのステップ）を、指定された変更後バージョンのコンポーネントに差し替える。Ｐ３５３３の後、管理プログラム４３１は、Ｐ３５４１を行う。
【０２３８】
以上、一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。
【０２３９】
例えば、カスタムＵＩは、ＳＴバージョンアップ画面（例えばIndividual applyモードでのバージョン指定用のＵＩ（例えばテキストフィールドではなくプルダウンメニュー）に適用されてよい。
【０２４０】
また、実施形態では、ＳＴ種別が「Release」とされる前にＳＴについてテストが実行され、不具合が発見されなければ、そのＳＴのＳＴ種別が「Release」とされ、その後、ＳＴ種別「Release」に対応したＳＴの編集は不可とされる。しかし、ＳＴ種別が「Release」とされた後にそのＳＴについて何らかの不具合が発見された場合、そのＳＴの複製を生成し、そのＳＴの複製に対応するＳＴ種別を「Debug」として、そのＳＴの複製を改善することが行われてもよい。つまり、ＳＴ種別が「Release」とされた後であっても、そのＳＴの複製を作成することで改善が可能であってよい。
【０２４１】
また、例えば、ＳＴバージョンアップ処理では、管理プログラム４３１は、指定ＳＴの複製を、必ずしもＰ３５１１、Ｐ３５２２及びＰ３５３３にて行う必要はなく、それよりも前（例えば、Ｐ３５００の前）に行ってもよい。例えば、図２７の「Update」ボタン２７０３が押されたことを契機に、管理プログラム４３１が、指定ＳＴの複製を作成し、図２８の画面を表示してもよい（指定ＳＴの複製を作成した後に、「All apply」モードと「Individual apply」モードの選択を受け付けてもよい）。
【符号の説明】
【０２４２】
３０１：運用自動化システム  ３１１：管理サーバ  ３１２：管理クライアント
【図１】
2016113913.tif 000003
【図２】
2016113913.tif 000004
【図３】
2016113913.tif 000005
【図４】
2016113913.tif 000006
【図５】
2016113913.tif 000007
【図６】
2016113913.tif 000008
【図７】
2016113913.tif 000009
【図８】
2016113913.tif 000010
【図９】
2016113913.tif 000011
【図１０】
2016113913.tif 000012
【図１１】
2016113913.tif 000013
【図１２】
2016113913.tif 000014
【図１３】
2016113913.tif 000015
【図１４】
2016113913.tif 000016
【図１５】
2016113913.tif 000017
【図１６】
2016113913.tif 000018
【図１７】
2016113913.tif 000019
【図１８】
2016113913.tif 000020
【図１９】
2016113913.tif 000021
【図２０】
2016113913.tif 000022
【図２１】
2016113913.tif 000023
【図２２】
2016113913.tif 000024
【図２３】
2016113913.tif 000025
【図２４】
2016113913.tif 000026
【図２５】
2016113913.tif 000027
【図２６】
2016113913.tif 000028
【図２７】
2016113913.tif 000029
【図２８】
2016113913.tif 000030
【図２９】
2016113913.tif 000031
【図３０】
2016113913.tif 000032
【図３１】
2016113913.tif 000033
【図３２】
2016113913.tif 000034
【図３３】
2016113913.tif 000035
【図３４】
2016113913.tif 000036
【図３５】
2016113913.tif 000037
【国際調査報告】
2016113913.tif 000038
2016113913.tif 000039