(57)【特許請求の範囲】
【請求項１】
ソフトウェアを利用したサービスを提供するシステムで用いられ、該ソフトウェアの更新を行う更新装置において、
サービスレベルに応じた前記サービスの停止可能時間と、記憶手段に記憶された稼動実績が示す前記サービスの停止時間との差分を算出し、複数のソフトウェアが更新対象として存在する場合に、ソフトウェアの更新の失敗の際のサービス停止による前記差分への影響度に応じて、前記複数の更新対象ソフトウェアの更新順序を算出し、前記更新順序に従って前記複数の更新対象ソフトウェアの更新を行う処理装置、
を備える更新装置。
【請求項２】
前記処理装置は、前記複数の更新対象ソフトウェアを使用しているユーザの有無をチェックし、前記ユーザの有無に基づいて、前記複数の更新対象ソフトウェアの更新順序を算出することを特徴とする請求項１記載の更新装置。
【請求項３】
前記処理装置は、前記更新対象ソフトウェアの更新が失敗した場合に、前記複数の更新対象ソフトウェアの内、更新を失敗した前記更新対象ソフトウェアと同じ属性を有する更新対象ソフトウェアの更新を行わないことを特徴とする請求項１または２に記載の更新装置。
【請求項４】
ソフトウェアを利用したサービスを提供するシステムで用いられ、該ソフトウェアの更新を行う更新方法において、
サービスレベルに応じた前記サービスの停止可能時間と、記憶手段に記憶された稼動実績が示す前記サービスの停止時間との差分を算出し、
複数のソフトウェアが更新対象として存在する場合に、ソフトウェアの更新の失敗の際のサービス停止による前記差分への影響度に応じて、前記複数の更新対象ソフトウェアの更新順序を算出し、
前記更新順序に従って前記複数の更新対象ソフトウェアの更新を行う、
ことを特徴とする更新方法。
【請求項５】
ソフトウェアを利用したサービスを提供するシステムで用いられ、該ソフトウェアの更新を行うコンピュータに、
サービスレベルに応じた前記サービスの停止可能時間および稼動実績が示す前記サービスの停止時間を記憶する記憶部を参照し、
前記停止可能時間と、前記停止時間との差分を算出し、
複数のソフトウェアが更新対象として存在する場合に、ソフトウェアの更新の失敗の際のサービス停止による前記差分への影響度に応じて、前記複数の更新対象ソフトウェアの更新順序を算出し、
前記更新順序に従って前記複数の更新対象ソフトウェアの更新を行う、
処理を実行させるための更新プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、更新装置、更新方法、および更新プログラムに関する。
【背景技術】
【０００２】
現在、ネットワークを介して計算機資源（例えば、サーバ、ストレージ、アプリケーションなど）を利用する形態、いわゆるクラウドコンピューティングが行われている。
クラウドコンピューティングにおいては、ユーザは、パーソナルコンピュータ等の端末や該端末上で動作するブラウザなどの最低限の接続環境を用意すれば良いので、装置の保守やデータの管理等の手間が軽減される。
【０００３】
クラウドコンピューティングの形態で提供されるサービスをクラウドサービスと呼ぶ。
クラウドサービスの提供者は、ユーザにシステムの可用性（availability）の目標値（Service Level Objective:SLO）とその価格を示し、それに従いサービスを提供している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２５９１１０号公報
【特許文献２】特開２００５−１０７８０３号公報
【特許文献３】特開２０１０−１２８５８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
クラウドサービスを提供するシステムの運用においては、セキュリティパッチの適用やアップグレード等の更新作業が発生する。このような更新作業は、クラウドコンピューティングにおいては、クラウドサービス提供者によって実施される。
【０００６】
クラウドサービスを提供するシステムは、ハードウェアコンポーネントおよびソフトウェアコンポーネントからなる構成要素（コンポーネント）を有する。ハードウェアコンポーネントは、例えば、サーバやネットワーク機器等のハードウェアである。また、ソフトウェアコンポーネントは、例えば、Virtual Machine Monitor(VMM)、Virtual Machine（VM）、オペレーティングシステム（OS）、アプリケーション等のソフトウェアである。
【０００７】
これらコンポーネントの組み合わせによっては、不具合が発生するが、不具合の発生するコンポーネントの組み合わせの情報は各コンポーネントのベンダからは、提供されにくい。
【０００８】
したがって、不具合が発生するコンポーネントの組み合わせを回避することは難しく、コンポーネントの更新時に不具合が発生し、SLOの未達という事態が発生してしまうことがある。
【０００９】
また、可用性、すなわちサービスの稼働実績の低下を防ぐ方法としては、検証環境を準備し、該検証環境で更新を行って不具合の有無を確認してから、実環境で更新を行う方法がある。しかしながら、このような方法は、実環境と同様の複雑な構成を準備し、不具合の有無を確認するので、非常に高コストであるという問題があった。
【００１０】
コンポーネントの更新に起因する障害によって、SLOの未達が発生すると、クラウドサービスの提供者はペナルティを支払わなければならず、収入が減少してしまう。また、低い可用性しか提供できないクラウドサービスは、ユーザ離れを引き起こしてしまう。
【００１１】
したがって、可用性は目標値を下回らないことが望ましい。
１つの側面では、本発明は、SLOの未達の可能性を抑制することを目的とする。
【課題を解決するための手段】
【００１２】
実施の形態の更新装置は、ソフトウェアを利用したサービスを提供するシステムで用いられ、該ソフトウェアの更新を行う更新装置において、サービスレベルに応じた前記サービスの停止可能時間と、記憶手段に記憶された稼動実績が示す前記サービスの停止時間との差分を算出し、複数のソフトウェアが更新対象として存在する場合に、ソフトウェアの更新の失敗の際のサービス停止による前記差分への影響度に応じて、前記複数の更新対象ソフトウェアの更新順序を算出し、前記更新順序に従って前記複数の更新対象ソフトウェアの更新を行う処理装置、を備える
【発明の効果】
【００１３】
実施の形態の装置によれば、ソフトウェアコンポーネントの更新時にSLOの未達の可能性を小さくすることができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態に係るシステムの構成図である。
【図２】実施の形態に係る管理対象システムの詳細を示す図である。
【図３】実施の形態に係る更新装置の構成例を示す図である。
【図４】サービスレベル情報を示す図である。
【図５】サービスレベル情報に基づく稼働実績とペナルティとの関係を示すグラフである。
【図６】システム構成情報を示す図である。
【図７】更新要求情報を示す図である。
【図８】稼働実績情報を示す図である。
【図９】障害事例情報を示す図である。
【図１０】余裕値情報を示す図である。
【図１１】更新対象を示す図である。
【図１２】優先度情報を示す図である。
【図１３】実施の形態に係るコンポーネント更新処理のフローチャートである。
【図１４】システム構成情報の更新箇所を示す図である。
【図１５】優先度情報を示す図である。
【図１６】システム構成情報の更新箇所を示す図である。
【図１７】優先度情報を示す図である。
【図１８】優先度情報を示す図である。
【図１９】システム構成情報の更新箇所を示す図である。
【図２０】優先度情報を示す図である。
【図２１】システム構成情報の更新箇所を示す図である。
【図２２】優先度情報を示す図である。
【図２３】システム構成情報の更新箇所を示す図である。
【図２４】優先度情報を示す図である。
【図２５】システム構成情報の更新箇所を示す図である。
【図２６】優先度情報を示す図である。
【図２７】システム構成情報の更新箇所を示す図である。
【図２８】優先度情報を示す図である。
【図２９】実施の形態に係る更新後の管理対象システムの詳細を示す図である。
【図３０】情報処理装置（コンピュータ）の構成図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら実施の形態について説明する。
図１は、実施の形態に係るシステムの構成図である。
システム１０１は、更新装置１０２、管理対象システム１０３、および端末１０４を備える。
【００１６】
更新装置１０２、管理対象機器１０３、および端末１０４は、ネットワーク１０４を介して接続されている。
更新装置１０２は、管理対象システム１０３の構成情報や稼働情報を収集し、管理者からの指示に基づいて管理対象システム１０３の構成要素（コンポーネント）を更新する。
【００１７】
管理対象システム１０３は、ウェブサーバやデータベース（ＤＢ）等の利用サービスを端末１０４に提供する。管理対象システム１０３は、例えばサーバ（情報処理装置）やネットワーク機器などである。
【００１８】
端末１０４は、ユーザにより使用され、管理対象システムにより提供されるサービスを受ける。
【００１９】
図２は、実施の形態に係る管理対象システムの詳細を示す図である。
図２の上部はユーザが利用しているサービスを示し、図２の下部は管理対象システムの詳細な構成要素（コンポーネント）を示す。
【００２０】
管理対象システム１０３は、サーバ２０１−ｉ（ｉ＝１〜４）を備える。
サーバ２０１−ｉは、各種処理を実行可能な情報処理装置である。尚、各サーバ２０１−ｉの性能は同一でもよい。また、サーバ２０１−ｉの例として、例えば、PRIMERGYを用いることができる。
【００２１】
また、サーバ２０１−ｉには、識別子（ＩＤ）としてそれぞれPM1〜PM4が割り当てられている。なお、PMは、物理マシーン(physical machine)を意味している。
以下、各サーバ２０１の構成について述べる。
【００２２】
サーバ２０１−１は、仮想マシンモニタ(VMM；Virtual Machine Monitor)２０２−１を有する。
VMM２０２−１は、複数の仮想マシンを作成し、仮想マシン上のＯＳを制御するソフトウェアである。VMM２０２−１として、例えば、Xen Server(Svr) version 2.0.0 を用いることができる。VMM２０２−１には、ＩＤとしてVMM1が割り当てられている。
【００２３】
VMM２０２−１は、３つの仮想マシンを有し、各仮想マシンはＯＳ２０３−１を有する。
ＯＳ２０３−１−１としては、例えば、Ubuntu linux(UbuntuまたはUB) version 9.04を用いることができる。ＯＳ２０３−１−１には、ＩＤとしてVM1が割り当てられている。
【００２４】
ＯＳ２０３−１−１は、アプリケーション２０４−１−１を有する。アプリケーション２０４−１−１は、ＯＳ２０３−１−１上で動作するアプリケーションソフトウェアである。アプリケーション２０４−１−１は、ウェブサーバソフトウェアであり、例えば、Apache version 2.2を用いることができる。アプリケーション２０４−１−１には、ＩＤとしてApp1が割り当てられている。
【００２５】
ＯＳ２０３−１−２は、例えば、Windows（登録商標） Server(WINまたはWin Svr) version SP2を用いることができる。ＯＳ２０３−１−２には、ＩＤとしてVM2が割り当てられている。
ＯＳ２０３−１−２は、アプリケーション２０４−１−２を有する。アプリケーション２０４−１−２は、ＯＳ２０３−１−２上で動作するアプリケーションソフトウェアである。アプリケーション２０４−１−２は、ウェブサーバソフトウェアであり、例えば、IIS version 6.0を用いることができる。アプリケーション２０４−１−２には、ＩＤとしてApp2が割り当てられている。
【００２６】
ＯＳ２０３−１−３として、例えば、Ubuntu linux(UbuntuまたはUB) version 9.04を用いることができる。ＯＳ２０３−１−３には、ＩＤとしてVM3が割り当てられている。
ＯＳ２０３−１−３は、アプリケーション２０４−１−３を有する。アプリケーション２０４−１−３は、ＯＳ２０３−１−１上で動作するアプリケーションソフトウェアである。アプリケーション２０４−１−３は、ウェブサーバソフトウェアであり、例えば、Apache version 2.2を用いることができる。アプリケーション２０４−１−３には、ＩＤとしてApp3が割り当てられている。
【００２７】
サーバ２０１−２は、VMM２０２−２を有する。
VMM２０２−２は、複数の仮想マシンを作成し、仮想マシン上のＯＳを制御するソフトウェアである。VMM２０２−２として、Xen Server(Svr) version 2.0.0を用いることができる。
【００２８】
VMM２０２−２は、３つの仮想マシンを有し、各仮想マシンはＯＳ２０３−２を有する。
ＯＳ２０３−２−１として、例えば、Ubuntu linux(UbuntuまたはUB)version 9.10を用いることができる。ＯＳ２０３−２−１には、ＩＤとしてVM4が割り当てられている。
【００２９】
ＯＳ２０３−２−１は、アプリケーション２０４−２−１を有する。アプリケーション２０４−２−１は、ＯＳ２０３−２−１上で動作するアプリケーションソフトウェアである。アプリケーション２０４−２−１は、ウェブサーバソフトウェアであり、例えば、Apache version 2.2を用いることができる。アプリケーション２０４−２−１には、ＩＤとしてApp4が割り当てられている。
【００３０】
ＯＳ２０３−２−２として、例えば、Ubuntu linux(UbuntuまたはUB) version 9.04を用いることができるＯＳ２０３−２−２には、ＩＤとしてVM5が割り当てられている。
ＯＳ２０３−２−２は、アプリケーション２０４−２−２を有する。アプリケーション２０４−２−２は、ＯＳ２０３−２−２上で動作するアプリケーションソフトウェアである。アプリケーション２０４−２−２は、データベースソフトウェアであり、例えば、MySQL version 4.0を用いることができる。アプリケーション２０４−２−２には、ＩＤとしてApp5が割り当てられている。
【００３１】
ＯＳ２０３−２−３としては、例えば、Ubuntu linux(UbuntuまたはUB) version 9.10を用いることができる。ＯＳ２０３−２−３には、ＩＤとしてVM6が割り当てられている。
【００３２】
ＯＳ２０３−２−３は、アプリケーション２０４−２−３を有する。アプリケーション２０４−２−３は、ＯＳ２０３−２−１上で動作するアプリケーションソフトウェアである。アプリケーション２０４−２−３は、ウェブサーバソフトウェアであり、例えば、Apache version 2.2を用いることができる。アプリケーション２０４−１−３には、ＩＤとしてApp6が割り当てられている。
【００３３】
サーバ２０１−３は、VMM２０２−３を有する。
VMM２０２−３は、複数の仮想マシンを作成し、仮想マシン上のＯＳを制御するソフトウェアである。VMM２０２−３として例えば、Xen Server(Svr) version 2.0.2を用いることができる。VMM２０２−３には、ＩＤとしてVMM3が割り当てられている。
【００３４】
VMM２０２−３は、４つの仮想マシンを有し、各仮想マシンはＯＳ２０３−３を有する。
ＯＳ２０３−３−１としては、例えば、Windows Server(WINまたはWin Svr)version SP2を用いることができる。ＯＳ２０３−３−１には、ＩＤとしてVM7が割り当てられている。
【００３５】
ＯＳ２０３−３−１は、アプリケーション２０４−３−１を有する。アプリケーション２０４−３−１は、ＯＳ２０３−３−１上で動作するアプリケーションソフトウェアである。アプリケーション２０４−３−１は、アプリケーションサーバソフトウェアであり、例えば、Interstage version 7.0を用いることができる。アプリケーション２０４−３−１には、ＩＤとしてApp7が割り当てられている。
【００３６】
ＯＳ２０３−３−２としては、例えば、Ubuntu linux(UbuntuまたはUB)version 9.10を用いることができる。ＯＳ２０３−３−２には、ＩＤとしてVM8が割り当てられている。
ＯＳ２０３−３−２は、アプリケーション２０４−３−２を有する。アプリケーション２０４−３−２は、ＯＳ２０３−３−２上で動作するアプリケーションソフトウェアである。アプリケーション２０４−３−２は、アプリケーションサーバソフトウェアであり、例えば、Tomcat version 6.0を用いることができる。アプリケーション２０４−３−２には、ＩＤとしてApp8が割り当てられている。
【００３７】
ＯＳ２０３−３−３は、例えば、Windows Server(WINまたはWin Svr)version SP2を用いることができる。ＯＳ２０３−３−３には、ＩＤとしてVM9が割り当てられている。
ＯＳ２０３−３−３は、アプリケーション２０４−３−３を有する。アプリケーション２０４−３−３は、ＯＳ２０３−３−３上で動作するアプリケーションソフトウェアである。アプリケーション２０４−３−３は、データベースソフトウェアであり、例えば、MySQLversion 4.0を用いることができる。アプリケーション２０４−３−３には、ＩＤとしてApp9が割り当てられている。
【００３８】
ＯＳ２０３−３−４として、例えば、Ubuntu linux(UbuntuまたはUB)version 9.10を用いることができる。ＯＳ２０３−３−４には、ＩＤとしてVM10が割り当てられている。
ＯＳ２０３−３−４は、アプリケーション２０４−３−４を有する。アプリケーション２０４−３−４は、ＯＳ２０３−３−４上で動作するアプリケーションソフトウェアである。アプリケーション２０４−３−３は、データベースソフトウェアであり、例えば、MySQL version 4.0を用いることができる。アプリケーション２０４−３−４には、ＩＤとしてApp10が割り当てられている。
【００３９】
サーバ２０１−４は、VMM２０２−４を有する。
VMM２０２−４は、複数の仮想マシンを作成し、仮想マシン上のＯＳを制御するソフトウェアである。VMM２０２−４として、例えば、Xen Server(Svr)version 2.0.0を用いることができる。VMM２０２−４には、ＩＤとしてVMM4が割り当てられている。
【００４０】
図２の上部はユーザが利用しているサービスを示している。
実施の形態においては、３人のユーザ３０１−ｊ（ｊ＝１〜３）に管理対象システム１０３によってサービスが提供されている。すなわち、各ユーザ３０１−ｊは、管理対象システム１０３によって提供されるアプリケーションを利用している。
【００４１】
ユーザ３０１−１〜３０１−３の名前をそれぞれUser1〜3とする。
以下の説明において、ユーザ３０１−１〜３０１−３をそれぞれUser1〜3と表す場合がある。
【００４２】
User1は、ウェブサーバ４０１−１−１、４０１−１−２、データベース４０１−１−３を利用している。
ウェブサーバ４０１−１−１は、アプリケーション２０４−１−１により提供されている。
【００４３】
ウェブサーバ４０１−１−２は、アプリケーション２０４−２−１により提供されている。
データベース４０１−１−３は、アプリケーション２０４−２−２により提供されている。
【００４４】
User2は、ウェブサーバ４０１−２−１、アプリケーションサーバ４０１−２−２、データベース４０１−２−３を利用している。
ウェブサーバ４０１−２−１は、アプリケーション２０４−１−２により提供されている。
【００４５】
アプリケーションサーバ４０１−２−２は、アプリケーション２０４−３−１により提供されている。
データベース４０１−２−３は、アプリケーション２０４−３−３により提供されている。
【００４６】
User3は、ウェブサーバ４０１−３−１、４０１−３−２、アプリケーションサーバ４０１−３−３、データベース４０１−３−４を利用している。
ウェブサーバ４０１−３−１は、アプリケーション２０４−１−３により提供されている。
【００４７】
ウェブサーバ４０１−３−２は、アプリケーション２０４−２−３により提供されている。
アプリケーションサーバ４０１−３−３は、アプリケーション２０４−３−２により提供されている。
【００４８】
データベース４０１−３−４は、アプリケーション２０４−３−４により提供されている。
【００４９】
図３は、実施の形態に係る更新装置の構成例を示す図である。
更新装置１０２は、ＳＬＯ余裕値算出部５０１、更新対象特定部５０２、更新優先度算出部５０３、更新実行部５０４、および記憶部５０５を備える。
ＳＬＯ余裕値算出部５０１は、各ユーザのＳＬＯに対する余裕値を算出する。
【００５０】
更新対象特定部５０２は、更新対象となるコンポーネントを特定する。
更新優先度算出部５０３は、更新対象のコンポーネントの優先度を算出する。
更新実行部５０４は、算出した優先度に基づいて、更新対象システム１０３のコンポーネントの更新やリカバリを実行する。また、更新実行部５０４は、更新対象システム１０３の構成情報や稼働情報等の情報や更新の実行結果などを取得する。
【００５１】
記憶部５０５は、ＳＬＯ余裕値算出部５０１、更新対象特定部５０２、更新優先度決定部５０３、および更新実行部５０４で利用される各種データを格納する。記憶部５０５は、例えば、磁気ディスク装置、半導体記憶装置、Random Access Memory(RAM)等である。
【００５２】
記憶部５０５は、サービスレベル情報５１１、システム構成情報５１２、更新要求情報５１３、稼働実績情報５１４、障害事例情報５１５、余裕値情報５１６、更新対象情報５１７、および優先度情報５１８を格納している。
【００５３】
以下、記憶部５０５に格納されている情報について説明する。
図４は、サービスレベル情報を示す図である。
サービスレベル情報５１１は、項目として、ユーザ、SLO、ペナルティ単価、およびペナルティ最大値を有する。
【００５４】
ユーザは、サービスが提供されるユーザの名前を示す。
SLOは、ユーザに対して契約したサービスレベル目標（SLO）であり、サービスレベルがこの値より下回らないように制御する際の閾値として捉えることもできる。すなわち、ユーザに提供するサービスの１ヶ月当たりの稼働時間の割合（稼働実績）の目標値を示す。さらに、サービスレベル目標を達成するための１ヶ月当たりのサービスの停止時間の最大値（停止可能時間／月）が記載されている。尚、例えば、稼働実績は、１ヶ月が３０日とすると、（１ヶ月間のサービスの稼働時間（分）／６０＊２４＊３０）＊１００で算出できる。また、サービスの停止可能時間／月（分）は、（１００−SLO）*６０＊２４＊３０／１００で算出することも出来る。尚、ユーザに提供しているサービスが停止するということは、すなわちユーザが利用しているコンポーネントのいずれかが停止するということである。
【００５５】
ペナルティ単価は、稼働実績がSLO未満になってから、サービスの停止時間の１時間当たりにユーザに支払うペナルティである。
ペナルティ最大値は、１ヶ月当たりのペナルティの最大値である。
【００５６】
図４の１行目は、ユーザはUser1、SLOは99.5%（停止可能時間／月：２１６分）、ペナルティ単価は$20/hour、ペナルティ最大値は$500/monthである。これは、User1のサービスレベル目標は99.5%（サービスレベル目標99.5%を達成するためには、１ヶ月当たりのサービスの停止可能時間は２１６分以下）であることを示す。すなわち、１ヶ月当たりのサービスの停止時間が２１６分以下であれば、ペナルティの支払いの必要がないことを示す。また、User1に提供するサービスの稼働実績がSLO未満となった場合に、サービスの停止時間に従って１時間当たり２０ドルをUser1に支払い、１ヶ月当たりのペナルティの最大は５００ドルであることを示す。
【００５７】
図４の２行目は、ユーザはUser2、SLOは99.9%（停止可能時間／月：４３．２分）、ペナルティ単価は$100/hour、ペナルティ最大値は$1000/monthである。
図４の３行目は、ユーザはUser2、SLOは99.0%（停止可能時間／月：４３２分）、ペナルティ単価は$10/hour、ペナルティ最大値は$200/monthである。
【００５８】
図５は、サービスレベル情報に基づく稼働実績とペナルティとの関係を示すグラフである。
図４のサービスレベル情報５１１に基づいて、稼働実績とペナルティとの関係をグラフに表すと図５のようになる。
【００５９】
図５に示すように、稼働実績がSLO以上の場合、ペナルティは０であり、稼働実績がSLO未満となると、稼働実績の低下に伴ってペナルティ最大値までペナルティは増加していく。
【００６０】
図６は、システム構成情報を示す図である。
システム構成情報５１２には、更新対象システム１０３を構成するハードウェアコンポーネントおよびソフトウェアコンポーネントの情報が関連付けられて記述されている。
【００６１】
図６に示すシステム構成情報５１２は図２に示す管理対象システム１０３に対応するシステム構成情報である。
システム構成情報５１２は、項目として、ID、Name、Type、バージョン、依存関係、ユーザを有する。
【００６２】
IDは、コンポーネントに割り当てられた識別子（ＩＤ）を示す。
Nameは、コンポーネントの名称を示す。
Typeは、コンポーネントの種類を示す。例えば、PCは情報処理装置（サーバ）、VMMは仮想マシンモニタ（Virtual Machine Monitor）、OSはオペレーティングシステム、Webはウェブサーバ、Appはアプリケーションサーバ、DBはデータベースを示す。
【００６３】
バージョンは、コンポーネントのバージョンを示す。
依存関係は、依存しているコンポーネントを示し、依存しているコンポーネントのIDが記述される。すなわち、自身が動作するのに必要なコンポーネントを示す。例えば、図２を参照すると、仮想マシンモニタ２０２−１（ID:VMM1）は、サーバ２０１−１（ID:PM1）上で動作している。すなわち、仮想マシンモニタ２０２−１（ID:VMM1）は、サーバ２０１−１（ID:PM1）に依存している。したがって、図６のシステム構成情報５１２の５行目において、VMM1に関連する依存関係にはPM1が記述されている。
ユーザは、コンポーネントを使用しているユーザを示す。
【００６４】
図７は、更新要求情報を示す図である。
更新要求情報５１３には、コンポーネントの更新に関する情報が記述されている。
【００６５】
更新要求情報５１３は、項目として、Name、Type、適用パッチ、所要更新時間、所要復旧時間、バージョン、Updated versionを有する。
Nameは、更新対象であるコンポーネントの名称を示す。
【００６６】
Typeは、更新対象であるコンポーネント種類を示す。
適用パッチ／実行コマンドは、更新対象であるコンポーネントに適用するパッチの名称、または実行コマンドを示す。
【００６７】
所要更新時間は、更新を実行したときに掛かると予想される時間である。
所要復旧時間は、更新が失敗したときに、コンポーネントを元の状態（すなわち、更新前の状態）に戻すまでに掛かると予想される時間である。
【００６８】
バージョンは、更新対象であるコンポーネントのバージョンを示す。
Updated versionは、更新完了後のコンポーネントのバージョンを示す。
例えば、図７の更新要求情報の１行目は、NameはXen Server、TypeはVMM、適用パッチ／実行コマンドはP-2.02-update.patch、所要更新時間は３０分、所要復旧時間は１０分、バージョンは2.0.0以下、Updated versionは2.0.2である。これは、VMMであるXen Serverのうち、現在のバージョンが2.0.0以下であるXen ServerにP-2.02-update.patchを適用することを示す。さらに、更新に掛かる時間は３０分であり、更新が失敗した場合に元の状態に戻すまでに掛かる時間は１０分であり、更新後のXen Serverのバージョンは2.0.2となることを示す。
【００６９】
図７の更新要求情報の２行目は、NameはUbuntu、TypeはOS、適用パッチ／実行コマンドはupdate-notifier-kde -u、所要更新時間は４０分、所要復旧時間は３０分、バージョンは9.04以下、Updated versionは9.10である。
【００７０】
図７の更新要求情報の３行目は、NameはInterstage、TypeはApp、適用パッチ／実行コマンドはUpgrade_8.0.exe、所要更新時間は１５分、所要復旧時間は１０分、バージョンは7.0以下、Updated versionは8.0である。
【００７１】
図８は、稼働実績情報を示す図である。
稼働実績情報５１４には、ユーザごとの所定期間におけるユーザに提供しているサービスの停止時間、すなわちユーザごとの所定期間におけるユーザが利用しているコンポーネントの停止時間が記述される。
【００７２】
図８の稼働実績情報５１４おいては、ユーザ毎に該ユーザが利用しているコンポーネントの月間停止時間、すなわち１ヶ月のうちユーザが利用しているコンポーネントが停止した時間が記述されている。
【００７３】
図８の稼働実績情報５１４において、User1の月間停止時間は１６０分、User2の月間停止時間は２０分、User3の月間停止時間は５０分である。すなわち、図８の稼働実績情報は、User1が利用しているコンポーネントは、１ヶ月で１６０分停止したことを示す。同様に、User2が利用しているコンポーネントは、１ヶ月で２０分停止し、User3が利用しているコンポーネントは、１ヶ月で５０分停止したことを示す。
【００７４】
図９は、障害事例情報を示す図である。
障害事例情報５１５は、更新が失敗したコンポーネントの属性情報が記述される。
障害事例情報５１５は、項目として、ID、Name、Type、バージョン、適用パッチ／実行コマンド、依存コンポーネントを有する。
【００７５】
IDは、コンポーネントに割り当てられた識別子を示す。
Nameは、コンポーネントの名称を示す。
Typeは、コンポーネントの種類を示す。
【００７６】
バージョンは、更新実行時のコンポーネントのバージョンを示す。
適用パッチ／実行コマンドは、更新実行時に適用したパッチの名称、または実行コマンドを示す。
【００７７】
依存コンポーネントは、依存しているまたは依存されているコンポーネントの名称およびバージョンを示す。
図９の障害事例情報５１５は、IDはVM3、NameはUbuntu、TypeはOS、バージョンは9.04、適用パッチ／実行コマンドはupdate-notifier-kde -u、依存コンポーネントは、Xen Svr 2.00, Apache 2.2である。これは、IDがVM3であり、TypeがOSであり、バージョンが9.04であり、NameがUbuntuであるコンポーネントに対して、更新時にupdate-notifier-kde -uを適用（または実行）したときに更新が失敗したことを示す。さらに、更新が失敗したコンポーネントが依存しているまたは依存されているコンポーネントは、バージョンが2.0.0のXen Svrとバージョンが2.2のApacheであることを示す。
【００７８】
図１０は、余裕値情報を示す図である。
余裕値情報５１６は、ユーザごとのサービスレベル目標の未達までの余裕（稼動実績に基づいて、サービスレベルの閾値までまだどれほどの余裕があるか）に関する情報が記述されている。
【００７９】
余裕値情報５１６は、項目として、例えば、ユーザ、ＳＬＯ、停止可能時間／月、月間停止時間、余裕値を有する。
ユーザは、ユーザの名前を示す。
【００８０】
ＳＬＯは、ユーザに対して契約したサービスレベル目標（SLO）（閾値）である。
停止可能時間／月は、サービスレベル目標を達成するための１ヶ月当たりのサービスの停止時間の最大値である。
【００８１】
月間停止時間は、１ヶ月のうちユーザに提供しているサービスの停止時間、すなわち、１ヶ月のうちユーザが利用しているコンポーネントが停止した時間である。
余裕値は、サービスの稼働実績がサービスレベル目標未満となるまでの余裕を示す。すなわち、余裕値は、停止可能時間／月と月間停止時間との差分である。
【００８２】
例えば、図１０の余裕値情報の１行目は、ユーザはUser1、ＳＬＯは９９．５％、停止可能時間／月は２１６分、月間停止時間は１６０分、余裕値は５６分である。
図１０の余裕値情報の２行目は、ユーザはUser2、ＳＬＯは９９．９％、停止可能時間／月は４３．２分、月間停止時間は２０分、余裕値は２３．２分である。
【００８３】
図１０の余裕値情報の３行目は、ユーザはUser3、ＳＬＯは９９．０％、停止可能時間／月は４３２分、月間停止時間は３５０分、余裕値は８２分である。
【００８４】
図１１は、更新対象情報を示す図である。
更新対象情報５１７には、更新対象となるコンポーネントを特定する情報が記述される。
更新対象情報５１７は、項目として、Name、Type、適用パッチ／実行コマンド、バージョン、および更新対象IDを有する。
【００８５】
Nameは、コンポーネントの名称を示す。
Typeは、コンポーネントの種類を示す。
適用パッチ／実行コマンドは、更新実行時に適用するパッチの名称、または実行コマンドを示す。
【００８６】
バージョンは、コンポーネントのバージョンを示す。
更新対象IDは、更新対象のコンポーネントに割り当てられたIDを示す。
例えば、図１１の更新対象情報５１７の１行目は、NameはXen Svr、TypeはVMM、適用パッチ／実行コマンドはP-2.0.2-update.patch、バージョンは2.0.0以下、更新対象IDはVMM1、VMM2、VMM4である。これは、更新対象であるコンポーネントのＩＤがVMM1、VMM2、VMM4であり、名称はXen Svrであり、種類はVMMであり、バージョンは2.0.0以下であり、コンポーネントに適用するパッチまたは実行するコマンドがP-2.0.2-update.patchであることを示す。
【００８７】
図１１の更新対象情報５１７の２行目は、NameはUbuntu、TypeはOS、適用パッチ／実行コマンドはupdate-notifier-kde -u、バージョンは9.04、更新対象IDはVM1、VM3、VM5である。
【００８８】
図１１の更新対象情報５１７の３行目は、NameはInterstage、TypeはApp、適用パッチ／実行コマンドはUpgrade_8.0.exe、バージョンは7.0以下、更新対象IDはApp7である。
図１２は、優先度情報を示す図である。
【００８９】
優先度情報５１８−１には、更新対象であるコンポーネントの優先度に関する情報が記述されている。
優先度情報５１８−１は、項目として、更新対象ＩＤ、依存コンポーネントＩＤ、ユーザ、余裕値、更新＆復旧時間、差分、増加ペナルティ、順位を有する。
【００９０】
更新対象ＩＤは、更新対象であるコンポーネント（更新対象コンポーネント）に割り当てられたIDを示す。
依存コンポーネントＩＤは、更新対象コンポーネントに依存しているコンポーネントのＩＤを示す。
【００９１】
ユーザは、更新対象コンポーネントを使用しているユーザの名前を示す。
余裕値は、ユーザに提供しているサービスの稼働実績がサービスレベル目標未満となるまでの余裕を示す。複数のユーザが更新対象コンポーネントを使用している場合は、各ユーザに対する余裕値のうちの最小値を余裕値とする。
【００９２】
更新＆復旧時間は、更新を実行したときに掛かると予想される時間である所要更新時間と更新が失敗したときにコンポーネントを元の状態（すなわち、更新前の状態）に戻すまでに掛かると予想される時間である所要復旧時間との和である。更新＆復旧時間は、更新要求情報５１３の所要更新時間および所要復旧時間から算出される。
【００９３】
差分は、余裕値と更新＆復旧時間との差分である。差分が正の場合、該差分は更新失敗後の余裕値を示し、また更新が失敗しても稼働実績はＳＬＯ以上となることを示している。差分が負の場合、該差分の絶対値は稼働実績がＳＬＯ未満となってからのコンポーネントの停止時間を示している。
【００９４】
増加ペナルティは、更新対象のコンポーネントに対する更新が失敗したときに発生するペナルティである。増加ペナルティは、差分とサービスレベル情報５１１のペナルティ単価に基づいて算出される。増加ペナルティは、差分が正の場合、すなわち稼働実績がＳＬＯ以上であるのでペナルティは発生しないため、０となる。増加ペナルティは、差分が負の場合、ペナルティ単価に対する該差分の絶対値分のペナルティとなる。尚、ここでの増加ペナルティの単位はドル（＄）である。例えば、図１２の優先度情報５１８−１の１列目において、ユーザはUser2であり、差分は−１．８分である。サービスレベル情報５１１を参照すると、User2に対するペナルティ単価は１時間当たり１００ドルである。したがって、１．８分に対するペナルティは３（＝１００／６０＊１．８）ドルとなる。
【００９５】
順位は、更新の優先度を示す。ここでは、数字が小さいほど優先度が高いものとする。また、順位には、優先度を示す数字の他に、更新完了を示す「完了」や障害が発生するので更新を行わないことを示す「障害」が記述される場合もある。
【００９６】
例えば、優先度情報５１８−１の１列目は、更新対象IDがApp7、依存コンポーネントは−（空（null））、ユーザはUser2、余裕値は２３．２分、更新＆復旧時間２５分、差分は−１．８分、増加ペナルティは３ドル、順位は４である。これは、更新対象であるコンポーネント（更新対象コンポーネント）のＩＤがApp7であり、更新対象コンポーネントに依存するコンポーネントは無く、更新対象コンポーネントを使用しているユーザはUser2であることを示す。また、User2に対する余裕値は２３．２分であり、App7に対して更新を行って失敗した場合に、更新してから復旧までに掛かる時間は２５分であり、差分が−１．８分であるので、更新が失敗したときにUser2に支払うペナルティは３ドルであり、App7に対する更新の順位は４番目であることを示す。
【００９７】
図１３は、実施の形態に係るコンポーネント更新処理のフローチャートである。
ステップＳ６０１において、ＳＬＯ余裕値算出部５０１は、サービスレベル情報５１１および稼働実績情報５１４に基づいて、各ユーザの余裕値を算出する。
【００９８】
ＳＬＯ余裕値算出部５０１は、算出した余裕値等の情報を余裕値情報５１６に書き込む。
ステップＳ６０２において、更新対象特定部５０２は、システム構成情報５１２および更新要求情報５１３に基づいて、更新対象となる管理対象システム１０３のコンポーネントを特定する。また、特定したコンポーネントの情報を更新対象情報５１７に書き込む。
【００９９】
ステップＳ６０３において、更新優先度算出部５０３は、更新対象となるコンポーネント（更新対象コンポーネント）の有無を判定する。更新対象コンポーネントがある場合、制御はステップＳ６０４に進み、更新対象コンポーネントが無い場合、処理は終了する。
【０１００】
ステップＳ６０４において、更新優先度算出部５０３は、システム構成情報５１２、更新要求情報５１３、余裕値情報５１６、更新対象情報５１７、および障害事例情報５１５に基づいて、更新対象コンポーネントの優先度を算出する。また、算出した優先度等の情報を優先度情報５１８に書き込む。
【０１０１】
更新優先度算出部５０３は、使用しているユーザがいないコンポーネントの優先度を一番高くし、次に、余裕値と更新＆復旧時間との差分が大きい順にコンポーネントの優先度を高くする。また、更新優先度算出部５０３は、差分が同じ場合、増加ペナルティが小さいほうのコンポーネントの優先度を高くする。また、更新完了したコンポーネントの優先度は更新完了を示す「完了」、更新対象コンポーネントの内で障害事例情報５１５に記載の情報と一致する属性を持つコンポーネントの優先度は更新を行わないことを示す「障害」とする。また、他の実施の形態において、差分が負であるコンポーネントの優先度は、更新を行わないことを示す「保留」としてもよい。他の実施の形態において、例えば、月ごとにＳＬＯが管理されている場合、時間の経過により、余裕値が回復（増加）し、差分が負であったコンポーネントの差分が正となってから、更新を行うことで、ＳＬＯの未達を防ぐようにすることも出来る。
【０１０２】
ステップＳ６０５において、更新実行部５０４は、更新対象コンポーネントのうち、最も優先度が高いコンポーネントに対して、更新を実行する。更新実行部５０４は、優先度が「障害」または「保留」のコンポーネントに対しては、更新を実行しない。更新の方法としては、更新対象がOSまたはアプリケーションの場合、更新対象のスナップショットを取得し、更新を行う。スナップショットを取得することにより、更新失敗時に更新前の状態に戻すことができる。また、更新対象がVMMの場合は、マイグレーション（更新対象のVMM上のVM（該VM上のOSおよびアプリケーションを含む）を他のVMMへ退避させること）を行い、VMMの更新を行う。
【０１０３】
ステップＳ６０６において、更新実行部５０４は、更新が成功したか否か判定する。更新が成功した場合、制御はステップＳ６０１に戻り、更新が失敗した場合、制御はステップＳ６０７に進む。
【０１０４】
ステップＳ６０７において、更新実行部５０４は、更新が失敗したコンポーネントを更新前の状態に復元する。
ステップＳ６０８において、更新実行部５０４は、障害事例情報５１５を登録する。上述のように、障害事例情報５１５には、更新が失敗したコンポーネントの属性情報が記述される。
【０１０５】
以下、実施の形態のコンポーネント更新処理を図７の更新要求情報５１３に基づいて図２の管理対象システム１０３に適用した場合について説明する。
サービスレベル情報５１１、システム構成情報５１２、更新要求情報５１３、稼働実績情報５１４は、上述の図４、６〜８で説明したものを用いる。また、障害事例情報５１５、余裕値情報５１６、更新対象情報５１７、優先度情報５１８は、初期状態、すなわち情報は書き込まれていないものとする。
【０１０６】
また、説明を容易にするため、各コンポーネントはコンポーネントに割り当てられたＩＤで呼ぶこととする。
先ず、ＳＬＯ余裕値算出部５０１は、サービスレベル情報５１１および稼働実績情報５１４を読み出す。そして、ＳＬＯ余裕値算出部５０１は、サービスレベル情報５１１の停止可能時間／月と稼働実績情報５１４の月間停止時間との差分を余裕値としてユーザごとに算出する。尚、サービスレベル情報５１１に停止可能時間／月が記述されていない場合、ＳＬＯ余裕値算出部５０１は、ＳＬＯから停止可能時間／月を算出する。
【０１０７】
ＳＬＯ余裕値算出部５０１は、ユーザ、ＳＬＯ、停止可能時間／月、月間停止時間、余裕値を余裕値情報５１６に書き込む。それにより、余裕値情報５１６は、図１０に示すようになる。
【０１０８】
次に、更新対象特定部５０２は、システム構成情報５１２および更新要求情報５１３を読み出す。更新対象特定部５０２は、更新要求情報５１３のName、Type、バージョンに合致するコンポーネント、すなわち更新対象コンポーネントをシステム構成情報５１２から特定する。
【０１０９】
更新要求情報５１３の１行目に基づいてNameがXen Svr、TypeがVMM、バージョンが2.0.0以下であるコンポーネントをシステム構成情報５１２から特定すると、VMM1、VMM2、VMM4が特定される。
【０１１０】
更新要求情報５１３の２行目に基づいてNameがUbuntu、TypeがOS、バージョンが9.04であるコンポーネントをシステム構成情報５１２から特定すると、VM1、VM3、VM5が特定される。
【０１１１】
更新要求情報５１３の３行目に基づいてNameがInterstage、TypeがApp、バージョンが7.0以下であるコンポーネントをシステム構成情報５１２から特定すると、App7が特定される。
【０１１２】
特定したコンポーネントのＩＤを更新対象ＩＤとして、更新要求情報５１３のName、Type、適用パッチ／実行コマンド、バージョン、および更新対象ＩＤを更新対象情報５１７に書き込む。それにより、更新対象情報５１７は図１１のようになる。
【０１１３】
更新優先度算出部５０３は、システム構成情報５１２、更新要求情報５１３、余裕値情報５１６、および更新対象情報５１７を読み出す。また、更新優先度算出部５０３は、障害事例情報５１５がある場合、障害事例情報５１５も読み出す。
【０１１４】
更新対象情報５１７の更新対象ＩＤは、VMM1、VMM2、VMM4、VM1、VM3、VM5、App7である。したがって、ＩＤがVMM1、VMM2、VMM4、VM1、VM3、VM5、App7であるコンポーネントが更新対象コンポーネントである。
【０１１５】
更新優先度算出部５０３は、優先度を算出する前に、更新対象コンポーネントの依存コンポーネントＩＤ、ユーザ、余裕値、更新＆復旧時間、差分、および増加ペナルティを求める。
【０１１６】
例えば、App7に依存しているコンポーネントは、システム構成情報５１２を参照すると見つからない（すなわち、依存関係にApp7が記述されたコンポーネントは無い）ので、無しである。したがって、App7の依存コンポーネントＩＤは、−（空（null））である。
【０１１７】
App7を使用しているユーザは、システム構成情報５１２を参照するとUser2である。したがって、App7のユーザは、User2である。
App7を使用しているUser2の余裕値は、余裕値情報５１６を参照すると２３．２分である。したがって、App7の余裕値は２３．２分である。
【０１１８】
App7に対する更新要求情報は更新要求情報５１３の３行目に記述されている。更新要求情報５１３の３行目の所要更新時間（１０分）と所要復旧時間（１５分）とを加算すると２５分である。したがって、App7の更新＆復旧時間は２５分である。
【０１１９】
App7の差分は、余裕値（２３．２分）と更新＆復旧時間（２５分）との差分より、−１．８分となる。
サービスレベル情報５１１を参照すると、App7を使用しているUser2のペナルティ単価は１時間当たり１００ドルである。したがって、App7の増加ペナルティは、３（＝１００／６０＊１．８）ドルである。
【０１２０】
同様に、更新対象コンポーネントであるVM1、VM3、VM5、VMM1、VMM2、VMM4に関して、依存コンポーネントＩＤ、ユーザ、余裕値、更新＆復旧時間、差分、および増加ペナルティを求める。
【０１２１】
そして、更新優先度算出部５０３は、各更新対象コンポーネントの更新の順位、すなわち優先度を算出する。
上述したように、優先度は、使用しているユーザがいないコンポーネントの優先度を一番高くし、次に、余裕値と更新＆復旧時間との差分が大きい順にコンポーネントの優先度を高くする。また、更新が完了しているコンポーネントの優先度は「完了」、障害事例情報５１５に一致するコンポーネントの優先度は「障害」とする。
【０１２２】
したがって、順位（優先度）は、ユーザのいないVMM4が一番高くなり、以下、差分が大きい順にVMM2、VM3、App7、VM1、VM5、VMM1となる（尚、VM1とVM5の順位は同じ）。
更新優先度算出部５０３は、更新対象ＩＤ、依存コンポーネントＩＤ、ユーザ、余裕値、更新＆復旧時間、差分、増加ペナルティ、および算出した順位を優先度情報５１８に書き込むと、図１２に示す優先度情報５１８−１のようになる。
【０１２３】
更新実行部５０４は、優先度情報５１８−１を読み出す。
図１２の優先度情報５１８−１を参照すると、１番順位の高いVMM4が最優先の更新対象コンポーネントであるので、更新実行部５０４は、VMM4の更新を行う。
【０１２４】
ここでは、VMM4の更新は成功したとする。
更新実行部５０４は、更新後の更新対象システム１０３の構成に一致するようにシステム更新情報５１２を更新する。
【０１２５】
図１４は、システム構成情報の更新箇所を示す図である。
図１４のシステム構成情報５１２−１は、図６のシステム構成情報５１２のうち、更新箇所を表している。尚、括弧内の数字（2.0.0）は更新前のデータを示し、矢印（→）はデータが括弧の右側に記載されたデータ（2.0.2）に変更されたことを示している。また、括弧内の数字および矢印は、変更箇所を分かり易くするために示したもので、更新後のシステム構成情報５１２には、実際には記述されていない。他のシステム構成情報の更新箇所を示す図でも同様である。
【０１２６】
更新実行部５０４は、図１４のシステム構成情報５１２−１に示すように、図６のシステム構成情報５１２のVMM4のバージョンを2.0.2とする。
ＳＬＯ余裕値算出部５０１は、上述と同様に、余裕値を算出し、ユーザ、ＳＬＯ、停止可能時間／月、月間停止時間、余裕値を余裕値情報５１６に書き込む。
【０１２７】
そして、更新対象特定部５０２は、上述と同様に、更新対象コンポーネントを特定し、Name、Type、適用パッチ／実行コマンド、バージョン、および更新対象ＩＤを更新対象情報５１７に書き込む。
【０１２８】
更新優先度算出部５０３は、更新対象コンポーネントの優先度を再度算出する。
優先度の算出方法については、上述の通りである。また、更新が完了しているVMM4の順位は「完了」である。
【０１２９】
更新優先度算出部５０３は、更新対象ＩＤ、依存コンポーネントＩＤ、ユーザ、余裕値、更新＆復旧時間、差分、増加ペナルティ、および算出した順位を優先度情報５１８に書き込むと、図１５に示す優先度情報５１８−２のようになる。
【０１３０】
更新実行部５０４は、優先度情報５１８−２を読み出す。
図１５の優先度情報５１８−２を参照すると、１番順位の高いVMM2が最優先の更新対象コンポーネントであるので、更新実行部５０４は、VMM2の更新を行う。
【０１３１】
優先度情報５１８−２の依存コンポーネントＩＤに示すように、VM4、VM5、およびVM6は、VMM2に依存している。したがって、更新実行部５０４は、VMM2の更新前に、VM4、VM5、およびVM6のマイグレーションを行う。すなわち、更新実行部５０４は、VM4、VM5、およびVM6を他のVMMに移動させる。移動先のVMMは、空いているVMM、すなわちOSを有していないVMMが望ましい。システム構成情報５１２を参照すると、VMM4はOSを有していないので、更新実行部５０４は、移動先のVMMをVMM4とする。
【０１３２】
更新実行部５０４は、VM4、VM5、およびVM6をVMM4に移動させる。そして、更新実行部５０４は、VMM2の更新を行う。
ここでは、VMM2の更新は成功したとする。
【０１３３】
更新実行部５０４は、更新後の更新対象システム１０３の構成に一致するようにシステム更新情報５１２を更新する。
図１６は、システム構成情報の更新箇所を示す図である。
【０１３４】
更新実行部５０４は、図１６のシステム構成情報５１２−２に示すように、図６のシステム構成情報５１２のVM4、VM5、およびVM6の依存関係をVMM4とし、VMM2のバージョンを2.0.2とする。
【０１３５】
ＳＬＯ余裕値算出部５０１は、上述と同様に、余裕値を算出し、ユーザ、ＳＬＯ、停止可能時間／月、月間停止時間、余裕値を余裕値情報５１６に書き込む。
そして、更新対象特定部５０２は、上述と同様に、更新対象コンポーネントを特定し、Name、Type、適用パッチ／実行コマンド、バージョン、および更新対象ＩＤを更新対象情報５１７に書き込む。
【０１３６】
更新優先度算出部５０３は、更新対象コンポーネントの優先度を再度算出する。
優先度の算出方法については、上述の通りである。また、更新が完了しているVMM2およびVMM4の順位は「完了」である。
【０１３７】
更新優先度算出部５０３は、更新対象ＩＤ、依存コンポーネントＩＤ、ユーザ、余裕値、更新＆復旧時間、差分、増加ペナルティ、および算出した順位を優先度情報５１８に書き込むと、図１７に示す優先度情報５１８−３のようになる。
【０１３８】
更新実行部５０４は、優先度情報５１８−３を読み出す。
図１７の優先度情報５１８−３を参照すると、１番順位の高いVM3が最優先の更新対象コンポーネントであるので、更新実行部５０４は、VM3の更新を行う。
【０１３９】
ここでは、VM3の更新は失敗したとする。
更新実行部５０４は、VM3の復元を行う。また、更新実行部５０４は、システム構成情報５１２および更新対象情報５１７を読み出す。
【０１４０】
更新実行部５０４は、更新が失敗したコンポーネントのＩＤ、Name、Type、バージョン、適用パッチ／実行コマンド（更新時に適用したパッチまたは実行したコマンド）、依存コンポーネント（更新が失敗したコンポーネントが依存しているコンポーネントまたは更新が失敗したコンポーネントに依存しているコンポーネントのNameおよびバージョン）を障害事例情報５１５に書き込む。
【０１４１】
システム構成情報５１２を参照すると、更新が失敗したコンポーネントのＩＤはVM3、NameはUbuntu、TypeはOS、バージョンは9.04である。また、システム構成情報５１２を参照すると、VM3が依存しているコンポーネントはVMM1であり、VMM1のNameおよびバージョンはXen Svrおよび2.0.0である。また、VM3に依存しているコンポーネントはApp3であり、App3のNameおよびバージョンはApacheおよび2.2である。したがって、依存コンポーネントは、Xen Svr 2.0.0とApache 2.2である。
【０１４２】
また、更新対象情報５１７を参照すると、VM3に更新時に適用したパッチまたは実行したコマンド、すなわち適用パッチ／実行コマンドは、update-notifier-kde -uである。
これらの情報、すなわち更新失敗時のVM3の属性情報を障害事例情報５１５に書き込むと図９のようになる。
【０１４３】
また、VM3の更新＆復旧時間は７０分であり、VM3はUser3により使用されている。したがって、更新実行部５０４は、稼働実績情報５１４のUser3の月間停止時間に７０分加算する。これによりUser3の月間停止時間は、４２０分となる。
【０１４４】
ＳＬＯ余裕値算出部５０１は、上述と同様に、余裕値を算出し、ユーザ、ＳＬＯ、停止可能時間／月、月間停止時間、余裕値を余裕値情報５１６に書き込む。
そして、更新対象特定部５０２は、上述と同様に、更新対象コンポーネントを特定し、Name、Type、適用パッチ／実行コマンド、バージョン、および更新対象ＩＤを更新対象情報５１７に書き込む。
【０１４５】
更新優先度算出部５０３は、更新対象コンポーネントの優先度を再度算出する。
優先度の算出方法については、上述の通りである。また、更新が完了しているVMM2およびVMM4の順位は「完了」である。また、障害事例情報５１５に一致するコンポーネント、詳細には、障害事例情報５１５のName、Type、バージョン、適用パッチ／実行コマンド、依存コンポーネントが一致する更新対象コンポーネントの順位は「障害」である。
【０１４６】
前回の更新で障害事例情報５１５が登録されたので、障害事例情報５１５に一致するコンポーネントについて詳細に説明する。
システム構成情報５１２を参照すると、VM1のNameはUbuntu、TypeはOS、バージョンは9.04である。また、VM1が依存しているコンポーネントはVMM1であり、VMM1のNameおよびバージョンはXen Svrおよび2.0.0である。また、VM1に依存しているコンポーネントはApp1であり、App1のNameおよびバージョンはApacheおよび2.2である。したがって、VM1の依存コンポーネントは、Xen Svr 2.0.0とApache 2.2である。
【０１４７】
また、更新対象情報５１７を参照すると、VM1に更新時に適用するパッチまたは実行するコマンド、すなわち適用パッチ／実行コマンドは、update-notifier-kde -uである。
したがって、VM1のName、Type、バージョン、適用パッチ／実行コマンド、および依存コンポーネントは、障害事例情報５１５のName、Type、バージョン、適用パッチ／実行コマンド、および依存コンポーネントと一致する。
【０１４８】
よって、VM1に対して更新は実行しないため、VM1の順位は「障害」となる。このように過去に失敗したコンポーネントと同様の組み合わせとなる更新を更新を避けている。
また、VM3についても、同様に障害事例情報５１５に一致するため、順位は「障害」となる。
【０１４９】
更新優先度算出部５０３は、更新が完了したコンポーネントおよび障害事例情報５１５に一致するコンポーネント以外のコンポーネントの優先度を算出する。
更新優先度算出部５０３は、更新対象ＩＤ、依存コンポーネントＩＤ、ユーザ、余裕値、更新＆復旧時間、差分、増加ペナルティ、および算出した順位を優先度情報５１８に書き込むと、図１８に示す優先度情報５１８−４のようになる。
【０１５０】
更新実行部５０４は、優先度情報５１８−４を読み出す。
図１８の優先度情報５１８−４を参照すると、１番順位の高いApp7が最優先の更新対象コンポーネントであるので、更新実行部５０４は、App7の更新を行う。
【０１５１】
ここでは、App7の更新は成功したとする。
図１９は、システム構成情報の更新箇所を示す図である。
更新実行部５０４は、図１６のシステム構成情報５１２−３に示すように、図６のシステム構成情報５１２のApp7のバージョンを8.0とする。
【０１５２】
ＳＬＯ余裕値算出部５０１は、上述と同様に、余裕値を算出し、ユーザ、ＳＬＯ、停止可能時間／月、月間停止時間、余裕値を余裕値情報５１６に書き込む。
そして、更新対象特定部５０２は、上述と同様に、更新対象コンポーネントを特定し、Name、Type、適用パッチ／実行コマンド、バージョン、および更新対象ＩＤを更新対象情報５１７に書き込む。
【０１５３】
更新優先度算出部５０３は、更新対象コンポーネントの優先度を再度算出する。
優先度の算出方法については、上述の通りである。また、更新が完了しているApp7、VMM2、およびVMM4の順位は「完了」である。また、障害事例情報５１５に一致するコンポーネント、すなわちVM1およびVM3の順位は「障害」である。
【０１５４】
更新優先度算出部５０３は、更新対象ＩＤ、依存コンポーネントＩＤ、ユーザ、余裕値、更新＆復旧時間、差分、増加ペナルティ、および算出した順位を優先度情報５１８に書き込むと、図２０に示す優先度情報５１８−５のようになる。
【０１５５】
更新実行部５０４は、優先度情報５１８−５を読み出す。
図２０の優先度情報５１８−５を参照すると、１番順位の高いVM5が最優先の更新対象コンポーネントであるので、更新実行部５０４は、VM5の更新を行う。
【０１５６】
ここでは、VM5の更新は成功したとする。
図２１は、システム構成情報の更新箇所を示す図である。
更新実行部５０４は、図２１のシステム構成情報５１２−４に示すように、図６のシステム構成情報５１２のVM5のバージョンを9.10とする。
【０１５７】
ＳＬＯ余裕値算出部５０１は、上述と同様に、余裕値を算出し、ユーザ、ＳＬＯ、停止可能時間／月、月間停止時間、余裕値を余裕値情報５１６に書き込む。
そして、更新対象特定部５０２は、上述と同様に、更新対象コンポーネントを特定し、Name、Type、適用パッチ／実行コマンド、バージョン、および更新対象ＩＤを更新対象情報５１７に書き込む。
【０１５８】
更新優先度算出部５０３は、更新対象コンポーネントの優先度を再度算出する。
優先度の算出方法については、上述の通りである。また、更新が完了しているApp7、VM5、VMM2、およびVMM4の順位は「完了」である。また、障害事例情報５１５に一致するコンポーネント、すなわちVM1およびVM3の順位は「障害」である。
【０１５９】
更新優先度算出部５０３は、更新対象ＩＤ、依存コンポーネントＩＤ、ユーザ、余裕値、更新＆復旧時間、差分、増加ペナルティ、および算出した順位を優先度情報５１８に書き込むと、図２２に示す優先度情報５１８−６のようになる。
【０１６０】
更新実行部５０４は、優先度情報５１８−６を読み出す。
図２２の優先度情報５１８−６を参照すると、１番順位の高いVMM1が最優先の更新対象コンポーネントであるので、更新実行部５０４は、VMM1の更新を行う。
【０１６１】
優先度情報５１８−６の依存コンポーネントＩＤに示すように、VM1、VM2、およびVM3は、VMM1に依存している。したがって、更新実行部５０４は、VMM1の更新前に、VM1、VM2、およびVM3のマイグレーションを行う。すなわち、更新実行部５０４は、VM1、VM2、およびVM3を他のVMMに移動させる。ここでは、更新実行部５０４は、移動先のVMMをVMM2とする。
【０１６２】
更新実行部５０４は、VM1、VM2、およびVM3をVMM2に移動させる。そして、更新実行部５０４は、VMM1の更新を行う。
ここでは、VMM1の更新は成功したとする。
【０１６３】
更新実行部５０４は、更新後の更新対象システム１０３の構成に一致するようにシステム更新情報５１２を更新する。
図２３は、システム構成情報の更新箇所を示す図である。
【０１６４】
更新実行部５０４は、図２３のシステム構成情報５１２−５に示すように、図６のシステム構成情報５１２のVM1、VM2、およびVM3の依存関係をVMM2とし、VMM1のバージョンを2.0.2とする。
【０１６５】
ＳＬＯ余裕値算出部５０１は、上述と同様に、余裕値を算出し、ユーザ、ＳＬＯ、停止可能時間／月、月間停止時間、余裕値を余裕値情報５１６に書き込む。
そして、更新対象特定部５０２は、上述と同様に、更新対象コンポーネントを特定し、Name、Type、適用パッチ／実行コマンド、バージョン、および更新対象ＩＤを更新対象情報５１７に書き込む。
【０１６６】
更新優先度算出部５０３は、更新対象コンポーネントの優先度を再度算出する。
優先度の算出方法については、上述の通りである。また、更新が完了しているApp7、VM5、VMM1、VMM2、およびVMM4の順位は「完了」である。また、障害事例情報５１５に一致するコンポーネントの順位は「障害」である。
【０１６７】
図２２の優先度情報５１８−６に記載のように、前回の優先度の算出において、VM1およびVM3は、障害事例情報５１５に一致していたため、VM1およびVM3の順位は「障害」であった。しかしながら、前回の更新で、VM1とVM3は、VMM2に移動した。VMM2のバージョンは図１６に記載のように2.0.2であるため、VM1およびVM3は、障害事例情報５１５に一致しなくなり、VM1およびVM3の順位は「障害」ではなくなる。
【０１６８】
更新優先度算出部５０３は、更新対象ＩＤ、依存コンポーネントＩＤ、ユーザ、余裕値、更新＆復旧時間、差分、増加ペナルティ、および算出した順位を優先度情報５１８に書き込むと、図２４に示す優先度情報５１８−７のようになる。
【０１６９】
更新実行部５０４は、優先度情報５１８−７を読み出す。
図２４の優先度情報５１８−７を参照すると、１番順位の高いVM1が最優先の更新対象コンポーネントであるので、更新実行部５０４は、VM1の更新を行う。
【０１７０】
ここでは、VM1の更新は成功したとする。
更新実行部５０４は、更新後の更新対象システム１０３の構成に一致するようにシステム更新情報５１２を更新する。
【０１７１】
図２５は、システム構成情報の更新箇所を示す図である。
更新実行部５０４は、図２５のシステム構成情報５１２−６に示すように、図６のシステム構成情報５１２のVM1のバージョンを9.10とする。
【０１７２】
ＳＬＯ余裕値算出部５０１は、上述と同様に、余裕値を算出し、ユーザ、ＳＬＯ、停止可能時間／月、月間停止時間、余裕値を余裕値情報５１６に書き込む。
そして、更新対象特定部５０２は、上述と同様に、更新対象コンポーネントを特定し、Name、Type、適用パッチ／実行コマンド、バージョン、および更新対象ＩＤを更新対象情報５１７に書き込む。
【０１７３】
更新優先度算出部５０３は、更新対象コンポーネントの優先度を再度算出する。
優先度の算出方法については、上述の通りである。また、更新が完了しているApp7、VM1、VM5、VMM1、VMM2、およびVMM4の順位は「完了」である。また、障害事例情報５１５に一致するコンポーネントの順位は「障害」である。
【０１７４】
更新優先度算出部５０３は、更新対象ＩＤ、依存コンポーネントＩＤ、ユーザ、余裕値、更新＆復旧時間、差分、増加ペナルティ、および算出した順位を優先度情報５１８に書き込むと、図２６に示す優先度情報５１８−８のようになる。
【０１７５】
更新実行部５０４は、優先度情報５１８−８を読み出す。
図２６の優先度情報５１８−８を参照すると、１番順位の高いVM3が最優先の更新対象コンポーネントであるので、更新実行部５０４は、VM3の更新を行う。
【０１７６】
ここでは、VM3の更新は成功したとする。
更新実行部５０４は、更新後の更新対象システム１０３の構成に一致するようにシステム更新情報５１２を更新する。
【０１７７】
図２７は、システム構成情報の更新箇所を示す図である。
更新実行部５０４は、図２７のシステム構成情報５１２−７に示すように、図６のシステム構成情報５１２のVM3のバージョンを9.10とする。
【０１７８】
ＳＬＯ余裕値算出部５０１は、上述と同様に、余裕値を算出し、ユーザ、ＳＬＯ、停止可能時間／月、月間停止時間、余裕値を余裕値情報５１６に書き込む。
そして、更新対象特定部５０２は、上述と同様に、更新対象コンポーネントを特定し、Name、Type、適用パッチ／実行コマンド、バージョン、および更新対象ＩＤを更新対象情報５１７に書き込む。
【０１７９】
更新優先度算出部５０３は、更新対象コンポーネントの優先度を再度算出する。
優先度の算出方法については、上述の通りである。また、更新が完了しているApp7、VM1、VM3、VM5、VMM1、VMM2、およびVMM4の順位は「完了」である。また、障害事例情報５１５に一致するコンポーネントの順位は「障害」である。
【０１８０】
更新優先度算出部５０３は、更新対象ＩＤ、依存コンポーネントＩＤ、ユーザ、余裕値、更新＆復旧時間、差分、増加ペナルティ、および算出した順位を優先度情報５１８に書き込むと、図２８に示す優先度情報５１８−９のようになる。
【０１８１】
優先度情報５１８−９の順位がすべて「完了」となっている、すなわち更新対象となるコンポーネントはないため、更新処理は終了する。
上記の更新処理では、ペナルティが発生することなく、対象のコンポーネントを更新することが出来る。
【０１８２】
もし、VM3の前にVM1を更新してしまうと、４．６ドルのペナルティが発生してしまうが、実施の形態の更新処理ではペナルティの発生を抑止することが出来る。
【０１８３】
図２９は、実施の形態に係る更新後の管理対象システムの詳細を示す図である。
図２９は、上述の更新処理を行った後の管理対象システムの構成を示している。
【０１８４】
サーバ２０１−１は、VMM２０２−１を有する。
VMM２０２−１は、複数の仮想マシンを作成し、仮想マシン上のＯＳを制御するソフトウェアである。VMM２０２−１として、例えば、Xen Server(Svr) version 2.0.0 を用いることができる。VMM２０２−１には、ＩＤとしてVMM1が割り当てられている。
【０１８５】
サーバ２０１−２は、VMM２０２−２を有する。
VMM２０２−２は、３つの仮想マシンを有し、各仮想マシンはＯＳ２０３−１を有する。
【０１８６】
ＯＳ２０３−１−１としては、例えば、Ubuntu linux(UbuntuまたはUB) version 9.10を用いることができる。ＯＳ２０３−１−１には、ＩＤとしてVM1が割り当てられている。
【０１８７】
ＯＳ２０３−１−１は、アプリケーション２０４−１−１を有する。アプリケーション２０４−１−１は、ＯＳ２０３−１−１上で動作するアプリケーションソフトウェアである。アプリケーション２０４−１−１は、ウェブサーバソフトウェアであり、例えば、Apache version 2.2を用いることができる。アプリケーション２０４−１−１には、ＩＤとしてApp1が割り当てられている。
【０１８８】
ＯＳ２０３−１−２は、例えば、Windows Server(WINまたはWin Svr) version SP2を用いることができる。ＯＳ２０３−１−２には、ＩＤとしてVM2が割り当てられている。
ＯＳ２０３−１−２は、アプリケーション２０４−１−２を有する。アプリケーション２０４−１−２は、ＯＳ２０３−１−２上で動作するアプリケーションソフトウェアである。アプリケーション２０４−１−２は、ウェブサーバソフトウェアであり、例えば、IIS version 6.0を用いることができる。アプリケーション２０４−１−２には、ＩＤとしてApp2が割り当てられている。
【０１８９】
ＯＳ２０３−１−３としては、例えば、Ubuntu linux(UbuntuまたはUB) version 9.10を用いることができる。ＯＳ２０３−１−３には、ＩＤとしてVM3が割り当てられている。
【０１９０】
ＯＳ２０３−１−３は、アプリケーション２０４−１−３を有する。アプリケーション２０４−１−３は、ＯＳ２０３−１−１上で動作するアプリケーションソフトウェアである。アプリケーション２０４−１−３は、ウェブサーバソフトウェアであり、例えば、Apache version 2.2を用いることができる。アプリケーション２０４−１−３には、ＩＤとしてApp3が割り当てられている。
【０１９１】
サーバ２０１−３は、VMM２０２−３を有する。
VMM２０２−３は、複数の仮想マシンを作成し、仮想マシン上のＯＳを制御するソフトウェアである。VMM２０２−３として、例えば、Xen Server(Svr) version 2.0.2を用いることができる。VMM２０２−３には、ＩＤとしてVMM3が割り当てられている。
【０１９２】
VMM２０２−３は、４つの仮想マシンを有し、各仮想マシンはＯＳ２０３−３を有する。
ＯＳ２０３−３−１として、例えば、Windows Server(WINまたはWin Svr) version SP2を用いることができる。ＯＳ２０３−３−１には、ＩＤとしてVM7が割り当てられている。
【０１９３】
ＯＳ２０３−３−１は、アプリケーション２０４−３−１を有する。アプリケーション２０４−３−１は、ＯＳ２０３−３−１上で動作するアプリケーションソフトウェアである。アプリケーション２０４−３−１は、アプリケーションサーバソフトウェアであり、例えば、Interstageであり、version 8.0を用いることができる。アプリケーション２０４−３−１には、ＩＤとしてApp7が割り当てられている。
【０１９４】
ＯＳ２０３−３−２として、例えば、Ubuntu linux(UbuntuまたはUB) version 9.10を用いることができる。ＯＳ２０３−３−２には、ＩＤとしてVM8が割り当てられている。
ＯＳ２０３−３−２は、アプリケーション２０４−３−２を有する。アプリケーション２０４−３−２は、ＯＳ２０３−３−２上で動作するアプリケーションソフトウェアである。アプリケーション２０４−３−２は、アプリケーションサーバソフトウェアであり、例えば、Tomcat version 6.0を用いることができる。アプリケーション２０４−3−２には、ＩＤとしてApp8が割り当てられている。
【０１９５】
ＯＳ２０３−３−３として、例えば、Windows Server(WINまたはWin Svr) version SP2を用いることができる。ＯＳ２０３−３−３には、ＩＤとしてVM9が割り当てられている。
【０１９６】
ＯＳ２０３−３−３は、アプリケーション２０４−３−３を有する。アプリケーション２０４−３−３は、ＯＳ２０３−３−３上で動作するアプリケーションソフトウェアである。アプリケーション２０４−３−３は、データベースソフトウェアであり、例えば、MySQL version 4.0を用いることができる。アプリケーション２０４−３−３には、ＩＤとしてApp9が割り当てられている。
【０１９７】
ＯＳ２０３−３−４として、例えば、Ubuntu linux(UbuntuまたはUB) version 9.10を用いることができる。ＯＳ２０３−３−４には、ＩＤとしてVM10が割り当てられている。
ＯＳ２０３−３−４は、アプリケーション２０４−３−４を有する。アプリケーション２０４−３−４は、ＯＳ２０３−３−４上で動作するアプリケーションソフトウェアである。アプリケーション２０４−３−３は、データベースソフトウェアであり、例えば、MySQL version 4.0を用いることができる。アプリケーション２０４−３−４には、ＩＤとしてApp10が割り当てられている。
【０１９８】
サーバ２０１−４は、VMM２０２−４を有する。
VMM２０２−４は、複数の仮想マシンを作成し、仮想マシン上のＯＳを制御するソフトウェアである。VMM２０２−４として、例えば、Xen Server(Svr) version 2.0.2を用いることがでいる。VMM２０２−４には、ＩＤとしてVMM4が割り当てられている。
【０１９９】
VMM２０２−４は、３つの仮想マシンを有し、各仮想マシンはＯＳ２０３−２を有する。
ＯＳ２０３−２−１として、例えば、Ubuntu linux(UbuntuまたはUB) version 9.10を用いることができる。ＯＳ２０３−２−１には、ＩＤとしてVM4が割り当てられている。
【０２００】
ＯＳ２０３−２−１は、アプリケーション２０４−２−１を有する。アプリケーション２０４−２−１は、ＯＳ２０３−２−１上で動作するアプリケーションソフトウェアである。アプリケーション２０４−２−１は、ウェブサーバソフトウェアであり、例えば、Apache version 2.2を用いることができる。アプリケーション２０４−２−１には、ＩＤとしてApp4が割り当てられている。
【０２０１】
ＯＳ２０３−２−２は、例えば、Ubuntu linux(UbuntuまたはUB) version 9.10を用いることができる。ＯＳ２０３−２−２には、ＩＤとしてVM5が割り当てられている。
ＯＳ２０３−２−２は、アプリケーション２０４−２−２を有する。アプリケーション２０４−２−２は、ＯＳ２０３−２−２上で動作するアプリケーションソフトウェアである。アプリケーション２０４−２−２は、データベースソフトウェアであり、例えば、MySQL version 4.0を用いることができる。アプリケーション２０４−２−２には、ＩＤとしてApp5が割り当てられている。
【０２０２】
ＯＳ２０３−２−３としては、例えば、Ubuntu linux(UbuntuまたはUB) version 9.10を用いることができる。ＯＳ２０３−２−３には、ＩＤとしてVM6が割り当てられている。
【０２０３】
ＯＳ２０３−２−３は、アプリケーション２０４−２−３を有する。アプリケーション２０４−２−３は、ＯＳ２０３−２−１上で動作するアプリケーションソフトウェアである。アプリケーション２０４−２−３は、ウェブサーバソフトウェアであり、例えば、Apache version 2.2を用いることができる。アプリケーション２０４−１−３には、ＩＤとしてApp6が割り当てられている。
【０２０４】
実施の形態の更新装置によれば、更新が失敗したときの余裕が大きいコンポーネントを優先して更新するため、更新が失敗してもSLOの未達、すなわちペナルティが発生しにくくなる。すなわち、クラウドサービス提供者の収入低下が回避される。
【０２０５】
また、実施の形態の更新装置によれば、過去に失敗したコンポーネントの組み合わせと同様の組み合わせとなる更新を避けるため、更新が失敗する可能性が低くなる。
また、実施の形態の更新方法によれば、更新対象と同じ検証環境を用意する必要が無いので、コストを低下することが出来る。
【０２０６】
図３０は、情報処理装置（コンピュータ）の構成図である。
実施の形態の更新装置１０２およびサーバ２０１は、例えば、図３０に示すような情報処理装置１によって実現される。
【０２０７】
情報処理装置１は、CPU２、メモリ３、入力部４、出力部５、記憶部６、記録媒体駆動部７、およびネットワーク接続部８を備え、それらはバス９により互いに接続されている。
【０２０８】
CPU２は、情報処理装置１全体を制御する中央処理装置である。CPU２は、ＳＬＯ余裕値算出部５０１、更新対象特定部５０２、更新優先度算出部５０３、更新実行部５０４に対応する。また、CPU２は、VMM２０２、ＯＳ２０３、およびアプリケーション２０４を実行する。
【０２０９】
メモリ３は、プログラム実行の際に、記憶部６（あるいは可搬記録媒体１０）に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ROM)やRandom Access Memory(RAM)等のメモリである。CPU２は、メモリ３を利用してプログラムを実行することにより、上述した各種処理を実行する。
【０２１０】
この場合、可搬記録媒体１０等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
入力部４は、例えば、キーボード、マウス、タッチパネル等である。
【０２１１】
出力部５は、例えば、ディスプレイ、プリンタ等である。
記憶部６は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置１は、記憶部６に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ３に読み出して使用する。
【０２１２】
メモリ３または記憶部６は、記憶部５０５に対応する。
記録媒体駆動部７は、可搬記録媒体１０を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(CD-ROM)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体１０に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ３に読み出して使用する。
【０２１３】
ネットワーク接続部８は、LAN等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う。
【０２１４】
以上の実施の形態に監視、更に以下の付記を開示する。
（付記１）
ソフトウェアを利用したサービスを提供するシステムで用いられ、該ソフトウェアの更新を行う更新装置において、
サービスレベルに応じた前記サービスの停止可能時間と、記憶手段に記憶された稼動実績が示す前記サービスの停止時間との差分を算出し、複数のソフトウェアが更新対象として存在する場合に、ソフトウェアの更新の失敗の際のサービス停止による前記差分への影響度に応じて、前記複数の更新対象ソフトウェアの更新順序を算出し、前記更新順序に従って前記複数の更新対象ソフトウェアの更新を行う処理装置、
を備える更新装置。
（付記２）
前記処理装置は、前記複数の更新対象ソフトウェアを使用しているユーザの有無をチェックし、前記ユーザの有無に基づいて、前記複数の更新対象ソフトウェアの更新順序を算出することを特徴とする請求項１記載の更新装置。
（付記３）
前記処理装置は、前記更新対象ソフトウェアの更新が失敗した場合に、前記複数の更新対象ソフトウェアの内、更新を失敗した前記更新対象ソフトウェアと同じ属性を有する更新対象ソフトウェアの更新を行わないことを特徴とする請求項１または２に記載の更新装置。
（付記４）
ソフトウェアを利用したサービスを提供するシステムで用いられ、該ソフトウェアの更新を行う更新方法において、
サービスレベルに応じた前記サービスの停止可能時間と、記憶手段に記憶された稼動実績が示す前記サービスの停止時間との差分を算出し、
複数のソフトウェアが更新対象として存在する場合に、ソフトウェアの更新の失敗の際のサービス停止による前記差分への影響度に応じて、前記複数の更新対象ソフトウェアの更新順序を算出し、
前記更新順序に従って前記複数の更新対象ソフトウェアの更新を行う、
ことを特徴とする更新方法。
（付記５）
前記複数の更新対象ソフトウェアの更新順序を算出処理において、前記複数の更新対象ソフトウェアを使用しているユーザの有無をチェックし、前記ユーザの有無に基づいて、前記複数の更新対象ソフトウェアの更新順序を算出することを特徴とする請求項４記載の更新方法。
（付記６）
前記複数の更新対象ソフトウェアの更新処理において、前記更新対象ソフトウェアの更新が失敗した場合に、前記複数の更新対象ソフトウェアの内、更新を失敗した前記更新対象ソフトウェアと同じ属性を有する更新対象ソフトウェアの更新を行わないことを特徴とする請求項４または５に記載の更新方法。
（付記７）
ソフトウェアを利用したサービスを提供するシステムで用いられ、該ソフトウェアの更新を行うコンピュータに、
サービスレベルに応じた前記サービスの停止可能時間および稼動実績が示す前記サービスの停止時間を記憶する記憶部を参照し、
前記停止可能時間と、前記停止時間との差分を算出し、
複数のソフトウェアが更新対象として存在する場合に、ソフトウェアの更新の失敗の際のサービス停止による前記差分への影響度に応じて、前記複数の更新対象ソフトウェアの更新順序を算出し、
前記更新順序に従って前記複数の更新対象ソフトウェアの更新を行う、
処理を実行させるための更新プログラム。
（付記８）
前記複数の更新対象ソフトウェアの更新順序を算出処理において、前記複数の更新対象ソフトウェアを使用しているユーザの有無をチェックし、前記ユーザの有無に基づいて、前記複数の更新対象ソフトウェアの更新順序を算出することを特徴とする請求項７記載の更新プログラム。
（付記９）
前記複数の更新対象ソフトウェアの更新処理において、前記更新対象ソフトウェアの更新が失敗した場合に、前記複数の更新対象ソフトウェアの内、更新を失敗した前記更新対象ソフトウェアと同じ属性を有する更新対象ソフトウェアの更新を行わないことを特徴とする請求項７または８に記載の更新プログラム。
【符号の説明】
【０２１５】
１０１    システム
１０２    更新装置
１０３    管理対象システム
１０４    端末
１０５    ネットワーク
２０１    サーバ
２０２    仮想マシンモニタ
２０３    オペレーティングシステム
２０４    アプリケーション
３０１    ユーザ
５０１    ＳＬＯ余裕値算出部
５０２    更新対象特定部
５０３    更新優先度算出部
５０４    更新実行部
５０５    記憶部
５１１    サービスレベル情報
５１２    システム構成情報
５１３    更新要求情報
５１４    稼働実績情報
５１５    障害事例情報
５１６    余裕値情報
５１７    更新対象情報
５１８    優先度情報
【図１】
0005569424.tif 000002
【図２】
0005569424.tif 000003
【図３】
0005569424.tif 000004
【図４】
0005569424.tif 000005
【図６】
0005569424.tif 000006
【図７】
0005569424.tif 000007
【図８】
0005569424.tif 000008
【図９】
0005569424.tif 000009
【図１０】
0005569424.tif 000010
【図１１】
0005569424.tif 000011
【図１２】
0005569424.tif 000012
【図１３】
0005569424.tif 000013
【図１４】
0005569424.tif 000014
【図１５】
0005569424.tif 000015
【図１６】
0005569424.tif 000016
【図１７】
0005569424.tif 000017
【図１８】
0005569424.tif 000018
【図１９】
0005569424.tif 000019
【図２０】
0005569424.tif 000020
【図２１】
0005569424.tif 000021
【図２２】
0005569424.tif 000022
【図２３】
0005569424.tif 000023
【図２４】
0005569424.tif 000024
【図２５】
0005569424.tif 000025
【図２６】
0005569424.tif 000026
【図２７】
0005569424.tif 000027
【図２８】
0005569424.tif 000028
【図２９】
0005569424.tif 000029
【図３０】
0005569424.tif 000030
【図５】
0005569424.tif 000031