JP6687106B2 - ネットワークシステムの制御方法および制御装置ならびにサーバ - Google Patents

ネットワークシステムの制御方法および制御装置ならびにサーバ Download PDF

Info

Publication number
JP6687106B2
JP6687106B2 JP2018509293A JP2018509293A JP6687106B2 JP 6687106 B2 JP6687106 B2 JP 6687106B2 JP 2018509293 A JP2018509293 A JP 2018509293A JP 2018509293 A JP2018509293 A JP 2018509293A JP 6687106 B2 JP6687106 B2 JP 6687106B2
Authority
JP
Japan
Prior art keywords
server
virtual machine
programmable logic
logic circuit
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018509293A
Other languages
English (en)
Other versions
JPWO2017170311A1 (ja
Inventor
理 石井
理 石井
慎太郎 中野
慎太郎 中野
英男 長谷川
英男 長谷川
誠也 柴田
誠也 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2017170311A1 publication Critical patent/JPWO2017170311A1/ja
Application granted granted Critical
Publication of JP6687106B2 publication Critical patent/JP6687106B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は仮想ネットワーク機能を含むネットワークシステムに係り、特にその制御技術に関する。
現在の通信システムでは、BRAS(Broadband Remote Access Server)、NAT(Network Address Translation)、ルータ(Router)、ファイアウォール(FW:Firewall)、DPI(Deep Packet Inspection)などの様々なネットワーク機能(Network Function:NF)を専用のハードウェア機器(アプライアンス)により実現している。このために、ネットワークオペレータは、新たなネットワークサービスを立ち上げる場合、新たな専用のハートウェア機器の導入を強いられ、機器の購入費用や設置スペース等の多大なコストを必要とする。このような状況に鑑み、近年、ハードウェア機器で実行されるネットワーク機能をソフトウェアにより仮想的に実行する技術(ネットワーク機能の仮想化:Network Function Virtualization)が検討されている(非特許文献1)。ネットワークサービスの仮想化の一例として、特許文献1に、通信ノード装置上に複数の仮想ルータを構築し、これらの仮想ルータの資源を通信品質に応じて動的に配分する方法が開示されている。
また、複数の仮想ネットワーク機能(Virtual Network Function:VNF)を組み合わせた通信経路に通信フローを伝送することにより種々のネットワークサービスを提供する技術も検討されている(たとえば、非特許文献2を参照)。
図1に例示するように、ネットワーク機能の仮想化では、仮想ネットワーク機能VNFの論理的つながり(フォワーディンググラフ:Forwarding Graph)によりネットワークサービスが構成され管理される。ここでは、オーバレイネットワークに5つの仮想ネットワーク機能VNF−1〜VNF−5からなるネットワークサービスが例示されている。
このフォワーディンググラフの仮想ネットワーク機能VNF−1〜VNF−5は、NFVインフラストラクチャ(NFV Infrastructure:NFVI)における汎用サーバSV1〜SV4上で動作する。専用サーバでなく汎用サーバ上でキャリアグレードの機能を仮想的に動作させることにより、低価格化および運用の容易化を達成することができる。
特開2012−175418号公報
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)
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)
しかしながら、汎用サーバで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>)。
ところが、このようなFPGAを付加したサーバを用いてNFVを構築すると、CPUだけなくFPGA上でもVM/VNFが動作するので、ネットワーク内のFPGAとVMとの対応についても管理する必要がある。たとえば、VMに応じたFPGAプログラムの更新を実行したり、バージョンアップ等のVMの更新あるいはVNF機能追加によるVMの追加/更新に伴ったFPGAの追加/更新を実行したりする必要がある。
このように、サーバのCPUだけでなく、FPGAのようなプログラム可能論理回路がVM/VNFのインフラストラクチャとして含まれるネットワークでは、プログラム可能論理回路を考慮した特別の制御手法が必要である。
そこで、本発明の目的は、プログラム可能論理回路がVM/VNFのインフラストラクチャとして含まれるネットワークを効率的に制御する制御方法および制御装置、ネットワークシステムならびにサーバを提供することにある。
本発明によるネットワーク制御装置は、仮想ネットワーク機能が動作するサーバを含むネットワークの制御装置であって、サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶する記憶手段と、前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する制御手段と、を有し、前記制御手段が、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させることを特徴とする。
また、本発明によるネットワーク制御装置は、仮想ネットワーク機能が動作するサーバを含むネットワークの制御装置であって、サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶する記憶手段と、前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する制御手段と、を有し、前記制御手段が、前記プログラム可能論理回路のプログラムを更新する場合、当該プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させることを特徴とする。
本発明によるネットワーク制御方法は、仮想ネットワーク機能が動作するサーバを含むネットワークの制御方法であって、記憶手段が、サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶し、制御手段が、前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させる、ことを特徴とする。
また、本発明によるネットワーク制御方法は、仮想ネットワーク機能が動作するサーバを含むネットワークの制御方法であって、記憶手段が、サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶し、制御手段が、前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御し、前記プログラム可能論理回路のプログラムを更新する場合、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させる、ことを特徴とする。
本発明によるネットワークシステムは、仮想ネットワーク機能が動作するサーバを含むネットワークシステムであって、少なくとも一つのプログラム可能論理回路に対応したサーバを含む複数のサーバが接続されたネットワークと、サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御し、前記プログラム可能論理回路のプログラムを更新する場合、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させる制御装置と、を有することを特徴とする。
本発明によるサーバは、コントローラにより制御されるサーバであって、仮想ネットワーク機能を実現する仮想マシンの動作主体となり得るCPU(Central Processing Unit)と、仮想ネットワーク機能を実現する仮想マシンの動作主体となり得るプログラム可能論理回路と、前記コントローラからの指示に従って、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する制御手段と、を有し、前記制御手段が、前記プログラム可能論理回路のプログラムを更新する場合、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させることを特徴とする。
本発明によれば、プログラム可能論理回路がVM/VNFのインフラストラクチャとして含まれるネットワークを効率的に制御することができる。
図1はネットワーク機能の仮想化の一例を示す概略的ネットワーク図である。 図2は本発明を適用するネットワークシステムの第1例を示す模式的なネットワーク図である。 図3は本発明を適用するネットワークシステムにおける物理サーバと仮想ネットワーク機能との対応関係の一例を示す模式的なネットワーク図である。 図4は本発明の第1実施形態による制御装置の概略的構成を示すブロック図である。 図5は本実施形態によるネットワークシステムの一例を示すネットワーク構成図である。 図6は本実施形態によるネットワークシステムの制御動作を説明するためのネットワーク構成図である。 図7Aは図6に示すネットワークシステムにおける機能管理部の管理データの一例を示す模式図である。 図7Bは図6に示すネットワークシステムにおけるFPGA管理部の管理データの一例を示す模式図である。 図8は本実施形態によるネットワークシステムにおける制御動作の第1例を説明するためのネットワーク構成図である。 図9Aは図8に示すネットワークシステムにおける機能管理部の管理データの一例を示す模式図である。 図9Bは図8に示すネットワークシステムにおけるFPGA管理部の管理データの一例を示す模式図である。 図10は本実施形態によるネットワークシステムにおける制御動作の第2例を説明するためのネットワーク構成図である。 図11は図10に示すネットワークシステムにおけるFPGA管理部の管理データの一例を示す模式図である。 図12は本実施形態によるネットワークシステムにおける制御動作の第3例を説明するためのネットワーク構成図である。 図13はFPGA対応サーバの概略的構成を示すブロック図である。 図14は図12に示す制御動作のシーケンス図である。 図15は本発明を適用するネットワークシステムの第2例を示す模式的なネットワーク図である。 図16は本発明を適用するネットワークシステムの第3例を示す模式的なネットワーク図である。
<実施形態の概要>
本発明の実施形態によれば、サーバ上で仮想化ネットワーク機能(VNF)が動作しうるネットワークシステムにおいて、サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシン(VM)と、サーバのVMで実現するVNFと、の対応関係を用いてネットワークを制御する。たとえば、どのサーバがプログラム可能論理回路に対応しているか、プログラム可能論理回路にどのプログラムがインストールされているか、どのサーバにどのVM、どのVNFが動作しているか、を示す情報を参照することで、更新すべきVMおよび/またはプログラム可能論理回路を特定することができる。このように、プログラム可能論理回路に関する情報とそれに対応付けられたVM/VNF情報とを用いることで、プログラム可能論理回路の回路構成プログラムの更新、VMの追加/更新に伴ったプログラム可能論理回路の追加/更新等の制御を実行することができ、プログラム可能論理回路を含むネットワークの効率的な制御が可能となる。
まず、図2および図3を参照して、本発明の各実施形態を説明するためのシステム構成の一例を示す。このシステム構成は、説明の複雑化を回避するための簡略化された例であり、本発明を限定するものではない。
<システム>
図2に例示するように、コントローラ10は、管理装置11からの指示に従って、複数のサーバからなる下位レイヤネットワーク20と複数のVNFからなる上位レイヤネットワーク30とを制御する。ここでは、図の簡略化のために、下位レイヤネットワーク20がサーバA、B、CおよびDからなり、上位レイヤネットワーク30が仮想ネットワーク機能VNF−1〜VNF−5からなるものとする。
下位レイヤネットワーク20における複数のサーバのうち少なくとも一つはプログラム可能論理回路を含むサーバである。プログラム可能論理回路は、後述するように、プログラム可能な定型的な処理を高速で実行可能なハードウェア回路であり、結合したCPUのアクセラレータとして動作可能である。また、プログラム可能論理回路は、ユーザが希望する論理機能を短期間で実現できるとともに、書き換え可能という利点も有する。以下、プログラム可能論理回路としてFPGAを例示し、CPUとFPGAとが結合したサーバをFPGA対応サーバ、FPGAのないサーバをFPGA非対応サーバと呼ぶ。
上位レイヤネットワーク30における各VNFは下位レイヤネットワーク20の物理サーバ上に設定される。たとえば、図2に例示したシステムでは、VNF−1、VNF−4およびVNF−5がそれぞれサーバA、CおよびD上に、VNF−2およびVNF−3が一つの物理サーバB上に、それぞれ設定されている。管理装置11は、FPGA対応サーバおよび非対応サーバにVNFをどのように配置するかを決定する。VNFの配置例を図3に示す。
図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が配置されうる。
上述したようなネットワークシステムにおいて、コントローラ10は、管理装置11の指示に従って、FPGA対応サーバおよびFPGA非対応サーバにおけるVNF、VMおよびFPGAの追加、設定変更、削除等の制御を個別に実行することができる。なお、上述したようにコントローラ10がネットワークシステムを一括管理することもできるが、上位レイヤネットワーク30(VNFレイヤ)を制御するコントローラ、下位レイヤネットワーク20(NFVIレイヤ)を制御する別のコントローラ、というように、レイヤごとにコントローラを設ける構成であってもよい。以下、本発明の実施形態によるコントローラ10について図面を参照しながら詳細に説明する。
1.一実施形態
1.1)制御装置
本発明の一実施形態によるコントローラ10は、ネットワークシステムにおけるサーバおよびスイッチを制御し、管理装置11からの指示に従ってFPGA、VMあるいはVNFの制御および経路制御を実行する。
図4において、コントローラ10は、ネットワーク管理部101、機能管理部102およびFPGA管理部103を有し、さらに上述したネットワークシステムにおける各サーバおよびスイッチと接続するネットワークインタフェース104を有する。また、コントローラ10はオペレータが操作する管理装置11と管理インタフェース105を通して接続している。コントローラ10の制御部106は、プログラムメモリ107に格納されたプログラムを実行することで、後述するように、ネットワーク管理部101、機能管理部102およびFPGA管理部103を制御し、VM/FPGAの追加、変更、削除等の制御を実行する。
ネットワーク管理部101は、サーバおよびスイッチで構成されるネットワーク情報、例えばトポロジ情報を管理する。機能管理部102は、各サーバで動作している機能、すなわち仮想マシンVMおよび仮想ネットワーク機能VNFを管理する。例えば、どのサーバにどのVMが立ち上がっているか等を管理する。FPGA管理部103は、各サーバのFPGAを管理し、例えば、どのサーバがFPGA対応のサーバか、どのFPGAプログラムがインストールされているか等を管理する。
制御部106は、管理部101〜103の管理する情報を基に、ネットワークサービスのフォワーディング経路を制御する。例えば、機能管理部102からの機能情報と、ネットワーク管理部101からのトポロジ情報とに応じて上位ネットワーク30の経路を特定する。さらに、制御部106は、FPGA管理部103からのFPGAに関する情報と、機能管理部102からの機能情報とに基づいて、更新すべきVMとFPGAとの対応関係を特定する。
1.2)システム構成
以下、説明の複雑化を回避するために、図5に示すシステムを参照しながら本実施形態による制御方法について説明する。すなわち、サーバX、YがFPGA対応、サーバZがFPGA非対応とし、コントローラ10が管理装置11の指示に従って各サーバのVM/FPGAと各スイッチとを制御するものとする。制御の具体例を説明するための構成を図6に示す。
図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に例示するような管理テーブルが格納されている。
図7Aに例示するように、機能管理部102には、ネットワークシステムにおけるVMと、VNFと、サーバと、サーバにおけるVM実行主体との間の対応関係を登録した管理テーブルが設けられている。すなわち、機能管理部102の管理テーブルを参照することで、ネットワークシステムで動作している仮想マシンVM1〜VM5の各々が、どのサーバのどの実行主体(CPUあるいはFPGA)で動作し、その上でどのVNFが動作しているか、を特定することができる。
また、図7Bに例示するように、FPGA管理部103には、ネットワークシステムにおけるサーバがFPGA対応であるか否か、そのFPGAがどのFPGAプログラムをインストールしているか、を示すFPGA情報を登録した管理テーブルが設けられている。たとえば、サーバXはFPGA対応であり、そのFPGAにはFPGAプログラムF−A1.1がインストールされている。
本実施形態によるコントローラ10は、上述したような機能管理部102およびFPGA管理部103の管理テーブルを用いることで、ネットワーク/VNF/VM/FPGAの制御を実行することができる。
なお、コントローラ10において、後述するようなネットワーク管理部101、機能管理部102、FPGA管理部103および制御部105の機能は、プログラムメモリ107に蓄積されたプログラムをCPU上で実行することにより実現することもできる。以下、上述したVM/FPGAの制御例について図面を参照しながら説明する。
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に示すように更新する。
なお、VMの追加あるいは削除も同様に制御することができる。例えば、サーバXに新たなVMを追加する場合、制御部106は、ネットワークインタフェース104を通して、対象となるサーバXに対して、新たなVMの追加を指示する。また、例えば、サーバXからVM2を削除する場合、制御部106は、ネットワークインタフェース104を通して、対象となるサーバXに対して、VM2の削除を指示する。
<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に示すように更新する。
なお、FPGAの追加あるいは削除も同様に制御することができる。例えば、サーバXに新たなFPGAを追加する場合、制御部106は、ネットワークインタフェース104を通して、対象となるサーバXに対して、新たなFPGAプログラムを追加(インストール)するように指示する。また、例えば、サーバXからFPGAプログラムF−A1.1を削除する場合、制御部106は、ネットワークインタフェース104を通して、対象となるサーバXに対して、FPGAプログラムF−A1.1を削除するように指示する。
<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更新中のデータ処理を続行することができる。
なお、FPGA側のデータ処理をCPU側で代行する制御は、サーバXがコントローラ10からFPGAプログラム更新指示を受信したときに自律的に実行してもよいし、コントローラ10が代理処理を依頼する旨をサーバXへ指示してもよい。たとえば、コントローラ10からのFPGAプログラム更新指示に処理代理指示を含めることができる。
図13に示すように、FPGA21−2上のVM2でのデータ処理をCPU21−1が代行する制御は、たとえば共通のメモリ21−3を介して行うことができる。
以下、図12に示すFGPAプログラム更新制御について、図14を参照しながらより詳細に説明する。
図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)。
サーバ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プログラムの更新が可能となる。
なお、上述したように、FPGA側のデータ処理をCPU側で代行する制御は、サーバXが自律的に実行してもよいが、コントローラ10がFPGAプログラム更新指示に処理代理指示を含めることでコントローラ10が主導して実行してもよい。
1.4)効果
上述したように、本実施形態によるネットワーク制御によれば、サーバに含まれるFPGAと、サーバで起動する仮想マシン(VM)と、サーバのVMで実現するVNFと、の対応関係を用いることで、更新すべきVMおよび/またはFPGAを特定することができる。これにより、FPGAプログラムの更新、VMの追加/更新に伴ったFPGAの追加/更新等の制御を実行することができ、FPGAを含むネットワークの効率的な制御が可能となる。
2.他の実施形態
上述した実施形態では、管理装置11がコントローラ10を通してネットワークシステムを一括管理する場合を例示したが、管理装置11とコントローラ10とを一体化した管理装置がネットワークを一括管理してもよい。たとえば、図15に示すように、管理装置12に上述した管理装置11およびコントローラ10の機能がふくまれており、管理装置12がネットワークシステムを一括管理することもできる。
また、本発明はこの一括管理に限定されるものではなく、マルチレイヤシステムの各レイヤを別々の管理部が協調して管理する構成であってもよい。このような分散管理システムの一例を図16に示す。
図16に例示するように、ネットワークシステムは、下位レイヤネットワーク20(VNFIレイヤ)を管理する管理部12aと、上位レイヤネットワーク30(VNFレイヤ)を管理する管理部12bとを有し、管理部12aおよび12bが協調して下位レイヤネットワーク20および上位レイヤネットワーク30を管理する。管理方法は上述した実施形態の通りであるから、説明は省略する。
なお、各レイヤを管理する管理部12aおよび12bは、通信可能に接続された別個の装置が互いに協調して上記各実施形態の管理動作を実行してもよいし、それらの上位装置の管理により管理動作を実行してもよい。また、一つの管理装置内に各レイヤを管理する管理部12aおよび12b、あるいはそれらを管理する上位管理部が機能的に分離して設けられた構成であってもよい。
3.付記
上述した実施形態および実施例の一部あるいは全部は、以下の付記のようにも記載されうるが、これらに限定されるものではない。
(付記1)
仮想ネットワーク機能が動作するサーバを含むネットワークの制御装置であって、
サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶する記憶手段と、
前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する制御手段と、
を有することを特徴とする制御装置。
(付記2)
前記制御手段が、前記仮想マシンまたは前記プログラム可能論理回路の追加、更新あるいは削除を実行することを特徴とする付記1に記載の制御装置。
(付記3)
前記制御手段が、前記プログラム可能論理回路のプログラムを更新することを特徴とする付記1または2に記載の制御装置。
(付記4)
前記制御手段が、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させることを特徴とする付記1−3のいずれか1項に記載の制御装置。
(付記5)
前記制御手段が、前記プログラム可能論理回路のプログラムを更新する場合、当該プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させることを特徴とする付記1−3のいずれか1項に記載の制御装置。
(付記6)
仮想ネットワーク機能が動作するサーバを含むネットワークの制御方法であって、
記憶手段が、サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶し、
制御手段が、前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する、
ことを特徴とする制御方法。
(付記7)
前記制御手段が、前記仮想マシンまたは前記プログラム可能論理回路の追加、更新あるいは削除を実行することを特徴とする付記6に記載の制御方法。
(付記8)
前記制御手段が、前記プログラム可能論理回路のプログラムを更新することを特徴とする付記6または7に記載の制御方法。
(付記9)
前記制御手段が、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させることを特徴とする付記6−8のいずれか1項に記載の制御方法。
(付記10)
前記制御手段が、前記プログラム可能論理回路のプログラムを更新する場合、当該プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させることを特徴とする付記6−8のいずれか1項に記載の制御方法。
(付記11)
仮想ネットワーク機能が動作するサーバを含むネットワークシステムであって、
少なくとも一つのプログラム可能論理回路に対応したサーバを含む複数のサーバが接続されたネットワークと、
サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する制御装置と、
を有することを特徴とするネットワークシステム。
(付記12)
前記制御装置が、前記仮想マシンまたは前記プログラム可能論理回路の追加、更新あるいは削除を実行することを特徴とする付記11に記載のネットワークシステム。
(付記13)
前記制御装置が、前記プログラム可能論理回路のプログラムを更新することを特徴とする付記11または12に記載のネットワークシステム。
(付記14)
前記制御装置が、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させることを特徴とする付記11−13のいずれか1項に記載のネットワークシステム。
(付記15)
前記制御装置から前記プログラム可能論理回路のプログラム更新指示を受け取ると、前記サーバが、前記プログラム可能論理回路のプログラムを更新する間、当該プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させることを特徴とする付記11−13のいずれか1項に記載のネットワークシステム。
(付記16)
コントローラにより制御されるサーバであって、
仮想ネットワーク機能を実現する仮想マシンの動作主体となり得るCPU(Central Processing Unit)と、
仮想ネットワーク機能を実現する仮想マシンの動作主体となり得るプログラム可能論理回路と、
前記コントローラからの指示に従って、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する制御手段と、
を有することを特徴とするサーバ。
(付記17)
前記制御手段が、前記仮想マシンまたは前記プログラム可能論理回路の追加、更新あるいは削除を実行することを特徴とする付記16に記載のサーバ。
(付記18)
前記制御手段が、前記プログラム可能論理回路のプログラムを更新することを特徴とする付記16または17に記載のサーバ。
(付記19)
前記コントローラからの前記プログラム可能論理回路のプログラム更新指示に含まれるCPU処理代理指示に従って、前記制御手段が、前記プログラム可能論理回路のプログラムを更新する間、当該プログラム可能論理回路で動作している仮想マシンのデータ処理を前記CPUに代行させることを特徴とする付記16−18のいずれか1項に記載のサーバ。
(付記20)
前記コントローラから前記プログラム可能論理回路のプログラム更新指示を受け取ると、前記制御手段が、前記プログラム可能論理回路のプログラムを更新する間、当該プログラム可能論理回路で動作している仮想マシンのデータ処理を前記CPUに代行させることを特徴とする付記16−18のいずれか1項に記載のサーバ。
(付記21)
仮想ネットワーク機能が動作するサーバを含むネットワークの制御装置としてコンピュータを機能させるプログラムであって、
サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶する機能と、
前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する機能と、
を前記コンピュータで実現することを特徴とするプログラム。
本発明は、仮想ネットワーク機能(VNF)をネットワーク上に配置するシステムで利用可能である。
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 仮想ネットワーク機能

