(57)【要約】      （修正有）【課題】管理作業内容をポリシーとして定義することにより情報処理システムの管理負担を軽減し、さらにポリシーの設定内容の誤りや不整合、矛盾等を検出すること。【解決手段】ＣＰＵ２０１は管理サーバ２００の全体の制御を司るもので、記憶装置２０８に格納されたポリシー管理プログラム３００を適宜メモリ２０２に読み出して実行することにより各種機能を実現する。記録媒体読取装置２０４は、記録媒体２０７に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ２０２や記憶装置２０８に格納される。従って、例えば記録媒体２０７に記録されたポリシー管理プログラム３００を、記録媒体読取装置２０４を用いて上記記録媒体２０７から読み取って、メモリ２０２や記憶装置２０８に格納するようにすることができる。【選択図】      図２
2004303190.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置を含んで構成される情報処理システムにおける前記情報処理装置に、
前記情報処理システムにおいて実行されるべき処理を定義したポリシーを設定するためのパラメータの入力を受け付けるステップと、
前記パラメータにより設定された前記ポリシーの集合であるポリシーセットが前記情報処理システムの制御方針により適合するように前記ポリシーの前記パラメータを変更するステップと
を実行させるためのプログラム。
【請求項２】
前記情報処理装置を含んで構成される前記情報処理システムは、
データを記憶するストレージ装置と、
前記ストレージ装置に記憶されるデータの複製を記憶するためのバックアップ装置と、
前記ストレージ装置にアクセスするコンピュータと、
前記情報処理装置、前記ストレージ装置、前記バックアップ装置、及び前記コンピュータを相互に接続するためのネットワーク装置と、を備え、
前記ポリシーセットは、前記ストレージ装置、前記コンピュータ、前記バックアップ装置、又は前記ネットワーク装置により実行されるべき処理を定義するための前記ポリシーの集合であることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記ポリシーにより定義される前記情報処理システムにおいて実行されるべき処理は、
前記パラメータにより特定される時刻に、前記パラメータにより特定される前記ストレージ装置が有する記憶領域に記憶されるデータの複製を、前記パラメータにより特定される前記バックアップ装置に記憶する処理、
前記パラメータにより特定される時刻に、前記パラメータにより特定される前記ストレージ装置が有する前記記憶領域に記憶されるデータを用いて、前記パラメータにより特定される前記コンピュータにバッチ処理を実行させる処理、
又は前記パラメータにより特定される前記ストレージ装置が有する前記記憶領域のうち、前記パラメータにより特定される記憶容量の前記記憶領域を、前記パラメータにより特定されるユーザに割り当てる処理、のいずれかを含むことを特徴とする請求項２に記載のプログラム。
【請求項４】
前記情報処理システムの制御方針は、
同一時間帯に、同一の前記バックアップ装置を制御する複数の前記ポリシーが存在しないこと、
同一時間帯に、同一の前記ストレージ装置を制御する複数の前記ポリシーが存在しないこと、
前記ストレージ装置が有する前記記憶領域に記憶されるデータの複製を前記バックアップ装置に記憶する処理は、所定の時刻に開始されること、又は、  前記ユーザに割り当てられる前記ストレージ装置が有する前記記憶領域は、前記ユーザへの前記割り当てが認められた前記記憶領域であることのいずれかを含むことを特徴とする請求項３に記載のプログラム。
【請求項５】
前記パラメータにより設定された前記ポリシーの集合であるポリシーセットが前記情報処理システムの制御方針により適合するように前記ポリシーの前記パラメータを変更する前記ステップは、前記情報処理システムの制御方針に対する前記ポリシーセットの不適合の度合いを数値で表した不適合度数を算出し、前記不適合度数がより小さくなるように前記パラメータを変更するステップであることを特徴とする請求項１に記載のプログラム。
【請求項６】
前記不適合度数は、  前記情報処理システムの制御方針毎に設定される係数に当該情報処理システムの制御方針に適合しない前記ポリシーの組み合わせの数を乗じて求めた数値を、全ての前記情報処理システムの制御方針について加え合わせることにより算出すること
を特徴とする請求項５に記載のプログラム。
【請求項７】
前記情報処理システムにおいて実行されるべき処理を定義したポリシーを設定するためのパラメータの入力を受け付ける前記ステップにおいて、前記パラメータが変更されない前記ポリシーを指定するための入力を受け付け、
前記パラメータにより設定された前記ポリシーの集合であるポリシーセットが前記情報処理システムの制御方針により適合するように前記ポリシーの前記パラメータを変更する前記ステップは、前記ポリシーセットが前記情報処理システムの制御方針により適合するように前記指定されたポリシー以外の前記ポリシーの前記パラメータを変更するステップであることを特徴とする請求項１に記載のプログラム。
【請求項８】
情報処理装置を含んで構成される情報処理システムにおける前記情報処理装置であって、
前記情報処理システムにおいて実行されるべき処理を定義したポリシーを設定するためのパラメータの入力を受け付ける入力受付部と、
前記パラメータにより設定された前記ポリシーの集合であるポリシーセットが前記情報処理システムの制御方針により適合するように前記ポリシーの前記パラメータを変更するパラメータ変更部と
を備えることを特徴とする情報処理装置。
【請求項９】
前記情報処理装置を含んで構成される前記情報処理システムは、
データを記憶するストレージ装置と、
前記ストレージ装置に記憶されるデータの複製を記憶するためのバックアップ装置と、
前記ストレージ装置にアクセスするコンピュータと、
前記情報処理装置、前記ストレージ装置、前記バックアップ装置、及び前記コンピュータを相互に接続するためのネットワーク装置と、を備え、
前記ポリシーセットは、前記ストレージ装置、前記コンピュータ、前記バックアップ装置、又は前記ネットワーク装置により実行されるべき処理を定義するための前記ポリシーの集合であることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記ポリシーにより定義される前記情報処理システムにおいて実行されるべき処理は、
前記パラメータにより特定される時刻に、前記パラメータにより特定される前記ストレージ装置が有する記憶領域に記憶されるデータの複製を、前記パラメータにより特定される前記バックアップ装置に記憶する処理、前記パラメータにより特定される時刻に、前記パラメータにより特定される前記ストレージ装置が有する前記記憶領域に記憶されるデータを用いて、前記パラメータにより特定される前記コンピュータにバッチ処理を実行させる処理、又は前記パラメータにより特定される前記ストレージ装置が有する前記記憶領域のうち前記パラメータにより特定される記憶容量の前記記憶領域を、前記パラメータにより特定されるユーザに割り当てる処理、のいずれかを含むことを特徴とする請求項９記載の情報処理装置。
【請求項１１】
前記情報処理システムの制御方針は、
同一時間帯に、同一の前記バックアップ装置を制御する複数の前記ポリシーが存在しないこと、同一時間帯に、同一の前記ストレージ装置を制御する複数の前記ポリシーが存在しないこと、前記ストレージ装置が有する前記記憶領域に記憶されるデータの複製を前記バックアップ装置に記憶する処理は、所定の時刻に開始されること、又は、前記ユーザに割り当てられる前記ストレージ装置が有する前記記憶領域は、前記ユーザへの前記割り当てが認められた前記記憶領域であることのいずれかを含むことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記パラメータ変更部は、前記情報処理システムの制御方針に対する前記ポリシーセットの不適合の度合いを数値で表した不適合度数を算出し、前記不適合度数がより小さくなるように前記パラメータを変更することを特徴とする請求項８に記載の情報処理装置。
【請求項１３】
前記不適合度数は、
前記情報処理システムの制御方針毎に設定される係数に当該情報処理システムの制御方針に適合しない前記ポリシーの組み合わせの数を乗じて求めた数値を、全ての前記情報処理システムの制御方針について加え合わせることにより算出することを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記入力受付部は、前記パラメータが変更されない前記ポリシーを指定するための入力を受け付け、
前記パラメータ変更部は、前記ポリシーセットが前記情報処理システムの制御方針により適合するように前記指定されたポリシー以外の前記ポリシーの前記パラメータを変更することを特徴とする請求項８に記載の情報処理装置。
【請求項１５】
情報処理装置を含んで構成される情報処理システムにおける前記情報処理装置の制御方法であって、
前記情報処理装置が、前記情報処理システムにおいて実行されるべき処理を定義したポリシーを設定するためのパラメータの入力を受け付けるステップと、
前記情報処理装置が、前記パラメータにより設定された前記ポリシーの集合であるポリシーセットが前記情報処理システムの制御方針により適合するように前記ポリシーの前記パラメータを変更するステップとを備えることを特徴とする情報処理装置の制御方法。
【請求項１６】
請求項１に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１７】
前記パラメータを変更するステップは、前記情報処理システムに含まれる前記ストレージ装置、前記バックアップ装置、前記コンピュータ及び前記ネットワーク装置ネットワーク装置のうち少なくとも一つに関する稼働性能情報をさらに用いて前記情報処理システムの制御方針により適合するように、前記パラメータを変更することを特徴とする請求項２に記載のプログラム。
【請求項１８】
前記制御方針の指定の入力を受け付けるステップと、前記パラメータを変更するステップは、前記指定された制御方針に適合するよう前記パラメータを変更することを特徴とする請求項１に記載のプログラム。
【請求項１９】
前記情報処理システムに含まれる前記ストレージ装置、前記バックアップ装置、前記コンピュータ及び前記ネットワーク装置ネットワーク装置のうち少なくとも一つに関する稼働性能情報を取得する取得部を更に有し、
前記パラメータ変更部は、前記取得した稼働性能情報を用いることを特徴とする請求項８に記載の情報処理装置。
【請求項２０】
前記入力受付部は、前記適用されるべき情報処理システムの制御方針の指定の入力を受け、
前記パラメータ変更部は、前記指定された制御方針に適合するよう前記ポリシーのパラメータを変更することを特徴とする請求項８記載の情報処理装置。
【請求項２１】
前記パラメータの変更部の処理を指示する実行指示部を更に有し、前記指示により前記パラメータ変更部の処理を行なうことを特徴とする請求項２０記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置、情報処理装置の制御方法、及び記録媒体に関する。
【背景技術】
【０００２】
近年情報技術が進歩し、情報処理システムの高度化、大型化が進んでいる。それに伴い、システムの管理作業量の増大、管理内容の複雑化、高度化が進んでいる。
かかる情報処理システムの管理負担を軽減するために、管理作業内容をポリシーとして定義することにより、容易に情報処理システムの管理を行うことができる技術が開発されている。（特許文献１参照）
【０００３】
【特許文献１】特開２０００−２４４４９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら従来の技術では、システム内の個々の管理対象に対してポリシーを設定することによりシステム管理作業の負担軽減を図ることはできるものの、ポリシーの設定内容の誤りや、他のポリシーとの相互関係における不整合や矛盾等を検出することはできなかった。そのためシステム管理者は当該システムに設定されている全体のポリシーを考慮して不整合や矛盾を見つけだし、回避する作業を行う必要があった。大規模な情報処理システムにおいてはかかる作業は大きな負担となっていた。
本発明は上記課題を鑑みてなされたものであり、プログラム、情報処理装置、情報処理装置の制御方法、及び記録媒体を提供することを主たる目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係るプログラムは、情報処理装置を含んで構成される情報処理システムにおける前記情報処理装置に、前記情報処理システムにおいて実行されるべき処理を定義したポリシーを設定するためのパラメータの入力を受け付けるステップと、前記パラメータにより設定された前記ポリシーの集合であるポリシーセットが前記情報処理システムの制御方針により適合するように前記ポリシーの前記パラメータを変更するステップとを実行させる。
【０００６】
ここで、ポリシーとはジョブ（情報処理システムにおいて実行されるべき処理）を定義した情報をいう。また情報処理装置の制御方針とはポリシーセットに課せられる条件をいう。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【０００７】
プログラム、情報処理装置、情報処理装置の制御方法、及び記録媒体を提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【実施例１】
【０００９】
まず、実施例１に係る情報処理システムの全体構成を示すブロック図を図１に示す。
業務クライアント１１０が基幹ＬＡＮ（Local Area Network）４００を通じて業務サーバ（ストレージ装置にアクセスするコンピュータ）１００に接続されている。業務サーバ１００及び業務クライアント１１０はＣＰＵ（Central Processing Unit）やメモリ、入出力装置等を備えたコンピュータである。これにより業務クライアント１１０は業務サーバ１００により提供される情報処理サービスを受けることができる。また基幹ＬＡＮ４００はインターネットのような公共的なネットワークとすることもできるし、プライベートなネットワークとすることもできる。
【００１０】
業務サーバ１００により提供される情報処理サービスは特定のサービスに限定されるものではない。例えば銀行の自動預金預け払いサービスやインターネットのホームページ閲覧サービスのようなオンラインサービスを始め、科学技術分野における実験シミュレーションを行うバッチ処理サービス等、様々なものが考えられる。
【００１１】
業務サーバ１００は、ＦＣ−ＳＷ１（Fibre Channel-Switch１、ネットワーク装置）５００を介してストレージシステム（ストレージ装置）６００及びテープデバイス（バックアップ装置）９００に接続されている。ＦＣ−ＳＷ１（５００）は、業務サーバ１００とストレージシステム６００及びテープデバイス９００間をＳＡＮ（Storage Area Network）で接続するために用いられるスイッチである。
【００１２】
ストレージシステム６００は、業務サーバ１００が業務クライアント１１０に情報処理サービスを提供する際に必要とする記憶リソースを提供する。記憶リソースはストレージシステム６００が備えるディスクドライブにより提供される物理的な記憶領域上に論理的に設定される記憶領域である論理ボリューム（以下ボリュームとも記す）６１０に記憶されている。実施例１においてはストレージシステム１（６００）にボリューム００１（Volume001）及びボリューム００２（Volume002）が設定され、ストレージシステム２（６００）にボリューム００３（Volume003）が設定されている。ディスクドライブとしては、例えば(SCSIやIDE接続等で)サーバに直結したハードディスク装置やフレキシブルディスク装置、半導体記憶装置等様々なものを用いることができる。
【００１３】
なお、ストレージシステム６００は複数のディスクドライブによりディスクアレイを構成するようにすることもできる。この場合、業務サーバ１００に対して提供される記憶領域は、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）により管理された複数のディスクドライブにより提供されるようにすることもできる。
【００１４】
ＮＡＳ（Network Attached Storage）６２０は、ファイルシステムを備えており、ストレージシステム６００と同様、業務サーバ１００に対して記憶領域を提供する。基幹ＬＡＮ４００を通じて業務サーバ１００からファイル単位でのデータアクセス要求を受け付ける。
【００１５】
管理サーバ（情報処理装置）２００は、管理ＬＡＮ４１０を介して業務サーバ１００、ＦＣ−ＳＷ１（５００）、ストレージシステム６００、ＮＡＳ６２０及びテープデバイス９００に接続されている。管理ＬＡＮ４１０は基幹ＬＡＮ４００と同様、インターネットのような公共的なネットワークとすることもできるし、プライベートなネットワークとすることもできる。管理サーバ２００はＣＰＵやメモリ、入出力装置等を備えたコンピュータである。管理サーバ２００はストレージシステム６００等と共に情報処理システムを構成する。
【００１６】
管理サーバ２００は情報処理システムの保守・管理を行うためのコンピュータである。例えば、ストレージシステム６００を業務サーバ１００から使用できるようにするための設定や、ＳＡＮの設定、業務サーバ１００にバッチ処理を実行させるための設定、ストレージシステム６００に記憶されるデータのバックアップをテープデバイス９００に記憶させる処理等を行うために使用される。
【００１７】
管理ＬＡＮ４１０は基幹ＬＡＮ４００と接続されているようにすることもできるし、接続されないようにすることもできる。さらに管理サーバ２００の機能を業務サーバ１００や業務クライアント１１０に備えるようにすることにより、業務サーバ１００や業務クライアント１１０から情報処理システムの保守・管理等を直接行えるようにした形態とすることもできる。
【００１８】
次に、実施例１に係る管理サーバ２００の構成を示すブロック図を図２に示す。
管理サーバ２００は、ＣＰＵ２０１、メモリ２０２、ＬＡＮ  Ｉ／Ｆ（LAN InterFace）２０３、記録媒体読取装置２０４、入力装置２０５、出力装置２０６、記憶装置２０８を備える。
【００１９】
ＣＰＵ２０１は管理サーバ２００の全体の制御を司るもので、記憶装置２０８に格納されたポリシー管理プログラム３００を適宜メモリ２０２に読み出して実行することにより実施例１に係る各種機能を実現する。記録媒体読取装置２０４は、記録媒体２０７に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ２０２や記憶装置２０８に格納される。従って、例えば記録媒体２０７に記録されたポリシー管理プログラム３００を、記録媒体読取装置２０４を用いて上記記録媒体２０７から読み取って、メモリ２０２や記憶装置２０８に格納するようにすることができる。記録媒体２０７としてはフレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等を用いることができる。記録媒体読取装置２０４は管理サーバ２００に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置２０８にはポリシー管理プログラム３００、ポリシー定義７００、構成定義８００が記憶されている。詳細については後述する。記憶装置２０８は、例えばハードディスク装置やフレキシブルディスク装置、半導体記憶装置等である。入力装置２０５はオペレータ等による管理サーバ２００へのデータ入力等のために用いられる。
【００２０】
入力装置２０５としては例えばキーボードやマウス等が用いられる。出力装置２０６は情報を外部に出力するための装置である。出力装置２０６としては例えばディスプレイやプリンタ等が用いられる。ＬＡＮ  Ｉ／Ｆ２０３は業務サーバ（サーバ機器）１００やＦＣ−ＳＷ１（ネットワーク機器）（５００）、ストレージシステム（ストレージ機器）６００、テープデバイス（ストレージ機器）９００と通信を行うための装置である。また図示されていない他のコンピュータとの間で通信を行うために使用することもできる。この場合、例えばポリシー管理プログラム３００をＬＡＮ  Ｉ／Ｆ２０３を介して他のコンピュータから受信して、メモリ２０２や記憶装置２０８に格納するようにすることもできる。
【００２１】
ポリシー管理プログラム３００は、情報処理システムの保守・管理を行う際にオペレータにより設定されるポリシーの集合であるポリシーセットがグローバルポリシー（情報処理システムの制御方針）に適合するかどうかを検査し、適合しない場合には、より適合するようにポリシーの内容を変更する機能を管理サーバ２００に実現させるためのプログラムである。管理サーバ２００により実現される機能を示す図を図１８に示す。ここでポリシーとはジョブ（実行されるべき処理）を定義した情報をいう。またグローバルポリシーとは、ポリシーセットに課せられる条件をいう。
【００２２】
オペレータが管理サーバ２００に対して情報処理システム内の各機器に行わせるべき処理（ジョブ）をポリシーとして定義すると、ポリシーに従った処理が各機器において行われるように、各機器を制御するコマンドが管理サーバ２００により実行される。例えばオペレータにより「毎週月曜日の午前３時にボリューム００１（６１０）のデータをテープデバイス１（９００）にバックアップする」というポリシーが設定されると、管理サーバ２００はこのポリシーに従った処理が行われるようにボリューム６１０やテープデバイス９００を制御するためのコマンドを実行する。このように、ポリシーを用いて情報処理システムの保守・管理作業を行うことにより、情報処理システムの保守・管理作業が容易化され、作業効率の向上が図られている。
【００２３】
しかし、情報処理システムの規模が大きい場合などにはオペレータが設定すべきポリシーの数及び種類が莫大なもとのなるため、保守・管理作業は複雑化する。例えばバックアップすべきボリューム６１０が数多く存在する場合には、多数のポリシーを設定する必要があるが、ポリシーの設定を誤ると、同時刻に異なるボリューム６１０から同一のテープデバイス９００に対してデータの書き込みが行われるといった矛盾した内容のポリシーの設定が行われる場合もある。また同時刻に数多くのバックアップ処理が行われると、ＦＣ−ＳＷ１（５００）を大量のデータが通過する結果、ＦＣ−ＳＷ１（５００）の処理能力を超過する場合も考えられる。
【００２４】
そのため実施例１に係るポリシー管理プログラム３００は、オペレータにより設定されるポリシーがグローバルポリシーに適合しているかどうかを検査し、ポリシーの内容がよりグローバルポリシーに適合するように変更する。ポリシー定義７００は、オペレータにより設定されるポリシーやグローバルポリシーを定義するためのテーブルの集合である。構成定義８００は、ポリシーが設定される情報処理システムの機器構成を定義するためのテーブルの集合である。
【００２５】
次に、実施例１に係るポリシー管理プログラム３００を実行する管理サーバ２００により行われる制御について説明する。まず情報処理システムの構成機器を示すブロック図を図３に示す。
管理サーバ２００は、ストレージシステム１（ＲＡＩＤ１）６００、ストレージシステム２（ＲＡＩＤ２）６００、テープデバイス１（ＴＡＰＥ１）９００、テープデバイス２（ＴＡＰＥ２）９００、業務サーバ（ＨＯＳＴ１）１００、及びＦＣ−ＳＷ１（５００）に対する制御を行う。これらの各装置は図１において説明したのと同様の機能を有するものである。
【００２６】
実施例１においては、図４に示すウインドウ画面が管理サーバ２００の出力装置２０６の一つであるディスプレイ装置２０６に表示される。ウインドウ画面には、ポリシー表示欄７０１と、グローバルポリシー表示欄７０２と、ポリシー違反度数（不適合度数）表示欄と、チューニング（Tuning）実行指示欄と、ＯＫ指示欄とが表示されている。
ポリシー表示欄７０１は、”Policy ID”欄と、”Policy”欄と、”固定する”欄と、”固定しない”欄とを有している。
”Policy ID”欄はポリシーに付される識別番号を表示するための欄である。
【００２７】
”Policy”欄はポリシーを設定するための欄である。図４の例では「ボリューム００１を毎週月曜日午前３時にテープ１にバックアップする」、「ボリューム００２を毎週月曜日午前３時にテープ２にバックアップする」、「ボリューム００３を毎週月曜日午前３時にテープ１にバックアップする」、「バッチジョブ（ボリューム００３）を毎週月曜日午前３時３０分にホスト１から実行する」、「ユーザＡの領域（５００メガバイト）をボリューム００２に作成する」、「ユーザＢの領域（５００メガバイト）をボリューム００３に作成する」の６つのポリシーが設定されている。そしてこの６つのポリシーでポリシーセットが構成されている。それぞれのポリシーのうち、ボリューム（例えば、Policy ID=1の”ボリューム００１”）、スケジュール（例えば、Policy ID=1の”毎週月曜日午前３時”）、テープデバイス（例えば、Policy ID=1の”テープ１”）、ホスト（例えば、Policy ID=4の”ホスト１”）、ユーザ（例えば、Policy ID=5の”ユーザＡ”）は各ポリシーのパラメータである。
【００２８】
同タイプのポリシー（例えば、バックアップを行うポリシー）でも、パラメータが異なれば別のポリシーとなる。すなわちPolicy ID１乃至３はいずれも「パラメータにより特定される時刻に、パラメータにより特定されるストレージ装置が有する記憶領域に記憶されるデータの複製を、パラメータにより特定されるバックアップ装置に記憶する」ものであり、Policy ID４は「パラメータにより特定される時刻に、パラメータにより特定されるストレージ装置が有する記憶領域に記憶されるデータを用いて、パラメータにより特定されるコンピュータにバッチ処理を実行させる」ものである。またPolicy ID５及び６は、「パラメータにより特定されるストレージ装置が有する記憶領域のうち、パラメータにより特定される記憶容量の記憶領域を、パラメータにより特定されるユーザに割り当てる」ものである。
【００２９】
各ポリシーのパラメータのうち、図４に示されている下向き三角部分を含む四角枠で囲まれた部分については、内容を変更することができるようになっている。もちろん他のパラメータの内容を変更可能なようにすることもできる。具体的には例えばオペレータが下向き三角部分をマウス等の入力装置（パラメータの入力を受け付ける手段）２０５を用いてクリックするとサブウインドウが開き、パラメータの内容を変更することができるようになっている。またキーボード等の入力装置２０５を用いて直接パラメータを入力するようにすることもできる。さらに、チューニング実行指示欄をマウス等の入力装置２０５を用いてクリックすると、ポリシー管理プログラム３００を実行する管理サーバ２００により、Policy ID１乃至６の各ポリシーがグローバルポリシーに適合するかどうかが検査され、適合しない場合にはパラメータの内容が変更される。なお図６に各ポリシーの内容を示した一覧表７０１を示す。
【００３０】
図４に戻って、”固定する”欄と、”固定しない”欄は、チューニング実行指示欄をマウス等によりクリックした際に、管理サーバ２００によるパラメータの内容の変更を許可するか、しないかを指定するための欄である。すなわち”固定する”を選択すると、チューニング実行指示欄をマウス等によりクリックしても、当該ポリシーのパラメータは管理サーバ２００により変更されない。固定しない”を選択すると、チューニング実行指示欄をマウス等によりクリックした場合に、当該ポリシーのパラメータは管理サーバ２００により変更される場合がある。
【００３１】
グローバルポリシー表示欄７０２は、”Global Policy ID”欄と、”Global Policy”欄と、”違反”欄とを有している。
”Global Policy ID”欄は、グローバルポリシーに付される識別番号を表示するための欄である。
【００３２】
”Global Policy”欄は、グローバルポリシーを表示するための欄である。図４の例では、「同じ時間帯に同じテープデバイスを利用しない」、「同じ時間帯に同じストレージデバイスを利用しない」、「毎週月曜日午前３時にストレージボリュームをテープデバイスにバックアップする」、「ユーザのサービスに合ったボリュームの割り当てをする」の４つのグローバルポリシーが表示されている。
これらのグローバルポリシーはそれぞれ「同一時間帯に、同一のバックアップ装置を制御する複数のポリシーが存在しない」、「同一時間帯に、同一のストレージ装置を制御する複数のポリシーが存在しない」、「ストレージ装置が有する記憶領域に記憶されるデータの複製をバックアップ装置に記憶する処理は、所定の時刻に開始されること」、「ユーザに割り当てられるストレージ装置が有する記憶領域は、ユーザへの割り当てが認められた記憶領域であること」に相当する。
【００３３】
”違反”欄は、各グローバルポリシーに適合しないポリシーを表示するための欄である。図４の例ではGlobal Policy ID１についてはPolicy ID１と３とが適合しない。なぜなら、どちらのポリシーも月曜日午前３時からテープデバイス１を利用するからである。またGlobal Policy ID２についてはPolicy ID３と４とが適合しない。どちらのポリシーも月曜日午前３時３０分からボリューム００３を利用するからである（図４には明示されていないが、Policy ID３のバックアップ処理は終了するまで１時間かかる。図１２において説明する）。またGlobal Policy ID３については全てのポリシーが適合する。すなわちPolicy ID１乃至３により、ボリューム００１乃至００３のバックアップが月曜日午前３時に行われるからである。またGlobal Policy ID４についてはPolicy ID５と６との２つが適合しない。詳細は後述するが、ユーザＡに割り当てが認められたボリュームはボリューム００１であり、ユーザＢに割り当てが認められたボリュームはボリューム００２であるからである。
【００３４】
ポリシー違反度数（不適合度数）表示欄は、グローバルポリシーに対するポリシーセットの不適合の度合いを数値で表した不適合度数を表示するための欄である。不適合度数は、グローバルポリシー毎に設定される係数に、当該グローバルポリシーに適合しないポリシーの組み合わせの数を乗じて求めた数値を、全てのグローバルポリシーについて加え合わせることにより算出される。なお、ここでポリシーの組み合わせとは、複数のポリシーで一つの組み合わせを構成する場合の他、１つのポリシーで１つの組み合わせを構成する場合も含まれる。
【００３５】
すなわち、図４には明示していないがGlobal Policy ID１乃至４にはそれぞれ係数１０、８、４、６が設定されている。そして上述したように、Global Policy ID１に適合しないポリシーは１組（Policy ID１と３）、Global Policy ID２に適合しないポリシーは１組（Policy ID３と４）、Global Policy ID３に適合しないポリシーは０組、Global Policy ID４に適合しないポリシーは２組（Policy ID５及び６）であるから、不適合度数は（10×1）＋（8×1）＋（4×0）＋（6×2）＝30となる。各グローバルポリシーに設定される係数（重み）及び各グローバルポリシーの内容を示す一覧表を図６に示す。
【００３６】
なお実施例１においては、グローバルポリシーに対するポリシーセットの不適合の度合いを不適合度数により表すようにしているが、適合の度合いを適合度数により表すようにすることもできる。適合度数は、例えばグローバルポリシー毎に設定される係数に、当該グローバルポリシーに適合するポリシーの組み合わせの数を乗じて求めた数値を、全てのグローバルポリシーについて加え合わせることにより算出するようにすることができる。
【００３７】
図４に戻って、オペレータがチューニング実行指示欄をマウス等の入力装置２０５を用いてクリックすると、各ポリシーがグローバルポリシーに適合するかどうかが検査される。そして適合しない場合には各ポリシーのパラメータが変更されると共に、ポリシー違反度数表示欄に表示される不適合度数が再計算される。幾度かのチューニングの後、ポリシーセットの内容にオペレータが納得した場合には、ＯＫ指示欄をマウス等の入力装置２０５でクリックする。これによりポリシーセットの内容が確定し、各ポリシーに従った処理が情報処理システム内の各機器において行われるように、各機器を制御するコマンドが管理サーバ２００により実行される。
【００３８】
図４においてチューニング実行指示欄をマウス等の入力装置２０５を用いてクリックした場合に各ポリシーが変更される様子を示した図を図５に示す。
すなわち図５においては、Policy ID１の実行スケジュールが午前３時から午前２時に変更され、Policy ID４の実行スケジュールが午前３時３０分から午前４時に変更され、Policy ID５のボリュームがボリューム００１に変更され、Policy ID６のボリュームがボリューム００２に変更されている。
これにより、Global Policy ID１、２、及び４に適合しないポリシーはなくなった。しかし、Policy ID１がGlobal Policy ID３に適合しないことになったため、不適合度数は４（（10×0）＋（8×0）＋（4×1）＋（6×0）＝4）となった。ポリシー違反度数表示欄には４が表示されている。
【００３９】
次に、ポリシー定義７００及び構成定義８００を示す図を図７に示す。ポリシー定義７００は、グローバルポリシー定義７１０、ポリシータイプ定義７２０、ポリシー定義７３０、ポリシーリソース対応定義７４０、チューニングパラメタ定義７５０を備える。構成定義８００は、リソースタイプ定義８１０、リソース定義８２０、トポロジ定義８３０を備える。
【００４０】
リソースタイプ定義８１０は情報処理システムを構成する各装置すなわち管理対象の型を定義するためのテーブルである。実施例１に係るリソースタイプ定義８１０を図８に示す。
実施例１に係るリソースタイプ定義８１０は、”Resource Type”欄と、”Child Resource Type”欄とを備える。
【００４１】
”Resource Type”欄には、管理対象の型が定義されている。実施例１においては、”％STORAGE％”、”％RAID％”、”％VOLUME％”、”％HOST％”、”％FC-SW％”、”％USER％”が定義されている。”％STORAGE％”はストレージ機器、すなわちストレージシステム１（６００）及びストレージシステム２（６００）を含む記憶装置の全体を定義したものである。”％RAID％”はストレージ機器に含まれる各ストレージ装置、すなわちストレージシステム１（６００）またはストレージシステム２（６００）を定義したものである。”％VOLUME％”はストレージ装置に設定されるボリューム、すなわちストレージシステム１（６００）またはストレージシステム２（６００）内に設定されるボリューム６１０を定義したものである。”％HOST％”はサーバ機器、すなわち業務サーバ（ＨＯＳＴ１）１００を定義したものである。”％FC-SW％”はネットワーク機器、すなわちＦＣ−ＳＷ１（５００）を定義したものである。”％USER％”は、業務サーバ１００や、業務クライアント１１０、管理サーバ２００を通じて情報処理システムにより提供される各種資源（ボリューム６１０等）を利用する者を定義したものである。
【００４２】
”Child Resource Type”欄は、”Resource Type”に定義された管理対象に含まれる管理対象を定義するための欄である。すなわち、”％STORAGE％”には”％RAID％”が含まれる。”％RAID％”には”％VOLUME％が含まれる。”％VOLUME％”、”％HOST％”、”％FC-SW％”、”％USER％”に含まれる管理対象はない。
【００４３】
リソース定義８２０は、リソースタイプ定義８１０により定義された管理対象の型にあてはまる実際の管理対象（例えば、情報処理システムを構成する装置や人等）を定義するためのテーブルである。またトポロジ定義８３０は、リソースタイプ定義８１０により定義された管理対象の型にあてはまる実際の管理対象のトポロジを定義するためのテーブルである。実施例１に係るリソース定義８２０及びトポロジ定義８３０を図９に示す。
【００４４】
実施例１に係るリソース定義８２０及びトポロジ定義８３０は、”Resource Name”欄と、”Resource Type”欄と、”Parent Resource”欄と、”管理ドメイン”欄、”Service”欄とを備える。これらのうち”管理ドメイン”欄がトポロジ定義８３０に相当する欄である。
【００４５】
”Resource Name”欄は、実際の管理対象を定義するための欄である。実施例１においては”Volume001（６１０）”、”Volume002（６１０）”、”Volume003（６１０）”、”RAID1（６００）”、”RAID2（６００）”、”FC-SW1（５００）”、”TAPE1（９００）”、”TAPE2（９００）”、”Host1（１００）”、”UserA”、”UserB”である。”Resource Type”欄は、”Resource Name”欄に記載された各管理対象の型を定義するための欄である。”Parent Resource”欄は、各管理対象に対する上位の管理対象を定義するための欄である。”管理ドメイン”欄は各管理対象が属するドメインの名称を定義するための欄である。
【００４６】
実施例１においては全ての管理対象が”Stor1”という名称の管理ドメインに所属している。管理対象を複数の管理ドメインに区分するようにすれば、管理ドメイン毎に各管理対象に対する管理を行うことができる。”Service”欄は、各管理対象に対して与えられる権限を定義するための欄である。例えば、”UserA”には、”Gold”で特定される権限が与えられ、”UserB”には、”Silver”で特定される権限が与えられる。この場合、例えば”UserA”が”Volume002（６１０）”を使用することはできない。なぜなら、”UserA”は”Volume002（６１０）”に与えられている”Silver”で特定される権限を持っていないからである。
【００４７】
グローバルポリシー定義７１０は、グローバルポリシーを定義するためのテーブルである。実施例１に係るグローバルポリシー定義７１０を図１０に示す。
【００４８】
実施例１に係るグローバルポリシー定義７１０は、”Global Policy ID”欄、”条件式”欄、”Policy Type ID”欄、”重み付け”欄を備える。”Global Policy ID”欄は、グローバルポリシーに付される識別番号を定義するための欄である。
【００４９】
”条件式”欄は、グローバルポリシーの内容を定義するための欄である。実施例１においては、Global Policy ID１には「R1[％TAPE_DEVICE％]!= R2[％TAPE_DEVICE％]|| R1[％SCHEDULE％]!〜R2[％SCHEDULE％]」が定義されている。「R1[]!=R2[]」は、異なる２つのポリシーの中の[]内に表示されるパラメータ（この場合は％TAPE_DEVICE％）の内容を比較し、一致しない場合にTrue（真）となる論理式である。また「R1[]!〜R2[]」は、異なる２つのポリシーの中の[]内に表示されるパラメータ（この場合は％SCHEDULE％）の内容を比較し、内容が重複しない場合にTrue（真）となる論理式である。上記２つの論理式を繋ぐ「||」は、ORを表す。よってGlobal Policy ID１により「同じ時間帯に同じテープデバイスを利用しない」という条件をポリシーセットに課すことができる。
【００５０】
Global Policy ID２には「R1[％RAID％]!= R2[％RAID％]|| R1[％SCHEDULE％]!〜R2[％SCHEDULE％]」が定義されている。Global Policy ID２により「同じ時間帯に同じストレージデバイスを利用しない」という条件をポリシーセットに課すことができる。
【００５１】
Global Policy ID３には「R1[％SCHEDULE％]!==at Mon 03:00」が定義されている。これは、”％SCHEDULE％”により特定される時刻が月曜日の午前３時ではない場合にTrue（真）となる論理式である。従ってこのグローバルポリシーを「パラメータにより特定される時刻に、パラメータにより特定されるストレージ装置が有する記憶領域に記憶されるデータの複製を、パラメータにより特定されるバックアップ装置に記憶する」との定義がなされたポリシーの集合であるポリシーセットに適用することにより、「ストレージ装置が有する記憶領域に記憶されるデータの複製をバックアップ装置に記憶する処理は、所定の時刻に開始されること」という条件をポリシーセットに課すことができる。
【００５２】
Global Policy ID４には「R1[％USER％.Service]==R2[％VOLUME％.Service]」が定義されている。これは、”％USER％”により特定されるユーザに与えられる権限が、”％VOLUME％”により定義されるボリューム６１０に与えられる権限と等しい場合にTrue（真）となる論理式である。ユーザやボリューム６１０に与えられる権限は、図９に示すリソース定義８２０を参照することにより知ることができる。従ってこのグローバルポリシーを「パラメータにより特定されるストレージ装置が有する記憶領域のうち、パラメータにより特定される記憶容量の記憶領域を、パラメータにより特定されるユーザに割り当てる」との定義がなされたポリシーの集合であるポリシーセットに適用することにより、「ユーザに割り当てられるストレージ装置が有する記憶領域は、ユーザへの割り当てが認められた記憶領域であること」という条件をポリシーセットに課すことができる。
【００５３】
”Policy Type ID”欄は、グローバルポリシーが適用されるポリシータイプを定義するための欄である。ポリシータイプ定義７２０について図１１を参照しながら説明する。
ポリシータイプ定義７２０は、ポリシーの型を定義するためのテーブルである。ポリシーの型の個々のパラメータに具体的な内容を設定することにより、ポリシーを設定することができる。実施例１においては３つのポリシーの型が定義されている。すなわち”Tape Backup”、”BatchJob_A”及び”VolumeAllocate”である。”Tape Backup”は、パラメータ（％SCHEDULE％）により特定される時刻に、パラメータ（％VOLUME％）により特定されるストレージ装置が有する記憶領域に記憶されるデータの複製を、パラメータ（％TAPE_DEVICE％）により特定されるバックアップ装置に記憶するものである。”BatchJob_A”は、パラメータ（％SCHEDULE％）により特定される時刻に、パラメータ（％VOLUME％）により特定されるストレージ装置が有する記憶領域に記憶されるデータを用いて、パラメータ（％HOST％）により特定される前記コンピュータにバッチ処理を実行させるものである。”VolumeAllocate”は、パラメータ（％VOLUME％）により特定されるストレージ装置が有する記憶領域のうち、パラメータ（”500”）により特定される記憶容量の記憶領域を、パラメータ（％USER％）により特定されるユーザに割り当てるものである。各ポリシータイプのパラメータは”実行コマンド”欄、”実行ホスト”欄、”スケジュール”欄により定義されている。
【００５４】
起動条件欄における「スケジュール起動」とは、％SCHEDULE％パラメータにより特定されるスケジュールに基づいて当該ポリシーが実行されることを表す。「スケジュール起動」の他には例えば「イベント起動」、「即時起動」を設定することが可能である。「イベント起動」とは所定のイベントが発生した場合にポリシーを実行させるものである。例えば所定の障害が発生した場合にポリシーを実行させるようにすることができる。「即時起動」とは即時に実行させるものである。
【００５５】
図１０に戻って、上述のように”Policy Type ID”欄により各グローバルポリシーには当該グローバルポリシーが適用されるポリシータイプが定義されている。
【００５６】
”重み付け”欄は、グローバルポリシーに対するポリシーセットの不適合度数を算出する際に用いられる、グローバルポリシー毎に設定される係数を定義するための欄である。実施例１においては、Global Policy ID１に対しては係数１０が、Global Policy ID２に対しては係数８が、Global Policy ID３に対しては係数４が、Global Policy ID４に対しては係数６がそれぞれ設定されている。
【００５７】
ポリシー定義７３０及びポリシーリソース対応定義７４０は、ポリシーを定義するためのテーブルである。ポリシーの定義は、ポリシーの型の個々のパラメータに具体的な内容を設定することにより行うことができる。実施例１に係るポリシー定義７３０及びポリシーリソース対応定義７４０を図１２に示す。
【００５８】
実施例１に係るポリシー定義７３０は、”Policy ID”欄、”Policy Type ID”欄、”％SCHEDULE％”欄、”％VOLUME％”欄、”％USER％”欄、”％HOST％”欄、”％TAPE_DEVICE％”欄、”固定”欄を有する。これらのうち、”％VOLUME％”欄、”％USER％”欄、”％HOST％”欄、”％TAPE_DEVICE％”欄がポリシーリソース対応定義７４０に相当する欄である。
【００５９】
”Policy ID”欄は、ポリシーに付される識別番号を定義するための欄である。”Policy Type ID”欄は当該ポリシーの型を表す欄である。実施例１においてはPolicy ID１乃至３の型は、Policy Type１すなわち「Tape Backup」であることが記されている。またPolicy ID４の型は、Policy Type２すなわち「BatchJob_A」であることが記されている。またPolicy ID５及び６の型は、Policy Type３すなわち「VolumeAllocate」であることが記されている。
【００６０】
”％SCHEDULE％”欄、”％VOLUME％”欄、”％USER％”欄、”％HOST％”欄、及び”％TAPE_DEVICE％”欄は、各ポリシーを定義するためのパラメータの値を定義するための欄である。”％SCHEDULE％”欄には、当該ポリシーの実行を開始する時刻及び処理時間が記載される。例えばPolicy ID１の場合には、月曜日の午前3時に実行を開始し、処理時間が１時間であることが記されている。”％VOLUME％”欄には、当該ポリシーを実行する際に用いられるボリューム６１０が記載される。”％USER％”欄には、当該ポリシーに関わるユーザが記載される。”％HOST％”欄には、当該ポリシーを実行する際に用いられる業務サーバ１００が記載される。”％TAPE_DEVICE％”欄には、当該ポリシーを実行する際に用いられるテープデバイス９００が記載される。
【００６１】
”固定”欄は、チューニング実行時に各パラメータの変更を行うか、行わないかを指定するための欄である。固定”しない”の場合には、チューニング実行時に適宜各パラメータの値が変更される。固定”する”の場合には、チューニング実行時に各パラメータの値は変更されない。
【００６２】
チューニングパラメタ定義７５０は、図１１に示す各ポリシータイプの各パラメータのうち、チューニング実行時に変更を行うパラメータを指定するための欄である。実施例１に係るチューニングパラメタ定義７５０を図１３に示す。
【００６３】
実施例１に係るチューニングパラメタ定義７５０は、”Global Policy ID”欄と、”Policy Type ID”欄と、”Tuning Parameter Type”欄とを備える。すなわち、各グローバルポリシーを適用するポリシータイプ毎に、チューニング実行時に変更するパラメータを指定する。図１３に示す例では、例えばPolicy Type１にGlobal Policy１を適用してチューニングを実行する場合には、％SCHEDULE％と、％TAPE_DEVICE％とが変更の対象とされる。
【００６４】
次に、実施例１に係るポリシーの設定を行うための処理を示すフローチャートを図１４に示す。なお以下の処理は、実施例１に係る各種の動作を行うためのコードから構成されるポリシー管理プログラム３００を、ＣＰＵ２０１が実行することにより実現される。
【００６５】
まずポリシーを生成する（S1000）。ポリシーの生成は各ポリシータイプの各パラメータに値が設定されてゆくことにより行われる。すなわち、図４に示すウインドウ画面においてオペレータにより入力された各パラメータの値を受け付け、図１２に示すポリシー定義７３０に登録することにより行われる。
【００６６】
続いて、ポリシーの集合であるポリシーセットがグローバルポリシーに適合するかどうかの検査を行う。まずグローバルポリシーを用いて各ポリシー（ポリシーセット）の矛盾、違反（不適合）を検出する（S1001）。すなわちＣＰＵ２０１は、図１０に示したグローバルポリシー定義７１０に記載されている”Policy Type ID”欄に指定されるポリシータイプに属する各ポリシーに対して、条件式へのあてはめを行う。そして、矛盾や違反したグローバルポリシーに属するポリシータイプを抽出し、該当するポリシーを特定する（S1002）。具体的には、Global Policy ID１の場合には、Policy Type ID１に属するPolicy ID１乃至３の各ポリシーに対して条件式への当てはめを行う。そうすると、Policy ID１と３とをあてはめた場合に条件式がFalse（偽）となることが分かる。これによりPolicy ID１と３とは、Global Policy１には適合していないことが判明する。同様にGlobal Policy ID２の場合には、Policy Type ID１とPolicy Type ID２に属するPolicy ID１乃至４の各ポリシーに対して条件式への当てはめを行う。そうすると、Policy ID３と４とをあてはめた場合に条件式がFalse（偽）となることが分かる。これによりPolicy ID３と４とは、Global Policy２には適合していないことが判明する。またGlobal Policy ID３の場合には、Policy Type ID１に属するPolicy ID１乃至３の各ポリシーに対して条件式への当てはめを行う。そうすると、どのポリシーをあてはめた場合にも条件式はTrue（真）となることが分かる。これにより全てのポリシーがGlobal Policy３には適合していることが判明する。またGlobal Policy ID４の場合には、Policy Type ID３に属するPolicy ID５乃至６の各ポリシーに対して条件式への当てはめを行う。そうすると、Policy ID５及び６のいずれの場合にも条件式がFalse（偽）となることが分かる。これによりPolicy ID５と６とは、Global Policy４には適合していないことが判明する。
【００６７】
次にＣＰＵ２０１（パラメータを変更する手段）は、該当するポリシーに対して抽出されたチューニングパラメータを変更する（S1003）。変更するチューニングパラメータは図１３に示したチューニングパラメタ定義７５０により特定される。すなわち、Global Policy１に適合しなかったPolicy ID１と３に対しては％SCHEDULE％と％TAPE_DEVICE％を変更する。またGlobal Policy２に適合しなかったPolicy ID３に対しては％SCHEDULE％と％TAPE_DEVICE％を変更し、Policy ID４に対しては％SCHEDULE％を変更する。またGlobal Policy４に適合しなかったPolicy ID５及び６に対してはそれぞれ％VOLUME％を変更する。
【００６８】
変更は図１２に示したポリシー定義７３０に基づいて行われる。すなわちＣＰＵ２０１は、Policy ID１と３の％SCHEDULE％を変更する場合には、図１２の記載に基づいてバックアップの処理時間が１時間かかることがわかるので、Policy ID１又は３のいずれかの実行開始時刻を１時間ずらせばGlobal Policy１に適合させることができることを知ることができる。そこでまず、Policy ID１の実行開始時刻を１時間早めるように％SCHEDULE％を変更する。また、Policy ID３と４の％SCHEDULE％を変更する場合には、図１２の記載に基づいてPolicy ID３のバックアップの処理時間が１時間かかり、Policy ID４のバッチ処理の処理時間が２０分かかることがわかるので、Policy ID３の実行開始時刻を３０分早めるか、又はPolicy ID４の実行開始時刻を３０分遅らせれば、Global Policy２に適合させることができることを知ることができる。そこでまず、Policy ID４の実行開始時刻を３０分遅らせるように％SCHEDULE％を変更する。また、Policy ID５と６の％VOLUME％を変更する場合には、図９に示すリソース定義８２０を参照して、ユーザに与えられた権限に合った権限が与えられているボリュームを検索して、該当するボリュームに変更する。このようにしてポリシー定義７３０のパラメータを変更したものを図１５に示す。
【００６９】
続いてグローバルポリシーに対する不適合度数を計算する（S1004）。図１５の例では、Global Policy１と２と４にはどのポリシーも適合するものの、Global Policy３にはPolicy ID１が適合しないことが判明する。不適合度数は、グローバルポリシー毎に設定される係数に、当該グローバルポリシーに適合しないポリシーの組み合わせの数を乗じて求めた数値を、全てのグローバルポリシーについて加え合わせることにより算出されるから、４（（10×0）＋（8×0）＋（4×1）＋（6×0）＝4）と求めることができる。このようにしてＣＰＵ２０１は、不適合度数がより小さくなるように各ポリシーのパラメータを変更してゆく。
【００７０】
チューニング実行時に％TAPE_DEVICE％を変更する場合には、図９に示すリソース定義８２０を参照してTAPE１またはTAPE2に変更することができる。
％SCHEDULE％や％TAPE_DEVICE％等のパラメータを変更する場合には、数多くの組み合わせが存在するが、ＣＰＵ２０１はそれらのパラメータの全ての組み合わせを検索するか、遺伝的アルゴリズム等の手法を用いることにより、一つの組み合わせを選び出して不適合度数を計算する。
【００７１】
なお不適合度数の算出は、図１６又は図１７に示す重み付けテーブルを併用して行うようにすることもできる。すなわち、上記の方法により求めた不適合度数に対して、変更される％SCHEDULE％や％TAPE_DEVICE％等のパラメータに応じて設定される重み付け係数を、さらに加えるようにする。
【００７２】
まず図１６の場合には、例えばGlobal Policy ID１が適用されたPolicy Type ID１のパラメータを変更する際に、％SCHEDULE％を変更する場合には１時間変更する毎に+0.3を加え、％TAPE_DEVICE％をデフォルトで設定されたテープデバイスから変更する場合には+0.5を加える。こうすることにより、オペレータが当初設定したポリシーセットの内容からの違いが大きくなればなるほど不適合度数を大きくすることができる。従って、オペレータが当初設定したポリシーセットの内容に対する変更をなるべく小さくしつつ、グローバルポリシーへより適合したポリシーセットを定義することが可能となる。
【００７３】
また図１７の場合には、テープデバイス毎に重み付けが固定されている。こうすることにより、特定のテープデバイスを用いない場合には不適合度数を大きくすることができる。従って、オペレータが当初設定したポリシーセットの内容に対する変更をなるべく小さくしつつ、グローバルポリシーへより適合したポリシーセットを定義することが可能となる。
【００７４】
以上の処理を異なる組み合わせのパラメータについて十分な回数繰り返し実行し、それぞれの不適合度を求め、ポリシーセットを管理サーバ２００のウインドウ画面に表示する（S1003乃至S1006）。
当該ポリシーセットの内容にオペレータがＯＫと判断したら、ポリシーセットの内容を確定して処理を終了する（S1007）。
【００７５】
以上の処理により、情報処理システムにおける保守・管理業務の際にオペレータにより設定されるポリシーの矛盾や不整合を検出することができるようになった。さらに、より適切なポリシーを見つけだすこともできるようになった。より適切なポリシーは、グローバルポリシーに対する不適合度数と共に管理サーバ２００により提示される。このため、オペレータはグローバルポリシーに対するポリシーセットの不適合の度合いを客観的に把握することが可能となり、管理対象としている情報処理システムに最適なポリシーセットの設定を容易に行うことが可能となった。これにより情報処理システムを管理するオペレータの管理負担を軽減することが可能となった。
【００７６】
また実施例１によれば、管理サーバ２００によるポリシーセットのチューニングの際に、特定のポリシーについてはパラメータの値が変更されないようにしたい場合には、当該ポリシーの内容を変更しない旨の指定を管理サーバ２００に行うことができる。これにより、オペレータの意向を優先させつつ、矛盾や不整合の無いポリシーセットの生成を行うことができるようになった。
【００７７】
さらに、管理サーバ２００によるポリシーセットのチューニングの際に、オペレータが当初設定したパラメータの値から離れる程不適合度数を増加させるように重み付け係数を付加するようにすることにより、オペレータが当初設定したポリシーセットの内容に対する変更をなるべく小さくしつつ、グローバルポリシーへより適合したポリシーセットを定義することもできる。
【００７８】
以上、実施例１により、情報処理システムを管理するオペレータの管理負担を軽減することが可能となった。
以上実施例１について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
以下に他の実施例を示す。
【実施例２】
【００７９】
実施例２に係る情報処理システムの全体構成、および管理サーバ２００の構成は、実施例１に基づくとする。
【００８０】
次に、実施例２に係るポリシー管理プログラム３００を実行する管理サーバ２００により行われる制御について説明する。
【００８１】
まず情報処理システムの構成機器を示すブロック図を図１９に示す。管理サーバ２００は図３に示す構成機器の他、ストレージシステム３(ＲＡＩＤ３)６００、ストレージシステム４（ＲＡＩＤ４）６００、業務サーバ（Ｈｏｓｔ２, Ｈｏｓｔ３, Ｈｏｓｔ４, Ｈｏｓｔ５, Ｈｏｓｔ６, Ｈｏｓｔ７）に対する制御を行う。これらの各装置は図１において説明したものと同様の機能を有するものである。ここでRAID1〜NはRAIDの制御方式の識別子ではなく、単に異なるRAID装置であることを示すものである。
【００８２】
次にポリシー定義７００、構成定義８００、および稼動情報１１００を示す図を図２０に示す。ポリシー定義７００は、チューニング定義７６０、グローバルポリシー定義７１０、チューニングパラメタ定義７５０、ポリシー定義７３０、ポリシータイプ定義７２０、ポリシータイプ実行契機定義７７０を備える。構成定義は８００、リソース定義８２０を備える。実施例２に係る管理サーバ２００は、管理対象機器の稼動状況および性能を取得する情報収集エンジン２０９を備える。情報収集エンジン２０９は取得した情報を稼動情報１１００に格納する。このように情報収集エンジン２０９は、管理対象機器に関する情報を稼働情報１１００に格納する。
【００８３】
リソース定義８２０は管理対象の構成、稼動状況を格納するためのテーブルである。実施例２に係るリソース定義８２０を図２１に示す。実施例２に係るリソース定義８２０は、”リソース名”欄、”親リソース名”欄、”％HOST_TYPE％”欄、”％SUBNET％”欄、”％SERVICEGROUP％”欄、％CPU_USAGE％”欄、”％TRANSACTION_NUM％”欄及び”％VOLUMESIZE％”欄とを備える。”リソース名”欄には管理対象を識別するための名称が定義される。構成上特定のリソースの一部分に含まれるリソースについては、”親リソース名”欄に包含されるリソース名を定義する。”％HOST_TYPE％”欄には業務サーバの業務種別を定義する。”％HOST_TYPE％”欄の定義内容は図７で示すところのリソースタイプ定義に該当する。”％SUBNET％”欄にはネットワーク構成上のサブネットを識別する名称を定義する。”％SERVICEGROUP％”欄にはリソースが提供するサービスの種別を定義する。”％SUBNET％”欄と”％SERVICEGROUP％”欄の定義内容は図７で示すところのトポロジー定義８３０に該当する。％CPU_USAGE％”欄、”％TRANSACTION_NUM％”欄、”％VOLUMESIZE％”欄にはそれぞれ、CPU使用率(％)、処理トランザクション数、使用可能な空きボリューム容量(Byte)が格納される。％CPU_USAGE％”欄、”％TRANSACTION_NUM％”欄、”％VOLUMESIZE％”欄の内容は情報収集エンジン２０９によって格納される稼動性能情報１１００であり、欄としてはこれらの他、稼働率、コピー進捗率等の情報も格納することもできる。稼動性能情報１１００が格納されるタイミングには定期的および稼動性能情報１１００の参照時の二通りがある。
【００８４】
チューニング定義７６０は、チューニングを実行する契機すなわちチューニングの実行条件と、その実行対象を定義する。実施例２に係るチューニング定義７６０を図２２に示す。実施例２に係るチューニング定義７６０は、”チューニングID”欄、”チューニング契機種別”欄、”チューニング契機詳細”欄、”対象GlobalPolicyID”欄、”対象PolicyTypeID”欄を備える。
【００８５】
”チューニングID”欄にはチューニングを実行する契機と、その対象の定義を識別するIDを定義する。”チューニング契機種別”欄はチューニングを実行する契機の種別を定義する。チューニング契機種別には、あらかじめ指定したスケジュールに基づいて実行する”スケジュール”と、特定のイベントが発生したときを実行する”イベント”と、ユーザが直接実行する”ユーザ”の３つがある。”チューニング契機詳細”欄には、チューニング実行契機の詳細を定義する。ここで、”％DAY％=SUNDAY”は毎週日曜日にチューニングを実行するということを意味する。”対象GlobalPolicyID”欄にはチューニングの対象となるグローバルポリシーを指定する。あるチューニング定義にすべてのグローバルポリシーを指定することも可能であり、また特定のグローバルポリシーを複数のチューニング定義で指定することもできる。”対象PolicyTypeID”欄にはチューニングの対象となるポリシータイプを指定する。ここで指定したポリシータイプに属するポリシーが実際のチューニングの対象となる。
【００８６】
チューニングパラメタ定義７５０は、各グローバルポリシーでチューニングの対象となるチューニングパラメタを定義する。実施例２に係るチューニングパラメタ定義７５０を図２３に示す。実施例２に係るチューニングパラメタ定義７５０は、”Global PolicyID”欄、”チューニングパラメタタイプ”欄、”変更刻み”欄、”変更範囲”欄、”デフォルト(推奨)”欄、”検索方法”欄を備える。”Global PolicyID”欄は対象となるグローバルポリシーを指定する。”チューニングパラメタタイプ”欄にはチューニングの対象となるチューニングパラメタタイプを指定する。一つのグローバルポリシーに対して複数のチューニングパラメタタイプを定義することも可能である。チューニングパラメタタイプが数値である場合、”変更刻み”欄にはチューニングの際に数値を変更する最小単位を指定する。
【００８７】
”変更範囲”欄にはチューニングパラメタを変更する際の範囲を規定する。ここで”SubnetA”とは、ネットワーク構成上SubnetAに所属するもののみをチューニング対象とするということを意味する。
【００８８】
”デフォルト(推奨)”欄は、チューニングの際の初期値、もしくは推奨値を定義する。”検索方法”欄にはチューニングにおいて値を変更する方法を規定する。チューニングの結果、適合度が同じでも”検索方法”が異なればポリシーの内容は必ずしも一致しない。変更方法には”ランダム”と”デフォルト基準”と”現データ基準”の３つがある。いずれも”変更範囲”をはずれないことを前提とした変更方法である。”ランダム”は乱数に基づき無作為にチューニングパラメタを指定する方法である。”デフォルト基準”はデフォルトから最も近い値(数値)とするよう変更する方法である。”現データ基準”は現在のチューニングパラメタに最も近い値(数値)とするよう変更する方法である。”検索方法”が”ランダム”以外で、チューニングパラメタタイプが数値でない場合には、別途チューニングパラメタ間の関係を定量化したテーブルを用意する必要がある。
【００８９】
グローバルポリシー定義７１０はグローバルポリシーの条件式と重み付けを規定する。
【００９０】
実施例２に係るグローバルポリシー定義７１０を図２４に示す。実施例２に係るグローバルポリシー定義７１０の説明については、図１０の同様の内容であるため省略する。
ポリシータイプ定義７２０では、ポリシーの型として実行コマンドと実行ホストを定義する。
【００９１】
実施例２に係るポリシータイプ定義７２０を図２５に示す。実施例２に係るポリシータイプ定義７２０は図１１と同様であるが、”起動条件”欄と”スケジュール”欄が存在しない。実施例２においては”起動条件”と”スケジュール”については、別途ポリシー実行契機定義７７０で定義する。”実行ホスト”欄では直接ホスト名を指定することで実行ホストを固定することができる。
【００９２】
ポリシー実行契機定義７７０には、ポリシータイプごとの実行契機を定義する。実施例２に係るポリシー実施契機定義７７０を図２６に示す。実施例２に係るポリシー実施定義７７０は、”PoicyTypeID”欄、”実行契機種別”欄、”実行契機詳細”欄、”実行条件”欄を備える。ポリシー実施契機定義７７０はグローバルポリシーに基づくチューニング実行からは基本的に独立しており、単純にポリシーの実行契機を規定するものである。実施例２においては、ポリシーの実行契機はポリシータイプで規定されたものを適用するが、ポリシー定義７３０に実行契機を規定することでポリシー単位で実行契機を指定することも可能である。”PoicyTypeID”欄は、対象となるポリシータイプを指定する。”実行契機種別”欄には、ポリシーの実行契機種別を指定する。ポリシーの実行契機種別には、特定のイベントが発生したら実行する”イベント”と、あらかじめ指定したスケジュールに基づいて実行する”スケジュール”がある。”実行契機詳細”欄は、ポリシーの実行契機の詳細を定義する。図２６では実行契機種別が”イベント”の場合の例を示しており、”実行契機詳細”欄で発生イベントの条件を指定する。”実行条件”欄にはポリシーを実行する条件を定義する。”％HOST_TYPE％ = WEB_SERVER”は、イベントの発生もとのホストの種別がWEB_SERVERであることがポリシー実行の条件であることを意味する。
【００９３】
ポリシー定義７３０には、ポリシーの内容として、ポリシータイプ定義７２０で定義されたパラメタの値を指定する。実施例２に係るポリシー定義７３０を図２７に示す。実施例２に係るポリシー定義７３０は、”PolicyID”欄、”PolicyTypeID”欄、”％POLICY  _STATUS％”欄、”％HOST％”欄、”％MAX_TRANS％”欄、”％VOLUME％”欄、”％VOLUME_  EXPAND_SIZE％”欄を備える。”PolicyID”欄、”PolicyTypeID”欄はそれぞれ対応するポリシー、ポリシータイプを定義する。”％POLICY_STATUS％”欄はポリシーの実行可否を定義する。ポリシーの実行可否としては、実行可能な”ACTIVE”と実行不能な”SUSPEND”がある。特定のポリシーの％POLICY_STATUS％を”SUSPEND”にすることでポリシーの実行を制限することができる。”％HOST％”欄、”％MAX_TRANS％”欄、”％VOLUME％”欄、”％VOLUME_ EXPAND_SIZE％”欄はそれぞれ、実行ホスト名、最大トランザクション数、利用可能な残りボリューム容量、ボリューム拡張単位サイズを示す。前記４つの欄については、ポリシータイプの定義内容に応じてパラメータが変わるため、ポリシー定義７３０の欄の個数内容もそれに応じて変わる。
【００９４】
次に、実施例２に係るチューニングの実施例として、図２２のチューニング定義７６０における”チューニングID” 3,4,5についてチューニング処理の詳細を説明する。なお、チューニング定義７６０の”チューニングID” 1,2については、実施例1にその処理詳細が記述されているため説明を省略する。
【００９５】
実施例２に係る”チューニングID”が３であるチューニングでは、ホストの負荷状況に応じてジョブを実行するホストを決定する。
図２２では、”チューニングID３”では、毎日AM2:00に（”チューニング契機詳細”の欄参照）、”GlobalPolicyID 5,6”に対して（”対象GlobalPolicyID”の欄参照）、チューニングを実行すると定義している。指定時刻(AM2:00)になるとポリシー管理プログラム３００は、チューニングを開始する。ポリシー管理プログラム３００は、適合度の算出にあたってグローバルポリシー定義７１０、チューニングパラメタ定義７５０、ポリシータイプ定義７２０、ポリシー定義７３０、リソース定義８２０を参照し、重み付けにしたがって適合度を算出する。
図２４のグローバルポリシー定義７１０では条件として、ホストのCPU使用率が50％以下であること、特定の時間帯(6/11/2003〜6/13/2003)にHost1を指定しないことを定義している。なお、”GlobalPolicyID 5”ではSubnetAを条件式に記述しているが、これはチューニングパラメタ定義７５０で規定してあるため省略可能である。
チューニングパラメタについては、図２３のチューニングパラメタ定義から％HOST％であり、かつSubnetAに存在するホストが対象である事がわかる。また、図２２に示すとおり”チューニングID３”はポリシータイプ4を対象としており、図２５のポリシータイプ定義では、任意の業務ホスト％HOST％にてジョブ(batchb)を実行することを定義している。
チューニングの対象となるポリシーは、図２７のポリシー定義では、”PolicyID 7”である。適合度の算出にあたって、”GlobalPolicyID 5”ではホストのCPU使用率(％CPU_USAGE％)をリソース定義８２０から取得する。また、”GlobalPolicyID 6”では現在時刻を取得し、条件式と比較する。
【００９６】
チューニング終了後には、図２６のポリシー実行契機定義７７０に指定される”PolicyTypeID 4”に対応するイベントが発行されるため、”PolicyTypeID 4”に属する”PolicyID 7”のポリシーが実行される。このように、チューニング完了をイベントとして定義することで、チューニング後の適切な設定のポリシーを実行することができる。また、チューニング実行自体をスケジュール登録することで、登録されたスケジュールに従って、(複数の要求条件がある中で)適切なホストでのジョブ実行が実現できる。
【００９７】
実施例２に係る”チューニングID４”では、複数のサーバをまたがる設定の調整を実行する。基本的な手順・参照テーブルは”チューニングID３”の例に従うため、一部説明を省略する。
図２２に示す通り、”チューニングID４”では、httpリクエストが拒否されたというイベントが発生したら（チューニング契機詳細参照）、”GlobalPolicyID 7,8,9”に対してチューニングを実行するとしている。”GlobalPolicyID 7”は、WEBサーバの処理トランザクション数が設定された上限値を超えないことを条件として規定している。”GlobalPolicyID 8”は、APサーバの処理トランザクション数の設定上限値は、必ずWEBサーバの処理トランザクション数の設定上限値を下回ることを条件として規定している。
【００９８】
”GlobalPolicyID 9”は、DBサーバの処理トランザクション数の設定上限値は、必ずAPサーバの処理トランザクション数の設定上限値を下回ることを条件として規定している。”GlobalPolicyID 8,9”は上記の他、ホストが同一のサービスグループであることを条件としている。チューニングパラメタとしては、処理トランザクション数の上限値(％MAX_TRANS％)が指定されており、デフォルト値(128)を基準として検索を行う。適合度の算出においては、グローバルポリシーの条件判定において、％MAX_ TRANS％、％SERVICE_GROUP％等が必要となるため、リソース定義８２０から情報を取得する。ここでは、Host2,3,4が同一サービスグループであることが分かる。チューニングの対象となるポリシーは、”PolicyID 8,9,10”であり、”チューニングID３”の例と同様チューニング完了後にポリシーが実行される。このように複数のサーバをまたがった設定の調整が可能である。
【００９９】
実施例２に係る”チューニングID５”では、空きボリュームの容量に見合った、追加容量の指定を行う。実施例２では、すでに割り当て済みのボリュームの残り容量が少なくなった場合、ボリュームプールから動的に容量を追加する処理を想定している。基本的な手順・参照テーブルは”チューニングID３”の例に従うため、一部説明を省略する。
【０１００】
図２２に戻って、”チューニングID５”では、毎日AM3:00に”GlobalPolicyID 10,11”に対してチューニングを実行すると定義している。”GlobalPolicyID 10”は、空きボリュームが30％未満になった場合、ボリューム拡張単位は空きボリュームの1/10以下でなければならないと定義している。”GlobalPolicyID 11”は、空きボリュームが10％未満になったら、ポリシー実行状態はSUSPENDでなければならないとしている。”GlobalPolicyID 11”に対応するポリシーは”PoicyID 11,12” であり、空きボリュームが10％未満となった場合、これらのポリシーが実行されないことを意味する。本例では、一日一回ボリュームの残り容量をチェックし、残り少ない場合残り具合に応じて拡張容量を減らすか、ボリューム拡張自体を無効にするかを判断し実行することができる。
【０１０１】
次に、本実施例の形態に係る処理シーケンスについて説明する。本説明は実施例１に対しても適用可能である。本実施例の形態に係るチューニングの処理シーケンスを図２８に示す。
ポリシー管理プログラム３００は、ポリシーチューナー３２０、ポリシーマネージャ３１０からなる。ジョブスケジューラは、ジョブのスケジュール管理、実行制御を行うプログラムであり、ポリシー管理プログラム３００の一機能として位置付けることもできる。
【０１０２】
ポリシーマネージャ３１０は、ジョブスケジューラに対してポリシーをジョブとして登録する。ポリシーチューナー３２０は、チューニングを実行する本体である。前述のように、チューニング開始制御１２１０には３つある。(1a)イベント契機実行、(1b)スケジュール実行、(1c)ユーザ実行である。このうち(1a)イベント契機実行は、情報収集エンジン２０９が管理対象から稼動性能情報を取得し、ポリシーチューナーに対して特定のイベントを通知する。すなわり、チューニング実行の開始をポリシーチューナーに指示する。
【０１０３】
チューニング実行１２２０においては、チューニング開始制御１２１０からチューニング実行の指示を受け、該当するポリシーのパラメータがGlobalPolicyIDに適合するか検査する。例えば、ポリシー定義７００から情報を取得し、構成定義・稼動性能情報を取得後、チューニングを実行する。チューニングの結果は画面等に出力し、必要であれば管理者の確認後、ポリシーの定義変更を実行する。
ポリシー実行１２３０においては、ポリシーマネージャ３１０がジョブスケジューラに対してポリシーを登録する。ポリシーの実行契機をチューニング完了イベント発生とした場合、チューニングからポリシーの変更と実行まで、一連で実行できる。
【図面の簡単な説明】
【０１０４】
【図１】実施例１に係る情報処理システムの全体構成を示すブロック図である。
【図２】実施例１に係る管理サーバの構成を示すブロック図である。
【図３】実施例１に係る情報処理システムを示すブロック図である。
【図４】実施例１に係るポリシーの設定画面を示す図である。
【図５】実施例１に係るポリシーのチューニング後の設定画面を示す図である。
【図６】実施例１に係るポリシー及びグローバルポリシーの内容を示す図である。
【図７】実施例１に係るポリシー定義及び構成定義を示す図である。
【図８】実施例１に係るリソースタイプテーブルを示す図である。
【図９】実施例１に係るリソーステーブルを示す図である。
【図１０】実施例１に係るグローバルポリシーテーブルを示す図である。
【図１１】実施例１に係るポリシータイプテーブルを示す図である。
【図１２】実施例１に係るポリシーテーブルを示す図である。
【図１３】実施例１に係るチューニングパラメータテーブルを示す図である。
【図１４】実施例１に係るポリシーの設定手順の流れを示すフローチャートである。
【図１５】実施例１に係るチューニング後のポリシーテーブルを示す図である。
【図１６】実施例１に係る重み付けテーブルを示す図である。
【図１７】実施例１に係る重み付けテーブルを示す図である。
【図１８】実施例１に係るポリシーセットのチューニングの様子を示す図である。
【図１９】実施例２に係る情報処理システムを示すブロック図である。
【図２０】実施例２に係るポリシー定義及び構成定義を示す図である。
【図２１】実施例２に係るリソース定義を示す図である。
【図２２】実施例２に係るチューニング定義を示す図である。
【図２３】実施例２に係るチューニングパラメタテーブルを示す図である。
【図２４】実施例２に係るグローバルポリシーテーブルを示す図である。
【図２５】実施例２に係るポリシータイプテーブルを示す図である。
【図２６】実施例２に係るポリシータイプ実行契機定義を示す図である。
【図２７】実施例２に係るポリシーテーブルを示す図である。
【図２８】実施例２に係るチューニングの処理シーケンスを示す図である。
【符号の説明】
【０１０５】
１００  業務サーバ、１１０  業務クライアント、２００  管理サーバ、２０１  ＣＰＵ、２０２  メモリ、２０３  ＬＡＮ  Ｉ／Ｆ、２０４  記録媒体読取装置、２０５  入力装置、２０６  出力装置、２０７  記録媒体、２０８  記憶装置、３００  ポリシー管理プログラム、４００  基幹ＬＡＮ、４１０  管理ＬＡＮ、５００  ＦＣ−ＳＷ、６００  ストレージシステム、６１０  ボリューム、７００  ポリシー定義、８００  構成定義、９００  テープデバイス、１１００  稼動情報
【図１】
2004303190.tif 000003
【図２】
2004303190.tif 000004
【図３】
2004303190.tif 000005
【図４】
2004303190.tif 000006
【図５】
2004303190.tif 000007
【図６】
2004303190.tif 000008
【図７】
2004303190.tif 000009
【図８】
2004303190.tif 000010
【図９】
2004303190.tif 000011
【図１０】
2004303190.tif 000012
【図１１】
2004303190.tif 000013
【図１２】
2004303190.tif 000014
【図１３】
2004303190.tif 000015
【図１４】
2004303190.tif 000016
【図１５】
2004303190.tif 000017
【図１６】
2004303190.tif 000018
【図１７】
2004303190.tif 000019
【図１８】
2004303190.tif 000020
【図１９】
2004303190.tif 000021
【図２０】
2004303190.tif 000022
【図２１】
2004303190.tif 000023
【図２２】
2004303190.tif 000024
【図２３】
2004303190.tif 000025
【図２４】
2004303190.tif 000026
【図２５】
2004303190.tif 000027
【図２６】
2004303190.tif 000028
【図２７】
2004303190.tif 000029
【図２８】
2004303190.tif 000030