(57)【要約】【課題】  既存ソフトウェアのVNF環境への移行を容易にする。【解決手段】  ＶＮＦプログラムを対象とした、ＮＦＶＩサーバ装置への配備、起動、停止、または、前記ＮＦＶＩサーバ装置からの削除（以降、ＬＳＯと略記）の実行前または実行後に自装置が実行する第二のスクリプトを定義する記述書を格納するＶＮＦＤ記憶手段と、第二のスクリプトを記憶するスクリプト記憶手段と、ＬＳＯの実行要求を受信すると、ＮＦＶＩサーバ装置にＬＳＯ実行の指示を送信し、記述書の定義に基づいて、ＬＳＯの実行前または実行後に、第二のスクリプトを実行する制御手段と、を備えるＶＮＦ管理装置。【選択図】      図１
2018147429.tif 000002
【特許請求の範囲】
【請求項１】
ＶＮＦプログラムを対象とした、ＮＦＶＩサーバ装置への配備、起動、停止、または、前記ＮＦＶＩサーバ装置からの削除（以降、ＬＳＯと略記）の実行前または実行後に自装置が実行する第二のスクリプトを定義する記述書を格納するＶＮＦＤ記憶手段と、
前記二のスクリプトを記憶するスクリプト記憶手段と、
前記ＬＳＯの実行要求を受信すると、前記ＮＦＶＩサーバ装置に前記ＬＳＯ実行の指示を送信し、前記記述書の定義に基づいて、前記ＬＳＯの実行前または実行後に、前記第二のスクリプトを実行する制御手段と、を備えるＶＮＦ管理装置。
【請求項２】
前記第二のスクリプトは、実行されると、前記ＮＦＶＩサーバ装置のリブートの待ち合わせ、または、前記ＮＦＶＩサーバ装置以外の装置へのデータ送信を行う、請求項１のＶＮＦ管理装置。
【請求項３】
前記記述書は、前記ＬＳＯ実行時に前記ＮＦＶＩサーバ装置で実行される第一のスクリプトの定義をＴＯＳＣＡ仕様に準拠して記述し、前記第二のスクリプトの定義を前記ＴＯＳＣＡ仕様に対する拡張仕様に準拠して記述している、請求項１乃至請求項２の何れか１項のＶＮＦ管理装置。
【請求項４】
前記記述書は、前記第一のスクリプトの定義をＴＯＳＣＡ仕様に準拠して記述し、前記第二のスクリプトの定義をＴＯＳＣＡ仕様のNode Typeのlifecycle operation記述部内に追加記述している、請求項１乃至請求項２の何れか１項のＶＮＦ管理装置。
【請求項５】
前記第二のスクリプトの構成部品を格納するライブラリ格納手段と、
前記構成部品を組み合わせて前記第二のスクリプトを作成し、さらに、前記記述書を作成する為のグラフィカルユーザインタフェースを提供するスクリプト作成手段と、を備える、請求項１乃至請求項４の何れか１項のＶＮＦ管理装置。
【請求項６】
前記ＶＮＦプログラムを格納するＶＮＦライブラリ記憶手段と、
前記配備の前記ＬＳＯの実行指示を受信して、前記ＶＮＦプログラムを配備して起動する仮想マシンを生成して起動する仮想ＰＦ手段と、を備える前記ＮＦＶＩサーバ装置、並びに、
請求項１乃至請求項５の何れか１項のＶＮＦ管理装置、を包含するＶＮＦシステム。
【請求項７】
動作指示を受信して所定処理を実行し、前記所定処理後、前記仮想マシンのリブート、および、その後の前記ＮＦＶＩプログラムの再起動を待ち合わせる前記ＥＭＳサーバ装置を、さらに包含し、
前記ＶＮＦ管理装置の前記制御手段が実行する前記第二のスクリプトは、前記ＮＦＶＩサーバ対応に設けられた前記ＥＭＳサーバに前記動作指示を送信し、
前記ＮＦＶＩサーバ装置の前記仮想マシンが実行する前記ＶＮＦプログラムは、起動されると前記所定処理の終了を待ち合わせて定められた処理を実行して、その後、前記仮想マシンをリブートする、請求項６のＶＮＦシステム。
【請求項８】
ＶＮＦプログラムを対象とした、ＮＦＶＩサーバ装置への配備、起動、停止、または、前記ＮＦＶＩサーバ装置からの削除（以降、ＬＳＯと略記）の実行前または実行後に自装置が実行する第二のスクリプトを定義する記述書を記憶し、
前記第二のスクリプトを記憶し、
前記ＬＳＯの実行要求を受信すると、前記ＮＦＶＩサーバ装置に前記ＬＳＯ実行の指示を送信し、前記記述書の定義に基づいて、前記第ＬＳＯの実行前または実行後に、前記第二のスクリプトを実行する、ＶＮＦ管理方法。
【請求項９】
前記第二のスクリプトは、実行されると、前記ＮＦＶＩサーバ装置のリブートの待ち合わせ、または、前記ＮＦＶＩサーバ装置以外の装置へのデータ送信を行う、請求項８のＶＮＦ管理方法。
【請求項１０】
ＶＮＦプログラムを対象とした、ＮＦＶＩサーバ装置への配備、起動、停止、または、前記ＮＦＶＩサーバ装置からの削除（以降、ＬＳＯと略記）の実行前または実行後に自装置が実行する第二のスクリプトを定義する記述書を記憶する処理と、
前記第二のスクリプトを記憶する処理と、
前記ＬＳＯの実行要求を受信すると、前記ＮＦＶＩサーバ装置に前記ＬＳＯ実行の指示を送信し、前記記述書の定義に基づいて、前記ＬＳＯの実行前または実行後に、前記第二のスクリプトを実行する処理と、をコンピュータに実行させるＶＮＦ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、VNF管理装置、VNFシステム、VNF管理方法、および、VNF管理プログラム、特にクラウドを前提に作成されていないソフトウェアに対応できるVNF(Virtual Network Functions)システムの管理、に関する。
【背景技術】
【０００２】
欧州電気通信標準化機構ETSI(European Telecommunications Standards Institute)にて、NFV(Network Functions Virtualization)の標準化がすすめられており、NFVの構成、各ノードの役割、インターフェース等が定義されている。この標準化においては、VNFD(VNF Descriptor)として、OASIS(Organization for the Advancement of Structured Information Standards) TOSCA(Topology and Orchestration Specification for Cloud Applications)の利用が検討されている（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】TOSCA Simple Profile for Network Functions Virtualization (NVF) Version 1.0  Committee Specification Draft 03    １７March 2016http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/tosca-nfv-v1.0.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００４】
NFVへ移行する過程で、初期はハードウェア上や単純な仮想環境上で動作している既存ソフトウェア（以降、既存ソフトウェア）を、単純にそのままNFV環境のVNFC(Virtual Network Function Component)として載せ替えることが想定される。
【０００５】
VNFのライフサイクルを制御する場合、NFVやクラウドで動作することを前提に設計された、すなわちステートレス化やコンポーネント化が意識されているソフトウェアであれば、外部からの制御は単純なコマンド実行程度で充分なことが多い。しかし、載せ替えられたソフトウェアが既存ソフトウェアの場合、そのソフトウェア固有の複雑な制御が必要となることが多い。例えば、インスタンス作成の際の設定投入処理の途中でＯＳ（Operating System）リブートが必要、終了の前に事前に動作中の他の装置への処理が必要である、が必要となることが想定される。
【０００６】
一方、TOSCAは元々クラウド環境を対象としたモデリング言語であり、インスタンス作成時や設定時の単純なスクリプト起動程度しか考慮されておらず、例えば、OSリブートを挟んでの制御や、他ノードとの協調は考慮されていない。
【０００７】
また、これらの設定処理を行っている既存ソフトウェア専用のEMS（Element Management System）が存在する場合、当該既存ソフトウェアは、EMSと連携することでNFV対応を実現することが考えられる。この場合、EMSとVNFM(Virtual Network Function Manager)やVIM(Virtual Infrastructure Manager)との連携が必要となるが、TOSCAはEMS等の他ノードを介しての制御を考慮してない。従って、新しいVNFを導入するたびにインターフェースやシーケンス等の検討、開発が必要となるという課題がある。
【０００８】
本発明は、上記課題を解決し、既存ソフトウェアのVNFへの移行を容易にすることが出来る、VNF管理装置、VNFシステム、VNF管理方法、および、VNF管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の１実施の形態のVNF管理装置は、ＶＮＦプログラムを対象とした、ＮＦＶＩサーバ装置への配備、起動、停止、または、前記ＮＦＶＩサーバ装置からの削除（以降、ＬＳＯと略記）の実行前または実行後に自装置が実行する第二のスクリプトを定義する記述書を格納するＶＮＦＤ記憶手段と、前記第二のスクリプトを記憶するスクリプト記憶手段と、前記ＬＳＯの実行要求を受信すると、前記ＮＦＶＩサーバ装置に前記ＬＳＯ実行の指示を送信し、前記記述書の定義に基づいて、前記ＬＳＯの実行前または実行後に、前記第二のスクリプトを実行する制御手段と、を備える。
【００１０】
本発明の１実施の形態のVNF管理方法は、ＶＮＦプログラムを対象とした、ＮＦＶＩサーバ装置への配備、起動、停止、または、前記ＮＦＶＩサーバ装置からの削除（以降、ＬＳＯと略記）の実行前または実行後に自装置が実行する第二のスクリプトを定義する記述書を記憶し、前記第二のスクリプトを記憶し、前記ＬＳＯの実行要求を受信すると、前記ＮＦＶＩサーバ装置に前記ＬＳＯ実行の指示を送信し、前記記述書の定義に基づいて、前記ＬＳＯの実行前または実行後に、前記第二のスクリプトを実行する。
【００１１】
本発明の１実施の形態のVNF管理プログラムは、ＶＮＦプログラムを対象とした、当該ＮＦＶＩサーバ装置への配備、起動、停止、または、前記ＮＦＶＩサーバ装置からの削除（以降、ＬＳＯと略記）の実行前または実行後に自装置が実行する第二のスクリプトを定義する記述書を記憶する処理と、前記第二のスクリプトを記憶する処理と、前記ＬＳＯの実行要求を受信すると、前記ＮＦＶＩサーバ装置に前記ＬＳＯ実行の指示を送信し、前記記述書の定義に基づいて、前記ＬＳＯの実行前または実行後に、前記第二のスクリプトを実行する処理と、をコンピュータに実行させる。
【発明の効果】
【００１２】
本発明にかかるVNF管理装置は、既存ソフトウェアのVNFへの移行を容易にすることが出来る。
【図面の簡単な説明】
【００１３】
【図１】図１は、第一の実施の形態にかかるVNFシステム50の構成を示すブロック図である。
【図２】図２は、既存ソフトウェアのインスタンス化、消滅、起動、停止に必要なシーケンスを作成するGUIを示す図である。
【図３】図３は、第一の実施の形態のVNFシステム50が使用する、一部拡張したTOSCA仕様で記述できる起動タイミングを示す。
【図４】図４は、第一の実施の形態のVNFシステム50が使用するVNFDの例である。
【図５】図５は、コンピュータ装置60の構成図である。
【図６】図６はVNFDを作成する処理の流れを示したフローチャートである。
【図７】図７は既存ソフトウェアに対応したNFVMのライフサイクルサービスオーケストレーション（LSO）の処理の流れを示したフローチャートである。
【図８】図８は、第二の実施の形態にかかるVNF管理装置10の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
＜第一の実施の形態＞
＜概要＞
本実施の形態のVNF管理装置10は、ライフサイクル制御をTOSCAのNode Typeの拡張仕様で記述したVFNDを解析して実行することで、NFV環境において、既存ソフトウェアの、配備、起動、停止、または、削除（以降、LSO（Lifecycle Service Orchestration）と略記）を実現する。さらに、VNF管理装置10は、既存ソフトウェアのLSOに必要な処理シーケンスを実現するスクリプト作成を支援する。
【００１５】
＜構成＞
図１は、本発明の第一の実施の形態にかかるVNFシステム50の構成を示すブロック図である。VNFシステム50の各装置は、図１に示す以外にも多くの機能、あるいは、構成要素を備えているが、今回の発明に関係がない部分については割愛する。
【００１６】
VNFシステム50は、通信ネットワークで接続されたVNF管理装置10、仮想基盤管理装置20、EMSサーバ装置30、および、NFVIサーバ装置40を包含する。
【００１７】
NFVIサーバ装置40は、VNF規約におけるNFVI（NFV Infrastructure）に相当する装置であり、キャリア向けのネットワーク機能VNFを仮想マシン41上に実現するための物理基盤である。図１では単体の装置として描かれているが、NFVIサーバ装置40は、通信ネットワークで接続された複数のコンピュータ装置60からなる、いわゆるクラウド基盤であっても良い。
【００１８】
ネットワーク機能VNFは、仮想マシン41上で、VNFC（VNF Component、図１においてはVNFプログラム42）を実行することで実現される。或るVNFは、仮想マシン41上のVNFプログラム42が、EMSサーバ装置30（Element Management System）と連携することで実現される。  VNF管理装置10は、NFVIサーバ装置40上で実現されるVNFの例えば、生成、消滅を管理する装置である。VNF管理装置10は、VIM（Virtual Infrastructure Manager、図１においては、仮想基盤管理装置20）を介して、NFVIサーバ装置40と通信を行う。
【００１９】
＜VNF管理装置10の構成＞
VNF管理装置10は、スクリプト・VNFD作成部11、ライブラリ記憶部12、第二スクリプト記憶部13、VNFD記憶部14、および、制御部15を備える。
【００２０】
スクリプト・VNFD作成部11は、図２のような、既存ソフトウェアのインスタンス化（生成（creation）とも呼ぶ）、消滅（termination）、起動（start）、停止（stop）に必要なシーケンスを作成するGUI(Graphical User Interface)を提供する。
【００２１】
オペレータは、スクリプトの実行タイミング（図３参照）を指定し、必要なシーケンスを作成する。スクリプト・VNFD作成部11は、作成されたシーケンスに従ってスクリプトを作成する。具体的には、スクリプト・VNFD作成部11は、シーケンス上で指定された処理内容に対応するライブラリ記憶部12のパーツを組み合わせてスクリプトを作成する。
【００２２】
作成に使用するスクリプトの言語は、特に限定されない。VNFプログラム42の状態を待つ処理（リブート完了等）については、VNF管理装置10が持つ、モニタリング機能を利用してもよい。または、リブート監視は、スクリプトが仮想マシン41にリブート指示を送信し、その後、再度起動されたVNFプログラム42からの起動メッセージをスクリプトが待ち合わせることで実現しても良い。
【００２３】
ライブラリ記憶部12は、VNFプログラム42の制御に必要な処理を下記の例ように機能単位でスクリプトのパーツとして保持する。オペレータが、ライブラリ記憶部12にパーツを追加登録しても良い。各パーツは、その処理内容に応じて引数を要求する。必要な引数は、スクリプト・VNFD作成部11でオペレータが指定したものを使用する。
【００２４】
パーツの例
・SSH（Secure Shell）ログイン（引数：宛先IP、ポート、認証方法、ユーザー名、パスワード、等）
・任意コマンド実行(引数：実行コマンド、戻り値別の処理、等)
・SFTP(SSH File Transfer Protocol)ファイル転送（引数：宛先IP、ポート、認証方法、ユーザー名、パスワード,対象ファイル、パス等）
・リブート待ち（引数：起動確認方法、チェック間隔、待ちタイマー、等）
スクリプト・VNFD作成部11は、さらに、作成したスクリプトを含めて、オペレータの入力内容に応じてVNFDを作成する。スクリプト・VNFD作成部11は、VNFのLSOにおいて、スクリプトの起動タイミング対応に、起動するスクリプトを定義した情報である。本実施の形態において、VNFDは、一部拡張したTOSCA仕様に基づいて記述される。
【００２５】
図３は、本実施の形態のVNFシステム50が使用する、一部拡張したTOSCA仕様で記述できるスクリプトの起動タイミングを示す。このうち、S1乃至S4は、TOSCAの標準仕様で記述できる起動タイミングであり、E1乃至E8は、TOSCAの標準仕様で記述できず拡張仕様で記述する起動タイミングである。具体的に、S1乃至S4は、VNFの生成時、起動時、停止時、および、削除時である。E1及びE2はS1の前と後、E3及びE4はS2の前と後、E５及びE６はS３の前と後、E７及びE８はS４の前と後のタイミングである。
【００２６】
図４は、本実施の形態のVNFシステム50が使用するVNFDの例である。S1乃至S4の標準仕様の起動タイミングは、Node Typeのlifecycle operation記述部内でStandard配下に記述されている。E1乃至E8の拡張仕様のタイミングは、Node Typeのlifecycle operation記述部内でExtend配下に記述されている。
【００２７】
この例では、例えば、E1のbefore creationのタイミングで、before_create.shというスクリプト（図４（１））が、次に、S1のcreateのタイミングで、create.shというスクリプト（図４（２））が実行されることを定義している。なお、E1乃至E8の何れかのタイミングで実行すべきスクリプトが無い時は、当該タイミングは、VNFDの記述から省略されて良い。
【００２８】
なお、Extend配下で指定されたスクリプトは、VNF管理装置10上で制御部15が実行する。Standard配下のスクリプトは、NFVIサーバ装置40上でVNFプログラム42（例えば、VNFプログラム42内のOS部）が実行する。すなわち、EMSサーバ装置30経由の処理や仮想マシン41のリブート待ち処理が含まれるスクリプトはExtend配下に指定される。
【００２９】
スクリプト・VNFD作成部11は、作成したVNFDをVNFD記憶部14に、Extend配下に定義したスクリプトを、第二スクリプト記憶部13に格納する。
【００３０】
さらに、スクリプト・VNFD作成部11は、作成したStandard配下のスクリプトを起動タイミング情報と共に、NFVIサーバ装置40に送信し、受信した仮想PF部44が第一スクリプト記憶部46に格納する。なお、Standard配下のスクリプトは、予め、NFVIサーバ装置40の第一スクリプト記憶部46に格納されていても良い。
【００３１】
制御部15は、VNFDを特定したLSOの指示（生成）、または、VNFR(VNF Record)を特定したLSO等（生成、消滅、Healing, Scale-out, 起動, 停止）の指示を受け取ると、制御対象となるVNFのVNFDをVNFD記憶部14から取り出す。次いで、制御部15は、VNFDのVNF情報(NodeType、RelationshipType, RequirementType, CapabilityType等)に加え、今回定義する拡張仕様部（Extend記述）を読み取り、その記述に基づいて、定義されているスクリプトの実行、処理結果判定を行う。
【００３２】
また、制御部15は、仮想基盤管理装置20の指示受付部22に対して、例えばVDU（Virtualized Deployment Unit）やVNFC、CP(Connection Point)、VL（Virtual Link）の作成、削除等のLSOの実行を指示する。
【００３３】
ここで、VNF管理装置10のスクリプト・VNFD作成部11、および、制御部15は、論理回路、または、専用プロセッサとファームウェアで構成される。ライブラリ記憶部12、第二スクリプト記憶部13、および、VNFD記憶部14は、ＨＤＤ（Hard Disk Drive）、または、ＳＤＤ(Solid State Drive)等の記憶装置で構成される。
【００３４】
VNF管理装置10はコンピュータ装置60で構成されても良い。図５は、コンピュータ装置60の構成図である。コンピュータ装置60は、バス64で相互に接続された、プロセッサ61、主記憶部63、および、外部記憶装置62を備える。プロセッサ61は、バス64を経由して、主記憶部63、および、外部記憶装置62に対してデータの読み書きを行う。
【００３５】
また、プロセッサ61は、主記憶部63に格納されているプログラム65を実行する。なお、プログラム65は、当初外部記憶装置62に格納されており、コンピュータ装置60の初期設定時に、プロセッサ61が外部記憶装置62から主記憶部63にロードしても良い。
【００３６】
ここで、主記憶部63は半導体メモリ装置である。外部記憶装置62は、ＨＤＤ、または、ＳＤＤ等の記憶装置である。
【００３７】
VNF管理装置10のプロセッサ61は、プログラム65を実行することにより、スクリプト・VNFD作成部11、あるいは、制御部15として機能する。すなわち、プロセッサ61は、プログラム65を実行することにより、スクリプト・VNFD作成部11、あるいは、制御部15が行う処理を実行する。
【００３８】
外部記憶装置62は、ライブラリ記憶部12、第二スクリプト記憶部13、および、VNFD記憶部14として使用されても良い。
【００３９】
＜仮想基盤管理装置20の構成＞
仮想基盤管理装置20は、指示受付部22とNFVI制御部21を備える。
【００４０】
指示受付部22は、VNF管理装置10の制御部15からの指示を受け取り、それをNFVI制御部21へ渡す。指示を受け取ったNFVI制御部21は、NFVIサーバ装置40の仮想PF部44が提供するAPI（Application Program Interface）を実行することで、当該部がNFVI上に必要なノードを作成することを要求する。
【００４１】
＜NFVIサーバ装置40の構成＞
NFVIサーバ装置40は、仮想PF部44（Platform）、VNFライブラリ記憶部45、および、第一スクリプト記憶部46を備える。
【００４２】
仮想PF部44は、仮想マシン41（VDUに相当）を生成、実行、消滅等を行うプラットフォームを提供する。また、仮想PF部44は、NFVI制御部21からVNFのLSOの指示を受け付けると、例えば、仮想マシン41、VNFプログラム42、CP、VL等のLSOを行う。ここで、仮想マシン41の生成は仮想マシン41を生成して起動することを、VNFプログラム42の生成は生成された仮想マシン41上にVNFプログラム42を配備（仮想ディスクへVNFプログラム42を格納、ファイルを展開、環境設定等、VNFプログラム42を実行可能とする一連の処理実行）することを意味する。
【００４３】
配備されたVNFプログラム42は、仮想マシン41で実行されて、ネットワーク機能VNFを実現する。なお、VNFプログラム42は、OS部とアプリケーション部に分けて構成されていても良い。
【００４４】
VNFライブラリ記憶部45は、VNFプログラム42、その他、仮想PF部44が利用するツールを格納する。
【００４５】
＜EMSサーバ装置30＞
EMSサーバ装置30は、VNF管理装置10の制御部15からの遠隔処理を受け付ける。この遠隔処理は、例えば、既存ソフトウェアで実現されているVNFプログラム42の動作環境整備である。
【００４６】
例えば、先ず、VNFプログラム42は、VNF生成のLSO実行により配備・起動され、EMSサーバ装置30からの構成情報ファイルの転送を待ち合わせる。
【００４７】
EMSサーバ装置30は、E2のタイミングのスクリプトからの要求を受信して、構成情報ファイルを送信する。ファイル送信が終了すると、EMSサーバ装置30は、VNFプログラム42による仮想マシン41のリブートを待ち合わせる。
【００４８】
一方、VNFプログラム42は、EMSサーバ装置30から送信された構成情報ファイルに基づいて構成変更の処理を行い、仮想マシン41のリブートを行う。リブート後、構成変更が反映された仮想マシン41から再度起動されたVNFプログラム42は、サービスを開始する。
【００４９】
この後、VNFプログラム42は、EMSサーバ装置30と連携してサービスを提供する。
【００５０】
＜動作＞
図６はVNFDを作成する処理の流れを示したフローチャートである。
【００５１】
S１:VNFDを作成
スクリプト・VNFD作成部11は、オペレータから、NFVDを作成するために必要な情報を取得して、TOSCA仕様に基づく範囲のVNFDを作成する。必要に応じ、スクリプト・VNFD作成部11は、NFVIサーバ装置40で実行されるスクリプトをここで作成しても良い。
【００５２】
S2:固有処理の要否を判定
スクリプト・VNFD作成部11は、作成するVNFが既存ソフトウェアを使用しており、固有の処理が必要かどうかをオペレータに問合せ、応答を得る。
【００５３】
S3：スクリプト作成GUIを表示
スクリプト・VNFD作成部11は、S2でオペレータから固有処理が必要との応答を得た場合（S2でYes）、スクリプトを作成する為の、例えば図２が示すようなシーケンス作成GUIを表示する。
【００５４】
S4：シーケンスを作成
スクリプト・VNFD作成部11は、オペレータからの入力に従ってスクリプトの実行タイミング毎にシーケンスを作成する。すなわち、スクリプト・VNFD作成部11は、図３が示すE1乃至E8の実行タイミング数分だけ、シーケンス作成GUIを繰り返し表示する（最大８回）。
【００５５】
S５：スクリプトを作成
スクリプト・VNFD作成部11は、作成されたシーケンスで使用されているパーツをライブラリ記憶部12から取得して処理順序にしたがいスクリプトを組み上げる。
【００５６】
S6：VNFDにスクリプト情報を反映
スクリプト・VNFD作成部11は、S1で作成されたTOSCA仕様のVNFDに、S５で作成されたスクリプトの情報を実行タイミング別に追記する。すなわち、スクリプト・VNFD作成部11は、ここで、TOSCAの拡張仕様に基づく記述をVNFDに追加する。最後に、スクリプト・VNFD作成部11は、ここで作成したVNDFをVNFD記憶部14に、拡張仕様用（Extend配下）のスクリプトを第二スクリプト記憶部13に格納する。
【００５７】
図７は既存ソフトウェアに対応したNFVのLSOの処理の流れを示したフローチャートである。
【００５８】
T1：VNFのLSO実行の指示を受信
VNF管理装置10の制御部15が、オペレータが操作する端末装置から、VNFDもしくはVNFRに対するLSOの指示を受信して、指定されたVNFDをVNFD記憶部14から取得する。あらかじめVNFDに対して登録されている処理（Auto Healing, Auto Scale-Out等）が起動条件を満たした場合も、制御部15は、対象となるVNFDをVNFD記憶部14から取得する。
【００５９】
T2：VNFDを解析
制御部15は、取得したVNFDの内容を読み取り、指示されたLSOに必要な処理とその実行順序を判別する。
【００６０】
T3：事前処理の有無を判定
T3からT７に至るステップシーケンスは、図３のS1、S2、S3、および、S4のそれぞれに対して１回ずつ実行される。
【００６１】
T3において制御部15は、T2における判定結果を元に、指示されたLSO(図３のS1乃至S4が該当)を実施する前の処理(図３のE1、E3、E5及び、E７が該当)の有無を判定する。
【００６２】
T4：事前処理を実行
T3で事前処理有りと判定された場合、制御部15は、処理中の実行タイミングに対応してVNFDで定義されたスクリプトを実行する。制御部15は、例えばLSOとしてVNFの生成（create）が指定され、図４のVNFDを取得した場合、before_create.sh（図４の（１））というスクリプトを実行する。
【００６３】
T5：VNFのLSOを実行
続いて、制御部15は、仮想基盤管理装置20の指示受付部22を経由して、NFVI制御部21にVNFのLSOの実行を指示する。NFVI制御部21は、NFVIサーバ装置40の仮想PF部44が提供するAPIを呼び出す。仮想PF部44は、指定されたLSOを実行する。
【００６４】
例えば、図４が示すVNFDに基づいて、VNFのLSOの生成（create）が指示された場合、仮想PF部44は、仮想HW（仮想マシン41（VDU）、および、CP）を作成し、その上にVNFプログラム42（VNFC）を配備し、ネットワーク（VL）を接続する。その後、VNFプログラム42の、例えばOS部は、第一スクリプト記憶部46からcreate.sh（図４の（２））を取り出して実行する。
【００６５】
起動（start）が指示された場合、同様に、仮想PF部44は、VNFプログラム42（VNFC）に対してサービスの開始を指示する。その前あるいは後で、VNFプログラム42は、第一スクリプト記憶部46からstart.sh（図４の（４））を取り出して実行する。
【００６６】
T6：事後処理の有無を判定
制御部15は、指示されたLSO(図３のS1乃至S4が該当)を実施した後の処理(図３のE2、E4、E6及び、E8が該当)の有無を判定する。
【００６７】
T7：事後処理を実行
T6で事後処理有りと判定された場合、制御部15は、処理中の実行タイミングに対応してVNFDで定義されたスクリプトを実行する。制御部15は、例えばLSOとしてVNFの生成（create）が指定され、図４のVNFDを取得した場合、after_create.sh（図４の（３））というスクリプトを実行する。
【００６８】
＜第一の実施の形態の変形例＞
TOSCA仕様の拡張は、NodeTypeの外側のConfigurationType等で別途定義し、その名前(ConfigurationTypeName等で定義した文字列)がNodeType内に記載されることとしても良い。
【００６９】
スクリプト・VNFD作成部11は、VNF管理装置10とは別の装置上で動作してもよい。
【００７０】
EMSサーバ装置30は、NFVIサーバ装置40に含まれていてもよい。対象のNFVIサーバ装置40は、複数台存在しても良い。
【００７１】
TOSCA仕様は、VNFDのみではなく、NSD（Network Service Descriptor）に適用しても良い。
【００７２】
＜効果＞
本実施の形態にかかるVNF管理装置10は、既存ソフトウェアのVNF環境への移行を容易にする。すなわち、VNF管理装置10は、クラウドやNFV環境を前提に作成されていないソフトウェアを、NFV環境に載せ替える場合であっても、他のVNFと同じようにLSOを可能とする。
【００７３】
その理由は、標準的なLSOの前後で、既存ソフトウェア対応のリブート監視などの固有処理を実行できるためである。これにより、固有処理のためのVNF管理装置10やEMSサーバ装置30の開発工数、修正工数が抑えられ、さらにNFV導入までの期間を短縮することができる。
【００７４】
＜第二の実施形態＞
図８は、本発明の第二の実施の形態にかかるVNF管理装置10の構成を示すブロック図である。VNF管理装置10は、VNFD記憶部14と、第二スクリプト記憶部13と、制御部15と、を備える。
【００７５】
VNFD記憶部14は、第二のスクリプトを定義する記述書を格納する。ここで、第二のスクリプトは、VNFプログラム42を対象とした、NFVIサーバ装置40への配備、起動、停止、または、NFVIサーバ装置40からの削除（以降、LSOと略記）の実行前または実行後にVNF管理装置10が実行する。
【００７６】
第二スクリプト記憶部13は、第二のスクリプトを記憶する。制御部15は、LSOの実行要求を受信すると、NFVIサーバ装置40にLSO実行の指示を送信し、記述書の定義に基づいて、LSO実行前または実行後に、第二のスクリプトを実行する。
【００７７】
本実施の形態にかかるVNF管理装置10は、既存ソフトウェアのVNF環境への移行を容易にする。すなわち、VNF管理装置10は、クラウドやNFV環境を前提に作成されていないソフトウェアを、NFV環境に載せ替える場合であっても、他のVNFと同じようにLSOを可能とする。
【００７８】
その理由は、標準的なLSOの前後で、既存ソフトウェア対応のリブート監視などの固有処理を実行できるためである。
【００７９】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００８０】
10    VNF管理装置
11    スクリプト・VNFD作成部
12    ライブラリ記憶部
13    第二スクリプト記憶部
14    VNFD記憶部
15    制御部
20    仮想基盤管理装置
21    NFVI制御部
22    指示受付部
30    EMSサーバ装置
40    NFVIサーバ装置
41    仮想マシン
42    VNFプログラム
44    仮想PF部
45    VNFライブラリ記憶部
46    第一スクリプト記憶部
50    VNFシステム
60    コンピュータ装置
61    プロセッサ
62    外部記憶装置
63    主記憶部
64    バス
65    プログラム
【図１】
2018147429.tif 000003
【図２】
2018147429.tif 000004
【図３】
2018147429.tif 000005
【図４】
2018147429.tif 000006
【図５】
2018147429.tif 000007
【図６】
2018147429.tif 000008
【図７】
2018147429.tif 000009
【図８】
2018147429.tif 000010