Claims (10)

  1. 仮想ネットワーク機能が動作するサーバを含むネットワークの制御装置であって、
    サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶する記憶手段と、
    前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する制御手段と、
    を有し、前記制御手段が、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させることを特徴とする制御装置。
  2. 仮想ネットワーク機能が動作するサーバを含むネットワークの制御装置であって、
    サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶する記憶手段と、
    前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する制御手段と、
    を有し、前記制御手段が、前記プログラム可能論理回路のプログラムを更新する場合、当該プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させることを特徴とする制御装置。
  3. 前記制御手段が、前記仮想マシンまたは前記プログラム可能論理回路の追加、更新あるいは削除を実行することを特徴とする請求項1または2に記載の制御装置。
  4. 前記制御手段が、前記プログラム可能論理回路のプログラムを更新することを特徴とする請求項1−3のいずれか1項に記載の制御装置。
  5. 仮想ネットワーク機能が動作するサーバを含むネットワークの制御方法であって、
    記憶手段が、サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶し、
    制御手段が、前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させる、
    ことを特徴とする制御方法。
  6. 仮想ネットワーク機能が動作するサーバを含むネットワークの制御方法であって、
    記憶手段が、サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶し、
    制御手段が、前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御し、前記プログラム可能論理回路のプログラムを更新する場合、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させる、
    ことを特徴とする制御方法。
  7. 前記制御手段が、前記仮想マシンまたは前記プログラム可能論理回路の追加、更新あるいは削除を実行することを特徴とする請求項5または6に記載の制御方法。
  8. 仮想ネットワーク機能が動作するサーバを含むネットワークシステムであって、
    少なくとも一つのプログラム可能論理回路に対応したサーバを含む複数のサーバが接続されたネットワークと、
    サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御し、前記プログラム可能論理回路のプログラムを更新する場合、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させる制御装置と、
    を有することを特徴とするネットワークシステム。
  9. コントローラにより制御されるサーバであって、
    仮想ネットワーク機能を実現する仮想マシンの動作主体となり得るCPU(Central Processing Unit)と、
    仮想ネットワーク機能を実現する仮想マシンの動作主体となり得るプログラム可能論理回路と、
    前記コントローラからの指示に従って、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御する制御手段と、
    を有し、前記制御手段が、前記プログラム可能論理回路のプログラムを更新する場合、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させることを特徴とするサーバ。
  10. 仮想ネットワーク機能が動作するサーバを含むネットワークの制御装置としてコンピュータを機能させるプログラムであって、
    サーバに含まれるプログラム可能論理回路と、サーバで起動する仮想マシンと、サーバの仮想マシンで実現する仮想ネットワーク機能と、の対応関係を記憶する機能と、
    前記対応関係に基づいて、少なくとも前記仮想マシンと当該仮想マシンが動作する前記プログラム可能論理回路とをそれぞれ制御し、前記プログラム可能論理回路のプログラムを更新する場合、前記プログラム可能論理回路で動作している仮想マシンのデータ処理を当該サーバのCPU(Central Processing Unit)に代行させる機能と、
    を前記コンピュータで実現することを特徴とするプログラム。
