(57)【要約】  構成管理装置１０は、管理対象システムの構成の変更手順のうち試行対象の変更手順を実行することによって変更手順を学習する構成管理装置であって、試行対象の変更手順に含まれるパラメータの候補と実行済の変更手順に含まれているパラメータとの間の類似性の度合いをパラメータの種類に応じて計算する類似性計算手段１１と、計算された類似性の度合いを用いてパラメータの候補が試行対象の変更手順に含まれる確率を計算する確率計算手段１２とを備える。
2019073894.tif 000002
【特許請求の範囲】
【請求項１】
管理対象システムの構成の変更手順のうち試行対象の変更手順を実行することによって変更手順を学習する構成管理装置であって、
試行対象の変更手順に含まれるパラメータの候補と実行済の変更手順に含まれているパラメータとの間の類似性の度合いをパラメータの種類に応じて計算する類似性計算手段と、
計算された類似性の度合いを用いて前記パラメータの候補が試行対象の変更手順に含まれる確率を計算する確率計算手段とを備える
ことを特徴とする構成管理装置。
【請求項２】
計算された確率を基に次の前記試行対象の変更手順に含まれるパラメータを選択する選択手段と、
選択されたパラメータが含まれている前記試行対象の変更手順の実行結果を記憶する記憶手段とを備える
請求項１記載の構成管理装置。
【請求項３】
前記記憶手段に記憶されている実行結果と計算された類似性の度合いとを用いて前記パラメータの候補にスコアを付与する付与手段を備え、
前記確率計算手段は、付与されたスコアを用いて前記パラメータの候補が前記試行対象の変更手順に含まれる確率を計算する
請求項２記載の構成管理装置。
【請求項４】
前記記憶手段に記憶されている実行結果に基づいて前記管理対象システムの構成変更に使用される変更手順を導出する導出手段を備える
請求項２または請求項３記載の構成管理装置。
【請求項５】
導出された変更手順を前記管理対象システムが運用されている環境で実行する実行手段を備える
請求項４記載の構成管理装置。
【請求項６】
前記類似性計算手段は、パラメータの種類ごとに規定されている複数のパラメータの値の包含関係を用いて類似性の度合いを計算する
請求項１から請求項５のうちのいずれか１項に記載の構成管理装置。
【請求項７】
管理対象システムの構成の変更手順のうち試行対象の変更手順を実行することによって変更手順を学習する構成管理装置において実行される構成管理方法であって、
試行対象の変更手順に含まれるパラメータの候補と実行済の変更手順に含まれているパラメータとの間の類似性の度合いをパラメータの種類に応じて計算し、
計算された類似性の度合いを用いて前記パラメータの候補が試行対象の変更手順に含まれる確率を計算する
ことを特徴とする構成管理方法。
【請求項８】
計算された確率を基に次の前記試行対象の変更手順に含まれるパラメータを選択し、
選択されたパラメータが含まれている前記試行対象の変更手順の実行結果を記憶する
請求項７記載の構成管理方法。
【請求項９】
管理対象システムの構成の変更手順のうち試行対象の変更手順を実行することによって変更手順を学習するコンピュータにおいて実行される構成管理プログラムであって、
前記コンピュータで実行されるときに、
試行対象の変更手順に含まれるパラメータの候補と実行済の変更手順に含まれているパラメータとの間の類似性の度合いをパラメータの種類に応じて計算し、
計算された類似性の度合いを用いて前記パラメータの候補が試行対象の変更手順に含まれる確率を計算する
構成管理プログラム
を記録したコンピュータ読み取り可能な記録媒体。
【請求項１０】
コンピュータで実行されるときに、
計算された確率を基に次の前記試行対象の変更手順に含まれるパラメータを選択し、
選択されたパラメータが含まれている前記試行対象の変更手順の実行結果を記憶する
請求項９記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構成管理装置、構成管理方法および記録媒体に関し、特に強化学習により構成が管理および変更されるシステムの変更操作手順を学習できる構成管理装置、構成管理方法および記録媒体に関する。
【背景技術】
【０００２】
IT(Information Technology)システムの構成管理および構成変更で繰り返し実行される作業は、大きく３つに分けられる。１つ目の作業は、現在運用中のシステムの構成を把握する作業である。２つ目の作業は、変更要件を定義する作業である。３つ目の作業は、１つ目の作業の実行結果と２つ目の作業の実行結果とから導出される変更操作手順（以下、変更手順と呼ぶ。）を生成する作業、および生成された変更手順を実行する作業である。【０００３】
上記の３つの作業のうち、変更手順が生成され、生成された変更手順が実行される３つ目の作業は、特に手動で実行された時に工数の掛かる作業である。３つ目の作業に掛かる工数を削減できる様々な自動化技術が、開発および提案されている。【０００４】
例えば、非特許文献１〜２には、変更操作を自動で実行するソフトウェアツールが記載されている。非特許文献１〜２に記載されているソフトウェアツールは、システムが変更された後の状態や、変更時の変更操作順序に関する定義情報を入力として、システムの変更や設定を自動で行うツールである。【０００５】
ただし、非特許文献１〜２に記載されているソフトウェアツールは、変更操作のみを自動で実行し、変更手順を自動で生成しない。変更手順を自動で生成する技術として、特許文献１には、ITシステムの構成要素の動作状態と動作状態間の制約を定義することによって変更に要する手順を生成する変更計画システムが記載されている。【０００６】
また、部品の状態と制約との関係を状態遷移図で表現する手法では、一般的にシステムの設計情報と状態遷移図との変換方法が課題になる。特許文献２には、上記の課題を解決できる、状態を有するモデルを効率的に記述する変更管理システムが記載されている。【０００７】
特許文献１に記載されている変更計画システム、および特許文献２に記載されている変更管理システムが使用されると、非特許文献１〜２に記載されている変更手順を自動で実行するソフトウェアツールの入力形式で構成の変更手順を示す情報が生成される。すなわち、変更手順の生成から実行まで全て自動で行われる。【０００８】
上記のように、システム管理者は、特許文献１に記載されている変更計画システム、および特許文献２に記載されている変更管理システムを使用すると、変更手順を自動で生成できる。しかし、変更計画システムおよび変更管理システムを使用するにあたり、システム管理者には、ITシステムの構成要素の動作状態と、動作状態間の制約を事前に定義することが求められる。【０００９】
ITシステムの構成要素の動作状態と、動作状態間の制約を示す定義情報は、管理対象のITシステムの構成要素の動作を熟知した技術者が手動で生成するという方法以外の方法では生成が困難な情報である。すなわち、上記の定義情報の生成は、システム構成変更に掛かる工数を増大させる新たな要因になる。【００１０】
定義情報を容易に生成するためには、例えば、処理を実行してシステムの構成要素間の依存関係を確認し、構成要素間の依存関係を示す情報を検出することが考えられる。依存関係は、構成要素の全ての組み合わせに対して確認されることが求められる。【００１１】
また、処理を実行して適切な変更手順を導出する技術のうち、強化学習が用いられる技術が普及している。例えば、非特許文献３〜４には、ＣＰＵ（Central Processing Unit ）やメモリ割り当て量等のサーバのリソースやアプリケーションの様々な組み合わせに対して変更操作を試行し、試行結果を評価および学習することによって、最適な変更手順や変更パラメータを導出する技術が記載されている。【００１２】
強化学習では、制御対象の状態や所定の状態における制御に対して、状態や制御の「好ましさ」を表す報酬と呼ばれるスカラー値が定義される。一般的にエージェントと呼ばれる学習する主体は、学習対象の制御が実行される外部の環境から報酬を逐次的に取得することによって学習を行う。取得された様々な状態や制御に対する報酬の中で相対的に大きな値は、「高い報酬」と表現される。【００１３】
強化学習の分野では、学習対象の制御（例えば、変更操作）の組み合わせが膨大である場合に現実的な時間内に学習を完了させるための高速化技術が研究されている。【００１４】
例えば、非特許文献５には、ロボットの制御等、操作が実数等の連続空間で規定される強化学習問題に対して、学習の効率化を実現する技術が記載されている。操作が連続空間で規定されると、適当な離散化が行われても強化学習問題における組み合わせが膨大になりやすい。【００１５】
非特許文献５に記載されている技術は、具体的には、高い報酬が得られた制御に近い値を有する制御から同様に高い報酬が得られやすいという前提に基づいて、学習対象の制御を高い報酬が得られた制御を平均とする正規分布等で逐次定義することによって、学習の効率化を実現する。【００１６】
また、特許文献３には、効率的学習を実現するために、どの試行または動作を次に試すかを選択する自動化された動作選択方法が記載されている。また、特許文献４には、変更可能性のある項目の値のみが異なる変更要求であっても、正しく処理することが可能なシステム変更支援システムが記載されている。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２０１５−２１５８８５号公報
【特許文献２】特開２０１５−２１５８８７号公報
【特許文献３】特表２００８−５０８５８１号公報
【特許文献４】国際公開第２０１７／０３３３８９号
【非特許文献】
【００１８】
【非特許文献１】"Puppet 5.1 reference manual" 、[online]、Puppet、[ 平成29年 9月 5日検索] 、インターネット<https://docs.puppet.com/puppet/5.1/index.html>
【非特許文献２】"Ansible（登録商標） v2.4"、[online]、Ansible 、[ 平成29年 9月 5日検索] 、インターネット<http://docs.ansible.com/ansible/latest/intro.html>
【非特許文献３】J. Rao, X. Bu, C. Z. Xu and K. Wang, "A Distributed Self-Learning Approach for Elastic Provisioning of Virtualized Cloud Resources," In 19th Annual IEEE International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems, IEEE, 2011, pages 45-54.
【非特許文献４】I. J. Jureta, S. Faulkner, Y. Achbany and M. Saerens, "Dynamic Web Service Composition within a Service-Oriented Architecture," In IEEE International Conference on Web Services, IEEE, 2007, pages 1-8.
【非特許文献５】Cheng-Jian Lin and Chin-Teng Lin, "Reinforcement learning for an ART-based fuzzy adaptive learning control network," IEEE TRANSACTIONS ON NEURAL NETWORKS, IEEE, 1996, 7(3), pages 709-731.
【発明の概要】
【発明が解決しようとする課題】
【００１９】
非特許文献３〜４に記載されている実験的に多くのパターンを試行する研究法には、試行候補である変更手順のパターンが膨大になると現実的な時間内に試行や学習が完了しないという問題がある。すなわち、非特許文献３〜４に記載されている研究法の適用範囲は、変更手順のパターンやパラメータが少ない特殊な場合に限定される。【００２０】
しかし、一般的にITシステムの変更手順において、変更箇所や変更時に指定されるパラメータの値の組み合わせは膨大になることが多い。よって、上述した非特許文献３〜４に記載されている手法が使用される一般的な強化学習技術は、ITシステムの変更手順を学習することが困難である。【００２１】
非特許文献５に記載されている技術は、制御を決定するパラメータが、類似性の度合いが自明に定義される実数等のように連続空間で規定される場合に対してのみ適用される。よって、順序性や類似性の度合い（距離）が自明に定義されないパラメータが含まれるITシステムの変更手順の学習に非特許文献５に記載されている技術を適用することは困難である。【００２２】
また、特許文献３に記載されている動作選択方法、および特許文献４に記載されているシステム変更支援システムにおいても、順序性や類似性の度合い（距離）が自明に定義されないパラメータが含まれるITシステムの変更手順を学習することは想定されていない。【００２３】
［発明の目的］
そこで、本発明は、上述した課題を解決する、ITシステムの変更手順を学習する際の試行回数を削減できる構成管理装置、構成管理方法および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００２４】
本発明による構成管理装置は、管理対象システムの構成の変更手順のうち試行対象の変更手順を実行することによって変更手順を学習する構成管理装置であって、試行対象の変更手順に含まれるパラメータの候補と実行済の変更手順に含まれているパラメータとの間の類似性の度合いをパラメータの種類に応じて計算する類似性計算手段と、計算された類似性の度合いを用いてパラメータの候補が試行対象の変更手順に含まれる確率を計算する確率計算手段とを備えることを特徴とする。【００２５】
本発明による構成管理方法は、管理対象システムの構成の変更手順のうち試行対象の変更手順を実行することによって変更手順を学習する構成管理装置において実行される構成管理方法であって、試行対象の変更手順に含まれるパラメータの候補と実行済の変更手順に含まれているパラメータとの間の類似性の度合いをパラメータの種類に応じて計算し、計算された類似性の度合いを用いてパラメータの候補が試行対象の変更手順に含まれる確率を計算することを特徴とする。【００２６】
本発明による構成管理プログラムを記録したコンピュータ読み取り可能な記録媒体は、管理対象システムの構成の変更手順のうち試行対象の変更手順を実行することによって変更手順を学習するコンピュータにおいて実行される構成管理プログラムであって、コンピュータで実行されるときに、試行対象の変更手順に含まれるパラメータの候補と実行済の変更手順に含まれているパラメータとの間の類似性の度合いをパラメータの種類に応じて計算し、計算された類似性の度合いを用いてパラメータの候補が試行対象の変更手順に含まれる確率を計算する構成管理プログラムを記憶する。
【発明の効果】
【００２７】
本発明によれば、ITシステムの変更手順を学習する際の試行回数を削減できる。
【図面の簡単な説明】
【００２８】
【図１】本発明による構成管理装置の第１の実施形態の構成例を示すブロック図である。
【図２】第１の実施形態の確率分布決定部１１０の構成例を示すブロック図である。
【図３】包含関係を基に生成される距離関数の例を示す説明図である。
【図４】パラメータとしてIPv4アドレスが指定された場合の距離関数の例を示す説明図である。
【図５】重みスコアの生成式の例を示す説明図である。
【図６】パラメータの選択確率の生成式とIPv4アドレスにおいて生成された確率分布の例を示す説明図である。
【図７】第１の実施形態の構成管理装置１００による変更手順生成処理の動作を示すフローチャートである。
【図８】本発明による構成管理装置の第１の実施形態の他の構成例を示すブロック図である。
【図９】本発明の他の実施形態に係る構成管理装置の概要を示すブロック図である。
【図１０】本発明の各実施形態に係る構成管理装置を実行可能なハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【００２９】
＝＝第１の実施の形態＝＝
［構成の説明］
以下、本発明の実施形態を、図面を参照して説明する。図１は、本発明による構成管理装置の第１の実施形態の構成例を示すブロック図である。
【００３０】
本実施形態の構成管理装置は、定量化が困難な質的パラメータの間に類似性の度合い（距離）を定義し、定義された類似性の度合いを用いて学習（試行）対象のパターンに優先度を付与する。
【００３１】
付与された優先度は、類似性の度合いと学習経過情報を基に決定されたスコアに対応している。また、パラメータ間の類似性の度合い（距離）は、パラメータ間の包含関係を基に定義される。また、包含関係の定義は、パラメータの種類ごとに事前に指定される。
【００３２】
本実施形態の構成管理装置は、優先度を基に試行内容が選択される確率の確率分布を生成する。次いで、構成管理装置は、生成された確率分布に従って試行内容を決定することによって、構成の変更に有効な操作が含まれる正しい変更手順を、他の多くの無効な変更手順よりも優先的に学習する。
【００３３】
図１に示すように、本実施形態の構成管理装置１００は、確率分布決定部１１０と、学習管理部１２０と、試行決定部１３０と、状態把握部１４０と、手順導出部１５０と、学習データ格納部１６０とを備える。
【００３４】
また、図１に示すように、確率分布決定部１１０には、パラメータ集合定義、および重み付け関数が入力される。また、学習管理部１２０には、要件データが入力される。また、手順導出部１５０は、変更手順を出力する。
【００３５】
確率分布決定部１１０は、試行内容が効率的に決定されるために使用される各試行内容の選択確率を決定する機能を有する。確率分布決定部１１０は、各試行内容の選択確率が規定された確率分布を生成する。
【００３６】
学習管理部１２０は、入力された要件データを基に試行を繰り返し実行することによって要件を満たす変更手順を学習するための各ステップを制御する機能を有する。
【００３７】
図１に示すように、学習管理部１２０は、管理対象のITシステムの複製がインストールされた試行環境２００と通信可能に接続されている。学習管理部１２０は、試行決定部１３０が決定した試行内容を試行環境２００で実行する。
【００３８】
次いで、学習管理部１２０は、状態把握部１４０が指定した内容に従って試行結果を試行環境２００から抽出する。状態把握部１４０は、入力された要件データを基に試行環境２００で稼動する現在のITシステムの要件充足状況を確認する機能を有する。学習管理部１２０は、抽出された試行結果を評価する。
【００３９】
試行決定部１３０は、入力された要件データ、および確認された現在のITシステムの要件充足状況を基に次の試行内容を決定する機能を有する。
【００４０】
学習データ格納部１６０は、試行内容と試行後のITシステムの要件充足状況に基づいた試行結果の評価データを格納する機能を有する。すなわち、学習データ格納部１６０には、過去の試行結果が格納されている。なお、学習の開始時に、学習データ格納部１６０に格納されているデータは空である。
【００４１】
手順導出部１５０は、格納されている学習データに基づいて要件を充足するITシステムに対する変更手順を導出する機能を有する。
【００４２】
以下、本実施形態の構成管理装置１００による変更手順を学習する動作を説明する。利用者は、対象システムの変更要件が定義された要件データを学習管理部１２０に入力する。要件データには、利用者が充足を要求するシステムの要件、および要件の充足に求められる可能性がある制御操作が含まれる。
【００４３】
学習管理部１２０は、入力された要件データに基づいて学習を開始する。最初に、学習管理部１２０は、状態把握部１４０に要件データを入力する。
【００４４】
状態把握部１４０は、入力された要件データが示す要件を現在の試行環境２００が充足しているか否かを確認するための確認処理を特定する。次いで、状態把握部１４０は、特定された確認処理を学習管理部１２０に入力する。
【００４５】
学習管理部１２０は、入力された確認処理を実行する。次いで、学習管理部１２０は、確認処理が実行された後の試行環境２００の状態を記憶する。次いで、学習管理部１２０は、試行される制御操作を決定するために、要件データに指定されている要件の充足に求められる可能性がある制御操作のリストを試行決定部１３０に入力する。
【００４６】
試行決定部１３０は、入力された制御操作のリスト、および学習データ格納部１６０から取得された過去の試行結果に基づいて、次の試行内容を確率分布を用いて決定する。試行決定部１３０による決定方法は、強化学習におけるε-greedy 法等の試行選択手法の代替方法である。
【００４７】
次の試行内容を確率分布を用いて決定するために、試行決定部１３０は、確率分布決定部１１０に決定対象のパラメータの種類、および過去の試行結果を入力する。
【００４８】
図２は、第１の実施形態の確率分布決定部１１０の構成例を示すブロック図である。図２に示すように、確率分布決定部１１０は、距離計算部１１１と、重み割当部１１２と、分布化部１１３とを含む。
【００４９】
また、図２に示すように、距離計算部１１１には、予めパラメータ集合定義が入力されている。また、重み割当部１１２には、予め重み付け関数が入力されている。
【００５０】
距離計算部１１１は、パラメータの種類に応じたパラメータ間の類似性の度合い（距離）を計算する機能を有する。
【００５１】
重み割当部１１２は、過去の試行結果の評価データと、試行結果におけるパラメータと試行内容に含まれるパラメータとの距離に応じた重みを割り当てる機能を有する。重みを割り当てることによって、重み割当部１１２は、試行内容に含まれるパラメータにスコアを付与する。
【００５２】
分布化部１１３は、重み割当部１１２が算出したスコアを基に確率分布を生成する機能を有する。
【００５３】
本実施形態のパラメータ集合定義には、集合の種類に応じた要素の親子関係（包含関係）が規定されている。集合の種類は、例えば、Linux （登録商標）ファイルシステムのディレクトリや、IP(Internet Protocol) アドレスである。
【００５４】
例えば、IPv4アドレスの集合の要素である「192.168.255.248 」は、ネットワークアドレスとして解釈されると、最短のサブネットマスク長が29である。サブネットマスク長が29である場合のネットワークアドレスと同一のサブネットに属するIPv4アドレスは、ネットワークアドレス自身も含めて「192.168.255.248 」「192.168.255.249 」「192.168.255.250 」「192.168.255.251 」「192.168.255.252 」「192.168.255.253 」「192.168.255.254 」「192.168.255.255 」の８つのアドレスである。
【００５５】
包含関係上、８つのアドレスの中で「192.168.255.248 」は親にあたり、残りの７つのアドレスは子にあたる。本実施形態のパラメータ集合定義には、上記のようなパラメータの種類ごとの親子関係の計算方法がそれぞれ具体的に規定されている。
【００５６】
図２に示すように、試行決定部１３０が入力したデータのうち、パラメータ種別情報は距離計算部１１１に入力される。また、試行決定部１３０が入力したデータのうち、過去の試行結果情報は、重み割当部１１２に入力される。
【００５７】
距離計算部１１１は、入力されたパラメータ種別情報が示すパラメータの種類に対応する距離関数を重み割当部１１２に入力する。距離関数は、例えば図３に示す定義に基づいて生成される。図３は、包含関係を基に生成される距離関数の例を示す説明図である。
【００５８】
図３に示すように、パラメータ集合A がA={ai|i=1,・・・,N} と表現されるとき、パラメータの親の集合をP(ai) ⊆A とする。ただし、ai∈P(ai) であるため、P(ai) には親と子の両方が含まれる。また、パラメータのサイズ（子の要素数）は、|ai|と表現される。
【００５９】
上記の表現を用いて、図３に示す例ではパラメータ間の距離が、dij=mina∈{P(ai)∩P(aj)}|a| （ただし、i=j の場合０）と表現される。すなわち、距離dij は、親の集合の積集合の元の最小値を意味する。
【００６０】
距離計算部１１１は、２つのパラメータ間の類似性の度合い（距離）を、各パラメータを包含する親のパラメータ集合の積集合の元のうち、最小の要素数として定量化する。本実施形態の距離関数は、パラメータ集合の種類ごとに規定され、上述した集合要素の包含関係を基に決定される。なお、本実施形態の距離関数は、図３に示す定義以外の定義に基づいて生成されてもよい。
【００６１】
図４は、パラメータとしてIPv4アドレスが指定された場合の距離関数の例を示す説明図である。図４に示すように、パラメータ集合A は、A=192.168.0.0/28である。すなわち、集合要素の数は、ネットワークアドレスが除かれるため、15である。
【００６２】
図４に示す行列内の値が、距離関数で算出される値である。なお、図４に示す行と列の各ラベルの値は、「192.168.0.x 」のx の数値である。また、図４に示す行列内の値は、対角成分において同じ値である。なお、図４に示す例では、行列の右上半分の値の記載が省略されている。
【００６３】
距離関数が入力された重み割当部１１２は、過去の試行結果情報と重み付け関数とを用いて、高い報酬が得られた過去の試行結果情報が示すデータの近傍に存在するパラメータほど高得点となるように重み付けされたスコアを生成する。重み割当部１１２は、生成されたスコアを分布化部１１３に入力する。
【００６４】
図５は、重みスコアの生成式の例を示す説明図である。図５に示す例では、パラメータakに割り当てられる重みw(ak) が、過去の行動に対する報酬列R(aj) と重み付け関数f(x)の正規化された距離d’kjにおける値との積の、j=1~M に渡る和として算出される。
【００６５】
すなわち、重み割当部１１２は、試行候補のパラメータの有力度を、距離計算部１１１が計算した要件充足へ寄与する度合い（価値）と、過去の試行結果におけるパラメータと試行候補のパラメータとの距離を用いてスコアリングする。
【００６６】
生成されたスコアが入力された分布化部１１３は、スコアを基に確率分布を生成する。分布化部１１３は、生成された確率分布を試行決定部１３０に入力する。分布化部１１３は、例えばスコアの合計が「１」になるように正規化した上で、確率分布を生成する。
【００６７】
図６は、パラメータの選択確率の生成式とIPv4アドレスにおいて生成された確率分布の例を示す説明図である。図６（ａ）は、パラメータakの選択確率u(ak) の定義式の例を示す。なお、R(aj) とf(x)の各定義は、図５に示す各定義と同様である。
【００６８】
図６（ｂ）は、図４に示す距離関数の例を基に生成された確率分布を示す。パラメータ集合A は、図４に示す集合A と同様である。また、報酬列R(aj) はR(aj)={3(i=192.168.0.14),6(i=192.168.0.7)}である。また、重み付け関数f(x)はf(x)=exp(-x)、すなわちλ=1の指数分布である。
【００６９】
図６（ｂ）は、上記の条件の下で生成された、図６（ａ）に示す定義式で算出されたパラメータの選択確率の確率分布を示す。縦軸の数値は、選択確率である。横軸の数値は、「192.168.0.x 」のx の数値である。図６（ｂ）に示すように、パラメータ「192.168.0.7 」が最も選択される確率が高い確率分布が生成されている。
【００７０】
生成された確率分布が入力された試行決定部１３０は、入力された確率分布に従って生成されたパラメータが含まれる手順を次の試行内容（変更手順）として採用する。次いで、試行決定部１３０は、採用された変更手順の試行を学習管理部１２０に依頼する。
【００７１】
試行決定部１３０から具体的な試行内容（変更手順）が入力された学習管理部１２０は、試行環境２００で変更手順を実行する。変更手順を実行した後、学習管理部１２０は、実行結果を確認するために、上述した状態把握部１４０が特定した確認処理を再度実行する。
【００７２】
確認処理を実行した後、学習管理部１２０は、各試行内容の変更手順と各試行結果の評価データを学習データ格納部１６０に蓄積する。
【００７３】
以上の処理が繰り返し実行された結果、要件を満たす状態へITシステムを導く変更操作が十分に学習されると、手順導出部１５０は、学習データ格納部１６０を参照して、要件を満たす変更手順を抽出する。なお、学習が完了したとみなされる条件は、一般的な強化学習等の学習における停止条件と同様である。
【００７４】
手順導出部１５０は、抽出された変更手順を出力する。よって、本実施形態の構成管理装置１００は、上記の一連の処理を実行することによって、入力された要件データを基に要件を満たす変更手順を自動で生成できる。
【００７５】
上述したように、本実施形態の構成管理装置１００は、変更手順のパラメータの膨大なパターンや組み合わせが考えられるシステムの変更要件を利用者が強化学習システムに入力した場合であっても、確率上有力なパラメータの組み合わせを優先的に選択する。すなわち、構成管理装置１００は、有力な制御操作を効率的に学習することによって、現実的な時間内に学習を完了させることができる。
【００７６】
本実施形態の構成管理装置１００は、強化学習に代表されるITシステムの操作を何度も試行することによって評価および学習する手法において、現実的な時間内に完了させることが困難な程操作のパターンが膨大になる場合であっても、現実的な時間内に評価および学習を完了させることができる。また、構成管理装置１００は、学習結果を基に適切な変更手順を生成できる。
【００７７】
［動作の説明］
以下、本実施形態の構成管理装置１００が変更手順を生成する動作を図７を参照して説明する。図７は、第１の実施形態の構成管理装置１００による変更手順生成処理の動作を示すフローチャートである。
【００７８】
利用者は、対象システムの変更要件が定義された要件データを学習管理部１２０に入力する。すなわち、学習管理部１２０は、要件データを取得する（ステップS101）。
【００７９】
次いで、学習管理部１２０は、状態把握部１４０に要件データを入力する。状態把握部１４０は、入力された要件データを基に試行環境２００の状態を確認するための確認処理を特定する（ステップS102）。次いで、状態把握部１４０は、特定された確認処理を学習管理部１２０に入力する。
【００８０】
学習管理部１２０は、入力された確認処理を実行する（ステップS103）。次いで、学習管理部１２０は、確認処理を実行することによって確認された現在の試行環境２００の状態を記憶する（ステップS104）。
【００８１】
次いで、学習管理部１２０は、現在の試行環境２００の状態を評価し、評価結果を学習データとして学習データ格納部１６０に格納する（ステップS105）。評価結果等に基づいて、学習管理部１２０は、変更手順の学習が完了したか否かを判定する（ステップS106）。
【００８２】
学習が完了したと判定された場合（ステップS106におけるYes ）、手順導出部１５０は、学習データ格納部１６０を参照して、変更要件を満たす変更手順を抽出する。次いで、手順導出部１５０は、抽出された変更手順を出力する（ステップS111）。変更手順を出力した後、構成管理装置１００は、変更手順生成処理を終了する。
【００８３】
学習が完了していないと判定された場合（ステップS106におけるNo）、学習管理部１２０は、試行内容の変更手順を決定するように試行決定部１３０に指示する。指示を受けた試行決定部１３０は、確率分布を生成するように確率分布決定部１１０に指示する。
【００８４】
指示を受けた確率分布決定部１１０の距離計算部１１１は、入力されたパラメータ種別情報を基に距離関数を生成する（ステップS107）。次いで、距離計算部１１１は、生成された距離関数を重み割当部１１２に入力する。
【００８５】
距離関数が入力された重み割当部１１２は、入力された過去の試行結果情報と重み付け関数とを用いて、重み付けされたスコアを生成する（ステップS108）。次いで、重み割当部１１２は、生成されたスコアを分布化部１１３に入力する。
【００８６】
スコアが入力された分布化部１１３は、スコアを基に確率分布を生成する（ステップS109）。次いで、分布化部１１３は、生成された確率分布を試行決定部１３０に入力する。
【００８７】
確率分布が入力された試行決定部１３０は、確率分布に基づいて次の試行内容の変更手順を決定する。次いで、試行決定部１３０は、決定された変更手順を学習管理部１２０に入力する。
【００８８】
変更手順が入力された学習管理部１２０は、試行環境２００で変更手順を実行する（ステップS110）。次いで、学習管理部１２０は、再度ステップS103の処理を行う。ステップS101〜S110の処理が、変更手順の学習処理に相当する。
【００８９】
［効果の説明］
本実施形態の構成管理装置１００は、ITシステムの変更手順の学習および生成時に、広大な空間における質的パラメータが行動空間に含まれる強化学習を高速に実行できる。
【００９０】
具体的には、構成管理装置１００の試行決定部１３０が試行候補である膨大なパターンの中から学習に有効なパターンを効率的に選択することによって、学習に要する時間を短縮する。有効なパターンが効率的に選択されるように、確率分布決定部１１０は、パラメータ選択用の確率分布を生成する。
【００９１】
確率分布決定部１１０は、順序性や類似性の度合いが自明でない質的なパラメータに関してパラメータ間の包含関係を基に類似性の度合いを定義することによって、有効なパラメータに類似するパラメータの組み合わせがより選択されやすくなるような確率分布を生成する。生成された確率分布に従って試行対象のパラメータが選択されることによって、構成管理装置１００は、有効であると推測されるパラメータを効率的に試行および学習できる。
【００９２】
なお、構成管理装置は、生成された変更手順を示すデータを、実運用環境に自動で適用してもよい。図８は、本発明による構成管理装置の第１の実施形態の他の構成例を示すブロック図である。
【００９３】
図８に示すように、本実施形態の構成管理装置１０１は、確率分布決定部１１０と、学習管理部１２０と、試行決定部１３０と、状態把握部１４０と、手順導出部１５０と、学習データ格納部１６０と、手順実行部１７０とを備える。
【００９４】
図１に示す構成管理装置１００と異なり、図８に示す構成管理装置１０１には、手順実行部１７０が追加されている。手順実行部１７０以外の図８に示す構成管理装置１０１の構成は、図１に示す構成管理装置１００の構成と同様である。
【００９５】
手順実行部１７０は、手順導出部１５０が生成した変更手順を、対象システムが運用されている環境である実運用環境３００に適用する。手順実行部１７０は、変更手順を入力とし、実運用環境３００で変更作業を実行する。
【００９６】
本実施形態の構成管理装置１０１は、生成された変更手順を利用者の操作を要することなく自動で実運用環境に適用できる。
【００９７】
なお、本実施形態の構成管理装置１００〜１０１は、例えば、非一時的な記憶媒体に格納されているプログラムに従って処理を実行するＣＰＵによって実現されてもよい。すなわち、確率分布決定部１１０、学習管理部１２０、試行決定部１３０、状態把握部１４０、手順導出部１５０、および手順実行部１７０は、例えば、プログラム制御に従って処理を実行するＣＰＵによって実現されてもよい。
【００９８】
また、学習データ格納部１６０は、例えばＲＡＭ（Random Access Memory）で実現されてもよい。
【００９９】
また、本実施形態の構成管理装置１００〜１０１における各部は、ハードウェア回路によって実現されてもよい。一例として、確率分布決定部１１０、学習管理部１２０、試行決定部１３０、状態把握部１４０、手順導出部１５０、学習データ格納部１６０、および手順実行部１７０が、それぞれＬＳＩ（Large Scale Integration ）で実現される。また、それらが１つのＬＳＩで実現されていてもよい。
【０１００】
次に、本発明の他の実施形態を説明する。図９は、本発明の他の実施形態に係る構成管理装置の概要を示すブロック図である。本実施形態による構成管理装置１０は、管理対象システムの構成の変更手順のうち試行対象の変更手順を実行することによって変更手順を学習する構成管理装置であって、試行対象の変更手順に含まれるパラメータの候補と実行済の変更手順に含まれているパラメータとの間の類似性の度合いをパラメータの種類に応じて計算する類似性計算手段１１（例えば、距離計算部１１１）と、計算された類似性の度合いを用いてパラメータの候補が試行対象の変更手順に含まれる確率を計算する確率計算手段１２（例えば、分布化部１１３）とを備える。
【０１０１】
そのような構成により、構成管理装置は、ITシステムの変更手順を学習する際の試行回数を削減できる。
【０１０２】
また、構成管理装置１０は、計算された確率を基に次の試行対象の変更手順に含まれるパラメータを選択する選択手段（例えば、学習管理部１２０）と、選択されたパラメータが含まれている試行対象の変更手順の実行結果を記憶する記憶手段（例えば、学習データ格納部１６０）とを備えてもよい。
【０１０３】
そのような構成により、構成管理装置は、高い確率で選択されるパラメータの候補を次の試行対象の変更手順に採用できる。
【０１０４】
また、構成管理装置１０は、記憶手段に記憶されている実行結果と計算された類似性の度合いとを用いてパラメータの候補にスコアを付与する付与手段（例えば、重み割当部１１２）を備え、確率計算手段１２は、付与されたスコアを用いてパラメータの候補が試行対象の変更手順に含まれる確率を計算してもよい。
【０１０５】
そのような構成により、構成管理装置は、過去の変更手順の実行結果に基づいて確率分布を生成できる。
【０１０６】
また、構成管理装置１０は、記憶手段に記憶されている実行結果に基づいて管理対象システムの構成変更に使用される変更手順を導出する導出手段（例えば、手順導出部１５０）を備えてもよい。
【０１０７】
そのような構成により、構成管理装置は、学習結果に基づいて変更手順を導出できる。
【０１０８】
また、構成管理装置１０は、導出された変更手順を管理対象システムが運用されている環境で実行する実行手段（例えば、手順実行部１７０）を備えてもよい。
【０１０９】
そのような構成により、構成管理装置は、導出された変更手順を自動で実行できる。
【０１１０】
また、類似性計算手段１１は、パラメータの種類ごとに規定されている複数のパラメータの値の包含関係を用いて類似性の度合いを計算してもよい。
【０１１１】
そのような構成により、構成管理装置は、定量化が困難な質的パラメータ間の類似性の度合いをより容易に計算できる。
【０１１２】
また、構成管理装置１０には、利用者が充足を要求する管理対象システムの要件、および要件の充足に求められる可能性がある制御操作が含まれる要件データが入力されてもよい。
【０１１３】
上述した各実施形態を例に説明した本発明を、上述したごとくＣＰＵ等のプロセッサを利用して実現する場合の具体例を説明する。図１０は、本発明の各実施形態に係る構成管理装置を実行可能なハードウェア構成例を示す説明図である。
【０１１４】
図１０に示す構成管理装置は、ＣＰＵ２１と、主記憶部２２と、補助記憶部２３とを備える。また、ユーザが操作するための入力部２４や、ユーザに処理結果または処理内容の経過を提示するための出力部２５を備えてもよい。
【０１１５】
なお、図１０に示す構成管理装置は、ＣＰＵ２１の代わりにＤＳＰ（Digital Signal Processor）を備えてもよい。または、図１０に示す構成管理装置は、ＣＰＵ２１とＤＳＰとを併せて備えてもよい。
【０１１６】
主記憶部２２は、データの作業領域やデータの一時退避領域として用いられる。主記憶部２２は、例えばＲＡＭである。
【０１１７】
補助記憶部２３は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory ）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory ）、半導体メモリが挙げられる。
【０１１８】
入力部２４は、データや処理命令を入力する機能を有する。入力部２４は、例えばキーボードやマウス等の入力デバイスである。
【０１１９】
出力部２５は、データを出力する機能を有する。出力部２５は、例えば液晶ディスプレイ装置等の表示装置、またはプリンタ等の印刷装置である。
【０１２０】
また、図１０に示すように、構成管理装置において、各構成要素は、システムバス２６に接続されている。
【０１２１】
補助記憶部２３は、例えば、確率分布決定部１１０、学習管理部１２０、試行決定部１３０、状態把握部１４０、手順導出部１５０、および手順実行部１７０を実現するためのプログラムを記憶している。
【０１２２】
また、構成管理装置は、図１０に示すＣＰＵ２１が各構成要素が有する機能を提供するプログラムを実行することによって、ソフトウェアにより実現されてもよい。
【０１２３】
ソフトウェアにより実現される場合、ＣＰＵ２１が補助記憶部２３に格納されているプログラムを、主記憶部２２にロードして実行し、構成管理装置の動作を制御することによって、各機能がソフトウェアにより実現される。
【０１２４】
また、各構成要素の一部または全部は、汎用の回路（circuitry ）または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０１２５】
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０１２６】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成および詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１２７】
この出願は、２０１７年１０月１０日に出願された日本特許出願２０１７−１９７０２２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０１２８】
本発明は、ITシステムの仕様変更時や障害対応時に求められる変更操作のプロセスの設計や、設計されたプロセスの検証および実行を自動で行うシステム構成管理ツールやシステム変更管理ツールに好適に適用される。
【符号の説明】
【０１２９】
１０、１００、１０１  構成管理装置
１１  類似性計算手段
１２  確率計算手段
２１  ＣＰＵ
２２  主記憶部
２３  補助記憶部
２４  入力部
２５  出力部
２６  システムバス
１１０  確率分布決定部
１１１  距離計算部
１１２  重み割当部
１１３  分布化部
１２０  学習管理部
１３０  試行決定部
１４０  状態把握部
１５０  手順導出部
１６０  学習データ格納部
１７０  手順実行部
２００  試行環境
３００  実運用環境
【図１】
2019073894.tif 000003
【図２】
2019073894.tif 000004
【図３】
2019073894.tif 000005
【図４】
2019073894.tif 000006
【図５】
2019073894.tif 000007
【図６】
2019073894.tif 000008
【図７】
2019073894.tif 000009
【図８】
2019073894.tif 000010
【図９】
2019073894.tif 000011
【図１０】
2019073894.tif 000012
【手続補正書】
【提出日】令和2年4月1日(2020.4.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項９
【補正方法】変更
【補正の内容】
【請求項９】
管理対象システムの構成の変更手順のうち試行対象の変更手順を実行することによって変更手順を学習するコンピュータにおいて実行される構成管理プログラムであって、
前記コンピュータに、
試行対象の変更手順に含まれるパラメータの候補と実行済の変更手順に含まれているパラメータとの間の類似性の度合いをパラメータの種類に応じて計算する類似性計算処理、および
計算された類似性の度合いを用いて前記パラメータの候補が試行対象の変更手順に含まれる確率を計算する確率計算処理
を実行させるための構成管理プログラム。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
コンピュータに、
計算された確率を基に次の前記試行対象の変更手順に含まれるパラメータを選択する選択処理、および
選択されたパラメータが含まれている前記試行対象の変更手順の実行結果を記憶する記憶処理を実行させる
請求項９記載の構成管理プログラム。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、構成管理装置、構成管理方法および構成管理プログラムに関し、特に強化学習により構成が管理および変更されるシステムの変更操作手順を学習できる構成管理装置、構成管理方法および構成管理プログラムに関する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
［発明の目的］
そこで、本発明は、上述した課題を解決する、ITシステムの変更手順を学習する際の試行回数を削減できる構成管理装置、構成管理方法および構成管理プログラムを提供することを目的とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
本発明による構成管理プログラムは、管理対象システムの構成の変更手順のうち試行対象の変更手順を実行することによって変更手順を学習するコンピュータにおいて実行される構成管理プログラムであって、コンピュータに、試行対象の変更手順に含まれるパラメータの候補と実行済の変更手順に含まれているパラメータとの間の類似性の度合いをパラメータの種類に応じて計算する類似性計算処理、および計算された類似性の度合いを用いてパラメータの候補が試行対象の変更手順に含まれる確率を計算する確率計算処理を実行させることを特徴とする。
【国際調査報告】
2019073894.tif 000013
2019073894.tif 000014
2019073894.tif 000015
2019073894.tif 000016