(57)【要約】【課題】仮想マシンのリソース管理を安定して行うこと。【解決手段】第１制御装置１１０は、情報処理装置１３０による仮想マシンの作成の制御を要求する第１制御信号を第２制御装置１２０へ送信する。第２制御装置１２０は、第１制御信号に基づいて、トランザクションの識別子を格納した第２制御信号を情報処理装置１３０へ送信する。情報処理装置１３０は、第２制御信号に基づいて仮想マシンを作成し、作成した仮想マシンを示す情報と、トランザクションの識別子と、を対応付けた対応情報を生成する。第１制御装置１１０は、トランザクションの識別子と対応情報とに基づいて仮想マシンの作成状態を判定する。【選択図】図１
2018112898.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置による仮想マシンの作成の制御を要求する制御信号を他の制御装置へ送信する送信部と、
前記情報処理装置が作成した前記仮想マシンを示す情報と、前記送信部による前記制御信号の送信に関するトランザクションの識別子と、を対応付けた対応情報を前記情報処理装置が生成した後に、前記トランザクションの識別子と、前記情報処理装置によって生成された前記対応情報と、に基づいて、前記制御信号に応じた前記情報処理装置における仮想マシンの作成状態を判定する判定部と、
を備えることを特徴とする制御装置。
【請求項２】
前記判定部は、前記情報処理装置によって生成された前記対応情報を前記情報処理装置から受信し、前記トランザクションの識別子と、受信した前記対応情報と、に基づいて前記作成状態を判定することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記判定部は、前記トランザクションの識別子を前記情報処理装置へ送信することにより、前記対応情報において前記トランザクションの識別子と対応付けられた前記仮想マシンを示す情報を前記情報処理装置から受信し、受信した前記情報に基づいて前記作成状態を判定することを特徴とする請求項２に記載の制御装置。
【請求項４】
仮想マシンの作成の制御を要求する第１制御信号を他の制御装置から受信する受信部と、
前記受信部によって受信された前記第１制御信号に基づいて、情報処理装置による仮想マシンの作成を要求する第２制御信号であって前記他の制御装置による前記第１制御信号の送信に関するトランザクションの識別子を格納した第２制御信号を前記情報処理装置へ送信する送信部と、
を備えることを特徴とする制御装置。
【請求項５】
第１制御装置が、情報処理装置による仮想マシンの作成の制御を要求する第１制御信号を第２制御装置へ送信し、
前記第２制御装置が、前記第１制御装置によって送信された前記第１制御信号に基づいて、前記情報処理装置による仮想マシンの作成を要求する第２制御信号であって前記第１制御装置による前記第１制御信号の送信に関するトランザクションの識別子を格納した第２制御信号を前記情報処理装置へ送信し、
前記情報処理装置が、前記第２制御装置によって送信された前記第２制御信号に基づいて仮想マシンを作成し、作成した前記仮想マシンを示す情報と、前記トランザクションの識別子と、を対応付けた対応情報を生成した後に、前記第１制御装置が、前記トランザクションの識別子と、前記情報処理装置によって生成された前記対応情報と、に基づいて、前記第１制御信号に応じた前記情報処理装置における仮想マシンの作成状態を判定する、
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置および制御方法に関する。
【背景技術】
【０００２】
近年、たとえばＥＴＳＩにおいて、従来は専用アプライアンスで提供されていたネットワーク機能を仮想化基盤上のソフトウェア（仮想マシン）で実現するＮＦＶが検討されている。ＥＴＳＩはＥｕｒｏｐｅａｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｔａｎｄａｒｄｓ  Ｉｎｓｔｉｔｕｔｅ（欧州電気通信標準化機構）の略である。ＮＦＶはＮｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎの略である。
【０００３】
たとえば、移動体通信網の管理を、ＶＮＦＭ、ＶＩＭおよびＮＦＶＯの３つの機能エンティティで行う構成が知られている（たとえば、下記特許文献１参照。）。ＶＮＦＭはＶＮＦ  ｍａｎａｇｅｒの略である。ＶＮＦは（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ）の略である。ＶＩＭはＶｉｒｔｕａｌｉｚｅｄ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  Ｍａｎａｇｅｒの略である。ＮＦＶＯはＮＦＶ  Ｏｒｃｈｅｓｔｒａｔｏｒ（ＮＦＶオーケストレータ）の略である。
【０００４】
また、ネットワーク端末装置間の状態整合について、被管理側の端末装置で発生した状態変化の通知メッセージが通信途中で消失したことを検出する技術が知られている（たとえば、下記特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１５／０９９０３６号
【特許文献２】特開平１１−２７３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、たとえば、ＶＮＦＭの制御による仮想マシンの作成結果を示す制御信号をＮＦＶＯがＶＮＦＭから受信できなかった場合に、仮想マシンのリソースの実際の使用状況をＮＦＶＯが判定することができなくなる。このため、ＮＦＶＯが仮想マシンのリソース管理を安定して行うことができないという問題がある。
【０００７】
１つの発明では、本発明は、仮想マシンのリソース管理を安定して行うことができる制御装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、１つの実施態様では、第１制御装置が、情報処理装置による仮想マシンの作成の制御を要求する第１制御信号を第２制御装置へ送信し、前記第２制御装置が、前記第１制御装置によって送信された前記第１制御信号に基づいて、前記情報処理装置による仮想マシンの作成を要求する第２制御信号であって前記第１制御装置による前記第１制御信号の送信に関するトランザクションの識別子を格納した第２制御信号を前記情報処理装置へ送信し、前記情報処理装置が、前記第２制御装置によって送信された前記第２制御信号に基づいて仮想マシンを作成し、作成した前記仮想マシンを示す情報と、前記トランザクションの識別子と、を対応付けた対応情報を生成した後に、前記第１制御装置が、前記トランザクションの識別子と、前記情報処理装置によって生成された前記対応情報と、に基づいて、前記第１制御信号に応じた前記情報処理装置における仮想マシンの作成状態を判定する制御装置および制御方法が提案される。
【発明の効果】
【０００９】
本発明の一側面によれば、仮想マシンのリソース管理を安定して行うことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかる情報処理システムの一例を示す図である。
【図２】図２は、実施の形態にかかる仮想化システムの一例を示す図である。
【図３】図３は、実施の形態にかかるＮＦＶＯの一例を示す図である。
【図４】図４は、実施の形態にかかるＮＦＶＯの仮想リソース管理テーブルの一例を示す図である。
【図５】図５は、実施の形態にかかるＮＦＶＯの全体リソース管理テーブルの一例を示す図である。
【図６】図６は、実施の形態にかかるＮＦＶＯのトランザクション管理テーブルの一例を示す図である。
【図７】図７は、実施の形態にかかるＶＮＦＭの一例を示す図である。
【図８】図８は、実施の形態にかかるＶＮＦＭのｖｎｆｃＩｎｓｔａｎｃｅ管理テーブルの一例を示す図である。
【図９】図９は、実施の形態にかかるＶＩＭの一例を示す図である。
【図１０】図１０は、実施の形態にかかるＶＩＭのＶＭ管理テーブルの一例を示す図である。
【図１１】図１１は、実施の形態にかかる仮想化システムにおける通信障害発生時の処理の一例を示すシーケンス図である。
【図１２】図１２は、実施の形態にかかるＮＦＶＯのトランザクション管理テーブルの状態の一例を示す図である。
【図１３】図１３は、実施の形態にかかるＮＦＶＯの仮想リソース管理テーブルの更新前の状態の一例を示す図である。
【図１４】図１４は、実施の形態にかかるＮＦＶＯの全体リソース管理テーブルの更新前の状態の一例を示す図である。
【図１５】図１５は、実施の形態にかかるＶＮＦＭのｖｎｆｃＩｎｓｔａｎｃｅ管理テーブルの状態の一例を示す図である。
【図１６】図１６は、実施の形態にかかるＶＩＭのＶＭ管理テーブルの状態の一例を示す図である。
【図１７】図１７は、実施の形態にかかるＮＦＶＯの仮想リソース管理テーブルの更新後の状態の一例を示す図である。
【図１８】図１８は、実施の形態にかかるＮＦＶＯの全体リソース管理テーブルの更新後の状態の一例を示す図である。
【図１９】図１９は、実施の形態にかかるＮＦＶＯによる処理の一例を示すフローチャートである。
【図２０】図２０は、実施の形態にかかるＶＮＦＭによる処理の一例を示すフローチャートである。
【図２１】図２１は、実施の形態にかかるＶＩＭによる処理の一例を示すフローチャートである。
【図２２】図２２は、実施の形態にかかる仮想化システムにおけるＮＦＶＯとＶＮＦＭとの間で通信障害が発生しなかった場合の処理の一例を示すシーケンス図である。
【図２３】図２３は、実施の形態にかかる仮想化システムにおける通信障害発生時の処理の他の一例を示すシーケンス図である。
【図２４】図２４は、実施の形態にかかるＮＦＶＯ、ＶＮＦＭおよびＶＩＭのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明にかかる制御装置および制御方法の実施の形態を詳細に説明する。
【００１２】
（実施の形態）
（実施の形態にかかる情報処理システム）
図１は、実施の形態にかかる情報処理システムの一例を示す図である。図１に示すように、実施の形態にかかる情報処理システム１００は、第１制御装置１１０と、第２制御装置１２０と、情報処理装置１３０と、を含む。
【００１３】
情報処理装置１３０は、たとえば仮想マシンの作成や削除を行う。一例としては、情報処理装置１３０は、ＮＦＶにおけるＶＩＭである。第２制御装置１２０は、たとえば情報処理装置１３０による仮想マシンの作成や削除の制御を行う。一例としては、第２制御装置１２０は、ＮＦＶにおけるＶＮＦＭである。
【００１４】
第１制御装置１１０は、たとえば、第２制御装置１２０に対して、情報処理装置１３０による仮想マシンの作成や削除の制御を要求する。また、第１制御装置１１０は、情報処理装置１３０における仮想マシンのリソース管理を行う。たとえば、第１制御装置１１０は、仮想マシンの作成に使用可能な情報処理装置１３０の物理リソースの空きを監視し、監視結果に基づいて、第２制御装置１２０に対して仮想マシンの作成の制御を指示する。一例としては、第１制御装置１１０は、ＮＦＶにおけるＮＦＶＯである。
【００１５】
第１制御装置１１０は、送信部１１１および判定部１１２を備える。送信部１１１は、第１制御信号を第２制御装置１２０へ送信する。第１制御信号は、情報処理装置１３０による仮想マシンの作成の制御を第２制御装置１２０に要求する制御信号である。また、送信部１１１は、第２制御装置１２０への第１制御信号の送信に関するトランザクションの識別子（トランザクションＩＤ）を判定部１１２へ通知する。判定部１１２の処理については後述する。
【００１６】
第１制御信号の送信に関するトランザクションは、たとえば第１制御信号の送信を含む一連の処理である。たとえば、第１制御信号の送信に関するトランザクションは、第１制御信号の送信から、情報処理装置１３０による仮想マシンの作成結果の第１制御装置１１０への通知までの一連の処理である。または、第１制御信号の送信に関するトランザクションは、第１制御信号の送信によって開始される一連の処理であってもよい。
【００１７】
第２制御装置１２０は、受信部１２１および送信部１２２を備える。受信部１２１は、第１制御装置１１０から送信された第１制御信号を受信する。そして、受信部１２１は、受信した第１制御信号を送信部１２２へ出力する。送信部１２２は、受信部１２１から出力された第１制御信号に基づいて第２制御信号を生成する。第２制御信号は、情報処理装置１３０に対して仮想マシンの作成を要求する制御信号である。
【００１８】
また、送信部１２２は、生成する第２制御信号に、第１制御装置１１０による第１制御信号の送信に関するトランザクションの識別子（トランザクションＩＤ）を格納する。たとえば、第１制御装置１１０の送信部１１１は、第１制御信号の送信を含むトランザクションのトランザクションＩＤを生成して第１制御信号に格納する。この場合は、送信部１２２は、第１制御信号に格納されたトランザクションＩＤを第２制御信号に格納する。または、送信部１２２は、第１制御装置１１０による第１制御信号の送信によって開始されるトランザクションのトランザクションＩＤを生成し、生成したトランザクションＩＤを第２制御信号に格納してもよい。そして、送信部１２２は、生成した第２制御信号を情報処理装置１３０へ送信する。
【００１９】
また、送信部１２２は、送信した第２制御信号に応じて情報処理装置１３０が仮想マシンを作成した場合に、第１制御装置１１０からの第１制御信号に基づく仮想マシンが作成されたことを示す第３制御信号を第１制御装置１１０へ送信してもよい。
【００２０】
情報処理装置１３０は、第２制御装置１２０から送信された第２制御信号に基づいて仮想マシンの作成を行う。また、情報処理装置１３０は、第２制御装置１２０から送信された第２制御信号に格納されたトランザクションＩＤと、その第２制御信号に基づいて情報処理装置１３０が作成した仮想マシンを示す情報と、を対応付けた対応情報を生成する。
【００２１】
第１制御装置１１０の判定部１１２による処理について説明する。判定部１１２は、送信部１１１から通知されたトランザクションＩＤと、情報処理装置１３０によって生成された対応情報と、に基づいて、情報処理装置１３０における仮想マシンの作成状態を判定する。情報処理装置１３０における仮想マシンの作成状態は、送信部１１１が送信した第１制御信号に基づく第２制御装置１２０の制御による仮想マシンの作成状態である。仮想マシンの作成状態は、たとえば仮想マシンが作成済みであるか否かである。
【００２２】
たとえば、判定部１１２は、情報処理装置１３０によって生成された対応情報を情報処理装置１３０から受信する。そして、判定部１１２は、送信部１１１から通知されたトランザクションＩＤと、受信した対応情報と、に基づいて、送信部１１１が送信した第１制御情報に基づく情報処理装置１３０における仮想マシンの作成状態を判定する。
【００２３】
または、判定部１１２は、送信部１１１から通知されたトランザクションＩＤを情報処理装置１３０へ送信する。これにより、判定部１１２は、情報処理装置１３０が作成した仮想マシンを示す情報のうち、情報処理装置１３０が生成した対応情報においてそのトランザクションＩＤと対応付けられた情報を情報処理装置１３０から受信する。そして、判定部１１２は、受信した情報に基づいて、送信部１１１が送信した第１制御情報に基づく情報処理装置１３０における仮想マシンの作成状態を判定する。
【００２４】
これにより、たとえば仮想マシンの作成結果を示す第３制御信号を第１制御装置１１０が第２制御装置１２０から正常に受信できなくても、第１制御装置１１０は送信した第１制御情報に基づく仮想マシンの作成状態を判定することができる。このため、第１制御装置１１０による仮想マシンのリソース管理を安定して行うことができる。
【００２５】
たとえば、第１制御装置１１０が、情報処理装置１３０における物理リソースが足りないにも関わらず情報処理装置１３０における仮想マシンの作成の制御を第２制御装置１２０に要求することを回避することができる。また、第１制御装置１１０が、情報処理装置１３０における物理リソースが足りているにも関わらず情報処理装置１３０における仮想マシンの作成の要求を拒否することを回避することができる。
【００２６】
（実施の形態にかかる仮想化システム）
図２は、実施の形態にかかる仮想化システムの一例を示す図である。図２に示すように、実施の形態にかかる仮想化システム２００は、たとえば、ＮＦＶＯ２１０と、ＶＮＦＭ２２１，２２２（＃１，＃２）と、ＶＩＭ２３１（＃１）と、ＶＮＦ２４１，２４２（＃１，＃２）と、ＮＦＶＩ２５０と、を含む。ＮＦＶＩはＮｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎｓ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅの略である。仮想化システム２００は、たとえばＥＴＳＩ  ＮＦＶにて規定されるアーキテクチャに基づいて構築される仮想化システムである。
【００２７】
図１に示した情報処理システム１００は、たとえば仮想化システム２００により実現することができる。図１に示した第１制御装置１１０は、たとえばＮＦＶＯ２１０により実現することができる。図１に示した第２制御装置１２０は、たとえばＶＮＦＭ２２１およびＶＮＦＭ２２２の少なくともいずれかにより実現することができる。図１に示した情報処理装置１３０は、たとえばＶＩＭ２３１により実現することができる。
【００２８】
図２に示すように、ＮＦＶＯ２１０およびＶＮＦＭ２２１，２２２は、たとえば１：Ｎの関係（図２に示す例では１：２の関係）になる。また、ＶＮＦＭ２２１，２２２およびＶＩＭ２３１は、たとえばＮ：１またはＮ：Ｎの関係（図２に示す例では２：１の関係）になる。たとえば、図２に示すＶＩＭ２３１（ＶＩＭ＃１）に加えて別のＶＩＭ（ＶＩＭ＃２）を設け、ＶＮＦＭ２２１，２２２およびＶＩＭ＃１，ＶＩＭ＃２で２：２の関係になるようにしてもよい。
【００２９】
ＶＮＦ２４１，２４２のそれぞれは、仮想的なネットワーク機能である。ネットワーク機能は、たとえばＬＴＥの例ではＭＭＥ（Ｍｏｂｉｌｉｔｙ  Ｍａｎａｇｅｍｅｎｔ  Ｅｎｔｉｔｙ：移動性管理エンティティ）やＳ−ＧＷ（Ｓｅｒｖｉｎｇ−Ｇａｔｅｗａｙ）などの機能である。ＬＴＥはＬｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎの略である。
【００３０】
ＮＦＶＩ２５０は、ＶＮＦ２４１，２４２を実現するための物理リソースである。物理リソースには、たとえば、ＣＰＵなどプロセッサ、メモリ、ＮＩＣなどが含まれる。ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（中央処理装置）の略である。ＮＩＣはＮｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ（ネットワークインタフェースカード）の略である。
【００３１】
ＮＦＶＯ２１０は、仮想化システム２００の全体のリソース管理を行う。ＶＮＦＭ２２１，２２２は、それぞれＶＮＦ２４１，２４２のライフサイクル管理を行う。ＶＩＭ２３１は、ＮＦＶＩ２５０に含まれる物理リソースの制御および管理を行う。ＶＩＭ２３１は、たとえばＯｐｅｎＳｔａｃｋなどを用いて実現することができる。ただし、ＶＩＭ２３１は、ＯｐｅｎＳｔａｃｋに限らず、各種の実装方法により実現することができる。
【００３２】
（実施の形態にかかるＮＦＶＯ）
図３は、実施の形態にかかるＮＦＶＯの一例を示す図である。図３に示すように、実施の形態にかかるＮＦＶＯ２１０は、たとえば、通信インタフェース３１０と、メッセージ受信部３２０と、トランザクション・シナリオ制御部３３０と、を備える。また、ＮＦＶＯ２１０は、仮想リソース・キャパシティ管理部３４０と、タイマ制御部３５０と、メモリ３６０と、メッセージ送信部３７０と、データベース３８０と、を備える。
【００３３】
通信インタフェース３１０は、ＮＦＶＯ２１０の外部装置との間でＨＴＴＰやＨＴＴＰＳなどの信号を送受信するためのインタフェースである。ＨＴＴＰはＨｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ハイパーテキスト転送プロトコル）の略である。ＨＴＴＰＳはＨｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｅの略である。ＮＦＶＯ２１０の外部装置は、たとえばＶＮＦＭ２２１，２２２やＶＩＭ２３１である。
【００３４】
メッセージ受信部３２０は、通信インタフェース３１０を介してＨＴＴＰやＨＴＴＰＳの信号を受信する。また、メッセージ受信部３２０は、受信した信号に対して、妥当性のチェックや、ＮＦＶＯ２１０の内部で処理しやすいフォーマットに変換するためのデコード処理などを行う。
【００３５】
トランザクション・シナリオ制御部３３０は、保守者から要求されたライフサイクルオペレーションの種別に応じて、メッセージ受信部３２０およびメッセージ送信部３７０を介してＶＮＦＭ２２１，２２２との間でメッセージを送受信する。保守者は、たとえばＮＦＶＯ２１０のユーザである。
【００３６】
また、トランザクション・シナリオ制御部３３０は、データベース３８０のトランザクション管理テーブル３８３を用いて、ＶＮＦＭ２２１，２２２との間の通信で送受信するメッセージのトランザクションのＩＤ（トランザクションＩＤ）を管理する。また、トランザクション・シナリオ制御部３３０は、データベース３８０のトランザクション管理テーブル３８３を用いて、ＶＮＦＭ２２１，２２２との間の通信で送受信するメッセージのトランザクションの状態（たとえば実行中か否かの状態）の管理を行う。
【００３７】
また、トランザクション・シナリオ制御部３３０は、メッセージ受信部３２０を介してＶＮＦＭ２２１，２２２またはＶＩＭ２３１から受信した仮想リソース情報を仮想リソース・キャパシティ管理部３４０へ出力する。これにより、仮想リソース・キャパシティ管理部３４０に対してデータベース３８０の仮想リソース管理テーブル３８１や全体リソース管理テーブル３８２の更新を促すことができる。
【００３８】
仮想リソース・キャパシティ管理部３４０は、全体リソース管理テーブル３８２を用いて、ＶＩＭ２３１が保持する物理リソースの使用状況を管理し、ＶＮＦＭ２２１，２２２から要求された仮想リソースの作成要否の判断や、残リソースの計算処理などを行う。また、仮想リソース・キャパシティ管理部３４０は、トランザクション・シナリオ制御部３３０から出力された仮想リソース情報などのメッセージに基づいて、仮想リソース管理テーブル３８１に保持する情報の管理を行う。
【００３９】
タイマ制御部３５０は、トランザクション毎にメッセージ送受信時のタイマ制御を行う。タイマ制御は、たとえばＶＮＦＭ２２１，２２２からのメッセージの待ち受け時間の管理などである。たとえば、タイマ制御部３５０は、起動したトランザクションタイマ３６１の管理をメモリ３６０において行う。メッセージ送信部３７０は、送信メッセージの構築を行い、通信インタフェース３１０を介してＨＴＴＰやＨＴＴＰＳの信号を送信する。
【００４０】
データベース３８０は、仮想リソース管理テーブル３８１（たとえば図４参照）と、全体リソース管理テーブル３８２（たとえば図５参照）と、トランザクション管理テーブル３８３（たとえば図６参照）と、を含む。トランザクション管理テーブル３８３は、たとえばトランザクション・シナリオ制御部３３０によって管理される。仮想リソース管理テーブル３８１および全体リソース管理テーブル３８２は、たとえば仮想リソース・キャパシティ管理部３４０によって管理される。
【００４１】
図１に示した送信部１１１は、たとえば通信インタフェース３１０、トランザクション・シナリオ制御部３３０、仮想リソース・キャパシティ管理部３４０およびメッセージ送信部３７０により実現することができる。図１に示した判定部１１２は、たとえば通信インタフェース３１０、メッセージ受信部３２０、トランザクション・シナリオ制御部３３０、仮想リソース・キャパシティ管理部３４０およびメッセージ送信部３７０により実現することができる。
【００４２】
（実施の形態にかかるＮＦＶＯの仮想リソース管理テーブル）
図４は、実施の形態にかかるＮＦＶＯの仮想リソース管理テーブルの一例を示す図である。図３に示したＮＦＶＯ２１０のデータベース３８０には、たとえば図４に示す仮想リソース管理テーブル３８１が含まれる。図４に示すように、仮想リソース管理テーブル３８１においては、ＮＦＶＯ２１０に接続しているＶＮＦＭ（たとえばＶＮＦＭ２２１，２２２）のそれぞれを対象ＶＮＦＭとして、ｖｎｆｃＩｎｓｔａｎｃｅおよびＵＵＩＤが対応付けられている。ＵＵＩＤはＵｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒの略である。
【００４３】
ｖｎｆｃＩｎｓｔａｎｃｅおよびＵＵＩＤのそれぞれは、対象ＶＮＦＭがＶＩＭ（たとえばＶＩＭ２３１）に生成させた仮想リソースを示す識別子である。ｖｎｆｃＩｎｓｔａｎｃｅは、対象ＶＮＦＭが生成した識別子である。ＵＵＩＤは、ＶＩＭが生成した識別子である。
【００４４】
（実施の形態にかかるＮＦＶＯの全体リソース管理テーブル）
図５は、実施の形態にかかるＮＦＶＯの全体リソース管理テーブルの一例を示す図である。図３に示したＮＦＶＯ２１０のデータベース３８０には、たとえば図５に示す全体リソース管理テーブル３８２が含まれる。図５に示すように、全体リソース管理テーブル３８２においては、ＮＦＶＯ２１０に接続しているＶＩＭ（たとえばＶＩＭ２３１）のそれぞれを対象ＶＩＭとして、作成可能ＶＭ数、作成済みＶＭ数および残作成可能ＶＭ数が対応付けられている。ＶＭはＶｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（仮想マシン）の略である。
【００４５】
作成可能ＶＭ数は、対象ＶＩＭが作成可能な最大の仮想マシン（仮想リソース）の数（全体リソース数）である。作成済みＶＭ数は、対象ＶＩＭが現時点で作成済みで削除していない仮想マシンの数（使用リソース数）である。残作成可能ＶＭ数は、対象ＶＩＭが現時点で作成可能な仮想マシンの数（残リソース数）である。残作成可能ＶＭ数は、作成可能ＶＭ数−作成済みＶＭ数により計算される。
【００４６】
なお、仮想リソースの量を仮想マシンの数により表して管理する構成について説明したが、このような構成に限らない。たとえば、仮想リソースの量を、仮想マシンに割り当てられる各種の物理リソースの数や量に表して管理する構成としてもよい。各種の物理リソースは、たとえば、ＣＰＵの数、メモリの容量、使用帯域、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ：ネットワークインタフェースカード）の数などである。
【００４７】
（実施の形態にかかるＮＦＶＯのトランザクション管理テーブル）
図６は、実施の形態にかかるＮＦＶＯのトランザクション管理テーブルの一例を示す図である。図３に示したＮＦＶＯ２１０のデータベース３８０には、たとえば図６に示すトランザクション管理テーブル３８３が含まれる。図６に示すように、トランザクション管理テーブル３８３においては、ＮＦＶＯ２１０が管理するライフサイクルオペレーションのトランザクション毎に、トランザクションＩＤと、トランザクション状態と、対象ＶＮＦＭと、が対応付けられている。
【００４８】
トランザクションＩＤは、対象のトランザクションの識別子であって、たとえばＮＦＶＯ２１０が生成した識別子である。トランザクション状態は、対象のトランザクションの状態である。たとえば、トランザクション状態は、たとえば“実行中”などを示す。対象ＶＮＦＭは、ＮＦＶＯ２１０に接続したＶＮＦＭ（たとえばＶＮＦＭ２２１，２２２）のうち対象のトランザクションに対応するＶＮＦＭを示す識別子である。トランザクション管理テーブル３８３により、ＮＦＶＯ２１０に接続しているＶＮＦＭ毎に、そのＶＮＦＭにおいて発生しているトランザクションを特定することが可能になる。
【００４９】
（実施の形態にかかるＶＮＦＭ）
図７は、実施の形態にかかるＶＮＦＭの一例を示す図である。図７においてはＶＮＦＭ２２１（＃１）の構成について説明するが、ＶＮＦＭ２２２（＃２）の構成についてもＶＮＦＭ２２１（＃１）の構成と同様である。図７に示すように、実施の形態にかかるＶＮＦＭ２２１は、たとえば、通信インタフェース７１０と、メッセージ受信部７２０と、仮想リソース制御部７３０と、を備える。また、ＶＮＦＭ２２１は、トランザクション・シナリオ管理部７４０と、メッセージ送信部７５０と、データベース７６０と、を備える。
【００５０】
通信インタフェース７１０は、ＶＮＦＭ２２１の外部装置との間でＨＴＴＰやＨＴＴＰＳの信号を送受信するためのインタフェースである。ＶＮＦＭ２２１の外部装置は、たとえばＮＦＶＯ２１０やＶＩＭ２３１である。
【００５１】
メッセージ受信部７２０は、通信インタフェース７１０を介してＨＴＴＰやＨＴＴＰＳの信号を受信する。また、メッセージ受信部７２０は、受信した信号に対して、妥当性のチェックや、ＶＮＦＭ２２１の内部で処理しやすいフォーマットに変換するためのデコード処理などを行う。
【００５２】
仮想リソース制御部７３０は、データベース７６０のｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１を用いて、ＶＮＦＭ２２１が管理するＶＮＦ（たとえばＶＮＦ２４１）を構成する仮想リソース（仮想マシン）に関連付けられた情報の管理を行う。また、仮想リソース制御部７３０は、作成する仮想リソースを示す論理的な識別子であるｖｎｆｃＩｎｓｔａｎｃｅを生成する。
【００５３】
トランザクション・シナリオ管理部７４０は、ＮＦＶＯ２１０から受信したメッセージに付与されたトランザクションＩＤの抽出を行う。そして、トランザクション・シナリオ管理部７４０は、抽出したトランザクションＩＤとＶＮＦＭ２２１が作成予定の仮想リソースに対して払い出したｖｎｆｃＩｎｓｔａｎｃｅとに基づくメタデータ（ｍｅｔａｄａｔａ）の生成を行う。また、トランザクション・シナリオ管理部７４０は、ＶＩＭ（たとえばＶＩＭ２３１）から受信した仮想リソース情報を仮想リソース制御部７３０に受け渡すことにより、ｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１の更新を促す。
【００５４】
また、トランザクション・シナリオ管理部７４０は、たとえばＮＦＶＯ２１０から要求されたライフサイクルオペレーションの種別に応じて、メッセージ受信部７２０およびメッセージ送信部７５０を介してＶＩＭ２３１との間でメッセージを送受信する。メッセージ送信部７５０は、送信メッセージの構築を行い、通信インタフェースを介してＨＴＴＰやＨＴＴＰＳの信号を送信する。
【００５５】
データベース７６０は、ｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１（たとえば図８参照）を含む。ｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１は、たとえば仮想リソース制御部７３０によって管理される。
【００５６】
図１に示した受信部１２１は、たとえば通信インタフェース７１０およびメッセージ受信部７２０により実現することができる。図１に示した送信部１２２は、たとえば通信インタフェース７１０、仮想リソース制御部７３０、トランザクション・シナリオ管理部７４０およびメッセージ送信部７５０により実現することができる。
【００５７】
（実施の形態にかかるＶＮＦＭのｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル）
図８は、実施の形態にかかるＶＮＦＭのｖｎｆｃＩｎｓｔａｎｃｅ管理テーブルの一例を示す図である。図７に示したＶＮＦＭ２２１のデータベース７６０には、たとえば図８に示すｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１が含まれる。図８に示すように、ｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１においては、ＶＮＦＭ２２１がＶＩＭ２３１に作成させた仮想リソース毎に、ｖｎｆｃＩｎｓｔａｎｃｅ、ＵＵＩＤ、状態およびメタデータが対応付けられている。
【００５８】
ｖｎｆｃＩｎｓｔａｎｃｅは、対象の仮想リソースについてＶＮＦＭ２２１が生成した識別子である。ＵＵＩＤは、対象の仮想リソースについてＶＩＭ（たとえばＶＩＭ２３１）が生成した識別子（ＶＩＭ管理ＩＤ）である。状態は、対象の仮想リソースの状態である。たとえば、状態には、たとえば、対象の仮想リソースをＶＩＭが作成済みであることを示す“作成済”などがある。
【００５９】
メタデータは、対象の仮想リソースを作成するライフサイクルオペレーションのトランザクションＩＤと、対象の仮想リソースについてＶＮＦＭ２２１が生成したｖｎｆｃＩｎｓｔａｎｃｅと、を含むデータである。たとえば、メタデータは、トランザクションＩＤとトランザクションＩＤとを結合したデータである。一例としては、メタデータは、トランザクションＩＤである“ａｂｃｄ”と、ｖｎｆｃＩｎｓｔａｎｃｅである“ＶＭ＃１”と、を“＿”により結合した“ＶＭ＃１＿ａｂｃｄ”である。
【００６０】
（実施の形態にかかるＶＩＭ）
図９は、実施の形態にかかるＶＩＭの一例を示す図である。図９においてはＶＩＭ２３１（ＶＩＭ＃１）の構成について説明するが、ＶＩＭ＃２の構成についてもＶＩＭ２３１（＃１）の構成と同様である。図９に示すように、実施の形態にかかるＶＩＭ２３１は、たとえば、通信インタフェース９１０と、メッセージ受信部９２０と、仮想リソース制御部９３０と、メッセージ送信部９４０と、データベース９５０と、を備える。
【００６１】
通信インタフェース９１０は、ＶＩＭ２３１の外部装置との間でＨＴＴＰやＨＴＴＰＳの信号を送受信するためのインタフェースである。ＶＩＭ２３１の外部装置は、たとえばＮＦＶＯ２１０やＶＮＦＭ２２１，２２２である。
【００６２】
メッセージ受信部９２０は、通信インタフェース９１０を介してＨＴＴＰやＨＴＴＰＳの信号を受信する。また、メッセージ受信部９２０は、受信した信号に対して、妥当性のチェックや、ＶＩＭ２３１の内部で処理しやすいフォーマットに変換するためのデコード処理などを行う。
【００６３】
仮想リソース制御部９３０は、ＶＮＦＭ（たとえばＶＮＦＭ２２１，２２２）から要求された仮想リソースに対する操作に応じた処理（仮想リソースの作成や削除など）や仮想リソースの管理を行う。たとえば、仮想リソース制御部９３０は、データベース９５０のＶＭ管理テーブル９５１を用いて仮想リソースの管理を行う。
【００６４】
メッセージ送信部９４０は、送信メッセージの構築を行い、通信インタフェース９１０を介してＨＴＴＰやＨＴＴＰＳの信号を送信する。データベース９５０は、ＶＭ管理テーブル９５１（たとえば図１０参照）を含む。ＶＭ管理テーブル９５１は、たとえば仮想リソース制御部９３０によって管理される。
【００６５】
（実施の形態にかかるＶＩＭのＶＭ管理テーブル）
図１０は、実施の形態にかかるＶＩＭのＶＭ管理テーブルの一例を示す図である。図７に示したＶＩＭ２３１のデータベース９５０には、たとえば図１０に示すＶＭ管理テーブル９５１が含まれる。図１０に示すように、ＶＭ管理テーブルにおいては、ＶＩＭ２３１が作成した仮想リソース（仮想マシン）毎に、ＵＵＩＤ、状態およびメタデータが対応付けられている。
【００６６】
ＶＭ管理テーブル９５１のＵＵＩＤは、対象の仮想リソースについてＶＩＭ２３１が生成した識別子（管理ＩＤ）である。ＶＭ管理テーブル９５１の状態は、対象の仮想リソースの状態である。たとえば、状態には、たとえば、対象の仮想リソースをＶＩＭ２３１が作成済みであることを示す“作成済”などがある。ＶＭ管理テーブル９５１のメタデータは、対象の仮想リソースについてＶＮＦＭ（たとえばＶＮＦＭ２２１，２２２）から通知されたメタデータである。
【００６７】
（実施の形態にかかる仮想化システムにおける処理）
図１１は、実施の形態にかかる仮想化システムにおける通信障害発生時の処理の一例を示すシーケンス図である。仮想化システム２００においては、たとえば図１１に示す各ステップが実行される。図１１においては、ＮＦＶＯ２１０がＶＮＦＭ２２１へ仮想リソースの作成（インスタンシエーションやスケールアウト）を要求し、ＶＮＦＭ２２１からのライフサイクル変化通知をＮＦＶＯ２１０が受信できない通信障害が発生した場合について説明する。
【００６８】
まず、ＮＦＶＯ２１０が、ＶＮＦＭ２２１（＃１）へ、ライフサイクルオペレーション要求メッセージとして、ＶＮＦ２４１の仮想リソースの作成を要求するＶＮＦ作成要求メッセージ（Ｉｎｓｔａｎｔｉａｔｅ）を送信する（ステップＳ１１０１）。また、ＮＦＶＯ２１０は、ステップＳ１１０１により送信するＶＮＦ作成要求メッセージに、トランザクション・シナリオ制御部３３０で生成したトランザクションＩＤ（図１１に示す例ではｔｒａｎｓａｃｔｉｏｎＩＤ：ａｂｃｄ）を付与する。また、ＮＦＶＯ２１０は、トランザクション管理テーブル３８３および仮想リソース管理テーブル３８１を更新する（たとえば図１２，図１３参照）。
【００６９】
つぎに、ＶＮＦＭ２２１が、ＮＦＶＯ２１０へ、ステップＳ１１０１により送信されたＶＮＦ作成要求メッセージに対するＡＣＫ（２０１  ｃｒｅａｔｅｄ）を送信する（ステップＳ１１０２）。
【００７０】
つぎに、ＶＮＦＭ２２１が、ＮＦＶＯ２１０へ、ライフサイクルオペレーション操作要求メッセージとして、仮想リソース作成の許可を要求する仮想リソース作成許可要求メッセージ（ＧｒａｎｔＲｅｑｕｅｓｔ）を送信する（ステップＳ１１０３）。また、ＶＮＦＭ２２１は、許可された場合に作成する仮想リソース（仮想マシン）の数などを示すｖｎｆｃＩｎｓｔａｎｃｅ情報を仮想リソース制御部９３０にて払い出し、ステップＳ１１０３により送信する仮想リソース作成許可要求メッセージに格納する。図１１に示す例では、ＶＮＦＭ２２１はｖｎｆｃＩｎｓｔａｎｃｅ情報として“ｖｎｆｃＩｎｓｔａｎｃｅ：ＶＭ＃１，ＶＭ＃２”を格納する。これは、２個の仮想リソース（ＶＭ＃１，ＶＭ＃２）を作成することを示すｖｎｆｃＩｎｓｔａｎｃｅ情報である。
【００７１】
これに対し、ＮＦＶＯ２１０は、仮想リソース・キャパシティ管理部３４０にて、全体リソース管理テーブル３８２を参照する。そして、ＮＦＶＯ２１０は、ＶＮＦＭ２２１からのｖｎｆｃＩｎｓｔａｎｃｅ情報が示す仮想リソースの数が２個であるため、作成可能な仮想リソースの数が２個以上であるか否かを全体リソース管理テーブル３８２から判断する。図１１に示す例では、たとえば作成可能な仮想リソースの数が３であり、作成の許可を要求された数の仮想リソースの作成に要する物理リソースが存在するとする。
【００７２】
つぎに、ＮＦＶＯ２１０が、ＶＮＦＭ２２１へ、ライフサイクルオペレーション操作許可メッセージとして、仮想リソース作成を許可する仮想リソース作成許可メッセージ（ＧｒａｎｔＲｅｓｐｏｎｓｅ）を送信する（ステップＳ１１０４）。たとえば、仮想リソース作成許可メッセージには、２個の仮想リソース（ＶＭ＃１，ＶＭ＃２）の作成の許可を示す“Ｒｅｓｕｌｔ：ＯＫ”が格納される。
【００７３】
また、ＮＦＶＯ２１０が、ＶＮＦＭ２２１への仮想リソース作成許可メッセージの送信を契機として、ステップＳ１１０１によるＶＮＦ作成要求メッセージの送信を含むトランザクションに対応付けたタイマを起動する（ステップＳ１１０５）。ステップＳ１１０５によって起動されたタイマをトランザクションタイマ１１０１とする。トランザクションタイマ１１０１は、起動されてから所定時間を計時して満了する。ステップＳ１１０５は、たとえばトランザクション・シナリオ管理部７４０とタイマ制御部３５０が連携することにより実行される。
【００７４】
つぎに、ＶＮＦＭ２２１が、仮想リソース（ＶＭ＃１，ＶＭ＃２）の作成を要求する仮想リソース作成要求メッセージ（Ｃｒｅａｔｉｏｎ  ｏｆ  ＶＭ＃１，ＶＭ＃２）をＶＩＭ２３１へ送信する（ステップＳ１１０６）。また、ＶＮＦＭ２２１は、ＮＦＶＯ２１０から受信したトランザクションＩＤと、作成を要求する仮想リソースについてＶＮＦＭ２２１が生成したｖｎｆｃＩｎｓｔａｎｃｅと、を組み合わせたメタデータをトランザクション・シナリオ管理部７４０で生成する。そして、ＶＮＦＭ２２１は、生成したメタデータを、ステップＳ１１０６により送信する仮想リソース作成要求メッセージに格納する。
【００７５】
図１１に示す例では、トランザクションＩＤは“ａｂｃｄ”であり、ｖｎｆｃＩｎｓｔａｎｃｅは“ＶＭ＃１”および“ＶＭ＃２”である。このため、ＶＮＦＭ２２１は、メタデータとしてたとえば“ｍｅｔａｄａｔａ：ＶＭ＃１＿ａｂｃｄ，ＶＭ＃２＿ａｂｃｄ”を仮想リソース作成要求メッセージに格納する。
【００７６】
つぎに、ＶＩＭ２３１が、ステップＳ１１０６によって送信された仮想リソース作成要求メッセージにしたがって仮想リソースを作成し、ＶＮＦＭ２２１に対してＡＣＫ（仮想リソース作成結果メッセージ）を送信する（ステップＳ１１０７）。ＶＩＭ２３１が作成する仮想リソースは、図１１に示す例では“ＶＭ＃１”および“ＶＭ＃２”に対応する２個の仮想リソースである。
【００７７】
また、ＶＩＭ２３１は、作成した仮想リソースに対してＶＩＭ２３１が生成したＵＵＩＤを、ステップＳ１１０７において送信するＡＣＫに付加する。たとえば、ＶＩＭ２３１は、“ＶＭ＃１”に対応して仮想リソースに対してＵＵＩＤとして“Ａ”を生成し、“ＶＭ＃２”に対応して仮想リソースに対してＵＵＩＤとして“Ｂ”を生成したとする。この場合は、ＶＩＭ２３１は、“ＶＭ＃１”と“Ａ”とを対応付け、“ＶＭ＃２”と“Ｂ”とを対応付ける情報をＡＣＫに付加する。
【００７８】
つぎに、ＶＮＦＭ２２１が、ＶＩＭ２３１に仮想リソースを作成済みであることを示すライフサイクル変化通知（ＬＣＮ）をＮＦＶＯ２１０へ送信する（ステップＳ１１０８）。ＬＣＮはＬｉｆｅｃｙｃｌｅＣｈａｎｇｅＮｏｔｉｆｉｃａｔｉｏｎの略である。図１１に示す例では、ＶＮＦＭ２２１は、“ＶＭ＃１”および“ＶＭ＃２”に対応する２個の仮想リソースを作成済みであることを示すライフサイクル変化通知（Ｒｅｓｕｌｔ：ＯＫ，ｖｎｆｃＩｎｓｔａｎｃｅ：ＶＭ＃１，ＶＭ＃２）を送信する。
【００７９】
また、図１１に示す例では、ステップＳ１１０８によって送信されたライフサイクル変化通知がＮＦＶＯ２１０によって正常に受信されない通信障害が発生したとする。このような通信障害は、たとえば、ＮＦＶＯ２１０とＶＮＦＭ２２１との間のネットワークの通信断や、ＮＦＶＯ２１０の輻輳によるパケット廃棄などによって発生し得る。この場合に、ＮＦＶＯ２１０は、ＶＮＦＭ２２１およびＶＩＭ２３１で作成済と認識している２個の仮想リソース（ＶＭ＃１，ＶＭ＃２）の情報を認識することができない。
【００８０】
つぎに、ステップＳ１１０５により起動したトランザクションタイマ１１０１が満了したとする（ステップＳ１１０９）。この場合に、ＮＦＶＯ２１０が、トランザクションタイマ１１０１が満了してもＶＮＦＭ２２１からライフサイクル変化通知を受信しなかったため、ＶＩＭ２３１に対して仮想リソース情報のクエリを行う。仮想リソース情報は、ＶＩＭ２３１が作成済みの仮想リソースに関する情報であって、その仮想リソースの作成要求時にＶＮＦＭ２２１から通知されたメタデータを含む情報である。たとえば、ＮＦＶＯ２１０は、ＶＩＭ２３１が保持する仮想リソース情報を要求する仮想リソース情報要求メッセージ（Ｑｕｅｒｙ  ｒｅｓｏｕｒｃｅ  ｌｉｓｔ）をＶＩＭ２３１へ送信する（ステップＳ１１１０）。仮想リソース情報要求メッセージの送信は、たとえばトランザクション・シナリオ制御部３３０の制御により行われる。
【００８１】
つぎに、ＶＩＭ２３１が、ステップＳ１１１０により送信された仮想リソース情報要求メッセージに応じて仮想リソース情報（２００  ＯＫ）をＮＦＶＯ２１０へ送信する（ステップＳ１１１１）。また、ステップＳ１１１１により送信される仮想リソース情報には、仮想リソース情報が示す仮想リソース毎のメタデータが含まれる。図１１に示す例では、仮想リソース情報には、２個の仮想リソース（ＵＵＩＤ＝Ａ，Ｂ）に対応するメタデータとしてそれぞれ“ＶＭ＃１＿ａｂｃｄ”および“ＶＭ＃２＿ａｂｃｄ”が含まれる。
【００８２】
これに対して、ＮＦＶＯ２１０は、ＶＩＭ２３１から受信した仮想リソース情報に基づいて、トランザクション状態が実行中、かつトランザクションＩＤが“ａｂｃｄ”のトランザクションを特定する。また、ＮＦＶＯ２１０は、特定したトランザクションに対応するＶＮＦＭ２２１を特定する。この処理はたとえばトランザクション・シナリオ制御部３３０により行われる。そして、ＮＦＶＯ２１０は、特定したトランザクションおよびＶＮＦＭ２２１に基づいて、仮想リソース・キャパシティ管理部３４０により仮想リソース管理テーブル３８１および全体リソース管理テーブル３８２の更新を行う（たとえば図１７，図１８参照）。
【００８３】
仮に、ステップＳ１１１０，Ｓ１１１１が実行されず、ステップＳ１１０８の後にＮＦＶＯ２１０がＶＮＦＭ２２１に対して仮想リソースの作成（インスタンシエーションやスケールアウト）を新たに要求した場合について説明する。この場合に、ＮＦＶＯ２１０は、ＶＮＦＭ２２１およびＶＩＭ２３１で作成済と認識している２個の仮想リソース（ＶＭ＃１，ＶＭ＃２）の情報を認識していない。
【００８４】
このため、ＮＦＶＯ２１０が認識している情報処理装置１３０の物理リソースの空き数は実際の空き数より２個多くなる。したがって、ＮＦＶＯ２１０は、情報処理装置１３０の物理リソースの空き数が足りないにも関わらず、新たな仮想リソースの作成について、仮想リソース作成許可要求メッセージに対して仮想リソース作成許可メッセージを送信してしまう可能性がある。このため、ＶＮＦＭ２２１がＶＩＭ２３１に対して仮想リソースの作成を要求してもＶＩＭ２３１は仮想リソースを作成することができず、エラーが発生してユーザのサービスに影響を与える場合がある。
【００８５】
これに対して、図１１に示したように、ＮＦＶＯ２１０は、ＶＮＦＭ２２１からのライフサイクル変化通知を受信しない場合に、ステップＳ１１１０，Ｓ１１１１によってＶＩＭ２３１に対して仮想リソース情報のクエリを行うことができる。これにより、ＮＦＶＯ２１０は、ＶＮＦＭ２２１およびＶＩＭ２３１で作成済と認識している２個の仮想リソース（ＶＭ＃１，ＶＭ＃２）の情報を認識することができる。このため、上述のエラーの発生を抑制することができる。
【００８６】
また、図１１においては、仮想リソースの作成を例に説明したが、スケールインなどの仮想リソースの削除を行う場合も同様である。すなわち、ＮＦＶＯ２１０はＶＮＦＭ２２１に対して仮想リソースの削除を要求し、ＶＮＦＭ２２１が仮想リソースを削除したことを示すライフサイクル変化通知を送信したが、ＮＦＶＯ２１０がこのライフサイクル変化通知を受信できない場合が有り得る。この場合に、ＮＦＶＯ２１０は、ＶＮＦＭ２２１からのライフサイクル変化通知を受信しない場合に、ＶＩＭ２３１に対して仮想リソース情報のクエリを行うことができる。
【００８７】
これにより、ＮＦＶＯ２１０は、ＶＮＦＭ２２１およびＶＩＭ２３１で削除済と認識している仮想リソースの情報を認識することができる。このため、情報処理装置１３０の物理リソースの空き数が足りているにも関わらず、ＮＦＶＯ２１０がＶＮＦＭ２２１からの仮想リソース作成許可要求メッセージに対して仮想リソース作成拒否メッセージを送信してしまうことによるエラーを抑制することができる。このため、たとえば情報処理装置１３０の物理リソースが空いているにも関わらずサービスが輻輳してしまうことを抑制することができる。
【００８８】
また、ＶＩＭ２３１がトランザクションＩＤを含むメタデータを格納した仮想リソース情報をＮＦＶＯ２１０へ送信することで、ＮＦＶＯ２１０は、仮想リソース情報が示す各仮想リソースがいずれのトランザクションにより作成されたかを特定することができる。
【００８９】
また、図１１に示す例では、ＮＦＶＯ２１０は、ＶＮＦＭ２２１への仮想リソース作成許可メッセージの送信を契機としてトランザクションタイマ１１０１を起動する。そして、ＮＦＶＯ２１０は、トランザクションタイマ１１０１が満了するまでにＶＮＦＭ２２１からのライフサイクル変化通知を受信しない場合に、ＶＩＭ２３１に対して仮想リソース情報のクエリを行う。これにより、ＮＦＶＯ２１０とＶＮＦＭ２２１との間の通信障害が発生した場合に仮想リソース情報のクエリを行うことができる。
【００９０】
ただし、仮想リソース情報のクエリの契機は、ライフサイクル変化通知を受信しない状態でのトランザクションタイマ１１０１の満了に限らない。たとえば、ＮＦＶＯ２１０は、ライフサイクル変化通知の受信に関わらず、ＶＮＦＭ２２１へ仮想リソース作成許可メッセージを送信した場合は、一定時間後に情報処理装置１３０に対して仮想リソース情報のクエリを行うことができる。
【００９１】
これにより、ＮＦＶＯ２１０とＶＮＦＭ２２１との間の通信障害が発生していなくても仮想リソース情報のクエリを行い、ＶＮＦＭ２２１からのライフサイクル変化通知と仮想リソース情報に基づいて、仮想マシンの作成状態のダブルチェックを行うことができる。このため、仮想マシンの作成状態をより正確に判定し、仮想マシンのリソース管理を安定して行うことができる。
【００９２】
または、ＮＦＶＯ２１０は、仮想リソース情報のクエリを指示する操作を保守者から受け付けた場合に、情報処理装置１３０に対して仮想リソース情報のクエリを行ってもよい。これにより、たとえばＶＮＦＭ２２１からライフサイクル変化通知の送信を確認したにも関わらずＮＦＶＯ２１０がライフサイクル変化通知を受信しないことを認識した保守者が、ＮＦＶＯ２１０に対して仮想リソース情報のクエリを指示することができる。または、ＮＦＶＯ２１０に対して仮想リソースの操作を指示したにも関わらずライフサイクルオペレーションが完了しないことを認識した保守者が、ＮＦＶＯ２１０に対して仮想リソース情報のクエリを指示することができる。
【００９３】
または、ＮＦＶＯ２１０は、ライフサイクル変化通知を待っているＶＮＦＭ２２１とは異なるＶＮＦＭ２２２からＶＮＦ作成要求メッセージ等を受信した場合に、情報処理装置１３０に対して仮想リソース情報のクエリを行ってもよい。これにより、ＶＮＦＭ２２２からＶＮＦ作成要求メッセージ等に基づいて情報処理装置１３０の物理リソースの空きを判定することを要する場合に情報処理装置１３０に対して仮想リソース情報のクエリを行うことができる。そして、ＮＦＶＯ２１０は、クエリによって得られた仮想リソース情報に基づいて情報処理装置１３０の物理リソースの空きを判定し、判定結果に基づいて仮想リソース作成許可メッセージまたは仮想リソース作成拒否メッセージをＶＮＦＭ２２２へ送信する。
【００９４】
図１１に示したように、ＮＦＶＯ２１０がＶＮＦＭ２２１からライフサイクル変化通知を正常に受信できないケースにおいて、ＮＦＶＯ２１０がライフサイクルオペレーションの正しい実行結果をＶＮＦＭ２２１やＶＩＭ２３１と共有することができる。これにより、ＮＦＶＯ２１０が認識するライフサイクルオペレーションの実行結果と、ＶＮＦＭ２２１およびＶＩＭ２３１が認識するライフサイクルオペレーションの実行結果と、を整合させることができる。
【００９５】
図１１に示した例では、ＮＦＶＯ２１０がトランザクションＩＤをステップＳ１１０１のＶＮＦ作成要求メッセージに格納する構成について説明したが、ＮＦＶＯ２１０はトランザクションＩＤを他のメッセージに格納してＶＮＦＭ２２１に通知してもよい。たとえば、ＮＦＶＯ２１０は、トランザクションＩＤをステップＳ１１０３の仮想リソース作成許可要求メッセージに格納してＶＮＦＭ２２１に通知してもよい。
【００９６】
（実施の形態にかかるＮＦＶＯのトランザクション管理テーブルの状態）
図１２は、実施の形態にかかるＮＦＶＯのトランザクション管理テーブルの状態の一例を示す図である。図１１に示したステップＳ１１０１の実行後に、ＮＦＶＯ２１０のトランザクション管理テーブル３８３は、たとえば図１２に示す状態になる。
【００９７】
すなわち、ＮＦＶＯ２１０は、ステップＳ１１０１において、ＶＮＦＭ２２１（ＶＮＦＭ＃１）に対して仮想リソースの作成を要求するトランザクションを生成し、そのトランザクションのトランザクションＩＤとして“ａｂｃｄ”を生成する。このため、ＮＦＶＯ２１０は、生成したトランザクションＩＤと、トランザクション状態＝“実行中”と、対象ＶＮＦＭ＝“ＶＮＦＭ＃１”（ＶＮＦＭ２２１）と、をトランザクション管理テーブル３８３に追加する。
【００９８】
（実施の形態にかかるＮＦＶＯの仮想リソース管理テーブルの更新前の状態）
図１３は、実施の形態にかかるＮＦＶＯの仮想リソース管理テーブルの更新前の状態の一例を示す図である。図１１に示したステップＳ１１０１の実行後に、ＮＦＶＯ２１０の仮想リソース管理テーブル３８１は、たとえば図１３に示す状態になる。
【００９９】
すなわち、ＮＦＶＯ２１０は、ステップＳ１１０１によってＶＮＦＭ２２１に対してＶＮＦ作成要求メッセージを送信したため、対象ＶＮＦＭ＝“ＶＮＦＭ＃１”を仮想リソース管理テーブル３８１に追加する。この時点では、ＮＦＶＯ２１０は仮想リソースの作成結果については認識していないため、対象ＶＮＦＭ＝“ＶＮＦＭ＃１”に対応するｖｎｆｃＩｎｓｔａｎｃｅおよびＵＵＩＤを仮想リソース管理テーブル３８１に追加しない。
【０１００】
（実施の形態にかかるＮＦＶＯの全体リソース管理テーブルの更新前の状態）
図１４は、実施の形態にかかるＮＦＶＯの全体リソース管理テーブルの更新前の状態の一例を示す図である。図１１に示したステップＳ１１０４の時点で、ＮＦＶＯ２１０の全体リソース管理テーブル３８２は、たとえば図１４に示す状態になっている。
【０１０１】
すなわち、全体リソース管理テーブル３８２においては、ＶＩＭ２３１（ＶＩＭ＃１）について、作成可能ＶＭ数＝３と、作成済みＶＭ数＝０と、残作成可能ＶＭ数＝３と、が対応付けられている。また、ステップＳ１１０３によってＶＮＦＭ２２１からＮＦＶＯ２１０へ送信された仮想リソース作成許可要求メッセージに格納されたｖｎｆｃＩｎｓｔａｎｃｅ情報が示す仮想リソースの数は２個である。この場合に、ＮＦＶＯ２１０は、ｖｎｆｃＩｎｓｔａｎｃｅ情報が示す仮想リソースの数＝２が、残作成可能ＶＭ数＝３以下であるため、仮想リソースの作成に要する物理リソースが存在すると判断する。
【０１０２】
（実施の形態にかかるＶＮＦＭのｖｎｆｃＩｎｓｔａｎｃｅ管理テーブルの状態）
図１５は、実施の形態にかかるＶＮＦＭのｖｎｆｃＩｎｓｔａｎｃｅ管理テーブルの状態の一例を示す図である。図１１に示したステップＳ１１０７の実行後に、ＶＮＦＭ２２１のｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１は、たとえば図１５に示す状態になる。たとえば、図１１に示したステップＳ１１０６において、ＶＮＦＭ２２１は、２個の仮想リソース（ＶＭ＃１，ＶＭ＃２）の作成を要求する仮想リソース作成要求メッセージをＶＩＭ２３１へ送信している。また、ＶＮＦＭ２２１は、図１１に示したステップＳ１１０７において、送信した仮想リソース作成要求メッセージに対するＡＣＫをＶＩＭ２３１から受信している。
【０１０３】
この場合に、ＶＮＦＭ２２１は、ＶＩＭ２３１において２個の仮想リソース（ＶＭ＃１，ＶＭ＃２）が作成されたと判断し、ｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１にｖｎｆｃＩｎｓｔａｎｃｅとして“ＶＭ＃１”および“ＶＭ＃２”を追加する。また、ＶＮＦＭ２２１は、“ＶＭ＃１”に対応するＵＵＩＤとして、“ＶＭ＃１”と対応付けてＶＩＭ２３１から送信されたＵＵＩＤ＝“Ａ”をｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１に追加する。また、ＶＮＦＭ２２１は、“ＶＭ＃１”に対応する状態として、“作成済”をｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１に追加する。また、ＶＮＦＭ２２１は、“ＶＭ＃１”に対応するメタデータとして、ＶＩＭ２３１へ通知した“ＶＭ＃１＿ａｂｃｄ”をｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１に追加する。
【０１０４】
また、ＶＮＦＭ２２１は、“ＶＭ＃２”に対応するＵＵＩＤとして、“ＶＭ＃２”と対応付けてＶＩＭ２３１から送信されたＵＵＩＤ＝“Ｂ”をｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１に追加する。また、ＶＮＦＭ２２１は、“ＶＭ＃２”に対応する状態として、“作成済”をｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１に追加する。また、ＶＮＦＭ２２１は、“ＶＭ＃２”に対応するメタデータとして、ＶＩＭ２３１へ通知した“ＶＭ＃２＿ａｂｃｄ”をｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル７６１に追加する。
【０１０５】
（実施の形態にかかるＶＩＭのＶＭ管理テーブルの状態）
図１６は、実施の形態にかかるＶＩＭのＶＭ管理テーブルの状態の一例を示す図である。図１１に示したステップＳ１１０６の実行後に、ＶＩＭ２３１のＶＭ管理テーブル９５１は、たとえば図１６に示す状態になる。たとえば、ＶＩＭ２３１は、図１１に示したステップＳ１１０６においてＶＮＦＭ２２１から受信した仮想リソース作成要求メッセージに基づいて２個の仮想リソース（ＶＭ＃１，ＶＭ＃２）を作成する。この場合に、ＶＩＭ２３１は、ＶＭ管理テーブル９５１に、作成した２個の仮想リソース（ＶＭ＃１，ＶＭ＃２）に対応するＵＵＩＤとしてそれぞれ“Ａ”および“Ｂ”を追加する。
【０１０６】
また、ＶＩＭ２３１は、ＵＵＩＤ＝“Ａ”に対応する状態として“作成済”をＶＭ管理テーブル９５１に追加する。また、ＶＩＭ２３１は、ＵＵＩＤ＝“Ａ”に対応するメタデータとして、図１１に示したステップＳ１１０６において“ＶＭ＃１”と対応付けてＶＮＦＭ２２１から通知されたメタデータである“ＶＭ＃１＿ａｂｃｄ”をＶＭ管理テーブル９５１に追加する。
【０１０７】
また、ＶＩＭ２３１は、ＵＵＩＤ＝“Ｂ”に対応する状態として“作成済”をＶＭ管理テーブル９５１に追加する。また、ＶＩＭ２３１は、ＵＵＩＤ＝“Ｂ”に対応するメタデータとして、図１１に示したステップＳ１１０６において“ＶＭ＃２”と対応付けてＶＮＦＭ２２１から通知されたメタデータである“ＶＭ＃２＿ａｂｃｄ”をＶＭ管理テーブル９５１に追加する。
【０１０８】
また、たとえば、ＶＩＭ２３１は、図１１に示したステップＳ１１１１において、ＮＦＶＯ２１０からのクエリに対する仮想リソース情報として、ＶＭ管理テーブル９５１の情報をＮＦＶＯ２１０へ送信する。
【０１０９】
（実施の形態にかかるＮＦＶＯの仮想リソース管理テーブルの更新後の状態）
図１７は、実施の形態にかかるＮＦＶＯの仮想リソース管理テーブルの更新後の状態の一例を示す図である。図１１に示したステップＳ１１１１の実行後に、ＮＦＶＯ２１０の仮想リソース管理テーブル３８１は、たとえば図１７に示す状態になる。すなわち、ＮＦＶＯ２１０がステップＳ１１１１により受信した仮想リソース情報は、たとえば図１６に示したＶＭ管理テーブル９５１と同じ情報である。
【０１１０】
そして、図１６に示したＶＭ管理テーブル９５１には、満了したトランザクションタイマ１１０１に対応するトランザクションＩＤである“ａｂｃｄ”をメタデータに含み、かつ状態が“作成済”である２個の仮想マシンの情報が含まれている。また、その２個の仮想マシンのメタデータにはそれぞれ“ＶＭ＃１”および“ＶＭ＃２”が含まれている。
【０１１１】
このため、ＮＦＶＯ２１０は、ｖｎｆｃＩｎｓｔａｎｃｅがそれぞれ“ＶＭ＃１”および“ＶＭ＃２”である２個の仮想リソースがＶＩＭ２３１において作成済みであると判断することができる。また、ＮＦＶＯ２１０は、受信した仮想リソース情報から、作成済みの２個の仮想リソースのＵＵＩＤはそれぞれ“Ａ”および“Ｂ”であると判定することができる。
【０１１２】
この場合に、ＮＦＶＯ２１０は、ｖｎｆｃＩｎｓｔａｎｃｅ＝“ＶＭ＃１”およびＵＵＩＤ＝“Ａ”を、“ＶＭ＃１”に対応する“ＶＮＦＭ＃１”と対応付けて仮想リソース管理テーブル３８１に追加する。また、ＮＦＶＯ２１０は、ｖｎｆｃＩｎｓｔａｎｃｅ＝“ＶＭ＃２”およびＵＵＩＤ＝“Ｂ”を、“ＶＭ＃２”に対応する“ＶＮＦＭ＃２”と対応付けて仮想リソース管理テーブル３８１に追加する。
【０１１３】
（実施の形態にかかるＮＦＶＯの全体リソース管理テーブルの更新後の状態）
図１８は、実施の形態にかかるＮＦＶＯの全体リソース管理テーブルの更新後の状態の一例を示す図である。図１１に示したステップＳ１１１１の実行後に、ＮＦＶＯ２１０の全体リソース管理テーブル３８２は、たとえば図１８に示す状態になる。すなわち、ＮＦＶＯ２１０は、ＶＩＭ２３１において２個の仮想リソース（ＶＭ＃１，ＶＭ＃２）が作成済みであると認識したため、全体リソース管理テーブル３８２の作成済みＶＭ数＝０を作成済みＶＭ数＝２に更新する。また、ＮＦＶＯ２１０は、全体リソース管理テーブル３８２の残作成可能ＶＭ数＝３を残作成可能ＶＭ数＝１に更新する。
【０１１４】
（実施の形態にかかるＮＦＶＯによる処理）
図１９は、実施の形態にかかるＮＦＶＯによる処理の一例を示すフローチャートである。実施の形態にかかるＮＦＶＯ２１０は、たとえば図１９に示す各ステップを繰り返し実行する。図１９に示す例では、ＮＦＶＯ２１０が保守者からインスタンシエーションやスケールアウトなど、仮想マシンを追加するライフサイクルオペレーションを受け付ける場合について説明する。
【０１１５】
まず、ＮＦＶＯ２１０は、保守者からのライフサイクルオペレーションの要求を受け付けたか否かを判断し（ステップＳ１９０１）、ライフサイクルオペレーションの要求を受け付けるまで待つ（ステップＳ１９０１：Ｎｏのループ）。ライフサイクルオペレーションの要求を受け付けると（ステップＳ１９０１：Ｙｅｓ）、ＮＦＶＯ２１０は、受け付けたライフサイクルオペレーションのトランザクションを識別するトランザクションＩＤを生成する（ステップＳ１９０２）。
【０１１６】
つぎに、ＮＦＶＯ２１０は、ステップＳ１９０２により生成したトランザクションＩＤを含むライフサイクルオペレーション要求メッセージをたとえばＶＮＦＭ２２１へ送信する（ステップＳ１９０３）。図５に示す例では、ライフサイクルオペレーション要求メッセージは、ＶＮＦの仮想リソースの作成を要求するＶＮＦ作成要求メッセージである。また、ＮＦＶＯ２１０は、トランザクション管理テーブル３８３に、ＶＮＦＭ２２１の識別子（ＶＮＦＭ＃１）、トランザクションＩＤ（ａｂｃｄ）およびトランザクション状態（実行中）の組み合わせを追加する。
【０１１７】
つぎに、ＮＦＶＯ２１０は、ライフサイクルオペレーション操作要求メッセージをＶＮＦＭ２２１から受信したか否かを判断し（ステップＳ１９０４）、受信するまで待つ（ステップＳ１９０４：Ｎｏのループ）。ライフサイクルオペレーション操作要求メッセージは、ＶＩＭ２３１に対して仮想リソース操作を行うことについての許可を要求するメッセージ（ＧｒａｎｔＲｅｑｕｅｓｔ）である。
【０１１８】
ステップＳ１９０４において、ライフサイクルオペレーション操作要求メッセージを受信すると（ステップＳ１９０４：Ｙｅｓ）、ＮＦＶＯ２１０はステップＳ１９０５へ移行する。すなわち、ＮＦＶＯ２１０は、全体リソース管理テーブル３８２を参照し、ライフサイクルオペレーション操作要求メッセージにより要求された仮想リソースの作成が可能な物理リソースの空きがＶＩＭ２３１にあるか否かを判断する（ステップＳ１９０５）。
【０１１９】
ステップＳ１９０５において、物理リソースの空きがＶＩＭ２３１にない場合（ステップＳ１９０５：Ｎｏ）は、ＮＦＶＯ２１０は、ライフサイクルオペレーション操作拒否メッセージをＶＮＦＭ２２１へ送信し（ステップＳ１９０６）、一連の処理を終了する。ライフサイクルオペレーション操作拒否メッセージは、ライフサイクルオペレーション操作要求メッセージによって要求された仮想リソース操作を拒否するメッセージである。
【０１２０】
ステップＳ１９０５において、物理リソースの空きがＶＩＭ２３１にある場合（ステップＳ１９０５：Ｙｅｓ）は、ＮＦＶＯ２１０は、ライフサイクルオペレーション操作許可メッセージをＶＮＦＭ２２１へ送信する（ステップＳ１９０７）。ライフサイクルオペレーション操作許可メッセージは、ライフサイクルオペレーション操作要求メッセージによって要求された仮想リソース操作を許可することを示すメッセージ（ＧｒａｎｔＲｅｓｐｏｎｓｅ）である。
【０１２１】
つぎに、ＮＦＶＯ２１０は、ステップＳ１９０２によって生成したトランザクションＩＤと対応付けた、所定時間を計時するトランザクションタイマを起動する（ステップＳ１９０８）。つぎに、ＮＦＶＯ２１０は、ライフサイクル変化通知（ＬＣＮ：Ｌｉｆｅｃｙｃｌｅ  Ｃｈａｎｇｅ  Ｎｏｔｉｆｉｃａｔｉｏｎ）をＶＮＦＭ２２１から受信したか否かを判断する（ステップＳ１９０９）。
【０１２２】
ステップＳ１９０９において、ライフサイクル変化通知を受信した場合（ステップＳ１９０９：Ｙｅｓ）は、ＮＦＶＯ２１０は、仮想リソース管理テーブル３８１および全体リソース管理テーブル３８２を更新し（ステップＳ１９１０）、一連の処理を終了する。
【０１２３】
ステップＳ１９０９において、ライフサイクル変化通知を受信していない場合（ステップＳ１９０９：Ｎｏ）は、ＮＦＶＯ２１０は、ステップＳ１９０８によって起動したトランザクションタイマが満了したか否かを判断する（ステップＳ１９１１）。トランザクションタイマが満了していない場合（ステップＳ１９１１：Ｎｏ）は、ＮＦＶＯ２１０は、ステップＳ１９０９へ戻る。
【０１２４】
ステップＳ１９１１において、トランザクションタイマが満了した場合（ステップＳ１９１１：Ｙｅｓ）は、ＮＦＶＯ２１０とＶＮＦＭ２２１との間で何らかの通信障害（たとえば輻輳によるパケットロスやネットワーク断）が発生したと判断することができる。この場合は、ＮＦＶＯ２１０は、トランザクション管理テーブル３８３を参照し、ＶＮＦＭ２２１に対応するトランザクションのうちトランザクション状態が“実行中”のトランザクションのトランザクションＩＤを特定する（ステップＳ１９１２）。
【０１２５】
つぎに、ＮＦＶＯ２１０は、ＶＩＭ２３１に対して仮想リソース情報のクエリ（Ｑｕｅｒｙ  ｒｅｓｏｕｒｃｅ  ｌｉｓｔ）を行う（ステップＳ１９１３）。つぎに、ＮＦＶＯ２１０は、ステップＳ１９１３のクエリによってＶＩＭ２３１から得られた仮想リソース情報から、ステップＳ１９１２により特定したトランザクションＩＤを含むメタデータが付与された仮想リソースを特定する（ステップＳ１９１４）。
【０１２６】
つぎに、ＮＦＶＯ２１０は、ステップＳ１９１４により特定した仮想リソースのメタデータに含まれるｖｎｆｃＩｎｓｔａｎｃｅおよびＵＵＩＤを抽出し（ステップＳ１９１５）、ステップＳ１９１０へ移行する。または、ＮＦＶＯ２１０は、ステップＳ１９１５において、仮想リソース情報が示すｖｎｆｃＩｎｓｔａｎｃｅおよびＵＵＩＤの組み合わせのうち、ステップＳ１９１４により特定した仮想リソースに対応する組み合わせを抽出してもよい。
【０１２７】
ステップＳ１９１５から移行したステップＳ１９１０において、ＮＦＶＯ２１０は、ステップＳ１９１５により抽出したｖｎｆｃＩｎｓｔａｎｃｅおよびＵＵＩＤに基づいて仮想リソース管理テーブル３８１および全体リソース管理テーブル３８２を更新する。
【０１２８】
図１９において、仮想マシンを追加するライフサイクルオペレーションを受け付ける場合の処理について説明したが、スケールインなどの仮想マシンを削除するライフサイクルオペレーションを受け付ける場合の処理についても同様である。ただし、この場合は、たとえば、ステップＳ１９０５，Ｓ１９０６の処理は省略可能である。
【０１２９】
また、ステップＳ１９１４，Ｓ１９１５の処理に代えて、ＮＦＶＯ２１０は、仮想リソース情報に基づいて、ライフサイクルオペレーション操作許可メッセージに基づく仮想マシンの削除がＶＩＭ２３１において行われたか否かを判定する。
【０１３０】
（実施の形態にかかるＶＮＦＭによる処理）
図２０は、実施の形態にかかるＶＮＦＭによる処理の一例を示すフローチャートである。実施の形態にかかるＶＮＦＭ２２１は、たとえば図２０に示す各ステップを繰り返し実行する。ＶＮＦＭ２２１による処理について説明するが、ＶＮＦＭ２２２による処理もＶＮＦＭ２２１による処理と同様である。図２０に示す例では、図１９に示した例と同様に、ＮＦＶＯ２１０が保守者からインスタンシエーションやスケールアウトなど、仮想マシンを追加するライフサイクルオペレーションを受け付ける場合について説明する。
【０１３１】
まず、ＶＮＦＭ２２１は、ＮＦＶＯ２１０からライフサイクルオペレーション要求メッセージを受信したか否かを判断し（ステップＳ２００１）、ライフサイクルオペレーション要求メッセージを受信するまで待つ（ステップＳ２００１：Ｎｏのループ）。ライフサイクルオペレーション要求メッセージを受信すると（ステップＳ２００１：Ｙｅｓ）、ＶＮＦＭ２２１は、ライフサイクルオペレーション操作要求メッセージ（ＧｒａｎｔＲｅｑｕｅｓｔ）をＮＦＶＯ２１０へ送信する（ステップＳ２００２）。
【０１３２】
また、ＶＮＦＭ２２１は、送信するライフサイクルオペレーション操作要求メッセージに、作成する仮想マシンの数などの、ＶＩＭ２３１に対する操作内容を示すｖｎｆｃＩｎｓｔａｎｃｅ情報を含める。また、ＶＮＦＭ２２１は、ライフサイクルオペレーション操作要求メッセージをＮＦＶＯ２１０へ送信する前に、受信したライフサイクルオペレーション要求メッセージに対するＡＣＫをＮＦＶＯ２１０へ送信してもよい。
【０１３３】
つぎに、ＶＮＦＭ２２１は、ＮＦＶＯ２１０からライフサイクルオペレーション操作拒否メッセージを受信したか否かを判断する（ステップＳ２００３）。ライフサイクルオペレーション操作拒否メッセージを受信した場合（ステップＳ２００３：Ｙｅｓ）は、ＶＮＦＭ２２１は、一連の処理を終了する。
【０１３４】
ステップＳ２００３において、ライフサイクルオペレーション操作拒否メッセージを受信していない場合（ステップＳ２００３：Ｎｏ）は、ＶＮＦＭ２２１は、ステップＳ２００４へ移行する。すなわち、ＶＮＦＭ２２１は、ＮＦＶＯ２１０からライフサイクルオペレーション操作許可メッセージ（ＧｒａｎｔＲｅｓｐｏｎｓｅ）を受信したか否かを判断する（ステップＳ２００４）。
【０１３５】
ステップＳ２００４において、ライフサイクルオペレーション操作許可メッセージを受信していない場合（ステップＳ２００４：Ｎｏ）は、ＶＮＦＭ２２１は、ステップＳ２００３へ戻る。ライフサイクルオペレーション操作許可メッセージを受信した場合（ステップＳ２００４：Ｙｅｓ）は、ＶＮＦＭ２２１は、ステップＳ２００５へ移行する。すなわち、ＶＮＦＭ２２１は、受信したライフサイクルオペレーション操作許可メッセージに対応するライフサイクルオペレーション操作要求メッセージに含まれるトランザクションＩＤを特定する（ステップＳ２００５）。
【０１３６】
つぎに、ＶＮＦＭ２２１は、ステップＳ２００５により特定したトランザクションＩＤと、自装置が生成したｖｎｆｃＩｎｓｔａｎｃｅと、を結合したメタデータを生成する（ステップＳ２００６）。たとえば、ＶＮＦＭ２２１は、ＶＩＭ２３１に作成を指示する仮想リソース毎に、トランザクションＩＤと、その仮想リソースについて自装置が生成したｖｎｆｃＩｎｓｔａｎｃｅと、を結合したメタデータを生成する。
【０１３７】
つぎに、ＶＮＦＭ２２１は、仮想リソースの作成を要求する仮想リソース作成要求メッセージをＶＩＭ２３１へ送信する（ステップＳ２００７）。また、ＶＮＦＭ２２１は、送信する仮想リソース作成要求メッセージに、ステップＳ２００６により生成したメタデータを含める。
【０１３８】
つぎに、ＶＮＦＭ２２１は、仮想リソースの作成結果を示す仮想リソース作成結果メッセージをＶＩＭ２３１から受信したか否かを判断し（ステップＳ２００８）、仮想リソース作成結果メッセージを受信するまで待つ（ステップＳ２００８：Ｎｏのループ）。仮想リソース作成結果メッセージには、ＶＩＭ２３１が作成した仮想リソース（仮想マシン）のＵＵＩＤが含まれる。
【０１３９】
ステップＳ２００８において、仮想リソース作成結果メッセージを受信すると（ステップＳ２００８：Ｙｅｓ）、ＶＮＦＭ２２１は、ステップＳ２００９へ移行する。すなわち、ＶＮＦＭ２２１は、受信した仮想リソース作成結果メッセージに含まれるＵＵＩＤに基づいて、ＶＩＭ２３１に対して、ＶＩＭ２３１が作成した仮想リソース情報のクエリを行う（ステップＳ２００９）。仮想リソース情報は、たとえば仮想リソースの状態やメタデータなどを示す情報であり、たとえば図１６に示したＶＭ管理テーブル９５１と同じ情報である。
【０１４０】
つぎに、ＶＮＦＭ２２１は、ステップＳ２００９のクエリによりＶＩＭ２３１から得た仮想リソース情報に基づいてｖｎｆｃＩｎｓｔａｎｃｅ管理テーブルを更新する（ステップＳ２０１０）。つぎに、ＶＮＦＭ２２１は、ＶＩＭに対する仮想リソースの操作結果として、ライフサイクル変化通知（ＬＣＮ）をＮＦＶＯ２１０へ送信し（ステップＳ２０１１）、一連の処理を終了する。
【０１４１】
図２０において、仮想マシンを追加するライフサイクルオペレーションを受け付ける場合の処理について説明したが、スケールインなどの仮想マシンを削除するライフサイクルオペレーションを受け付ける場合の処理についても同様である。ただし、この場合は、たとえば、ステップＳ２００５，Ｓ２００６の処理は省略可能である。
【０１４２】
また、ステップＳ２００７において、ＶＮＦＭ２２１は、仮想リソースの削除を要求する仮想リソース削除要求メッセージをＶＩＭ２３１へ送信する。この仮想リソース削除要求メッセージにはメタデータが含まれていなくてもよい。また、ステップＳ２００８において、ＶＮＦＭ２２１は仮想リソース削除結果メッセージを受信したか否かを判断する。
【０１４３】
（実施の形態にかかるＶＩＭによる処理）
図２１は、実施の形態にかかるＶＩＭによる処理の一例を示すフローチャートである。実施の形態にかかるＶＩＭ２３１は、たとえば図２１に示す各ステップを繰り返し実行する。ＶＩＭ２３１（ＶＩＭ＃１）による処理について説明するが、ＶＩＭ＃２による処理もＶＩＭ＃１による処理と同様である。まず、ＶＩＭ２３１は、仮想リソース操作要求メッセージをＶＮＦＭ２２１から受信したか否かを判断する（ステップＳ２１０１）。仮想リソース操作要求メッセージは、たとえば図２０に示した仮想リソース作成要求メッセージや、仮想リソースの削除を要求する仮想リソース削除要求メッセージなどである。
【０１４４】
ステップＳ２１０１において、仮想リソース操作要求メッセージを受信した場合（ステップＳ２１０１：Ｙｅｓ）は、ＶＩＭ２３１は、仮想リソース操作要求メッセージにより要求された仮想リソースの操作を行う（ステップＳ２１０２）。たとえば、ＶＩＭ２３１は、仮想リソース操作要求メッセージが仮想リソース作成要求メッセージである場合は仮想リソースの作成を行い、仮想リソース操作要求メッセージが仮想リソース削除要求メッセージである場合は仮想リソースの削除を行う。つぎに、ＶＩＭ２３１は、ステップＳ２１０２による仮想リソースの操作結果に基づいてＶＭ管理テーブル９５１の更新を行う（ステップＳ２１０３）。
【０１４５】
つぎに、ＶＩＭ２３１は、仮想リソース操作結果メッセージをＶＮＦＭ２２１へ送信し（ステップＳ２１０４）、ステップＳ２１０５へ移行する。仮想リソース操作結果メッセージは、ステップＳ２１０２による仮想リソースの操作が仮想リソースの作成である場合は仮想リソース作成結果メッセージである。また、仮想リソース操作結果メッセージは、ステップＳ２１０２による仮想リソースの操作が仮想リソースの削除である場合は仮想リソース削除結果メッセージである。
【０１４６】
ステップＳ２１０１において、仮想リソース操作要求メッセージを受信していない場合（ステップＳ２１０１：Ｎｏ）は、ＶＩＭ２３１は、ＮＦＶＯ２１０またはＶＮＦＭ２２１から仮想リソース情報のクエリを受け付けたか否かを判断する（ステップＳ２１０５）。クエリを受け付けていない場合（ステップＳ２１０５：Ｎｏ）は、ＶＩＭ２３１は、一連の処理を終了する。クエリを受け付けた場合（ステップＳ２１０５：Ｙｅｓ）は、ＶＩＭ２３１は、ＶＭ管理テーブル９５１の情報を示す仮想リソース情報をクエリ元へ送信し（ステップＳ２１０６）、一連の処理を終了する。
【０１４７】
（実施の形態にかかる仮想化システムにおけるＮＦＶＯとＶＮＦＭとの間で通信障害が発生しなかった場合の処理）
図２２は、実施の形態にかかる仮想化システムにおけるＮＦＶＯとＶＮＦＭとの間で通信障害が発生しなかった場合の処理の一例を示すシーケンス図である。図２２において、図１１に示した部分と同様の部分については同一の符号を付して説明を省略する。図２２においては、ＮＦＶＯ２１０がＶＮＦＭ２２１へ仮想リソースの作成（インスタンシエーションやスケールアウト）を要求し、ＶＮＦＭ２２１からのライフサイクル変化通知をＮＦＶＯ２１０が受信できない通信障害が発生しなかった場合について説明する。
【０１４８】
図２２に示すステップＳ２２０１〜Ｓ２２０８は、図１１に示したステップＳ１１０１〜Ｓ１１０８と同様である。ただし、ステップＳ２２０８によって送信されたライフサイクル変化通知がＮＦＶＯ２１０によって正常に受信されたとする。この場合に、ＮＦＶＯ２１０は、ＶＮＦＭ２２１およびＶＩＭ２３１で作成済と認識している２個の仮想リソース（ＶＭ＃１，ＶＭ＃２）の情報を認識することができる。この場合は、ＮＦＶＯ２１０は、ステップＳ２２０５によって起動したトランザクションタイマ１１０１を解除する。
【０１４９】
ステップＳ２２０８のつぎに、ＮＦＶＯ２１０が、ステップＳ２２０８によって送信されたライフサイクル変化通知に対するＡＣＫ（２０１  ｃｒｅａｔｅｄ）をＶＮＦＭ２２１へ送信する（ステップＳ２２０９）。
【０１５０】
つぎに、ＮＦＶＯ２１０が、受信したライフサイクル変化通知に設定されたｖｎｆｃＩｎｓｔａｎｃｅに対応するＵＵＩＤのクエリ（Ｑｕｅｒｙ  ｖｎｆｃＩｎｓｔａｎｃｅ（ｓ））をＶＮＦＭ２２１に対して行う（ステップＳ２２１０）。つぎに、ＶＮＦＭ２２１が、ステップＳ２２１０によるクエリに対して、ｖｎｆｃＩｎｓｔａｎｃｅに対応するＵＵＩＤ（２００  ＯＫ）をＮＦＶＯ２１０へ送信する（ステップＳ２２１１）。
【０１５１】
つぎに、ＮＦＶＯ２１０が、受信したライフサイクル変化通知に設定されたｖｎｆｃＩｎｓｔａｎｃｅに対応するＵＵＩＤを有する仮想リソースの状態の確認要求（ｃｈｅｃｋ  ｒｅｓｏｕｒｃｅ（ｓ））をＶＩＭ２３１に対して行う（ステップＳ２２１２）。つぎに、ＶＩＭ２３１が、ステップＳ２２１２による確認要求に対する確認結果（２００  ＯＫ）をＮＦＶＯ２１０へ送信する（ステップＳ２２１３）。
【０１５２】
ＮＦＶＯ２１０は、ステップＳ２２１３による確認結果がＯＫであった場合に、受信したライフサイクル変化通知に設定されたｖｎｆｃＩｎｓｔａｎｃｅに対応するＵＵＩＤの更新を仮想リソース管理テーブル３８１に対して行う。また、ＮＦＶＯ２１０は、全体リソース管理テーブル３８２の更新を行う。
【０１５３】
（実施の形態にかかる仮想化システムにおける通信障害発生時の処理の他の例）
図２３は、実施の形態にかかる仮想化システムにおける通信障害発生時の処理の他の一例を示すシーケンス図である。仮想化システム２００においては、たとえば図２３に示す各ステップが実行されてもよい。図２３においては、ＮＦＶＯ２１０がＶＮＦＭ２２１へ仮想リソースの作成を要求し、ＶＮＦＭ２２１からのライフサイクル変化通知をＮＦＶＯ２１０が受信できない通信障害が発生した場合について説明する。
【０１５４】
図２３に示すステップＳ２３０１〜Ｓ２３１１は、図１１に示したステップＳ１１０１〜Ｓ１１１１と同様である。ただし、ステップＳ２３１０において、ＮＦＶＯ２１０は、送信する仮想リソース情報要求メッセージ（Ｑｕｅｒｙ  ｒｅｓｏｕｒｃｅ  ｌｉｓｔ）に、ステップＳ２３０１においてＶＮＦＭ２２１へ通知したトランザクションＩＤをキーとして格納する。
【０１５５】
また、ステップＳ２３１１において、ＶＩＭ２３１は、ＶＭ管理テーブル９５１が示す各仮想リソースのうち、ステップＳ２３１０により送信された仮想リソース情報要求メッセージに格納されたトランザクションＩＤを含む仮想リソースを特定する。そして、ＶＩＭ２３１は、ＶＭ管理テーブル９５１のうち、特定した仮想リソースの情報のみを抽出して仮想リソース情報（２００  ＯＫ）としてＶＮＦＭ２２１へ送信する。
【０１５６】
図２３に示した例では、ＶＩＭ２３１は、仮想リソース情報のクエリにおいてトランザクションＩＤをＮＦＶＯ２１０から取得する。そして、ＶＩＭ２３１は、ＶＭ管理テーブル９５１が示す各仮想リソースのうち該当するトランザクションＩＤをメタデータに含む仮想リソースの情報のみを抽出してＮＦＶＯ２１０へ送信する。
【０１５７】
これにより、たとえばＶＩＭ２３１のＶＭ管理テーブル９５１が示す各仮想リソースの情報を仮想リソース情報としてＮＦＶＯ２１０へ送信する場合と比べて、ＶＩＭ２３１からＮＦＶＯ２１０へ送信される仮想リソース情報のデータ量を低減することができる。また、トランザクションＩＤに基づく仮想リソース情報の抽出をＮＦＶＯ２１０において行わなくてもよいため、ＮＦＶＯ２１０における処理量を低減することができる。
【０１５８】
（実施の形態にかかるＮＦＶＯ、ＶＮＦＭおよびＶＩＭのハードウェア構成）
図２４は、実施の形態にかかるＮＦＶＯ、ＶＮＦＭおよびＶＩＭのハードウェア構成の一例を示す図である。図３に示したＮＦＶＯ２１０は、たとえば図２４に示すコンピュータ２４００により実現することができる。コンピュータ２４００は、プロセッサ２４０１と、メモリ２４０２と、ユーザインタフェース２４０３と、通信インタフェース２４０４と、を備える。プロセッサ２４０１、メモリ２４０２、ユーザインタフェース２４０３および通信インタフェース２４０４は、たとえばバス２４０９によって接続される。
【０１５９】
プロセッサ２４０１は、信号処理を行う回路であり、たとえばコンピュータ２４００の全体の制御を司るＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。メモリ２４０２には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メインメモリは、プロセッサ２４０１のワークエリアとして使用される。補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発メモリである。補助メモリには、コンピュータ２４００を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてプロセッサ２４０１によって実行される。
【０１６０】
また、プロセッサ２４０１やメモリ２４０２は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などのデジタル回路により実現されてもよい。
【０１６１】
ユーザインタフェース２４０３は、たとえば、ユーザ（たとえば保守者）からの操作入力を受け付ける入力デバイスや、ユーザへ情報を出力する出力デバイスなどを含む。入力デバイスは、たとえばキー（たとえばキーボード）やリモコンなどにより実現することができる。出力デバイスは、たとえばディスプレイやスピーカなどにより実現することができる。また、タッチパネルなどによって入力デバイスおよび出力デバイスを実現してもよい。ユーザインタフェース２４０３は、プロセッサ２４０１によって制御される。
【０１６２】
通信インタフェース２４０４は、コンピュータ２４００の外部との間で通信を行う通信インタフェースである。通信インタフェース２４０４は、プロセッサ２４０１によって制御される。
【０１６３】
図３に示した通信インタフェース３１０は、たとえば通信インタフェース２４０４により実現することができる。図３に示したメッセージ受信部３２０、トランザクション・シナリオ制御部３３０、仮想リソース・キャパシティ管理部３４０およびメッセージ送信部３７０は、たとえばプロセッサ２４０１により実現することができる。図３に示したメモリ３６０およびデータベース３８０は、たとえばメモリ２４０２により実現することができる。また、上述したライフサイクルオペレーションの要求の受け付けや、仮想リソース情報のクエリを指示する操作の受け付けは、たとえばユーザインタフェース２４０３によって実現することができる。
【０１６４】
また、図７に示したＶＮＦＭ２２１は、たとえば図２４に示すコンピュータ２４００により実現することができる。この場合に、たとえばコンピュータ２４００のユーザインタフェース２４０３を省いた構成としてもよい。
【０１６５】
図７に示した通信インタフェース７１０は、たとえば通信インタフェース２４０４により実現することができる。図７に示したメッセージ受信部７２０、仮想リソース制御部７３０、トランザクション・シナリオ管理部７４０およびメッセージ送信部７５０は、たとえばプロセッサ２４０１により実現することができる。図７に示したデータベース７６０は、たとえばメモリ２４０２により実現することができる。
【０１６６】
また、図９に示したＶＩＭ２３１は、たとえば図２４に示すコンピュータ２４００により実現することができる。この場合に、たとえばコンピュータ２４００のユーザインタフェース２４０３を省いた構成としてもよい。
【０１６７】
図９に示した通信インタフェース９１０は、たとえば通信インタフェース２４０４により実現することができる。図９に示したメッセージ受信部９２０、仮想リソース制御部９３０およびメッセージ送信部９４０は、たとえばプロセッサ２４０１により実現することができる。図９に示したデータベース９５０は、たとえばメモリ２４０２により実現することができる。
【０１６８】
このように、実施の形態において、第２制御装置１２０がトランザクションＩＤを情報処理装置１３０へ送信することにより、情報処理装置１３０が作成した仮想マシンを示す情報とトランザクションＩＤとを対応付けた対応情報を情報処理装置１３０に生成させる。そして、第１制御装置１１０が、情報処理装置１３０が生成した対応情報とトランザクションＩＤとに基づいて、第１制御装置１１０が第２制御装置１２０へ送信した制御信号に基づく第２制御装置１２０の制御による仮想マシンの作成状態を判定する。
【０１６９】
これにより、情報処理装置１３０における仮想マシンの作成結果を示す情報を第１制御装置１１０が第２制御装置１２０から通信障害等で受信できなくても、情報処理装置１３０における仮想マシンの作成状態を第１制御装置１１０が判定することができる。このため、第１制御装置１１０が、情報処理装置１３０における仮想マシンの作成状態を正確に判定し、仮想マシンのリソース管理を安定して行うことができる。
【０１７０】
たとえば、ＮＦＶＯ２１０とＶＮＦＭ２２１との間で通信障害が発生しても、ＮＦＶＯ２１０が、ＶＩＭ２３１における仮想マシンの作成状態を正確に判定し、仮想マシンのリソース管理を安定して行うことができる。また、ＮＦＶＯ２１０とＶＮＦＭ２２１との間の通信障害が継続していても、ＮＦＶＯ２１０は、ＶＩＭ２３１における仮想マシンの作成状態を正確に判定できる。このため、ＮＦＶＯ２１０は、ＶＮＦＭ２２１と異なるＶＮＦＭ（たとえばＶＮＦＭ２２２）のライフサイクルオペレーションについては継続することができる。
【０１７１】
また、第１制御装置１１０は、たとえば、情報処理装置１３０によって生成された対応情報を情報処理装置１３０から受信し、トランザクションＩＤと、受信した対応情報と、に基づいて情報処理装置１３０における仮想マシンの作成状態を判定することができる。
【０１７２】
または、第１制御装置１１０は、トランザクションＩＤを情報処理装置１３０へ送信することにより、対応情報においてそのトランザクションＩＤと対応付けられた仮想マシンを示す情報を情報処理装置１３０から受信してもよい。この場合は、第１制御装置１１０は、情報処理装置１３０から受信した情報に基づいて情報処理装置１３０における仮想マシンの作成状態を判定することができる。これにより、情報処理装置１３０から第１制御装置１１０へ送信する仮想マシンの情報のデータ量を低減することができる。
【０１７３】
また、第１制御装置１１０は、たとえば、第２制御装置１２０に対して制御信号に基づく仮想マシンの作成を許可してから所定時間を計時する。そして、第１制御装置１１０は、計時した所定時間内に仮想マシンの作成結果を第２制御装置１２０から受信しなかった場合に、トランザクションＩＤと対応情報とに基づいて仮想マシンの作成状態を判定する。これにより、第２制御装置１２０から送信された作成結果が通信障害等で第１制御装置１１０に受信されなかった場合に、第１制御装置１１０が情報処理装置１３０の情報に基づいて情報処理装置１３０における仮想マシンの作成状態を判定することができる。
【０１７４】
または、第１制御装置１１０は、トランザクションＩＤと対応情報とに基づく仮想マシンの作成状態の判定の指示を保守者から受け付けた場合に、トランザクションＩＤと対応情報とに基づいて仮想マシンの作成状態を判定してもよい。これにより、第２制御装置１２０から送信された作成結果が第１制御装置１１０に受信されなかったことを認識した保守者からの指示により、情報処理装置１３０の情報に基づいて情報処理装置１３０における仮想マシンの作成状態を判定することができる。
【０１７５】
または、第１制御装置１１０は、第２制御装置１２０と異なる制御装置（たとえばＶＮＦＭ２２２）から仮想マシンの作成許可を要求された場合に、トランザクションＩＤと対応情報とに基づいて仮想マシンの作成状態を判定してもよい。これにより、第２制御装置１２０に要求した仮想マシンの作成状態に基づく情報処理装置１３０の空きリソースの判断を要する場合に、情報処理装置１３０の情報に基づいて情報処理装置１３０における仮想マシンの作成状態を判定することができる。
【０１７６】
また、第１制御装置１１０は、情報処理装置１３０による仮想マシンの削除の制御を要求する制御信号を第２制御装置１２０へ送信してもよい。この場合に、情報処理装置１３０は、第２制御装置１２０からの制御によって作成済みの仮想マシンを削除し、削除した仮想マシンの情報を対応情報から削除する。または、情報処理装置１３０は、第２制御装置１２０からの制御によって作成済みの仮想マシンを削除し、その仮想マシンが削除済みであることを示す情報を対応情報に追加する。
【０１７７】
第１制御装置１１０は、トランザクションＩＤと、情報処理装置１３０が生成した対応情報と、に基づいて、仮想マシンの削除の制御を要求する制御信号に基づく第２制御装置１２０の制御による仮想マシンの削除状態を判定することができる。
【０１７８】
以上説明したように、制御装置および制御方法によれば、仮想マシンのリソース管理を安定して行うことができる。
【０１７９】
上述した各実施の形態に関し、さらに以下の付記を開示する。
【０１８０】
（付記１）情報処理装置による仮想マシンの作成の制御を要求する制御信号を他の制御装置へ送信する送信部と、
前記情報処理装置が作成した前記仮想マシンを示す情報と、前記送信部による前記制御信号の送信に関するトランザクションの識別子と、を対応付けた対応情報を前記情報処理装置が生成した後に、前記トランザクションの識別子と、前記情報処理装置によって生成された前記対応情報と、に基づいて、前記制御信号に応じた前記情報処理装置における仮想マシンの作成状態を判定する判定部と、
を備えることを特徴とする制御装置。
【０１８１】
（付記２）前記判定部は、前記情報処理装置によって生成された前記対応情報を前記情報処理装置から受信し、前記トランザクションの識別子と、受信した前記対応情報と、に基づいて前記作成状態を判定することを特徴とする付記１に記載の制御装置。
【０１８２】
（付記３）前記判定部は、前記トランザクションの識別子を前記情報処理装置へ送信することにより、前記対応情報において前記トランザクションの識別子と対応付けられた前記仮想マシンを示す情報を前記情報処理装置から受信し、受信した前記情報に基づいて前記作成状態を判定することを特徴とする付記２に記載の制御装置。
【０１８３】
（付記４）前記判定部は、前記他の制御装置に対して前記制御信号に基づく仮想マシンの作成を許可してから所定時間内に前記仮想マシンの作成結果を前記他の制御装置から受信しなかった場合に、前記トランザクションの識別子と前記対応情報とに基づいて前記作成状態を判定することを特徴とする付記１〜３のいずれか一つに記載の制御装置。
【０１８４】
（付記５）前記判定部は、前記トランザクションの識別子と前記対応情報とに基づく前記作成状態の判定の指示を受け付けた場合に、前記トランザクションの識別子と前記対応情報とに基づいて前記作成状態を判定することを特徴とする付記１〜３のいずれか一つに記載の制御装置。
【０１８５】
（付記６）前記判定部は、前記他の制御装置と異なる制御装置から仮想マシンの作成許可を要求された場合に、前記トランザクションの識別子と前記対応情報とに基づいて前記作成状態を判定することを特徴とする付記１〜３のいずれか一つに記載の制御装置。
【０１８６】
（付記７）前記送信部は、前記情報処理装置による仮想マシンの削除の制御を要求する制御信号を前記他の制御装置へ送信し、
前記判定部は、前記トランザクションの識別子と、前記情報処理装置によって生成された前記対応情報と、に基づいて、前記削除の制御を要求する制御信号に応じた前記情報処理装置における仮想マシンの削除状態を判定する、
ことを特徴とする付記１〜６のいずれか一つに記載の制御装置。
【０１８７】
（付記８）仮想マシンの作成の制御を要求する第１制御信号を他の制御装置から受信する受信部と、
前記受信部によって受信された前記第１制御信号に基づいて、情報処理装置による仮想マシンの作成を要求する第２制御信号であって前記他の制御装置による前記第１制御信号の送信に関するトランザクションの識別子を格納した第２制御信号を前記情報処理装置へ送信する送信部と、
を備えることを特徴とする制御装置。
【０１８８】
（付記９）前記送信部は、前記トランザクションの識別子と、前記第２制御信号によって作成を要求する前記仮想マシンについて自装置が生成した識別子と、を格納した前記第２制御信号を送信することを特徴とする付記８に記載の制御装置。
【０１８９】
（付記１０）前記送信部は、前記第２制御信号に基づく前記情報処理装置による仮想マシンの作成結果を示す第３制御信号を前記他の制御装置へ送信することを特徴とする付記８または９に記載の制御装置。
【０１９０】
（付記１１）第１制御装置が、情報処理装置による仮想マシンの作成の制御を要求する第１制御信号を第２制御装置へ送信し、
前記第２制御装置が、前記第１制御装置によって送信された前記第１制御信号に基づいて、前記情報処理装置による仮想マシンの作成を要求する第２制御信号であって前記第１制御装置による前記第１制御信号の送信に関するトランザクションの識別子を格納した第２制御信号を前記情報処理装置へ送信し、
前記情報処理装置が、前記第２制御装置によって送信された前記第２制御信号に基づいて仮想マシンを作成し、作成した前記仮想マシンを示す情報と、前記トランザクションの識別子と、を対応付けた対応情報を生成した後に、前記第１制御装置が、前記トランザクションの識別子と、前記情報処理装置によって生成された前記対応情報と、に基づいて、前記第１制御信号に応じた前記情報処理装置における仮想マシンの作成状態を判定する、
ことを特徴とする制御方法。
【符号の説明】
【０１９１】
１００  情報処理システム
１１０  第１制御装置
１１１，１２２  送信部
１１２  判定部
１２０  第２制御装置
１２１  受信部
１３０  情報処理装置
２００  仮想化システム
２１０  ＮＦＶＯ
２２１，２２２  ＶＮＦＭ
２３１  ＶＩＭ
２４１，２４２  ＶＮＦ
２５０  ＮＦＶＩ
３１０，７１０，９１０，２４０４  通信インタフェース
３２０，７２０，９２０  メッセージ受信部
３３０  トランザクション・シナリオ制御部
３４０  仮想リソース・キャパシティ管理部
３５０  タイマ制御部
３６０，２４０２  メモリ
３６１，１１０１  トランザクションタイマ
３７０，７５０，９４０  メッセージ送信部
３８０，７６０，９５０  データベース
３８１  仮想リソース管理テーブル
３８２  全体リソース管理テーブル
３８３  トランザクション管理テーブル
７３０，９３０  仮想リソース制御部
７４０  トランザクション・シナリオ管理部
７６１  ｖｎｆｃＩｎｓｔａｎｃｅ管理テーブル
９５１  ＶＭ管理テーブル
２４００  コンピュータ
２４０１  プロセッサ
２４０３  ユーザインタフェース
２４０９  バス
【図１】
2018112898.tif 000003
【図２】
2018112898.tif 000004
【図３】
2018112898.tif 000005
【図４】
2018112898.tif 000006
【図５】
2018112898.tif 000007
【図６】
2018112898.tif 000008
【図７】
2018112898.tif 000009
【図８】
2018112898.tif 000010
【図９】
2018112898.tif 000011
【図１０】
2018112898.tif 000012
【図１１】
2018112898.tif 000013
【図１２】
2018112898.tif 000014
【図１３】
2018112898.tif 000015
【図１４】
2018112898.tif 000016
【図１５】
2018112898.tif 000017
【図１６】
2018112898.tif 000018
【図１７】
2018112898.tif 000019
【図１８】
2018112898.tif 000020
【図１９】
2018112898.tif 000021
【図２０】
2018112898.tif 000022
【図２１】
2018112898.tif 000023
【図２２】
2018112898.tif 000024
【図２３】
2018112898.tif 000025
【図２４】
2018112898.tif 000026