(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-28
(45)【発行日】2022-12-06
(54)【発明の名称】ネットワークシステムの制御方法および制御装置
(51)【国際特許分類】
H04L 41/40 20220101AFI20221129BHJP
【FI】
H04L41/40
(21)【出願番号】P 2020066494
(22)【出願日】2020-04-02
(62)【分割の表示】P 2018509293の分割
【原出願日】2017-03-27
【審査請求日】2020-04-02
【審判番号】
【審判請求日】2022-03-18
(31)【優先権主張番号】P 2016070569
(32)【優先日】2016-03-31
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100124811
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】石井 理
(72)【発明者】
【氏名】中野 慎太郎
(72)【発明者】
【氏名】長谷川 英男
(72)【発明者】
【氏名】柴田 誠也
【合議体】
【審判長】▲吉▼田 耕一
【審判官】富澤 哲生
【審判官】石井 則之
(56)【参考文献】
【文献】特開2016-220126(JP,A)
【文献】渡邊義和 他,CPU/FPGA密結合アーキテクチャを用いたネットワーク機能仮想化アクセラレーション手法,DAシンポジウム2016論文集,日本,情報処理学会,2016年9月15日,p.116-121
(58)【調査した分野】(Int.Cl.,DB名)
H04L 41/40
(57)【特許請求の範囲】
【請求項1】
仮想ネットワーク機能が動作するサーバを含むネットワークの制御装置であって、
前記サーバがプログラム可能論理回路に対応しているかどうかの情報と、前記サーバで起動する仮想マシンと、前記サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶する記憶手段と、
前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する制御手段と、
を有し、前記制御手段が、前記プログラム可能論理回路の更新に応じ、前記プログラム可能論理回路で動作している仮想マシンの
処理すべきデータ処理を
、前記プログラム可能論理回路と当該サーバのCPU(Central Processing Unit)とで共通のメモリを介して、前記CPUに代行させること特徴とする制御装置。
【請求項2】
前記制御手段は、
前記サーバがプログラム可能論理回路に対応しているかどうかに基づいて、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させる
ことを特徴とする請求項1に記載の制御装置。
【請求項3】
前記制御手段が、前記プログラム可能論理回路が更新されたことに応じ、前記CPUに代行させたデータ処理を前記更新されたプログラム可能論理回路に行わせることを特徴とする請求項1または2に記載の制御装置。
【請求項4】
前記制御手段が、前記仮想マシンまたは前記プログラム可能論理回路の追加、更新あるいは削除を実行することを特徴とする請求項1から3のいずれか1項に記載の制御装置。
【請求項5】
前記制御手段が、前記プログラム可能論理回路のプログラムを更新することを特徴とする請求項1から4のいずれか1項に記載の制御装置。
【請求項6】
仮想ネットワーク機能が動作するサーバを含むネットワークの制御方法であって、
前記サーバがプログラム可能論理回路に対応しているかどうかの情報と、前記サーバで起動する仮想マシンと、前記サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶し、
制御手段が、前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御し、
前記制御手段が、前記プログラム可能論理回路の更新に応じ、前記プログラム可能論理回路で動作している仮想マシンの
処理すべきデータ処理を
、前記プログラム可能論理回路と当該サーバのCPU(Central Processing Unit)とで共通のメモリを介して、前記CPUに代行させる、
ことを特徴とする制御方法。
【請求項7】
前記制御手段が、
前記サーバがプログラム可能論理回路に対応しているかどうかに基づいて、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させる
ことを特徴とする請求項6に記載の制御方法。
【請求項8】
前記制御手段が、前記プログラム可能論理回路が更新されたことに応じ、前記CPUに代行させたデータ処理を前記更新されたプログラム可能論理回路に行わせることを特徴とする請求項6または7に記載の制御方法。
【請求項9】
前記制御手段が、前記仮想マシンまたは前記プログラム可能論理回路の追加、更新あるいは削除を実行することを特徴とする請求項6から7のいずれか1項に記載の制御方法。
【請求項10】
前記制御手段が、前記プログラム可能論理回路のプログラムを更新することを特徴とする請求項6から9のいずれか1項に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は仮想ネットワーク機能を含むネットワークシステムに係り、特にその制御技術に関する。
【背景技術】
【0002】
現在の通信システムでは、BRAS(Broadband Remote Access Server)、NAT(Network Address Translation)、ルータ(Router)、ファイアウォール(FW:Firewall)、DPI(Deep Packet Inspection)などの様々なネットワーク機能(Network Function:NF)を専用のハードウェア機器(アプライアンス)により実現している。このために、ネットワークオペレータは、新たなネットワークサービスを立ち上げる場合、新たな専用のハートウェア機器の導入を強いられ、機器の購入費用や設置スペース等の多大なコストを必要とする。このような状況に鑑み、近年、ハードウェア機器で実行されるネットワーク機能をソフトウェアにより仮想的に実行する技術(ネットワーク機能の仮想化:Network Function Virtualization)が検討されている(非特許文献1)。ネットワークサービスの仮想化の一例として、特許文献1に、通信ノード装置上に複数の仮想ルータを構築し、これらの仮想ルータの資源を通信品質に応じて動的に配分する方法が開示されている。
【0003】
また、複数の仮想ネットワーク機能(Virtual Network Function:VNF)を組み合わせた通信経路に通信フローを伝送することにより種々のネットワークサービスを提供する技術も検討されている(たとえば、非特許文献2を参照)。
【0004】
図1に例示するように、ネットワーク機能の仮想化では、仮想ネットワーク機能VNFの論理的つながり(フォワーディンググラフ:Forwarding Graph)によりネットワークサービスが構成され管理される。ここでは、オーバレイネットワークに5つの仮想ネットワーク機能VNF-1~VNF-5からなるネットワークサービスが例示されている。
【0005】
このフォワーディンググラフの仮想ネットワーク機能VNF-1~VNF-5は、NFVインフラストラクチャ(NFV Infrastructure:NFVI)における汎用サーバSV1~SV4上で動作する。専用サーバでなく汎用サーバ上でキャリアグレードの機能を仮想的に動作させることにより、低価格化および運用の容易化を達成することができる。
【先行技術文献】
【特許文献】
【0006】
【非特許文献】
【0007】
【文献】Network Functions Virtualization - Update White Paper, October 15-17, 2013 at the “SDN and OpenFlow World Congress”, Frankfurt-Germany (http://portal.etsi.org/NFV/NFV_White_Pater2.pdf)
【0008】
【文献】ETSI GS NFV 001 v1.1.1 (2013-10)“Network Functions Virtualisation (NFV); Use Cases”(http://docbox.etsi.org/ISG/NFV/Open/Published/gs_NFV001v010101p%20-%20Use%20Cases.pdf)
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、汎用サーバでNFVを構築しようとすると、サーバのCPU(Central Processing Unit)処理、サーバ間の通信などにボトルネックが起こる可能性があり、このボトルネックを回避するには各サーバの高速化が不可欠である。CPUの高速化技術としては、CPUコア数を増加させる他に、CPUにFPGA(Field-Programmable Gate Array)を結合するアクセラレータ技術が知られている(たとえば、”Xeon+FPGA Platform for the Data Center” ISCA/CARL 2015 <http://www.ece.cmu.edu/~calcm/carl/lib/exe/fetch.php?media=carl15-gupta.pdf>)。
【0010】
ところが、このようなFPGAを付加したサーバを用いてNFVを構築すると、CPUだけなくFPGA上でもVM/VNFが動作するので、ネットワーク内のFPGAとVMとの対応についても管理する必要がある。たとえば、VMに応じたFPGAプログラムの更新を実行したり、バージョンアップ等のVMの更新あるいはVNF機能追加によるVMの追加/更新に伴ったFPGAの追加/更新を実行したりする必要がある。
【0011】
このように、サーバのCPUだけでなく、FPGAのようなプログラム可能論理回路がVM/VNFのインフラストラクチャとして含まれるネットワークでは、プログラム可能論理回路を考慮した特別の制御手法が必要である。
【0012】
そこで、本発明の目的は、プログラム可能論理回路がVM/VNFのインフラストラクチャとして含まれるネットワークを効率的に制御する制御方法および制御装置を提供することにある。
【課題を解決するための手段】
【0013】
本発明によるネットワーク制御装置は、仮想ネットワーク機能が動作するサーバを含むネットワークの制御装置であって、前記サーバがプログラム可能論理回路に対応しているかどうかの情報と、前記サーバで起動する仮想マシンと、前記サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶する記憶手段と、前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する制御手段と、を有し、前記制御手段が、前記プログラム可能論理回路の更新に応じ、前記プログラム可能論理回路で動作している仮想マシンの処理すべきデータ処理を、前記プログラム可能論理回路と当該サーバのCPU(Central Processing Unit)とで共通のメモリを介して、前記CPUに代行させること特徴とする。
本発明によるネットワーク制御方法は、仮想ネットワーク機能が動作するサーバを含むネットワークの制御方法であって、前記サーバがプログラム可能論理回路に対応しているかどうかの情報と、前記サーバで起動する仮想マシンと、前記サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶し、制御手段が、前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御し、前記制御手段が、前記プログラム可能論理回路の更新に応じ、前記プログラム可能論理回路で動作している仮想マシンの処理すべきデータ処理を、前記プログラム可能論理回路と当該サーバのCPU(Central Processing Unit)とで共通のメモリを介して、前記CPUに代行させる、ことを特徴とする。
【発明の効果】
【0014】
本発明によれば、プログラム可能論理回路がVM/VNFのインフラストラクチャとして含まれるネットワークを効率的に制御することができる。
【図面の簡単な説明】
【0015】
【
図1】
図1はネットワーク機能の仮想化の一例を示す概略的ネットワーク図である。
【
図2】
図2は本発明を適用するネットワークシステムの第1例を示す模式的なネットワーク図である。
【
図3】
図3は本発明を適用するネットワークシステムにおける物理サーバと仮想ネットワーク機能との対応関係の一例を示す模式的なネットワーク図である。
【
図4】
図4は本発明の第1実施形態による制御装置の概略的構成を示すブロック図である。
【
図5】
図5は本実施形態によるネットワークシステムの一例を示すネットワーク構成図である。
【
図6】
図6は本実施形態によるネットワークシステムの制御動作を説明するためのネットワーク構成図である。
【
図7A】
図7Aは
図6に示すネットワークシステムにおける機能管理部の管理データの一例を示す模式図である。
【
図7B】
図7Bは
図6に示すネットワークシステムにおけるFPGA管理部の管理データの一例を示す模式図である。
【
図8】
図8は本実施形態によるネットワークシステムにおける制御動作の第1例を説明するためのネットワーク構成図である。
【
図9A】
図9Aは
図8に示すネットワークシステムにおける機能管理部の管理データの一例を示す模式図である。
【
図9B】
図9Bは
図8に示すネットワークシステムにおけるFPGA管理部の管理データの一例を示す模式図である。
【
図10】
図10は本実施形態によるネットワークシステムにおける制御動作の第2例を説明するためのネットワーク構成図である。
【
図11】
図11は
図10に示すネットワークシステムにおけるFPGA管理部の管理データの一例を示す模式図である。
【
図12】
図12は本実施形態によるネットワークシステムにおける制御動作の第3例を説明するためのネットワーク構成図である。
【
図13】
図13はFPGA対応サーバの概略的構成を示すブロック図である。
【
図15】
図15は本発明を適用するネットワークシステムの第2例を示す模式的なネットワーク図である。
【
図16】
図16は本発明を適用するネットワークシステムの第3例を示す模式的なネットワーク図である。
【発明を実施するための形態】
【0016】
<実施形態の概要>
本発明の実施形態によれば、サーバ上で仮想化ネットワーク機能(VNF)が動作しうるネットワークシステムにおいて、サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシン(VM)と、サーバのVMで実現するVNFと、の対応関係を用いてネットワークを制御する。たとえば、どのサーバがプログラム可能論理回路に対応しているか、プログラム可能論理回路にどのプログラムがインストールされているか、どのサーバにどのVM、どのVNFが動作しているか、を示す情報を参照することで、更新すべきVMおよび/またはプログラム可能論理回路を特定することができる。このように、プログラム可能論理回路に関する情報とそれに対応付けられたVM/VNF情報とを用いることで、プログラム可能論理回路の回路構成プログラムの更新、VMの追加/更新に伴ったプログラム可能論理回路の追加/更新等の制御を実行することができ、プログラム可能論理回路を含むネットワークの効率的な制御が可能となる。
【0017】
まず、
図2および
図3を参照して、本発明の各実施形態を説明するためのシステム構成の一例を示す。このシステム構成は、説明の複雑化を回避するための簡略化された例であり、本発明を限定するものではない。
【0018】
<システム>
図2に例示するように、コントローラ10は、管理装置11からの指示に従って、複数のサーバからなる下位レイヤネットワーク20と複数のVNFからなる上位レイヤネットワーク30とを制御する。ここでは、図の簡略化のために、下位レイヤネットワーク20がサーバA、B、CおよびDからなり、上位レイヤネットワーク30が仮想ネットワーク機能VNF-1~VNF-5からなるものとする。
【0019】
下位レイヤネットワーク20における複数のサーバのうち少なくとも一つはプログラム可能論理回路を含むサーバである。プログラム可能論理回路は、後述するように、プログラム可能な定型的な処理を高速で実行可能なハードウェア回路であり、結合したCPUのアクセラレータとして動作可能である。また、プログラム可能論理回路は、ユーザが希望する論理機能を短期間で実現できるとともに、書き換え可能という利点も有する。以下、プログラム可能論理回路としてFPGAを例示し、CPUとFPGAとが結合したサーバをFPGA対応サーバ、FPGAのないサーバをFPGA非対応サーバと呼ぶ。
【0020】
上位レイヤネットワーク30における各VNFは下位レイヤネットワーク20の物理サーバ上に設定される。たとえば、
図2に例示したシステムでは、VNF-1、VNF-4およびVNF-5がそれぞれサーバA、CおよびD上に、VNF-2およびVNF-3が一つの物理サーバB上に、それぞれ設定されている。管理装置11は、FPGA対応サーバおよび非対応サーバにVNFをどのように配置するかを決定する。VNFの配置例を
図3に示す。
【0021】
図3において、下位レイヤネットワーク20におけるFPGA対応サーバ21はCPU21-1とFPGA21-2とが結合された構成を有する。
図3では、CPU21-1上に仮想マシンVM1が、FPGA21-2上に仮想マシンVM2がそれぞれ構成され、仮想マシンVM1に上位レイヤネットワーク20のVNF-Aが、FPGA21-2上の仮想マシンVM2にVNF-Bが、それぞれ配置されている。FPGA21-2は、例えば、コントローラ10など、FPGA対応サーバ21を制御するための装置を介して、コンフィグレーションデータをロードすることで所望のVNFを再構成することが可能である。なお、CPU21-1あるいはFPGA21-2上に複数の仮想マシンVMを構成し、これらの仮想マシンにVNFをそれぞれ配置することもできる。FPGA非対応サーバ22は単一のCPU22-1を有し、その上に一つあるいは複数の仮想マシンVM3が構成され、その上にVNFが配置されうる。
【0022】
上述したようなネットワークシステムにおいて、コントローラ10は、管理装置11の指示に従って、FPGA対応サーバおよびFPGA非対応サーバにおけるVNF、VMおよびFPGAの追加、設定変更、削除等の制御を個別に実行することができる。なお、上述したようにコントローラ10がネットワークシステムを一括管理することもできるが、上位レイヤネットワーク30(VNFレイヤ)を制御するコントローラ、下位レイヤネットワーク20(NFVIレイヤ)を制御する別のコントローラ、というように、レイヤごとにコントローラを設ける構成であってもよい。以下、本発明の実施形態によるコントローラ10について図面を参照しながら詳細に説明する。
【0023】
1.一実施形態
1.1)制御装置
本発明の一実施形態によるコントローラ10は、ネットワークシステムにおけるサーバおよびスイッチを制御し、管理装置11からの指示に従ってFPGA、VMあるいはVNFの制御および経路制御を実行する。
【0024】
図4において、コントローラ10は、ネットワーク管理部101、機能管理部102およびFPGA管理部103を有し、さらに上述したネットワークシステムにおける各サーバおよびスイッチと接続するネットワークインタフェース104を有する。また、コントローラ10はオペレータが操作する管理装置11と管理インタフェース105を通して接続している。コントローラ10の制御部106は、プログラムメモリ107に格納されたプログラムを実行することで、後述するように、ネットワーク管理部101、機能管理部102およびFPGA管理部103を制御し、VM/FPGAの追加、変更、削除等の制御を実行する。
【0025】
ネットワーク管理部101は、サーバおよびスイッチで構成されるネットワーク情報、例えばトポロジ情報を管理する。機能管理部102は、各サーバで動作している機能、すなわち仮想マシンVMおよび仮想ネットワーク機能VNFを管理する。例えば、どのサーバにどのVMが立ち上がっているか等を管理する。FPGA管理部103は、各サーバのFPGAを管理し、例えば、どのサーバがFPGA対応のサーバか、どのFPGAプログラムがインストールされているか等を管理する。
【0026】
制御部106は、管理部101~103の管理する情報を基に、ネットワークサービスのフォワーディング経路を制御する。例えば、機能管理部102からの機能情報と、ネットワーク管理部101からのトポロジ情報とに応じて上位ネットワーク30の経路を特定する。さらに、制御部106は、FPGA管理部103からのFPGAに関する情報と、機能管理部102からの機能情報とに基づいて、更新すべきVMとFPGAとの対応関係を特定する。
【0027】
1.2)システム構成
以下、説明の複雑化を回避するために、
図5に示すシステムを参照しながら本実施形態による制御方法について説明する。すなわち、サーバX、YがFPGA対応、サーバZがFPGA非対応とし、コントローラ10が管理装置11の指示に従って各サーバのVM/FPGAと各スイッチとを制御するものとする。制御の具体例を説明するための構成を
図6に示す。
【0028】
図6に例示するように、サーバX、YおよびZの各々に仮想ネットワーク機能が配置されているものとする。より詳しくは、FPGA対応サーバXのCPU上に仮想マシンVM1が、FPGA上に仮想マシンVM2がそれぞれ構成され、仮想マシンVM1にVNF-Aが、仮想マシンVM2にVNF-Bが、それぞれ配置されている。また、FPGA対応サーバYのCPU上に仮想マシンVM3が、FPGA上に仮想マシンVM4がそれぞれ構成され、仮想マシンVM3にVNF-Cが、仮想マシンVM4にVNF-Bが、それぞれ配置されている。FPGA非対応サーバZのCPU上に仮想マシンVM5が構成され、仮想マシンVM5にVNF-Dが配置されている。このようなシステムにおいて、管理装置11がコントローラ10に対してVNF、VMあるいはFPGAの更新を指示すると、コントローラ10は、上述した機能管理部102およびFPGA管理部103により、対象となるサーバおよびVMを特定し、指示されたVNFあるいはVMの更新、またはFPGAプログラムのバージョンアップを実行する。機能管理部102およびFPGA管理部103には、
図7Aおよび
図7Bに例示するような管理テーブルが格納されている。
【0029】
図7Aに例示するように、機能管理部102には、ネットワークシステムにおけるVMと、VNFと、サーバと、サーバにおけるVM実行主体との間の対応関係を登録した管理テーブルが設けられている。すなわち、機能管理部102の管理テーブルを参照することで、ネットワークシステムで動作している仮想マシンVM1~VM5の各々が、どのサーバのどの実行主体(CPUあるいはFPGA)で動作し、その上でどのVNFが動作しているか、を特定することができる。
【0030】
また、
図7Bに例示するように、FPGA管理部103には、ネットワークシステムにおけるサーバがFPGA対応であるか否か、そのFPGAがどのFPGAプログラムをインストールしているか、を示すFPGA情報を登録した管理テーブルが設けられている。たとえば、サーバXはFPGA対応であり、そのFPGAにはFPGAプログラムF-A1.1がインストールされている。
【0031】
本実施形態によるコントローラ10は、上述したような機能管理部102およびFPGA管理部103の管理テーブルを用いることで、ネットワーク/VNF/VM/FPGAの制御を実行することができる。
【0032】
なお、コントローラ10において、後述するようなネットワーク管理部101、機能管理部102、FPGA管理部103および制御部105の機能は、プログラムメモリ107に蓄積されたプログラムをCPU上で実行することにより実現することもできる。以下、上述したVM/FPGAの制御例について図面を参照しながら説明する。
【0033】
1.3)制御動作
<VNF更新>
図8に示すように、管理装置11からVM更新およびFPGAプログラムF-A1.1のバージョンアップを含むVNF-Bの更新が指示されると(動作S201)、コントローラ10の制御部106は、機能管理部102の管理テーブルを参照して、VNF-Bに対応づけられたサーバXのFPGAおよびVM2と、サーバYのFPGAおよびVM4とを特定し、さらにFPGA管理部103の管理テーブルを参照して、サーバXのFPGAプログラムF-A1.1を特定する。そして、制御部106は、ネットワークインタフェース104を通して、対象となるサーバXのVM2をVM2’へ更新し、FPGAプログラムをF-A1.1からF-A1.2へバージョンアップし、また、サーバYのVM4をVM4’へ更新する(動作S202)。以上の更新が完了すると、制御部106は機能管理部102およびFPGA管理部103の管理テーブルを
図9Aおよび
図9Bに示すように更新する。
【0034】
なお、VMの追加あるいは削除も同様に制御することができる。例えば、サーバXに新たなVMを追加する場合、制御部106は、ネットワークインタフェース104を通して、対象となるサーバXに対して、新たなVMの追加を指示する。また、例えば、サーバXからVM2を削除する場合、制御部106は、ネットワークインタフェース104を通して、対象となるサーバXに対して、VM2の削除を指示する。
【0035】
<FPGAプログラム更新>
図10に示すように、管理装置11からFPGAプログラムF-A1.1のバージョンアップが指示されると(動作S301)、コントローラ10の制御部106は、FPGA管理部103の管理テーブルを参照して、サーバXのFPGAプログラムF-A1.1を特定する。そして、制御部106は、ネットワークインタフェース104を通して、対象となるサーバXのFPGAプログラムをF-A1.1からF-A1.2へバージョンアップする(動作S302)。以上の更新が完了すると、制御部106はFPGA管理部103の管理テーブルを
図11に示すように更新する。
【0036】
なお、FPGAの追加あるいは削除も同様に制御することができる。例えば、サーバXに新たなFPGAを追加する場合、制御部106は、ネットワークインタフェース104を通して、対象となるサーバXに対して、新たなFPGAプログラムを追加(インストール)するように指示する。また、例えば、サーバXからFPGAプログラムF-A1.1を削除する場合、制御部106は、ネットワークインタフェース104を通して、対象となるサーバXに対して、FPGAプログラムF-A1.1を削除するように指示する。
【0037】
<FPGAプログラム更新中のCPU代理処理>
図12はFGPAプログラム更新制御の他の例を示す。
図12において、管理装置11からFPGAプログラムF-A1.1のバージョンアップが指示されると(動作S401)、コントローラ10は、対象となるサーバXのFPGAプログラムをF-A1.1からF-A1.2へバージョンアップする(動作S402)。その際、FPGAが行っていたVM2のデータ処理はCPU側で代理処理される(動作S403)。これにより、一時的なマイグレーション等を実行することなく、FPGA更新中のデータ処理を続行することができる。
【0038】
なお、FPGA側のデータ処理をCPU側で代行する制御は、サーバXがコントローラ10からFPGAプログラム更新指示を受信したときに自律的に実行してもよいし、コントローラ10が代理処理を依頼する旨をサーバXへ指示してもよい。たとえば、コントローラ10からのFPGAプログラム更新指示に処理代理指示を含めることができる。
【0039】
図13に示すように、FPGA21-2上のVM2でのデータ処理をCPU21-1が代行する制御は、たとえば共通のメモリ21-3を介して行うことができる。
【0040】
以下、
図12に示すFGPAプログラム更新制御について、
図14を参照しながらより詳細に説明する。
【0041】
図14に示すように、管理装置11からFPGAプログラムF-A1.1のバージョンアップが指示されると(動作S401)、コントローラ10の制御部106は、FPGA管理部103の管理テーブルを参照して、サーバXのFPGAプログラムF-A1.1を特定し(動作S401a)、ネットワークインタフェース104を通して、対象となるサーバXに対して、FPGAプログラムをF-A1.1からF-A1.2へバージョンアップする更新指示を送信する(動作S402)。
【0042】
サーバXは、コントローラ10からFPGAプログラム更新指示を受信すると、自律的にFPGAでのデータ処理をCPU側へ代行させる。まず、FPGAが行っていたVM2のデータ処理をCPU側に代理処理させ、これによりCPU上でVM1およびVM2のデータ処理が実行される(動作S403)。続いて、コントローラ10から受信した更新FPGAプログラムを用いて更新処理を実行し(動作S404)、FPGA側のプログラム更新が完了すると、FPGAは、更新されたプログラムF-A1.2上でVM2によるデータ処理をCPU側から引き継いで実行する(動作S405)。こうして、FPGAプログラムをバージョンアップしている間、サーバXは、FPGA更新中にFPGA側で実行すべきデータ処理をCPU側で続行するので、処理を中断することなくFPGAプログラムの更新が可能となる。
【0043】
なお、上述したように、FPGA側のデータ処理をCPU側で代行する制御は、サーバXが自律的に実行してもよいが、コントローラ10がFPGAプログラム更新指示に処理代理指示を含めることでコントローラ10が主導して実行してもよい。
【0044】
1.4)効果
上述したように、本実施形態によるネットワーク制御によれば、サーバに含まれるFPGAと、サーバで起動する仮想マシン(VM)と、サーバのVMで実現するVNFと、の対応関係を用いることで、更新すべきVMおよび/またはFPGAを特定することができる。これにより、FPGAプログラムの更新、VMの追加/更新に伴ったFPGAの追加/更新等の制御を実行することができ、FPGAを含むネットワークの効率的な制御が可能となる。
【0045】
2.他の実施形態
上述した実施形態では、管理装置11がコントローラ10を通してネットワークシステムを一括管理する場合を例示したが、管理装置11とコントローラ10とを一体化した管理装置がネットワークを一括管理してもよい。たとえば、
図15に示すように、管理装置12に上述した管理装置11およびコントローラ10の機能がふくまれており、管理装置12がネットワークシステムを一括管理することもできる。
【0046】
また、本発明はこの一括管理に限定されるものではなく、マルチレイヤシステムの各レイヤを別々の管理部が協調して管理する構成であってもよい。このような分散管理システムの一例を
図16に示す。
【0047】
図16に例示するように、ネットワークシステムは、下位レイヤネットワーク20(VNFIレイヤ)を管理する管理部12aと、上位レイヤネットワーク30(VNFレイヤ)を管理する管理部12bとを有し、管理部12aおよび12bが協調して下位レイヤネットワーク20および上位レイヤネットワーク30を管理する。管理方法は上述した実施形態の通りであるから、説明は省略する。
【0048】
なお、各レイヤを管理する管理部12aおよび12bは、通信可能に接続された別個の装置が互いに協調して上記各実施形態の管理動作を実行してもよいし、それらの上位装置の管理により管理動作を実行してもよい。また、一つの管理装置内に各レイヤを管理する管理部12aおよび12b、あるいはそれらを管理する上位管理部が機能的に分離して設けられた構成であってもよい。
【産業上の利用可能性】
【0049】
本発明は、仮想ネットワーク機能(VNF)をネットワーク上に配置するシステムで利用可能である。
【符号の説明】
【0050】
10 コントローラ
11、12 管理装置
12a,12b 管理部
20 下位レイヤネットワーク
21-1 CPU
21-2 FPGA
22-1 CPU
30 上位レイヤネットワーク
101 ネットワーク管理部
102 機能管理部
103 FPGA管理部
104 ネットワークインタフェース
105 管理インタフェース
106 制御部
107 プログラムメモリ
VNF 仮想ネットワーク機能