(57)【要約】  計算機システムは、複数の装置及び複数の管理計算機を有する。装置は、１つ以上のオブジェクトを有する。複数の管理計算機は、１つ以上のオブジェクトを管理対象とするサービスを提供する。各サービスの各オブジェクトには、情報提供の周期が設定される。代表管理計算機は、オブジェクト情報収集に関する情報収集ポリシと、実行中の各サービスの各オブジェクトに設定されている情報提供の周期とに基づいて、各オブジェクト情報の収集を担当する管理計算機を決定し、その決定した各管理計算機に対して、その管理計算機が管理を担当するオブジェクトを通知する。
2017094194.tif 000002
【特許請求の範囲】
【請求項１】
複数の装置及び複数の管理計算機を有する計算機システムであって、
装置は、管理計算機から管理対象とされる１つ以上のオブジェクトを有し、
複数の管理計算機は、１つ以上のオブジェクトを管理対象とするサービスを提供しており、
各サービスの各オブジェクトには、情報提供の周期が設定されており、
複数の管理計算機のうちの１つである代表管理計算機は、
オブジェクト情報の収集に関するポリシが定義されている情報収集ポリシと、実行中の各サービスの各オブジェクトに設定されている情報提供の周期と、に基づいて、各オブジェクト情報の収集を担当する管理計算機を決定し、
その決定した各管理計算機に対して、その管理計算機が管理を担当するオブジェクトを通知する
計算機システム。
【請求項２】
前記情報収集ポリシには、実行中の複数の異なるサービスの中に、情報提供の周期の繰り返しの中で一致するタイミングを有し、且つ、同一のオブジェクトが含まれている場合、これら同一のオブジェクト情報の収集を１つの管理計算機に担当させる旨の第１のポリシが定義されている
請求項１に記載の計算機システム。
【請求項３】
前記第１のポリシに基づいて決定され、前記通知を受領した管理計算機は、情報提供の周期の繰り返しの中で一致するタイミングにおいて、前記同一のオブジェクトを有する装置に対して、前記同一のオブジェクト情報の要求を１つ発行する
請求項２に記載の計算機システム。
【請求項４】
前記情報提供の周期の繰り返しの中で一致するタイミングとは、複数の同一のオブジェクトのそれぞれの周期に基づいて算出される最小公倍数の周期のタイミングである
請求項３に記載の計算機システム。
【請求項５】
前記情報収集ポリシには、複数の異なるサービスの中に、情報提供の周期の繰り返しの中で一致するタイミングを有し、且つ、同一の種類のオブジェクトが含まれており、さらに、これらの同一の種類のオブジェクトが１つの装置に含まれている場合、これら同一の種類のオブジェクト情報の収集を１つの管理計算機に担当させる旨の第２のポリシが定義されている
請求項２に記載の計算機システム。
【請求項６】
前記第２のポリシに基づいて決定され、前記通知を受領した管理計算機は、情報提供の周期の繰り返しの中で一致するタイミングにおいて、前記１つの装置に対して、前記同一の種類の複数のオブジェクト情報の要求を１つ発行する
請求項５に記載の計算機システム。
【請求項７】
前記代表管理計算機は、
新規のサービスを稼働する場合、当該新規のサービスが管理対象とする各新規オブジェクトについて、稼働中の各サービスの各オブジェクトの中に、前記第１のポリシ又は前記第２のポリシに適合するオブジェクトが存在するか否かを判定し、
その新規オブジェクトが、前記第１のポリシに適合すると判定した場合、第１のポリシに適合するオブジェクトを担当中の管理計算機を、その新規オブジェクト情報の収集の担当に決定し、
その新規オブジェクトが、前記第１のポリシに適合せず、前記第２のポリシに適合すると判定した場合、第２のポリシに適合するオブジェクトを担当中の管理計算機を、その新規オブジェクト情報の収集の担当に決定する
請求項５に記載の計算機システム。
【請求項８】
前記代表管理計算機は、
各管理計算機が担当中のオブジェクトの数を管理し、
その新規オブジェクトが、前記第１のポリシ及び前記第２のポリシの何れにも適合しないと判定した場合、担当中のオブジェクトの数が最も少ない管理計算機を、その新規オブジェクト情報の収集の担当に決定する
請求項７に記載の計算機システム。
【請求項９】
前記代表管理計算機は、
担当中のオブジェクトの数が所定の閾値よりも多い管理計算機について、その管理計算機が担当中の１つ以上のオブジェクトの担当を、担当中のオブジェクトの数が所定の閾値よりも少ない管理計算機に変更する
請求項５に記載の計算機システム。
【請求項１０】
前記情報収集ポリシには、複数の異なるサービスの中に、情報提供の周期の繰り返しの中で一致するタイミングを有し、且つ、同一の種類のオブジェクトが含まれており、さらに、これらの同一の種類のオブジェクトが１つの装置に含まれている場合、これら同一の種類のオブジェクト情報の収集を１つの管理計算機に担当させる旨のポリシが定義されている
請求項１に記載の計算機システム。
【請求項１１】
前記ポリシに基づいて決定され、前記通知を受領した管理計算機は、情報提供の周期の繰り返しの中で一致するタイミングにおいて、前記１つの装置に対して、前記同一の種類の複数のオブジェクト情報の要求を１つ発行する
請求項１０に記載の計算機システム。
【請求項１２】
装置を管理する方法であって、
装置が、管理計算機から管理対象とされる１つ以上のオブジェクトを有しており、
複数の管理計算機が、１つ以上のオブジェクトを管理対象とするサービスを提供しており、
各サービスの各オブジェクトには、情報提供の周期が設定されており、
複数の管理計算機のうちの１つである代表管理計算機が、
オブジェクト情報の収集に関するポリシが定義されている情報収集ポリシと、実行中の各サービスの各オブジェクトに設定されている情報提供の周期と、に基づいて、各オブジェクト情報の収集を担当する管理計算機を決定し、
その決定した各管理計算機に対して、その管理計算機が担当するオブジェクトを通知する
装置の管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムの技術に関し、特に、装置を管理する技術に関する。
【背景技術】
【０００２】
計算機システムの規模が拡大するにつれて、計算機システムの運用管理も複雑になっている。そこで、計算機システムの管理をサービスとして提供する管理ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）が提案されている。【０００３】
特許文献１には、管理対象の複数の計算機について、それらの計算機がそれぞれ有するオブジェクト（例えば、ストレージ装置のボリュームなど）に係る情報を全て収集して、それらの計算機を管理する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第７７０７１９９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の場合、管理計算機は、複数の計算機のそれぞれが有するオブジェクトに係る全ての情報を収集する必要がある。したがって、計算機システムの規模が拡大するにつれて、管理計算機の負荷が増大し、さらに、オブジェクト情報を提供する計算機の負荷も増大してしまう。【０００６】
そこで、本発明の目的は、計算機システムの有する複数の装置を管理する場合における、管理計算機及び複数の装置の負荷を軽減することにある。
【課題を解決するための手段】
【０００７】
一実施形態に係る計算機システムは、複数の装置及び複数の管理計算機を有する。デバイスは、管理計算機から管理対象とされる１つ以上のオブジェクトを有する。複数の管理計算機は、１つ以上のオブジェクトを管理対象とするサービスを提供する。各サービスの各オブジェクトには、情報提供の周期が設定されている。複数の管理計算機のうちの１つである代表管理計算機は、オブジェクト情報の収集に関するポリシが定義されている情報収集ポリシと、実行中の各サービスの各オブジェクトに設定されている情報提供の周期と、に基づいて、各オブジェクト情報の収集を担当する管理計算機を決定し、その決定した各管理計算機に対して、その管理計算機が管理を担当するオブジェクトを通知する。
【発明の効果】
【０００８】
本発明によれば、計算機システムの有する複数の装置を管理する場合における、管理計算機及び複数の装置の負荷を軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の概要を示す説明図である。
【図２】計算機システムの構成例を示す。
【図３】サービスの提供者と利用者との間でのやり取りの例を示すシーケンスチャートである。
【図４】サービス種別管理テーブルの構成例を示す。
【図５】構成情報テーブルの構成例を示す。
【図６】実行サービス管理テーブルの構成例を示す。
【図７】図６に示す実行サービス管理テーブル、情報提供間隔に基づいて時系列で表現した説明図である。
【図８】担当管理テーブルの構成例を示す。
【図９】サービスが変更される場合における代表管理計算機の処理例を示すフローチャートである。
【図１０】情報取得方法決定処理の例を示すフローチャートである。
【図１１】サービスが削除される場合における代表管理計算機の処理例を示すフローチャートである。
【図１２】オブジェクトが変更される場合における代表管理計算機の処理例を示すフローチャートである。
【図１３】代表管理計算機における担当決定処理の例を示すフローチャートである。
【図１４】オブジェクトのリアルタイムの情報の取得要求を受信した場合の処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、実施形態を説明する。以下の説明では、「ｘｘｘテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「ｘｘｘテーブル」を「ｘｘｘ情報」と呼ぶことができる。
【００１１】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び通信インターフェイスデバイスのうちの少なくとも１つを用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する装置とされてもよい。プロセッサが行う処理の一部又は全部が、ハードウェア回路で行われてもよい。コンピュータプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア（例えば可搬型の記憶メディア）であってもよい。
【００１２】
また、以下の説明では、計算機システムに含まれる少なくとも１つの装置を管理する１以上の計算機の集合を「管理システム」と呼ぶことがある。管理計算機が表示用情報を表示する場合は管理計算機が管理システムでよい。また、管理計算機と表示用計算機の組み合わせも管理システムでよい。また、管理処理の高速化や高信頼化のために複数の計算機で管理計算機と同等の処理を実現してもよく、この場合はそれら複数の計算機（表示を表示用計算機が行う場合は表示用計算機も含んでよい）が管理システムでよい。本実施形態では、管理計算機が管理システムである。また、管理計算機が情報を表示するとは、管理計算機が有する表示デバイスに情報を表示することであってもよいし、管理計算機（例えばサーバ）に接続された表示用計算機（例えばクライアント）に表示用情報を送信することであってもよい。後者の場合、表示用計算機が有する表示デバイスに表示用情報が表す情報が表示用計算機によって表示される。
【００１３】
（第１の実施形態）
図１は、本実施形態の概要を示す説明図である。
【００１４】
計算機システム１は、計算機の一例である複数のストレージ装置２０００及び複数の管理計算機１０００を有する。ストレージ装置２０００は、１つ以上のオブジェクトを有してよい。複数の管理計算機１０００は連携して、１つ以上のオブジェクトを管理対象とするサービスを提供可能である。各サービスの各オブジェクトに対して、情報提供の周期が設定されている。
【００１５】
複数の管理計算機１０００のうちの１つである代表管理計算機（例えば管理計算機Ａ）は、オブジェクト情報の収集に関するポリシが定義されている情報収集ポリシと、実行中の各サービスの各オブジェクトに設定されている情報提供の周期と、に基づいて、各オブジェクト情報の収集を担当する管理計算機１０００（例えば管理計算機Ｂ）を決定し、その決定した各管理計算機１０００に対して、その管理計算機１０００が担当するオブジェクトを通知する。
【００１６】
代表管理計算機は、サービスの稼働状況の変更を検知した場合に、上述の各オブジェクト情報の収集を担当する管理計算機１０００の決定、及び、その決定した各管理計算機１０００に対する通知の処理を実行してもよい。サービスの稼働状況の変更の例は、新規のサービスが稼働される場合、稼働中のサービスが削除される場合、稼働中のサービスが管理対象とするオブジェクトが変更される場合などである。
【００１７】
図２は、計算機システムの構成例を示す。
【００１８】
本実施形態に係る計算機システム１は、１台以上の管理計算機１０００、装置の一例である１台以上のストレージ装置２０００、及び、装置の一例である１台以上のサーバ３０００を有する。
【００１９】
サーバ３０００及びストレージ装置２０００は、データ用ネットワークの例であるＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）４０００を介して互いに接続される。ＳＡＮの例は、ファイバチャネル等である。
【００２０】
＜管理計算機＞
管理計算機１０００、ストレージ装置２０００、及び、サーバ３０００は、管理用ネットワーク５０００を介して互いに接続される。
【００２１】
管理計算機１０００は、メモリ１１００、通信デバイス１２００、プロセッサ１３００、出力デバイス１４００、入力デバイス１５００、及び、記憶デバイス１６００を有してよい。これらの要素は、内部バス１７００を介して双方向通信可能に接続されてよい。
【００２２】
メモリ１１００には、サービス種別管理テーブル１１２０、構成情報テーブル１１３０、実行サービス管理テーブル１１４０、担当管理テーブル１１５０、サービス検知プログラム１１６０、サービス特定プログラム１１７０、管理計算機決定プログラム１１８０、管理計算機連携プログラム１１９０、情報取得プログラム１１１００、及び、オブジェクト検知プログラム１１１１０が格納されてよい。
【００２３】
サービス種別管理テーブル１１２０は、管理計算機１０００が提供可能なサービスを管理する。サービス種別管理テーブル１１２０の詳細については後述する（図４参照）。
【００２４】
構成情報テーブル１１３０は、計算機システム１の構成に関する情報を管理する。構成情報管理テーブル１１３０の詳細については後述する（図５参照）。
【００２５】
通信デバイス１２００は、管理計算機１０００を、管理用ネットワーク５０００に接続するためのデバイスである。
【００２６】
プロセッサ１３００は、メモリ１１００上に展開されているプログラムを実行可能なデバイスである。プロセッサがプログラムを実行することにより、管理計算機１０００の有する各種機能が実現されてよい。
【００２７】
出力デバイス１４００は、管理計算機１０００が実行した処理結果を出力するためのデバイスである。出力デバイスの例は、ディスプレイ、スピーカ等である。
【００２８】
入力デバイス１５００は、管理者が管理計算機１０００に指示を入力するためのデバイスである。入力デバイスの例は、キーボード、マウス等である。
【００２９】
記憶デバイス１６００は、情報（データ）を保持可能なデバイスである。記憶デバイス１６００の例は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等である。
【００３０】
１つ以上の物理的な管理計算機上で、複数の仮想的な管理計算機が動作しても良い。この場合、複数の仮想的な管理計算機の各々が、プログラム１１６０、１１７０、１１８０、１１９０、１１１００、１１１１０を有し、これらのプログラムを実行してもよい。
【００３１】
本実施形態では、構成情報テーブル１１３０など、メモリ１１００に含まれる各テーブルについて、ＲＤＢ（Ｒｅｌａｔｉｏｎａｌ  Ｄａｔａｂａｓｅ）の形態を用いて説明する。この場合、典型的には、管理計算機の間でＤＢの情報の整合性を取った上で送受信することで、管理計算機の間の情報が同期される。しかし、ＤＢの形態及びその同期方法は、それ以外であってもよい。例えば、分散ＫＶＳ（Ｋｅｙ  Ｖａｌｕｅ  Ｓｔｏｒｅ）によって、管理計算機の間で情報を共有してもよい。
【００３２】
各種プログラム及びテーブルは、メモリ１１００以外、例えば、記憶デバイス１６００又は他の記憶装置（図示しない）に格納されても良い。この場合、プロセッサ１３００は、各種プログラム及びテーブルを取得してメモリ１１００に展開し、それらを実行してもよい。又は、ストレージ装置２０００のメモリ２１００にプログラム及びテーブルが格納されており、ストレージ装置２０００又はサーバ３０００が、そのメモリ２１００に格納されているプログラムを実行しても良い。又は、他のサーバ３０００又はスイッチ（図示しない）等の他の装置が、所定のメモリにプログラム及びテーブルを格納し、そのメモリに格納されているプログラムを実行しても良い。
【００３３】
管理計算機１０００は、管理用ネットワーク５０００を通して、サーバ３０００上で動作するプログラムと通信できてよい。
【００３４】
＜ストレージ装置＞
ストレージ装置２０００は、メモリ２１００、記憶デバイス２２００、ディスクＩ／Ｆコントローラ２３００、管理Ｉ／Ｆ２４００、プロセッサ２５００、及び、データＩ／Ｆ２６００を有してよい。これらの要素は、内部バス等の通信路２７００を介して双方向通信可能に接続されてよい。
【００３５】
メモリ２１００は、ディスクキャッシュ２１１０を有してよい。ディスクキャッシュ２１１０は、情報を一時的に格納するための記憶領域である。
【００３６】
メモリ２１００には、構成情報収集プログラム２１２０が格納されてよい。構成情報収集プログラム２１２０は、ストレージ装置２０００の管理情報及び性能情報等を、管理計算機１０００との間で送受信するためのプログラムである。
【００３７】
ストレージ装置は、１つ以上の記憶デバイス２２００の記憶領域によって構成されるプール２２２０を有してよい。そして、ストレージ装置２０００は、プール２２２０の領域を論理的に分割し、その論理的に分割した領域を、論理ボリューム２２１０として提供してよい。外部装置は、通信ネットワークを介して、ストレージ装置２０００の提供する論理ボリューム２２１０にアクセスできてよい。
【００３８】
各プール２２２０及び論理ボリューム２２１０には、それぞれ、ＩＤが付与されてよい。これにより、ストレージ装置２０００が、プール２２２０及び論理ボリューム２２１０を、それぞれ一意に識別可能となる。
【００３９】
図２の場合、１つのプール２２２０（ＰＯＯＬ１）が論理的に分割されて、その分割された１つを用いて、１つの論理ボリューム２２１０（ＬＶ１）が生成されている。そして、その論理ボリューム２２１０（ＬＶ１）が、外部装置（例えば、サーバ３０００）に提供されている。なお、１つのプール２２２０の全記憶領域を用いて、１つの論理ボリューム２２１０が作成されても良い。
【００４０】
ディスクＩ／Ｆコントローラ２３００は、記憶デバイス２２００を接続及び制御するためのデバイスである。記憶デバイス２２００の例は、ＨＤＤ、フラッシュメモリなどである。
【００４１】
管理Ｉ／Ｆ２４００は、ストレージ装置２０００を、管理用ネットワーク５０００に接続するためのデバイスである。
【００４２】
プロセッサ２５００は、メモリ２１００上に展開されたプログラムを実行するデバイスである。
【００４３】
データＩ／Ｆ２６００は、ストレージ装置２０００を、ＳＡＮ４０００に接続するためのデバイスである。
【００４４】
構成情報収集プログラム２１２０は、メモリ２１００以外、例えば、他の記憶装置又は他の記憶媒体に格納されても良い。この場合、プロセッサ２５００は、処理実行時に、構成情報収集プログラム２１２０を取得してメモリ２１００に展開し、それを実行してよい。
【００４５】
又は、構成情報収集プログラム２１２０は、管理計算機１０００のメモリ１１００に格納されてもよい。そして、管理計算機１０００のプロセッサ１３００が、この構成情報収集プログラム２１２０を実行しても良い。
【００４６】
又は、構成情報収集プログラム２１２０は、他のストレージ装置に格納されてもよい。そして、他のストレージ装置のプロセッサが、この構成情報収集プログラム２１２０を実行しても良い。
【００４７】
＜サーバ＞
サーバ３０００は、メモリ３１００、データＩ／Ｆ３２００、プロセッサ３３００、及び、管理Ｉ／Ｆ３４００を有してよい。これの要素は、内部バス等の通信路３５００を介して双方向通信可能に接続されてよい。
【００４８】
メモリ３１００には、構成情報収集プログラム３１１０、業務プログラム３１２０、ボリューム管理プログラム３１３０が格納されてよい。
【００４９】
構成情報収集プログラム３１１０は、サーバ３０００の管理情報及び性能情報等を、管理計算機１０００との間で送受信するためのプログラムである。
【００５０】
業務プログラム３１２０は、サーバ３０００が実行する業務を実現するためのプログラムである。業務プログラム３１２０の例は、ＤＢＭＳ（Ｄａｔａ  Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）、ファイルシステム等である。
【００５１】
ボリューム管理プログラム３１３０は、ストレージ装置２０００によって提供される論理ボリューム２２１０をサーバ３０００に割り当てるためのプログラムである。
【００５２】
サーバ３０００は、ストレージ装置２０００から提供された論理ボリューム２２１０を用いて、各種業務を行う。
【００５３】
各種プログラムは、メモリ３１００以外、例えば、他の記憶デバイスに格納されていても良い。この場合、プロセッサ３３００は、処理実行時に、処理対象のプログラムを取得してメモリ３１００に展開し、そのプログラムを実行してよい。
【００５４】
図２の場合、サーバＡとストレージ装置Ａとは、ＳＡＮ４０００を介して互いに接続されている。ストレージ装置２０００とサーバ３０００との間の接続は、ファイバチャネルを介する直接接続に限定されない。例えば、１台以上のファイバチャネルスイッチ等のネットワーク機器を介して接続されても良い。ストレージ装置２０００とサーバ３０００との間の接続は、データ通信用のネットワークであれば良く、例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークでも良い。
【００５５】
図３は、サービスの提供者と利用者との間でのやり取りの例を示すシーケンスチャートである。
【００５６】
（Ｓ１）サービス利用者は、サービス提供者に対して、サービスの利用要求を発行する。サービスの利用要求には、サービスを適用する業務、情報提供間隔などの要求が含まれてよい。この操作が、図９のフローチャートにおけるステップ１０１や、図１１のフローチャートにおけるステップ３０１などの処理に相当してもよい。
【００５７】
（Ｓ２）サービス提供者は、サービスの利用要求を受領すると、そのサービスの利用要求に基づいて、サービスで利用されるオブジェクト（サーバ、ストレージ等の構成要素。リソースと呼んでもよい）、及び、そのサービスを管理するためのサービスを特定する。本実施形態における「サービス」は、サービス利用者に提供されるサービスを管理するためのサービス（すなわち「管理サービス」）であってよい。
【００５８】
（Ｓ３）サービス提供者は、サービス利用者に対して、利用要求されたリソースを提供すると共に、その提供したオブジェクトを管理するためのサービスを提供する。
【００５９】
サービスに係る情報には、サービス利用者がサービスを適用する業務に係る情報（アプリケーションやシステムなど）も含まれてよい。
【００６０】
図４は、サービス種別管理テーブル１１２０の構成例を示す。
【００６１】
サービス種別管理テーブル１１２０は、サービス種別に関する情報を管理するためのテーブルである。サービス種別管理テーブル１１２０は、項目値（又はカラム値。以下同じ）として、サービス種別１１２１、情報提供間隔１１２２、オブジェクト種別１１２３を有してよい。
【００６２】
サービス種別１１２１は、利用者に提供可能な管理サービスの種別（又は識別子）である。管理サービス種別の例は、性能監視サービス、性能分析サービス、データ最適配置サービス、データ容量監視サービスである。例えば、性能監視サービスは、オブジェクトの性能に関する情報を周期的に取得し、そのオブジェクトの性能に問題が発生しているか否かを提示する管理サービスである。
【００６３】
情報提供間隔１１２２は、サービス種別１１２１の管理サービスにおいて設定可能な情報提供の間隔（周期）を示す値である。例えば、サービス種別１１２１「性能監視サービス」に対する情報提供間隔１１２２が「５分以上」の場合、性能監視サービスは、５分以上の間隔（周期）で情報を提供可能であることを示す。情報提供間隔１１２２は、「５分以上」のように下限値のみを設定できても良いし、「５分から６０分の間」のように下限値と上限値を設定できても良い。又は、情報提供間隔１１２２には、周期的な情報提供ではなく、利用者が要求したときの最新情報を提供する、「リアルタイム」を設定できても良い。情報提供間隔１１２２は、オブジェクト種別１１２３毎に設定できてもよい。
【００６４】
オブジェクト種別１１２３は、サービス種別１１２１のサービスを提供するために必要なオブジェクトの種別を示す情報である。オブジェクト種別１１２３は、例えば、管理サービスがストレージ装置を管理対象とする場合、「論理ボリューム」、「プール」、「ポート」、「プロセッサ」、「キャッシュ」などである。サービスが対象とする装置は、サーバ、スイッチ、仮想的なリソース（仮想サーバ）などであってもよい。すなわち、オブジェクト種別１１２３は、サービスが対象とする装置の物理的及び論理的な構成要素に相当してよい。
【００６５】
例えば、性能分析サービスから、ストレージ装置に係るオブジェクト種別の「ボリューム」、「ポート」、「プール」に係る情報の提供を受けた後に、分析結果に基づいて対策を行う際に、仮想計算機のディスク情報が必要になるような場合もある。この場合、そのような仮想計算機のディスク情報を予め取得しておけるように、性能分析サービス１１２１におけるオブジェクト種別１１２３に、「仮想計算機のディスク情報」を追加しておいてもよい。すなわち、サービス種別１１２１には、そのサービス種別の実現に直接的に必要なオブジェクト種別１１２３に限らず、そのサービス種別に関連するオブジェクト種別１１２３も対応付けられてよい。
【００６６】
サービス種別管理テーブル１１２０の内容は、予め設定されてよい。又は、サービス種別管理テーブル１１２０の内容は、計算機システム１の各装置から収集した情報に基づいて、自動的に設定されてもよい。例えば、性能監視ソフトウェアが、計算機システム１の各装置から情報を収集し、その収集した情報に基づいて、性能監視サービスに関する設定を行ってもよい。
【００６７】
情報提供間隔１１２０は、オブジェクト数によって設定可能な間隔が異なってもよい。例えば、オブジェクト数が１００００個未満の場合、情報提供間隔１１２０「５分以上」で情報を提供可能であり、オブジェクト数が１００００個以上の場合、情報提供間隔「１０分以上」で情報を提供可能であるとしてもよい。
【００６８】
図５は、構成情報テーブル１１３０の構成例を示す。
【００６９】
構成情報テーブル１１３０は、計算機システム１の構成に関する情報を管理するためのテーブルである。構成情報テーブル１１３０は、項目値として、業務ＩＤ１１３１、サーバＩＤ１１３２、仮想計算機ＩＤ１１３３、ストレージＩＤ１１３４、ポートＩＤ１１３５、ボリュームＩＤ１１３６、及び、プールＩＤ１１３７を有してよい。
【００７０】
業務ＩＤ１１３１は、サーバ３０００で運用されている業務プログラムの識別子である。
【００７１】
サーバＩＤ１１３２は、サーバ３０００の識別子である。
【００７２】
仮想計算機ＩＤ１１３３は、サーバ３０００で動作する仮想計算機の識別子である。
【００７３】
ストレージＩＤ１１３４は、サーバ３０００のアクセス先となるストレージ装置２０００の識別子である。
【００７４】
ポートＩＤ１１３５は、物理サーバ３０００がボリュームＩＤ１１３６の論理ボリューム２２１０にアクセスする際に利用する、ストレージ装置２０００のデータＩ／Ｆ２６００の識別子である。
【００７５】
ボリュームＩＤ１１３６は、論理ボリューム２２１０の識別子である。
【００７６】
プールＩＤ１１３７は、ボリュームＩＤ１１３６の論理ボリューム２２１０の生成に使用されているプール２２２０の識別子である。
【００７７】
構成情報テーブル１１３０のレコードは、サーバ３０００上で動作している業務プログラムから、そのサーバ３０００が使用している論理ボリュームを構成するプールまでのＩ／Ｏ（入出力）経路上に存在する装置を示してもよい。例えば、図５の業務ＩＤ１１３１「業務Ｘ」のレコードは、業務Ｘのアプリケーションが、サーバＩＤ１１３２「Ｓｖ１」上で稼働している仮想計算機ＩＤ１１３３「ＶＭ１」で稼働しており、その業務Ｘのアプリケーションは、ストレージＩＤ１１３４「Ｓｔｇ１」のポートＩＤ１１３５「ＰｏｒｔＡ」を介して、ボリュームＩＤ１１３６「Ｖｏｌ１」にアクセス可能であり、この「Ｖｏｌ１」はプールＩＤ１１３７「Ｐｏｏｌ１０」から生成されていることを示す。
【００７８】
管理計算機１０００は、計算機システム１の各装置等から収集した情報を用いて、構成情報テーブル１１３０を生成してよい。
【００７９】
管理計算機１０００は、各オブジェクト情報（性能情報を含んでよい）とは別に、構成情報テーブル１１３０に係る情報を予め取得してよい。そして、後述する性能情報の取得方法を決定する際に、構成情報テーブル１１３０は生成済みであってよい。
【００８０】
また、管理計算機１０００同士は、構成情報テーブル１１３０の情報を共有できてよい。共有の方法は、分散ＤＢなど、どのような方法であってもよい。
【００８１】
構成情報テーブル１１３０の業務ＩＤ１１３１に対応付けられている各ＩＤ１１３２乃至１１３７は、その業務ＩＤ１１３１の業務プログラムの実行において利用されるオブジェクトと言うこともできる。オブジェクトは、物理又は仮想の何れであってもよい。
【００８２】
構成情報テーブル１１３０の項目値は、図５に限られない。例えば、構成情報テーブル１１３０は、項目値として、業務プログラムがアクセスの際に利用するオブジェクトである、サーバ３０００のマウントポイントに係るドライブのＩＤを有してもよい。例えば、構成情報テーブル１１３０は、項目値として、サーバ３０００がボリュームＩＤ１１３６によって示される論理ボリューム２２１０にアクセスする際に利用されるサーバ３０００のデータＩ／Ｆ３２００のＩＤを有してもよい。例えば、構成情報テーブル１１３０は、項目値として、論理ボリューム２２１０に対するＩ／Ｏ処理に利用されるプロセッサ１３００のＩＤを有してもよい。例えば、構成情報テーブル１１３０は、項目値として、スイッチ又はスイッチのデータＩ／Ｆ等のＩＤを有してもよい。例えば、構成情報テーブル１１３０は、項目値として、業務サーバ３０００上の業務プログラム（ＤＢＭＳ等）のＩＤを有してもよい。
【００８３】
図６は、実行サービス管理テーブル１１４０の構成例を示す。
【００８４】
実行サービス管理テーブル１１４０は、実行中のサービスを管理するためのテーブルである。実行サービス管理テーブル１１４０は、項目値として、実行サービスＩＤ１１４１、サービス種別１１４２、情報提供間隔１１４３、業務ＩＤ１１４４、装置種別１１４５、装置ＩＤ１１４６、オブジェクト種別１１４７、オブジェクトＩＤ１１４８を有してよい。
【００８５】
実行サービスＩＤ１１４１は、実行中のサービスの識別子である。
【００８６】
サービス種別１１４２は、実行サービスＩＤ１１４１のサービス種別を示す情報である。サービス種別１１４２の情報は、サービス種別管理テーブル１１２０のサービス種別１１２１の何れかであってよい。
【００８７】
情報提供間隔１１４３は、実行サービスＩＤ１１４１のサービスにおける情報提供の間隔を示す値（時間）である。情報提供間隔１１４３は、利用者又は管理計算機によって設定されてよい。情報提供間隔１１４３は、サービス種別管理テーブル１１２０の情報提供間隔１１２２で設定されている範囲内の値を取り得る。
【００８８】
業務ＩＤ１１４４は、実行サービスＩＤ１１４１のサービスが適用されている業務プログラムを示す識別子である。業務ＩＤ１１４４は、利用者又は管理計算機１０００によって設定されてよい。業務ＩＤ１１４４は、構成情報テーブル１１３０の業務ＩＤ１１３１の何れかであってよい。
【００８９】
サービスの中には、業務毎に分かれず、計算機システムとして一体的に管理するようなサービスも存在してよい。その場合、業務ＩＤ１１４４には、例えば「Ｎ／Ａ」が設定されてよい。図６の場合、実行サービスＩＤ１１４０「２」且つサービス種別１１４２「容量監視サービス」のレコードにおいて、業務ＩＤ１１４４が「Ｎ／Ａ」となっている。この場合、全てのプール（１１４７）がサービスの対象となる。
【００９０】
装置種別１１４５は、実行サービスＩＤ１１４０のサービスの提供に必要なデバイスの種別を示す情報である。装置種別１１４５の例は、サーバ、スイッチ、ストレージである。
【００９１】
装置ＩＤ１１４６は、実行サービスＩＤ１１４０のサービスの提供に必要な装置の識別子である。つまり、装置ＩＤ１１４６の装置の種別が、装置種別１１４５である。
【００９２】
オブジェクト種別１１４７は、実行サービスＩＤ１１４０のサービスの提供に必要なオブジェクトの種別を示す情報である。オブジェクト種別１１４７の例は、ポート、ボリューム、プールである。
【００９３】
オブジェクトＩＤ１１４８は、実行サービスＩＤ１１４０のサービスの提供に必要なオブジェクトの識別子である。つまり、オブジェクトＩＤ１１４８のオブジェクトの種別が、オブジェクト種別１１４７である。
【００９４】
サービス特定プログラム１１７０は、サービス利用要求、サービス種別管理テーブル１１２０、及び／又は、構成情報テーブル１１３０の情報を用いて、上述の項目値を設定してよい。サービス利用要求は、図３で説明したように、利用者から、入力デバイス１５００又は通信デバイス１２００を介して入力されてよい。
【００９５】
サービス特定プログラム１１７０は、サービス種別管理テーブル１１２０のサービス種別１１２１とオブジェクト種別１１２３の対応関係に基づいて、実行サービス管理テーブル１１４０のサービス種別１１４２とオブジェクト種別１１４７の対応関係を決定してよい。
【００９６】
サービス特定プログラム１１７０は、構成情報テーブル１１３０の業務ＩＤ１１３１と各オブジェクト１１３２乃至１１３７の対応関係に基づいて、実行サービス管理テーブル１１４０の業務ＩＤ１１４４と、装置種別１１４５、装置ＩＤ１１４６及びオブジェクトＩＤ１１４８との対応関係を決定してよい。
【００９７】
図７は、図６に示す実行サービス管理テーブル１１４０を、情報提供間隔１１４３に基づいて時系列で表現した説明図である。
【００９８】
図７は、情報提供間隔のタイミング（例えば、５分、１０分、１５分、２０分、２５分、３０分）において、サービスＩＤ１１４０、装置ＩＤ１１４６、オブジェクト種別１１４７、及び、オブジェクトＩＤ１１４８によって特定されるそれぞれのオブジェクト情報を取得する必要があるか否かを示している。図７において、各情報提供間隔のタイミングの「○」は、その「○」に対応するオブジェクト情報を、そのタイミングで取得する必要があることを示している。
【００９９】
同一の情報提供間隔のタイミングにおいて、異なるサービスＩＤ１１４１のサービスに含まれる同一のオブジェクトＩＤ１１４８のオブジェクト情報を取得する場合、管理計算機１０００は、何れか一方のサービスのオブジェクトＩＤ１１４８に係る情報を取得すればよい。なぜなら、同一の情報提供間隔のタイミングにおいて、異なるサービスＩＤ１１４１のそれぞれにおける同一のオブジェクト情報は、同一の情報であるからである。例えば、図７の場合、情報提供間隔のタイミング「１０分」において、サービスＩＤ１１４１「１」に含まれるオブジェクトＩＤ１１４８「ＰｏｒｔＡ」に係る情報と、サービスＩＤ１１４１「３」に含まれるオブジェクトＩＤ１１４８「ＰｏｒｔＡ」に係る情報とは、同一の情報である。よって、管理計算機１０００は、サービスＩＤ１１４１「１」又は「３」の何れか一方のオブジェクトＩＤ１１４８「ＰｏｒｔＡ」に係る情報を取得すればよい。すなわち、管理計算機１０００は、情報提供間隔のタイミング「１０分」において、装置ＩＤ１１４６「Ｓｔｇ１」のストレージ装置に対して、オブジェクトＩＤ１１４８「ＰｏｒｔＡ」に係る情報の取得要求を１つだけ発行すればよい。
【０１００】
同一の情報提供間隔のタイミングにおいて、異なるサービスＩＤ１１４１のサービスに含まれる、同一の装置ＩＤ１１４６且つ同一のオブジェクト種別１１４７に対応するオブジェクト情報を取得する場合、管理計算機１０００は、それらの情報をまとめて取得すればよい。例えば、図７の場合、情報提供間隔のタイミング「１０分」において、サービスＩＤ１１４１「１」に含まれるオブジェクトＩＤ１１４８「Ｖｏｌ１」、「Ｖｏｌ２」と、サービスＩＤ１１４１「３」に含まれるオブジェクトＩＤ１１４８「Ｖｏｌ３」とは、同一の装置ＩＤ１１４６「Ｓｔｇ１」且つ同一のオブジェクト種別１１４７「ボリューム」である。よって、管理計算機１０００は、情報提供間隔のタイミング「１０分」において、装置ＩＤ１１４６「Ｓｔｇ１」のストレージ装置に対して、オブジェクトＩＤ１１４８「Ｖｏｌ１」、「Ｖｏｌ２」及び「Ｖｏｌ３」に係る情報の取得要求を１つだけ発行すればよい。このように、複数のオブジェクト情報の取得要求がまとめられた取得要求は、「バルク取得要求」と呼ばれてよい。
【０１０１】
これにより、取得要求の発行数を軽減することができる。また、同一のオブジェクト情報が重複して格納されることを回避することができる。よって、計算機システム１及び管理計算機１０００におけるネットワーク負荷、及び／又は、処理負荷を軽減することができる。また、管理計算機１０００における記憶デバイスの容量の利用効率化を図ることができる。なお、図６及び図７に関する処理の詳細については後述する（図９及び図１０参照）。
【０１０２】
図８は、担当管理テーブル１１５０の構成例を示す。
【０１０３】
担当管理テーブル１１５０は、オブジェクト情報の収集を担当する管理計算機１０００を管理するためのテーブルである。担当管理テーブル１１５０は、項目値として、タイミング１１５１、管理計算機ＩＤ１１５２、装置種別１１５３、装置ＩＤ１１５４、オブジェクト種別１１５５、オブジェクトＩＤ１１５６、関連サービスＩＤ１１５７を有してよい。
【０１０４】
タイミング１１５１は、管理計算機１０００が、オブジェクトＩＤ１１５６に係る情報の取得要求を発行するタイミングを示す値である。タイミング１１５１の値は、実行中の全ての（又は所定のグループの）サービスの情報提供間隔１１４３の最小公倍数を１つの周期とし、その周期内における実行中の各サービスの情報提供間隔１１４３の周期毎のタイミングであってよい。例えば、図６の場合、タイミング１１５１は、情報提供間隔１１４３「１０分」、「１５分」、「５分」の最小公倍数である「３０分」を１つの周期とし、その周期内における実行中の各サービスの情報提供間隔の周期毎のタイミングである「５分」、「１０分」、「１５分」、「２０分」、「２５分」、「３０分」の何れかであってよい（図７も参照）。
【０１０５】
管理計算機ＩＤ１１５２は、タイミング１１５１において、取得要求を発行する管理計算機１０００の識別子である。
【０１０６】
装置種別１１５３、装置ＩＤ１１５４、オブジェクト種別１１５５、オブジェクトＩＤ１１５６は、図６で説明した通りである。
【０１０７】
関連サービスＩＤ１１５７は、タイミング１１５１において、オブジェクトＩＤ１１５６のオブジェクトに係る取得を必要とするサービスの識別子である。
【０１０８】
図８のタイミング１１５１「３０分」において、管理計算機ＩＤ１１５２「１」は、装置ＩＤ１１５４「Ｓｔｇ１」に対して、オブジェクトＩＤ１１５６「ＰｏｒｔＡ」に係るオブジェクト情報の取得要求を１つ発行する。オブジェクトＩＤ１１５６「ＰｏｒｔＡ」に係る情報は、関連サービスＩＤ１１５７「１」及び「３」で必要とされているが、同一の情報であるので、管理計算機ＩＤ１１５２「１」は、タイミング「３０分」において取得要求を１つだけ発行すればよい。
【０１０９】
また、図８のタイミング１１５１「３０分」において、管理計算機ＩＤ１１５２「３」は、装置ＩＤ１１５４「Ｓｔｇ１」に対して、オブジェクトＩＤ１１５６「Ｐｏｏｌ１０」及び「Ｐｏｏｌ１１」に係るオブジェクト情報のバルク取得要求を１つ発行する。これらは、同一の装置ＩＤ「Ｓｔｇ１」且つ同一のオブジェクト種別１１５５「プール」であるからである。
【０１１０】
計算機システム１における複数の管理計算機１０００のうちの１つの管理計算機（「代表管理計算機」という）は、上述のように、或るタイミングにおいて、１つの管理計算機が取得要求を１つだけ発行すれば良いように、及び／又は、１つの管理計算機がバルク取得要求を１つだけ発行すれば良いように、各オブジェクト情報の取得を担当する管理計算機を決定（振り分け）してよい。
【０１１１】
図９は、サービスが変更される場合における、代表管理計算機の処理例を示すフローチャートである。
【０１１２】
本処理は、代表管理計算機のプロセッサ１３００が、メモリ１１００上に展開されたサービス検出プログラム１１６０、サービス特定プログラム１１７０、管理計算機決定プログラム１１８０、及び、管理計算機連携プログラム１１９０を実行することによって実現されてよい。本処理は、新規サービスが実行追加される場合の例であるが、実行中のサービスと対応付けられているオブジェクトが更新される場合などであっても同様である。
【０１１３】
（ステップ１０１）サービス検出プログラム１１６０は、サービスの実行状況の変更（サービスの新規追加・変更など）を検出すると、ステップ１０２へ進む。このとき、サービス検出プログラム１１６０は、サービスの更新内容の情報を受信してよい。例えば、この変更内容の情報は、入力デバイス１５００及びＧＵＩを介して利用者によって入力された情報であってもよい。又は、この変更内容の情報は、他の管理計算機から送信された情報であってもよい。変更内容の情報には、利用者が新たに選択したサービス種別、追加又は変更されるサービス種別、情報提供間隔、サービスの対象とされている業務などの情報が含まれてよい。そして、サービス検出プログラム１１６０は、この変更内容の情報を、サービス種別１１４２、情報提供間隔１１４３、業務ＩＤ１１４４に設定し、新規のサービスＩＤ１１４１のレコードとして、実行サービス管理テーブル１１４０に登録してよい。
【０１１４】
（ステップ１０２）サービス特定プログラム１１７０は、サービスの提供に必要なオブジェクトと、そのオブジェクト情報の取得タイミングとを特定する。そして、ステップ１０３へ進む。例えば、サービス特定プログラム１１７０は、構成情報テーブル１１３０を参照し、ステップ１０１においてサービスの対象として選択された業務に関連する構成情報を取得してもよい。典型的には、サービス特定プログラム１１７０は、構成情報テーブル１１３０から、ステップ１０１においてサービスの対象として選択された業務ＩＤ１１３１に対応する、サーバＩＤ１１３２、仮想計算機ＩＤ１１３３、ストレージＩＤ１１３４、ポートＩＤ１１３５、ボリュームＩＤ１１３６、プールＩＤ１１３７を取得してよい。さらに、サービス特定プログラム１１７０は、サービス種別管理テーブル１１２０を参照し、その取得した構成情報の中から管理対象となるオブジェクトを抽出し、その抽出したオブジェクトに関する情報を、実行サービス管理テーブル１１４０の１つのレコードの装置種別１１４５、装置ＩＤ１１４６、オブジェクト種別１１４７、オブジェクトＩＤ１１４８に格納してもよい。また、サービス特定プログラム１１７０は、アクセスを管理する機能と連携して、サービスの利用者がアクセス可能なオブジェクト情報を特定し、その特定した情報のみを実行サービス管理テーブル１１４０に格納しても良い。
【０１１５】
（ステップ１０３）管理計算機決定プログラム１１８０は、担当管理テーブル１１５０の情報を参照し、各管理計算機１０００が担当しているサービス及びオブジェクト情報、及び、情報取得のタイミング１１５１を特定する。そして、ステップ１０４へ進む。
【０１１６】
（ステップ１０４）管理計算機決定プログラム１１８０は、各サービスのタイミング１１５７の最小公倍数を算出し、それを取得周期として設定する。そして、ステップ１０５へ進む。例えば、管理計算機決定プログラム１１８０は、実行追加される新規サービスの情報提供間隔、及び、実行サービス管理テーブル１１４０の全ての（又は所定のグループ内の）情報提供間隔１１４３における最小公倍数を算出する。例えば、図６の場合、実行中サービスＩＤ１１４１「１」の情報提供間隔１１４３が「１０分」、実行中サービスＩＤ１１４１「２」の情報提供間隔１１４３が「１５分」であり、新規追加サービスのサービスＩＤ１１４１「３」の情報提供間隔１１４３が「５分」であるため、「１０分」と「１５分」と「５分」との最小公倍数である「３０分」を取得周期としてよい。この場合、取得周期内で各サービスが情報を取得するそれぞれのタイミングは、「５分」、「１０分」、「１５分」、「２０分」、「２５分」、「３０分」となる。
【０１１７】
（ステップ１０５）管理計算機決定プログラム１１８０は、装置（Ａ）及びオブジェクト種別（Ｂ）の組み合わせによるループ処理毎に、取得周期内の各タイミングに対応する情報取得ポリシを特定する。そして、ステップ１０６へ進む。ループ処理（Ａ）及び（Ｂ）の対象として選択された装置及びオブジェクト種別を、それぞれ、「選択装置」及び「選択オブジェクト種別」という。ここで、情報取得ポリシには、オブジェクト情報の収集に関するポリシが定義されている。例えば、情報取得ポリシには、実行中の複数の異なるサービスの中に、情報提供の周期の繰り返しの中で一致するタイミングを有し、且つ、同一のオブジェクトが含まれている場合、これら同一のオブジェクト情報の収集を１つの管理計算機１０００に担当させるという第１のポリシが定義されていてもよい。例えば、情報取得ポリシには、複数の異なるサービスの中に、情報提供の周期の繰り返しの中で一致するタイミングを有し、且つ、同一の種類のオブジェクトが含まれており、さらに、これらの同一の種類のオブジェクトが１つの装置に含まれている場合、これら同一の種類のオブジェクト情報の収集を１つの管理計算機１０００に担当させるという第２のポリシが定義されていてもよい。
【０１１８】
（ステップ１０６）管理計算機決定プログラム１１８０は、ステップ１０５において特定した情報取得ポリシに従い、当該ループ処理の対象として選択されたタイミング（例えば、ｎ番目のタイミング（ｎは正の整数）。以下「選択タイミング」という）における、情報取得方法決定処理を実行する。そして、ステップ１０７へ進む。なお、情報取得ポリシは、テーブルに文字列形式で格納されるなど、どのような形式であっても良い。情報取得ポリシの内容は、利用者によって設定されてもよいし、又は、予め管理計算機に組み込まれていてもよい。この情報取得方法決定処理の詳細については後述する（図１０参照）。
【０１１９】
（ステップ１０７）管理計算機連携プログラム１１９０は、管理計算機の担当決定処理を実行する。本処理の詳細については後述する（図１３参照）。そして、ステップ１０８へ進む。
【０１２０】
（ステップ１０８）管理計算機連携プログラム１１９０は、ステップ１０７で決定した各管理計算機１０００に、担当すべきオブジェクトなどの情報を通知し、本処理を終了する。通知を受けた各管理計算機１０００は、自分が担当のタイミングにおいて、自分が担当する装置に対して、情報取得ポリシに従い、オブジェクト情報の取得要求を発行する。例えば、通知を受領した管理計算機１０００は、上述の第１のポリシに従う場合、情報提供の周期の繰り返しの中で一致するタイミングにおいて、同一のオブジェクトを有する装置に対して、同一のオブジェクト情報の要求を１つ発行してよい。例えば、通知を受領した管理計算機１０００は、上述の第２のポリシに従う場合、情報提供の周期の繰り返しの中で一致するタイミングにおいて、１つの装置に対して、同一の種類の複数のオブジェクト情報の要求（バルク取得要求）を１つ発行してよい。
【０１２１】
管理計算機間における通知のため、各管理計算機１０００は、自他の管理計算機の一覧情報を、テーブルとして保持してもよい。この管理計算機の一覧情報を保持するテーブルは、各管理計算機にアクセスするために必要な情報を保持してよい。例えば、このテーブルは、管理計算機の識別子（識別情報）と、管理計算機のＩＰアドレスと、管理計算機の設置場所の情報（例えばサイト情報）とを対応付けるレコードを有してよい。このテーブルは、全ての管理計算機で共有されてよい。例えば、このテーブルは、管理計算機連携プログラム同士が連携、ＤＢの機能を利用、又は、ＤＮＳのようにネームサーバを利用するなどによって共有されてよい。
【０１２２】
図１０は、情報取得方法決定処理の例を示すフローチャートである。当該フローチャートは、図９のステップ１０６の詳細に相当する。
【０１２３】
（ステップ２０１）管理計算機決定プログラム１１８０は、図９の選択タイミングにおいて、選択装置の選択オブジェクト種別が既に取得対象となっているか否かを判定する。管理計算機決定プログラム１１８０は、ステップ２０１の判定結果が肯定的な場合（ＹＥＳ）、ステップ２０２へ進み、否定的な場合（ＮＯ）、ステップ２０４へ進む。
【０１２４】
（ステップ２０２）管理計算機決定プログラム１１８０は、選択タイミングにおいて、選択装置の選択オブジェクト種別に含まれる１つ以上のオブジェクトの中から１つ選択し（「選択オブジェクト」という）、選択オブジェクト情報が既に取得対象となっているか否かを判定する。すなわち、管理計算機決定プログラム１１８０は、同一のタイミングにおいて、同一のオブジェクトが存在するか否かを判定する。ステップ２０２の判定結果が肯定的な場合（ＹＥＳ）、管理計算機決定プログラム１１８０は、別のオブジェクトを選択し、同様の判定を行う。なぜなら、この選択オブジェクト情報は、取得する必要が無いからである。ステップ２０２の判定結果が否定的な場合（ＮＯ）、管理計算機決定プログラム１１８０は、ステップ２０３へ進む。
【０１２５】
（ステップ２０３）管理計算機決定プログラム１１８０は、選択タイミングにおいて、選択装置の選択オブジェクト種別を既に担当している管理計算機を、選択オブジェクトの担当に決定する。そして、管理計算機決定プログラム１１８０は、未選択のオブジェクトが残っている場合、別のオブジェクトを選択してステップ２０２及び２０３を行い（ループ処理（Ａ）を実行し）、そうでない場合、本処理の呼び出し元へ戻る。
【０１２６】
これにより、同じ種別のオブジェクト情報をまとめて取得要求（バルク取得要求）することができる。バルク取得要求には、複数の命令セットに対するパラメータを記述できてよい。装置は、バルク取得要求を受領すると、このバルク取得要求に含まれる命令セットを実行し、その実行結果をまとめて１つの応答として返信してもよい。これにより、オブジェクト情報の取得処理が高速化され得る。
【０１２７】
バルク取得要求によれば、前処理、後処理に含まれる処理を一度に実施したり、装置に対する物理的な処理に伴うロック取得などの処理を効率化したりすることができる。これにより、装置に対する物理的な処理に起因するボトルネックが改善され、処理が高速化され得る。
【０１２８】
（ステップ２０４）管理計算機決定プログラム１１８０は、図９の選択タイミングにおいて、選択装置の選択オブジェクト種別が取得対象となっていない場合（ステップ２０４：ＮＯ）、選択オブジェクト種別に係る情報を別のタイミングで取得している管理計算機が存在するか否かを判定する。管理計算機決定プログラム１１８０は、ステップ２０４の判定結果が肯定的な場合（ＹＥＳ）、ステップ２０５へ進み、否定的な場合（ＮＯ）、ステップ２０６へ進む。
【０１２９】
（ステップ２０５）管理計算機決定プログラム１１８０は、選択オブジェクト種別に係る情報を別のタイミングで取得している管理計算機を、選択タイミングにおける選択オブジェクト種別の担当に決定する。そして、本処理の呼び出し元へ戻る。
【０１３０】
（ステップ２０６）管理計算機決定プログラム１１８０は、選択タイミングにおいて担当しているオブジェクト数が最少の管理計算機を、選択タイミングにおける選択オブジェクト種別の担当に決定する。そして、本処理の呼び出し元へ戻る。
【０１３１】
上述では、ステップ２０４において、各管理計算機が担当するオブジェクトを、別のタイミングと同じにしている。しかし、このステップ２０４を実行せずに、ステップ２０５を実行しても良い。例えば、選択タイミングにおいて、選択装置の選択オブジェクト種別が、取得対象として１つも設定されていない場合、選択タイミングにおいて担当しているオブジェクト数が最少の管理計算機を、選択オブジェクト種別の管理計算機に決定してもよい。又は、ＣＰＵやメモリの負荷情報や、情報取得に要する時間などの情報に基づいて、選択オブジェクト種別を担当する管理計算機を決定してもよい。
【０１３２】
情報収集ポリシの例は、上述の例の他に、「取得の失敗等に備えて、全てのオブジェクト情報を二重に取得するポリシ」、「利用者毎のＳＬＡ等により、特定のデバイスや特定のオブジェクトについてのみ、オブジェクト情報を多重に取得するポリシ」、「特定の期間（何らかの障害事象が発生している場合など）のみ、オブジェクト情報を多重に取得するポリシ」などであってもよい。このように、様々なポリシを定義し、各ポリシに応じた処理プログラムを用意しておくことで、柔軟に情報取得方法を切り替えることが可能となる。これにより、管理計算機の数を好適にし得る。よって、サービスを比較的低コストで提供し得る。
【０１３３】
図１１は、サービスが削除される場合における、代表管理計算機の処理例を示すフローチャートである。
【０１３４】
本処理は、代表管理計算機１０００のプロセッサ１３００が、メモリ１１００上に展開されたサービス検出プログラム１１６０、サービス特定プログラム１１７０、管理計算機決定プログラム１１８０、及び、管理計算機連携プログラム１１９０を実行することによって実現されてよい。
【０１３５】
（ステップ３０１）サービス検出プログラム１１６０は、サービスの実行状況の変更（サービスの削除）を検出すると、ステップ３０２へ進む。このとき、サービス検出プログラム１１６０は、ステップ１０１と同様、サービスの削除内容の情報を受信してよい。例えば、この削除内容の情報は、入力デバイス１５００及びＧＵＩを介して利用者によって入力された情報であってもよい。又は、この削除内容の情報は、他の管理計算機から送信された情報であってもよい。この削除内容の情報には、利用者が実行中のサービスから選択した削除対象のサービス（「削除対象サービス」という）を示す情報が含まれてよい。
【０１３６】
（ステップ３０２）サービス特定プログラム１１７０は、実行サービス管理テーブル１１４０から、削除対象サービスの提供に必要であったオブジェクト情報を削除する。そして、ステップ３０３へ進む。
【０１３７】
（ステップ３０３）管理計算機決定プログラム１１８０は、担当管理テーブル１１５０から、削除対象サービスの関連サービスＩＤ１１５７を有するレコードを削除する。そして、ステップ３０４へ進む。
【０１３８】
（ステップ３０４）管理計算機連携プログラム１１９０は、管理計算機の担当決定処理を実行する。本処理の詳細については後述する（図１３参照）。そして、本処理を終了する。
【０１３９】
図１２は、オブジェクトが変更される場合における代表管理計算機の処理例を示すフローチャートである。
【０１４０】
本処理は、代表管理計算機１０００のプロセッサ１３００が、メモリ１１００上に展開されたオブジェクト検知プログラム１１１１０、サービス特定プログラム１１７０、管理計算機決定プログラム１１８０、及び、管理計算機連携プログラム１１９０を実行することによって実現されてよい。
【０１４１】
（ステップ４０１）オブジェクト検知プログラム１１１１０は、オブジェクトの変更を検出すると、ステップ４０２へ進む。オブジェクトの変更の例は、プール２２２０から論理ボリューム２２１０が新規に作成された場合などである。例えば、オブジェクト検知プログラム１１１１０は、装置におけるオブジェクトの追加や変更等を検出する。例えば、この変更内容の情報は、管理計算機１０００から入力されてもよい。又は、この変更内容の情報は、別の管理計算機から送信された情報であってもよい。又は、この変更内容の情報は、装置から通知されてもよい。又は、この変更内容の情報は、オブジェクト検知プログラム１１１１０が、装置から定期的に取得してもよい。
【０１４２】
（ステップ４０２）オブジェクト検知プログラム１１１１０は、このオブジェクトの変更内容の情報に基づいて、構成情報テーブル１１３０を変更する。そして、ステップ４０３へ進む。
【０１４３】
（ステップ４０３）オブジェクト検知プログラム１１１１０は、実行サービス管理テーブル１１４０を参照し、構成情報テーブル１１３０において変更されたオブジェクトが、実行中のサービスで利用されているか否かを判定する。オブジェクト検知プログラム１１１１０は、ステップ４０３の判定結果が肯定的な場合（ＹＥＳ）、ステップ４０４へ進み、否定的な場合（ＮＯ）、本処理を終了する。
【０１４４】
（ステップ４０４）オブジェクト検知プログラム１１１１０は、その変更内容を、実行サービス管理テーブル１１４０に反映する。そして、ステップ４０５へ進む。
【０１４５】
（ステップ４０５）オブジェクト検知プログラム１１１１０は、その変更内容を、担当管理テーブル１１５０に反映する。そして、ステップ４０６へ進む。
【０１４６】
（ステップ４０６）管理計算機連携プログラム１１９０は、管理計算機の担当決定処理を実行し、本処理を終了する。本処理の詳細については後述する（図１３参照）。
【０１４７】
図１３は、代表管理計算機における担当決定処理の例を示すフローチャートである。本処理は、図９のステップ１０７、図１１のステップ３０４、図１２のステップ４０６の詳細に相当する。
【０１４８】
（ステップ５０１）管理計算機連携プログラム１１９０は、担当管理テーブル１１５０を参照する。そして、ステップ５０２へ進む。
【０１４９】
（ステップ５０２）管理計算機連携プログラム１１９０は、担当管理テーブル１１５０の参照の結果、担当しているオブジェクト数が所定の上限を超過している管理計算機か存在する否かを判定する。管理計算機連携プログラム１１９０は、ステップ５０２の判定結果が肯定的な場合（ＹＥＳ）、ステップ５０３へ進み、否定的な場合（ＮＯ）、ステップ５０６へ進む。
【０１５０】
（ステップ５０３）管理計算機連携プログラム１１９０は、超過分のオブジェクトを、既存の管理計算機に、上限を超過しないように担当させることが可能であるか否かを判定する。管理計算機連携プログラム１１９０は、ステップ５０３の判定結果が肯定的な場合（ＹＥＳ）、ステップ５１０へ進み、否定的な場合（ＮＯ）、ステップ５０５へ進む。
【０１５１】
（ステップ５０５）管理計算機連携プログラム１１９０は、超過分のオブジェクトを担当するための１つ以上の管理計算機を新たに用意する。そして、ステップ５０４へ進む。
【０１５２】
（ステップ５０６）ステップ５０２において、担当しているオブジェクト数が所定の上限を超過している管理計算機が存在しない（ＮＯ）と判定した場合、管理計算機連携プログラム１１９０は、既存の管理計算機を削減しても、全てのオブジェクトを、残りの管理計算機に、上限を超過しないように担当させることが可能であるか否か判定する。管理計算機連携プログラム１１９０は、ステップ５０６の判定結果が肯定的な場合（ＹＥＳ）、ステップ５０７へ進み、否定的な場合（ＮＯ）、ステップ５１０へ進む。
【０１５３】
（ステップ５０７）管理計算機連携プログラム１１９０は、全てのオブジェクトを、残りの管理計算機に、上限を超過しないように担当させることが可能な範囲内で、既存の管理計算機を削減する。そして、ステップ５１０へ進む。
【０１５４】
（ステップ５１０）管理計算機連携プログラム１１９０は、管理計算機間で担当するオブジェクトを調整する。管理計算機連携プログラム１１９０は、必要に応じて、管理計算機を追加又は削除してよい。そして、管理計算機連携プログラム１１９０は、その調整内容を、担当管理テーブル１１５０に反映させる。すなわち、管理計算機連携プログラム１１９０は、何れのオブジェクト情報の取得を、何れの管理計算機に担当させるかを決定する。そして、本処理の呼び出し元へ戻る。
【０１５５】
ステップ５１０のオブジェクトの担当を調整する処理は、例えば、各管理計算機が担当するオブジェクト数、各管理計算機のＣＰＵやメモリの負荷情報、及び、各管理計算機の情報取得に要する時間などを、管理計算機の間で平準化する処理であってもよい。
【０１５６】
ステップ５１０における、調整内容の担当管理テーブル１１５０への反映は、任意のタイミング、例えば、今回の処理において各管理計算機に担当を通知した後、次回の処理のタイミングで行われて良い。
【０１５７】
上述における管理計算機の追加処理（又は削除処理）は、前述の自身及び他の管理計算機の一覧情報のテーブルを参照し、例えば同一のイメージを利用して仮想計算機を新規に生成する処理（又は仮想計算機を削除する処理）であってもよいし、管理計算機用のプロセスを生成する処理（又はプロセスを削除する処理）であってもよい。
【０１５８】
管理計算機を追加する場合、管理計算機連携プログラム１１９０は、利用可能なＩＰアドレスのプールを参照するなどして、自身及び他の管理計算機を示す情報を新規取得し、自身及び他の管理計算機の（上述の）一覧情報のテーブルを更新してよい。
【０１５９】
管理計算機が管理可能なオブジェクト数の上限は、他の指標による上限であってよい。例えば、管理計算機によるＣＰＵやメモリの負荷の上限、情報取得に要しても良い時間の上限などであってよい。また、図１３の処理は、周期的に実行されてもよいし、利用者が指定した任意のタイミングで実行されても良い。
【０１６０】
図１４は、オブジェクトのリアルタイムな情報の取得要求を受信した場合の処理の例を示すフローチャートである。すなわち、本処理は、サービス種別管理テーブル１１２０の情報提供間隔１１２２が「リアルタイム」である場合（つまり、周期的な実行ではない場合）における処理である。
【０１６１】
本処理は、管理計算機１０００のプロセッサ１３００が、メモリ１１００上に展開された情報取得プログラム１１１１０、及び、管理計算機連携プログラム１１９０を実行することによって実現されてよい。
【０１６２】
（ステップ６０１）情報取得プログラム１１１１０は、オブジェクト情報の取得要求を受信すると、ステップ６０２へ進む。本ステップは、入力デバイス１５００及びＧＵＩを介して利用者によって指定された情報を受信する処理であってもよい。又は、本ステップは、任意の管理計算機から入力された情報を通信デバイス１２００が受信する処理であっても良い。
【０１６３】
（ステップ６０２）情報取得プログラム１１１１０は、取得要求を受信したオブジェクトの種別毎に、当該種別の全てのオブジェクト情報を取得中か否か判定する。情報取得プログラム１１１１０は、ステップ６０２の判定結果が肯定的な場合（ＹＥＳ）、この取得が完了した後、ステップ６０６へ進み、否定的な場合（ＮＯ）、ステップ６０３へ進む。
【０１６４】
（ステップ６０３）管理計算機連携プログラム１１９０は、取得中ではないオブジェクトが一つでも存在する場合（ステップ６０２：ＮＯ）、当該オブジェクトの最新の取得時刻が規定値以内か否かを判定する。管理計算機連携プログラム１１９０は、ステップ６０３の判定結果が肯定的な場合（ＹＥＳ）、ステップ６０６へ進み、否定的な場合（ＮＯ）、ステップ６０４へ進む。
【０１６５】
（ステップ６０４）管理計算機連携プログラム１１９０は、当該オブジェクトの最新の取得時刻が規定値以内ではない場合（ステップ６０３：ＮＯ）、担当管理テーブル１１５０を参照し、受信したオブジェクトを担当する管理計算機を決定し、その決定した管理計算機に取得要求を転送する。そして、ステップ６０５へ進む。オブジェクトを担当する（転送先の）管理計算機は、例えば、管理計算機によるＣＰＵやメモリの負荷情報や、情報取得に要する時間などの情報に基づいて、決定されてよい。
【０１６６】
（ステップ６０５）その取得要求を転送された管理計算機は、その取得要求に基づいて情報を取得し、その最新の取得結果を、その取得要求元へ返信する。
【０１６７】
上述のステップ６０２から６０５までの処理を、全ての装置、及び、取得要求を受信したオブジェクトの全ての種別について実施し終えた場合、ステップ６０６へ進む。
【０１６８】
（ステップ６０６）管理計算機連携プログラム１１９０は、最新の取得結果を、ステップ６０１で受信した、オブジェクト情報の取得要求の送信元へ送信する。そして、本処理を終了する。
【０１６９】
なお、情報取得タイミングが直近且つ規定値以内に設定されている場合、その直近の情報取得タイミングで取得されるその他のオブジェクトと合わせて、上述の情報取得が行われてもよい。
【０１７０】
以上の実施形態によれば、管理計算機の間で誰がオブジェクト情報を取得するのかを調整することにより、各サービスにおいて取得を要するオブジェクト情報が重複する場合であっても、オブジェクト情報を重複して取得することを防止（又は軽減）することできる。よって、オブジェクト情報の提供元のデバイスの負荷を軽減することができる。
【０１７１】
上述した実施形態は、本発明の説明のための例示であり、本発明の範囲を実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【符号の説明】
【０１７２】
１：計算機システム  １０００：管理計算機  ２０００：ストレージ装置  ３０００：サーバ
【図１】
2017094194.tif 000003
【図２】
2017094194.tif 000004
【図３】
2017094194.tif 000005
【図４】
2017094194.tif 000006
【図５】
2017094194.tif 000007
【図６】
2017094194.tif 000008
【図７】
2017094194.tif 000009
【図８】
2017094194.tif 000010
【図９】
2017094194.tif 000011
【図１０】
2017094194.tif 000012
【図１１】
2017094194.tif 000013
【図１２】
2017094194.tif 000014
【図１３】
2017094194.tif 000015
【図１４】
2017094194.tif 000016
【国際調査報告】
2017094194.tif 000017
2017094194.tif 000018