JP2018509293A 2016-03-31 2017-03-27 ネットワークシステムの制御方法および制御装置ならびにサーバ Active JP6687106B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016070569 2016-03-31
JP2016070569 2016-03-31
PCT/JP2017/012223 WO2017170311A1 (ja) 2016-03-31 2017-03-27 ネットワークシステムの制御方法および制御装置ならびにサーバ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020066494A Division JP7184434B2 (ja) 2016-03-31 2020-04-02 ネットワークシステムの制御方法および制御装置

Publications (2)

Publication Number Publication Date
JPWO2017170311A1 JPWO2017170311A1 (ja) 2019-01-31
JP6687106B2 true JP6687106B2 (ja) 2020-04-22

Family

ID=59965447

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2018509293A Active JP6687106B2 (ja) 2016-03-31 2017-03-27 ネットワークシステムの制御方法および制御装置ならびにサーバ
JP2020066494A Active JP7184434B2 (ja) 2016-03-31 2020-04-02 ネットワークシステムの制御方法および制御装置
JP2022044008A Active JP7251671B2 (ja) 2016-03-31 2022-03-18 ネットワークシステムの制御方法および制御装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2020066494A Active JP7184434B2 (ja) 2016-03-31 2020-04-02 ネットワークシステムの制御方法および制御装置
JP2022044008A Active JP7251671B2 (ja) 2016-03-31 2022-03-18 ネットワークシステムの制御方法および制御装置

