JPWO2013051142A1 - 更新制御装置、更新制御プログラム、および更新制御方法 - Google Patents

更新制御装置、更新制御プログラム、および更新制御方法 Download PDF

Info

Publication number
JPWO2013051142A1
JPWO2013051142A1 JP2013537359A JP2013537359A JPWO2013051142A1 JP WO2013051142 A1 JPWO2013051142 A1 JP WO2013051142A1 JP 2013537359 A JP2013537359 A JP 2013537359A JP 2013537359 A JP2013537359 A JP 2013537359A JP WO2013051142 A1 JPWO2013051142 A1 JP WO2013051142A1
Authority
JP
Japan
Prior art keywords
update
devices
component
workflow
server device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013537359A
Other languages
English (en)
Other versions
JP5692401B2 (ja
Inventor
菊池 慎司
慎司 菊池
松本 安英
安英 松本
松原 正純
正純 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2013051142A1 publication Critical patent/JPWO2013051142A1/ja
Application granted granted Critical
Publication of JP5692401B2 publication Critical patent/JP5692401B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

更新制御装置(10)は、取得部(13)と分類部(14)と更新処理部(15)を有する。取得部(13)は、複数の装置(12)のそれぞれの構成要素を示す構成要素情報を取得する取得部を有する。分類部(14)は、取得部(13)により取得した前記複数の装置(12)のそれぞれの構成要素情報の類似度を算出し、算出した類似度に基づいて、前記複数の装置(12)を1又は複数の装置群に分類する。更新処理部(15)は、分類部(14)により同じ装置群に分類された装置(12)に対して、共通したプログラムの更新方法を適用してシステムを更新する処理を実行する。

Description

本発明は、更新制御装置、更新制御プログラム、および更新制御方法に関する。
近年、大規模システムが運用されている。例えば、データセンタでは、多数の物理サーバによってシステムを運用したり、あるいは物理サーバ上で仮想マシン(Virtual Machine)を動作させ、仮想マシンによってシステムを運用している。このような大規模システムは、各サーバのハードウェアや、サーバ上で動作する各種のソフトウェアなど多数の構成要素により構成される。
大規模システムでは、修正プログラムの適用や設定変更などの運用管理オペレーションにおいて、管理者が同一の作業を多数のサーバに対して実行する状況が存在する。例えば、各サーバ上で動作する全てのApacheのバージョン2.4.xに対して修正プログラムを適用する場合がある。このような構成要素の変更の妥当性は、例えば、変更諮問委員会(CAB:Change Advisory Board)により、確認、判定される。そして、実行が許可された物理サーバや仮想マシン、ソフトウェアなどの変更対象には、バッチ処理など修正プログラムの適用や設定変更が一連の流れで実行される半自動化された方法で変更が適用される。半自動化された方法で変更を適用する理由は、手動で変更を適用するのが時間、コストの点で非効率であるためである。
なお、関連する先行技術として、次のような技術が提案されている。例えば、指定された情報処理装置と同一構成の情報処理装置をソフトウェアの更新の対象として選定し、選定された情報処理装置に修正ファイルを適用する技術が提案されている。また、例えば、構成要素と関係するノウハウをCMDB(Configuration Management Database)に格納する。そして、新しい構成要素を追加するとき、追加する構成要素とCMDBに格納された各構成要素との類似性を判定し、類似性が高い構成要素のノウハウを追加する構成要素に関連づける技術が提案されている。このCMDBは、「構成管理データベース」とも呼ばれ、各サーバ装置の構成要素に関する情報を一元管理するデータベースである。
特開2006−119848号公報 特開2009−245029号公報
ところで、大規模システムでは、多数のベンダの機器が組み合わされており、各物理サーバや仮想マシン上で異なるアプリケーションや、同じアプリケーションであってもバージョンの異なるアプリケーションが運用される。また、大規模システムでは、新しいアプリケーションや修正プログラムが日々登場するため、システム状態が日々変化する。このため、管理者は、修正プログラムの適用など構成要素の変更前に、変更対象となる各物理サーバや仮想マシンの変更に関する制約を全て把握することが困難である。
このため、大規模システムでは、各物理サーバや仮想マシンなどの変更対象に対して構成要素の変更作業を行ってみなければ制約がわからず、不意に構成要素の変更が失敗する場合があり、システムの変更作業の信頼性が低い、という問題がある。
なお、先行技術は、同一構成あるいは構成要素の類似性が高いサーバ装置のシステムの変更作業を安定して行えるものの、構成要素の設定が異なるサーバ装置についてシステムの変更処理の信頼性を高めるものではない。
また、変更対象として、物理サーバや仮想マシンを例にしたが、かかる問題は、ストレージ装置や、ルータなどのネットワーク機器などのシステムの変更作業についても同様に生ずる。
1つの側面では、システムの変更作業の信頼性を高めることができる更新制御装置、更新制御プログラム、および更新制御方法を提供することを目的とする。
第1の案では、更新制御装置は、複数の装置のそれぞれの構成要素を示す構成要素情報を取得する取得部を有する。更新制御装置は、前記取得部により取得した前記複数の装置のそれぞれの構成要素情報の類似度を算出し、算出した類似度に基づいて、前記複数の装置を1又は複数の装置群に分類する分類部を有する。更新制御装置は、前記分類部により同じ装置群に分類された装置に対して、共通したプログラムの更新方法を適用してシステムを更新する処理を実行する更新処理部を有する。
システムの変更作業の信頼性を高めることができる。
図1は、更新制御装置を含むシステムの全体構成を示す図である。 図2は、実施例2に係るシステムの機能的な構成の一例を示す図である。 図3は、各サーバ装置の構成の一例を示す図である。 図4は、第1テーブルのデータ構成の一例を示す図である。 図5は、サーバ装置の構成要素に関する情報と第1テーブルの各項目との対応関係を示す図である。 図6は、第2テーブルのデータ構成の一例を示す図である。 図7は、第3テーブルのデータ構成の一例を示す図である。 図8は、図7に示した修正プログラムを適用するワークフローの流れの一例を模式的に示した図である。 図9は、第4テーブルのデータ構成の一例を示す図である。 図10は、第5テーブルのデータ構成の一例を示す図である。 図11は、図4に示した構成要素の各情報の例外度合いを示す値としてI/Hを算出した結果の一例を示す図である。 図12は、図4に示した第1テーブルの構成要素に関する情報を多数派と少数派に判別した結果の一例を示す図である。 図13は、少数派とされた構成要素の種類および少数派とされた構成要素の数に応じてサーバ装置をツリー構造に分類した結果の一例を示す図である。 図14は、例外用のワークフローの流れを模式的に示した図である。 図15は、各VMMに対して実行されるワークフローおよびワークフローの処理順を模式的示した図である。 図16は、更新制御処理の手順を示すフローチャートである。 図17は、判別処理の手順を示すフローチャートである。 図18は、特定処理の手順を示すフローチャートである。 図19は、設定処理の手順を示すフローチャートである。 図20は、システム更新処理の手順を示すフローチャートである。 図21は、少数派とされた構成要素の種類および例外度合いの加算値に応じてサーバ装置をツリー構造に分類した結果の一例を示す図である。 図22は、例外度合いの加算値に応じて各サーバ装置を、3つのカテゴリに分類する場合の切り分け条件および実行するワークフローの定義の一例を示す図である。 図23は、少数派とされた構成要素の種類および例外度合いの加算値に応じてサーバ装置をツリー構造に分類した結果の一例を示す図である。 図24は、システムの更新の流れを模式的示した図である。 図25は、修正プログラムを適用するワークフローの流れの一例を模式的に示した一例を示す図である。 図26は、図25から作成される例外用のワークフローの流れを模式的に示した図である。 図27は、更新制御プログラムを実行するコンピュータを示す図である。
以下に、本発明にかかる更新制御装置、更新制御プログラム、および更新制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例1に係る更新制御装置について説明する。図1は、更新制御装置を含むシステムの全体構成を示す図である。更新制御装置10は、システムを更新する処理を制御する物理サーバであり、例えば、データセンサや各企業に設けられた管理用のサーバコンピュータである。更新制御装置10は、ネットワーク11を介してシステムの変更する対象となる各装置12と互いに通信可能とする。装置12は、例えば、サーバ装置やストレージ装置、ルータなどのネットワーク機器が挙げられる。かかるネットワーク11の一態様としては、有線または無線を問わず、インターネット(Internet)、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の通信網が挙げられる。
図1に示すように、更新制御装置10は、取得部13と、分類部14と、更新処理部15とを有する。
取得部13は、複数の装置12のそれぞれの構成要素を示す構成要素情報を取得する。例えば、取得部13は、複数の装置12から所定の構成要素に関する情報を取得する。取得部13は、例えば、更新制御装置10が各装置12に対して構成要素に関する情報の送信を要求し、各装置12から構成要素に関する情報を受信することにより所定の構成要素に関する情報を取得してもよい。また、取得部13は、各装置12が所定のタイミング毎に構成要素に関する情報を更新制御装置10へ送信し、更新制御装置10が構成要素に関する情報を受信することにより取得してもよい。取得する構成要素に関する情報の一例としては、装置12のハードウェアを示す情報や、装置12で動作するソフトウェアを示す情報、ソフトウェアのバージョンの情報などが挙がられる。取得する構成要素に関する情報としては、システムの変更に制約となる可能性がある構成要素の情報とすることが好ましい。
分類部14は、装置12を1又は複数の装置群に分類する。例えば、分類部14は、取得部13により取得した複数の装置12のそれぞれの構成要素に関する情報の類似度を算出し、算出した類似度に基づいて、複数の装置12を1又は複数の装置群に分類する。一例としては、分類部14は、各装置12の構成要素に関する情報を比較し、設定されている情報が少数のものを特定する。そして、分類部14は、構成要素に設定されている情報が少数のものである装置12を例外的な設定がされた装置12と特定して装置群に分類する。
ここで、大規模システムでは、システムの変更を行うために各装置12に同一の作業を実行した場合、大多数の装置12のシステムの変更が成功する。しかし、一部の装置12については、構成要素に例外的な設定がされ、システムの変更の条件を満たしていないため、システムの変更が失敗する場合がある。
更新処理部15は、分類部により同じ装置群に分類された装置に対して、共通したプログラムの更新方法を適用してシステムを更新する処理を実行する。例えば、更新処理部15は、各装置12のうち、分類部14により特定された例外的な設定がされた装置12と他の装置12で制御を変えてシステムを更新する処理を実行する。一例としては、更新処理部15は、他の装置12に対して、バッチ処理などにより半自動化された方法でシステムの変更を実行する。なお、他の装置12が複数ある場合、例えば、何れか1つの装置12で半自動化された方法によりシステムの変更を実行してシステムの変更に異常が発生しないことを確認した後に、残りの他の装置12に対して連続的にシステムの変更を実行してもよい。これにより、構成要素に例外的な設定がなされていない他の装置12については、管理者の手間や作業時間を抑えてシステムの変更を行うことができる。
一方、更新処理部15は、例外的な設定がされた装置12に対して、他の装置12のシステムを更新処理と比較して、システムの状態の確認を多く行いつつシステムの変更を実行する。システムの状態の確認を多く行う例としては、例えば、更新処理部15は、システムを更新処理において、修正プログラムの適用や再起動などシステムを更新した際に異常が発生する可能性がある所定の処理が完了する毎に管理者に確認を要求しつつシステムの変更を実行する。あるいは、更新処理部15は、システムを更新処理において、ログの出力や、システム更新前の状態のバックアップなどの所定の処理を追加してシステムの変更を実行する。すなわち、例外的な設定がされた装置12には、管理者がシステムの状態の確認を行いつつシステムを更新処理が実行される。これにより、例外的な設定がされた装置12については、慎重にシステムの変更が行われるため、システムの変更作業の信頼性を高めることができる。
なお、図1の例では、機能的な構成を示したため、取得部13、分類部14、更新処理部15を別に分けているが、例えば、1つのデバイスで構成してもよい。デバイスの一例としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路が挙げられる。なお、デバイスとして、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路を採用することもできる。
このように、更新制御装置10は、複数の装置12のそれぞれの構成要素を示す構成要素情報を取得する。また、更新制御装置10は、取得した複数の装置12のそれぞれの構成要素情報の類似度を算出し、算出した類似度に基づいて、複数の装置12を1又は複数の装置群に分類する。また、更新制御装置10は、同じ装置群に分類された装置に対して、共通したプログラムの更新方法を適用してシステムを更新する処理を実行する。これにより、更新制御装置10によれば、管理者がシステムの変更に関する制約を全て把握していなくても、システムの変更に失敗が発生しやすい、構成要素に例外的な設定がされた装置12について制御を変えてシステムの更新を行うことができる。このように、更新制御装置10によれば、構成要素に例外的な設定がされた装置12について、システムを更新する処理の制御を変えて、システムの更新を慎重に行うことにより、システムの変更作業の信頼性を高めることができる。
実施例2について説明する。実施例2では、複数のサーバ装置30でVM(Virtual Machine:仮想マシン)32が動作し、各サーバ装置30のシステムの変更を管理サーバ40で制御するシステム20について説明する。図2は、実施例2に係るシステムの機能的な構成の一例を示す図である。システム20は、複数のサーバ装置30と、管理サーバ40とを有する。各サーバ装置30と管理サーバ40との間は、ネットワーク21を介して通信可能に接続される。かかるネットワーク21の一態様としては、有線または無線を問わず、インターネット、LANやVPNなどの任意の通信網が挙げられる。
サーバ装置30は、VM32を動作させ、VM32上でそれぞれシステムを運用している。管理サーバ40は、各サーバ装置30を管理しており、各サーバ装置30のシステムの変更を制御する。なお、図2の例では、サーバ装置30を3つ図示したが、サーバ装置30の数は何れであってもよい。本実施例では、サーバ装置30をサーバ装置30a〜30pの16台とした場合を例にして説明する。
図3は、各サーバ装置の構成の一例を示す図である。サーバ装置30a〜30pは、VMM(Virtual Machine Monitor)32上で1つまたは複数のVM32を動作させ、VM32上で各種のアプリケーション33を動作させており、各種のアプリケーション33がテナント34により利用される。テナント34は、例えば、ユーザや業者などの一般の利用者、またはシステム20の管理者である。
VMM31は、コンピュータシステムの動作環境を仮想的に実現する仮想化ソフトウェアであり、VM32を動作させる制御を行う。また、VMM31は、管理サーバ40から受信したシステム更新の指示に応じて、システムを更新する制御を行う。また、VMM31は、管理サーバ40から受信したマイグレーション指示に応じて、他のサーバ装置30との間でのVM32のマイグレーションを行う。図3の例は、サーバ装置30a〜30pにVMM31として「Xen」が動作していることを示す。各VMM31に記載された「VMM1」〜「VMM16」は、VMM31を識別するIDを示している。また、各VMM31の「Xen」に並んで記載された数字は、仮想化ソフトウェアのバージョンを示している。図3の例は、サーバ装置30aでVMM31としてバージョンが4.0のXenが動作していることを示す。
VM32は、VMM31によって提供された環境でテナント34に提供される処理を担う仮想マシンである。VM32は、仮想環境においてアプリケーション33の処理を実行する。図3の例は、サーバ装置30a〜30pのVMM31上でVM32が動作していることを示す。各VM32の「CentOS」に並んで記載された数字は、クライアントOSのバージョンを示している。例えば、サーバ装置30aは、VM32として、バージョンが4.0のクライアントOSとバージョンが4.5のクライアントOSが動作していることを示す。
また、図3の例は、サーバ装置30a〜30pのVM32上でアプリケーション33としてApacheやMySQLが動作していることを示す。各アプリケーション33の「Apache」や「MySQL」に並んで記載された数字は、アプリケーション33のバージョンを示している。例えば、サーバ装置30aは、バージョンが4.0のクライアントOS上でアプリケーション33としてApache2.4が動作し、バージョンが4.5のクライアントOS上でアプリケーション33としてMySQL4.1が動作していることを示す。また、サーバ装置30aで動作するApacheおよびMySQLは、共に一般の利用者Aにより利用されることを示す。
図2の説明に戻り、管理サーバ40は、通信制御I/F部41と、記憶部42と、制御部43とを有する。
通信制御I/F部41は、少なくとも1つのポートを有し、各サーバ装置30と管理サーバ40との間の通信を制御するインタフェースである。通信制御I/F部41は、各サーバ装置30と各種情報を送受信する。例えば、通信制御I/F部41は、各サーバ装置30から構成要素に関する情報を受信する。また、通信制御I/F部41は、各サーバ装置30へシステムの変更を制御するための各種指示を送信する。
記憶部42は、各種情報を記憶する。例えば、記憶部42は、第1テーブル42a、第2テーブル42b、第3テーブル42c、第4テーブル42d、第5テーブル42eを記憶する。第1テーブル42aの各データは、後述する取得部43aにより登録される。一方、第2テーブル42a〜第5テーブル42eの各データは、システム20の管理者により、管理サーバ40と通信可能とされたクライアントコンピュータなどの端末装置あるいは管理サーバ40に設けられたマウス、キーボードなどの入力装置から登録される。記憶部42のデバイスの一例としては、フラッシュメモリやNVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリや、ハードディスク、光ディスクなどの記憶装置が挙げられる。
第1テーブル42aは、各サーバ装置30の構成要素に関する情報を管理するテーブルである。図4は、第1テーブルのデータ構成の一例を示す図である。図4に示すように、第1テーブル42aは、対象ID、対象種類、VM数、VM種類、アプリケーション数、アプリケーション種類、テナント数、テナント種類、テナントオーナの各項目を有する。図5は、サーバ装置の構成要素に関する情報と第1テーブルの各項目との対応関係を示す図である。対象IDの項目は、サーバ装置30で動作するVMM31のIDを記憶する領域である。対象種類の項目は、サーバ装置30で動作するVMM31のソフトウェア名およびバージョンを記憶する領域である。VM数の項目は、VMM31上で動作するVM32の数を記憶する領域である。VM種類の項目は、VMM31上で動作するVM32のクライアントOS名およびバージョンを記憶する領域である。アプリケーション数の項目は、VM32上で動作するアプリケーション33の数を記憶する領域である。アプリケーション種類の項目は、VM32上で動作するアプリケーション33のアプリケーション名およびバージョンを記憶する領域である。テナント数の項目は、VM32のテナント34の数を記憶する領域である。テナント種類の項目は、テナント34が一般の利用者か管理者の何れかであるかの種類を記憶する領域である。テナントオーナの項目は、テナント34を示す情報を記憶する領域である。
図4および図5の例では、サーバ装置30eは、VMM31のIDが「VMM5」であり、VMM31が「Xen3.0」であることを示す。また、サーバ装置30eは、VMM31上で動作するVM32の数が「2」であり、2つのVM32が「CentOS」のバージョン「4.0」と「4.5」であることを示す。また、サーバ装置30eは、VM32上で動作するアプリケーション33の数が「2」であり、2つのアプリケーション33が「Apache2.4」と「MySQL4.1」であることを示す。また、サーバ装置30eは、テナント34の数が「1」であり、テナント34の種類が一般の利用者であり、テナント34が「E」であることを示す。
第2テーブル42bは、登録されたワークフローを管理するテーブルである。図6は、第2テーブルのデータ構成の一例を示す図である。図6に示すように、第2テーブル42bは、ワークフローID、内容の各項目を有する。ワークフローIDの項目は、ワークフローを識別する識別情報を記憶する領域である。内容の項目は、ワークフローの処理内容を示す情報を記憶する領域である。
図6の例では、ワークフローIDが「WF−01」のワークフローは、修正プログラムの適用であり、ワークフローIDが「WF−02」のワークフローは、処理内容がマイグレーションであることを示す。
第3テーブル42cは、ワークフローの各処理を管理するテーブルである。図7は、第3テーブルのデータ構成の一例を示す図である。図7に示すように、第3テーブル42cは、オペレーションID、内容、コマンド定義、成功時次処理、失敗時次処理の各項目を有する。オペレーションIDの項目は、ワークフローの各処理を識別するIDを記憶する領域である。図7の例では、オペレーションIDは、ワークフローのワークフローIDに「−枝番」を付加した番号とされている。内容の項目は、ワークフローの各処理の処理内容を示す情報を記憶する領域である。コマンド定義の項目は、ワークフローの各処理を実行するコマンドを記憶する領域である。成功時次処理の項目は、処理が成功した際に次に処理するオペレーションIDを記憶する領域である。失敗時次処理の項目は、処理が失敗した際に次に処理するオペレーションIDを記憶する領域である。
図7の例は、図6のワークフローIDが「WF−01」のワークフローの各処理の一例を示したものである。図7に示すワークフローは、修正プログラムを適用する各処理の流れを示したものである。図7の例では、オペレーションIDが「WF−01−1」のレコードは、ワークフローを実行する際に最初に実行される開始の処理であり、次の処理が「WF−01−2」であることを示す。オペレーションIDが「WF−01−2」のレコードは、「ssh XXXX」のコマンドを実行してシステムを変更するサーバ装置30へのログインを行い、次の処理が「WF−01−3」であることを示す。なお、コマンドの「XXXX」は、変更対象に応じて変更される。オペレーションIDが「WF−01−3」のレコードは、「vm−snapshot」のコマンドを実行してVM32のバックアップを行い、次の処理が「WF−01−4」であることを示す。オペレーションIDが「WF−01−4」のレコードは、「patch YYY」のコマンドを実行して修正プログラムの適用を行い、処理が成功した際の次の処理が「WF−01−5」であり、処理が失敗した際の次の処理が「WF−01−8」であることを示す。なお、コマンドの「YYY」は、適用する修正プログラムに応じて変更される。オペレーションIDが「WF−01−5」のレコードは、「shutdown −r」のコマンドを実行してサーバ装置30の再起動を行い、次の処理が「WF−01−6」であることを示す。オペレーションIDが「WF−01−6」のレコードは、「http://xxx...」のコマンドを実行してサーバ装置30の動作確認を行い、正常の場合は次の処理が「WF−01−7」であり、異常の場合は次の処理が「WF−01−8」であることを示す。なお、コマンドの「xxx...」は、動作確認の内容に応じて変更される。オペレーションIDが「WF−01−7」のレコードは、「exit」のコマンドを実行してサーバ装置30からのログアウトを行い、次の処理が「WF−01−10」であることを示す。オペレーションIDが「WF−01−8」のレコードは、「vm−revert」のコマンドを実行してバックアップしたVM32に戻す処理を行い、次の処理が「WF−01−9」であることを示す。オペレーションIDが「WF−01−9」のレコードは、「mail」のコマンドを実行してメールで管理者へ異常が発生したことを報知し、次の処理が「WF−01−10」であることを示す。ペレーションIDが「WF−01−10」のレコードは、ワークフローの終了を示す。
図8は、図7に示した修正プログラムを適用するワークフローの流れの一例を模式的に示した図である。図8の例では、ワークフローの各処理に、図7に示した各処理の対応するオペレーションIDを付している。図8に示すように、修正プログラムを適用するワークフローは、修正プログラムを正常に適用できる場合、「開始」、「ログイン」、「バックアップ」、「パッチ適用」、「再起動」、「動作確認」、「ログアウト」、「終了」の順に処理が流れる。一方、修正プログラムを適用するワークフローは、「パッチ適用」や「動作確認」で異常が検出された場合、「リストア」、「レポート」、「ログアウト」、「終了」の順に処理が流れる。
第4テーブル42dは、ワークフローの実行条件を管理するテーブルである。図9は、第4テーブルのデータ構成の一例を示す図である。図9に示すように、第4テーブル42dは、インスタンスID、開始日時、実行ワークフロー、実行対象定義の各項目を有する。インスタンスIDの項目は、ワークフローを実行した際のワークフローのインスタンスのIDを記憶する領域である。開始日時の項目は、ワークフローを実行する開始日時を記憶する領域である。実行ワークフローの項目は、実行するワークフローのワークフローIDを記憶する領域である。実行対象定義の項目は、ワークフローの処理を行う処理対象の条件を記憶する領域である。
図9の例では、ワークフローIDが「WF−01」のワークフローは、日時が2011/4/15 3:00に実行され、実行する際のインスタンスのIDが「WF_patch_20110415」であることを示す。また、ワークフローIDが「WF−01」のワークフローは、パッチ適用対象のアプリケーションが「Apache」であり、適用する修正プログラムが「patch−0.5.1.2」であることを示す。また、ワークフローIDが「WF−01」のワークフローは、適用対象サーバがサーバ装置30a〜30pであることを示す。
第5テーブル42eは、例外に該当する変更対象の制御条件を管理するテーブルである。図10は、第5テーブルのデータ構成の一例を示す図である。図10に示すように、第5テーブル42eは、インスタンスID、制御条件の各項目を有する。インスタンスIDの項目は、制御条件に応じた制御を行うワークフローのインスタンスのIDを記憶する領域である。制御条件の項目は、例外的な設定がされた変更対象への制御条件を記憶する領域である。
図10の例では、インスタンスIDが「WF_patch_20110415」のワークフローは、例外に該当する変更対象に対してワークフローの処理をステップ実行することを示す。
図2の説明に戻り、制御部43は、例えば、内部メモリ等を有するCPUなどの電子回路であり、取得部43aと、監視部43bと、判別部43cと、分類部43dと、更新処理部43eとを有する。
取得部43aは、通信制御I/F部41を介して各サーバ装置30と通信を行い、各サーバ装置30から構成要素に関する情報を取得する。取得部43aは、取得された構成要素に関する情報を記憶部42の第1テーブル42aに格納する。取得部43aは、各サーバ装置30からの構成要素に関する情報を、例えば、管理サーバ40が各サーバ装置30に対して構成要素に関する情報の送信を要求し、各サーバ装置30から構成要素に関する情報を受信することにより取得してもよい。また、取得部43aは、各サーバ装置30からの構成要素に関する情報を、各サーバ装置30が所定のタイミング毎に構成要素に関する情報を管理サーバ40へ送信し、管理サーバ40が構成要素に関する情報を受信することにより取得してもよい。
監視部43bは、記憶部42の第4テーブル42dに記憶された各開始日時を周期的に監視し、開始日時のワークフローがあるか否かを判定する。監視部43bは、開始日時と判定されたワークフローがある場合、判別部43cへ通知する。
判別部43cは、記憶部42の第4テーブル42dの実行対象定義の項目から監視部43bにより開始日時と判定されたワークフローの処理対象の条件を読み出す。判別部43cは、第1テーブル42aから処理対象の条件を満たすサーバ装置30を判別し、処理対象の条件を満たす各サーバ装置30の構成要素に関する情報を読み出す。例えば、図9に示すワークフローIDが「WF−01」のワークフローが開始日時と判定された場合、判別部43cは、第1テーブル42aからサーバ装置30a〜30pの構成要素に関する情報を読み出す。
分類部43dは、判別部43cにより読み出された各サーバ装置30の構成要素に関する情報に関して、構成要素毎に多数派と少数派を判別する。この構成要素毎に多数派と少数派を判別は、例えば、以下の手法により行う。分類部43dは、各サーバ装置30の構成要素に関する情報に関して、まれな情報であるほど値が大きいものとして例外度合いを示す値を算出する。この例外度合いを示す値は、例えば、構成要素に関する情報の情報量Iと当該構成要素の平均情報量Hから以下のように算出する。ここで、構成要素に関する情報のサンプル数をmとし、構成要素に特定の情報が設定された対象の個数をnとした場合、各サーバ装置30の構成要素に特定の情報が設定されている確率Pは、以下の(1)式から求まる。
P=n/m (1)
この場合、特定の情報の情報量I、および平均情報量Hは、以下の(2)、(3)式から算出する。
Figure 2013051142
例外度合いを示す値は、以下の(4)式に示すように、情報量Iを平均情報量Hで除算して算出する。
例外度合い=I/H (4)
例えば、100個のVMM31のうち、1個のVMM31がXen4.0であり、99個のVMM31がXen3.5であるものとする。この場合、VMM31がXen4.0である情報量IXen4.0とVMM31がXen3.5である情報量IXen3.5と平均情報量Hは、以下の(5)〜(7)式のように算出される。
Figure 2013051142
よって、Xen4.0についての例外度合いを示す値は、IXen4.0/H=82.2となる。一方、Xen3.5についての例外度合いを示す値は、IXen3.5/H=0.18となる。
また、例えば、100個のVMM31にそれぞれ異なるIPアドレスが設定されていたとする。この場合、情報量Iと平均情報量Hは、以下の(8)、(9)式のように算出される。
Figure 2013051142
よって、例外度合いを示す値は、I/H=1となる。
ここで、情報量Iは、構成要素に関する情報に関して同じものが少ないほど値が大きくなる。しかし、例えば、IPアドレスのように構成要素に設定される情報がそれぞれ異なる場合、それぞれの情報がまれな情報であるとは言い難い。そこで、本実施では、例外度合いを示す値として、情報量Iを平均情報量Hで除算した値を求めている。これにより、平均情報量H以下の情報量Iの情報は、例外度合いを示す値が1以下となる。また、平均情報量Hよりも情報量Iが大きい情報は、例外度合いを示す値が1よりも大きくなる。よって、例外度合いを示す値が大きいほど、まれな情報と判別できる。なお、例外度合いを示す値として、I/Hの値を用いたが、この例示に限るものではなく、まれな情報であるほど大きな値となれば何れの演算法を用いてもよい。
図11は、図4に示した構成要素の各情報の例外度合いを示す値としてI/Hを算出した結果の一例を示す図である。なお、図11の例では、構成要素の各情報毎に、対象種類、サンプル数m、サンプル種類数、対象の個数n、n/mの値、情報量I、平均情報量Hも示している。
図11の例では、対象情報が「Xen3.0」は、対象種類が「Xen」であり、サンプル数mが「16」であり、サンプル種類数が「3」であり、対象の個数nが「1」であることを示す。また、対象情報が「Xen3.0」は、n/mの値が「0.06」であり、情報量Iが「4.00」であり、平均情報量Hが「1.20」であり、I/Hの値が「3.34」であることを示す。
分類部43dは、I/Hの値に基づいて、構成要素に関する情報の多数派、少数派を判別する。例えば、分類部43dは、所定の閾値を用いて多数派、少数派を判別する。本実施例では、I/Hの値が2.0以上である場合、少数派と判別し、I/Hの値が2.0より小さい場合、多数派と判別する。なお、多数派、少数派を判別する閾値は、この例示に限るものではなく、1以上であればよく、管理サーバ40を利用する者が任意の値に設定して良い。また、多数派、少数派を判別は、例えば、k−means法などによるクラスタリングや、決定木の手法を用いてもよい。
図11の例は、I/Hが2.0より小さい場合、多数派と判別し、I/Hが2.0以上を少数派と判別した結果を示す。図11の例では、多数派とされた情報の対象情報、およびI/Hの領域にドットのパターンを付している。図11の例では、「Xen3.0」は少数派と判別され、「Xen3.5」と「Xen4.0」は多数派と判別される。また、「VM数1」と「VM数4」は少数派と判別され、「VM数2」は多数派と判別される。また、「CentOS3.0」は少数派と判別され、「CentOS4.0」と「CentOS4.5」は多数派と判別される。また、「アプリケーション数1」と「アプリケーション数4」は少数派と判別され、「アプリケーション数2」は多数派と判別される。また、「Apache2.6」は少数派と判別され、「Apache2.4」は多数派と判別される。また、「MySQL5.1」と「VM管理」は少数派と判別され、「MySQL4.1」は多数派と判別される。また、「オーナ数2」は少数派と判別され、「オーナ数1」は多数派と判別される。また、「テナント管理」は少数派と判別され、「テナント一般」は多数派と判別される。また、テナント「A」〜「N」および「管理者」は多数派と判別される。
図12は、図4に示した第1テーブルの構成要素に関する情報を多数派と少数派に判別した結果の一例を示す図である。図12の例では、少数派とされた構成要素の領域にドットのパターンを付している。また、図12の例では、「少数派の数」として、少数派とされた構成要素の数を示している。例えば、VMM31のIDが「VMM2」、「VMM3」のサーバ装置30は、Apache2.4は少数派と判別されたため、アプリケーション種類の領域にドットのパターンが付されており、少数派の数が「1」となっている。
分類部43dは、サーバ装置30毎に少数派とされた構成要素の数をカウントする。そして、分類部43dは、少数派とされた構成要素の数に基づいて、例外的な設定がされたサーバ装置30を特定する。例えば、分類部43dは、所定の閾値を用いて例外的な設定がされたVMM31を特定する。本実施例では、分類部43dは、少数派とされた構成要素の数が3つ以上のサーバ装置30を例外的な設定がされたサーバ装置30と特定する。なお、例外的な設定がされたVMM31を判別する閾値は、この例示に限るものではなく、管理サーバ40を利用する者が任意の値に設定して良い。
図13は、少数派とされた構成要素の種類および少数派とされた構成要素の数に応じてサーバ装置をツリー構造に分類した結果の一例を示す図である。なお、図13は、VMM31のIDでサーバ装置30の分類結果を示している。図13の例では、VMM31のIDが「VMM1」、「VMM6」、「VMM7」、「VMM8」、「VMM9」、「VMM14」のサーバ装置30は、少数派とされた構成要素が無いため、少数派とされた構成要素が「0」の位置に分類される。また、「VMM4」、「VMM11」、「VMM12」のサーバ装置30は、少数派とされた構成要素が共に「オーナ数2」であり、少数派とされた構成要素の数が1であるため、同じグループとして少数派の数が「1」の位置に分類される。また、「VMM10」のサーバ装置30は、少数派とされた構成要素が「オーナ数2」と「CentOS3.0」であり、少数派とされた構成要素の数が2であるため、少数派の数が「2」の位置に分類される。また、「VMM10」のサーバ装置30は、「VMM4」、「VMM11」、「VMM12」のグループと少数派とされた構成要素の「オーナ数2」が共通するため、「VMM4」、「VMM11」、「VMM12」のグループから分岐した構造で示されている。図13の例では、VMM31のIDが「VMM13」、「VMM15」、「VMM16」のサーバ装置30は、少数派とされた構成要素の数が3つ以上であるため、例外的な設定がされたサーバ装置30と特定される。
更新処理部43eは、記憶部42の第4テーブル42dに記憶された実行ワークフローを参照し、監視部43bにより開始日時と判定されたワークフローのインスタンスIDおよびワークフローIDを特定する。更新処理部43eは、記憶部42の第3テーブル42cから特定したワークフローIDのワークフローの各処理を読み出す。更新処理部43eは、第3テーブル42cから読み出したワークフローの処理を、通常用のワークフローの処理とする。また、更新処理部43eは、記憶部42の第5テーブル42eから、特定したインスタンスIDに対応する制御条件を読み出す。更新処理部43eは、第5テーブル42eから読み出した制御条件に応じて、通常用のワークフローの処理を更新して例外用のワークフローを作成する。例えば、特定したワークフローIDのワークフローが図8に示すワークフローであり、制御条件が図9のインスタンスIDが「WF_patch_20110415」の制御条件であるものとする。この場合、更新処理部43eは、図8に示すワークフローの各処理に、管理者による確認処理を追加してステップ実行させる例外用のワークフローを作成する。図14は、例外用のワークフローの流れを模式的に示した図である。図14の例では、図9に示したワークフローの各処理に確認処理が追加されている。
更新処理部43eは、少数派とされた構成要素の数が少ない順にワークフローの処理順を決定する。なお、本実施例では、少数派とされた構成要素の数が同じ場合、VMM31のIDが小さいものから実行するものとするが、処理順の条件をさらに定めてもよい。更新処理部43eは、決定した処理順に、例外的な設定ではないサーバ装置30のVMM31に対して、通常用のワークフローの処理を実行し、その後、例外的な設定がされたサーバ装置30のVMM31に対して、例外用のワークフローの処理を実行する。
図15は、各VMMに対して実行されるワークフローおよびワークフローの処理順を模式的示した図である。なお、図15は、VMM31のIDでサーバ装置30を示している。図15の例は、IDが「VMM1」〜「VMM12」、「VMM14」のサーバ装置30に対してワークフローIDが「WF−01」のワークフローを通常用のワークフローとして実行することを示す。また、通常用のワークフローは、IDが「VMM1」、「VMM6」〜「VMM9」、「VMM14」のサーバ装置30に対して順に実行される。その後、通常用のワークフローは、IDが「VMM5」、「VMM4」、「VMM11」、「VMM12」、「VMM2」、「VMM3」のVMM31に対して順に実行される。その後、通常用のワークフローは、IDが「VMM10」のVMM31に対して順に実行されることを示す。
また、図15の例は、IDが「VMM13」、「VMM15」、「VMM16」のVMM31に対して、通常用のワークフローの処理を更新した例外用のワークフローを実行することを示す。例外用のワークフローは、IDが「VMM13」のVMM31に対して実行され、その後、IDが「VMM15」、「VMM16」のVMM31に対して順に実行されることを示す。このように、例外的な設定ではないサーバ装置30に通常用のワークフローの処理を実行し、例外的な設定のサーバ装置30に例外用のワークフローの処理を実行してシステムの更新を慎重に行うことにより、システムの変更作業の信頼性を高めることができる。
また、更新処理部43eは、少数派とされた構成要素の数が少ない順に各サーバ装置30のシステムを更新する処理を実行し、いずれかのサーバ装置30のシステムの更新で異常が発生した場合、以降のサーバ装置30のシステムの更新を中止する。少数派とされた構成要素の数が少ない順に各サーバ装置30のシステムの更新を実行した場合、後でシステムの更新が実行されるサーバ装置30ほど例外的な設定がされたサーバ装置30である。そこで、いずれかのサーバ装置30のシステムの更新で異常が発生した場合、以降のサーバ装置30のシステムの更新を中止することにより、システムの更新で異常が発生するおそれがあるサーバ装置30に対してシステムの更新が行われることを防止できる。
次に、本実施例に係る管理サーバ40がシステムの変更する変更対象のシステムの変更を制御する際の処理の流れを説明する。図16は、更新制御処理の手順を示すフローチャートである。この更新制御処理は、例えば、監視部43bにより、いずれかのワークフローが開始日時と判定されたタイミングで実行される。
図16に示すように、判別部43cは、第4テーブル42dから開始日時と判定されたワークフローの処理対象の条件を読み出し、第1テーブル42aから処理対象の条件を満たすサーバ装置30の構成要素に関する情報を読み出す(ステップS10)。分類部43dは、読み出された各サーバ装置30の構成要素に関する情報に関して、構成要素毎に比較して多数派と少数派を判別する判別処理を行う(ステップS11)。
図17は、判別処理の手順を示すフローチャートである。分類部43dは、各サーバ装置30の構成要素に関する情報に関してそれぞれ例外度合いを示す値を算出する(ステップS20)。そして、分類部43dは、算出された例外度合いを示す値に基づいて、構成要素毎に情報の多数派、少数派を判別し(ステップS21)、図16のステップS12へ移行する。
分類部43dは、構成要素毎に情報の多数派、少数派の判別結果に基づき、例外的な設定がされたサーバ装置30を特定する特定処理を行う(ステップS12)。図18は、特定処理の手順を示すフローチャートである。分類部43dは、サーバ装置30毎に少数派とされた構成要素の数をカウントする(ステップS30)。分類部43dは、少数派とされた構成要素の数が所定の閾値以上のサーバ装置30を例外的な設定がされたサーバ装置30と特定し(ステップS31)、図16のステップS13へ移行する。
更新処理部43eは、ワークフローの実行順およびワークフローの実行対象を設定する設定処理を行う(ステップS13)。図19は、設定処理の手順を示すフローチャートである。更新処理部43eは、第3テーブル42cから開始日時と判定されたワークフローのワークフローIDのワークフローの処理を読み出し、通常用のワークフローの処理とする(ステップS40)。更新処理部43eは、第5テーブル42eから、開始日時と判定されたワークフローのインスタンスIDに対応する制御条件を読み出し、制御条件に応じて、通常用のワークフローの処理を更新して例外用のワークフローを作成する(ステップS41)。更新処理部43eは、例外的な設定がされたサーバ装置30に対して例外用のワークフローを割り当て、例外的な設定がされていないサーバ装置30に対して通常用のワークフローを割り当てる(ステップS42)。更新処理部43eは、少数派とされた構成要素の数が少ない順に各サーバ装置30に対するワークフローの処理順を決定し(ステップS43)、図16のステップS14へ移行する。
更新処理部43eは、決定された処理順にサーバ装置30のVMM31に対してワークフローの処理を実行してシステムを更新するシステム更新処理を行う(ステップS14)。図20は、システム更新処理の手順を示すフローチャートである。更新処理部43eは、決定された処理順に、例外的な設定がされていないサーバ装置30を選択する(ステップS50)。更新処理部43eは、選択したサーバ装置30のVMM31に対して、割り当てた通常のワークフローの各処理を実行してシステムの変更を行う(ステップS51)。更新処理部43eは、選択したサーバ装置30のシステムの変更が成功したか否かを判定する(ステップS52)。システムの変更が失敗した場合(ステップS52否定)、管理者に対してシステムの変更が失敗したことの通知を行い(ステップS53)、図16の更新制御処理に戻って処理終了となる。一方、システムの変更が成功した場合(ステップS52肯定)、更新処理部43eは、例外的な設定がされていない全サーバ装置30のシステムの変更が完了したか否かを判定する(ステップS54)。全サーバ装置30のシステムの変更が完了していない場合(ステップS54否定)、ステップS50へ移行する。一方、全サーバ装置30のシステムの変更が完了した場合(ステップS54肯定)、更新処理部43eは、決定された処理順に、例外的な設定がされたサーバ装置30を選択する(ステップS55)。更新処理部43eは、選択したサーバ装置30のVMM31に対して、割り当てた例外用のワークフローの各処理を実行してシステムの変更を行う(ステップS56)。更新処理部43eは、選択したサーバ装置30のシステムの変更が成功したか否かを判定する(ステップS57)。システムの変更が失敗した場合(ステップS57否定)、ステップS53へ移行して管理者に対してシステムの変更が失敗したことの通知を行い、図16の更新制御処理に戻って処理終了となる。一方、システムの変更が成功した場合(ステップS57肯定)、更新処理部43eは、例外的な設定がされた全サーバ装置30のシステムの変更が完了したか否かを判定する(ステップS58)。全サーバ装置30のシステムの変更が完了していない場合(ステップS58否定)、ステップS55へ移行する。一方、全サーバ装置30のシステムの変更が完了した場合(ステップS58肯定)、図16の更新制御処理に戻って処理終了となる。
このように、管理サーバ40は、構成要素毎に、各サーバ装置30の構成要素に関する情報に関して多数派と少数派を判別し、少数派とされた構成要素の数が所定の閾値以上のサーバ装置30を例外的な設定がされたサーバ装置30と特定する。よって、管理サーバ40によれば、構成要素に関する情報が少数派である数が多く、例外的な設定が多いサーバ装置30を例外的な設定がされたサーバ装置30と特定できる。
また、管理サーバ40は、少数派とされた構成要素の数が少ない変更対象から順にシステムを更新する処理を実行する。よって、管理サーバ40によれば、例外的な設定が少なく、安定してシステムを更新できるサーバ装置30からシステムを更新できる。
また、管理サーバ40は、いずれかの管理サーバ40のシステムの更新で異常が発生した場合、以降の変更対象のシステムの更新を中止する。よって、管理サーバ40によれば、異常が発生した管理サーバ40以上に例外的な設定が多く、システムの更新で異常が発生するおそれがあるサーバ装置30に対してシステムの更新が行われることを防止できる。
実施例3について説明する。実施例3では、構成要素毎の例外度合いを示す値を加算した値に基づいて例外的な設定がされた変更対象を特定する場合について説明する。実施例3に係るシステムの構成は、図2に示した実施例2に係るシステムと略同一であるため、異なる部分についてのみ説明する。
分類部43dは、実施例2と同様に、例外度合いを示す値を算出し、例外度合いを示す値に基づいて、構成要素に関する情報の多数派、少数派を判別する。そして、分類部43dは、各サーバ装置30毎に、少数派とされた構成要素毎の例外度合いを示す値を加算し、加算した値に基づいて、例外的な設定がされたサーバ装置30を特定する。例えば、分類部43dは、所定の閾値を用いて例外的な設定がされたVMM31を特定する。本実施例では、分類部43dは、少数派とされた構成要素毎の例外度合いの加算値が3以上のサーバ装置30を例外的な設定がされたサーバ装置30と特定する。なお、例外的な設定がされたVMM31を判別する閾値は、この例示に限るものではなく、管理サーバ40を利用する者が任意の値に設定して良い。
図21は、少数派とされた構成要素の種類および例外度合いの加算値に応じてサーバ装置をツリー構造に分類した結果の一例を示す図である。なお、図21は、VMM31のIDでサーバ装置30の分類結果を示している。また、図21の例では、VMM31のIDが「VMM1」、「VMM6」、「VMM7」、「VMM8」、「VMM9」、「VMM14」のサーバ装置30は、少数派とされた構成要素が無いため、加算値が「0」の位置に分類される。また、「VMM4」、「VMM11」、「VMM12」のサーバ装置30は、少数派とされた構成要素が共に「オーナ数2」であり、「オーナ数2」のI/Hの値が2.47であるため、同じグループとして加算値が「2」と「3」の間の位置に分類される。また、「VMM10」のサーバ装置30は、少数派とされた構成要素が「オーナ数2」と「CentOS3.0」であり、それぞれのI/Hの値が2.47と3.34であり、加算値が5.81であるため、加算値が「5」と「6」の間の位置に分類される。また、「VMM10」のサーバ装置30は、「VMM4」、「VMM11」、「VMM12」のグループと少数派とされた構成要素の「オーナ数2」が共通するため、「VMM4」、「VMM11」、「VMM12」のグループから分岐した構造で示されている。図21の例では、VMM31のIDが「VMM10」、「VMM13」、「VMM15」、「VMM16」のサーバ装置30は、加算値が3以上であるため、例外的な設定がされたサーバ装置30と特定される。
更新処理部43eは、少数派とされた構成要素毎の例外度合いの加算値が小さい順にワークフローの処理順を決定する。なお、本実施例では、加算値が同じ場合、VMM31のIDが小さいものから実行するものとするが、処理順の条件をさらに定めてもよい。更新処理部43eは、決定した処理順に、例外的な設定ではないサーバ装置30のVMM31に対して、通常用のワークフローの処理を実行し、その後、例外的な設定がされたサーバ装置30のVMM31に対して、例外用のワークフローの処理を実行する。
また、更新処理部43eは、加算値が小さい順に各サーバ装置30のシステムを更新する処理を実行し、いずれかのサーバ装置30のシステムの更新で異常が発生した場合、以降のサーバ装置30のシステムの更新を中止する。
このように、管理サーバ40は、構成要素毎に、各サーバ装置30の構成要素に関する情報に関して例外度合いを示す値を算出する。この例外度合いを示す値は、まれな情報ほど値が大きい。そして、管理サーバ40は、少数派とされた構成要素毎の例外度合いを示す値を加算した値が所定の閾値以上の変更対象を例外的な設定がされた変更対象と特定する。よって、管理サーバ40によれば、構成要素に関する情報が1つのみが少数派であってもまれな情報であり、I/Hの値が大きい場合、例外的な設定がされたサーバ装置30と特定できる。
また、管理サーバ40は、少数派とされた構成要素毎の例外度合いを示す値を加算した値が小さい変更対象から順にシステムを更新する処理を実行する。サーバ装置30は、少数派とされた構成要素毎の例外度合いの加算値が大きいほど、例外的な設定がなされている。よって、管理サーバ40によれば、例外的な設定が少なく、安定してシステムを更新できるサーバ装置30からシステムを更新できる。
また、管理サーバ40は、いずれかの変更対象のシステムの更新で異常が発生した場合、以降の変更対象のシステムの更新を中止する。よって、管理サーバ40によれば、異常が発生した管理サーバ40以上に例外的な設定が多く、システムの更新で異常が発生するおそれがあるサーバ装置30に対してシステムの更新が行われることを防止できる。
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
例えば、上記の実施例では、少数派とされた構成要素の数または例外度合いの加算値に応じてサーバ装置30を、例外的ではないサーバ装置30と例外的なサーバ装置30の2つのカテゴリに分類する場合について説明したが、開示の装置はこれに限定されない。例えば、少数派とされた構成要素の数または例外度合いの加算値に応じて各サーバ装置30を、3以上のカテゴリに分類してもよい。図22は、例外度合いの加算値に応じて各サーバ装置を、3つのカテゴリに分類する場合の切り分け条件および実行するワークフローの定義の一例を示す図である。図22の例では、例外度合いの加算値が3未満のサーバ装置30は、ほぼ安全なものと分類し、通常用のワークフローでシステムの更新を行う。例外度合いの加算値が3以上かつ10未満のサーバ装置30は、要注意と分類し、管理者による目視の確認処理を追加した高信頼のワークフローでシステムの更新を行う。例外度合いの加算値が10以上のサーバ装置30は、危険と分類し、ドメインエキスパートなどの管理者に確認を行い、システムの更新を行なわない。
図23は、少数派とされた構成要素の種類および例外度合いの加算値に応じてサーバ装置をツリー構造に分類した結果の一例を示す図である。なお、図23は、VMM31のIDでサーバ装置30の分類結果を示している。図23の例では、VMM31のIDが「VMM1」〜「VMM4」、「VMM6」〜「VMM9」、「VMM11」、「VMM12」、「VMM14」のサーバ装置30は、加算値が3未満であるため、ほぼ安全と分類される。また、VMM31のIDが「VMM5」、「VMM10」のサーバ装置30は、加算値が3以上かつ10未満であるため、要注意と分類される。また、VMM31のIDが「VMM13」、「VMM15」、「VMM16」のサーバ装置30は、加算値が10以上であるため、危険と分類される。
このように、カテゴリ毎に制御を変えて各カテゴリに分類されたサーバ装置30のシステムを更新する処理を実行することにより、システムの変更作業の信頼性を高めることができる。
また、上記の実施例では、図6、図7に示すように、システムを更新するワークフローにおいて、サーバ装置30の再起動を行うため、システムが一時的に停止する場合について説明したが、開示の装置はこれに限定されない。例えば、システムの更新を行うサーバ装置30のVM32を他のサーバ装置30に退避させた後に、システムの更新を行うものとしてもよい。図24は、システムの更新の流れを模式的示した図である。図24の例は、システムの更新を行うサーバ装置30のVM32を他のサーバ装置30の退避用のVMM31にマイグレーションした後に、修正プログラムを適用し、退避させたVM32を元のサーバ装置30に復帰させている。図25は、修正プログラムを適用するワークフローの流れの一例を模式的に示した一例を示す図である。図25に示すように、修正プログラムを適用するワークフローは、修正プログラムを正常に適用できる場合、「開始」、「VM退避」、「VMM修正プログラム適用」、「VMM再起動」、「動作確認」、「VM復帰」、「終了」の順に処理が流れる。一方、修正プログラムを適用するワークフローは、「VMM修正プログラム適用」や「動作確認」で異常が検出された場合、「VMMリストア」、「VM復帰」、「レポート発行」、「終了」の順に処理が流れる。この図25に示すワークフローに対して制御条件に応じた更新を行って例外用のワークフローを作成する。例えば、制御条件を各処理に確認処理の追加とした場合、ワークフローの各処理に確認処理を追加される。図26は、図25から作成される例外用のワークフローの流れを模式的に示した図である。図26の例では、図25に示したワークフローの各処理に確認処理を追加されている。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図2に示す取得部43aと、監視部43bと、判別部43cと、分類部43dと、更新処理部43eの各処理部が適宜統合されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[更新制御プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図27は、更新制御プログラムを実行するコンピュータを示す図である。
図27に示すように、コンピュータ300は、CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、RAM(Random Access Memory)340を有する。これら300〜340の各部は、バス400を介して接続される。HDD330には、図2に示した第1テーブル42a〜第5テーブル42eの各々と同様の機能を有するテーブルが記憶される。
ROM320には上記実施例1の取得部13、分類部14、更新処理部1、または上記実施例2、3の取得部43a、監視部43b、判別部43c、分類部43d、更新処理部43eと同様の機能を発揮する更新制御プログラム320aが予め記憶される。なお、更新制御プログラム320aについては、適宜分離しても良い。
そして、CPU310が、更新制御プログラム320aをROM320から読み出して実行することで、実施例1〜3の各制御部と同様の動作を実行する。すなわち、更新制御プログラム320aは、実施例1に示した取得部13と、分類部14と、更新処理部15、あるいは実施例2に示した取得部43aと、監視部43bと、判別部43cと、分類部43dと、更新処理部43eと同様の動作を実行する。
なお、上記した更新制御プログラム320aについては、必ずしも最初からHDD330に記憶させることを要しない。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
10 更新制御装置
12 装置
13 取得部
14 分類部
15 更新処理部
20 システム
30 サーバ装置
31 VMM
32 VM
33 アプリケーション
40 管理サーバ
42 記憶部
43 制御部
43a 取得部
43b 監視部
43c 判別部
43d 分類部
43e 更新処理部

Claims (6)

  1. 複数の装置のそれぞれの構成要素を示す構成要素情報を取得する取得部と、
    前記取得部により取得した前記複数の装置のそれぞれの構成要素情報の類似度を算出し、算出した類似度に基づいて、前記複数の装置を1又は複数の装置群に分類する分類部と、
    前記分類部により同じ装置群に分類された装置に対して、共通したプログラムの更新方法を適用してシステムを更新する処理を実行する更新処理部と、
    を有することを特徴とする更新制御装置。
  2. 前記分類部は、構成要素毎に、前記複数の装置の構成要素に関する情報に関して多数派と少数派を判別し、少数派とされた構成要素の数が所定の閾値以上の装置を例外的な設定がされた装置と特定して装置群に分類する
    ことを特徴とする請求項1に記載の更新制御装置。
  3. 前記分類部は、構成要素毎に、前記複数の装置の構成要素に関する情報に関して例外度合いを示す値を算出し、少数派とされた構成要素毎の例外度合いを示す値を加算した値が所定の閾値以上の装置を例外的な設定がされた装置と特定する
    ことを特徴とする請求項2に記載の更新制御装置。
  4. 前記更新処理部は、前記少数派とされた構成要素の数が少ない、または前記構成要素毎の例外度合いを示す値を加算した値が小さい装置から順にシステムを更新する処理を実行し、いずれかの装置のシステムの更新で異常が発生した場合、以降の装置のシステムの更新を中止する
    ことを特徴とする請求項2または3に記載の更新制御装置。
  5. コンピュータに、
    複数の装置のそれぞれの構成要素情報の類似度を算出し、算出した類似度に基づいて、前記複数の装置を1又は複数の装置群に分類し、
    同じ装置群に分類された装置に対して、共通したプログラムの更新方法を適用してシステムを更新する処理を実行する
    各処理を実行させることを特徴とする更新制御プログラム。
  6. コンピュータが、
    複数の装置のそれぞれの構成要素情報の類似度を算出し、算出した類似度に基づいて、前記複数の装置を1又は複数の装置群に分類し、
    同じ装置群に分類された装置に対して、共通したプログラムの更新方法を適用してシステムを更新する処理を実行する
    各処理を実行することを特徴とする更新制御方法。
JP2013537359A 2011-10-06 2011-10-06 更新制御装置、更新制御プログラム、および更新制御方法 Expired - Fee Related JP5692401B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/073139 WO2013051142A1 (ja) 2011-10-06 2011-10-06 更新制御装置、更新制御プログラム、および更新制御方法

Publications (2)

Publication Number Publication Date
JPWO2013051142A1 true JPWO2013051142A1 (ja) 2015-03-30
JP5692401B2 JP5692401B2 (ja) 2015-04-01

Family

ID=48043333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013537359A Expired - Fee Related JP5692401B2 (ja) 2011-10-06 2011-10-06 更新制御装置、更新制御プログラム、および更新制御方法

Country Status (4)

Country Link
US (1) US9477742B2 (ja)
JP (1) JP5692401B2 (ja)
GB (1) GB2509635A (ja)
WO (1) WO2013051142A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6098392B2 (ja) * 2013-06-24 2017-03-22 富士通株式会社 ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置
US9960963B2 (en) * 2013-06-24 2018-05-01 Oracle International Corporation Dynamic client fail-over during a rolling patch installation based on temporal server conditions
US10374898B2 (en) 2014-04-24 2019-08-06 The Boeing Company Network revision evaluator
JP5984149B2 (ja) 2014-08-04 2016-09-06 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェアを更新する装置及び方法
JP6215481B2 (ja) * 2014-08-13 2017-10-18 株式会社日立製作所 クラウド環境におけるitインフラ管理のための方法とその装置
JP6447054B2 (ja) * 2014-11-27 2019-01-09 富士通株式会社 情報処理方法、及び情報処理プログラム
WO2017022022A1 (ja) * 2015-07-31 2017-02-09 三菱電機株式会社 車両用情報通信システムおよび車両用情報通信方法
US10430173B2 (en) * 2015-10-19 2019-10-01 Harman International Industries, Incorporated Techniques for updating components of a computer device while enabling components for availability
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US9838377B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10530578B2 (en) * 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10255061B2 (en) 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10721237B2 (en) 2016-08-05 2020-07-21 Oracle International Corporation Hierarchical processing for a virtual directory system for LDAP to SCIM proxy service
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US11169815B2 (en) * 2018-01-16 2021-11-09 Bby Solutions, Inc. Method and system for automation tool set for server maintenance actions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059186A (ja) * 2007-08-31 2009-03-19 Casio Comput Co Ltd データ管理装置及びプログラム
WO2010029602A1 (ja) * 2008-09-12 2010-03-18 富士通株式会社 ソフトウェアパッチ適用方法、プログラム及び装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119848A (ja) 2004-10-20 2006-05-11 Fujitsu Ltd ソフトウェア更新プログラム、ソフトウェア更新装置およびソフトウェア更新方法
JP5010472B2 (ja) * 2005-07-25 2012-08-29 株式会社テイエルブイ 保守点検支援装置
US8839221B2 (en) * 2007-09-10 2014-09-16 Moka5, Inc. Automatic acquisition and installation of software upgrades for collections of virtual machines
JP5136159B2 (ja) 2008-03-31 2013-02-06 富士通株式会社 構成情報管理装置、構成情報管理プログラム及び構成情報管理方法
US8775578B2 (en) * 2008-11-28 2014-07-08 Red Hat, Inc. Providing hardware updates in a software environment
JP2012069088A (ja) * 2010-06-25 2012-04-05 Toshiba Corp 医用情報処理装置及びソフトウェア配信システム
US8719802B2 (en) * 2010-09-30 2014-05-06 Nec Laboratories America, Inc. Interprocedural exception method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059186A (ja) * 2007-08-31 2009-03-19 Casio Comput Co Ltd データ管理装置及びプログラム
WO2010029602A1 (ja) * 2008-09-12 2010-03-18 富士通株式会社 ソフトウェアパッチ適用方法、プログラム及び装置

Also Published As

Publication number Publication date
JP5692401B2 (ja) 2015-04-01
US20140222818A1 (en) 2014-08-07
WO2013051142A1 (ja) 2013-04-11
GB201405924D0 (en) 2014-05-14
US9477742B2 (en) 2016-10-25
GB2509635A (en) 2014-07-09

Similar Documents

Publication Publication Date Title
JP5692401B2 (ja) 更新制御装置、更新制御プログラム、および更新制御方法
US10565096B2 (en) Generation of test scenarios based on risk analysis
US8572607B2 (en) System and method for performing designated service image processing functions in a service image warehouse
US9705923B2 (en) Method and apparatus for automating security provisioning of workloads
US10474488B2 (en) Configuration of a cluster of hosts in virtualized computing environments
US20210109816A1 (en) Method and system to discover and manage distributed applications in virtualization environments
US9058265B2 (en) Automated fault and recovery system
US8862941B2 (en) Methods and apparatus for remediation execution
CN109522095B (zh) 云主机异常故障检测恢复系统、方法及云平台
US10885200B2 (en) Detecting security risks related to a software component
US20150293800A1 (en) Robust hardware fault management system, method and framework for enterprise devices
US11126494B2 (en) Automated, adaptive, and auto-remediating system for production environment
US9355005B2 (en) Detection apparatus and detection method
US11483325B2 (en) Differencing engine for digital forensics
US9400701B2 (en) Technology for stall detection
US20200364001A1 (en) Identical workloads clustering in virtualized computing environments for security services
US8990608B1 (en) Failover of applications between isolated user space instances on a single instance of an operating system
JP7207009B2 (ja) 異常検知装置、異常検知方法および異常検知プログラム
US20100162237A1 (en) Network administration in a virtual machine environment through a temporary pool
CN109857629B (zh) 一种扫描检测方法及装置
US20160004584A1 (en) Method and computer system to allocate actual memory area from storage pool to virtual volume
US20160285674A1 (en) Information processing apparatus, information processing method, and data center system
US11973850B2 (en) System and method for automatic deployment of a cloud environment
US9436523B1 (en) Holistic non-invasive evaluation of an asynchronous distributed software process
US20210405988A1 (en) System and method for automatic deployment of a cloud environment

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150119

R150 Certificate of patent or registration of utility model

Ref document number: 5692401

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees