(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024145465
(43)【公開日】2024-10-15
(54)【発明の名称】情報処理装置及び方法
(51)【国際特許分類】
G06F 9/44 20180101AFI20241004BHJP
G06F 11/34 20060101ALI20241004BHJP
【FI】
G06F9/44
G06F11/34 176
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023057828
(22)【出願日】2023-03-31
(71)【出願人】
【識別番号】524132520
【氏名又は名称】日立ヴァンタラ株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】松澤 敬一
(72)【発明者】
【氏名】早坂 光雄
【テーマコード(参考)】
5B042
5B376
【Fターム(参考)】
5B042GA05
5B042GA34
5B042MA08
5B042MA11
5B042MA14
5B042MC40
5B376AE44
5B376DA16
5B376FA13
(57)【要約】 (修正有)
【課題】APIパラメータの設定を容易化し、管理コストを低減させる情報処理装置及び方法を提供する。
【解決手段】ハイブリッドクラウドストレージシステムにおいて、上位API処理計算機は、対象機器のAPIパラメータに関するマニュアル・ナレッジを抽出し、抽出した記述に含まれる機器構成及び主要パラメータに基づいて分類軸を作成し、対象機器からAPI実行ログ及び構成情報を収集し、API実行ログを分類軸に従って分類し、最頻度の設定値を当該特定のパラメータのデフォルト値として決定するデフォルト値算出処理及び上位API呼び出しにおいて特定のパラメータが設定されていない場合に、対象機器の機器構成と、当該上位API呼び出しにおける主要パラメータとの組合せに対応するデフォルト値を特定のパラメータの値として上位API呼び出しに設定することにより得られた下位API呼び出しを対象機器に送信する不足パラメータ設定処理を含む。
【選択図】
図8
【特許請求の範囲】
【請求項1】
上位計算機から行われた上位API(Application Programming Interface)呼び出しに基づく下位API呼び出しを対象機器に行う情報処理装置において、
前記対象機器のAPIパラメータに関する情報をマニュアル・ナレッジとして外部から収集する第1の収集部と、
前記第1の収集部が収集したマニュアル・ナレッジから機器構成、主要パラメータ及び値を設定すべき特定のパラメータに関する記述を抽出し、抽出した記述に含まれる前記機器構成及び前記主要パラメータに基づいて分類軸を作成する分類軸作成部と、
前記対象機器からAPI実行ログ及び構成情報を収集する第2の収集部と、
第2の収集部が収集した前記API実行ログを前記分類軸に従って分類する分類部と、
分類ごとに、前記API実行ログにおける前記特定のパラメータの設定値を集計し、最頻度の設定値を当該特定のパラメータのデフォルト値として決定する決定部と、
前記上位API呼び出しにおいて前記特定のパラメータが設定されていない場合に、前記対象機器の前記機器構成と、当該上位API呼び出しにおける前記主要パラメータとの組合せに対応する前記デフォルト値を前記特定のパラメータの値として前記上位API呼び出しに設定することにより得られた前記下位API呼び出しを当該対象機器に送信する処理部と
を備えることを特徴とする情報処理装置。
【請求項2】
前記決定部は、
前記API実行ログにおけるAPIパラメータの設定値の集計の際に、正常終了しなかった事例の前記API実行ログを含めない
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記決定部は、
前記API実行ログにおけるAPIパラメータの設定値の集計の際に、長期正常運用している前記機器構成については、頻度の値に重み付けする
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記処理部は、
現在の前記対象機器の機器構成と完全に一致する前記組合せが存在しない場合には、前記APIパラメータの値を、類似する前記組合せに対応する前記デフォルト値に決定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記マニュアル・ナレッジは、人が記載した文書の情報である
ことを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記対象機器に障害事例が閾値を超えて発生した場合に、
前記第1の収集部は、
前記対象機器のAPIパラメータに関する情報を前記マニュアル・ナレッジとして外部から収集し、
前記第2の収集部は、
前記対象機器から前記API実行ログ及び前記構成情報を収集し、
前記分類部は、
前記第1の収集部が収集したマニュアル・ナレッジから機器構成及び主要パラメータを抽出し、抽出した前記機器構成及び前記主要パラメータの値の組合せに応じて前記API実行ログを分類し、
前記決定部は、
前記組合せごとに、分類された前記API実行ログにおけるAPIパラメータの設定値を集計し、最頻度の設定値を当該APIパラメータのデフォルト値として決定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記上位API呼び出しにおいて前記特定のパラメータの値が設定されていない場合に、前記決定部が決定した当該特定のパラメータのデフォルト値を、当該特定のパラメータの推奨値として前記上位計算機に送信する第1のデフォルト値活用部をさらに備え、
前記決定部による処理と、前記デフォルト値活用部による処理とのいずれを実行するかを事前に設定できる
ことを特徴とする請求項1に記載の情報処理装置。
【請求項8】
前記上位API呼び出しにおいて前記特定のパラメータの値が設定されている場合に、指定された当該特定のパラメータの値と、前記決定部が決定した当該特定のパラメータのデフォルト値とを比較し、両者に一定以上の差異がある場合には、両者の値が異なることを前記上位計算機に通知する第2のデフォルト値活用部をさらに備える
ことを特徴とする請求項1に記載の情報処理装置。
【請求項9】
前記マニュアル・ナレッジに変更が生じた場合に、
前記第1の収集部は、
前記対象機器のAPIパラメータに関する情報を前記マニュアル・ナレッジとして外部から収集し、
前記第2の収集部は、
前記対象機器から前記API実行ログ及び前記構成情報を収集し、
前記分類部は、
前記第1の収集部が収集したマニュアル・ナレッジから機器構成及び主要パラメータを抽出し、抽出した前記機器構成及び前記主要パラメータの値の組合せに応じて前記API実行ログを分類し、
前記決定部は、
前記組合せごとに、分類された前記API実行ログにおけるAPIパラメータの設定値を集計し、最頻度の設定値を当該APIパラメータのデフォルト値として決定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項10】
前記第2の収集部は、
前記対象機器の所有者ごとに、当該所有者が所有する前記対象機器から前記API実行ログ及び前記構成情報をそれぞれ収集し、
前記分類部は、
前記所有者ごとに、前記API実行ログを分類し、
前記決定部は、
前記所有者ごとに、前記APIパラメータのデフォルト値を決定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項11】
前記APIパラメータの前記デフォルト値が、前記マニュアル・ナレッジが変更されたことにより新たな前記デフォルト値に変更された場合に、変更前のデフォルト値を用いて行った過去の前記下位API呼び出しを、新たな前記デフォルト値を適用して再度行う
ことを特徴とする請求項9に記載の情報処理装置。
【請求項12】
上位計算機から行われた上位API(Application Programming Interface)呼び出しに基づく下位API呼び出しを対象機器に行う情報処理装置により実行される情報処理方法であって、
前記対象機器のAPIパラメータに関する情報をマニュアル・ナレッジとして外部から収集する第1のステップと、
収集したマニュアル・ナレッジから機器構成、主要パラメータ及び値を設定すべき特定のパラメータに関する記述を抽出し、抽出した記述に含まれる前記機器構成及び前記主要パラメータに基づいて分類軸を作成する第2のステップと、
前記対象機器からAPI実行ログ及び構成情報を収集する第3のステップと、
収集した前記API実行ログを前記分類軸に従って分類する第4のステップと、
分類ごとに、前記API実行ログにおける前記特定のパラメータの設定値を集計し、最頻度の設定値を当該特定のパラメータのデフォルト値として決定する第5のステップと、
前記上位API呼び出しにおいて前記特定のパラメータが設定されていない場合に、前記対象機器の前記機器構成と、当該上位API呼び出しにおける前記主要パラメータとの組合せに対応する前記デフォルト値を前記特定のパラメータの値として前記上位API呼び出しに設定することにより得られた前記下位API呼び出しを当該対象機器に送信する第6のステップと
を備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置及び方法に関し、例えば、管理者から発行されたAPI(Application Programming Interface)呼び出しを処理してストレージ装置に送信する情報処理装置に適用して好適なものである。なお、以下においては、APIを呼び出すことや、そのためのコマンドをAPI呼び出しと表現し、API呼び出しを生成して、他の計算機に送信することを「API呼び出しを行う」と表現するものとする。
【背景技術】
【0002】
近年、ストレージ市場において、顧客が所有するオンプレミスのストレージ機器と、パブリッククラウド上のストレージサービスとを連携して利用する、いわゆるハイブリッドクラウドストレージの利用が増えてきている。
【0003】
ハイブリッドクラウドストレージの管理では、複数の拠点における機器及びサービスが管理対象となる。その際、各機器やサービスが統一されていない場合には、それぞれの管理操作に用いるAPIが異なる。このような場合、APIが備える機能や、パラメータの有無、意味及び効果も機器やサービスによって異なってくる。
【0004】
このためストレージ機器に関する広範な知識を持たない管理者がハイブリッドクラウドストレージを一元管理する場合、かかる管理者がこれらのパラメータを適切に設定することは難しい。このことはAPIの利用におけるハイブリッドクラウドストレージ管理の工数増加や不適切な設定による管理コストの増加につながっている。
【0005】
API呼び出しにおけるパラメータ指定を容易化する公知例として、特許文献1がある。この特許文献1では、各機器や各サービスのAPIの上位に一連のAPI呼び出しを包括して行う別の上位APIを定める。APIユーザが上位APIを呼び出すと、上位APIは各機器や各サービスのAPIを予め規定された順で呼び出す。その際、各機器や各サービスのAPIにおいて必要なパラメータをユーザが指定しなかった場合、上位APIは、予め管理者が定めた固定のデフォルト値を埋め、各機器や各サービスのAPIを呼び出す。これによりユーザが指定すべきパラメータ数を削減することができる。
【0006】
一方、ストレージ機器のパラメータを自動的に設定する先行事例として、特許文献2も挙げられる。特許文献2では、既存のストレージ装置の設定情報から各パラメータの設定テンプレートを生成する。新設のストレージ装置の設定を行う場合、設定テンプレートの内容を、新設ストレージの構成に応じて修正し、新設ストレージ装置の構成に応じたパラメータを求める。この手順は自動的に行えるため、特許文献2に記載の発明によれば、特許文献1と同様に、ユーザが自ら設定すべきパラメータの数を削減することができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】国際公開第2019/163623号
【特許文献2】国際公開第2016/093843号
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1や特許文献2に開示された方法をハイブリッドクラウドストレージサービス管理に適用する場合、2つの問題が残る。
【0009】
1つ目の問題は、ストレージ機器においては、パラメータの最適値が機器構成によって異なる点である。特許文献1に開示された方法を用いた場合、固定のデフォルト値が適さない機器構成に対しても、そのデフォルト値を指定したAPIを呼び出すこととなるため、性能低下や機器停止などの障害要件となりかねない。
【0010】
また最適なデフォルト値が時間経過により変わる場合にも追従できない。時間経過により最適なデフォルト値が変化するケースとして、ハードウェアやファームウェアの刷新など、機器構成の変化によるものや、新たな障害事例の検出などにより問題となるパラメータの知見が新たに蓄積されるケースなどがある。
【0011】
2つ目の問題は、デフォルト値を定めることが難しいことである。上述のように、ストレージ機器は多様な機器構成と多数のパラメータを持つことから、特許文献1で用いる最適値を定めるためには知識と人手による工数とを要する。特許文献2では、適切な既存ストレージ機器を選択しなければ新設ストレージ機器に適切なパラメータを設定できない。ストレージ機器の構成及びパラメータは多様であるため、適切な既存のストレージ機器を選択するためには、やはり知識と人手による工数とを要することになる。
【0012】
本発明は以上の点を考慮してなされたもので、APIパラメータの設定を容易化し、管理コストを低減させ得る情報処理装置及び方法を提案しようとするものである。
【課題を解決するための手段】
【0013】
かかる課題を解決するため本発明においては、上位計算機から行われた上位API呼び出しに基づく下位API呼び出しを対象機器に行う情報処理装置において、前記対象機器のAPIパラメータに関する情報をマニュアル・ナレッジとして外部から収集する第1の収集部と、前記第1の収集部が収集したマニュアル・ナレッジから機器構成、主要パラメータ及び値を設定すべき特定のパラメータに関する記述を抽出し、抽出した記述に含まれる前記機器構成及び前記主要パラメータに基づいて分類軸を作成する分類軸作成部と、前記対象機器からAPI実行ログ及び構成情報を収集する第2の収集部と、第2の収集部が収集した前記API実行ログを前記分類軸に従って分類する分類部と、分類ごとに、前記API実行ログにおける前記特定のパラメータの設定値を集計し、最頻度の設定値を当該特定のパラメータのデフォルト値として決定する決定部と、前記上位API呼び出しにおいて前記特定のパラメータが設定されていない場合に、前記対象機器の前記機器構成と、当該上位API呼び出しにおける前記主要パラメータとの組合せに対応する前記デフォルト値を前記特定のパラメータの値として前記上位API呼び出しに設定することにより得られた前記下位API呼び出しを当該機器に送信する処理部とを設けるようにした。
【0014】
また本発明においては、上位計算機から行われた上位API呼び出しに基づく下位API呼び出しを対象機器に行う情報処理装置により実行される情報処理方法であって、前記対象機器のAPIパラメータに関する情報をマニュアル・ナレッジとして外部から収集する第1のステップと、収集したマニュアル・ナレッジから機器構成、主要パラメータ及び値を設定すべき特定のパラメータに関する記述を抽出し、抽出した記述に含まれる前記機器構成及び前記主要パラメータに基づいて分類軸を作成する第2のステップと、前記対象機器からAPI実行ログ及び構成情報を収集する第3のステップと、収集した前記API実行ログを前記分類軸に従って分類する第4のステップと、分類ごとに、前記API実行ログにおける前記特定のパラメータの設定値を集計し、最頻度の設定値を当該特定のパラメータのデフォルト値として決定する第5のステップと、前記上位API呼び出しにおいて前記特定のパラメータが設定されていない場合に、前記対象機器の前記機器構成と、当該上位API呼び出しにおける前記主要パラメータとの組合せに対応する前記デフォルト値を前記特定のパラメータの値として前記上位API呼び出しに設定することにより得られた前記下位API呼び出しを当該機器に送信する第6のステップとを設けるようにした。
【0015】
本発明の情報処理装置及び方法によれば、管理者は、下位API呼び出しに必要なすべてのAPIパラメータを自ら指定することなく、対象機器に対するAPI呼び出しを行うことができる。これにより対象機器を管理する上で必要となるAPIパラメータを設定するための学習や工数などの管理者の手間を省くことができる。
【発明の効果】
【0016】
本発明によれば、システム全体の管理コストを低減させ得る情報処理装置及び方法を実現できる。
【図面の簡単な説明】
【0017】
【
図1】第1の実施の形態によるハイブリッドクラウドストレージシステムの構成を概念的に示すブロック図である。
【
図2】ストレージ装置の構成を示すブロック図である。
【
図3】第1の実施の形態による上位API処理計算機の構成を示すブロック図である。
【
図4】API実行ログ管理テーブルの構成例を示す図表である。
【
図5】機器構成情報管理テーブルの構成例を示す図表である。
【
図6】(A)~(D)は、マニュアル・ナレッジの例を示す図である。
【
図7】デフォルト値管理テーブルの構成例を示す図表である。
【
図8】デフォルト値算出処理の処理手順を示すフローチャートである。
【
図9A】分類済みAPI実行事例データの構成例を示す図である。
【
図9B】分類済みAPI実行事例データの構成例を示す図である。
【
図9C】分類済みAPI実行事例データの構成例を示す図である。
【
図10】不足パラメータ設定処理の処理手順を示すフローチャートである。
【
図11】第2の実施の形態による上位API処理計算機の構成を示すブロック図である。
【
図12】第3の実施の形態による上位API処理計算機の構成を示すブロック図である。
【
図13】第4の実施の形態による上位API処理計算機の構成を示すブロック図である。
【
図14】既存構成修正処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下図面について、本発明の一実施の形態を詳述する。
【0019】
(1)第1の実施の形態
(1-1)ハイブリッドクラウドストレージシステムの概略構成
図1において、1は全体として本実施の形態によるハイブリッドクラウドストレージシステムの概略構成を示す。このハイブリッドクラウドストレージシステム1は、複数のストレージ装置2と、これらのストレージ装置2とインターネット等のネットワーク(図示せず)を介して接続された上位API処理計算機3とを備えて構成される。
【0020】
ストレージ装置2は、図示しない上位計算機からの要求に応じてデータを保存及び加工する装置であり、機能部として下位API処理部10を備えて構成される。またストレージ装置2は、情報としてAPI実行ログ11及び機器構成情報12を保持している。
【0021】
下位API処理部10は、ストレージ装置2の設定を変更するためのAPIを提供し、後述のように上位API処理計算機3から与えられる下位API呼び出し7に従った設定を行う機能を有する。ストレージ装置2の振る舞いは、下位API呼び出し7に従った設定の内容に応じて変更される。
【0022】
またAPI実行ログ11は、過去に呼び出された下位APIの呼び出し履歴の一覧であり、機器構成情報12は、現在及び過去のストレージ装置2の設定、稼動状況及び障害に関する情報である。
【0023】
上位API処理計算機3は、管理者4が使用する計算機(以下、これを管理者端末と呼ぶ)5に対してストレージ装置2を管理するためのAPI(以下、これを上位APIと呼ぶ)を提供する計算機であり、上位API処理部20及びデフォルトパラメータ算出部21を備える。
【0024】
上位API処理部20は、管理者4の操作に応じて管理者端末5から送信されてきたAPI呼び出し(以下、これを上位API呼び出し6と呼ぶ)に応じて、パラメータ指定済みのAPI呼び出し(以下、これを下位API呼び出し7と呼ぶ)を生成し、生成した下位API呼び出し7をストレージ装置2に送信する機能を有する機能部である。
【0025】
この上位API処理部20は、パラメータ指定部22を含む。パラメータ指定部22は、管理者端末5から上位API呼び出し6が与えられた場合において、下位APIで必要となるパラメータがその上位API呼び出し6に含まれていないときに、そのパラメータをそのパラメータについて予め算出したデフォルト値で補う機能を有する。
【0026】
デフォルトパラメータ算出部21は、かかるデフォルト値を算出する機能を有する機能部であり、API実行ログ・機器構成情報データベース23、マニュアル・ナレッジデータベース24、分類済みAPI実行事例データ25、デフォルト値管理テーブル26を備えて構成される。
【0027】
API実行ログ・機器構成情報データベース23は、各ストレージ装置2からそれぞれ収集した、API実行ログ11及び機器構成情報12が格納されたデータベースである。
【0028】
またマニュアル・ナレッジデータベース24は、ストレージ装置2の管理者、開発者及び利用者などのストレージ装置2に関する知見を有する有識者(人)が書いた、ストレージ装置2に関する文書から抽出した文書などの情報(以下、これらをマニュアル・ナレッジと呼ぶ)が格納されたデータベースである。
【0029】
分類済みAPI実行事例データ25は、API実行ログ・機器構成情報データベース23に格納されたAPI実行ログ11や機器構成情報12を、デフォルト値管理テーブル26で規定された分類軸に従って分類したデータ(以下、これを分類済みAPI実行事例データと呼ぶ)である。「分類軸」の詳細については後述する。
【0030】
デフォルト値管理テーブル26は、ストレージ装置2内のAPI(以下、これを下位APIと呼ぶ)のパラメータのデフォルト値を定めるための分類軸と、過去事例の頻度と、これらの分類軸及び過去事例の頻度に基づいて決定されたデフォルト値とが格納されたテーブルである。
【0031】
管理者4は、自己の管理者端末5を用いて上位API処理計算機3に対して上位API呼び出し6を行う、ストレージ装置2等の管理者である。
【0032】
この上位API呼び出し6に基づいて、上位API処理計算機3の上位API処理部20のパラメータ指定部22が、デフォルトパラメータ算出部21が管理するデフォルト値管理テーブル26を参照して、上位API呼び出し6内には存在しないものの、下位API処理において必要となるパラメータを埋めた下位API呼び出し7を生成する。またパラメータ指定部22は、生成した下位API呼び出し7を対象となるストレージ装置2に送信することにより、そのストレージ装置2の下位API処理部10を呼び出し、そのストレージ装置2を操作する。
【0033】
図2は、ストレージ装置2の具体的な構成例を示す。この
図2に示すように、ストレージ装置2は、CPU(Central Processing Unit)30、メモリ31、記憶媒体32、ネットワークインタフェース33及び外部ストレージインタフェース34を備えて構成される。
【0034】
CPU30は、ストレージ装置2全体の動作制御を司るプロセッサである。後述のようにメモリ31に格納されたプログラムをCPU30が実行することにより、ストレージ装置2全体としての各種処理が実行される。
【0035】
メモリ31は、例えばRAM(Random Access Memory)などの揮発性の半導体メモリと、ROM(Read Only Memory)などの不揮発性の半導体メモリとから構成される。メモリ31は、CPU30のワーキングメモリとして利用されるほか、各種プログラムを保持するためにも利用される。
【0036】
実際上、本実施の形態の場合、メモリ31には、プログラムとして、ストレージシステムプログラム35、下位API処理プログラム36及び過去事例送信プログラム37が格納され、データとして、API実行ログ11及び機器構成情報12が格納される。
【0037】
ストレージシステムプログラム35は、図示しない上位計算機からの要求に応じてデータを保存・加工する処理を実行する機能を有するプログラムである。
【0038】
また下位API処理プログラム36は、上位API処理計算機3(
図1)からの下位API呼び出し7(
図1)を受け付け、受け付けた下位API呼び出し7内のパラメータの値に応じてストレージシステムプログラム35の振る舞いを変える機能を有するプログラムである。
【0039】
さらに過去事例送信プログラム37は、
図3について後述する上位API処理計算機3の過去事例収集プログラム52からの要求に応じて、API実行ログ11や機器構成情報12を上位API処理計算機3に送信する機能を有するプログラムである。
【0040】
API実行ログ11は、上述のように過去の下位API呼び出し7の実行履歴のログであり、機器構成情報12は、ストレージ装置2の機器構成に関する情報である。API実行ログ11及び機器構成情報12は、ストレージシステムプログラム35、下位API処理プログラム36及び過去事例送信プログラム37からアクセス可能な状態であれば、メモリ31以外の場所の保管しておくようにしてもよい。例えば、API実行ログ11及び機器構成情報12を、記憶媒体32の一部に格納したり、他の計算機上に構築されたデータベース内に格納しておくようにしてもよい。
【0041】
記憶媒体32は、例えば、ハードディスク装置、SSD(Solid State Drive)及び又はDVD(Digital Versatile Disc)などの大容量の不揮発性記憶媒体から構成され、上位計算機から与えられたデータを保存するために利用される。
【0042】
またネットワークインタフェース33は、図示しないネットワークを介して接続された上位API処理計算機3との間の通信を行うために用いられる。この場合における通信プロトコルとしては、TCP/IP(Transmission Control Protocol / Internet Protocol)や、TCP/IP上に構築されたHTTP(HyperText Transfer Protocol)などのプロトコルを用いることができる。
【0043】
外部ストレージインタフェース34は、上位計算機から与えられる保存対象のデータを送受したり、そのデータの保存・加工の指示を受信したりするためのインタフェースである。このような外部ストレージインタフェース34として、光ファイバに対応したHBA(Host Bus Adaptor)やSCSI(Small Computer System Interface)ターゲットデバイスを適用することができる。
【0044】
図3は、上位API処理計算機3の具体的な構成例を示す。この
図3に示すように、上位API処理計算機3は、CPU40、メモリ41及びネットワークインタフェース43を備えて構成される。
【0045】
CPU40は、上位API処理計算機3全体の動作制御を司るプロセッサである。後述のようにメモリ41に格納されたプログラムをCPU40が実行することにより、上位API処理計算機3全体としての各種処理が実行される。なお、以下においては、各種処理の処理主体を「プログラム」として説明することがあるが、実際上は、そのプログラムに基づいてCPU40がその処理を実行することは言うまでもない。
【0046】
メモリ41は、例えばRAMなどの揮発性の半導体メモリと、ROMなどの不揮発性の半導体メモリとから構成され、CPU40のワーキングメモリとして利用されるほか、各種プログラムなどを保持するために利用される。
【0047】
実際上、本実施の形態の場合、メモリ41には、プログラムとして、上位API処理プログラム44及びデフォルト値算出プログラム45が格納され、データとして、API実行ログ・機器構成情報データベース23、マニュアル・ナレッジデータベース24、分類済み過去事例データ25及びデフォルト値管理テーブル26が格納されている。
【0048】
上位API処理プログラム44は、
図1について上述した管理者4が使用する管理者端末5から送信されてきた上位API呼び出し6(
図1)に応じて、対象とするストレージ装置2の対応する下位APIを呼び出す機能を有するプログラムである。CPU40がこの上位API処理プログラム44を実行することにより、
図1の上位API処理部20が具現化される。
【0049】
上位API処理プログラム44は、パラメータ指定プログラム50を備える。パラメータ指定プログラム50は、上位API処理プログラム44が対応する下位APIを呼び出す際に、
図7について後述するデフォルト値管理テーブル26を参照しながら下位API呼び出し7(
図1)のパラメータを適切に指定する機能を有するプログラムである。CPU40がこのパラメータ指定プログラム50を実行することにより、
図1について上述したパラメータ指定部22が具現化される。なお、上位API処理プログラム44が、上位API呼び出し6の内容をAPI実行ログ・機器構成情報データベース23に格納しておくようにしてもよい。
【0050】
デフォルト値算出プログラム45は、下位APIで必要となる各種パラメータのデフォルト値をそれぞれ算出する機能を有するプログラムである。CPU40がこのデフォルト値算出プログラム45を実行することにより、
図1について上述したデフォルトパラメータ算出部21が具現化される。
【0051】
このデフォルト値算出プログラム45は、分類軸作成プログラム51、過去事例収集プログラム52、過去事例抽出プログラム53、過去事例分類プログラム54及び集計・最頻値取得プログラム55を備えて構成される。
【0052】
分類軸作成プログラム51は、マニュアル・ナレッジデータベース24に蓄積されたマニュアル・ナレッジの内容を参照してデフォルト値管理テーブル26における分類軸を作成する機能を有するプログラムである。
【0053】
また過去事例収集プログラム52は、各所に存在する管理対象の各ストレージ装置2から、そのストレージ装置2が保持するAPI実行ログ11(
図2)や機器構成情報12(
図2)を収集してAPI実行ログ・機器構成情報データベース23に格納したり、Webなどからストレージ装置2に関する文書などの情報をマニュアル・ナレッジとして収集してAPI実行ログ・機器構成情報データベース23に格納する機能を有するプログラムである。
【0054】
過去事例抽出プログラム53は、API実行ログ・機器構成情報データベース23及びマニュアル・ナレッジデータベース24から、下位APIのパラメータに関連するAPI実行ログ11やマニュアル・ナレッジを抽出する機能を有するプログラムである。
【0055】
また過去事例分類プログラム54は、過去事例抽出プログラム53が抽出した下位APIのパラメータに関連するAPI実行ログ11やマニュアル・ナレッジを、デフォルト値管理テーブル26に記載された分類軸に従って分類するようにして、分類済み過去事例データ25を生成する機能を有するプログラムである。
【0056】
さらに集計・最頻値取得プログラム55は、分類済み過去事例データ25の内容をもとに集計処理を行い、パラメータごとに、ストレージ装置2の機器構成及び主要パラメータの組合せごとの指定値ごとのデフォルト値を決定してデフォルト値管理テーブル26に格納する機能を有するプログラムである。
【0057】
ネットワークインタフェース43は、
図2について上述したストレージ装置2のネットワークインタフェース33と同様の構成を有するインタフェースであり、管理者端末5やストレージ装置2と通信を行うために利用される。この場合における通信プロトコルについても、TCP/IPや、TCP/IP上に構築されたHTTPなどのプロトコルを用いることができる。例えば、上位APIの受付や、下位APIの発行の際には、HTTPを用いてREST(REpresentational State Transfer)APIを用いることができる。
【0058】
図4は、上位API処理計算機3のメモリ41に格納されたAPI実行ログ・機器構成情報データベース23の一部を構成するAPI実行ログ管理テーブル23Aを示す。このAPI実行ログ管理テーブル23Aは、
図3について上述した上位API処理計算機3のデフォルト値算出プログラム45の過去事例収集プログラム52が各ストレージ装置2から収集したAPI実行ログ11を格納して管理するために利用されるテーブルである。API実行ログ管理テーブル23Aは、ストレージ装置2ごとにそれぞれ作成してもよいし、すべてのストレージ装置2から収集したAPI実行ログ11を1つのAPI実行ログ管理テーブル23Aに格納するようにしてもよい。
【0059】
このAPI実行ログ管理テーブル23Aは、時刻欄23AA、API名欄23AB、パラメータ欄23AC及び実行正否欄23ADを備えて構成される。API実行ログ管理テーブル23Aでは、1つのエントリ(行)が1回の下位API呼び出し7において実行された下位API処理のAPI実行ログ11に対応する。
【0060】
そして時刻欄23AAには、対応する下位API処理が実行された時刻が格納され、API名欄23ABには、そのとき呼び出された下位APIの名前が格納される。またパラメータ欄23ACには、対応する下位API呼び出し7(
図1)において値が指定された各パラメータの名前と、このとき指定された値とが格納される。さらに実行正否欄23ADには、対応する下位API処理が成功したか否か(正常終了したか否か)を表す情報が格納される。
図4では、対応する下位API処理が成功した場合には「Success」、失敗した場合は「Failed」が実行正否欄23ADに格納される場合を例示している。
【0061】
従って、
図4の場合、例えば最上段のエントリは、「2022/3/4 08:00」に呼び出された「create_volume」という下位APIにより実行された下位API処理のAPI実行ログ11であり、かかる下位APIの下位API呼び出し7において「name」というパラメータの値が「vol1」、「size」というパラメータの値が「10GB」に設定され(つまり「vol1」という「10GB」のボリュームを作成しろ(「create_volume」)という指示)、その下位APIの実行結果が成功(「Success」)であったことが示されている。
【0062】
なお、時刻、API名、パラメータ及び実行正否以外の情報についてもAPI実行ログ11で管理するようにしてもよい。
【0063】
図5は、上位API処理計算機3のメモリ41に格納されたAPI実行ログ・機器構成情報データベース23の一部を構成する機器構成情報管理テーブル23Bを示す。この機器構成情報管理テーブル23Bは、上述の過去事例収集プログラム52(
図3)が各ストレージ装置2から収集した機器構成情報12を格納して管理するために利用されるテーブルであり、ストレージ装置2ごとにそれぞれ作成される。
【0064】
この機器構成情報管理テーブル23Bは、項目欄23BA、設定値欄23BB及び最終更新日欄23BCを備えて構成される。また項目欄23BAは、機器ID欄23BAA、ハードウェア情報欄23BAB及びソフトウェア情報欄23BACに区分されている。さらにハードウェア情報欄23BABは、そのストレージ装置2に関する主要なハードウェア構成にそれぞれ対応させた小欄23BAD(
図5では「機種名」、「ディスク種別」、「ディスク台数」及び「メモリ容量」の各小欄23BAD)に区分されている。また、ソフトウェア情報欄23BACも、そのストレージ装置2に実装された主要なソフトウェア構成にそれぞれ対応させた小欄23BAD(
図5では「ファームウェアバージョン」、「option123」及び「option456」の各小欄23BAD)に区分されている。
【0065】
また設定値欄23BB及び最終更新日欄23BCは、機器ID欄23BAA及び各小欄23BADそれぞれ対応させて複数の小欄23BADに区分されている。そして設定値欄23BBの各小欄23BADには、それぞれ対応する項目の現在の値が格納され、最終更新日欄23BCの各小欄23BADには、それぞれ設定値欄23BBの対応する小欄23BAD内に格納された値が最終更新(登録を含む)された日にちが格納される。
【0066】
従って、
図5の例の場合、対応するストレージ装置2の機器IDが「ABC12345」でその最終更新日(ここでは登録日)が「2020/10/1」であることが示されている。また
図5では、そのストレージ装置2は、ハードウェアの「機種名」が「Model900」で、ハードウェアとして「50台」の「SSD」と、「128GB」のメモリとを備えており、「機種名」及び「ディスク種別」の各小項目の最終更新日が「2020/10/1」であり、「ディスク台数」及び「メモリ容量」の各賞項目の最終更新日が「2021/12/1」であることが示されている。
【0067】
さらに
図5では、そのストレージ装置2の「ファームウェアバージョン」が「v7.5」で「2022/2/5」に最終更新されており、「option123」及び「option456」というソフトウェアが実装され、「option123」の設定が「2021/12/1」に「on」に設定され、「option456」の設定が「2021/12/1」に「3」に設定されたことが示されている。
【0068】
なお機器構成情報管理テーブル23Bに、より多くのハードウェア情報及びソフトウェア情報を格納するようにしてもよい。またディスクの空き容量やデータ転送速度などのように連続的に時間変化する値を時系列に機器構成情報管理テーブル23Bに順次格納するようにしてもよい。
【0069】
図6(A)~(D)は、マニュアル・ナレッジデータベース24(
図3)に格納されたマニュアル・ナレッジ24Aの一例を示す。マニュアル・ナレッジ24Aは、上述のように有識者によって記述されたストレージ装置2に関する文書などの情報である。例えば、ストレージ製品のマニュアルや、ストレージ製品のWebサイトに公開された有識者のナレッジ(知識)の他、仕様書や、製品ユーザフォーラムへの書き込み、製品カタログ、障害事例及びカスタマストーリなど、ストレージ装置2に関する情報が書き込まれた文書もマニュアル・ナレッジ24Aに該当する。本実施の形態においては、これらの文書内の文章等のうち、2種類の文章等をマニュアル・ナレッジ24Aとして用いる。
【0070】
1つ目は、パラメータの実例を含む文章等であり、
図6(A)~(C)の例がこれに該当する。
図6(A)~(C)の例は、いずれも「set_copy_option」というAPIを呼ぶときに「id」、「speed」及び又は「option123」をそれぞれどのように設定している又は設定するかを示している。
【0071】
例えば
図6(A)は、API呼び出し7のAPI呼び出し列24AXに、APIを呼び出すときのコマンドにおいてAPI名とパラメータの値とが指定されている例である。また
図6(B)は、自然言語で記述された文章において、API名とパラメータの値とが指定されている例であり、
図6(C)は、表形式でパラメータ名とその設定値とを対にして列挙することでAPI名とパラメータの値とが指定された例である。
【0072】
2つ目は、パラメータに関連する機器構成や他パラメータに関する言及で、
図6(D)の例がこれに該当する。
図6(D)は、「option123」を「on」に設定するとコピー時間が短縮される機器構成(機種・ディスク種別など)や他パラメータ(コピー速度)の条件が示された例である。
【0073】
一方、
図7は、上位API処理計算機3のメモリ41(
図3)に格納されたデフォルト値管理テーブル26の構成例を示す。デフォルト値管理テーブル26は、マニュアル・ナレッジデータベース24に格納された各マニュアル・ナレッジ24A(
図6(A)~(D))から抽出された機器構成及びその機器構成における主要パラメータの設定値を管理するために利用されるテーブルであり、1又は複数のAPIパラメータごとにそれぞれ作成される。
【0074】
このデフォルト値管理テーブル26は、
図7に示すように、分類軸欄26A及びAPIパラメータ欄26Bを備えて構成されている。そして分類軸欄26Aには、デフォルト値を定めるべきAPIパラメータ(
図7の例では「option123」)を決定する際の参考となる過去事例を分類する基準が列挙される。
【0075】
図7の例では、かかる基準として「機器構成」及び「主要パラメータ」が定められており、これに伴って分類軸欄26Aが機器構成欄26AA及び主要パラメータ欄26ABに区分されている。また
図7の例では、「機器構成」は「機種」及び「ディスク種別」の組合せとしており、これに伴って機器構成欄26AAが機種欄26AAA及びディスク種別欄26AABに区分されている。また、これに伴って主要パラメータ欄26ABでは、主要パラメータとしてスピード(speed)が指定されている。
【0076】
従って、
図7の例では、「機種」、「ディスク種別」及び「speed」が「過去事例を分類する基準」として挙げられており、各マニュアル・ナレッジ24Aから抽出したこれら「機種」、「ディスク種別」及び「speed」の組合せが分類軸として分類軸欄26Aに列挙されることになる。従って、デフォルト値管理テーブル26における各エントリ26Cは、それぞれマニュアル・ナレッジ24Aから抽出したこれら「機種」、「ディスク種別」及び「speed」の具体的な値の組合せに対応する。
【0077】
APIパラメータ欄26Bは、対象APIパラメータ欄26BA、設定値及び頻度欄26BB及びデフォルト値欄26BCから構成される。そして対象APIパラメータ欄26BAには、デフォルト値を定めるべきパラメータのパラメータ名が格納される。
図7の例では、「option123」がデフォルト値を定めるべきパラメータのパラメータ名に該当する。
【0078】
また設定値及び頻度欄26BBには、分類軸欄26Aに列挙された「過去事例を分類する基準」の具体的な値の組合せのうち、対応する組合せの過去事例での設定値とその頻度とが格納される。ここでの「過去事例」とは、各ストレージ装置2からそれぞれ収集されてAPI実行ログ・機器構成情報データベース23(
図1)に蓄積されたAPI実行ログ11(
図1)にそれぞれ対応する下位API処理の事例を指す。つまり、設定値及び頻度欄26BBには、過去の下位API処理において設定された、対象APIパラメータ欄26BAにパラメータ名が格納されたAPIパラメータのすべての設定値と、機器構成及び主要パラメータの値が対応する値であった過去事例におけるこれら設定値ごとの頻度とが格納される。
【0079】
なお、
図7の例では、設定値は「ON」及び「OFF」の二択となっているが、3種類以上であってもよいし、数値をとるパラメータの場合には、ヒストグラムのように数値の区間ごとに項目を分けるようにしてもよい。
【0080】
さらにデフォルト値欄26BCには、設定値及び頻度欄26BBに格納された値に基づいて算出及び決定された、対象APIパラメータ欄26BAにパラメータ名が格納されたAPIパラメータのデフォルト値が格納される。本実施の形態の場合には、設定値及び頻度欄26BBに格納された設定値のうち、頻度が最も高い設定値(最頻度の設定値)が、対応する機器構成及び主要パラメータの具体的な値の組合せに対する対応するAPIパラメータのデフォルト値として決定され、決定されたデフォルト値がデフォルト値欄26BCに格納される。
【0081】
従って、
図7の例では、「set_copy_option」という下位APIでは、「option123」というAPIパラメータを設定する必要があり、過去事例では、「Model900」という機種においてスピードが「middle」の「HDD」というディスク種別については、「ON」に設定した過去事例が「2」つ、「OFF」に設定した過去事例が「5」つであり、これらの過去事例に基づいて決定された「option123」というAPIパラメータのデフォルト値は「OFF」であることが示されている。
【0082】
図8は、上位API処理計算機3のデフォルト値算出プログラム45(
図3)により実行されるデフォルト値算出処理の処理手順を示す。デフォルト値算出プログラム45は、この
図8に示す処理手順に従って下位APIで必要となる各APIパラメータに対するデフォルト値を算出する。
【0083】
なお、このデフォルト値算出処理は、例えば、管理者4からの指示に応じて実行されるようにしても、またAPI実行ログ・機器構成情報データベース23(
図3)に情報が時間経過で一定量蓄積されるごとに実行されるようにしても、さらには定期的に実行されるようにしてもよい。また、デフォルト値算出処理の各ステップを、一度に連続して行うようにしてもよいし、ステップごとに時間を空けて行うようにしてもよい。
【0084】
このデフォルト値算出処理が開始されると、まず、分類軸作成プログラム51(
図3)が、マニュアル・ナレッジデータベース24に蓄積されているマニュアル・ナレッジ24Aからストレージ装置2の主要パラメータ及びデフォルト値を定めたいパラメータを含む各種パラメータに関する記述をそれぞれ抽出する(S1)。また分類軸作成プログラム51は、抽出した各記述にそれぞれ含まれる機器構成や各種パラメータに関する情報を取得し、取得したこれらの情報に基づいて分類軸を作成する(S2)。
【0085】
この場合における機器構成や各種パラメータに関する記述の抽出や、抽出した記述からこれらの情報を取得する手法としては、自然言語に対する種々の解析手法を用いることができる。例えば、機器構成や各種パラメータ(主要パラメータを含む)に関する用語の一覧(以下、これを用語一覧と呼ぶ)を予め作成しておき、マニュアル・ナレッジ24Aの文章を形態素解析して単語に分解し、分解した各単語をかかる用語一覧に含まれる用語と比較することにより、所望する機器構成や各種パラメータを抽出することができる。
【0086】
その際、機器構成や各種パラメータに関する具体的な値を取得してもよい。例えば「Model900の場合」という記述が文章内に存在した場合であって、「Model900」という単語が機種を表すパラメータの1つであることが用語一覧から取得できるときには、その文章は機器構成として機器に関する用語を含む文章であると言える。また別の例では、マニュアル・ナレッジデータベース24に蓄積された文書を構文解析し、主語や述語に含まれる名詞を機器構成や各種パラメータとして抽出することができる。さらに文書内の表については、その表の各マスや箇条書きで記載された語句を機器構成や各種パラメータとして抽出することができる。
【0087】
以下においては、
図6(D)の例において、網掛けした「機器」、「ディスク種別」、「speed」及び「option123」という4つの単語が上述の用語の一覧内の用語と一致したものとする。また用語一覧から、「機種」及び「ディスク種別」は機器構成を表す単語であり、「speed」は主要パラメータを表す用語であることが認識できたものとする。この場合、残された「option123」がデフォルト値を定めたいパラメータとなる。
【0088】
続いて、分類軸作成プログラム51は、ステップS2で抽出した機器構成や各種パラメータを元に、分類軸の機器構成及び主要パラメータと、APIパラメータとを決定する。
図6(D)の例の場合、機器構成として「機種」及び「ディスク種別」、APIパラメータとして、「option123」が決定される。そして分類軸作成プログラム51は、決定結果に基づいてデータが格納されていない空のデフォルト値管理テーブル26(
図7)を作成する。
【0089】
次いで、過去事例収集プログラム52(
図3)が、ステップS3と、ステップS4及びステップS5とを並行して実行する。ステップS3と、ステップS4及びステップS5とは依存関係がないため、これらの実行順序は問わない。
【0090】
具体的に、過去事例収集プログラム52は、各拠点にある管理対象の各ストレージ装置2がそれぞれ保持するAPI実行ログ11及び機器構成情報12を収集し、収集したAPI実行ログ11及び機器構成情報12を上位API処理計算機3内のAPI実行ログ・機器構成情報データベース23(
図3)に格納する(S3)。
【0091】
この際、過去事例収集プログラム52は、収集したAPI実行ログ11については、
図4について上述したAPI実行ログ管理テーブル23Aに格納し、収集した機器構成情報については、機器構成情報管理テーブル23Bに格納する。
【0092】
また過去事例収集プログラム52は、これと並行して、各所に点在するストレージ装置2のAPIパラメータに関する情報について記述された文章をマニュアル・ナレッジ24Aとして収集し、収集したこれらのマニュアル・ナレッジ24Aをマニュアル・ナレッジデータベース24に格納する(S4)。
【0093】
かかる文章の収集方法としては、ストレージ装置2の開発元であれば、既にマニュアルや仕様書などの文書を保存しているはずであり、これらの文書から該当部分の文章を抽出して収集する方法が考えられる。また、ユーザの書き込みが行われるWebサイトや、ストレージ装置2の顧客とストレージ製品のサポート部門が障害情報やその解決法のやり取りの記録文章から、かかる文章を収集することができる。
【0094】
続いて、過去事例抽出プログラム53(
図3)が、上述のようにしてマニュアル・ナレッジデータベース24に収集されたマニュアル・ナレッジ24Aから、API実行ログ・機器構成情報データベース23に格納された過去事例相当の事例の情報を抽出する(S5)。この際の抽出手法としては、自然言語処理などの種々の手法を適用することができる。
【0095】
例えば、
図6(A)の例の場合、API呼び出し列25AXを解析することによって、「set_copy_option123」というAPIを呼び出す際のパラメータ「id」、「speed」及び「option123」の値がそれぞれ「vol1」、「fast」及び「on」であることを抽出することができる。
【0096】
また
図6(B)の例の場合にも、記載された文章を構文解析することによって、パラメータ「id」及び「option123」の値がそれぞれ「vol1」及び「on」であることを抽出することができる。
【0097】
さらに
図6(C)の例の場合には、表の各列を解析することにより、「set_copy_option123」というAPIを呼び出す際のパラメータ「id」、「speed」及び「option123」の値がそれぞれ「vol1」、「fast」及び「on」であることを抽出することができる。
【0098】
この後、過去事例分類プログラム54(
図3)が、ステップS5で過去事例抽出プログラム53が抽出した事例と、API実行ログ・機器構成情報データベース23に蓄積されたAPI実行ログ11及び機器構成情報12に基づく過去事例とを、ステップS2で作成した分類軸に従って分類するようにして分類済み過去事例データ25(
図3)を生成する(S6)。
【0099】
例えば、
図7の例の場合、分類軸は「機器構成」及び「主要パラメータ」であるため、過去事例分類プログラム54は、機器構成及び主要パラメータの具体的な値の組合せ(以下、これを機器構成・主要パラメータ値組合せと呼ぶ)ごとに分類して分類済み過去事例データ25を生成する。
【0100】
図9A~
図9Cは、かかる分類済み過去事例データ25の一例を示す。これらの分類済み過去事例データ25は、構成はすべて同じであり、分類条件テーブル25A及び過去事例テーブル25Bから構成される。
【0101】
分類条件テーブル25Aは、API名欄25AAと、分類軸の機器構成及び主要パラメータとそれぞれ対応付けられた各欄25AB~25ADを備えて構成される。
図9A~
図9Cは、
図6(A)~(C)に対応する分類済み過去事例データ25の構成例であるため、API名欄25AAに加えて、分類軸の「機種」、「ディスク種別」及び「Speed」にそれぞれ対応付けられた機種欄25AB、ディスク種別欄25AC及びSpeed欄25ADを備えている。
【0102】
そしてAPI名欄25AAには、パラメータのデフォルト値を設定すべきAPIの名前(API名)が格納され、機種欄25AB、ディスク種別欄25AC及びSpeed欄25ADには、それぞれ対応する機器構成・主要パラメータ値組合せに応じた機種、ディスク種別及びSpeedの具体的な各値がそれぞれ格納される。
【0103】
図9A~
図9Cは、API名が「set_copy_option」のAPIの関する分類済み過去事例データ25の例であり、
図9(A)は、かかる機器構成・主要パラメータ値組合せにおける機種、ディスク種別及びSpeedの各値がそれぞれ「Model900」、「SSD」及び「fast」、
図9(B)は、かかる機種、ディスク種別及びSpeedの各値がそれぞれ「Model900」、「HDD」及び「medium」、
図9(C)は、かかる機種、ディスク種別及びSpeedの各値がそれぞれ「Model800」、「SSD」及び「fast」である場合を示している。
【0104】
また過去事例テーブル25Bは、過去のAPI実行ログにおいて、過去のAPI実行ログ11のうち、機器構成・主要パラメータ値組合せにおける機種、ディスク種別及びSpeedの各値が対応する分類条件テーブル25Aに登録された機種、ディスク種別及びSpeedの各値であったAPI実行ログ11に関する情報が登録されるテーブルである。
【0105】
過去事例テーブル25Bは、時刻欄25BA、機器ID欄25BB、option値欄25BC及び実行正否欄25BDを備えて構成される。過去事例テーブル25Bにおける1つのエントリ(行)は、機器構成・主要パラメータ値組合せにおける機種、ディスク種別及びSpeedの各値が対応する分類条件テーブル25Aに登録された機種、ディスク種別及びSpeedの各値であった1つのAPI実行ログ11(1回のAPI呼び出し)に対応する。
【0106】
そして時刻欄25BAには、対応するAPIが呼び出された時刻が格納され、機器ID欄25BBには、APIの呼び出し対象となったストレージ装置2の機器IDが格納される。またoption値欄25BCには、対応する下位API呼び出し7(
図1)において設定された対応するパラメータの指定値が格納され、実行正否欄25BDには、そのAPI呼び出し7が成功したか否かを表す情報(成功した場合には「Success」、失敗した場合には「Failed」)が格納される。
【0107】
続いて、集計・最頻値取得プログラム55(
図3)が、分類済み過去事例データ25を参照し、デフォルト値管理テーブル26の設定値及び頻度欄26BB(
図7)を用いて、デフォルト値を定めたいAPIパラメータの機器構成・主要パラメータ値組合せごとのパラメータ値の設定値及びその頻度を集計する(S7)。
【0108】
この際、集計・最頻値取得プログラム55は、何らかの基準で個々の実行履歴に対して重み付けを行って(設定値及び頻度欄26BBにおける頻度の値に重み付けを行って)集計を行うようにしてもよい。
【0109】
例えば、
図9A~
図9Cについて上述した過去事例テーブル25Bの実行正否欄25BDに格納された値が「Failed」のエントリは計上しない(重みを「0」とする)ようにしてもよい。このように下位APIの失敗事例(正常終了しなかった下位API処理の事例)を頻度集計に含めないことで、次のステップS8においてより信頼性の高いデフォルト値を決定することができる。
【0110】
また長期正常運用している機器構成の履歴については、重みの値を大きくするなどの対応を適用することもできる。このようにしても、上述の場合と同様に、次のステップS8においてより信頼性の高いデフォルト値を決定することができる。
【0111】
次いで、集計・最頻値取得プログラム55は、デフォルト値管理テーブル26の各エントリ(各機器構成・主要パラメータ値組合せ)について、設定値及び頻度欄26BBを参照して、一定以上の頻度を持つ設定値を、対応する機器構成・主要パラメータ組合せにおける対応するAPIパラメータのデフォルト値に決定する(S8)。
【0112】
例えば、
図7における機種、ディスク種別及びspeedの各値がそれぞれ「Model900」、「SSD」及び「fast」の機器構成・主要パラメータ組合せの場合、「ON」という設定値の頻度が「8」、「OFF」という設定値の頻度が「1」であるため、頻度が高い「ON」がデフォルト値に設定される。
【0113】
以上により、このデフォルト値算出処理が終了する。
【0114】
一方、
図10は、管理者4が管理者端末5を操作して上位API呼び出し6(
図1)を上位API処理計算機3に送信した場合に上位API処理プログラム44(
図3)のパラメータ指定プログラム50(
図3)により実行される不足パラメータ設定処理の流れを示す。
【0115】
上位API処理プログラム44は、この
図10に示す処理手順に従って、上位API呼び出し6で指定されていないAPIパラメータを予め定められたデフォルト値に設定した下位API呼び出し7(
図1)を生成し、生成した下位API呼び出し7を対象とするストレージ装置2に送信することにより、対応する下位APIを呼び出す。
【0116】
実際上、この不足パラメータ設定処理は、管理者端末5からの上位API呼び出し6を上位API処理プログラム44が受信すると開始される。そして、まず、上位API処理プログラム44のパラメータ指定プログラム50が、受信した上位API呼び出し6を参照して、主要パラメータと、デフォルト値を設定すべきAPIパラメータとを特定する(S10)。
【0117】
この特定は、上位API呼び出し6内のAPI名を参照し、同じAPI名を持つデフォルト値管理テーブル26(
図7)内のAPIパラメータを探して、主要パラメータやAPIパラメータに該当するパラメータが上位API呼び出し6内に含まれるか否かを判定することにより行うことができる。
【0118】
例えば、
図1及び
図7の例では、上位API呼び出し6内のAPI名が「set_copy_option」であり、このAPI名は
図7のデフォルト値管理テーブル26のAPI名と一致する。このとき、
図1のように、上位API呼び出し6内に主要パラメータである「speed」を持ち、その値が「fast」に設定されているが、
図7のAPIパラメータである「option123」をパラメータとして持っていない。このためパラメータ指定プログラム50は、「option123」を上位API呼び出し6内においてデフォルト値を設定すべきパラメータとして特定する。
【0119】
続いて、パラメータ指定プログラム50は、下位APIを呼び出すストレージ装置2の機器構成情報12を取得する(S11)。この処理は、既に上位API処理計算機3が保持するAPI実行ログ・機器構成情報データベース23に格納された、対象とするストレージ装置2の機器構成情報12を取得するようにしても、また改めてパラメータ指定プログラム50が対象とするストレージ装置2から最新の機器構成情報12を取得するようにしてもよい。
【0120】
なお、このとき取得する機器構成情報12は、デフォルト値管理テーブル26の分類軸欄26A(
図7)を構成する項目欄において定められた項目の情報であるものとする。
図7の例では、上述のようにデフォルト値管理テーブル26は、分類軸欄26Aとして機種欄26AAA及びディスク種別欄26AABをもつ。例えば、機器構成情報12の内容が
図5に示す内容であった場合、機種は「Model900」、ディスク種別は「SSD」であることが取得できる。
【0121】
次いで、パラメータ指定プログラム50は、ステップS10で取得した主要パラメータと、ステップS11で取得した機器構成情報12とを用いて対象となるAPIパラメータのデフォルト値を決定し、そのAPIパラメータ及びそのデフォルト値を上位API呼び出し6に設定する(S12)。
【0122】
例えば、
図7の例の場合、今回の上位API呼び出し6において、対象とするストレージ装置2の機種は「Model900」、ディスク種別は「SSD」、主要パラメータの値は「fast」である。よって、パラメータ指定プログラム50は、この上位API呼び出し6において、APIパラメータ「option123」のデフォルト値を「ON」に決定し、決定したAPIパラメータ「option」を「ON」として上位呼び出し6に追加する。
【0123】
この後、上位API処理プログラム44が、上述のようにAPIパラメータ及びそのデフォルト値を追加した上位API呼び出し6を下位API呼び出し7(
図1)として対象とするストレージ装置2の下位API処理部10(
図1)に送信することにより、対応する下位APIを呼び出す(S13)。以上により、この一連の処理が終了する。
【0124】
なおステップS12におけるデフォルト値の決定手法としては、他の手法を適用することができる。例えば、デフォルト値管理テーブル26内に、対象とするストレージ装置2の機器構成と完全に一致するエントリが存在しない場合には、内容が類似する(機器構成や主要パラメータの値が近い又は一致する項目数が多い)エントリを参照して、対応するパラメータの値をそのエントリのデフォルト値に決定するようにしてもよい。このようにすることによって、適切なパラメータ値を設定することができ、不適切なAPIパラメータが設定されたことに起因する不具合の可能性を低減させることができる。
【0125】
また、対象とするストレージ装置2の構成と完全に一致するエントリが存在しない場合に、上位API呼び出し6を中断して、管理者4にパラメータ指定漏れであることを通知し、管理者4自身によるパラメータの指定を促すようにしてもよい。このようにしても、不適切なAPIパラメータが設定されたことに起因する不具合の可能性を低減させることができる。
【0126】
以上の構成を有する本実施の形態によるハイブリッドクラウドストレージシステム1によれば、管理者4は、下位APIが求めるすべてのAPIパラメータを自ら指定することなく、ストレージ装置2に対するAPI呼び出しを行うことができる。これによりストレージ装置2を管理する上で必要となるAPIパラメータを設定するための学習や工数などの管理者4の手間を省くことができる。よって、本ハイブリッドクラウドストレージシステム1によれば、API呼び出しに要する管理者4の労力及び時間を低減させて、システム全体の管理コストを低減させことができる。
【0127】
(2)第2の実施の形態
図3との対応部分に同一符号を付して示す
図11は、第1の実施の形態による上位API処理計算機3に代えて
図1について上述したハイブリッドクラウドストレージシステム1に適用される、第2の実施の形態による上位API処理計算機の構成を示す。この上位API処理計算機60は、デフォルト値活用プログラム61がメモリ41に追加的に格納されている点を除いて第1の実施の形態による上位API処理計算機3と同様に構成されている。
【0128】
デフォルト値活用プログラム61は、
図8について上述したデフォルト値算出処理で決定したAPIパラメータのデフォルト値を、下位API呼び出し7(
図1)におけるAPIパラメータ指定以外の用途に活用するプログラムである。
【0129】
例えば第1の実施の形態では、上位API処理プログラム44が、上位API呼び出し6(
図1)のうち、未設定のAPIパラメータの値をデフォルト値で埋めて下位API呼び出し7を行っている。これに対して、デフォルト値活用プログラム61は、上位API呼び出し6に未設定のAPIパラメータが存在する場合には、上位API呼び出し6を失敗扱いとし、
図10について上述した上位API処理のステップS12で決定したデフォルト値を未設定のAPIパラメータの推奨値として管理者端末5に通知し、これを表示させる。
【0130】
なお、本実施の形態の上位API処理計算機3では、このようなデフォルト値活用プログラム61による処理と、上述のような上位API処理プログラム44による処理(上位API呼び出し6のうち、未設定のAPIパラメータの値をデフォルト値で埋めて下位API呼び出し7を対象とするストレージ装置2に送信する処理)とのいずれを実行するかを管理者4が事前に設定画面などから設定することができる。
【0131】
またデフォルト値活用プログラム61は、上位API呼び出し6においてAPIパラメータの値が指定されている場合にも、そのAPIパラメータのデフォルト値について上位API処理(
図10)のステップS10~ステップS12により決定されたデフォルト値と、管理者4により設定されたAPIパラメータの値とを比較し、両者に一定以上の差異がある場合には、これらの値が異なることを管理者端末5に通知し、これを表示させる。これにより上位API呼び出し6において不適切なパラメータ値が設定されている可能性があることを管理者4に警告することができる。
【0132】
なお、この場合には、デフォルト値活用プログラム61は、上位API処理プログラム44が、上位API呼び出し6(
図1)のうち、未設定のAPIパラメータの値をデフォルト値で埋めて下位API呼び出し7を行うのを一時的に停止させる。そしてデフォルト値活用プログラム61は、その後、管理者4の操作に応じて管理者端末5から処理を続行すべき指示が与えられた場合には、停止していた処理を再開するよう上位API処理プログラム44に指示を与える。
【0133】
またデフォルト値活用プログラム61は、管理者4の操作に応じて管理者端末5から未設定のAPIパラメータの値を管理者4が設定した値から上位API処理(
図10)のステップS10~ステップS12により決定されたデフォルト値に変更するよう指示が与えられた場合には、かかるAPIパラメータ値をかかるデフォルト値に変更した上で処理を再開するよう上位API処理プログラム44に指示を与える。
【0134】
以上の構成を有する本実施の形態の上位API処理計算機60によれば、管理者4が、過去のAPI呼び出し事例の結果に基づいて、適切なAPIパラメータのパラメータ値の提示を受けたり、その管理者4が設定したパラメータ値に対する警告を受けたりすることができる。これにより本実施の形態による上位API処理計算機60によれば、不適切なパラメータ値の指定に起因する不具合の発生の可能性を低減することができる。
【0135】
(3)第3の実施の形態
第1の実施の形態において、
図8について上述したデフォルト値算出処理を繰り返し行うことによって、時間経過と共にマニュアル・ナレッジデータベース24に蓄積されるマニュアル・ナレッジ24Aの蓄積数が増え、より適切なパラメータのデフォルト値を決定することが期待できる。
【0136】
そこで、本実施の形態においては、第1の実施の形態のようにデフォルト値算出処理を定期的に実行することに加えて、他のタイミングでもデフォルト値算出処理を実行することによりデフォルト値の継続的な改善を図る。
【0137】
図3との対応部分に同一符号を付して示す
図12は、このような趣旨のもとに構築された第3の実施の形態による上位API処理計算機70の構成を示す。この上位API処理計算機70は、第1の実施の形態による上位API処理計算機3に代えて
図1について上述したハイブリッドクラウドストレージシステム1に適用される計算機であり、デフォルト値更新プログラム71がメモリ41に追加的に格納されている点が第1の実施の形態による上位API処理計算機3と相違する。
【0138】
デフォルト値更新プログラム71は、所定の契機で動作し、
図8について上述したデフォルト値算出処理を実行する。具体的に、デフォルト値更新プログラム71は、例えば、ある機器構成及びパラメータをとるストレージ装置2において障害事例が閾値を超えて発生した場合にデフォルト値算出処理を実行する。この場合、障害を再発させかねない既存のデフォルト値を見直すことで、さらなる障害事例の増加を防止することができる。
【0139】
また別の例として、管理者4又は上位API処理計算機3の管理者が明に指示を与えた契機でデフォルト値算出処理を実行する。これは、例えば新たに致命的な障害事例とその要因が発覚し、関連するパラメータを即座に変更しなければならない場合に有効である。
【0140】
さらに別の例として、以前のデフォルト値算出処理のステップS1で対象とした
図6(D)で例示したタイプのマニュアル・ナレッジ24Aが変更されたタイミングでデフォルト値算出処理を実行することができる。これは、
図6(D)のタイプのマニュアル・ナレッジ24Aが変更された場合、分類軸が変更され得るため、早期にその影響をデフォルト値管理テーブル26に反映させることが重要だからである。
【0141】
以上の構成を有する本実施の形態の上位API処理計算機70によれば、管理者4は、過去のAPI呼び出し事例の蓄積に基づいて、APIパラメータのより適切なデフォルト値を継続的に保持することができ、不適切なパラメータ指定に起因する不具合の発生の可能性を低減することができる。
【0142】
(4)第4の実施の形態
第1の実施の形態においては、デフォルト値管理テーブル26(
図7)がAPI名及びAPIパラメータの組合せごとに作成されていたが、一方で、この方法によると、多数のストレージ装置2やユーザ環境のAPI実行ログ11が混在した状態でデフォルト値管理テーブル26を作成することになる。
【0143】
しかしながら、ストレージ装置2のパラメータは、機器構成や主要パラメータに加えて、ストレージ装置2の使用方法にも影響を受ける。例えば、ストレージ装置2におけるデータ読み書きの応答レイテンシを求める用途と、データ転送速度を求める用途では最適なパラメータは異なる。
【0144】
そこで本実施の形態においては、デフォルト値管理テーブル26をストレージ装置2の所有者ごとに分けて作成する。具体的に、デフォルト値算出プログラム45の過去事例収集プログラム52は、ストレージ装置2の所有者ごとに、その所有者が所有するストレージ装置2からAPI実行ログ11及び機器構成情報12を収集し、過去事例分類プログラム54は、かかる所有者ごとに、上述と同様にしてAPI実行ログ11を分類し、集計・最頻値取得プログラム55は、所有者ごとに、APIパラメータのデフォルト値をそれぞれ決定する。また上位API処理プログラム44のパラメータ指定プログラム50は、
図10について上述した不足パラメータ設定処理のステップS12において、下位APIを呼び出すストレージ装置2を所有する所有者のデフォルト値管理テーブル26を用いる。
【0145】
以上の構成を有する本実施の形態の上位API処理計算機70によれば、管理者4は、同一所有者が所有するストレージ装置2のAPI実行ログ11から算出したデフォルト値を用いることができ、これにより自身のストレージ装置2の使用方法や使用環境に合致したパラメータ指定を行うことができる。
【0146】
(5)第5の実施の形態
第3の実施の形態によるデフォルト値更新プログラム71の処理によりデフォルト値管理テーブル26(
図7)が更新された場合、以前のデフォルト値管理テーブル26に従って指定したAPIパラメータが不適切となる可能性がある。
【0147】
そこで、本実施の形態においては、デフォルト値管理テーブル26に変更があった場合に、過去にそのデフォルト値管理テーブル26に従って指定した各ストレージ装置2のAPIパラメータを修正する上位API処理計算機を提案する。
【0148】
図12との対応部分に同一符号を付して示す
図13は、このような本実施の形態による上位API処理計算機80の構成を示す。この上位API処理計算機80は、第3の実施の形態による上位API処理計算機70に代えて
図1について上述したハイブリッドクラウドストレージシステム1に適用される計算機であり、既設構成修正プログラム81が追加的にメモリ41に格納されている点を除いて第3の実施の形態の上位API処理計算機70と同様に構成されている。
【0149】
図14は、かかる既設構成修正プログラム81により実行されるパラメータ修正処理を示す。このパラメータ修正処理は、上位API処理計算機80の電源が投入されると開始される。そして既設構成修正プログラム81は、デフォルト値管理テーブル26の内容変更の有無を監視する(S20)。
【0150】
そして既設構成修正プログラム81は、いずれかのデフォルト値管理テーブル26の内容変更を検出すると、API実行ログ・機器構成情報データベース23を参照して、修正前のデフォルト値管理テーブル26の内容(デフォルト値)を用いて行った過去の下位API呼び出し7(
図1)に対する下位APIの履歴をすべて検出する(S21)。なお、検出した下位APIの履歴のうち、既に操作対象が設定変更や削除により無効となった下位APIは対象外とする。また一度作成すると変更できないAPIパラメータも対象外とする。
【0151】
続いて、既設構成修正プログラム81は、修正前のデフォルト値管理テーブル26の内容に従ってデフォルト値を決定したAPIパラメータに対して、変更後のデフォルト値管理テーブル26の内容に基づいてそのAPIパラメータの新たなデフォルト値を決定し、決定した新たなデフォルト値を適用した下位API呼び出し7を再度実行する(S22)。
【0152】
以上の構成を有する本実施の形態の上位API処理計算機80によれば、デフォルト値管理テーブル26の変更に伴い、過去に行われたストレージ装置2の設定を継続的に改善することができ、これにより不具合の発生を未然に防止することができる。
【0153】
(6)他の実施の形態
なお上述の第1~第5の実施の形態においては、管理対象機器がストレージ装置2である場合について述べたが、本発明はこれに限らず、対象機器がストレージ装置2以外の場合でも広く適用することができる。
【0154】
また上述の第1~第5の実施の形態においては、上位API処理計算機3,60,70,80を複数のコンピュータ装置(例えば、分散型コンピューティングシステムを構成する複数のコンピュータ装置)から構成し、
図3について上述した上位API処理計算機3に実装された各種プログラム(上位API処理プログラム44のパラメータ指定プログラム50、デフォルト値算出プログラム45の分類軸作成プログラム51、過去事例収集プログラム52、過去事例抽出プログラム53、過去事例分類プログラム54及び集計・最頻値取得プログラム55)や、上位API処理計算機3,60,70,80が保持する各種情報(API実行ログ・機器構成情報データベース23、マニュアル・ナレッジデータベース24、分類済み過去事例データ25及びデフォルト値管理テーブル26)を、これら複数のコンピュータ装置に分散して配置するようにしてもよい。
【0155】
例えば、上位API処理プログラム44及びデフォルト値算出プログラム45をそれぞれ異なるコンピュータ装置上で動作させ、デフォルト値算出プログラム45が算出したデフォルト値が格納されたデフォルト値管理テーブル26をこれらのコンピュータ装置間でコピーしてそれぞれ保持し、他のコンピュータ装置に実行された上位API処理プログラム44が利用するようにしてもよい。
【0156】
またAPI実行ログ・機器構成情報データベース23、マニュアル・ナレッジデータベース24、分類済み過去事例データ25及びデフォルト値管理テーブル26は、上位API処理プログラム44及びデフォルト値算出プログラム45がアクセス可能な状態であれば、メモリ41以外の場所に保管しておくようにしてもよい。例えば、ハードディスク装置やSSD又はDVD等の不揮発性記憶媒体や、他の計算機上に構築されたデータベース内に格納しておくようにしてもよい。
【0157】
さらに上述の第1~第5の実施の形態においては、対象機器のAPIパラメータに関する情報をマニュアル・ナレッジとして外部から収集する第1の収集部と、第1の収集部が収集したマニュアル・ナレッジから機器構成、主要パラメータ及び値を設定すべき特定のパラメータに関する記述を抽出し、抽出した記述に含まれる機器構成及び主要パラメータに基づいて分類軸を作成する分類軸作成部と、対象機器からAPI実行ログ及び構成情報を収集する第2の収集部と、第2の収集部が収集したAPI実行ログを分類軸に従って分類する分類部と、分類ごとに、API実行ログにおける特定のパラメータの設定値を集計し、最頻度の設定値を当該特定のパラメータのデフォルト値として決定する決定部と、上位API呼び出しにおいて特定のパラメータが設定されていない場合に、対象機器の機器構成と、当該上位API呼び出しにおける主要パラメータとの組合せに対応するデフォルト値を特定のパラメータの値として上位API呼び出しに設定することにより得られた下位API呼び出しを当該機器に送信する処理部とを、それぞれ過去事例収集プログラム52、分類軸作成プログラム51、過去事例収集プログラム52、過去事例分類プログラム54及び集計・最頻値取得プログラム55により構成するようにした場合について述べたが、本発明はこれに限らず、これらの機能部をそれぞれハードウェアにより構成するようにしてもよい。
【0158】
同様に、上述の第2の実施の形態においては、上位API呼び出しにおいて特定のパラメータの値が設定されていない場合に、決定部が決定した当該特定のパラメータのデフォルト値を、当該特定のパラメータの推奨値として上位計算機に送信する第1のデフォルト値活用部と、上位API呼び出しにおいて特定のパラメータの値が設定されている場合に、指定された当該特定のパラメータの値と、決定部が決定した当該特定のパラメータのデフォルト値とを比較し、両者に一定以上の差異がある場合には、両者の値が異なることを上記計算機に通知する第2のデフォルト値活用部とをデフォルト値活用プログラム61により構成するようにした場合について述べたが、本発明はこれに限らず、かかる第1及び第2のデフォルト値活用部をハードウェアにより構成するようにしてもよい。
【0159】
さらに上述の第5の実施の形態においては、デフォルト値更新プログラム71及び既設構成修正プログラム81が上位API処理計算機80(
図13)に実装された場合について述べたが、本発明はこれに限らず、これらデフォルト値更新プログラム71及び既設構成修正プログラム81に加えて、さらに第2の実施の形態について上述したデフォルト値活用プログラム61(
図11)を上位API処理計算機80に実装するようにしてもよい。このようにすることによって、より一層と不適切なパラメータ値の指定に起因する不具合の発生の可能性を低減することができる。
【産業上の利用可能性】
【0160】
本発明は、上位計算機から出力された上位API呼び出しに基づく下位API呼び出しを対象機器に行う情報処理装置に適用することができる。
【符号の説明】
【0161】
1……ハイブリッドクラウドストレージシステム、2……ストレージ装置、3,60,70,80……上位API処理計算機、4……管理者、5……管理者端末、6……上位API呼び出し、7……下位API呼び出し、10……下位API処理部、11……API実行ログ、12……機器構成情報、20……上位API処理部、21……デフォルトパラメータ算出部、24A……マニュアル・ナレッジ、25……分類済みAPI実行事例データ、26……デフォルト値管理テーブル、40……CPU、51……分類軸作成プログラム、52……過去事例収集プログラム、53……過去事例抽出プログラム、54……過去事例分類プログラム、55……集計・最頻値取得プログラム、61……デフォルト値活用プログラム、71……デフォルト値更新プログラム、81……既設構成修正プログラム。