Country Status (5)

Country Link
US (1) US20200301747A1 (ja)
EP (1) EP3438823B1 (ja)
JP (3) JP6687106B2 (ja)
CN (1) CN108885566B (ja)
WO (1) WO2017170311A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7439767B2 (ja) 2018-12-10 2024-02-28 日本電気株式会社 ネットワークインタフェースカード、コンピュータ、回路情報の書き換え方法及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306343A (ja) * 2000-04-21 2001-11-02 Fujitsu I-Network Systems Ltd Fpgaを有する装置のためのシステム
CN101645832B (zh) * 2009-05-07 2011-09-28 曙光信息产业(北京)有限公司 一种基于fpga的虚拟机网络数据包处理方法
CN101599966B (zh) * 2009-05-11 2012-01-18 曙光信息产业(北京)有限公司 一种多虚拟机应用的数据过滤方法
JP5835846B2 (ja) * 2012-08-29 2015-12-24 株式会社日立製作所 ネットワークシステム及び仮想ノードのマイグレーション方法
WO2014113056A1 (en) * 2013-01-17 2014-07-24 Xockets IP, LLC Offload processor modules for connection to system memory
EP3089031A4 (en) * 2013-12-27 2017-01-04 NTT Docomo, Inc. Management system, virtual communication-function management node, and management method
US11294698B2 (en) * 2014-03-10 2022-04-05 Nokia Solutions And Networks Oy Waiting a host determined specific amount of time before performing virtual network function migration
CN104951353B (zh) * 2014-03-28 2018-09-21 华为技术有限公司 一种对vnf实现加速处理的方法及装置
JP2016220126A (ja) * 2015-05-25 2016-12-22 株式会社日立製作所 ネットワーク処理システム、ネットワークシステムの管理方法及び通信装置
US9720714B2 (en) * 2015-08-26 2017-08-01 International Business Machines Corporation Accelerator functionality management in a coherent computing system
US10778558B2 (en) * 2016-03-09 2020-09-15 Intel Corporation Methods and apparatus to improve computing resource utilization

