JP5977890B2 - ユーザインターフェース生成システムおよび生成方法 - Google Patents

ユーザインターフェース生成システムおよび生成方法 Download PDF

Info

Publication number
JP5977890B2
JP5977890B2 JP2015529722A JP2015529722A JP5977890B2 JP 5977890 B2 JP5977890 B2 JP 5977890B2 JP 2015529722 A JP2015529722 A JP 2015529722A JP 2015529722 A JP2015529722 A JP 2015529722A JP 5977890 B2 JP5977890 B2 JP 5977890B2
Authority
JP
Japan
Prior art keywords
sub
user interface
service
input data
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015529722A
Other languages
English (en)
Other versions
JPWO2015075810A1 (ja
Inventor
秀典 赤時
秀典 赤時
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of JP5977890B2 publication Critical patent/JP5977890B2/ja
Publication of JPWO2015075810A1 publication Critical patent/JPWO2015075810A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ユーザインターフェース生成システムおよび生成方法に関する。
近年、コンピュータシステムの運用管理の効率を高めるために、コンピュータシステムの管理運用を自動化するための製品が注目されている。その製品では、管理者の行う複数の業務からワークフローを作成し、そのワークフローをシステム化することで、管理運用を自動化する。特許文献1に記載の従来技術では、複数のソフトウェア部品を組み合わせることで、全体として一つのサービスを提供する。特許文献1に記載の従来技術では、ユーザがソフトウェア部品を容易に組み合わせることができるように、過去の履歴情報を用いて組合せの候補を提示する。
特開2007−334627号公報
特許文献1に記載の従来技術では、組み合わせるソフトウェア部品を変更するたびに各ソフトウェア部品への入力値も変わるため、サービス全体としてのユーザインターフェースをその都度再設計する必要がある。従って、従来技術では、サービス全体としてのユーザインターフェースを作成する手間がかかるため、作業性の点で改善の余地がある。さらに、ソフトウェア部品の組合せ方によっては、一方のソフトウェア部品についての入出力と他方のソフトウェア部品の入出力との整合を取る必要があるが、整合を取る作業はユーザが手動で行うため、人為的ミスの生じるおそれがある。従って、従来技術では、信頼性の点でも改善の余地がある。
本発明は、上記の問題に鑑みてなされたもので、その目的は、ユーザインターフェースの生成効率を改善できるようにしたユーザインターフェース生成システムおよび生成方法を提供することにある。本発明の他の目的は、ユーザインターフェースの生成効率および信頼性を改善できるようにしたユーザインターフェース生成システムおよび生成方法を提供することにある。
本発明の1つの観点に係るユーザインターフェース生成システムは、コンピュータを用いて実行する所定処理のユーザインターフェースを生成するユーザインターフェース生成システムであって、所定処理は、それぞれ所定のサブ処理を実行するサブ処理ステップを複数組み合わせることで生成されており、各サブ処理ステップは、サブ処理内容に応じたサブ処理用ユーザインターフェースをそれぞれ有しており、所定処理を構成する各サブ処理ステップを検出し、検出した各サブ処理ステップの有するサブ処理用ユーザインターフェースを用いて、所定処理に使用する全体ユーザインターフェースを生成する。
所定処理を構成する各サブ処理についての入力データおよび出力データに基づいて、所定処理として必要な入力データを決定し、必要な入力データに基づいて全体ユーザインターフェースを生成してもよい。
所定処理を構成する各サブ処理についての入力データのうち、必要な入力データ以外の他の入力データについては、全体ユーザインターフェースにおいて入力不能に構成してもよい。
本発明によれば、複数のサブ処理ステップを含む所定処理のユーザインターフェースを、各サブ処理ステップ用のユーザインターフェースを用いて生成することができ、ユーザインターフェースの生成効率を高めることができる。
図1は、複数の部品から構成されるフローと、各部品のユーザインターフェースとサービスのユーザインターフェースとの関係を示す説明図。 図2は、図1に示すサービスのユーザインターフェース画面例。 図3は、管理対象のストレージシステムと、運用管理のための命令を発行するストレージ運用自動化システムとを含むシステムの全体構成図。 図4は、ホストコンピュータおよびストレージ装置のハードウェア構成を示す説明図。 図5は、ストレージ運用自動化システムを構成する管理計算機の構成を示す説明図。 図6は、ストレージ運用自動化システムを構成する情報表示用装置の構成を示す説明図。 図7は、部品テーブルの構成例。 図8は、部品情報テーブルの構成例。 図9は、サービス情報テーブルの構成例。 図10は、フロー情報テーブルの構成例。 図11は、部品間の関連を示す情報を管理するテーブルの構成例。 図12は、サービスの入出力情報を管理するテーブルの構成例。 図13は、サービス編集画面の全体動作を示すシーケンス。 図14は、自動化運用フローを編集する処理を示すフローチャート。 図15は、サービス情報を保持する処理を示すフローチャート。 図16は、サービス編集画面を表示する処理を示すフローチャート。 図17は、部品をインストールするときの処理を示すフローチャート。 図18は、第2実施例に係り、各部品のユーザインターフェースとサービスのユーザインターフェースとの関係を示す説明図。 図19は、サービスのユーザインターフェース画面例。 図20は、第3実施例に係り、各部品のユーザインターフェースとサービスのユーザインターフェースとの関係を示す説明図。 図21は、サービスのユーザインターフェース画面例。 図22は、第4実施例に係り、サービスを編集する画面例。 図23は、サービスの実行を指示する画面例。 図24は、サービスの実行結果を示す画面例。
本実施形態を、図面を参照して説明する。なお、以下に説明する実施例は請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
なお、以下の説明では、「aaaテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていても良い。データ構造に依存しないことを示すために「aaaテーブル」を「aaa情報」と呼ぶことができる。
また、以下の説明では、単に管理計算機及びホスト計算機を主語として処理を説明する場合があるが、これら処理は、計算機が備える制御デバイスが有するマイクロプロセッサ(例えば、CPU(Central
Processing Unit))によって、実行されていることを示す。
本実施形態では、後述のように、各ソフトウェア部品101にそれぞれ部品用ユーザインターフェース103を予め設定している。システム運用管理者などのユーザは、所望のソフトウェア部品101を選択して組み合わせることで、サービス100のフローを定義する。本実施形態では、サービス100のフローを構成する各部品の部品用ユーザインターフェース103をマージすることで、サービス100のユーザインターフェースを自動的に生成する。
図1は、第1実施例に係るサービス100のユーザインターフェースと各部品101のユーザインターフェース103との関係を示す説明図である。本実施例では、コンピュータシステムとして、ホストコンピュータ3およびストレージ装置4などを含むストレージシステムを例に挙げて説明する。本実施例では、ストレージシステムの運用を管理するためのサービスに適用する場合を説明する。先に、サービス100の構成とサービス100を利用するための画面構成について説明し、次に、ストレージシステムの構成などを説明する。
サービス100は、上述のように、ホストコンピュータ3およびストレージ装置4を含むストレージシステムの運用を管理するためのものである。サービス100は、一つのフローから構成される。一つのフローは、複数の(例えば2つの)ソフトウェア部品101(1)、101(2)を組み合わせることで構成される。
図1に示すサービス100は、複数のステップを実行する。第1のステップは、第1のソフトウェア部品101(1)により実行される。第2のステップは、第2のソフトウェア部品101(2)により実行される。特に区別する必要がない場合、ソフトウェア部品101と呼ぶ。
各ソフトウェア部品101は「サブ処理」の一例である。各ステップを「サブ処理」の一例であると考えることもできる。各ソフトウェア部品101は、ストレージ運用自動化システム1(図3で後述)に予め設けられるが、これに限らず、後からシステム1に追加することもできる。
各ソフトウェア部品101は、ストレージの構成変更に関する機能を提供する。ストレージの構成変更に関する機能としては、例えば、シンプロビジョニングボリューム(正ボリューム、またはコピー元ボリュームと呼ぶこともできる)の生成、ペアボリューム(副ボリューム、またはコピー先ボリュームと呼ぶこともできる)の生成、データベースストアの作成、データベース用ボリュームの生成などがある。これらに限らず、ソフトウェア部品同士を組み合わせるために使用するソフトウェア部品、汎用的に使用可能なソフトウェア部品などもある。このようなソフトウェア部品としては、繰り返し実行するためのソフトウェア部品、ファイル転送部品、ファイル実行部品などがある。
各部品101(1)、101(2)は、入力プロパティと出力プロパティを有する。ユーザは、例えばGUI(Graphical User Interface)、CLI(Common Language Infrastructure)、API(Application Programming Interface)などを介して、ソフトウェア部品に情報(データ)を入力する。ソフトウェア部品からの出力値は、ソフトウェア部品を実行した後におけるストレージの構成情報などである。
入力プロパティおよび出力プロパティは、予め設定された複数のプロパティグループのうちいずれか所定のプロパティグループに属する。
第1のソフトウェア部品101(1)は、第1の入力プロパティグループ102(1Ai)に属する入力プロパティ「ボリューム数」および「ボリュームサイズ」と、第2の入力プロパティグループ102(1Bi)に属する入力プロパティ「ホスト名」および「パス数」とを有する。各プロパティグループ102(1Ai)、102(1Bi)には、「サブ処理用ユーザインターフェース」の一例であるユーザインターフェース103(1A)、103(1B)が予め対応づけられている。
第1のソフトウェア部品101(1)は、第1の出力プロパティグループ102(1Ao)に属する出力プロパティ「ボリューム識別子」と、第2の出力プロパティグループ(1Bo)に属する出力プロパティ「パス情報」とを有する。
第2のソフトウェア部品101(2)も第1のソフトウェア部品101(1)と同様に、第1の入力プロパティグループ102(2Ai)に属する入力プロパティ「ボリューム識別子」および「ホスト名」と、第2の入力プロパティグループ102(2Bi)に属する入力プロパティ「パス情報」および「パス世代数」とを有する。各プロパティグループ102(2Ai)、102(2Bi)には、「サブ処理用ユーザインターフェース」の一例であるユーザインターフェース103(2A)、103(2B)が予め対応づけられている。第2のソフトウェア部品101(2)は、出力プロパティグループ102(2Ao)に属する「パス情報」を出力する。
本明細書では、プロパティグループ102のうち、入力に関するプロパティグループには符号102に続けて(i)を添える。出力に関するプロパティグループには符号102に続けて(o)を添える。ソフトウェア部品101が入力プロパティグループ102(i)を有する場合、一方の入力プロパティグループ102に符号Aを加え、他方の入力プロパティグループ102に符号Bを加える。従って、第1のソフトウェア部品101(1)の有する一方の入力プロパティグループには符号102(1Ai)が、他方の入力プロパティグループには符号102(1Bi)が与えられる。同様に、第2のソフトウェア部品101(2)の有する一方の入力プロパティグループには符号102(2Ai)が、他方の入力プロパティグループには符号102(2Bi)が与えられる。
第1のステップでは、ストレージ装置4内にシンプロビジョニングボリュームを作成し、シンプロビジョニングボリュームとホストコンピュータとを接続するためのパスをそのシンプロビジョニングボリュームに設定する。第2のステップでは、シンプロビジョニングボリュームとコピーペアを形成するペアボリュームを作成し、シンプロビジョニングボリュームからペアボリュームにデータをコピーする。図1に示すサービス100では、正ボリュームであるシンプロビジョニングボリュームと副ボリュームであるペアボリュームとは、それぞれ異なるホストコンピュータにより使用される。
第1のステップを実行する第1のソフトウェア部品101(1)に着目する。本実施例において第1のソフトウェア部品101(1)は、シンプロビジョニングボリュームを生成するためのものであり、所定のデータが入力されると、所定のデータを出力する。入力データとしては、例えば「ボリューム数」、「ボリュームサイズ」、「ホスト名」、「パス数」、がある。第1のソフトウェア部品101(1)は、それら所定データが入力されると、所定データとしての「ボリューム識別子」および「パス情報」を出力する。
第2のソフトウェア部品101(2)に着目する。本実施例において第2のソフトウェア部品101(2)は、第1のソフトウェア部品101(1)で生成したシンプロビジョニングボリュームとコピーペアを形成するためのペアボリューム(副ボリューム、コピー先ボリュームと呼ぶこともできる)を生成する。第2のソフトウェア部品101(2)に、例えば「ボリューム識別子」、「ホスト名」、「パス情報」、「パス世代数」が入力されると、ペアボリュームが形成される。第2のソフトウェア部品101(2)は、「パス情報」を出力する。
第1のソフトウェア部品101(1)が出力するデータの一部は、第2のソフトウェア部品101(2)の入力データとして使用することができる。本実施例では、第1のソフトウェア部品101(1)の出力する「ボリューム識別子」および「パス情報」を、第2のソフトウェア部品101(2)の入力データとしてそのまま使用する。従って、図1で黒く塗りつぶしたように、第2のソフトウェア部品101(2)への入力データのうち、「ボリューム識別子」および「パス情報」は、ユーザが入力する必要はない。上述のように、第1のソフトウェア部品101(1)の出力値を使用するためである。従って、ユーザが誤った値を入力するのを未然に防止することができる。
図2は、サービス100をユーザに提供するための画面G10の一例である。ユーザは、サービス提供画面G10に対して値を入力することで、サービス100を利用することができる。
サービス提供画面G10は、例えば、サービス概要説明部GP11と、ボリューム設定部GP12と、正ボリューム側のホスト設定部GP13と、副ボリューム側のホスト設定部GP14と、パス世代数設定部GP15と、実行種別指定部GP16およびボタンGP17を備える。
サービス概要説明部GP11は、サービス説明部GP11Aと、フロー概要図GP11Bを含む総称である。サービス説明部GP11Aは、サービス100の内容を文字で説明する表示領域である。フロー概要図GP11Bは、サービス100を構成するフローの概略構成を図示する表示領域である。フロー概要図GP11Bは、例えば、図1に示すサービス100の構成を表示する。
各設定部GP12〜GP15は、各ソフトウェア部品101の有する入力プロパティグループ102(i)のユーザインターフェース103に対応している。ボリューム設定部GP12は、第1のソフトウェア部品101(1)の入力プロパティグループ102(1Ai)が有するユーザインターフェース103(1A)に対応する。ユーザは、ボリューム設定部GP12に対し、シンプロビジョニングボリュームの作成数と、ボリュームサイズとを入力する。
正ボリューム側のホスト設定部GP13は、第1のソフトウェア部品101(1)の入力プロパティグループ102(1Bi)の有するユーザインターフェース103(1B)に対応する。ユーザは、正ボリューム側のホスト設定部GP13に対し、シンプロビジョニングボリュームを使用するホストを特定するためのホスト名と、シンプロビジョニングボリュームに接続するパス数とを入力する。
副ボリューム側のホスト設定部GP14は、第2のソフトウェア部品101(2)の入力プロパティグループ102(2Ai)の有するユーザインターフェース103(2A)に対応する。ユーザは、副ボリューム側のホスト設定部GP14に対し、ペアボリュームを使用するホストを特定するためのホスト名を入力する。
パス世代数設定部GP15は、第2のソフトウェア部品101(2)の入力プロパティグループ102(2Bi)の持つユーザインターフェース103(2B)に対応する。ユーザは、パス世代数設定部GP15に対し、世代数のみ入力できる。パス情報は、その存在だけ画面に表示されており、ユーザは値を入力できない。上述の通り、ペアボリュームの生成時に使用するパス情報は、第1のソフトウェア部品101(1)の出力値を使用するためである。
実行種別指定部GP16は、サービス100の実行タイミングを指定する。実行タイミングとしては、例えば、「即時実行」、「スケジュール実行」などがある。スケジュール実行とは、スケジュールに応じてサービス100を実行することを意味する。スケジュール実行では、例えば、実行日時を指定したり、実行周期(毎日昼の12時、毎日夜の12時など)を指定したりすることができる。
ボタンGP17は、例えば、実行ボタンGP17Aと取消ボタンGP17Bとの総称である。実行ボタンGP17Aは、サービス100の実行をストレージ管理システム2(図3で後述)へ指示するためのボタンである。取消ボタンGP17Bは、画面G10への入力を取り消すためのボタンである。
図3は、ストレージ運用自動化システム1、ストレージ管理システム2および管理対象のストレージシステムを含むシステム全体の構成説明図である。
管理対象のストレージシステムは、例えば、一つ以上のホストコンピュータ(以下、ホスト)3と、一つ以上のストレージ装置4と、一つ以上のスイッチ装置5を備えており、それら各装置3、4、5は通信ネットワーク6により接続されている。ストレージ装置4は、ホスト3に論理ボリュームを提供する。
ストレージ管理システム2は、ホスト3、ストレージ装置4およびスイッチ装置5を含むストレージシステムの構成を管理する。ストレージ管理システム2は、例えば、管理計算機21と、監視情報表示用装置22とを備える。
管理計算機21は、ストレージシステムの構成を変更するための指示を発行する計算機である。管理計算機21は、ストレージ運用自動化システム2からの命令に応じて、ストレージ装置4などに所定の指示を与える。その指示に応じて、ストレージ装置4はストレージ構成を変更する。
監視情報表示用装置22は、管理計算機21に接続されており、管理計算機21の管理するストレージシステムに関する情報を表示する装置である。監視情報表示用装置22は、例えば、ストレージ装置4の各種性能情報、構成情報などを表示する。監視情報表示用装置22と管理計算機21とを一つの計算機として構成してもよい。
ストレージ運用自動化システム1(以下、運用自動化システム1)は、ストレージシステムの運用管理の自動化を支援するシステムである。運用自動化システム1は、例えば、管理計算機11と、情報表示用装置12とを備える。
管理計算機11は、サービス100を構成するフローを編集して保存し、保存したフローの実行(すなわちサービス100の実行)をストレージ管理システム2に指示するための計算機である。管理計算機11は、例えば、運用自動化フロー編集プログラムP111と、サービス情報保持プログラムP112と、構成変更命令送信プログラムP113とを実行できるように構成されている。
情報表示用装置12は、管理計算機11で実行する各プログラムP111、P112、P113に関する画面などをユーザに提供する。情報表示用装置12は、例えば、運用自動化フロー編集画面表示プログラムP121と、サービス編集画面表示プログラムP122と、サービス実行画面表示プログラムP123と、後述する他のプログラムP124〜P127(図6で後述)を実行できるように構成されている。なお、情報表示用装置12と管理計算機11とを一体化する構成でもよい。
各コンピュータプログラムによる処理の流れは後述するが、先に各コンピュータプログラムの機能を説明する。以下、コンピュータプログラムの名称を簡略化して表示する場合がある。例えば、運用自動化フロー編集プログラムP111は「自動化フロー編集」と、サービス情報保持プログラムP112は「サービス保持」と、構成変更命令送信プログラムP113は「命令送信」と、表示する。運用自動化フロー編集画面表示プログラムP121は「フロー表示」と、サービス編集画面表示プログラムP122は「サービス表示」と、サービス実行画面表示プログラムP123は「実行画面表示」と、表示する。運用自動化フローを、「フロー」と略記する場合もある。
自動化フロー編集プログラムP111は、ストレージシステムの運用管理を自動的に行うためのフロー(つまりサービス100の内容)を作成したり、編集したりする機能を有する。フロー表示プログラムP121は、自動化フロー編集プログラムP111から新規作成または作成済みのフローに関する情報を取得し、情報表示用装置12の有するディスプレイ装置に表示する機能を有する。フローの編集権限を有するユーザ(ストレージ管理者など)は、情報表示用装置12の有する入力装置を用いてフローを編集する。
サービス保持プログラムP112は、自動化フロー編集プログラムP111から、フローに関する情報(つまり、サービスの内容に関する情報)を取得し、メモリなどの所定の記憶領域に保持する機能を有する。サービス表示プログラムP122は、サービス保持プログラムP112から受領した情報(サービスの内容であるフローの情報)に基づいて、各ソフトウェア部品101に入力するデータをプロパティグループごとに分類し、そのデータの入力が必要であるかを判定する機能を有する。
すなわち、サービス表示プログラムP122は、フローに関する情報に基づいてサービス提供画面G10に表示すべき入力項目を選択し、サービス提供画面G10の構成を決定する。具体的には、サービス表示プログラムP122は、画面G10に表示するプロパティグループを決定し、さらにプロパティグループの入力プロパティ(入力項目)のうち入力可能な状態に設定する入力プロパティを決定する。
実行画面表示プログラムP123は、サービス保持プログラムP112からフローに関する情報を取得し、サービス100の実行をストレージ管理システム2に指示するための実行画面を表示する機能を有する。
命令送信プログラムP113は、ストレージ管理システム2に対してサービスの実行を指示するための命令を発行する機能を有する。命令送信プログラムP113は、サービス保持プログラムP112からフローの情報を取得して、そのフローに従ってストレージ管理システム2が動作するための命令を作成し、その命令をストレージ管理システム2に送信する。
図4は、ホスト3の構成例を示す。ホスト3は、例えば、マイクロプロセッサ31、メモリ32、通信ポート33を備えており、それらはバス等で相互に接続されている。メモリ32は、半導体メモリに限定しない。メモリはハードディスクドライブのような記憶装置であってもよい。メモリ32は、例えば、アプリケーションプログラムP31、オペレーティングシステムP32、装置管理プログラムP33などを記憶する。これらコンピュータプログラムP31、P32、P33は、マイクロプロセッサ31により実行されて所定の機能を実現する。
アプリケーションプログラムP31は、例えば、顧客管理プログラム、画像配信プログラムなどのように、ストレージ装置4の論理ボリューム48に格納したデータを用いて、所定の処理を実行する。装置管理プログラムP33は、ストレージ装置4を利用するための制御プログラムである。通信ポート33は、通信ネットワーク6を介してストレージ装置4と通信するための装置である。
ストレージ装置4は、複数の記憶装置45と、前記各記憶装置45の動作を制御するコントローラ46を備える。コントローラ46は、マイクロプロセッサ41、メモリ42、I/O(Input/Output)ポート43、管理ポート44を備える。
メモリ42は、装置管理プログラムP41を備える。装置管理プログラムP41は、ストレージ装置4の動作を制御する制御プログラムである。I/Oポート43は、通信ネットワーク6を介してホスト3の通信ポート33に接続されており、ホスト3からのコマンドなどを受信したり、ホスト3へデータを送信したりする。管理ポート44は、通信ネットワーク6を介してストレージ管理システム2に接続されている。
記憶装置45は、例えば、ハードディスクドライブ、フラッシュメモリデバイスなどのデータを読み書き可能な装置である。複数の記憶装置45の有する記憶領域をパリティグループ47としてグループ化し、このグループ化された記憶領域から所定サイズの論理的記憶領域48を形成できる。論理的記憶領域48は、論理ボリュームと呼ばれる。論理ボリューム48には、ホスト3がアクセスするための通信パスが設定される。これにより、ホスト3は、I/Oポート43を介して所望の論理ボリューム48にアクセスし、データを読み書きすることができる。
図5は、ストレージ運用自動化システム1の管理計算機11の構成例を示す。管理計算機11は、例えば、マイクロプロセッサ111、メモリ112、入出力デバイス113、通信ポート114を備える。
メモリ112は、半導体メモリに限らずハードディスクドライブでもよい。メモリ112は、コンピュータプログラムと管理テーブルを格納する。メモリ112に格納されるコンピュータプログラムには、オペレーティングシステムP10と管理プログラムP11がある。管理プログラムP11は、上述した自動化フロー編集プログラムP111、サービス保持プログラムP112、命令送信プログラムP113を含む。
メモリ112に格納される管理テーブルは、例えば、部品テーブルT111、部品情報テーブルT112、サービス情報テーブルT113、フロー情報テーブルT114、部品間関連情報テーブルT115、サービス入出力情報テーブルT116を含む。各テーブルの詳細は後述する。
入出力デバイス113は、管理計算機11に情報を入力したり、管理計算機11から情報を出力したりするための装置である。通信ポート114は、通信ネットワーク6を介して各ホスト3および各ストレージ装置4に接続されている。スイッチ装置5を管理対象とする場合、管理計算機11は各スイッチ装置5にも接続される。
図6は、ストレージ運用自動化システム1の情報表示用装置12の構成例を示す。情報表示用装置12は、例えば、マイクロプロセッサ121、メモリ122、入出力デバイス123、通信ポート124を備える。
メモリ122は、半導体メモリに限らずハードディスクドライブでもよい。メモリ122は、表示プログラムP12を格納する。表示プログラムP12は、上述したフロー表示プログラムP121、サービス表示プログラムP122、実行画面表示プログラムP123のほかに、実行結果表示プログラムP124、プロパティグループ編集画面表示プログラムP125、プロパティグループ実行画面表示プログラムP126、プロパティグループ実行結果画面表示プログラムP127を含む。
実行結果表示プログラムP124は、サービス100の実行結果を表示するプログラムである。プロパティグループ編集画面表示プログラムP125は、サービス提供画面などに表示するプロパティグループの構成を編集するプログラムである。プロパティグループ実行画面表示プログラムP126は、サービス100の実行画面において、プロパティグループ毎の実行時の状況を表示するプログラムである。プロパティグループ実行結果画面表示プログラムP127は、サービス100の実行結果を表示する画面において、プロパティグループ毎の実行結果を表示するプログラムである。
図7〜図12を参照して運用自動化システム1の管理計算機11の有する管理テーブルT111〜T116の構成例を説明する。なお、以下に示す各テーブルの構成は例示であり、複数のテーブルを一つのテーブルにまとめたり、一つのテーブルを複数のテーブルに分割したりしてもよい。さらに、各テーブルの
図7は、ソフトウェア部品101を管理するための部品テーブルT111を示す。部品テーブルT111は、例えば、管理番号C1111と、部品名C1112と、部品識別子C1113を対応づけて管理する。部品名C1112は、ソフトウェア部品101の名称である。部品識別子C1113は、ソフトウェア部品101を図1に示すシステム内で一意に識別するための情報である。
図8は、ソフトウェア部品101の詳細な情報を管理するための部品情報テーブルT112を示す。部品情報テーブルT112は、例えば、管理番号C1121と、部品識別子C1122と、入力名C1123と、キー名C1124と、値C1125と、入出力タイプC1126と、プロパティグループC1127とビジビリティ情報C1128を対応づけて管理する。
入力名C1123は、部品識別子C1122で特定されるソフトウェア部品101へ入力するデータの名称である。ソフトウェア部品101から出力するデータの名称も入力名C1123で管理している。キー名C1124は、レコードを一意に特定するための情報である。キー名は、例えば、ソフトウェア部品の名称に入力名を加えることで生成されている。
値C1125は、入力名C1123で特定される入力データとして予め設定されている初期値である。
入出力タイプC1126は、入力名C1123で特定されるデータが入力値であるか出力値であるかを区別するための情報である。
入出力タイプC1126には、入力値(入力プロパティ)の場合に「In」が格納され、出力値(出力プロパティ)の場合に「Out」が格納され、入力および出力の両方に使用され得る場合は「In/Out」が格納される。
プロパティグループC1127は、ソフトウェア部品101の入力プロパティおよび出力プロパティの属するプロパティグループ名を示す情報である。プロパティグループ名は、例えば、部品識別子の値とプロパティグループの種類を示す情報(Host、Infoなど)とを加えることで作成されている。ビジビリティ情報C1128は、サービス提供画面G10での表示を制御するための情報である。
図9は、サービス100についての情報を管理するためのサービス情報テーブルT113を示す。サービス情報テーブルT113は、例えば、管理番号C1131と、サービス名C1132と、サービス識別子C1133と、サービス詳細C1134と、フロー番号C1135とを対応づけて管理する。
サービス名C1132は、サービス100の名称である。サービス名は、そのサービスを作成したユーザが任意に設定することができる。サービス識別子C1133は、サービス100を一意に識別する情報である。サービス詳細C1134は、サービス識別子C1133で特定されるサービス100の提供する内容を示す情報である。フロー番号C1135は、サービス識別子C1133で特定されるサービス100のフローを特定するための情報である。
図10は、サービス100を実現するための運用自動化フローについての情報を管理するテーブルT114を示す。フロー情報テーブルT114は、例えば、管理番号C1141と、フロー番号C1142と、構成部品識別子リストC1143と、構成部品プロパティグループリストC1144とを対応づけて管理する。
フロー番号C1142は、フローを識別する番号である。構成部品識別子リストC1143は、フロー番号C1142で特定されるフローを構成するソフトウェア部品101の識別子のリストである。構成部品プロパティグループリストC1144は、そのフローを構成するソフトウェア部品101の有するプロパティグループ名のリストである。
図11は、ソフトウェア部品間の関連を示す情報を管理する部品間関連情報テーブルT115である。部品間関連情報テーブルT115は、例えば、管理番号C1151と、サービス識別子C1152と、部品間関連リストC1153とを対応づけて管理する。部品間関連リストC1153は、フローを構成する複数のソフトウェア部品同士がどのように関連しているかを示す情報である。部品間関連リストC1153には、例えば、第1のソフトウェア部品101(1)の出力値のうちどの出力値が、第2のソフトウェア部品101(2)の入力値として使用されるかなどを規定する。なお、図11に示す内容は、図1に示す内容と対応していない。
図12は、サービス100への入出力情報を管理するためのサービス入出力情報テーブルT116を示す。サービス入出力情報テーブルT116は、例えば、管理番号C1161と、サービス識別子C1162と、部品識別子C1163と、入力名C1164と、キー名C1165と、値C1166と、入出力タイプC1167と、リードオンリーフラグC1168と、プロパティグループC1169と、ビジビリティ情報C1170を対応づけて管理する。
サービス識別子C1162には、複数のソフトウェア部品の識別子C1163が対応づけられている。各ソフトウェア部品には、部品情報テーブルT112で説明したように、入力名C1164、キー名C1165、値C1166、入出力タイプC1167、プロパティグループ名C1169が対応づけられている。それらの項目C1164〜C1167、C1169、C1170は、図8に示す部品情報テーブルT112で述べたC1123〜C1126、C1127、C1128と同様であるため、説明を省略する。
リードオンリーフラグC1168は、入力可能な情報であるか否かを区別するための情報である。キー名C1165で特定される入力プロパティのリードオンリーフラグC1168に「false」が設定されている場合、その入力プロパティはリードオンリー状態ではなく、ユーザが入力可能であることを示す。これに対し、リードオンリーフラグC1168に「true」が設定されている入力プロパティはリードオンリー状態であり、ユーザが入力できないことを示す。すなわち、リードオンリー状態の入力プロパティには、他のソフトウェア部品の出力値が自動的に入力されるため、ユーザが手動で入力することができない。
図13〜図17を用いて、システムの運用を自動化するためのサービス100を作成して実行する処理などを説明する。
図13は、サービス編集画面を表示する全体動作を示すシーケンスである。まず最初にユーザは、運用自動化フローを編集するための画面を用いて、運用自動化フローを編集する(S10)。
フローが作成されると、自動化フロー編集プログラムP111は、ユーザの編集したフローの情報と、サービス名などのサービス基本情報とを関連付ける(S11)。自動化運用フロー編集プログラムP111は、ステップS11で関連付けた情報をサービス保持プログラムP112へ送信する(S12)。ステップS11の詳細については、図14で後述する。
サービスについての情報を保持するサービス保持プログラムP112は、受信した情報から、サービスへ入力するデータ(入力プロパティ)とサービスから出力するデータ(出力プロパティ)とを決定し、保存する(S13)。ステップS13の詳細については、図15で後述する。
ユーザがサービス編集画面の使用を希望する操作を行うと、サービス編集画面を表示するためのサービス表示プログラムP122は、サービス保持プログラムP112に対し、表示対象のサービス名を送信する(S14)。
サービス名を受信したサービス保持プログラムP112は、そのサービス名に対応するサービスについての情報と、そのサービスを実現するために作成されたフローについての情報とを、サービス表示プログラムP122へ送信する(S15)。
サービス表示プログラムP122は、サービス保持プログラムP112から受信した情報をプロパティグループ毎に分類し、プロパティ毎に入力が必要であるか否かを判定する(S16)。ユーザによる入力が必要であるか否かは、サービス入出力情報テーブルT116のリードオンリーフラグC1168の値から判断することができる。ステップS16の詳細は、図16で後述する。
サービス表示プログラムP122は、入力を必要とするプロパティを含むプロパティグループに対応するプロパティグループ編集画面表示プログラムP125に対して、そのプロパティグループのプロパティについての情報を送信する(S17、S18)。
プロパティグループの編集画面を表示するためのプログラムP125は、それぞれのユーザインターフェース(プロパティグループのユーザインターフェース)において、そのプロパティグループに含まれるプロパティを表示する(S19、S20)。
図14は、自動化フロー編集プログラムP111が実行するステップS11の詳細を示すフローチャートである。
自動化フロー編集プログラムP111は、まず最初に、ユーザの編集したフローに含まれる全てのソフトウェア部品101を処理したか判定する(S111)。全てのソフトウェア部品101を処理済みである場合(S111:YES)、本処理を終了する。本処理の対象としているフローを対象フローと呼ぶことがある。処理対象のソフトウェア部品を対象ソフトウェア部品と呼ぶことがある。図中では、対象フローを構成するソフトウェア部品を「構成部品」と表示している。
未処理のソフトウェア部品101が有る場合(S111:NO)、自動化運用フロー編集プログラムP111は、フロー情報テーブルT114に、ソフトウェア部品の識別子(uk)とフローのステップ名であるnamespace(本実施例では例えば、「1」、「2」など)を保存する。
フロー情報テーブルT114の構成部品プロパティグループリストC1144に、namespaceとプロパティグループ名とを対応づけて保存するのは、各プロパティを一意に特定するためである。フローに同一のまたは同種のソフトウェア部品が複数含まれた場合、キー名が重複する可能性があるが、namespaceとプロパティグループ名とを対応づけておくことで、各プロパティグループの各プロパティを一意に特定することができる。
自動化運用フロー編集プログラムP111は、サービス情報テーブルT113に、サービス基本情報とフロー番号を記憶する(S113)。サービス基本情報には、サービス名C1132、サービス識別子C1133、サービス詳細C1134がある。フロー番号とは、対象フローに設定された番号であり、サービス情報テーブルT113のフロー番号C1135に記憶される。
自動化運用フロー編集プログラムP111は、対象ソフトウェア部品に関する部品間関連情報を全て処理したか判定する(S114)。未処理の部品間関連情報が有る場合(S114:NO)、自動化運用フロー編集プログラムP111は、部品間関連情報テーブルT115に、サービスを識別するためのサービス識別子C1152と、部品間関連情報とを記憶する(S115、S116)。
部品間関連情報は、関連元のソフトウェア部品のキー名と関連先のソフトウェア部品のキー名とを対応づけることで生成され、部品間関連情報テーブルT115の部品間関連リストC1153に保存される。
関連元のソフトウェア部品のキー名の先頭には、当該ソフトウェア部品のステップ番号であるnamespaceが付加される(S115)。同様に、関連先のソフトウェア部品のキー名の先頭にも、当該ソフトウェア部品のnamespaceが付加される(S115)。自動化運用フロー編集プログラムP111は、このようにして生成した部品間関連情報を部品間関連情報テーブルT115に記憶する(S116)。
自動化運用フロー編集プログラムP111は、対象ソフトウェア部品についての全ての部品間関連情報を処理するまで、ステップS114〜S116を繰り返し実行する(S117)。対象ソフトウェア部品についての処理を完了すると(S114:YES)、自動化運用フロー編集プログラムP111は、対象フローに含まれている次のソフトウェア部品を処理対象とし(S118)、ステップS111に戻る。
図15は、サービス保持プログラムP112が実行するサービス情報を保持する処理(S13)の詳細を示すフローチャートである。
サービス保持プログラムP112は、自動化運用フロー編集プログラムP111から受信した情報に含まれているサービス名に基づいてサービス情報テーブルT113を検索し、サービス名に対応するフロー番号を特定する。サービス保持プログラムP112は、特定したフロー番号に基づいてフロー情報テーブルT114を検索し、対象フローを構成する各ソフトウェア部品の部品識別子のリストを取得する(S131)。
サービス保持プログラムP112は、ステップS131で取得した部品識別子リストに記載された全てのソフトウェア部品について処理したか判定する(S132)。サービス保持プログラムP112は、部品識別子リストに記載された全てのソフトウェア部品を処理済みであると判定すると(S132:YES)、本処理を終了する。
未処理のソフトウェア部品が有る場合(S132:NO)、サービス保持プログラムP112は、未処理のソフトウェア部品を対象ソフトウェア部品とし、対象ソフトウェア部品の識別子に対応する情報を部品情報テーブルT112から取得する(S133)。サービス保持プログラムP112は、部品情報テーブルT112から取得した部品情報中のキー名C1124の先頭にnamespaceを付加する(S134)。
サービス保持プログラムP112は、キー名にnamespaceを付加した部品情報と、サービス識別子と、リードオンリーフラグとをサービス入出力情報テーブルT116に保存する(S135)。この時点では、全てのリードオンリーフラグに「false」が設定される。
さらに、サービス保持プログラムP112は、ステップS131で特定したフロー番号に関連する部品間関連リストを部品間関連情報テーブルT115から取得し、取得した部品間関連リストに記載されているソフトウェア部品同士の関係(部品間関連情報)を全て処理したか判定する(S136)。
未処理の部品間関連情報が有る場合(S136:NO)、サービス保持プログラムP112は、部品間関連情報の関連先ソフトウェア部品のキー名を確認する(S137)。サービス保持プログラムP112は、サービス入出力情報テーブルT116において、関連先ソフトウェア部品のキー名に一致するリードオンリーフラグC1168の値を「true」に設定する(S138)。
サービス保持プログラムP112は、部品間関連リストに記載されている次の部品間関連情報に移動し(S139)、ステップS136に戻る。このようにして、部品間関連リストに記載されている全ての部品間関連情報を処理すると(S132:YES)、サービス保持プログラムP112は、本処理を終了する。
図16は、サービス編集画面を表示する処理のフローチャートである。本処理は、図13のステップS16に相当し、サービス表示プログラムP122が実行する。
サービス表示プログラムP122は、サービス情報テーブルT113のフロー番号C1135に記憶されたフロー番号に基づいて、フロー情報テーブルT114を参照し、構成部品識別子リストC1143に記載の全てのソフトウェア部品を処理したか判定する(S161)。
未処理のソフトウェア部品がある場合(S161:NO)、サービス表示プログラムP122は、その未処理のソフトウェア部品の識別子と同一の識別子を有するカラムがサービス入出力情報テーブルT116に存在するか判定する(S162)。
該当するカラムがあると判定すると(S162:YES)、サービス表示プログラムP122は、キー名C1165の値を取得し、その値からnamespaceを取り除く(S163)。
サービス表示プログラムP122は、メモリ112内に設けられる部品プロパティリスト(図示せず)に、前記カラムの情報と、前記除去したnamespaceとを追加する(S164)。サービス表示プログラムP122は、フローを構成する各ソフトウェア部品について処理するまで、ステップS161〜S164を繰り返す。
リストに記載された全てのソフトウェア部品を処理すると(S161:YES)、サービス表示プログラムP122は、プロパティグループのユーザインターフェースを読み込む(S165)。サービス表示プログラムP122は、例えば、HTML(HyperText Markup Language)のiframe(inline frame)のAPI(Application Programming Interface)を用いて、namespaceとプロパティグループ名と画面種別とから、該当するプロパティグループのユーザインターフェースを読み込む。
iframeとは、HTMLファイル内にHTMLファイルを埋め込むための画面構成技術の一例である。これ以外の技術を用いて、サービス提供画面G10内にプロパティグループごとのユーザインターフェース画面を埋め込んでもよい。サービス表示プログラムP122は、iframe.nameに「<NAMESPACE>−<プロパティグループ名>−<画面種別>」を設定する(S166)。
最後に、サービス表示プログラムP122は、メモリ112内の部品プロパティリストの中から、namespaceとプロパティグループ名とが一致するプロパティの情報を読み出して、その情報を、該当するプロパティグループのユーザインターフェースに送信する(S167)。
図13で述べたように、各プロパティグループのユーザインターフェースは、サービス提供画面G10内の特定の表示領域において、当該プロパティグループに属するプロパティを表示する。その際に表示するためのリードオンリー情報やビジビリティ情報を加味して表示内容や表示範囲を決める(S19、S20)。
図17は、ソフトウェア部品101をストレージ運用自動化システム1にインストールする場合の処理を示す。
まず最初に、ストレージ運用自動化システム1は、インストール対象のソフトウェア部品101の部品名およびソフトウェア部品識別子を、部品テーブルT111に格納する(S301)。続いて、ストレージ運用自動化システム1は、部品情報テーブルT112に、インストール対象のソフトウェア部品についての情報を格納する(S302)。
本実施例は上述のように構成されるため、以下の効果を奏する。本実施例では、サービス100のフローを複数のソフトウェア部品101から構成し、各ソフトウェア部品101には、プロパティグループごとに個別のユーザインターフェース103を予め設定している。従って、ユーザは、サービス100の内容(フロー)を編集するだけで、サービス全体のユーザインターフェースを自動的に生成することができる。
本実施例では、プロパティグループごとにユーザインターフェースを予め設定しているため、ソフトウェア部品の組合せを変更した場合でも、サービス全体のユーザインターフェースを容易に生成することができる。
さらに、本実施例では、フローを構成する複数のソフトウェア部品同士の関連を解析して、接続元(関連元)のソフトウェア部品の出力プロパティを接続先(関連先)のソフトウェア部品の入力プロパティとして使用する場合は、その入力プロパティにユーザが入力できないようにユーザインターフェースを構成する。従って、誤ったデータが入力されるのを未然に防止し、人為的ミスの発生を予防できる。
図18および図19を用いて第2実施例を説明する。本実施例を含む以下の各実施例は、第1実施例の変形例に該当する。従って、本実施例では、第1実施例との相違を中心に説明する。図18は、本実施例によるサービス100と各ソフトウェア部品101(1)、101(2)の関係を示す説明図である。
本実施例も、第1のソフトウェア部品101(1)と第2のソフトウェア部品101(2)を組み合わせて構成されるフローにより、サービス100を実現する。第1のソフトウェア部品101(1)は、シンプロビジョニングボリュームを生成する。第2のソフトウェア部品101(2)は、第1のソフトウェア部品101(1)で作成したシンプロビジョニングボリューム内に、データストアを作成する。
ここで、入力プロパティ「ホスト名」は、第1のソフトウェア部品101(1)および第2のソフトウェア部品101(2)の両方に存在する。第1のソフトウェア部品(1)に入力する「ホスト名」と第2のソフトウェア部品101(2)に入力する「ホスト名」とは同一でなければならない。第1のソフトウェア部品101(1)の生成したシンプロビジョニングボリュームにアクセスできるホスト3が、そのシンプロビジョニングボリューム内のデータストアを使用するためである。従って、本実施例では、第1のソフトウェア部品101(1)にユーザが入力した「ホスト名」をそのまま第2のソフトウェア部品101(2)にも使用する。
上述の理由により、第1のソフトウェア部品101(1)から出力する「パス情報」は、第2のソフトウェア部品101(2)の入力としても使用されるべきである。そこで、本実施例では、第1のソフトウェア部品101(1)の出力する「パス情報」を、そのまま第2のソフトウェア部品101(2)の入力データとして使用する。
図19は、本実施例によるサービス提供画面G20を示す。サービス提供画面G20は、例えば、サービス概要説明部GP21と、ボリューム設定部GP22と、シンプロビジョニングボリュームを使用するホスト設定部GP23と、データストアを使用するホスト設定部GP24と、パス情報設定部GP25と、データストア情報設定部GP26と、実行種別指定部GP27と、ボタンGP28を備える。
サービス概要説明部GP21は、第1実施例で述べたと同様に、サービス説明部GP21Aと、フロー概要図GP21Bを含む総称である。
各設定部GP22〜GP26は、各ソフトウェア部品101の有する入力プロパティグループ102(i)のユーザインターフェース103に対応している。ボリューム設定部GP22は、第1のソフトウェア部品101(1)の入力プロパティグループ102(1Ai)が有するユーザインターフェース103(1A)に対応する。ユーザは、ボリューム設定部GP22に対し、シンプロビジョニングボリュームの作成数と、ボリュームサイズとを入力する。
一方のホスト設定部GP23は、第1のソフトウェア部品101(1)の入力プロパティグループ102(1Bi)の有するユーザインターフェース103(1B)に対応する。ユーザは、ホスト設定部GP23に対し、シンプロビジョニングボリュームを使用するホストを特定するためのホスト名と、シンプロビジョニングボリュームに接続するパス数とを入力する。
他方のホスト設定部GP24は、第2のソフトウェア部品101(2)の入力プロパティグループ102(2Ai)の有するユーザインターフェース103(2A)に対応している。ここでは第2のソフトウェア部品101(2)で使用する「ホスト名」は、第1のソフトウェア部品101(1)で使用する「ホスト名」と同一でなければならない。そこで、他方のホスト設定部GP24では、ユーザが「ホスト名」を入力できないようにして表示する。
パス情報設定部GP25も、第1のソフトウェア部品101(1)で決定されたパス情報を自動的に使用するため、ユーザが入力できないようにして表示する。
データストア情報設定部GP26では、ユーザがデータストアに関する情報を設定できるようになっている。
実行種別指定部GP27については第1実施例の実行種別指定部GP16と同様なので説明を省略する。ボタンGP28は、実行ボタンGP28Aと取消ボタンGP28Bとの総称である。ボタンGP28は、第1実施例のボタンGP17と同様なので、説明を省略する。
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに本実施例では、第2のソフトウェア部品101(2)は、第1のソフトウェア部品101(1)に入力されるデータと同一データを使用する入力プロパティと、第1のソフトウェア部品101(1)から出力されるデータを使用する入力プロパティとを有する。このように、本実施例は、各ソフトウェア部品間で共通のデータが入力される場合、および第1のソフトウェア部品101(1)の出力を第2のソフトウェア部品101(2)の入力として使用する場合の両方に対応することができる。従って、サービスのユーザインターフェースを自動生成する範囲を広げることができ、使い勝手がさらに向上する。
図20および図21を用いて第3実施例を説明する。図20は、本実施例によるサービス100と各ソフトウェア部品101との関係を示す説明図である。
本実施例では、第1のソフトウェア部品101(1)によりシンプロビジョニングボリュームを生成し、生成したシンプロビジョニングボリュームにホスト3へ接続するための通信パスを設定する。第2のソフトウェア部品101(2)は、そのシンプロビジョニングボリュームをデータベース用のボリュームとして使用するために初期設定を行う。
本実施例も第2実施例と同様に、入力プロパティ「ホスト名」は、第1のソフトウェア部品101(1)および第2のソフトウェア部品101(2)の両方に存在する。第1のソフトウェア部品(1)に入力する「ホスト名」と第2のソフトウェア部品101(2)に入力する「ホスト名」とは同一でなければならない。第1のソフトウェア部品101(1)の生成したシンプロビジョニングボリュームにアクセスできるホスト3が、そのシンプロビジョニングボリュームから形成されるデータベース用ボリュームを使用するためである。従って、本実施例でも、第1のソフトウェア部品101(1)にユーザが入力した「ホスト名」をそのまま第2のソフトウェア部品101(2)にも使用する。
第1のソフトウェア部品101(1)から出力する「パス情報」は、第2のソフトウェア部品101(2)の入力としても使用される。そこで、本実施例では、第1のソフトウェア部品101(1)の出力する「パス情報」を、そのまま第2のソフトウェア部品101(2)の入力データとして使用する。
第1のソフトウェア部品101(1)で作成したシンプロビジョニングボリュームと、第2のソフトウェア部品101(2)で初期設定するデータベース用ボリュームとは、同一ボリュームであるため、第2のソフトウェア部品101(2)に「ボリューム識別子」を入力する必要はない。
図21は、本実施例によるサービス提供画面G30を示す。サービス提供画面G30は、例えば、サービス概要説明部GP31と、ボリューム設定部GP32と、シンプロビジョニングボリュームを使用するホスト設定部GP33と、データベース用ボリュームを使用するホスト設定部GP34と、ノードおよび認証情報を設定する認証設定部GP35と、パス情報設定部GP36と、データベース設定部GP37とを備える。図21では省略しているが、サービス提供画面G30は、第1実施例および第2実施例と同様に、実行種別指定部およびボタンを備える。
サービス概要説明部GP31は、サービス説明部GP31Aと、フロー概要図GP31Bを含む総称である。
各設定部GP32〜GP37は、各ソフトウェア部品101の有する入力プロパティグループ102(i)のユーザインターフェース103に対応している。ボリューム設定部GP32は、第1のソフトウェア部品101(1)の入力プロパティグループ102(1Ai)が有するユーザインターフェース103(1A)に対応する。ユーザは、ボリューム設定部GP22に対し、シンプロビジョニングボリュームの作成数と、ボリュームサイズとを入力する。
一方のホスト設定部GP33は、第1のソフトウェア部品101(1)の入力プロパティグループ102(1Bi)の有するユーザインターフェース103(1B)に対応している。ユーザは、ホスト設定部GP23に対し、シンプロビジョニングボリュームを使用するホストを特定するためのホスト名と、シンプロビジョニングボリュームに接続するパス数とを入力する。
他方のホスト設定部GP34は、第2のソフトウェア部品101(2)の入力プロパティグループ102(2Ai)の有するユーザインターフェース103(2A)に対応している。ここでは、第2のソフトウェア部品101(2)で使用する「ホスト名」は、第1のソフトウェア部品101(1)で使用する「ホスト名」と同一でなければならない。そこで、他方のホスト設定部GP34では、ユーザが「ホスト名」を入力できないように表示する。
認証情報設定部GP35では、ユーザはノードの認証情報を設定できる。パス情報設定部GP36では、第1のソフトウェア部品101(1)で決定されたパス情報を自動的に使用するため、ユーザが入力できないようにして表示する。
データベース設定部GP37では、データベース用ボリュームとして使用するために必要な情報をユーザが設定できるように表示する。このように構成される本実施例も前記第2実施例と同様の作用効果を奏する。
図22〜図24を用いて第4実施例を説明する。本実施例では、サービス100のユーザインターフェースを利用するユーザの属性に応じて、サービス100のユーザインターフェースの表示内容を変更する。サービス100のユーザインターフェースを利用するユーザとは、サービス100に関係するユーザであり、例えば、サービス100の編集権限を有するユーザ、サービス100の実行を指示するユーザなどに分類できる。ここでは、サービス100の編集権限を有するユーザをストレージ管理者と呼び、サービス100の実行を指示するユーザをオペレータと呼ぶ。
さらに、本実施例では、サービス100について予め設定された複数の段階毎に、サービス100のユーザインターフェースの表示内容を変更する。複数の段階としては、例えば、編集段階、実行指示確認段階、実行結果確認段階がある。このように、本実施例では、サービス100に関するユーザの属性と所定の複数の段階の両方に従って、サービス100の表示内容を変更する。
図22は、編集段階の画面G40の例を示す。サービス編集画面G40は、ストレージ管理者のみが情報表示用装置12に表示させて、操作することができる。サービス編集画面G40は、ストレージ管理者がサービス100の内容(フロー)を詳細に設定できるようにするために用意されている。
図22に示す編集画面G40は、例えば、ボリューム設定部GP41と、ホスト設定部GP42と、パス情報設定部GP43を備えている。なお、本実施例のサービス提供画面G40、G50、G60では、サービス概要説明部、実行種別指定部およびボタンも備えることができるが、図示を省略する。
ボリューム設定部GP41において、ストレージ管理者は、例えば生成するボリューム数、ボリュームサイズ、ボリュームを生成するためのプールの物理的特性、使用するLUN(Logical Unit Number)を設定したりすることができる。ホスト設定部GP42において、ストレージ管理者は、例えばホストモード、ホストモードのオプションを設定することができる。パス情報設定部GP43において、ストレージ管理者は、初期コピーを実行するか否かの指示、コピーモード、コピーグループ名のプレフィックスを設定できる。
図23は、実行指示確認画面G50の例を示す。サービスの実行指示を確認するための画面G50は、オペレータが、実行するタスク毎に設定する必要のある項目だけを表示している。
実行指示確認画面G50は、例えば、ホスト設定部GP51と、ボリューム設定部GP52と、他方のホスト設定部(バックアップサーバ設定部)GP53と、パス世代数設定部GP54を備える。
ホスト設定部GP51において、オペレータは、機器を管理する製品で管理されている任意のホストを指定することができる。ボリューム設定部GP52において、オペレータは、例えば、予め指定されている物理特性を有するプールの中から、ホストに割り当てるボリュームの数やサイズを設定することができる。パス世代数設定部GP54において、オペレータは、例えば、コピーグループ名のプレフィックス、コピーグループの世代数などを指定できる。
このように実行指示確認画面G50では、オペレータは、ストレージ管理者に提供されている情報に比べて、限定された情報のみアクセスでき、限定された情報のみ操作することができる。オペレータは、ストレージ管理者により事前に設定されているホストモードなどの情報を操作することはできない。それらの権限のない情報は、参照のみ可能なモードで画面G50に表示してもよい。
図24は、実行結果確認画面G60の例を示す。サービスの実行結果を確認するための画面G60は、ストレージ管理者、オペレータの区別無く、タスクの実行結果に関する全ての情報を確認できるように構成されている。
実行結果確認画面G60は、例えば、実行結果表示部GP61と、ホスト情報表示部GP62と、ボリューム情報表示部GP63と、他方のホスト情報表示部(バックアップサーバ表示部)GP64と、パス世代数情報表示部GP65とを備える。
実行結果についての基礎的な情報を示す実行結果表示部GP61において、ストレージ管理者およびオペレータは、例えば、タスク名、タスクステータス、タスク開始時刻、タスク終了時刻、タスク識別子、ユーザ名などを確認できる。ホスト情報表示部GP62において、ストレージ管理者およびオペレータは、例えば、正ボリューム(コピー元ボリューム)を使用するホストの名称を確認できる。
ボリューム情報表示部GP63において、ストレージ管理者およびオペレータは、例えば、生成したボリュームの用途、ボリューム数、ボリュームサイズ、ボリュームを生成するために使用したプールの物理特性、LUN、パス情報を確認できる。他方のホスト情報表示部GP64において、ストレージ管理者およびオペレータは、例えば、他方のホストの名称を確認できる。
パス世代数情報表示部GP65において、ストレージ管理者およびオペレータは、例えば、コピーグループの世代数、初期コピーの実施の有無、コピーグループ名のプレフィックス、パス情報を確認することができる。
実行結果確認画面G60において、ストレージ管理者およびオペレータは、タスク実行前(サービス実行前)に指定した値と、タスクの実行の結果として得られた値との両方を参照可能である。なお、表示部GP63、GP65に示すように、詳細情報の表示を制御するための「Detail View」ボタンを設け、このボタンのオン/オフを切り替えることで詳細情報を表示したり、消去したりすることができる。
このように構成される本実施例も前記各実施例と同様の作用効果を奏する。さらに、本実施例では、サービスに関係するユーザの属性およびサービスについて事前に設定された所定の段階に応じて、サービス提供画面の表示内容を制御する。従って、ユーザは、自分に必要な範囲の情報を確認したり操作したりでき、使い勝手が向上する。なお、本実施例では、ユーザ属性および所定の段階の両方に応じて画面構成を制御する例を説明したが、ユーザ属性のみに応じて画面構成を制御したり、あるいは、サービスの所定の段階のみに応じて画面構成を制御したりすることもできる。それらの構成はいわゆる当業者であれば容易に理解して実施できるため、詳細な説明は割愛する。
本発明は、上述した実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、上述した本発明の技術的特徴は、適宜結合させて実施することができる。
1:ストレージ運用自動化システム、2:ストレージ管理システム、3:ホストコンピュータ、4:ストレージ装置

Claims (9)

  1. コンピュータを用いて実行する所定処理のユーザインターフェースを生成するユーザインターフェース生成システムであって、
    前記所定処理は、それぞれ所定のサブ処理を実行するサブ処理ステップを複数組み合わせることで生成されており、前記各サブ処理ステップは、サブ処理内容に応じたサブ処理用ユーザインターフェースをそれぞれ有しており、
    前記所定処理を構成する前記各サブ処理ステップを検出し、
    検出した前記各サブ処理ステップの有する前記サブ処理用ユーザインターフェースを用いて、前記所定処理に使用する全体ユーザインターフェースを生成するものであって、
    前記所定処理を構成する前記各サブ処理についての入力データおよび出力データに基づいて、前記所定処理として必要な入力データを決定し、前記必要な入力データに基づいて前記全体ユーザインターフェースを生成し、
    前記所定処理を構成する前記各サブ処理についての入力データのうち、前記必要な入力データ以外の他の入力データについては、前記全体ユーザインターフェースにおいて入力不能に構成し、さらに、
    前記所定処理を構成する前記各サブ処理ステップのうち一方のサブ処理ステップの出力データを、前記所定処理を構成する前記各サブ処理ステップのうち他方のサブ処理ステップの入力データとして使用できる場合、前記全体ユーザインターフェースにおいて前記他方のサブ処理ステップの前記入力データをユーザが入力できないように構成する
    ーザインターフェース生成システム。
  2. 前記所定処理を構成する前記各サブ処理ステップのうち一方のサブ処理ステップの入力データと、前記所定処理を構成する前記各サブ処理ステップのうち他方のサブ処理ステップの入力データとが同一の場合、前記一方のサブ処理ステップの入力データおよび前記他方のサブ処理の入力データとして共通に使用するためのデータを前記全体ユーザインターフェースにおいてユーザが入力できるように構成する、
    請求項に記載のユーザインターフェース生成システム。
  3. 前記全体ユーザインターフェースを利用するユーザの属性に応じて、前記全体ユーザインターフェースの表示内容を変更する、
    請求項1または2のいずれか一項に記載のユーザインターフェース生成システム。
  4. 前記所定処理に関して予め設定された複数の段階毎に、前記全体ユーザインターフェースの表示内容を変更する、
    請求項1または2のいずれか一項に記載のユーザインターフェース生成システム。
  5. 前記所定処理の内容を編集する編集段階、編集した前記所定処理の実行を指示する実行段階、前記所定処理の実行結果を示す実行結果段階のそれぞれで、前記全体ユーザインターフェースの表示内容が異なる、
    請求項に記載のユーザインターフェース生成システム。
  6. コンピュータを用いて実行する所定処理のユーザインターフェースを生成するユーザインターフェース生成方法であって、
    前記所定処理は、それぞれ所定のサブ処理を実行するサブ処理ステップを複数組み合わせることで生成されており、前記各サブ処理ステップは、サブ処理内容に応じたサブ処理用ユーザインターフェースをそれぞれ有しており、
    前記所定処理を構成する前記各サブ処理ステップを検出し、
    検出した前記各サブ処理ステップの有する前記サブ処理用ユーザインターフェースを取得し、
    取得した前記各サブ処理用ユーザインターフェースを、前記所定処理に使用する全体ユーザインターフェースの生成用に予め用意されている画面に配置することで、前記全体ユーザインターフェースを生成するものであって、前記所定処理を構成する前記各サブ処理についての入力データおよび出力データに基づいて、前記所定処理として必要な入力データを決定し、前記必要な入力データに基づいて前記全体ユーザインターフェースを生成し、前記所定処理を構成する前記各サブ処理についての入力データのうち、前記必要な入力データ以外の他の入力データについては、前記全体ユーザインターフェースにおいて入力不能に構成し、前記所定処理を構成する前記各サブ処理ステップのうち一方のサブ処理ステップの出力データを、前記所定処理を構成する前記各サブ処理ステップのうち他方のサブ処理ステップの入力データとして使用できる場合、前記全体ユーザインターフェースにおいて前記他方のサブ処理ステップの前記入力データをユーザが入力できないように構成する、
    ユーザインターフェース生成方法。
  7. 前記所定処理を構成する前記各サブ処理ステップのうち一方のサブ処理ステップの入力データと、前記所定処理を構成する前記各サブ処理ステップのうち他方のサブ処理ステップとが同一の場合、前記一方のサブ処理ステップの入力データおよび前記他方のサブ処理の入力データとして共通に使用するためのデータを前記全体ユーザインターフェースにおいてユーザが入力できるように構成する、
    請求項に記載のユーザインターフェース生成方法。
  8. 前記全体ユーザインターフェースを利用するユーザの属性に応じて、前記全体ユーザインターフェースの表示内容を変更する、
    請求項6または7のいずれか一項に記載のユーザインターフェース生成方法。
  9. 前記所定処理に関して予め設定された複数の段階毎に、前記全体ユーザインターフェースの表示内容を変更する、
    請求項6または7のいずれか一項に記載のユーザインターフェース生成方法。
JP2015529722A 2013-11-22 2013-11-22 ユーザインターフェース生成システムおよび生成方法 Active JP5977890B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/081494 WO2015075810A1 (ja) 2013-11-22 2013-11-22 ユーザインターフェース生成システムおよび生成方法

Publications (2)

Publication Number Publication Date
JP5977890B2 true JP5977890B2 (ja) 2016-08-24
JPWO2015075810A1 JPWO2015075810A1 (ja) 2017-03-16

Family

ID=53179116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015529722A Active JP5977890B2 (ja) 2013-11-22 2013-11-22 ユーザインターフェース生成システムおよび生成方法

Country Status (6)

Country Link
US (1) US20160011856A1 (ja)
JP (1) JP5977890B2 (ja)
CN (1) CN104969187A (ja)
DE (1) DE112013006581T5 (ja)
GB (1) GB2536513A (ja)
WO (1) WO2015075810A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301096B (zh) * 2017-06-16 2020-10-16 苏州浪潮智能科技有限公司 一种存储资源配置的方法及系统
US20220101269A1 (en) 2020-09-30 2022-03-31 Rockwell Automation Technologies, Inc. Data driven remote support
US11644815B2 (en) * 2020-09-30 2023-05-09 Rockwell Automation Technologies, Inc. Common data pipeline for sharing data associated with industrial automation systems
US20240427572A1 (en) * 2023-06-26 2024-12-26 Lemon Inc. Methods and systems for automated generation of a user interface
US12613680B2 (en) 2023-08-28 2026-04-28 Lemon Inc. Controlling data schema for data oriented architecture

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744477A (ja) * 1993-07-30 1995-02-14 Canon Inc マルチメディア機器の制御システム
JP2002244849A (ja) * 2000-11-13 2002-08-30 Canon Inc データ処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117449B1 (en) * 2002-12-31 2006-10-03 Siebel Systems, Inc. Method and apparatus to present an integrated process modeler
CN1786902A (zh) * 2004-12-09 2006-06-14 腾讯科技(深圳)有限公司 一种图形用户界面及其生成方法
JP5366955B2 (ja) * 2008-08-28 2013-12-11 京セラ株式会社 ユーザインタフェース生成装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744477A (ja) * 1993-07-30 1995-02-14 Canon Inc マルチメディア機器の制御システム
JP2002244849A (ja) * 2000-11-13 2002-08-30 Canon Inc データ処理装置

Also Published As

Publication number Publication date
US20160011856A1 (en) 2016-01-14
DE112013006581T5 (de) 2015-12-17
WO2015075810A1 (ja) 2015-05-28
GB201514408D0 (en) 2015-09-30
CN104969187A (zh) 2015-10-07
GB2536513A (en) 2016-09-21
JPWO2015075810A1 (ja) 2017-03-16

Similar Documents

Publication Publication Date Title
JP5977890B2 (ja) ユーザインターフェース生成システムおよび生成方法
JP6174825B2 (ja) サービスを作成する管理システム
US10768978B2 (en) Management system and management method for creating service
JP6637599B2 (ja) 管理システム及び管理方法
JP6154555B2 (ja) 自動実行サービスの作成を支援する方法
JP6421249B2 (ja) デバッグを支援する方法及び計算機システム
JP5968451B2 (ja) 計算機システム、及びプログラム
TW200306475A (en) Network master hard disk drive duplicator
JP4691895B2 (ja) データ処理システム設計装置及びそのためのコンピュータプログラム
CN111581113A (zh) 文件更新方法、装置、存储介质、处理器及电子装置
CN105122157B (zh) 程序编辑装置以及程序编辑方法
KR102021327B1 (ko) 프로그램 개발 지원 장치 및 프로그램 부품의 관리 방법
JP2009069876A (ja) ワークフローシステム、ワークフロー制御方法及びプログラム
JP4784754B2 (ja) 制御システム設定装置
JP6588961B2 (ja) 計算機システムおよび推奨パラメータ値抽出方法
JP4683535B2 (ja) ジョブネット管理システム
JP2002222300A (ja) 統合プロジェクト管理ツール
JP7238334B2 (ja) 環境構築システム、管理装置、環境構築方法、およびプログラム
WO2023189280A1 (ja) 情報処理装置およびプログラム
JP2009230322A (ja) ジョブ管理システム
JP2011227575A (ja) コンピュータプログラム開発支援装置、及び、コンピュータプログラム開発支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160722

R150 Certificate of patent or registration of utility model

Ref document number: 5977890

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350