JP6098392B2 - ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置 - Google Patents

ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置 Download PDF

Info

Publication number
JP6098392B2
JP6098392B2 JP2013132123A JP2013132123A JP6098392B2 JP 6098392 B2 JP6098392 B2 JP 6098392B2 JP 2013132123 A JP2013132123 A JP 2013132123A JP 2013132123 A JP2013132123 A JP 2013132123A JP 6098392 B2 JP6098392 B2 JP 6098392B2
Authority
JP
Japan
Prior art keywords
patch
server
virtual machine
information
virtual
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.)
Expired - Fee Related
Application number
JP2013132123A
Other languages
English (en)
Other versions
JP2015007842A (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
Priority to JP2013132123A priority Critical patent/JP6098392B2/ja
Priority to US14/305,069 priority patent/US9170802B2/en
Publication of JP2015007842A publication Critical patent/JP2015007842A/ja
Application granted granted Critical
Publication of JP6098392B2 publication Critical patent/JP6098392B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ソフトウェア修正パッチ抽出プログラムに関する。
物理マシン上に仮想マシンが生成される際、仮想マシンに対してソフトウェア修正パッチ(パッチ)が適用されてから、仮想マシンが運用に用いられる。パッチは、ソフトウェアの一部を修正する。
適用されるパッチは、例えば、利用者によって選定される。すなわち、利用者は、仮想マシンで動作するソフトウェアのベンダから提供されるパッチのうち、生成された仮想マシンに未適用のパッチを選定する。
また、最新状態にない停止中の仮想マシンを更新する技術がある。かかる技術では、仮想マシンは、最新状態にないソフトウェア構造体を含んでいる。そして、最新状態にない停止中の仮想マシンは、ライブラリから取り出され、メンテナンスホスト上でリスタートされる。そして、メンテナンスホストは、必要とするソフトウェア更新を、対応する更新ソースからパッチとして取得することによって、各々の最新状態にないソフトウェア構造体を更新する(例えば、特許文献1参照)。
特表2009−538469号公報
しかしながら、パッチを選定する従来の技術では、最適なパッチを選定することができないという問題がある。
一例として、仮想マシンに適用されるパッチは、利用者によって選定されるが、利用者がOSやミドルウェアなどのマシン環境に精通していない場合、最適なパッチを選定できない。
別の例として、最新状態にない停止中の仮想マシンを更新するための技術では、単に最新状態にないソフトウェアのパッチを取得し、更新するだけであるので、パッチの更新によってその後の動作に不具合が生じるおそれがある。すなわち、最新状態にない停止中の仮想マシンを更新するための技術であっても、最適なパッチを選定できない。
1つの側面では、パッチの選定の適正化を図ることを目的とする。
1つの案では、ソフトウェア修正パッチ抽出プログラムは、コンピュータに、仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択し、該選択する処理によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する処理を実行させる。
1つの態様によれば、パッチの選定の適正化を図ることができる。
図1は、実施例に係る管理サーバを含む管理システムの全体構成を示す図である。 図2は、パッチ管理DBのデータ構造の一例を示す図である。 図3は、メディアライブラリの一例を示す図である。 図4は、テンプレート管理DBのデータ構造の一例を示す図である。 図5は、サーバ情報管理DBのデータ構造の一例を示す図である。 図6は、サーバ一覧データのデータ構造の一例を示す図である。 図7は、最適パッチ一覧データのデータ構造の一例を示す図である。 図8は、実施例に係るパッチ抽出処理の具体例を示す図である。 図9は、実施例に係るサーバ情報収集処理の全体の手順を示すフローチャートである。 図10は、実施例に係るサーバ情報収集処理の手順を示すフローチャートである。 図11は、ミドルウェア稼働状況取得処理の手順を示すフローチャートである。 図12は、実施例に係る仮想サーバ配備処理の全体の手順を示すフローチャートである。 図13は、パッチ抽出処理の手順を示すフローチャートである。 図14は、同一構成サーバのパッチ抽出処理の手順を示すフローチャートである。 図15は、類似構成サーバのパッチ抽出処理の手順を示すフローチャートである。 図16は、削除パッチ抽出処理の手順を示すフローチャートである。 図17は、パッチ抽出プログラムを実行するコンピュータの一例を示す図である。
以下に、本願の開示するソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
[実施例に係る管理システムの構成]
図1は、実施例に係る管理サーバを含む管理システムの全体構成を示す図である。図1に示すように、管理システム9は、管理サーバ1と複数の仮想サーバ2とを有する。管理サーバ1と複数の仮想サーバ2とは、ネットワーク3で接続される。なお、仮想サーバ2は、仮想マシン(VM:Virtual Machine)であり、物理サーバ上に搭載される。複数の仮想サーバ2は、1台の物理サーバ上に搭載されても良いし、それぞれ1台の物理サーバ上に搭載されても良い。
仮想サーバ2は、仮想イメージ(テンプレート)から配備される。ここでいう仮想イメージとは、仮想サーバ2に配備されるOS(Operation System)やMW(Middleware)のイメージであり、実際のマシン上にインストールされる。仮想イメージには、仮想サーバ2に適用されるパッチが適用される。なお、仮想イメージには、仮想サーバ2に配備されるアプリケーションがインストールされていても良い。
仮想サーバ2は、OS21、MW22、パッチ23およびエージェント部24を有する。OS21、MW22、パッチ23およびエージェント部24は、仮想サーバ2が運用される前に、仮想イメージから配備される。配備される仮想イメージは、例えば、利用者によって選択される。パッチ23は、仮想サーバ2が運用されると、運用後、新たに適用されたり、削除されたりする。パッチ23は、OS21のパッチやMW22のパッチを含む。パッチ23の新たな適用や削除は、後述するエージェント部24によって実施される。なお、エージェント部24は、全ての仮想イメージに予めインストールされている。
エージェント部24は、管轄する仮想サーバ2について、例えば、稼働状況、インストールされているMWの情報およびパッチ適用情報を適宜収集するとともに、パッチ23の新たな適用や削除を実施する。そして、エージェント部24は、収集した情報を管理サーバ1に送信する。
一例として、エージェント部24は、管理サーバ1から指示があると、管轄する仮想サーバ2の各種情報を収集する。ここでいう各種情報とは、例えば、仮想サーバ2の稼働情報、MWを起動するサービスまたはプロセスのログ情報およびパッチの適用状況である。仮想サーバ2の稼働情報には、仮想サーバ2の稼働率が含まれる。MWを起動するサービスまたはプロセスのログ情報には、MWを起動するサービスまたはプロセスのログのサイズが含まれる。各種情報にMWを起動するサービスまたはプロセスのログ情報が含まれるのは、後述するサーバ情報収集部121に当該MWの稼働状況を判断させるためである。すなわち、ログ情報に含まれるログのサイズが日々異なれば、サーバ情報収集部121に、当該ログに対応するMWが稼働していると判断させることができる。
別の一例として、エージェント部24は、管轄する仮想サーバ2への仮想イメージの配備時に、当該仮想サーバ2の各種情報を収集する。ここでいう各種情報とは、例えば、仮想サーバ2の識別名、OS、用途、MWのインストール状況およびインストール先、MWを起動するサービスまたはプロセスの情報並びにパッチの適用状況が含まれる。具体的には、エージェント部24は、MWのインストール状況およびインストール先を、OS毎に異なる領域から収集する。例えば、OSが「Windows(登録商標)」の場合、レジストリから取得され、OSが「Unix(登録商標)」の場合、パッケージ情報から収集される。また、エージェント部24は、MWを起動するサービスまたはプロセスの情報を、OS毎に異なる領域から収集する。例えば、OSが「Windows」の場合、MWを起動するサービスの情報は、レジストリから収集される。OSが「Unix」の場合、MWを起動するプロセスの情報は、インストール先のモジュールから収集される。
別の一例として、エージェント部24は、管轄する仮想サーバ2への新たなMWの追加時に、当該仮想サーバ2の各種情報を収集する。ここでいう各種情報とは、例えば、新たなMWのインストール状況およびインストール先、MWを起動するサービスまたはプロセスの情報が含まれる。
管理サーバ1は、既存の仮想サーバ2について、稼働情報、MWの情報、パッチ適用情報を収集し、同一構成または類似構成の仮想サーバ2を選択する。そして、管理サーバ1は、選択した仮想サーバ2に適用されているパッチの中から、配備される仮想サーバ2に適用するパッチを抽出する。管理サーバ1は、記憶部11および制御部12を有する。
記憶部11は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)などの不揮発性の半導体メモリ素子などの記憶装置に対応する。記憶部11は、パッチ管理DB(DataBase)111、メディアライブラリ112、テンプレート管理DB113、サーバ情報管理DB114、サーバ一覧データ115および最適パッチ一覧データ116を有する。
パッチ管理DB111は、OSやMWの各ベンダが公開しているパッチの情報を、製品およびバージョンと対応付けて管理する。ここで、パッチ管理DB111のデータ構造を、図2を参照して説明する。図2は、パッチ管理DBのデータ構造の一例を示す図である。図2に示すように、パッチ管理DB111は、パッチ111a、製品111b、種別111c、概要111d、公開日111eおよびパッチ格納場所111fを対応付けて記憶する。パッチ111aは、パッチの識別名を示す。製品111bは、パッチを適用すべき製品名およびバージョンからなる製品の識別名を示す。種別111cは、パッチの種別である。例えば、種別111cは、セキュリティ上のパッチであるか否か、または、パッチが重要であるか否かを示す。概要111dは、パッチの概要を示す。公開日111eは、パッチの最新の公開日を示す。パッチ格納場所111fは、パッチの格納場所を示す。
一例として、パッチ111aが「パッチA」である場合、製品111bとして「XXXX2008」、種別111cとして「セキュリティ」、公開日111eとして「20XX/06/01」と記憶している。また、パッチ格納場所111fとして「/Patch/OS/XXXX/・・・」と記憶している。
図1に戻って、メディアライブラリ112は、パッチの実体とパッチを適用するために用いられるスクリプトとをセットで管理する。ここで、メディアライブラリ112の一例を、図3を参照して説明する。図3は、メディアライブラリの一例を示す図である。図3に示すように、メディアライブラリ112には、パッチ毎に、修正ファイルと適用スクリプトとを対応付けて記憶する。修正ファイルは、パッチの実体がある格納場所である。適用スクリプトは、パッチを適用するために用いられるスクリプトがある格納場所である。一例として、パッチAの修正ファイルおよび適用スクリプトは、「/Patch/OS/XXXX/パッチA」配下に格納されている。すなわち、パッチ毎の修正ファイルおよび適用スクリプトの格納場所は、パッチ管理DB111のパッチ格納場所111fに対応する。
図1に戻って、テンプレート管理DB113は、仮想イメージのテンプレートを管理する。すなわち、テンプレート管理DB113は、仮想イメージにインストールされたOSおよびMWの情報、並びに仮想イメージに適用済みのパッチを管理する。ここで、テンプレート管理DB111のデータ構造を、図4を参照して説明する。図4は、テンプレート管理DBのデータ構造の一例を示す図である。図4に示すように、テンプレート管理DB113は、テンプレート113a、OS113b、MW情報113cおよび適用済パッチ113gを対応付けて記憶する。MW情報113cには、インストールMW113d、インストール先113eおよびサービス/プロセス113fが含まれる。
テンプレート113aは、仮想イメージに対応するテンプレートの識別名である。OS113bは、テンプレートを構成するOSを示す。MW情報113cは、テンプレートを構成するMWの情報を示す。インストールMW113dは、テンプレートに対応する仮想イメージにインストールされているMWを示す。インストール先113eは、インストールMW113dがテンプレートに対応する仮想イメージにインストールされている場所を示す。サービス/プロセス113fは、インストールMW113dが起動されるサービスまたはプロセスの情報を示す。適用済パッチ113gは、テンプレートに対応する仮想イメージに適用済みのパッチを示す。
一例として、テンプレート113aが「テンプレート1」である場合、OS113bとして「XXXX2008」と記憶している。インストールMW113dとして「ABC V2」、インストール先113eとして「C:¥ABC」、サービス/プロセス113fとして「ABCサービス」と記憶している。適用済みパッチ113gとして「パッチA パッチC」と記憶している。
図1に戻って、サーバ情報管理DB114は、仮想サーバ2毎に、OS、選択されたテンプレート、用途、稼働実績、MWの情報およびパッチの情報を管理する。サーバ一覧データ115は、後述するパッチ抽出部123によってパッチが抽出される際に、一時的に用いられる仮想サーバの一覧である。最適パッチ一覧データ116は、後述するパッチ抽出部123によって抽出された最適なパッチの一覧である。なお、サーバ情報管理DB114、サーバ一覧データ115および最適パッチ一覧データ116の詳細な説明は、後述する。
制御部12は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部12は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路の電子回路に対応する。または、制御部12は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路に対応する。さらに、制御部12は、サーバ情報収集部121、仮想サーバ配備部122、パッチ抽出部123およびパッチ適用部124を有する。
サーバ情報収集部121は、仮想サーバ2毎に、各種情報を収集する。一例として、サーバ情報収集部121は、定期的(一例として、毎日1回)に、サーバ情報管理DB113で管理している全ての仮想サーバ2に対して、エージェント部24を通じて各種情報を収集する。ここでいう各種情報とは、例えば、仮想サーバ2の稼働情報、MWを起動するサービスまたはプロセスのログ情報およびパッチの適用状況である。
また、サーバ情報収集部121は、仮想サーバ2からの情報収集の可否により、仮想サーバ2の稼働状況を判定する。すなわち、サーバ情報収集部121は、仮想サーバ2から情報収集ができた場合、当該仮想サーバ2が稼働していると判定する。サーバ情報収集部121は、仮想サーバ2から情報収集ができなかった場合、当該仮想サーバ2が稼働していないと判定する。そして、サーバ情報収集部121は、判定結果をサーバ情報管理DB114に格納する。
また、サーバ情報収集部121は、仮想サーバ2に対応するMWの稼働状況を判定する。例えば、サーバ情報収集部121は、仮想サーバ2に対応する、今回収集したMWを起動するサービスまたはプロセスのログのサイズと、前回収集した同じMWを起動するサービスまたはプロセスのログのサイズとを比較し、当該MWの稼働状況を判定する。サーバ情報収集部121は、MWについて、今回収集したログのサイズと前回収集したログのサイズとが異なる場合、当該MWが稼働していると判定する。サーバ情報収集部121は、MWについて、今回収集したログのサイズと前回収集したログのサイズとが同じである場合、当該MWが稼働していないと判定する。そして、サーバ情報収集部121は、判定結果をサーバ情報管理DB114に格納する。
また、サーバ情報収集部121は、仮想サーバ2に対応する仮想イメージのMW情報と今回収集したMW情報とを比較し、配備後に追加または削除されたMWを判定する。一例として、サーバ情報収集部121は、今回収集したMWにおけるMW情報が仮想イメージのMW情報にない場合、当該MWが追加されたと判定する。一方、サーバ情報収集部121は、仮想イメージのMW情報が今回収集したMWにおけるMW情報にない場合、当該MWが削除されたと判定する。
また、サーバ情報収集部121は、仮想サーバ2に対応する仮想イメージに適用されたパッチの情報と今回収集したパッチの情報とを比較し、配備後に追加または削除されたパッチを判定する。加えて、サーバ情報収集部121は、前回収集したパッチの情報と今回収集したパッチの情報とを比較し、前回収集後に追加または削除されたパッチを判定する。
ここで、サーバ情報管理DB114のデータ構造を、図5を参照して説明する。図5は、サーバ情報管理DBのデータ構造の一例を示す図である。図5に示すように、サーバ情報管理DB114は、OS114b、テンプレート114c、用途114d、稼働実績(最終確認日)114e、稼働率114f、MW情報114gをサーバ114aに対応付けて記憶する。さらに、サーバ情報管理DB114は、最終パッチ適用日114l、適用済パッチ114mおよび削除パッチ114nをサーバ114aに対応付けて記憶する。また、MW情報114gには、インストール済MW114h、稼働状況114i、インストール先114jおよびサービス/プロセス(ログサイズ)114kが含まれる。
サーバ114aは、仮想サーバの識別名である。OS114bは、サーバ114aに配備されたOSを示す。テンプレート114cは、サーバ114aが配備された際に用いられたテンプレートである。なお、サーバ114a、OS114b、テンプレート114cは、例えば、あらかじめ、サーバ114aが示す仮想サーバ2への仮想イメージの配備時に収集され、記憶される。
用途114dは、サーバ114aの用途を示す。例えば、用途114dには、Webサーバとして用いられる場合「Web」、アプリケーションサーバとして用いられる場合「アプリケーション(AP)」、データベースサーバとして用いられる場合「データベース(DB)」が記憶される。記憶されるタイミングは、例えば、サーバ114aが示す仮想サーバ2への仮想イメージの配備時である。なお、サーバ114aが示す仮想サーバ2の用途が、配備時に「AP」であった場合でも、後にDBのソフトウェアがインストールされれば、「AP+DB」に更新される。
稼働実績(最終確認日)114eは、サーバ114aが示す仮想サーバ2の稼働状況である。例えば、稼働実績(最終確認日)114eには、稼働していることを示す「○」、稼働していないことを示す「×」が記憶される。加えて、稼働状況の最終確認日が記憶される。稼働率114fは、サーバ114aが示す仮想サーバ2の稼働率を示す。稼働実績(最終確認日)114eおよび稼働率114fは、サーバ情報収集部121によって収集され、記憶される。
インストール済MW114hは、サーバ114aが示す仮想サーバ2にインストール済みのMWを示す。稼働状況114iは、インストール済MW114hが示すMWの稼働状況を示す。例えば、稼働状況114iには、稼働していることを示す「○」、稼働していないことを示す「×」が記憶される。インストール先114jは、インストール済MW114hが示すMWがサーバ114aにインストールされている場所を示す。サービス/プロセス(ログサイズ)114kは、インストール済MW114hが示すMWが起動されるサービスまたはプロセスを示す。サービス/プロセス(ログサイズ)114kには、MWが起動されるサービスまたはプロセスの名称が設定されるとともに、当該サービスまたはプロセスの収集時のログサイズが設定される。稼働状況114iは、サーバ情報収集部121によって格納される。そして、インストール済MW114hおよびインストール先114jは、サーバ114aが示す仮想サーバ2への仮想イメージの配備時またはMWの追加時に記憶される。サービス/プロセス(ログサイズ)114kは、サーバ114aが示す仮想サーバ2への仮想イメージの配備時またはMWの追加時、サーバ情報収集部121による収集時に記憶される。
最終パッチ適用日114lは、後述する適用済パッチ114mが最終的に適用された日を示す。適用済パッチ114mは、サーバ114aが示す仮想サーバ2に適用済みのパッチを示す。削除パッチ114nは、サーバ114aが示す仮想サーバ2から削除されたパッチを示す。最終パッチ適用日114lおよび適用済パッチ114mは、サーバ情報収集部121によって収集され、記憶される。そして、削除パッチ114nには、サーバ情報収集部121によって判定された削除パッチが記憶される。
図1に戻って、仮想サーバ配備部122は、利用者によって選択される仮想イメージを用いて、仮想サーバ2に配備を実行する。これにより、仮想サーバ配備部122は、仮想イメージとしてインストールされたOSおよびMW、仮想イメージとして適用されたパッチを仮想サーバ2に配備する。
パッチ抽出部123は、サーバ情報管理DB114を参照し、仮想サーバ配備部122によって配備される仮想サーバ2の情報およびMWの情報に基づき他の仮想サーバ2を選択する。例えば、パッチ抽出部123は、仮想サーバ配備部122によって配備される仮想サーバ2のテンプレートの識別名、OS、用途およびMW情報を取得する。そして、パッチ抽出部123は、サーバ情報管理DB114を参照し、配備される仮想サーバ2と、テンプレートの識別名、OS、用途およびMWの構成が同一の他の仮想サーバ2を選択する。このとき、パッチ抽出部123は、サーバ情報管理DB114を参照し、過去の一定期間、稼働実績およびパッチ適用の実績がない他の仮想サーバ2を除外する。過去の一定期間、稼働実績およびパッチ適用の実績がない仮想サーバ2は、メンテナンスされていないおそれがあり、必要なパッチを抽出できない可能性があるからである。過去の一定期間とは、例えば6ヶ月であるが、メンテナンスされていないと判断できる期間であれば良い。そして、パッチ抽出部123は、選択した全ての他の仮想サーバ2をサーバ一覧データ115に格納する。
ここで、サーバ一覧データ115のデータ構造を、図6を参照して説明する。図6は、サーバ一覧データのデータ構造の一例を示す図である。図6に示すように、サーバ一覧データ115は、OS115b、テンプレート115c、用途115dおよびインストール済MW115eをサーバ115aに対応付けて記憶する。サーバ115a、OS115b、テンプレート115c、用途115dおよびインストール済MW115eは、サーバ情報管理DB114のサーバ114a、OS114b、テンプレート114c、用途114dおよびインストール済MW114hに対応する。すなわち、パッチ抽出部123は、サーバ情報管理DB114に記憶された、選択した全ての他の仮想サーバ2の情報をサーバ一覧データ115にコピーする。
一例として、サーバ115aが「サーバ4」である場合、OS115bとして「XXXX2008」、テンプレート115cとして「テンプレート1」、用途115dとして「AP」と記憶している。また、インストール済MW115eとして「ABC V2 XYZ V10」と記憶している。
図1に戻って、パッチ抽出部123は、選択された他の仮想サーバ2が複数ある場合、複数の他の仮想サーバ2でそれぞれ適用されたパッチのうち共通に適用されているパッチを適用対象パッチとして抽出する。また、パッチ抽出部123は、複数の他の仮想サーバ2のいずれかで適用されたパッチを選択する。そして、パッチ抽出部123は、選択したパッチのうち、パッチの種別が「重要」であり、他の仮想サーバ2で削除されたことがなく、仮想サーバ2の稼働率が所定の割合を超え、且つ最新であるが公開されたばかりでないパッチを適用対象パッチとして抽出する。パッチの種別が「重要」であるか否か、最新であるがパッチが公開されたばかりでないか否かは、パッチ管理DB111を用いて判定される。他の仮想サーバ2で削除されたことがないか否か、仮想サーバ2の稼働率が所定の割合を超えているか否かは、サーバ情報管理DB114を用いて判定される。なお、他の仮想サーバ2で削除されたことがないパッチを抽出するのは、当該パッチが業務の運用に影響しないと推測されるからである。また、仮想サーバ2の稼働率が所定の割合を超えているパッチを抽出するのは、当該パッチを適用してもパッチ適用による影響がないと推測されるからである。最新であるが公開されたばかりでないパッチを抽出するのは、当該パッチの実績があると推測されるからである。そして、パッチ抽出部123は、抽出した適用対象パッチを、最適パッチ一覧データ116に格納する。
また、パッチ抽出部123は、配備される仮想サーバ2と、テンプレートの識別名、OS、用途およびMWの構成が同じ他の仮想サーバ2を選択できない場合、配備される仮想サーバ2と類似構成の他の仮想サーバ2を選択する。例えば、パッチ抽出部123は、サーバ情報管理DB114を参照し、配備される仮想サーバ2と、OSおよび用途が同一であり、いずれかのMWが同一である他の仮想サーバ2を選択する。このとき、パッチ抽出部123は、サーバ情報管理DB114を参照し、過去の一定期間、稼働実績およびパッチ適用の実績がない他の仮想サーバ2を除外する。過去の一定期間、稼働実績およびパッチ適用の実績がない仮想サーバ2は、メンテナンスされていないおそれがあり、必要なパッチを抽出できない可能性があるからである。過去の一定期間とは、例えば6ヶ月であるが、メンテナンスされていないと判断できる期間であれば良い。そして、パッチ抽出部123は、選択した全ての他の仮想サーバ2をサーバ一覧データ115に格納する。
また、パッチ抽出部123は、選択された他の仮想サーバ2が複数ある場合、複数の他の仮想サーバ2でそれぞれ適用されたパッチのうち共通に適用されているパッチを選択する。そして、パッチ抽出部123は、選択したパッチのうち、パッチの種別が「重要」であり、他の仮想サーバ2で削除されたことがなく、且つ最新であるが公開されたばかりでないパッチを適用対象パッチとして抽出する。パッチの種別が「重要」であるか否か、最新であるがパッチが公開されたばかりでないか否かは、パッチ管理DB111を用いて判定される。他の仮想サーバ2で削除されたことがないか否かは、サーバ情報管理DB114を用いて判定される。そして、パッチ抽出部123は、抽出した適用対象パッチを、最適パッチ一覧データ116に格納する。
また、パッチ抽出部123は、仮想サーバ配備部122によって配備されたパッチのうち、不要なパッチを削除する。すなわち、パッチ抽出部123は、テンプレートの仮想イメージにあらかじめ適用されているパッチの中で、他の仮想サーバ2の運用中に削除されたパッチがあれば、そのパッチを適用解除パッチとする。例えば、パッチ抽出部123は、サーバ情報管理DB114を参照し、選択された他の仮想サーバ2から削除済みのパッチを選択する。そして、パッチ抽出部123は、テンプレート管理DB113を参照し、選択した削除済みのパッチが、配備する仮想サーバ2のテンプレートに適用されているか否かを判定する。そして、パッチ抽出部123は、適用されているパッチを、適用解除パッチとして最適パッチ一覧データ116に登録する。
ここで、最適パッチ一覧データ116のデータ構造を、図7を参照して説明する。図7は、最適パッチ一覧データのデータ構造の一例を示す図である。図7に示すように、最適パッチ一覧データ116は、OS116b、用途116c、MW116d、適用済パッチ116e、最適パッチ116fおよび適用解除パッチ116gをテンプレート116aに対応付けて記憶する。テンプレート116a、OS116b、MW116d、適用済パッチ116eは、テンプレート管理DB113の、テンプレート113a、OS113b、インストールMW113dおよび適用済パッチ113gに対応する。用途116cは、サーバ情報管理DB114の、用途114dに対応する。最適パッチ116fは、パッチ抽出部123によって抽出された適用対象パッチのうち適用済パッチ以外のパッチを示す。適用解除パッチ116gは、パッチ抽出部123によって抽出された適用解除パッチを示す。なお、テンプレート116a、OS116b、MW116d、適用済パッチ116eには、テンプレート管理DB113に記憶された、配備する仮想サーバ2に対応するテンプレート113a、OS113b、インストールMW113dおよび適用済パッチ113gが格納される。すなわち、用途116cには、サーバ情報管理DB114に記憶された、配備する仮想サーバ2に対応する用途114dが格納される。
一例として、テンプレート116aが「テンプレート1」である場合、OS116bとして「XXXX2008」、用途116cとして「AP」、MW116dとして「XYZ V10」と記憶している。また、適用済パッチ116eとして「パッチA パッチC」、最適パッチ116fとして「パッチB パッチE パッチG」、適用解除パッチ116gとして「パッチC」と記憶している。
図1に戻って、パッチ適用部124は、配備した仮想サーバ2に最適なパッチを適用する。パッチ適用部124は、配備した仮想サーバ2に適用されたパッチのうち、適用解除するパッチを削除する。例えば、パッチ適用部124は、最適パッチ一覧データ116を参照し、仮想サーバ配備部122によって配備された仮想サーバ2に対して、エージェント部24を通じて最適パッチ116fを適用する。また、パッチ適用部124は、最適パッチ一覧データ116を参照し、仮想サーバ配備部122によって配備された仮想サーバ2に対して、エージェント部24を通じて適用解除パッチ116gを削除する。
[パッチ抽出処理の具体例]
図8は、実施例に係るパッチ抽出処理の具体例を示す図である。図8では、仮想サーバ(4)にテンプレート1の仮想イメージを配備する。図8に示すように、テンプレート1の仮想イメージには、OS、MWa,bがインストールされ、パッチA,B,Cが適用されている。そして、テンプレート管理DB113は、仮想イメージのテンプレート1を管理している。
このような状況の下、サーバ情報収集部121は、サーバ情報管理DB113で管理している全ての仮想サーバ2に対して、定期的に、各種情報を収集する。ここでは、サーバ情報収集部121は、仮想サーバ(1),(2)に対して、MW情報としてサービスまたはプロセスのログサイズ、およびパッチの適用状況を収集している。
サーバ情報収集部121は、収集した各種情報をサーバ情報管理DB114に格納する。ここでは、仮想サーバ(1)について、MWaに対応するMW情報として、MWaを起動するサービスのログサイズ114k0を100と記憶している。MWbに対応するMW情報として、MWbを起動するサービスのログサイズ114k0を120と記憶している。MWcに対応するMW情報として、MWcを起動するサービスのログサイズ114k0を110と記憶している。適用済みパッチ114mとして「A B D E」を記憶している。仮想サーバ(2)について、MWaに対応するMW情報として、MWaを起動するサービスのログサイズ114k0を100と記憶している。適用済みパッチ114mとして「A B C E」を記憶している。
そして、サーバ情報収集部121は、仮想サーバ2に対応する、今回収集したMWを起動するサービスのログサイズと前回収集した同一のMWを起動するサービスのログサイズとを比較し、当該MWの稼働/未稼働を判定する。そして、サーバ情報収集部121は、仮想サーバ2毎、MW毎の判定結果を、サーバ情報管理DB114に格納する。ここでは、仮想サーバ(1)に対応するMWaの前回と今回のログサイズが同じ値であるので、MWaは、未稼働であると判定され、「×」が記憶される。仮想サーバ(1)に対応するMWbの前回と今回のログサイズが異なる値であるので、MWbは、稼働していると判定され、「○」が記憶される。同様に、仮想サーバ(1)に対応するMWcは、稼働していると判定され、「○」が記憶される。仮想サーバ(2)に対応するMWaは、稼働していると判定され、「○」が記憶される。
そして、サーバ情報収集部121は、仮想サーバ2に対応する仮想イメージのMWの構成と今回収集したMWの構成とを比較し、配備後に追加または削除されたMWを判定する。ここでは、仮想サーバ(1)では、配備時に「テンプレート1」が用いられている。したがって、サーバ情報収集部121は、テンプレート管理DB113のテンプレート1に対応するMWの構成(MWa、MWb)と今回のサーバ情報管理DB114の仮想サーバ(1)に対応するMWの構成(MWa,MWb,MWc)とを比較する。そして、サーバ情報収集部121は、配備後にMWcが追加されたと判定する。同様に、サーバ情報収集部121は、仮想サーバ(2)について、配備後にMWbが削除されたと判定する。
そして、サーバ情報収集部121は、一例として、仮想サーバ2に対応する仮想イメージに適用されたパッチの情報と今回収集したパッチの情報とを比較し、配備後に追加または削除されたパッチを判定する。そして、サーバ情報収集部121は、仮想サーバ2毎、の判定結果を、サーバ情報管理DB114に格納する。ここでは、仮想サーバ(1)では、前回収集したパッチの情報が「A B C D E」、今回収集したパッチの情報が「A B D E」である。したがって、サーバ情報収集部121は、削除されたパッチを「C」と判定し、削除パッチ114nに「C」を格納する。
そして、仮想サーバ配備部122は、仮想イメージを用いて、仮想サーバ(4)に配備を実行する。ここでは、仮想サーバ(4)にOS、MWa,bが配備され、パッチA,B,Cが適用される。
そして、パッチ抽出部123は、テンプレート管理DB113を参照し、配備される仮想サーバ(4)のテンプレートの識別名、OS、用途、MWの構成を取得する。パッチ抽出部123は、サーバ情報管理DB114を参照し、配備される仮想サーバ(4)と、テンプレートの識別名、OS、用途、MWの構成が同一の他の仮想サーバ2を選択する。ここでは、配備される仮想サーバ(4)のMWの構成は、「MWa MWb」である。一方、仮想サーバ(1)のMWの構成が「MWa MWb MWc」、仮想サーバ(2)のMWの構成が「MWa」である。したがって、パッチ抽出部123は、配備される仮想サーバ(4)とテンプレートの識別名、OS、用途、MWの構成が同一の他の仮想サーバ2を選択することができない。
そこで、パッチ抽出部123は、配備される仮想サーバ(4)と類似構成の他の仮想サーバ2を選択する。例えば、パッチ抽出部123は、サーバ情報管理DB114を参照し、配備される仮想サーバ(4)と、OSおよび用途が同一であり、いずれかのMWが同一である他の仮想サーバ2を選択する。ここでは、仮想サーバ(1)と仮想サーバ(2)とが選択される。
そして、パッチ抽出部123は、選択された他の仮想サーバ2が複数あるので、複数の他の仮想サーバ2でそれぞれ適用されたパッチのうち共通に適用されているパッチを選択する。ここでは、仮想サーバ(1)で適用されたパッチが「A B D E」であり、仮想サーバ(2)で適用されたパッチが「A B C E」であるので、共通に適用されているパッチとして「A B E」が選択される。
そして、パッチ抽出部123は、選択されたパッチのうち、仮想イメージにあらかじめ適用されているパッチを除外する。ここでは、テンプレート1の仮想イメージに「A B C」が適用されているので、「A B E」のうち「A B」が除外される。したがって、パッチ「E」が選択される。
そして、パッチ抽出部123は、選択されたパッチのうち、パッチの種別が「重要」であり、他の仮想サーバ2で削除されたことがなく、且つ最新であるが公開されたばかりでないパッチを適用対象パッチとして抽出する。ここでは、選択されたパッチ「E」が、適用対象パッチとして抽出されるとする。
そして、パッチ抽出部123は、仮想イメージにあらかじめ適用されているパッチの中で、他の仮想サーバ2の運用中に削除されたパッチがあれば、そのパッチを適用解除パッチとする。ここでは、サーバ情報管理DB114の削除パッチ114nにパッチ「C」が記憶されているので、パッチ抽出部123は、パッチ「C」を適用解除パッチとする。
この結果、パッチ抽出部123は、最適パッチとして「E」を抽出し、適用解除パッチとして「C」を抽出する。その後、パッチ適用部124は、最適パッチとして抽出された「E」を仮想サーバ(4)に適用し、適用解除パッチとして抽出された「C」を仮想サーバ(4)から削除することになる。
[サーバ情報収集処理のフローチャート]
次に、図9を参照して、サーバ情報収集処理の全体の手順を説明する。図9は、実施例に係るサーバ情報収集処理の全体の手順を示すフローチャートである。
まず、サーバ情報収集部121は、サーバ情報の収集要求があったか否かを判定する(ステップS11)。サーバ情報の収集要求がなかったと判定した場合(ステップS11;No)、サーバ情報収集部121は、サーバ情報の収集要求があるまで、判定処理を繰り返す。
一方、サーバ情報の収集要求があったと判定した場合(ステップS11;Yes)、サーバ情報収集部121は、サーバ情報収集処理を実行する(ステップS12)。例えば、サーバ情報収集部121は、サーバ情報管理DB114に記憶されている全ての仮想サーバ2に対して、サーバ情報の収集指示を行い、仮想サーバ2からサーバ情報を収集する。その後、サーバ情報収集部121は、処理を終了する。
次に、図10を参照して、サーバ情報収集処理の手順を説明する。図10は、実施例に係るサーバ情報収集処理の手順を示すフローチャートである。なお、サーバ情報収集部121は、仮想サーバ2へのサーバ情報の収集指示に対する応答を受け取ったものとする。
サーバ情報の収集指示に対する応答を仮想サーバ2から受け取ったサーバ情報収集部121は、サーバ情報管理DB114に記憶されている全ての仮想サーバ2のうち、仮想サーバ2を1つ選択する(ステップS21)。
そして、サーバ情報収集部121は、選択した仮想サーバ2の稼働状況をチェックする(ステップS22)。例えば、サーバ情報収集部121は、選択した仮想サーバ2から応答を受け取っているか否かを判定する。そして、サーバ情報収集部121は、選択した仮想サーバ2から応答を受け取ったと判定した場合、稼働していると判定する。一方、サーバ情報収集部121は、選択した仮想サーバ2から応答を受け取っていないと判定した場合、稼働していないと判定する。
そして、サーバ情報収集部121は、稼働しているか否かを判定する(ステップS23)。稼働していないと判定した場合(ステップS23;No)、サーバ情報収集部121は、稼働していないことをサーバ情報管理DB114に記憶すべく、ステップS27に移行する。一方、稼働していると判定した場合(ステップS23;Yes)、サーバ情報収集部121は、ミドルウェア稼働状況取得処理を実行する(ステップS24)。
続いて、サーバ情報収集部121は、適用されたパッチの情報を取得する(ステップS25)。そして、サーバ情報収集部121は、パッチの差分を確認する(ステップS26)。例えば、サーバ情報収集部121は、選択した仮想サーバ2に対応する仮想イメージ(テンプレート)に適用されたパッチの情報と今回取得されたパッチの情報とを比較し、配備後に追加または削除されたパッチを判定する。加えて、サーバ情報収集部121は、前回取得されたパッチの情報と今回取得されたパッチの情報とを比較し、前回取得後に追加または削除されたパッチを判定する。
そして、サーバ情報収集部121は、収集した各種情報をサーバ情報管理DB114に登録する(ステップS27)。例えば、仮想サーバ2が稼働していない場合、サーバ情報収集部121は、稼働していないことをサーバ情報管理DB114に設定する。また、仮想サーバ2が稼働している場合、サーバ情報収集部121は、仮想サーバ2の稼働状況をサーバ情報管理DB114に設定する。サーバ情報収集部121は、MWの稼働状況をサーバ情報管理DB114に設定する。サーバ情報収集部121は、パッチの適用状況をサーバ情報管理DB114に設定する。
そして、サーバ情報収集部121は、全ての仮想サーバ2を選択したか否かを判定する(ステップS28)。全ての仮想サーバ2を選択したと判定した場合(ステップS28;Yes)、サーバ情報収集部121は、処理を終了する。一方、全ての仮想サーバ2を選択していないと判定した場合(ステップS28;No)、サーバ情報収集部121は、次の仮想サーバ2を選択し(ステップS29)、ステップS22に移行する。
[ミドルウェア稼働状況取得処理の手順]
次に、図11を参照して、ミドルウェア(MW)稼働状況取得処理の手順を説明する。図11は、ミドルウェア稼働状況取得処理の手順を示すフローチャートである。
サーバ情報収集部121は、選択した仮想サーバ2からMWのインストール情報を取得する(ステップS31)。例えば、サーバ情報収集部121は、選択した仮想サーバ2からMWのインストール状況、インストール先を取得する。MWのインストール状況、インストール先は、エージェント部24によってOS毎に異なる領域(レジストリ/パッケージ情報)から収集される。なお、サーバ情報収集部121は、MWのインストール情報を定期的に収集する際には、ここでMWのインストール情報を取得しないようにしても良い。
そして、サーバ情報収集部121は、MWを起動するサービスまたはプロセスのログ情報を取得する(ステップS32)。これは、MWの稼働状況を得るためである。そして、サーバ情報収集部121は、仮想サーバ2に対応するテンプレートのMW情報と、今回収集したMW情報とを比較し、配備後のMWの追加または削除を判断する(ステップS33)。ここでいうMW情報とは、テンプレート管理DB113に記憶された、仮想サーバ2に対応するテンプレートのMW情報113cおよびサーバ情報管理DB114に記憶された、仮想サーバ2に対応するMW毎のMW情報を意味する。
続いて、サーバ情報収集部121は、今回収集したMW情報を1つ選択する(ステップS34)。そして、サーバ情報収集部121は、選択したMW情報について、今回収集時のログ情報と前回収集したログ情報とを比較し、MWの稼働状況を判断する(ステップS35)。例えば、サーバ情報収集部121は、選択したMW情報に対応するMWについて、今回収集時のログのサイズと前回収集したログのサイズとが異なる場合、当該MWが稼働していると判断する。一方、サーバ情報収集部121は、選択したMW情報に対応するMWについて、今回収集時のログのサイズと前回収集したログのサイズとが同じである場合、当該MWが稼働していないと判断する。
そして、サーバ情報収集部121は、今回収集したMW情報を全て選択したか否かを判定する(ステップS36)。今回収集したMW情報を全て選択したと判定した場合(ステップS36;Yes)、サーバ情報収集部121は、処理を終了する。一方、今回収集したMW情報を全て選択していないと判定した場合(ステップS36;No)、サーバ情報収集部121は、次のMW情報を選択し(ステップS37)、ステップS35に移行する。
[仮想サーバ配備処理の全体の手順]
次に、図12を参照して、仮想サーバ配備処理の全体の手順を説明する。図12は、実施例に係る仮想サーバ配備処理の全体の手順を示すフローチャートである。
まず、仮想サーバ配備部122は、利用者によって仮想イメージ(テンプレート)が選択されると、選択された仮想イメージを用いて仮想サーバ2を配備する(ステップS41)。そして、パッチ抽出部123は、配備した仮想サーバ2に関し、パッチ抽出処理を実行する(ステップS42)。その後、パッチ適用部124は、抽出されたパッチを配備した仮想サーバ2に適用すべく、パッチ適用処理を実行する(ステップS43)。
[パッチ抽出処理の手順]
次に、図13を参照して、パッチ抽出処理の手順を説明する。図13は、パッチ抽出処理の手順示すフローチャートである。
まず、パッチ抽出部123は、配備した仮想サーバ2と同一構成の仮想サーバ2を対象に、パッチ抽出処理を実行する(ステップS51)。次に、パッチ抽出部123は、配備した仮想サーバ2と同一構成の仮想サーバ2がない場合、配備した仮想サーバ2と類似構成の仮想サーバ2を対象に、パッチ抽出処理を実行する(ステップS52)。そして、パッチ抽出部123は、パッチ抽出処理によって抽出されたパッチから削除する削除パッチを抽出する(ステップS53)。
[同一構成サーバのパッチ抽出処理の手順]
次に、図14を参照して、同一構成サーバのパッチ抽出処理の手順を説明する。図14は、同一構成サーバのパッチ抽出処理の手順を示すフローチャートである。
まず、パッチ抽出部123は、配備した仮想サーバ2の配備時のテンプレート、用途、MWの情報を取得する(ステップS61)。そして、パッチ抽出部123は、サーバ情報管理DB114を参照し、取得したテンプレート、OS、用途、使用するMWが同じ仮想サーバ2を選択する(ステップS62)。そして、パッチ抽出部123は、選択した仮想サーバ2をサーバ一覧データ115に格納する。
そして、パッチ抽出部123は、選択した仮想サーバ2のうち過去nヶ月稼働実績がない仮想サーバ2を除外する(ステップS63)。例えば、パッチ抽出部123は、サーバ情報管理DB114の稼働実績114eの最終確認日を参照し、サーバ一覧データ115に記憶された仮想サーバ2のうち過去nヶ月稼働実績がない仮想サーバ2を削除する。
さらに、パッチ抽出部123は、選択した仮想サーバ2のうち過去nヶ月パッチ適用実績がない仮想サーバ2を除外する(ステップS64)。例えば、パッチ抽出部123は、サーバ情報管理DB114の最終パッチ適用日114lを参照し、サーバ一覧データ115に記憶された仮想サーバ2のうち過去nヶ月パッチ適用実績がない仮想サーバ2を削除する。
そして、パッチ抽出部123は、サーバ一覧データ115を参照し、仮想サーバ2を選択できたか否かを判定する(ステップS65)。仮想サーバ2を選択できなかったと判定した場合(ステップS65;No)、パッチ抽出部123は、処理を終了する。
一方、仮想サーバ2を選択できたと判定した場合(ステップS65;Yes)、パッチ抽出部123は、サーバ情報管理DB114を参照し、選択した各仮想サーバ2に適用済のパッチの論理積を抽出する(ステップS66)。すなわち、パッチ抽出部123は、仮想サーバ2が複数選択された場合、選択された複数の仮想サーバ2でそれぞれ適用されたパッチのうち共通に適用されているパッチを抽出する。
そして、パッチ抽出部123は、抽出したパッチの一覧から、配備した仮想サーバ2の配備時のテンプレートに適用済のパッチを除外し、最適パッチ一覧データ116に追加する(ステップS67)。さらに、パッチ抽出部123は、サーバ情報管理DB114を参照し、選択した各仮想サーバ2に適用済のパッチの論理和を抽出する(ステップS68)。すなわち、パッチ抽出部123は、複数の仮想サーバ2のいずれかで適用されたパッチを抽出する。そして、パッチ抽出部123は、論理和で抽出したパッチ一覧から、論理積で抽出したパッチを除外する(ステップS69)。
続いて、パッチ抽出部123は、論理和で抽出したパッチ一覧から、パッチを1つ選択する(ステップS70)。そして、パッチ抽出部123は、パッチ管理DB111を参照し、選択したパッチの種別が「重要」であるか否かを判定する(ステップS71)。選択したパッチの種別が「重要」でないと判定した場合(ステップS71;No)、パッチ抽出部123は、次の抽出パッチを選択すべく、ステップS76に移行する。
一方、選択したパッチの種別が「重要」であると判定した場合(ステップS71;Yes)、パッチ抽出部123は、選択したパッチが削除されたことがあるか否かを判定する(ステップS72)。これは、選択したパッチが削除されたことがあれば、選択したパッチを適用することで業務の運用に影響するおそれがあるので、このパッチの適用を排除するためである。例えば、パッチ抽出部123は、サーバ情報管理DB114の削除パッチ114nを参照し、選択したパッチが削除パッチに含まれているか否かを判定する。
選択したパッチが削除されたことがあると判定した場合(ステップS72;Yes)、パッチ抽出部123は、次の抽出パッチを選択すべく、ステップS76に移行する。
一方、選択したパッチが削除されたことがないと判定した場合(ステップS72;No)、パッチ抽出部123は、選択したパッチを適用している仮想サーバ2の稼働率がx%以下であるか否かを判定する(ステップS73)。これは、選択したパッチを適用している仮想サーバ2の稼働率がx%以下であれば、選択したパッチを適用することで業務の稼働に影響するおそれがあるので、このパッチの適用を排除するためである。例えば、パッチ抽出部123は、サーバ情報管理DB114の稼働率114fを参照し、選択したパッチを適用している仮想サーバ2の稼働率がx%以下であるか否かを判定する。
選択したパッチを適用している仮想サーバ2の稼働率がx%以下であると判定した場合(ステップS73;Yes)、パッチ抽出部123は、次の抽出パッチを選択すべく、ステップS76に移行する。
一方、選択したパッチを適用している仮想サーバ2の稼働率がx%以下であると判定した場合(ステップS73;No)、パッチ抽出部123は、選択したパッチの最新の公開日がn月未満であるか否かを判定する(ステップS74)。これは、選択したパッチの最新の公開日がn月未満であれば、選択したパッチを適用することで業務の運用に影響するおそれがあるので、このパッチの適用を排除するためである。例えば、パッチ抽出部123は、パッチ管理DB111の公開日111eを参照し、選択したパッチの公開日がn月未満である否かを判定する。
選択したパッチの最新の公開日がn月未満であると判定した場合(ステップS74;Yes)、パッチ抽出部123は、次の抽出パッチを選択すべく、ステップS76に移行する。一方、選択したパッチの最新の公開日がn月未満でないと判定した場合(ステップS74;No)、パッチ抽出部123は、選択したパッチを最適パッチ一覧データ116に追加する(ステップS75)。
そして、パッチ抽出部123は、論理和で抽出したパッチ一覧のパッチを全て選択したか否かを判定する(ステップS76)。全て選択したと判定した場合(ステップS76;Yes)、パッチ抽出部123は、処理を終了する。一方、全て選択していないと判定した場合(ステップS76;No)、パッチ抽出部123は、パッチ一覧から次のパッチを選択し(ステップS77)、ステップS71に移行する。
[類似構成サーバのパッチ抽出処理の手順]
次に、図15を参照して、類似構成サーバのパッチ抽出処理の手順を説明する。図15は、類似構成サーバのパッチ抽出処理の手順を示すフローチャートである。
まず、パッチ抽出部123は、配備した仮想サーバ2の配備時のテンプレート、用途、MWの情報を取得する(ステップS81)。そして、パッチ抽出部123は、テンプレートから、配備されたMWを1つ選択する(ステップS82)。そして、パッチ抽出部123は、サーバ情報管理DB114を参照し、取得したOSおよび用途が同一の仮想サーバ2であって、選択したMWが稼働している仮想サーバ2を選択する(ステップS83)。そして、パッチ抽出部123は、選択した仮想サーバ2をサーバ一覧データ115に格納する。
そして、パッチ抽出部123は、選択した仮想サーバ2のうち過去nヶ月稼働実績がない仮想サーバ2を除外する(ステップS84)。例えば、パッチ抽出部123は、サーバ情報管理DB114の稼働実績114eの最終確認日を参照し、サーバ一覧データ115に記憶された仮想サーバ2のうち過去nヶ月稼働実績がない仮想サーバ2を削除する。
さらに、パッチ抽出部123は、選択した仮想サーバ2のうち過去nヶ月パッチ適用実績がない仮想サーバ2を除外する(ステップS85)。例えば、パッチ抽出部123は、サーバ情報管理DB114の最終パッチ適用日114lを参照し、サーバ一覧データ115に記憶された仮想サーバ2のうち過去nヶ月パッチ適用実績がない仮想サーバ2を削除する。
そして、パッチ抽出部123は、サーバ情報管理DB114を参照し、選択した各仮想サーバ2に適用済のパッチの論理積を抽出する(ステップS86)。すなわち、パッチ抽出部123は、仮想サーバ2が複数選択された場合、選択された複数の仮想サーバ2でそれぞれ適用されたパッチのうち共通に適用されているパッチを抽出する。
そして、パッチ抽出部123は、抽出したパッチの一覧から、配備した仮想サーバ2の配備時のテンプレートに適用済のパッチを除外する(ステップS87)。そして、パッチ抽出部123は、テンプレートから、配備されたMWを全て選択したか否かを判定する(ステップS88)。配備されたMWを全て選択していないと判定した場合(ステップS88;No)、パッチ抽出部123は、次のMWをテンプレートから選択し(ステップS89)、ステップS83に移行する。
一方、配備されたMWを全て選択したと判定した場合(ステップS88;Yes)、パッチ抽出部123は、抽出したパッチの一覧から、パッチを1つ選択する(ステップS90)。そして、パッチ抽出部123は、パッチ管理DB111を参照し、選択したパッチの種別が「重要」であるか否かを判定する(ステップS91)。選択したパッチの種別が「重要」でないと判定した場合(ステップS91;No)、パッチ抽出部123は、次の抽出パッチを選択すべく、ステップS95に移行する。
一方、選択したパッチの種別が「重要」であると判定した場合(ステップS91;Yes)、パッチ抽出部123は、選択したパッチが削除されたことがあるか否かを判定する(ステップS92)。これは、選択したパッチが削除されたことがあれば、選択したパッチを適用することで業務の運用に影響するおそれがあるので、このパッチの適用を排除するためである。例えば、パッチ抽出部123は、サーバ情報管理DB114の削除パッチ114nを参照し、選択したパッチが削除パッチに含まれているか否かを判定する。
選択したパッチが削除されたことがあると判定した場合(ステップS92;Yes)、パッチ抽出部123は、次の抽出パッチを選択すべく、ステップS95に移行する。
一方、選択したパッチが削除されたことがないと判定した場合(ステップS92;No)、パッチ抽出部123は、選択したパッチの最新の公開日がn月未満であるか否かを判定する(ステップS93)。これは、選択したパッチの最新の公開日がn月未満であれば、選択したパッチを適用することで業務の運用に影響するおそれがあるので、このパッチの適用を排除するためである。例えば、パッチ抽出部123は、パッチ管理DB111の公開日111eを参照し、選択したパッチの公開日がn月未満である否かを判定する。
選択したパッチの最新の公開日がn月未満であると判定した場合(ステップS93;Yes)、パッチ抽出部123は、次の抽出パッチを選択すべく、ステップS95に移行する。一方、選択したパッチの最新の公開日がn月未満でないと判定した場合(ステップS93;No)、パッチ抽出部123は、選択したパッチを最適パッチ一覧データ116に追加する(ステップS94)。
そして、パッチ抽出部123は、抽出したパッチの一覧のパッチを全て選択したか否かを判定する(ステップS95)。全て選択したと判定した場合(ステップS95;Yes)、パッチ抽出部123は、処理を終了する。一方、全て選択していないと判定した場合(ステップS95;No)、パッチ抽出部123は、抽出したパッチの一覧から次のパッチを選択し(ステップS96)、ステップS91に移行する。
[削除パッチ抽出処理の手順]
次に、図16を参照して、削除パッチ抽出処理の手順を説明する。図16は、削除パッチ抽出処理の手順を示すフローチャートである。
パッチ抽出部123は、サーバ情報管理DB114を参照し、選択した各仮想サーバ2から削除済のパッチの論理和を抽出する(ステップS101)。そして、パッチ抽出部123は、抽出したパッチの一覧から、パッチを1つ選択する(ステップS102)。そして、パッチ抽出部123は、選択したパッチが配備時のテンプレートの適用済パッチに存在するか否かを判定する(ステップS103)。例えば、パッチ抽出部123は、テンプレート管理DB113を参照し、選択したパッチが配備時のテンプレートの適用済パッチ113gに存在するか否かを判定する。
選択したパッチが配備時のテンプレートの適用済パッチに存在しないと判定した場合(ステップS103;No)、パッチ抽出部123は、次の抽出パッチを選択すべく、ステップS105に移行する。一方、選択したパッチが配備時のテンプレートの適用済パッチに存在すると判定した場合(ステップS103;Yes)、パッチ抽出部123は、選択したパッチを削除パッチとして最適パッチ一覧データ116に登録する(ステップS104)。
そして、パッチ抽出部123は、抽出したパッチの一覧のパッチを全て選択したか否かを判定する(ステップS105)。全て選択したと判定した場合(ステップS105;Yes)、パッチ抽出部123は、処理を終了する。一方、全て選択していないと判定した場合(ステップS105;No)、パッチ抽出部123は、抽出したパッチの一覧から次のパッチを選択し(ステップS106)、ステップS103に移行する。
[実施例の効果]
上記実施例によれば、管理サーバ1は、仮想イメージより配備された仮想サーバ2の情報、および当該仮想サーバ2で動作するソフトウェアの情報を、仮想サーバ2毎に記憶するサーバ情報管理DB114を有する。そして、管理サーバ1は、サーバ情報管理DB114を参照し、所定の仮想イメージより配備される特定の仮想マシンの情報および特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択する。そして、管理サーバ1は、選択された他の仮想マシンに適用されたパッチの内容に基づき、特定の仮想マシンに適用するパッチを抽出する。かかる構成によれば、管理サーバ1は、特定の仮想マシンに適用するパッチの適用可否を判定することができ、最適なパッチを抽出することが可能となる。
また、上記実施例によれば、サーバ情報管理DB114は、仮想サーバ2の情報として仮想サーバ2が用いられる用途および動作実績を含む情報を記憶し、当該仮想サーバで動作するソフトウェアの情報としてOSおよびミドルウェアを含む情報を記憶する。そして、管理サーバ1は、サーバ情報管理DB114を参照し、特定の仮想サーバ2と用途、OSおよびミドルウェアの構成が同一である他の仮想マシンを選択する。そして、管理サーバ1は、選択された他の仮想サーバ2が複数ある場合、複数の他の仮想サーバ2でそれぞれ適用されたパッチのうち共通するパッチを特定の仮想サーバ2に適用するパッチとして抽出する。加えて、管理サーバ1は、複数の他の仮想サーバ2のいずれかで適用されたパッチを選択し、選択したパッチの内容に基づき、特定の仮想サーバ2に適用するパッチをさらに抽出する。かかる構成によれば、管理サーバ1は、特定の仮想サーバ2と用途、OSおよびミドルウェアの構成が同一である他の仮想サーバ2を対象に、特定の仮想サーバ2に適用するパッチを抽出するので、特定の仮想サーバ2に最適なパッチを適用することが可能となる。また、管理サーバ1は、用途が同一の他の仮想サーバ2を対象に、特定の仮想サーバ2に適用するパッチを抽出するので、用途の差異を考慮してパッチの選定を行うことができる。
また、上記実施例によれば、管理サーバ1は、特定の仮想サーバ2と用途、OSおよびミドルウェアの構成が同一である他の仮想サーバ2を選択できない場合、以下の処理を行う。すなわち、管理サーバ1は、サーバ情報管理DB114を参照し、特定の仮想サーバ2と用途、OSおよびいずれかのミドルウェアが同一である他の仮想サーバ2を選択する。そして、管理サーバ1は、特定の仮想サーバ2に配備されたミドルウェア毎に、ミドルウェアが同一である他の仮想サーバ2が複数ある場合、複数の他の仮想サーバ2でそれぞれ適用されたパッチのうち共通するパッチを選択する。そして、管理サーバ1は、選択したパッチの内容に基づき、特定の仮想サーバ2に適用するパッチを抽出する。かかる構成によれば、管理サーバ1は、特定の仮想サーバ2と用途、OSおよび動作するミドルウェアの構成が同一でない他の仮想サーバ2であっても、特定の仮想サーバ2に配備されたミドルウェアと同一の他の仮想サーバ2を対象に、特定の仮想サーバ2に適用するパッチを抽出するので、特定の仮想サーバ2に最適なパッチを適用することが可能となる。
また、上記実施例によれば、管理サーバ1は、選択したパッチの内容が、最も重要であり、いずれかの他の仮想サーバ2で削除されたことがなく、最新である場合に、当該パッチを特定の仮想サーバ2に適用するパッチとして抽出する。かかる構成によれば、管理サーバ1は、抽出したパッチを適用することで、業務における運用を円滑に行えることができる。
また、上記実施例によれば、管理サーバ1は、さらに、選択したパッチが適用されている他の仮想サーバ2の稼働率が所定の割合を超えている場合に、当該パッチを特定の仮想サーバ2に適用するパッチとして抽出する。かかる構成によれば、管理サーバ1はパッチ適用によって稼働に影響を及ぼさないようなパッチを抽出することができる。
[その他]
なお、エージェント部24は、MWを起動するサービスまたはプロセスのログ情報を収集すると説明した。これは、MWの稼働状況をサーバ情報収集部121に判断させるためである。しかしながら、エージェント部24は、これに限定されず、同じ目的のために、MWを起動するサービスまたはプロセスが生成するファイルの構成情報を収集するようにしても良い。そして、サーバ情報収集部121では、今回収集したMWを起動するサービスまたはプロセスが生成するファイルの構成情報と、前回収集した同じMWを起動するサービスまたはプロセスが生成するファイルの構成情報とを比較し、当該MWの稼働状況を判定すれば良い。すなわち、サーバ情報収集部121は、前回収集したMWに対応するファイルの構成情報と前回収集した同じMWに対応するファイルの構成情報とが異なれば、当該MWが稼働していると判定する。一方、サーバ情報収集部121は、前回収集したMWに対応するファイルの構成情報と前回収集した同じMWに対応するファイルの構成情報とが異ならなければ、当該MWが稼働していないと判定する。
また、管理サーバ1は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記したサーバ情報収集部121、仮想サーバ配備部122およびパッチ抽出部123などの各機能を搭載することによって実現することができる。
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、パッチ抽出部123とパッチ適用部124とを1個の部として統合しても良い。一方、パッチ抽出部123を、同一構成の仮想サーバ2からパッチを抽出する第1のパッチ抽出部と類似構成の仮想サーバ2からパッチを抽出する第2のパッチ抽出部とを分散しても良い。また、パッチ管理DB111、メディアライブラリ112、テンプレート管理DB113およびサーバ情報管理DB114を管理サーバ1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示した管理サーバ1と同様の機能を実現するパッチ抽出プログラムを実行するコンピュータの一例を説明する。図17は、パッチ抽出プログラムを実行するコンピュータの一例を示す図である。
図17に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、パッチ抽出プログラム205aおよびパッチ抽出関連情報205bを記憶する。
CPU203は、パッチ抽出プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、管理サーバ1の各機能部に対応する。パッチ抽出関連情報205bは、パッチ関連DB111、メディアライブラリ112、テンプレート管理DB113、サーバ情報管理DB114、サーバ一覧データ115および最適パッチ一覧データ116に対応する。そして、例えばリムーバブルディスク211が、パッチ抽出プログラム205aなどの各情報を記憶する。
なお、パッチ抽出プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからパッチ抽出プログラム205aを読み出して実行するようにしても良い。
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)コンピュータに、
仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択し、
該選択する処理によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する
処理を実行させることを特徴とするソフトウェア修正パッチ抽出プログラム。
(付記2)前記記憶部は、仮想マシンの情報として仮想マシンが用いられる用途および動作実績を含む情報、当該仮想マシンで動作するソフトウェアの情報としてOSおよびミドルウェアを含む情報を記憶し、
該選択する処理は、前記記憶部を参照し、前記特定の仮想マシンと用途、OSおよびミドルウェアの構成が同一である他の仮想マシンを選択し、
該抽出する処理は、該選択する処理によって選択された他の仮想マシンが複数ある場合、複数の他の仮想マシンでそれぞれ適用されたソフトウェア修正パッチのうち共通するソフトウェア修正パッチを前記特定の仮想マシンに適用するソフトウェア修正パッチとして抽出するとともに、複数の他の仮想マシンのいずれかで適用されたソフトウェア修正パッチを選択し、選択したソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチをさらに抽出する
処理を実行させることを特徴とする付記1に記載のソフトウェア修正パッチ抽出プログラム。
(付記3)該選択する処理は、前記特定の仮想マシンと用途、OSおよびミドルウェアの構成が同一である他の仮想マシンを選択できない場合、前記記憶部を参照し、前記特定の仮想マシンと用途、OSおよびいずれかのミドルウェアが同一である他の仮想マシンを選択し、
該抽出する処理は、前記特定の仮想マシンで動作するミドルウェア毎に、ミドルウェアが同一である他の仮想マシンが複数ある場合、複数の他の仮想マシンでそれぞれ適用されたソフトウェア修正パッチのうち共通するソフトウェア修正パッチを選択し、選択したソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する
処理を実行させることを特徴とする付記2に記載のソフトウェア修正パッチ抽出プログラム。
(付記4)該抽出する処理は、選択したソフトウェア修正パッチの内容が、最も重要であり、いずれかの他の仮想マシンで削除されたことがなく、最も新しい場合に、当該ソフトウェア修正パッチを前記特定の仮想マシンに適用するソフトウェア修正パッチとして抽出する
処理を実行させることを特徴とする付記2または付記3に記載のソフトウェア修正パッチ抽出プログラム。
(付記5)該抽出する処理は、さらに、当該ソフトウェア修正パッチが適用されている他の仮想マシンの稼働率が所定の割合を超えている場合に、当該ソフトウェア修正パッチを前記特定の仮想マシンに適用するソフトウェア修正パッチとして抽出する
処理を実行させることを特徴とする付記4に記載のソフトウェア修正パッチ抽出プログラム。
(付記6)コンピュータが、
仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択し、
該選択する処理によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する
各処理を実行することを特徴とするソフトウェア修正パッチ抽出方法。
(付記7)仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部と、
前記記憶部に記憶された情報を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択する選択部と、
前記選択部によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する抽出部と、
を有することを特徴とする情報処理装置。
1 管理サーバ
11 記憶部
111 パッチ管理DB
112 メディアライブラリ
113 テンプレート管理DB
114 サーバ情報管理DB
115 サーバ一覧データ
116 最適パッチ一覧データ
12 制御部
121 サーバ情報収集部
122 仮想サーバ配備部
123 パッチ抽出部
124 パッチ適用部
2 仮想サーバ
21 OS
22 MW
23 パッチ
24 エージェント部
3 ネットワーク
9 管理システム