Also Published As

Publication number Publication date
JP2020102888A (ja) 2020-07-02
WO2017170311A1 (ja) 2017-10-05
JPWO2017170311A1 (ja) 2019-01-31
JP7184434B2 (ja) 2022-12-06
CN108885566A (zh) 2018-11-23
JP2022078349A (ja) 2022-05-24
EP3438823B1 (en) 2022-08-03
CN108885566B (zh) 2022-10-28
JP7251671B2 (ja) 2023-04-04
US20200301747A1 (en) 2020-09-24
EP3438823A1 (en) 2019-02-06
EP3438823A4 (en) 2019-05-15

Similar Documents

Publication Publication Date Title
US20220377045A1 (en) Network virtualization of containers in computing systems
CN109196474B (zh) 计算系统中的分布式操作控制
EP2838244B1 (en) Providing services for logical networks
US20160294930A1 (en) Service migration across cluster boundaries
JP2019528005A (ja) クラウドコンピューティングシステムにおいて仮想マシンが物理サーバにアクセスするための方法、装置、およびシステム
WO2017170312A1 (ja) ネットワークシステム、その管理方法および装置
JP6330923B2 (ja) オーケストレータ装置、システム、仮想マシンの作成方法及びプログラム
JP2010282447A (ja) 仮想計算機システム、そのアクセス制御方法及び通信装置
US11868794B2 (en) Network system, management method and apparatus thereof, and server
JP7251671B2 (ja) ネットワークシステムの制御方法および制御装置
JP6806143B2 (ja) ネットワークシステムにおける管理方法および管理装置
JP7381196B2 (ja) コンピュータ装置及びその動作方法、コンピュータプログラム、記録媒体並びにクラウドネットワークシステム
JP2015138385A (ja) 分散処理システム、および、分散処理方法
KR20190063231A (ko) Sdn 기반 데이터 센터 관리 시스템 및 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200316

R150 Certificate of patent or registration of utility model

Ref document number: 6687106

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150