(57)【特許請求の範囲】
【請求項１】
データ処理を行うためのリソースを提供し、当該リソースを利用して複数の情報システムの構築を可能としているデータ処理基盤において、各前記情報システムで稼働するソフトウェアに関する情報を含む構成情報を記述するシステムテンプレートの保守に利用されるシステムテンプレート保守システムであって、
各前記情報システムにおけるソフトウェア構成を示す情報であるソフトウェア構成情報を取得するためのソフトウェア構成情報取得部と、
取得した前記ソフトウェア構成情報を前記情報システム及び各前記情報システムが利用している前記システムテンプレートごとに格納するソフトウェア構成情報記憶部と、
前記情報システムごとに、取得した前記ソフトウェア構成情報とすでに前記ソフトウェア構成情報記憶部に格納されている前記ソフトウェア構成情報とを比較し、前記ソフトウェアの更新の履歴を変更履歴記憶部に格納する構成登録部と、を備え、
前記変更履歴記憶部に記録されている前記ソフトウェアの更新の履歴から導かれる当該ソフトウェアの更新頻度に基づいて前記情報システムにおける特定ソフトウェアの変更に影響を与えている前記情報システムにおけるソフトウェアを探索して提示する、システムテンプレート保守システム。
【請求項２】
請求項１に記載のシステムテンプレート保守システムであって、
前記変更履歴記憶部を参照して、各前記情報システムについて同一のソフトウェアに更新適用されていないものを検索し、抽出された前記情報システムにおいて共通して実装されている他のソフトウェアを抽出し、抽出された当該他のソフトウェアを前記ソフトウェアの更新適用を阻害していたものと特定する、システムテンプレート保守システム。
【請求項３】
請求項２に記載のシステムテンプレート保守システムであって、
前記変更履歴記憶部を参照して、各前記情報システムについて特定のソフトウェアに関する更新適用履歴を抽出して更新適用周期を求め、求めた更新適用周期を超えてソフトウェア更新が適用されていないと判定した場合、当該ソフトウェアの更新が未適用であると判定する、システムテンプレート保守システム。
【請求項４】
請求項２に記載のシステムテンプレート保守システムであって、
前記変更履歴記憶部を参照して、各前記情報システムについて特定のソフトウェアに関する更新適用阻害要因となりうる対象の前記他のソフトウェアとして、各前記情報システムと連携して動作する前記データ処理基盤外に構築されている情報システムで動作するソフトウェアも含める、システムテンプレート保守システム。
【請求項５】
請求項２に記載のシステムテンプレート保守システムであって、
前記ソフトウェア構成情報記憶部に各前記情報システムが本運用されているか識別するための運用種別情報が格納されており、当該運用種別情報が本運用であると判定された前記情報システムについてのみ、前記変更履歴記憶部を参照して、各前記情報システムについて同一のソフトウェアに更新適用されていないものを検索する処理を実行する、システムテンプレート保守システム。
【請求項６】
請求項１に記載のシステムテンプレート保守システムであって、
前記更新適用を阻害していると特定する対象となるソフトウェアについて、対象から除外するソフトウェアを指定することが可能であるように構成されている、システムテンプレート保守システム。
【請求項７】
請求項２に記載のシステムテンプレート保守システムであって、
特定の前記情報システムについて更新が未適用であると判定されたソフトウェアと、当該ソフトウェアの更新適用を阻害している他のソフトウェアと判定された当該他のソフトウェアとを関連付けて表示出力する、システムテンプレート保守システム。
【請求項８】
請求項１に記載のシステムテンプレート保守システムであって、
特定の前記システムテンプレートについて、前記システムテンプレートを利用して構築されている前記情報システムに関し、特定のソフトウェアについて更新が適用されている前記情報システムの数を算出し、前記変更履歴記憶部を参照して、他の前記システムテンプレートを利用して構築された前記情報システムにおいて更新適用されているが、当該システムテンプレートを利用して構築された前記情報システムにおいて更新適用されていないソフトウェア更新と、当該ソフトウェアの更新適用を阻害していると推定される他のソフトウェアを求めて互いに関連付けて表示出力する、システムテンプレート保守システム。
【請求項９】
請求項２に記載のシステムテンプレート保守システムであって、
前記変更履歴記憶部を参照して、更新未適用のソフトウェアとして抽出され、当該ソフトウェアの更新適用を阻害すると判定された他のソフトウェアが検出された実績を有するソフトウェアを検出し、その後当該ソフトウェアの更新が適用されたと判定されたソフトウェアについて、当該ソフトウェアの更新適用を阻害していた要因が解消されたと判定する、システムテンプレート保守システム。
【請求項１０】
請求項１に記載のシステムテンプレート保守システムであって、前記システムテンプレートで構築される各前記情報システムに関する構成情報収集の可否が利用者ごとに設定されている構成情報収集可否記憶部を備え、前記構成情報収集可否記憶部において収集可能と記録されている利用者からのアクセスに対してのみ構成情報収集処理を実行する、システムテンプレート保守システム。
【請求項１１】
データ処理を行うためのリソースを提供し、当該リソースを利用して複数の情報システムの構築を可能としているデータ処理基盤において、各前記情報システムで稼働するソフトウェアに関する情報を含む構成情報を記述するシステムテンプレートの保守に利用されるシステムテンプレート保守方法であって、データ処理を行うプロセッサとデータ記憶デバイスとしてのメモリとを備えるコンピュータが、
各前記情報システムにおけるソフトウェア構成を示す情報であるソフトウェア構成情報を取得し、
取得した前記ソフトウェア構成情報を前記情報システム及び各前記情報システムが利用している前記システムテンプレートごとに格納し、
前記情報システムごとに、取得した前記ソフトウェア構成情報と前記すでに格納されているソフトウェア構成情報とを比較し、前記ソフトウェアの更新の履歴を格納し、
前記格納したソフトウェアの更新の履歴から導かれる当該ソフトウェアの更新頻度に基づいて前記情報システムにおける特定ソフトウェアの変更に影響を与えている前記情報システムにおけるソフトウェアを探索して提示する、システムテンプレート保守方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムテンプレート保守システム及びシステムテンプレート保守方法に関する。
【背景技術】
【０００２】
計算機の仮想化技術を活用したクラウドコンピューティングの普及に伴い、情報システムの基盤をプログラムで操作することが一般的になっている。仮想化の基盤やクラウドの基盤は、一般に、リソースのプロビジョニングのＡＰＩ（Application Programming Interface）を提供しており、プログラムはＡＰＩを利用して基盤を操作することができる。
複数の計算機とソフトウェアとで構成される情報システムを迅速に構築するために、情報システムの構成をコード化しておいて再利用可能とする方法の利用も拡大している。ここでは、このコード化された情報を「システムテンプレート」と呼ぶ。このシステムテンプレートの記法の標準は、例えば非特許文献１に定義されている。
【０００３】
システムテンプレートの利用者は、システムテンプレートを解釈して情報システムを仮想化環境やクラウド上に構築するプログラム（以下、「デプロイプログラム」）を用いて、簡単にシステムテンプレートで記述される情報システムを構築することができる。デプロイプログラムは、基盤のＡＰＩを利用してリソースのプロビジョニングを実行する。情報システムの開発者自身がシステムテンプレートを作成する場合もあるが、情報システムの開発者がシステムテンプレートを作成して提供し、それを別の利用者が用いる場合もある。このように、テンプレート化により、情報システム自体の再利用が容易になる。このようなテンプレートを活用してシステムを構築する方法が、例えば特許文献１に開示されている。特許文献１の発明では、テンプレートの組合せによるシステムの構成方法や、テンプレートの更新に関わる方法が開示されている。テンプレートの更新に関しては、テンプレートが更新された場合に利用者に通知し、利用者が新しいテンプレートの採用要否を判断する手順を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１２／０２１６１８０号明細書
【非特許文献】
【０００５】
【非特許文献１】OASIS Standard, "Topology and Orchestration Specification for Cloud Applications Version 1.0"、[online]、 平成２５年１１月２５日、［平成26年10月20日検索］、インターネット<http://docs.oasis-open.org/tosca/TOSCA/v1.0/os/TOSCA-v1.0-os.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般に、情報システムは、それを構成するソフトウェアの更新に合わせた保守が必要である。保守作業では、適用しようとしているソフトウェアの更新の影響を検証する。具体的には、情報システム内のあるソフトウェアＡを更新しても、システム全体が正常に動作し、連携する他のシステムへの影響がないかを確認する。
【０００７】
システムテンプレートの提供者は、可能な限り、常に最新のソフトウェア構成のシステムテンプレートを利用者に提供しようとする。しかしながら、適用するソフトウェアの更新によっては、テンプレート内の他のソフトウェアとの組み合わせで、情報システムの一
部の機能が動作しないなどの不具合を生じる場合がある。したがって、システムテンプレートの提供者も、提供するシステムテンプレートに含まれるソフトウェアが更新された時には、システムテンプレートの動作を検証し、更新されたシステムテンプレートを作成する必要がある。
【０００８】
加えて、システムテンプレート内のソフトウェアの更新は、システムテンプレートで構築された情報システムと他の情報システムとの連携で不具合が生じることもある。システムテンプレートの利用者は、ソフトウェア更新の内容と関係するシステムへの影響を慎重に評価して、適用すべき更新なのかを判定し、適用する場合には不具合が生じないかを見極めなければならない。
【０００９】
検証されたソフトウェア更新を配布する方法としては、利用者側の構成と検証済みの構成との差分から必要なソフトウェアのコンポーネントを求め、それを配布し適用する方法が、よく用いられている。
【００１０】
システムテンプレートの提供者には、提供するテンプレートの種類が増えるにつれて、それらで使っているソフトウェアの更新に関する検証作業の回数が増えるため、システムテンプレートの更新に要する工数が増大する問題がある。システムテンプレートの提供者は、関係するソフトウェア更新のそれぞれについて、利用者にとって重要な適用すべき更新なのかを判断し、ソフトウェア更新を適用した場合のシステムテンプレートの動作の検証を実施しなければならない。システムテンプレートの提供者の側では、これらの検証評価を効率的に実施することが課題である。
【００１１】
加えて、更新されたシステムテンプレートを提供する際には、単に更新されたテンプレートの発行を通知するだけでなく、利用者にソフトウェア更新の影響に関する情報を提供することが望ましい。それには、システムテンプレート提供者は、利用者側の環境でソフトウェア更新を適用した場合の影響の評価を実施しなければならない。しかしながら、システムテンプレート提供者の側では、個々の利用者の環境での影響も含めた検証は現実には困難である。システムテンプレート提供者が、システムテンプレートの利用者の利用状況も加味したソフトウェア更新の影響評価を、効率的に実施することが課題である。
【００１２】
本発明の一つの目的は、データ処理基盤上にシステムテンプレートを利用して構築された情報システムについて、情報システムあるいはシステムテンプレートを構成するソフトウェアの更新適用に付随する情報を提供することである。
【課題を解決するための手段】
【００１３】
前記の、及び他の課題を解決するために、本発明の一態様によれば、データ処理を行うためのリソースを提供し、当該リソースを利用して複数の情報処理システムの構築を可能としているデータ処理基盤において、各前記情報処理システムで稼働するソフトウェアに関する情報を含む構成情報を記述するシステムテンプレートの保守に利用されるシステムテンプレート保守システムであって、各前記情報処理システムにおけるソフトウェア構成を示す情報であるソフトウェア構成情報を取得するためのソフトウェア構成情報取得部と、取得した前記ソフトウェア構成情報を前記情報システム及び各前記情報システムが利用している前記システムテンプレートごとに格納するソフトウェア構成情報記憶部と、前記情報システムごとに、取得した前記ソフトウェア構成情報とすでに前記ソフトウェア構成情報記憶部に格納されている前記ソフトウェア構成情報とを比較して互いに相違するか判定し、相違すると判定した場合、前記情報システムごとにその相違する内容を変更履歴記憶部に格納する構成登録部とを備え、前記変更履歴記憶部に記録されている前記ソフトウェア構成情報の変更内容に基づいて前記情報システムにおける特定ソフトウェアの変更に影響を与えている要因を探索して提示する、システムテンプレート保守システムが提供さ
れる。
【発明の効果】
【００１４】
本発明の一態様によれば、データ処理基盤上にシステムテンプレートを利用して構築された情報システムについて、情報システムあるいはシステムテンプレートを構成するソフトウェアの更新適用に付随する情報を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の一実施形態によるシステムテンプレート保守システム１のシステム構成例を示す図である。
【図２】図２は、本発明の実施形態におけるコンピュータのハードウェア構成例を示す図である。
【図３】図３は、本発明の一実施形態におけるテンプレート利用状況データベース１６４の構成例を示す図である。
【図４】図４は、本発明の一実施形態における変更履歴データベース１６６の構成例を示す図である。
【図５】図５は、本発明の一実施形態におけるシステムテンプレートからの情報システムの構築処理フロー例を示すフローチャートである。
【図６】図６は、本発明の一実施形態における情報システムの構成情報の登録処理フロー例を示すフローチャートである。
【図７】図７は、本発明の一実施形態におけるソフトウェア更新状況収集処理フロー例を示すフローチャートである。
【図８】図８は、本発明の一実施形態におけるソフトウェア更新候補推定処理フロー例を示すフローチャートである。
【図９】図９は、本発明の一実施形態における問題ソフトウェア推定処理フロー例を示すフローチャートである。
【図１０】図１０は、本発明の一実施形態における問題ソフトウェアデータベース１７０の構成例を示す図である。
【図１１】図１１は、本発明の一実施形態における更新適用検出処理フロー例を示すフローチャートである。
【図１２】図１２は、本発明の一実施形態におけるポータル画面１２００の表示例を示す図である。
【図１３】図１３は、本発明の一実施形態におけるソフトウェア更新状況表示処理フロー例を示すフローチャートである。
【図１４】図１４は、本発明の一実施形態におけるシステムテンプレート更新状況取得処理フロー例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明について、その実施形態に即して添付図面を参照しながら説明する。
実施形態１
まず、本発明の第一の実施形態について説明する。本実施形態では、クラウド基盤１４０上にシステムテンプレートを用いて構築された情報システムの構成の変更状況を追跡し、あるソフトウェア更新を適用していない情報システムの構成の分析から、当該のソフトウェア更新の適用を妨げているソフトウェアを推定するシステムと手順を示している。
【００１７】
図１は、本実施形態によるシステムテンプレート保守システム１の一例を示す構成図である。データ処理基盤としてのクラウド基盤１４０では、複数の利用者の情報システムがデプロイされて実行されている。図１は、利用者Ｘの情報システムＡ（１１０）とその関連システムＤ（１１０）、及び利用者Ｙの情報システムＢ（１１０）がクラウド基盤１４０上で実行されている状況を示している。なお、個々の情報システムを示す場合には符号
１１０を用い、各情報システムを相互に識別して示す場合には情報システムＡ、Ｂ等と表記するものとする。図１では、クラウド基盤１４０によって提供されているシステムの範囲を破線で囲んで示している。クラウド基盤１４０は、利用者に対して情報システムを構築するための仮想サーバ、仮想ディスク、仮想ネットワークなどのリソースと、これらのリソースを割り当てるＡＰＩと、このＡＰＩを利用してシステムテンプレートが表現する情報システムを構築するテンプレートデプロイ部１４２とを提供している。図１ではＡＰＩはテンプレートデプロイ部１４２の一部であるとの想定の下、その図示を省略している。クラウド基盤１４０はまた、ＡＰＩが利用者に割り当てたリソースを管理するためのシステムリソースデータベース１４３を保持している。利用者は、これらを用いてクラウド基盤１４０上に所望の機能を達成するための構成を有する情報システム１１０を構築することができる。図１の例では、利用者Ｘは、クラウド基盤１４０に対応したシステムテンプレートの提供者が作成した情報システムＡを表現するシステムテンプレートを用いて、情報システムＡを構築している。同様に、利用者Ｙは情報システムＢを構築している。なお、以下、「データベース」を「ＤＢ」と略称する。クラウド基盤１４０にはまた、利用者構成情報収集部１４１が実装されている。利用者構成情報収集部１４１は、後述する各情報システム１１０の構成収集エージェント１１２と連携して、各情報システム１１０の構成情報を収集する機能を有するソフトウェアである。
【００１８】
図２に、クラウド基盤１４０を構成するコンピュータ１０のハードウェア構成の一例を示している。コンピュータ１０は、ＣＰＵ（Central Processing Unit）等のプロセッサ
１１、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等の記憶デバイスであるメモリ１２、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等の記憶デバイスである補助記憶装置１３、キーボード、マウス、タッチパネル等の入力デバイスと各種ディスプレイ、プリンタ等の出力デバイスとを備える入出力装置１４、及び各種通信ネットワークとのインタフェースである通信インタフェース１５とを備えている。なお、コンピュータ１０は必ずしも一つの筐体として構成されている必要はない。複数のコンピュータ１０を含むネットワークであってもよいし、またストレージネットワークとして構成されていてもよい。
【００１９】
情報システムＡは、仮想サーバＡ１（１１１）ないしＡ４、及びそれらを接続するネットワーク１１７で構成されている。それぞれの仮想サーバ１１１は、適宜のオペレーションシステム（ＯＳ）、ミドルウェア、アプリケーションなどのソフトウェアを実行している。例えば、仮想サーバＡ１は、ソフトウェアＡ１（１１３）ないしＡＮを実行している。加えて、仮想サーバＡ１では、あらかじめ各仮想サーバ１１１ごとに配置された構成収集エージェント１１２が各仮想サーバ１１１の構成情報を収集している。構成収集エージェント１１２は、クラウド基盤１４０の利用者構成情報収集部１４１からの指示で、各仮想サーバ１１１で実行されるソフトウェア１１３の構成を収集し、利用者構成情報収集部１４１に送る機能を有する。構成収集エージェント１１２が収集するソフトウェア１１３の構成は、例えばある仮想サーバＡ１で実行されるソフトウェア１１３の名称とそのバージョン番号とを含む。図１には記載していないが、他の仮想サーバ（利用者Ｙの情報システムＢをはじめ、クラウド基盤１４０に構築されている図示を省略している他の情報システム）も同様の構成であり、情報システム１１０を構成するソフトウェア１１３の他に構成収集エージェント１１２が動作している。なお、情報システム１１０と同様に、仮想サーバについて、個々の仮想サーバを示す場合には符号１１１を用い、各仮想サーバを相互に識別して示す場合には仮想サーバＡ１、Ａ２等と表記するものとする。また、仮想サーバ１１１で動作するソフトウェアについても、個々のソフトウェアを示す場合には符号１１３を用い、各ソフトウェアを相互に識別して示す場合にはソフトウェアＡ１、Ａ２等と表記するものとする。
【００２０】
図１の例では、利用者Ｘの情報システムＡは、情報システムＡと同様にクラウド基盤１
４０上に構築されている情報システムＤと通信可能に接続されている。情報システムＤは、情報システムＡと同じシステムテンプレートを使用して利用者Ｘが構築したシステムである。この情報システムＤに相当する他のシステムが、さらにクラウド基盤１４０上に構築されるとしてもよい。また、図１の例では、情報システムＡは、クラウド基盤１４０の外にある情報システムＣ（１５０）と接続していると想定している。例えば、利用者Ｘ自身のデータセンタに所有する情報システムが、これにあたる。
【００２１】
次に、テンプレート管理サーバ１６０について説明する。本実施形態のテンプレート管理サーバ１６０は、例えば図２に例示したコンピュータ１０として構成することができ、クラウド基盤１４０の利用者構成情報収集部１４１、テンプレートデプロイ部１４２、及びシステムリソースＤＢ１４３と通信可能なようにクラウド基盤１４０と通信ネットワーク１８０によって接続されている。テンプレート管理サーバ１６０は、クラウド基盤１４０の利用者構成情報収集部１４１が各情報システム１１０の構成収集エージェント１１２を通じて収集した各情報システム１１０の構成情報を記録する機能を有する。テンプレート管理サーバ１６０は、システムテンプレートに基づいて構築された情報システム１１０の最新構成を記録するＤＢであるテンプレート利用状況ＤＢ１６４（ソフトウェア構成情報記憶部）、記録されたそれらの情報システム１１０の更新状況を保持するＤＢである変更履歴ＤＢ１６６（変更履歴記憶部）、情報システム１１０の構成変更内容を変更履歴ＤＢ１６６などに記録するための構成登録部１６２、テンプレート利用状況ＤＢ１６４と変更履歴ＤＢ１６６の内容を分析するための更新候補推定部１６１及び問題ソフトウェア推定部１６９、情報システム１１０で動作している特定のソフトウェアの更新を妨げていると考えられるソフトウェアである問題ソフトウェアを記録するＤＢである問題ソフトウェアＤＢ１７０、及び定期的にクラウド基盤１４０上の情報システム１１０の構成情報を収集するための変更集計部１６７（ソフトウェア構成情報取得部）とを有する。テンプレート管理サーバ１６０は、他に、利用者に提供するシステムテンプレートを保持する記憶部であるテンプレートリポジトリ１６５、テンプレートの利用者の登録情報を記録するＤＢである利用者ＤＢ１６３、及び各ＤＢの記録内容の検索などを実行可能とするためのユーザインタフェースを実装するポータル１６８も備えている。
【００２２】
次に、テンプレート管理サーバ１６０が保持している主要なデータであるテンプレート利用状況ＤＢ１６４、及び変更履歴ＤＢ１６６について説明する。図３、図４に、テンプレート利用状況ＤＢ１６４及び変更履歴ＤＢ１６６の構成例をそれぞれ示す。テンプレート利用状況ＤＢ１６４は、システムテンプレートを使ってクラウド基盤１４０に構築された情報システムＡ，Ｂ等の各情報システム１１０の最新の構成と、各情報システム１１０と他のシステムとの関連を記録する。テンプレート利用状況ＤＢ１６４は、システムテンプレートから構築された情報システム１１０を互いに区別するための識別子であるデプロイＩＤ (Deployment ID、以下「ＤＩＤ」) ２０１、各情報システム１１０の構築に利用
されたシステムテンプレートを互いに識別するための識別子であるテンプレートＩＤ(Template ID、以下「ＴＩＤ」)２０２、各情報システム１１０の利用者を互いに識別するた
めの識別子である利用者ＩＤ２０３、各情報システム１１０が本番システムであるかどうかを示すフラグである運用種別フラグ２１４（例えば、当該情報システム１１０が実運用を開始している場合には「ＴＲＵＥ」、試験運用中など実運用されていない場合は「ＦＡＬＳＥ」を記録）、各情報システム１１０の最新構成２０５、各情報システム１１０と連携している他の情報システムで、当該各情報システム１１０と同じシステムテンプレートを利用してクラウド基盤１４０上に構築された情報システム（例えば図１の情報システムＡに対応する情報システムＤ）のＤＩＤを示す関連システムＤＩＤ２０６（以下「Ｒ−ＤＩＤ」）、及びその他の外部のシステム内にあって当該各情報システム１１０と連携しているソフトウェアの名前を記録する関連ソフトウェア２０７の項目を有する。図３の例では、ＤＩＤ２０１が「５０」で特定される情報システム１１０が、システムテンプレートＡから構築されており（ＴＩＤ２０２が「Ａ」）、その利用者がＸであり（利用者ＩＤ２
０３が「Ｘ」）、当該情報システム１１０が本番システムであり（運用種別フラグ２０４が「ＴＲＵＥ」）、最新構成としてソフトウェアＡ１のバージョン１．０（V1.0）等が実行されており、ＤＩＤ２０１が「４５」で特定される他の情報システム１１０と連携しており、外部システム上にある他のソフトウェアＣ１，Ｃ２と関連付けられていることを示している。
【００２３】
変更履歴ＤＢ１６６は、システムテンプレートを利用してクラウド基盤１４０上に構築された情報システム１１０に対してその後実行されたソフトウェアの構成変更の履歴を記録する。変更履歴ＤＢ１６６は、図４に例示するように、情報システム１１０に実装されているそれぞれのソフトウェアの構成変更について、変更履歴ＤＢ１６６の各レコードである変更情報を互いに区別するための識別子としての履歴ＩＤ２１１、各変更情報の登録日時２１２、変更対象となった情報システム１１０のデプロイＩＤであるＤＩＤ２１３、情報システム１１０の利用者の識別子である利用者ＩＤ２１４、ソフトウェアについて実施された変更の種類を記録する変更種別２１５、変更が実施された対象のソフトウェアを示す変更対象２１６、及び実施された変更の変更内容２１７の各項目を記録する。変更種別２１５に記録される構成変更の種類は、該当情報システム１１０が新規に運用された時点で記録される「利用開始」、情報システム１１０のソフトウェアに対するバージョンアップ、パッチ適用などが行われた場合に記録される「ソフトウェア更新」のいずれかである。変更種別２１５がソフトウェア更新の場合は、変更対象２１６に対象となったソフトウェア名、変更内容２１７にそのソフトウェアの更新後のバージョン番号を記録する。図４の例では、履歴ＩＤ２１１が「１００」で特定されるレコードで、ＤＩＤ２１３が「５０」で特定される情報システム１１０が利用開始されたことが示されている。履歴ＩＤ２１１が「１３０」で特定される行（レコード）は、2014年10月1日（当該履歴ＩＤ「１３
０」についての変更履歴登録日時）に、ＤＩＤ２１３が「５０」で特定される情報システム１１０のソフトウェアが更新され（変更種別２１５が「ソフト更新」）、対象ソフトウェアはソフトウェアＡ２であり、そのバージョンがバージョン２．０（V2.0）に更新されたことを示している。
【００２４】
次に、以上の構成を有するシステムテンプレート保守システム１を用いた情報システム１１０の構築処理について説明する。図５は、クラウド基盤１４０のテンプレートデプロイ部１４２により実行される処理の一例を示すフローチャートである。まず、利用者がクラウド基盤１４０にアクセス可能な自身の端末等の入出力装置１４から入力する情報システム構築処理開始の指示を受けて、テンプレートデプロイ部１４２が処理を開始する（Ｓ３００）。利用者は、利用するシステムテンプレートの識別子であるＴＩＤ２０２、本番システムとして使うかどうかを示す運用種別フラグ２０４、他の関連する情報システム１１０のＲ−ＤＩＤ２０６、関連するソフトウェア２０７を、パラメータとしてテンプレートデプロイ部１４２に与える。テンプレートデプロイ部１４２は、テンプレート管理サーバ１６０のテンプレート利用状況ＤＢ１６４に新しい行を挿入し、新しい情報システム識別子ＤＩＤ２０１を取得し、利用者ＩＤ２０３、システムテンプレートの識別子ＴＩＤ２０２、運用種別フラグ２０４、関連システムのＲ−ＤＩＤ２０６、及び関連ソフトウェア名２０７を、テンプレート利用状況ＤＢ１６４に登録する（Ｓ３０１）。図３に例示したテンプレート利用状況ＤＢ１６４は、情報システム識別子ＤＩＤ２０１として５０が付与されたシステムの情報が登録されている様子を表現している。
【００２５】
次に、テンプレートデプロイ部１４２は、与えられたシステムテンプレートにしたがって情報システム１１０を構築する（Ｓ３０２）。システムテンプレートは、与えられたテンプレート識別子ＴＩＤ２０２をもって、テンプレートリポジトリ１６５から取得することができる。また、テンプレートデプロイ部１４２は、情報システム識別子ＤＩＤ２０１に対して割り当てた仮想サーバ１１１などのリソース割り当て情報を、システムリソースＤＢ１４３に記録する。その後、テンプレートデプロイ部１４２は、利用者構成情報収集
部１４１を呼び出し、情報システムＤＩＤの構成情報を収集し、テンプレート管理サーバ１６０に構成情報を登録させ（Ｓ３０３）、処理を終了する（Ｓ３０４）。
【００２６】
次に、情報システム１１０のソフトウェア構成を記録する処理について説明する。情報システム１１０を構成する各仮想サーバ１１１の構成は、仮想サーバ１１１に導入された構成収集エージェント１１２が収集する。構成収集エージェント１１２は、例えば、仮想サーバ１１１を互いに区別するための識別子、仮想サーバ１１１に導入されているソフトウェア名、及びそのバージョン番号等の情報を収集する。各情報システム１１０の構成収集エージェント１１２は、クラウド基盤１４０の利用者構成情報収集部１４１からの指示に基づいて構成情報の収集を実行する。構成情報の収集実行タイミングは、一定時間間隔でもよいし、システム管理者等の実行指示を契機としてもよい。
【００２７】
クラウド基盤１４０の利用者構成情報収集部１４１は、情報システム識別子ＤＩＤ２１１をパラメータとして本処理を実行する。利用者構成情報収集部１４１は、与えられた情報システム識別子ＤＩＤ２１１によって、システムリソースＤＢ１４３より、当該の情報システム１１０に割り当てられた仮想サーバ１１１を列挙する。利用者構成情報収集部１４１は、それぞれの仮想サーバ１１１で実行している構成収集エージェント１１２に問い合わせ、現在のソフトウェア構成情報を取得する。最後に、情報システム識別子ＤＩＤ２１１と収集した各仮想サーバ１１１の構成情報を、テンプレート管理サーバ１６０の構成登録部１６２に送信する。
【００２８】
図６は、テンプレート管理サーバ１６０の構成登録部１６２が実行する構成登録処理の一例を示すフローチャートである。構成登録部１６２は、システムテンプレートで構築された情報システム１１０の最新構成をテンプレート利用状況ＤＢ１６４へ、構成変更の履歴を構成履歴ＤＢ１６６に記録する。構成登録部１６２は、情報システム識別子ＤＩＤ２０１、利用者構成情報収集部１４１が収集した情報システム１１０の構成情報をパラメータとして本処理を実行する。以下、図６に従って説明する。
【００２９】
構成登録部１６２は処理を開始すると（Ｓ４００）、与えられた情報システム識別子ＤＩＤ２０１によりテンプレート利用状況ＤＢ１６４を検索し（Ｓ４０１）、当該の情報システム１１０のソフトウェア構成情報が登録されているかを検査する（Ｓ４０２）。当該情報システム１１０のソフトウェア構成情報が登録されていないと判定した場合（Ｓ４０２，Ｎｏ）、新規の情報システム１１０の登録であるため、該当構成情報をテンプレート利用状況ＤＢ１６４に記録する（Ｓ４０６）。この場合、テンプレート利用状況ＤＢ１６４のその他の情報は、テンプレートデプロイ部１４２によってすでに登録されている（図５のＳ３０２）。また、構成登録部１６２は、構成履歴ＤＢ１６６に新規の行（レコード）を割り当て、情報システム識別子ＤＩＤ２１１が新規に利用開始である旨を記録する（Ｓ４０７）。図２の構成履歴ＤＢ１６６では、履歴ＩＤ「１００」の行に、情報システム識別子ＤＩＤが「１００」で特定される情報システムの「利用開始」の旨を記録している状態を示している。
【００３０】
Ｓ４０２で該当構成情報がすでに登録されていると判定した場合（Ｓ４０２，Ｙｅｓ）、構成登録部１６２は、テンプレート利用状況ＤＢ１６４から取得した構成情報と、パラメータとして与えられた構成情報との差分を求め（Ｓ４０３）、差があるか、すなわち両構成が同一であるか判定する（Ｓ４０４）。両構成が同一であると判定した場合（Ｓ４０４，Ｙｅｓ）、構成登録部１６２はそのまま処理を終了する（Ｓ４０８）。両構成が同一でないと判定した場合（Ｓ４０４，Ｎｏ）、構成登録部１６２はテンプレート利用状況ＤＢ１６４の該当構成情報を、パラメータに与えられた構成情報に更新する。さらに、差分に含まれるそれぞれのソフトウェアの更新状況に対して、変更履歴ＤＢ１６６に新しい行を挿入し、構成変更としてその内容を記録する（Ｓ４０５）。記録する変更内容は、構成
変更のあった仮想サーバ１１１の識別子、変更されたソフトウェア名、その新しいバージョン番号などである。図２の例示では、変更履歴ＤＢ１６６の履歴ＩＤ２１１の行は、情報システム識別子ＤＩＤ２１３が「５０」の情報システム１１０においてソフトウェアの更新があり、ソフトウェアＡ２がバージョン２．０に更新されたことを例示している。その後、構成登録部１６２は本処理を終了する（Ｓ４０８）。
【００３１】
次に、以上の構成情報収集処理と構成登録処理とを合わせて、クラウド基盤１４０で実行するシステムテンプレートで構築された情報システム１１０のソフトウェア更新の状況を収集する処理について説明する。図７に、ソフトウェア更新状況収集処理フローの一例を示している。このソフトウェア更新状況収集処理は、テンプレート管理サーバ１６０の変更集計部１６７によって実行される。変更集計部１６７は、処理を開始すると（Ｓ５００）、テンプレート利用状況ＤＢ１６４に登録されている各情報システム１１０の構成情報のうち、運用種別フラグ２１４が真（ＴＲＵＥ）である情報システム１１０について、クラウド基盤１４０の利用者構成情報収集部１４１に最新の構成を問い合わせる（Ｓ５０１）。利用者構成情報収集部１４１は、システムリソースＤＢ１４３より当該の情報システム１１０を構成する仮想サーバ１１１を検索し、それぞれの仮想サーバ１１１について構成収集エージェント１１２により最新のソフトウェアの構成を取得し、構成登録部１６２を介してテンプレート管理サーバ１６０のテンプレート利用状況ＤＢ１６４に登録して本処理を終了する（Ｓ５０３，Ｓ５０４）。変更集計部１６７は、例えば１ヶ月ごとのように、一定の周期で図７に例示する処理を実行し、クラウド基盤１４０で実行する情報システム１１０の最新のソフトウェア構成とその構成変更情報を収集し蓄積する。
【００３２】
次に、これらの収集した構成変更情報を分析して、システムテンプレート内のソフトウェアの更新要否や、そのソフトウェアの更新を妨げる他のソフトウェアを推定する処理を説明する。これらの処理は、テンプレート管理サーバ１６０の更新候補推定部１６１と問題ソフトウェア推定部１６９とが実行する。
【００３３】
まず、更新が必要なソフトウェアを推定する処理について説明する。図８は、更新候補推定部１６１が実行する更新が必要と推定されるソフトウェアのリストを作成する処理の一例を示すフローチャートである。更新候補推定部１６１は処理を開始すると（Ｓ６００）、変更履歴ＤＢ１６６から、直近の一定期間、例えば直近の１ヶ月で実行されたソフトウェア更新のレコードを抽出する（Ｓ６０１）。更新候補推定部１６１は、抽出されたソフトウェア更新レコードのそれぞれについて、変更履歴ＤＢ１６６を参照して、過去に同じ更新が適用されている情報システム数を取得する。この取得した情報システムの数があらかじめ設定しておいた一定数を超えていると判定した場合に、当該のソフトウェア更新は、当該情報システム１１０において適用すべき更新であると推定し、更新リストに登録する（Ｓ６０２）。これで更新候補推定部１６１は本処理を終了する（Ｓ６０３）。
【００３４】
Ｓ６０２における判定は、すでに該当の更新を適用しているシステム数としたが、当該のソフトウェアを構成に含み、かつ、当該の更新を適用している情報システムの割合が、一定値を超える場合としてもよい。また、稼働していない情報システムが存在することも考えられるため、クラウド基盤１４０から情報システム１１０の稼働状況を取得し、稼働していない情報システムは構成チェックの対象から除外したうえで、更新の適用割合を算出してもよい。
【００３５】
次に、更新が必要と推定されたソフトウェアについて、更新が適用されていないシステムの構成から、更新を阻害している要因となっているソフトウェアを推定する処理について説明する。図９は、特定のソフトウェアの更新適用について阻害要因となっているソフトウェアを推定する処理の一例を示すフローチャートである。図９の処理フローは、問題ソフトウェア推定部１６９が実行する。以下に、ある特定のソフトウェア更新に対する問
題ソフトウェア推定処理について説明する。
【００３６】
問題ソフトウェア推定部１６９はＳ７００で処理を開始すると、まず、検査の対象とするソフトウェア更新のリストを作成する。すなわち、問題ソフトウェア推定部１６９は、更新候補推定部１６１に最近適用されたソフトウェア更新の更新リストを作成させ（Ｓ７０１）、後述の問題ソフトウェアＤＢ１７０から前回の問題ソフトウェア推定部１６９の実行で登録したソフトウェア更新を抽出する。前回とは、例えば、問題ソフトウェアＤＢ１７０の各エントリの登録日時から抽出することができる。例えば１ヶ月ごとに問題ソフトウェア推定部１６９の処理を実行する場合は、登録日が１ヶ月前のエントリを抽出すればよい。問題ソフトウェア推定部１６９は、Ｓ７０１で得た更新リストと問題ソフトウェアＤＢ１７０から抽出したソフトウェア更新を合わせ（Ｓ７０２）、そのそれぞれに対して、Ｓ７０３からＳ７０９までの処理を繰り返し実行する。問題ソフトウェアＤＢ１７０は後出の図１０に例示するような構成でテンプレート管理サーバ１６０にあらかじめ用意されるが、本処理を最初に実行する際には記録されているレコードはない。以下、Ｓ７０３ないしＳ７０９の処理について説明する。
【００３７】
まず、問題ソフトウェア推定部１６９は、後の処理で使う問題ソフトウェア候補リストを初期化し（Ｓ７０３）、与えられたソフトウェア更新について、当該のソフトウェア更新による構成変更がクラウド基盤１４０全体で初めて登録された日時を、変更履歴ＤＢ１６６から求める（Ｓ７０４）。問題ソフトウェア候補リストはデータの一時的な保持に用いる内部変数でありテンプレート管理サーバ１６０の適宜の記憶領域が確保される。次に、問題ソフトウェア推定部１６９は、テンプレート利用状況ＤＢ１６４を検索して、当該の更新が適用されていない情報システム１１０を抽出する（Ｓ７０５）。これは、与えられたソフトウェアが構成に含まれるが、そのバージョンが更新前のバージョンであることを検索条件として抽出する。以下のＳ７０６ないしＳ７０８の処理は、ここで抽出された情報システム１１０のそれぞれについて実行する。以下、各情報システム１１０に対する処理として説明する。
【００３８】
Ｓ７０６では、問題ソフトウェア推定部１６９は、変更履歴ＤＢ１６６の記録からどの程度の頻度で当該情報システム１１０のソフトウェア更新が実施されているかを算出する。加えて、問題ソフトウェア推定部１６９は、当該システムに対する最後の更新の登録日時を変更履歴ＤＢ１６６から求める。
【００３９】
次に、問題ソフトウェア推定部１６９は、算出したシステム更新頻度から得られる更新周期を超えて、当該のソフトウェア更新が未適用なのかを判定する（Ｓ７０７）。具体的には、変更履歴ＤＢ１６６を参照して、当該のソフトウェア更新が初めてクラウド基盤１４０で登録された登録日時に、当該のシステム更新頻度からＳ７０６で得られる更新周期を加算した日時を当該ソフトウェア更新の適用期限とし、その適用期限と当該情報システムの最後のソフトウェア更新の登録日時とを比較し、後者が適用期限を超えている場合（Ｓ７０７，Ｙｅｓ）、ソフトウェア更新が通常のシステム更新の周期を超えて未適用であると判定する。例えば、変更履歴ＤＢ１６６において、特定の情報システム１１０に関し特定のソフトウェアについて登録以来平均３ヶ月間隔で２回更新が実施されていたと検出した場合、問題ソフトウェア推定部１６９は、登録日時に（３ヶ月×２回＋３ヶ月）を加算して得られた日時を当該ソフトウェアの更新適用期限とする。特定の変更システム更新の周期をまだ超えていないと判定される場合（Ｓ７０７、Ｎｏ）、問題ソフトウェア推定部１６９は当該情報システム１１０の分析処理を終え、Ｓ７０６に戻って他の情報システムの構成情報の分析に進む。
【００４０】
ソフトウェア更新がシステム更新の周期を超えて未適用であると判定した場合（Ｓ７０７，Ｙｅｓ）、問題ソフトウェア推定部１６９は、当該の情報システム１１０の構成と、
当該情報システム１１０の関連ソフトウェアに含まれるソフトウェアの情報（ソフトウェア名とバージョン番号のセット）を、問題ソフトウェア候補リストに追加する（Ｓ７０８）。問題ソフトウェア候補リストへの追加は、同じ情報がリストに既に存在している場合でも新しいエントリを追加する。関連ソフトウェアは、対象情報システム１１０に関してテンプレート利用状況ＤＢ１６４のレコードから取得する。問題ソフトウェア推定部１６９は、これらの処理を、Ｓ７０５で発見した情報システム１１０に対してそれぞれ実施する。この時点で、問題ソフトウェア候補リストには、当該のソフトウェア更新が適用されていない情報システム１１０に含まれるソフトウェアとその情報システム１１０に関する関連ソフトウェアの情報が記録されていることになる。
【００４１】
問題ソフトウェア推定部１６９は、この抽出されたソフトウェアの集合を当該のソフトウェア更新を妨げる問題ソフトウェアとし、問題ソフトウェアＤＢ１７０に追加する(Ｓ
７０９)。追加する際、問題ソフトウェア推定部１６９は、問題ソフトウェア候補リスト
中にある同じソフトウェア更新のエントリ数を計数し、それも記録する。これは、この問題を生じる構成を含む情報システム数に対応する。問題ソフトウェアＤＢ１７０の構成例を、図１０に示している。問題ソフトウェアＤＢ１７０には、記録される各エントリを互いに識別するためのＩＤ８０１、各エントリの登録日時８０２、当該のソフトウェア更新のソフトウェア名７０３及び更新後のバージョン番号８０４、当該ソフトウェアの更新を妨げていると推定される関連ソフトウェアの情報（ここでは問題ソフトウェア名）８０５、及びこの問題ソフトウェアを含んでいる情報システム数８０６の項目を記録する。
【００４２】
テンプレート管理サーバ１６０は、問題ソフトウェア推定部１６９による処理を定期的に実行する。これにより、テンプレート管理サーバ１６０は、ある特定のソフトウェアの更新処理を妨げている可能性のある別のソフトウェアを推定することができる。
【００４３】
テンプレート管理サーバ１６０のポータル１６８は、テンプレート利用状況ＤＢ１６４、問題ソフトウェアＤＢ１７０、変更履歴ＤＢ１６６に対して検索を実行するためのユーザインタフェースを提供する。これによって、テンプレートの管理者やテンプレートの利用者は、テンプレートに含まれるソフトウェアの更新の適用状況や、適用を妨げる可能性のあるソフトウェアについて知ることができる。
【００４４】
以上によって、テンプレートの管理者は、テンプレートに含まれるソフトウェアに対して、利用者がソフトウェアの更新を実施しているかを知ることができる。テンプレートの管理者は、ソフトウェア更新の適用状況を参考に、テンプレートに含まれているソフトウェアを更新するかどうかを判断することができる。また、テンプレート管理者は、テンプレート管理サーバ１６０が抽出した問題ソフトウェアを参照することで、それぞれのテンプレートに含まれるソフトウェアの更新について、他のソフトウェアにどのような影響があるかを推定することができる。テンプレート管理者はこの情報を用いてテンプレートの更新可否を判断したり、テンプレート更新時に利用者への注意事項として問題を生じるおそれがあるソフトウェアの情報をテンプレートに付加して提供することができる。これらによって、本実施形態によればテンプレート管理者のテンプレートの保守負担を軽減することができる。
【００４５】
また、以上のソフトウェア更新に関する情報は、テンプレートの利用者に提供することもできる。これによって、テンプレートの利用者が情報システムへのソフトウェア更新の可否を判断する際の検証などの負担を軽減することができる。
【００４６】
なお、本実施形態で収集や分析の対象とするソフトウェアについて、共通的なソフトウェアを除外してもよい。共通的なソフトウェアとは、例えば、オペレーティングシステムや、基本的なライブラリなどである。このような共通的なソフトウェアについては、本シ
ステム１の管理によらず別途一括して管理すること等も考えられるためである。テンプレート管理サーバ１６０に、これらの除外対象ソフトウェアを登録可能とするユーザインタフェースを設けてもよい。この場合、図９に例示した問題ソフトウェア推定処理のＳ７０９の実行後に、除外対象ソフトウェアに関するソフトウェア更新を、問題ソフトウェアＤＢ１７０から削除すればよい。
【００４７】
また、本実施形態では情報システム１１０の構築時に運用種別フラグ２０４を指定するとしたが、これはシステム構築時でなくともよく、運用種別フラグ２０４を指定するためのインタフェースがテンプレート管理サーバ１６０に設けられていればよい。
【００４８】
実施形態２
次に、本発明の第２の実施形態について説明する。第２の実施形態では、処理実行に関して問題を生じる他のソフトウェアがあると推定されたソフトウェア更新処理について、新しい更新処理によってその問題が解消されたことを検出する手順を示す。本実施形態で用いるデータ構造は第１の実施形態と同じである。
【００４９】
図１１に、以前に問題があると推定されたソフトウェアの更新処理についてその問題が解消されたことを、利用者の情報システム更新の状況から検出する、更新適用検出処理フロー例を示す。
【００５０】
問題ソフトウェア推定部１６９はＳ９００で処理を開始すると、まず、問題ソフトウェアＤＢ１７０から、直近の２回の問題ソフトウェア推定処理の結果を抽出する（Ｓ９０１）。そして、直近の結果とその前の結果とを比較し、その前の結果には含まれているが、直近の問題ソフトウェア推定の結果には含まれていないソフトウェア更新を抽出して処理を終了する（Ｓ９０２，Ｓ９０３）。あるソフトウェア更新処理に関して、直近の推定結果から除外されていることは、当該のソフトウェア更新処理、又はそれよりも新しいバージョンにソフトウェアを更新するソフトウェア更新処理が、クラウド基盤１４０上の情報システム１１０に適用されたことを示している。つまり、このソフトウェア更新を妨げる問題が解消されたということを意味している。よって、Ｓ９０２で得られたソフトウェア更新については、その更新適用に関わる問題が解消されたと推定することができる。この更新適用検出処理を定期的に実行して結果を記録しておけば、システムテンプレートの管理者や利用者に、ソフトウェア更新の問題解決の状況を提供することができる。
【００５１】
これによれば、システムテンプレートの管理者は、一度ソフトウェア更新に問題があると判定されたテンプレートについて、問題が解消されたかを調べる必要がなくなる。つまり、システムテンプレートの管理者は、一度問題があると判定されたソフトウェア更新については、更新適用検出処理で問題なしと判定された時点で、ソフトウェア更新が適用可能になったと判断することができる。問題が解消されたソフトウェア更新が発見された時点で、テンプレート管理サーバ１６０が、システムテンプレートの管理者に通知を発行するように構成してもよい。
【００５２】
また、本更新適用検出処理では、問題ソフトウェアＤＢ１７０のシステム数８０６を参照してもよい。ソフトウェア更新が未適用のシステム数８０６が減少している場合は、当該のソフトウェア更新の適用が進んでいることを示すので、システムテンプレート管理者は、この情報を参照してもよい。
【００５３】
実施形態３
次に、本発明の第３の実施形態について説明する。本実施形態では、情報システム１１０（図１）の構成分析によるソフトウェア更新の適用状況に関する情報を、システムテンプレートの管理者やシステムテンプレート利用者に提供するためのポータル１６８につい
て説明する。このポータル１６８は、システムテンプレート利用者に、利用している情報システム１１０に対するソフトウェア更新の適用について、他の利用者の適用状況や、適用を妨げるソフトウェアに関する情報を提供する。また、システムテンプレートの管理者には、テンプレート利用者のソフトウェア更新の状況と、未適用のソフトウェアの更新の状況を提供する。
【００５４】
図１２は、本実施形態のポータル１６８による表示例を示している。ポータル１６８は、テンプレート管理サーバ１６０の入出力装置１４（図２）を通じて、システムテンプレートの利用者や管理者が利用するためのポータル画面１２００を提供する。ポータル画面１２００には、システムテンプレートを用いて構築した情報システム１１０について、クラウド基盤１４０で同じテンプレートを利用している利用者のソフトウェアの更新の状況を検索する領域１２１０が設けられる。利用者は、情報システムＩＤフィールド１２１１に利用している情報システム１１０の識別子ＤＩＤ（テンプレート利用状況ＤＢ１６４におけるＤＩＤ２０１。図３参照）を入力し、検索ボタン１２１２で検索を実行する。またポータル画面１２００には、システムテンプレートの管理者が利用する管理者領域１２２０を備える。この管理者領域１２２０は、システムテンプレートごとに、利用者のソフトウェア更新の適用状況、何らかの問題で未適用のソフトウェア更新の状況を検索するための領域である。システムテンプレートの管理者は、テンプレート番号フィールド１２２１にテンプレート識別子ＴＩＤ（テンプレート利用状況ＤＢ１６４におけるＴＩＤ２０２。図３参照）を入力し、検索ボタン１２２２で検索を実行する。それぞれの検索結果は表示領域１２３０に表示される。
【００５５】
次に、それぞれの検索実行時の処理を図１３、図１４に示す。これらの処理は、テンプレート管理サーバ１６０のポータル１６８により実行される。
【００５６】
まず、指定された情報システム識別子ＤＩＤで示される情報システム１１０を構成するソフトウェアの更新について、他の同じテンプレートを利用して構築されている情報システム１１０のソフトウェア更新状況を表示する処理について説明する。図１３は、当該表示処理の処理フロー例を示すフローチャートである。ポータル１６８はＳ１３００で処理を開始すると、テンプレート利用状況ＤＢ１６４より、利用者操作領域１２１０の情報システムＩＤ領域１２１１を通じて与えられた情報システム識別子ＤＩＤで特定される情報システム１１０の構成を取得する（Ｓ１３０１）。次に、ポータル１６８は、同じテンプレートで構築された他の情報システム１１０に適用されたソフトウェア更新で、指定された情報システム１１０に適用されていないソフトウェア更新のリスト（未適用ソフトウェア更新リスト）を求める（Ｓ１３０２）。具体的には、ポータル１６８は、指定された情報システム１１０の基になったシステムテンプレートの識別子ＴＩＤをテンプレート利用状況ＤＢ１６４から求め、更にそのテンプレートで構築された情報システム１１０の情報システム識別子ＤＩＤを求める。未適用ソフトウェア更新リストは、テンプレート管理サーバ１６０の適宜の記憶領域に内部テーブルとして設定することができる。ポータル１６８は、この情報システム識別子ＤＩＤで変更履歴ＤＢ１６６を検索し、他の情報システム１１０に適用されているソフトウェア更新を列挙する。当該の情報システム１１０に適用されているかどうかは、当該の情報システム１１０のソフトウェアのバージョン番号と、ソフトウェア更新後のバージョン番号とを比較することにより判定される。
【００５７】
ポータル１６８は、Ｓ１３０２で求めた未適用のソフトウェア更新について、問題ソフトウェアＤＢ１７０を参照して、それぞれのソフトウェア更新の関連ソフトウェアが当該の情報システム１１０の構成に含まれているか検査する。含まれていると判定した場合は、ポータル１６８は、そのソフトウェア更新と関連ソフトウェアを適用不可ソフトウェアとして記録する（適用不可ソフトウェアリスト）（Ｓ１３０３）。適用不可ソフトウェアリストは、テンプレート管理サーバ１６０の適宜の記憶領域に内部テーブルとして設定す
ることができる。情報システム１１０の構成には、テンプレート利用状況ＤＢ１６４の関連システムＤＩＤ（図３の符号２０６）で示される情報システム１１０の構成、および、関連ソフトウェア（図３の符号２０７）を含めて検査する。
【００５８】
最後に、ポータル１６８は、Ｓ１３０２で得られた未適用ソフトウェア更新リストと、Ｓ１３０３で得られた適用不可ソフトウェアリストをポータル画面１２００に設けられている表示領域１２３０のソフトウェア更新適用状況表示領域１２３１に表示して処理を終了する（Ｓ１３０４，Ｓ１３０５）。図１２にソフトウェア更新適用状況表示領域１２３１の表示例を示している。図１２の例では、ソフトウェアＡ１，Ａ２の更新適用状況（適用件数）と、ソフトウェアＡ３の更新適用に関してソフトウェアＣ１のバージョン２が阻害要因と推測されることが示されている。
【００５９】
次に、指定されたシステムテンプレートに含まれるソフトウェアの更新状況を取得する処理について説明する。図１４は、指定されたシステムテンプレートに含まれるソフトウェアの更新状況取得処理例を示すフローチャートである。ポータル１６８はＳ１４００で処理を開始すると、テンプレート利用状況ＤＢ１６４から、指定されたテンプレートで構築された情報システム１１０の識別子ＤＩＤを取得する（Ｓ１４０１）。次に、ポータル１６８は、変更履歴ＤＢ１６６より、求めた情報システム１１０に適用されているそれぞれのソフトウェア更新と、適用されているシステムの数を記録する（Ｓ１４０２）。
【００６０】
ポータル１６８は、変更履歴ＤＢ１６６から、当該のテンプレートで構築される情報システム１１０に含まれるソフトウェアへの更新であるが、このテンプレートで構築された情報システム１１０には適用されていない未適用ソフトウェア更新のリストを求める（Ｓ１４０３）。より具体的には、テンプレートに含まれるソフトウェアの更新であって、Ｓ１４０２で求めたソフトウェア更新に含まれない更新であり、かつ、適用するとソフトウェアのバージョンが新しくなるソフトウェア更新（未適用ソフトウェア更新リスト。テンプレート管理サーバ１６０の適宜の記憶領域に内部テーブルとして設定される）を求める（既に適用すみの更新は除外する）。
【００６１】
次に、ポータル１６８は、問題ソフトウェアＤＢ１７０を参照して、Ｓ１４０３で求めたそれぞれのソフトウェア更新の関連ソフトウェアがテンプレートに含まれるかを検査する。含まれないと判定した場合は、未適用ソフトウェア更新リストから除外する（Ｓ１４０４）。最後に、ポータル１６８は、Ｓ１４０２で取得し記録したソフトウェア更新とその適用数、Ｓ１４０４で得た未適用ソフトウェア更新とその関連ソフトウェアを表示して処理を終了する（Ｓ１４０５，Ｓ１４０６）。図１２にテンプレート更新状況表示領域１２３２の表示例を示している。図１２の例では、テンプレートＩＤが「Ａ」で特定されるテンプレートについて、ソフトウェアＡ１，Ａ２の更新適用状況（適用件数）と、ソフトウェアＡ３の更新適用に関してソフトウェアＣ１のバージョン２が阻害要因と推測されることが示されている。
【００６２】
以上のポータル１６８によって実行される処理により、システムテンプレートの利用者は、同じテンプレートを利用している他の利用者のソフトウェア更新の適用の状況と、それから推定される問題を生じるソフトウェア更新、その要因となるソフトウェアの情報を取得することができる。これにより、利用者は、自身が利用している情報システムにソフトウェア更新を適用すべきかどうかを判断するための情報を簡便に入手することができる。また、システムテンプレートの管理者は、そのテンプレートを利用している利用者のソフトウェア更新状況を知ることができる。これにより、テンプレートの更新の要否を判断するのに必要な情報を簡単に入手することができる。加えて、システムテンプレートの管理者は、問題を生じると推定されるソフトウェア更新の情報も簡単に入手することができる。システムテンプレート管理者は、これを利用者に提供することで、利用者の便宜を図
ることもできる。
【００６３】
なお、ポータル１６８は、利用者ＤＢ１６３に記録されている情報に基づいて、ポータル画面１２００を通じた情報検索へのアクセス制御を実施してもよい。例えば、利用者ごとに、情報システム１１０の構成情報の収集可否を利用者ＤＢ１６３に記録しておき（構成情報収集可否記憶部）、構成情報の収集はこれが可である利用者の情報システムだけを対象とし、かつ、分析結果を参照するためのポータル１６８へのアクセスも同様に制限することができる。これにより、構成情報を提供する利用者にのみ、ソフトウェア更新の分析結果を提供することができる。
【００６４】
また、ポータル画面１２００での分析結果の表示について、表示結果を簡素化するフィルタを適宜定義しておいてもよい。この場合、例えば、オペレーティングシステムやライブラリに関するソフトウェア更新の情報は表示結果から除くことなどが考えられる。
【００６５】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば，上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施形態の構成の一部を他の構成に置き換えることが可能であり、また、ある実施形態の構成に他の構成を加えることも可能である。
【符号の説明】
【００６６】
１  システムテンプレート保守システム    １０  コンピュータ
１１  プロセッサ    １２  メモリ    １３  補助記憶装置    １４  入出力装置
１５  通信インタフェース    １１０  情報システム    １１１  仮想サーバ
１１２  構成収集エージェント    １１３  ソフトウェア    １１７  ネットワーク
１４０  クラウド基盤    １４１  利用者構成情報収集部
１４２  テンプレートデプロイ部    １４３  システムリソースＤＢ
１５０  情報システム（クラウド基盤１４０外の）
１６０  テンプレート管理サーバ    １６１  更新候補推定部    １６２  構成登録部
１６３  利用者ＤＢ    １６４  テンプレート利用状況ＤＢ
１６５  テンプレートリポジトリ    １６６  変更履歴ＤＢ    １６７  変更集計部
１６８  ポータル    １６９  問題ソフトウェア推定部
１７０  問題ソフトウェアＤＢ    １８０  通信ネットワーク
１２００  ポータル画面    １２１０  利用者操作領域
１２２０  管理者操作領域    １２３０  検索結果表示領域
【図１】
0006309442.tif 000002
【図２】
0006309442.tif 000003
【図３】
0006309442.tif 000004
【図４】
0006309442.tif 000005
【図５】
0006309442.tif 000006
【図６】
0006309442.tif 000007
【図７】
0006309442.tif 000008
【図８】
0006309442.tif 000009
【図９】
0006309442.tif 000010
【図１０】
0006309442.tif 000011
【図１１】
0006309442.tif 000012
【図１２】
0006309442.tif 000013
【図１３】
0006309442.tif 000014
【図１４】
0006309442.tif 000015