Claims (6)

  1. コンピュータに、
    仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択し、
    該選択する処理によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する
    処理を実行させることを特徴とするソフトウェア修正パッチ抽出プログラム。
  2. 前記記憶部は、仮想マシンの情報として仮想マシンが用いられる用途および動作実績を含む情報、当該仮想マシンで動作するソフトウェアの情報としてOSおよびミドルウェアを含む情報を記憶し、
    該選択する処理は、前記記憶部を参照し、前記特定の仮想マシンと用途、OSおよびミドルウェアの構成が同一である他の仮想マシンを選択し、
    該抽出する処理は、該選択する処理によって選択された他の仮想マシンが複数ある場合、複数の他の仮想マシンでそれぞれ適用されたソフトウェア修正パッチのうち共通するソフトウェア修正パッチを前記特定の仮想マシンに適用するソフトウェア修正パッチとして抽出するとともに、複数の他の仮想マシンのいずれかで適用されたソフトウェア修正パッチを選択し、選択したソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチをさらに抽出する
    処理を実行させることを特徴とする請求項1に記載のソフトウェア修正パッチ抽出プログラム。
  3. 該選択する処理は、前記特定の仮想マシンと用途、OSおよびミドルウェアの構成が同一である他の仮想マシンを選択できない場合、前記記憶部を参照し、前記特定の仮想マシンと用途、OSおよびいずれかのミドルウェアが同一である他の仮想マシンを選択し、
    該抽出する処理は、前記特定の仮想マシンで動作するミドルウェア毎に、ミドルウェアが同一である他の仮想マシンが複数ある場合、複数の他の仮想マシンでそれぞれ適用されたソフトウェア修正パッチのうち共通するソフトウェア修正パッチを選択し、選択したソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する
    処理を実行させることを特徴とする請求項2に記載のソフトウェア修正パッチ抽出プログラム。
  4. 該抽出する処理は、選択したソフトウェア修正パッチの内容が、最も重要であり、いずれかの他の仮想マシンで削除されたことがなく、最も新しい場合に、当該ソフトウェア修正パッチを前記特定の仮想マシンに適用するソフトウェア修正パッチとして抽出する
    処理を実行させることを特徴とする請求項2または請求項3に記載のソフトウェア修正パッチ抽出プログラム。
  5. コンピュータが、
    仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択し、
    該選択する処理によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する
    各処理を実行することを特徴とするソフトウェア修正パッチ抽出方法。
  6. 仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部と、
    前記記憶部に記憶された情報を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択する選択部と、
    前記選択部によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する抽出部と、
    を有することを特徴とする情報処理装置。
JP2013132123A 2013-06-24 2013-06-24 ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置 Expired - Fee Related JP6098392B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013132123A JP6098392B2 (ja) 2013-06-24 2013-06-24 ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置
US14/305,069 US9170802B2 (en) 2013-06-24 2014-06-16 Method and information processing apparatus for extracting software correction patch for virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013132123A JP6098392B2 (ja) 2013-06-24 2013-06-24 ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置

Publications (2)

Publication Number Publication Date
JP2015007842A JP2015007842A (ja) 2015-01-15
JP6098392B2 true JP6098392B2 (ja) 2017-03-22

Family

ID=52112092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013132123A Expired - Fee Related JP6098392B2 (ja) 2013-06-24 2013-06-24 ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置

Country Status (2)

Country Link
US (1) US9170802B2 (ja)
JP (1) JP6098392B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2806742C1 (ru) * 2019-09-09 2023-11-03 Л-Акустикс Устройство распространения звука с управляемой широкополосной направленностью

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387181B2 (en) * 2016-01-12 2019-08-20 International Business Machines Corporation Pre-deployment of particular virtual machines based on performance and due to service popularity and resource cost scores in a cloud environment
US11010151B2 (en) * 2018-07-05 2021-05-18 International Business Machines Corporation Software patch ordering
JP2024109349A (ja) * 2023-02-01 2024-08-14 株式会社日立ハイテク パッチ管理装置、及びパッチ管理方法
JP7699745B1 (ja) * 2024-07-19 2025-06-27 三菱電機株式会社 コンテナ実行装置、コンテナ更新システム、コンテナ更新方法、およびコンテナ更新プログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6202208B1 (en) * 1998-09-29 2001-03-13 Nortel Networks Limited Patching environment for modifying a Java virtual machine and method
JP2005099967A (ja) * 2003-09-24 2005-04-14 Hitachi Ltd 予防保守方法
US7765538B2 (en) * 2004-10-29 2010-07-27 Hewlett-Packard Development Company, L.P. Method and apparatus for determining which program patches to recommend for installation
US8370819B2 (en) * 2005-03-25 2013-02-05 Microsoft Corporation Mechanism to store information describing a virtual machine in a virtual disk image
WO2007053980A1 (en) * 2005-11-12 2007-05-18 Intel Corporation Method and apparatus to support virtualization with code patches
US8291409B2 (en) 2006-05-22 2012-10-16 Microsoft Corporation Updating virtual machine with patch on host that does not have network access
US8407696B2 (en) * 2007-06-04 2013-03-26 International Business Machines Corporation Method for delivering, testing, and applying software patches or other changes to a conventionally installed application in virtual application containers
US8205194B2 (en) * 2007-06-29 2012-06-19 Microsoft Corporation Updating offline virtual machines or VM images
US8839221B2 (en) * 2007-09-10 2014-09-16 Moka5, Inc. Automatic acquisition and installation of software upgrades for collections of virtual machines
JP5031662B2 (ja) * 2008-05-16 2012-09-19 株式会社日立ハイテクノロジーズ 情報処理装置、セットアップ支援方法、及びセットアップ支援方法
EP2283422B1 (en) * 2008-05-20 2018-07-18 Citrix Systems, Inc. Methods and systems for patching multiple disk images derived from a common base disk image
US9361089B2 (en) * 2008-07-22 2016-06-07 International Business Machines Corporation Secure patch updates of a virtual machine image in a virtualization data processing system
JP5298763B2 (ja) * 2008-10-22 2013-09-25 富士通株式会社 仮想システム制御プログラム、方法及び装置
JP5298764B2 (ja) * 2008-10-22 2013-09-25 富士通株式会社 仮想システム制御プログラム、方法及び装置
JP2010128581A (ja) * 2008-11-25 2010-06-10 Hitachi Ltd 予防保守装置および予防保守方法
JP2011186915A (ja) * 2010-03-10 2011-09-22 Hitachi Ltd 仮想計算機システム及び仮想計算機の制御方法
US8839228B2 (en) * 2010-04-21 2014-09-16 Ca, Inc. System and method for updating an offline virtual machine
JP2011248658A (ja) * 2010-05-27 2011-12-08 Hitachi Ltd 仮想サーバデプロイ管理装置及び方法、そのプログラム
JP5556393B2 (ja) * 2010-06-04 2014-07-23 富士通株式会社 ネットワークシステム,管理サーバおよび仮想マシンの配置方法
JP5425720B2 (ja) 2010-06-21 2014-02-26 株式会社日立システムズ 仮想化環境監視装置とその監視方法およびプログラム
WO2012035575A1 (en) * 2010-09-14 2012-03-22 Hitachi, Ltd. Method and device for eliminating patch duplication
US9063819B2 (en) * 2011-01-02 2015-06-23 Cisco Technology, Inc. Extensible patch management
JP5655612B2 (ja) * 2011-02-14 2015-01-21 富士通株式会社 情報処理システム、情報処理方法、及び制御プログラム
US8650556B2 (en) * 2011-08-16 2014-02-11 Dell Products L.P. Virtual machine asynchronous patch management
GB2509635A (en) * 2011-10-06 2014-07-09 Fujitsu Ltd Update control apparatus, update control program, and update control method
US8813076B2 (en) * 2011-11-17 2014-08-19 International Business Machines Corporation Virtual machine updates
IN2014CN03995A (ja) * 2011-12-08 2015-09-04 Ibm
WO2013140460A1 (en) * 2012-03-23 2013-09-26 Hitachi, Ltd. Patch applying method for virtual machine by cloning an operating system image on shared storage and applying a patch to this cloned image
JP5998566B2 (ja) * 2012-03-27 2016-09-28 富士通株式会社 移動制御プログラム、移動制御方法および制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2806742C1 (ru) * 2019-09-09 2023-11-03 Л-Акустикс Устройство распространения звука с управляемой широкополосной направленностью

Also Published As

Publication number Publication date
JP2015007842A (ja) 2015-01-15
US9170802B2 (en) 2015-10-27
US20140380293A1 (en) 2014-12-25

Similar Documents

Publication Publication Date Title
US8135813B2 (en) Method, system and program product for remotely deploying and automatically customizing workstation images
US9189221B2 (en) Consistent operating system servicing for distributed nodes
US8838848B2 (en) Systems and methods for intelligent system profile unique data management
US9971618B2 (en) System and method to reconfigure a virtual machine image suitable for cloud deployment
EP2126714B1 (en) Methods and systems for configuring computers
US9489110B2 (en) Automatic deployment, configuration, and lifecycle management of applications and infrastructure components
US20150128133A1 (en) Virtual appliance integration with cloud management software
EP2652599B1 (en) System reset
US20100250730A1 (en) Automated license reconciliation for deployed applications
US10635473B2 (en) Setting support program, setting support method, and setting support device
JP6098392B2 (ja) ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置
US10331427B2 (en) Capturing and deploying an operation system in a computer environment
US9086938B2 (en) Information processing apparatus, control method thereof, and storage medium
JP5998566B2 (ja) 移動制御プログラム、移動制御方法および制御装置
US10216505B2 (en) Using machine learning to optimize minimal sets of an application
CN104573496A (zh) 一种禁止启动项启动的方法和装置
CN111868698B (zh) 空闲空间直通
Tyndall Building an effective software deployment process
JP7231812B2 (ja) 情報処理システム、処理方法及びプログラム
JP2011076370A (ja) デプロイシステム
CN107222355B (zh) 一种服务器升级方法及装置
CN107533436A (zh) 硬件管理
US10365954B1 (en) Using virtual machines to manage other virtual machines in a development environment
US20250383854A1 (en) Graphical user interface for reducing vulnerabilities associated with legacy software
WO2024134922A1 (ja) データ処理装置、プログラム、及びコンピュータ可読記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170119

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: 20170124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170206

R150 Certificate of patent or registration of utility model

Ref document number: 6098392

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees