JP2016144133A - Control device, control program and communication system - Google Patents
Control device, control program and communication system Download PDFInfo
- Publication number
- JP2016144133A JP2016144133A JP2015020268A JP2015020268A JP2016144133A JP 2016144133 A JP2016144133 A JP 2016144133A JP 2015020268 A JP2015020268 A JP 2015020268A JP 2015020268 A JP2015020268 A JP 2015020268A JP 2016144133 A JP2016144133 A JP 2016144133A
- Authority
- JP
- Japan
- Prior art keywords
- program
- load
- guarantee
- node
- virtual machine
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、ネットワーク内においてデータを転送する複数の転送装置を制御する制御装置、制御プログラム、および、通信システムに関する。 The present invention relates to a control device, a control program, and a communication system that control a plurality of transfer devices that transfer data in a network.
近年、NFV(Network Functions Virtualisation)技術が注目されている。NFVは、汎用サーバ上で実現するパケット転送やファイアウォール等のネットワーク機能を、ネットワークを構成するノード上のソフトウェアで実現する技術である。NFVでは、ネットワーク機能の動的な追加、削除、および変更が可能となり、ネットワーク構成の変更が容易になり、また、ネットワーク内の物理的なリソースを有効に活用することが可能となる。 In recent years, NFV (Network Functions Virtualization) technology has attracted attention. NFV is a technology for realizing network functions such as packet transfer and firewall realized on a general-purpose server by software on nodes constituting the network. In NFV, network functions can be dynamically added, deleted, and changed, the network configuration can be easily changed, and physical resources in the network can be effectively used.
NFV環境では、ノード上で実行する各機能に対する動作保証要件を満たし、かつ、各ノードの計算リソースをネットワーク全体として効率的に利用するよう各ノードに機能を配備する必要がある。現状では、ネットワーク保守者が、各ノードの計算リソースを管理し、残計算リソースによりソフトウェアのロード対象ノードを決定する。 In the NFV environment, it is necessary to deploy a function in each node so that the operation guarantee requirement for each function executed on the node is satisfied and the calculation resources of each node are efficiently used as the entire network. At present, the network maintainer manages the calculation resources of each node and determines the software load target node based on the remaining calculation resources.
また、ネットワークを管理するコントローラが、ネットワークを構成する各ノードに負荷を分散する例が、特許文献1に記載されている。特許文献1には、「仮想ノードの作成に際し、物理ノードのリソースと仮想ノードの要求位置の物理ノード位置との差異に対する重み係数を用いて、ネットワークリソースを有効活用出来る仮想ネットワークを提供する」と記載される。
しかしながら、特許文献1に記載された技術では、各ノードが要求される保証品質や優先度等の実行要件を満たす各ノード内の計算リソース配分を保証しない。したがって、特許文献1に記載された技術では、NFV環境において、ノード上で実行する各機能に対する動作保証要件を満たし、かつ、各ノードの計算リソースをネットワーク全体として効率的に利用するよう各ノードに機能を配備することができないという問題がある。
However, the technique described in
本発明は、保証要求に応じて、ネットワーク内の計算リソースの効率的な活用を図ることを目的とする。 An object of the present invention is to efficiently use computational resources in a network in response to a guarantee request.
本願において開示される発明の一側面となる通信システムは、ネットワーク内においてデータを転送する複数の転送装置と、前記複数の転送装置を制御する制御装置と、を有する通信システムであって、前記複数の転送装置の各々には、プログラムの動作保証を遵守するように前記プログラムを実行する第1の仮想マシンと、前記プログラムの実行に際し前記プログラムの動作保証を遵守しなくてもよい第2の仮想マシンと、が構築され、前記制御装置は、プロセッサと、前記ネットワーク内に設定された経路を示す経路管理情報を記憶する記憶デバイスと、を有し、前記プロセッサは、前記複数の転送装置にロードする対象のプログラムであるロード対象プログラムの動作保証に関する保証要求を受け付ける受付処理と、前記管理情報に基づいて前記経路を構成する転送装置群を前記複数の転送装置から選択する選択処理と、前記受付処理によって受け付けられた前記保証要求に応じて、前記選択処理によって選択された転送装置に構築される前記第1の仮想マシンおよび前記第2の仮想マシンのうち、いずれか一方の仮想マシンを前記ロード対象プログラムのロード先に決定する決定処理と、前記決定処理によって決定されたロード先の仮想マシンに前記ロード対象プログラムに関する情報を送信する送信処理と、を実行し、前記複数の転送装置のうち前記ロード先の仮想マシンを構築する転送装置は、前記ロード対象プログラムに関する情報を受信すると、前記ロード先の仮想マシン上で前記ロード対象プログラムを実行することを特徴とする。 A communication system according to one aspect of the invention disclosed in the present application is a communication system including a plurality of transfer devices that transfer data in a network and a control device that controls the plurality of transfer devices. Each of the transfer devices includes a first virtual machine that executes the program so as to comply with the operation guarantee of the program, and a second virtual machine that does not need to comply with the operation guarantee of the program when the program is executed. And the control device includes a processor and a storage device that stores route management information indicating a route set in the network, and the processor loads the plurality of transfer devices. A reception process for receiving a guarantee request for guaranteeing the operation of the load target program that is a target program to be loaded, and the management information And selecting the transfer device group that constitutes the path from the plurality of transfer devices and the transfer device selected by the selection process according to the guarantee request received by the acceptance process. A determination process for determining one of the first virtual machine and the second virtual machine as a load destination of the load target program, and a load destination virtual machine determined by the determination process A transmission process that transmits information related to the load target program, and the transfer apparatus that constructs the load destination virtual machine among the plurality of transfer apparatuses receives the information related to the load target program, The load target program is executed on a virtual machine.
本発明の代表的な実施の形態によれば、保証要求に応じて、ネットワーク内の計算リソースの効率的な活用を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to a typical embodiment of the present invention, it is possible to efficiently use computational resources in a network in response to a guarantee request. Problems, configurations, and effects other than those described above will become apparent from the description of the following embodiments.
本実施例では、制御対象となるネットワーク内の各ノードに仮想化技術を適用して複数の仮想マシン(Virtual Machine、「VM」)を構築することにより、各ノード内の計算リソース(たとえば、CPU(Central Processing Unit))がVM単位で分割される。各ノードを管理するサービスコントローラは、ネットワーク内に適用するソフトウェアを各ノードにロードするのに先立って、当該ソフトウェアに対する動作の保証要求と、ネットワーク内の各ノードの計算リソースと、により、ロード先のノードおよびノード内のVMを決定する。 In this embodiment, a virtual machine is applied to each node in the network to be controlled to construct a plurality of virtual machines (Virtual Machines, “VMs”), thereby calculating computing resources (for example, CPUs) in each node. (Central Processing Unit)) is divided in VM units. Prior to loading the software to be applied in the network to each node, the service controller that manages each node performs a load-guaranteed request for the software and the calculation resource of each node in the network according to the load-destination request. Determine the nodes and VMs within the nodes.
これにより、ソフトウェアに対する動作の保証要求に応じたソフトウェアの計算リソース(たとえば、CPU使用率)を確保して、ネットワーク内の計算リソースを効率的に活用することができる。また、VM単位でソフトウェアをノードで実行させるため、VMごとに計算リソースを取得することができる。したがって、ソフトウェアの計算リソースを容易に特定することができる。さらに、これらの処理が自動化されることで、ネットワークの保守者の負担軽減を図ることができる。 As a result, it is possible to secure software calculation resources (for example, CPU usage rate) in accordance with a request for guaranteeing the operation of the software and efficiently use the calculation resources in the network. In addition, since the software is executed on the nodes in units of VMs, calculation resources can be acquired for each VM. Therefore, it is possible to easily specify the calculation resource of the software. Furthermore, by automating these processes, the burden on the network maintainer can be reduced.
<通信システムの構成例>
図1は、本実施例にかかる通信システムの構成例を示す説明図である。まず、通信システム100内の接続関係について説明する。通信システム100は、制御対象となるパケットトランスポートネットワーク101上のノード群Nsと、サービスコントローラ103と、を含む。通信システム100では、たとえば、トラフィックモニタやファイアウォール等のパケットトランスポートネットワーク101に付加価値を与える機能を、サービスコントローラ103がノード群Nsにソフトウェアとして提供する。
<Configuration example of communication system>
FIG. 1 is an explanatory diagram of a configuration example of a communication system according to the present embodiment. First, the connection relationship in the
ノード群Nsは、エッジノードEN1,EN2と、中継ノードRN1〜RN5と、を含む。エッジノードEN1,EN2はそれぞれ、パケットトランスポートネットワーク101の端点に配置される転送装置である。図1では、エッジノードEN1がネットワーク111と接続され、エッジノードEN2がネットワーク112に接続される。なお、以下の説明で、いずれのエッジノードEN1,EN2でもよい場合は、「エッジノードEN」と表記する。
Node group Ns includes edge nodes EN1 and EN2 and relay nodes RN1 to RN5. Each of the edge nodes EN1 and EN2 is a transfer device arranged at an end point of the
中継ノードRN1〜RN5はそれぞれ、パケットトランスポートネットワーク101の中継ポイントに配置される転送装置である。なお、以下の説明で、いずれの中継ノードRN1〜RN5でもよい場合は、「中継ノードRN」と表記する。また、以下の説明で、エッジノードENおよび中継ノードRNのいずれでもよい場合は、「ノードN」と表記する。なお、ノードNの数は、図1で示した数に限定されない。
Each of the relay nodes RN <b> 1 to RN <b> 5 is a transfer device arranged at a relay point of the
ノードNは、仮想マシン(VM)を構築する。VMは、サービスコントローラ103からロードされてくるプログラムPを実行する環境である。具体的には、たとえば、2種類のVMが構築される。1つは、プログラムの動作保証を遵守するようにプログラムを実行するVMである。このVMは、後述する動作保証プログラム用VMに相当する。もう1つは、プログラムの実行に際しプログラムの動作保証を遵守しなくてもよいVMである。このVMは、後述するベストエフォートプログラム用VMに相当する。ノードNは、たとえば、データを転送する転送装置であるが、L2スイッチやルータでもよい。
The node N constructs a virtual machine (VM). The VM is an environment for executing the program P loaded from the
保守者/他管理システム102は、パケットトランスポートネットワーク101を管理する保守者またはサービスコントローラ103に接続される上位の管理システムを指す。保守者/他管理システム102は、サービスコントローラ103に指示を与える。
The maintenance person /
サービスコントローラ103は、各ノードNと接続し、保守者/他管理システム102からの指示にしたがって、ノードNに各種サービスを提供する制御装置である。たとえば、保守者/他管理システム102からの指示が、経路設定要求r1である場合、サービスコントローラ103は、当該経路設定要求r1に従い、経路設定情報RTIを生成し、パケットトランスポートネットワーク101内に経路を設定する。経路設定要求r1には、始点となるエッジノードENを特定する情報、終点となるエッジノードENを特定する情報、使用するポート番号、必要な通信帯域(bps)などが含まれる。図1では、例として、太線で示した選択経路RTが設定される。なお、経路設定情報RTIの生成方法は、公知の方法を用いればよい。
The
また、保守者/他管理システム102からの指示が、サービス提供要求r2である場合、サービスコントローラ103は、当該サービス提供要求r2に従い、プログラムPをロードするノードNを決定する。サービス提供要求r2には、ノードNが提供するサービスのプログラムであり、ノードNにロードさせることを要求するプログラムP(以下、要求プログラム)を識別する情報(要求プログラムの識別情報)、要求プログラムの動作保証内容を指定する情報(保証要求)などが含まれる。
When the instruction from the maintenance person /
つぎに、サービスコントローラ103およびノードNが保持する情報について説明する。サービスコントローラ103は、ソフト機能テーブルT1、計算リソース管理テーブルT2、通信リソース管理テーブルT3、および候補ノードテーブルT5を有する。ソフト機能テーブルT1は、ソフトウェアの機能を規定する情報である。ここでいうソフトウェアとは、サービスコントローラ103がノードNにロードするプログラムPである。ソフト機能テーブルT1は、あらかじめ用意される情報である。ソフト機能テーブルT1の詳細については図3で説明する。
Next, information held by the
計算リソース管理テーブルT2は、ノードNの計算リソースを管理するテーブルである。ノードNの計算リソースは、たとえば、CPU使用率やメモリ使用率である。本例では、CPU使用率を例に挙げて説明する。サービスコントローラ103からロードされてきたプログラムがノードNで実行されると、CPU使用率が上昇する。計算リソースは、たとえば、ノードN上に構築されるVMごとに管理される。計算リソース管理テーブルT2の詳細については図4で説明する。
The calculation resource management table T2 is a table for managing the calculation resources of the node N. The calculation resource of the node N is, for example, a CPU usage rate or a memory usage rate. In this example, the CPU usage rate will be described as an example. When the program loaded from the
通信リソース管理テーブルT3は、ノードNの通信リソースを管理するテーブルである。ノードNの通信リソースは、たとえば、ノードNの通信帯域(Gbps)やポートの使用状況などである。サービスコントローラ103は、保守者/他管理システム102からの経路設定要求r1(経路の両端となるエッジノードENを指定)に従い、通信リソース管理テーブルT3を参照して、パケットトランスポートネットワーク101内に設定する経路を示す経路設定情報RTIを生成することができる。ここで、パケットトランスポートネットワーク101内に設定する経路とは、最短経路であってもよいし、中継ノードRNの通信リソースが均一となるように負荷分散した経路であってもよい。サービスコントローラ103がどのような経路を設定するかのポリシーを予め保持していてもよい。
The communication resource management table T3 is a table for managing communication resources of the node N. The communication resource of the node N is, for example, the communication band (Gbps) of the node N, the usage status of the port, and the like. The
候補ノードテーブルT5は、プログラムPのロード先のノードの候補を管理するテーブルである。プログラムPのロード先のノードは、パケットトランスポートネットワーク101内に設定される経路上のノードである。サービスコントローラ103は、保守者/他管理システム102からのサービス提供要求r2(ノードが実行するサービス(プログラムP)を指定)に従い、候補ノードテーブルT5を参照して、プログラムPのロード先のノードを決定する。候補ノードテーブルT5の詳細については図5で説明する。
The candidate node table T5 is a table for managing candidates of nodes to which the program P is loaded. The node to which the program P is loaded is a node on the path set in the
ノードNは、計算リソーステーブルT4を有する。計算リソーステーブルT4は、ノードNの計算リソース(本例では、CPU使用率)を記録するテーブルである。計算リソースは、たとえば、VMごとに管理される。ノードNの計算リソースは、ノードNからサービスコントローラ103に送られ、計算リソース管理テーブルT2の更新に利用される。計算リソーステーブルT4の詳細については図7で説明する。
The node N has a calculation resource table T4. The calculation resource table T4 is a table for recording the calculation resource of the node N (CPU usage rate in this example). The calculation resource is managed for each VM, for example. The calculation resource of the node N is sent from the node N to the
つぎに、通信システム100の動作について説明する。サービスコントローラ103は、保守者/他管理システム102からの経路設定要求r1に従い、通信リソース管理テーブルT3を参照して、経路設定情報RTIを生成する。サービスコントローラ103は、経路設定情報RTIにより規定される選択経路RT上のノードN(たとえば、エッジノードEN1,EN2,中継ノードRN1〜RN3)に経路設定情報RTIを送信する。経路設定情報RTIを受信したノードNは、経路設定情報RTIに従って、ルーティングを実行する。これにより、選択経路RTが設定される。また、サービスコントローラ103は、生成した経路設定情報RTIを識別する情報と経路設定情報RTIに規定される選択経路RT上のノードNを特定する情報とを対応付けて経路管理テーブル(不図示)に格納する。つまり、経路管理テーブルは、複数の経路設定情報RTIと経路設定情報RTIそれぞれのノードNとを対応付けて記録するテーブルである。
Next, the operation of the
つぎに、サービスコントローラ103は、保守者/他管理システム102からのサービス提供要求r2に従い、候補ノードテーブルT5を参照してプログラムPを実行した場合の選択経路RT上のノードNのVMの計算リソースを確認する。そして、サービスコントローラ103は、プログラムPを実行しても計算リソースに余裕のある選択経路RT上のノードNのVMに、プログラムPをロードする。プログラムPがロードされたノードは、指定されたVM上で当該プログラムPを実行する。これにより、動作保証を要求されたプログラムPの計算リソースを確保することができるとともに、パケットトランスポートネットワーク101内の計算リソースを効率的に活用することができる。また、これらの処理が自動化されることで、パケットトランスポートネットワーク101の保守者の負担軽減を図ることができる。
Next, the
<サービスコントローラ103の内部構成例>
図2は、サービスコントローラ103の内部構成例を示すブロック図である。サービスコントローラ103は、ソフト機能テーブルT1と、計算リソース管理テーブルT2と、通信リソース管理テーブルT3と、保守者/他管理システムIF501と、経路生成部502と、ノードリソース監視部503と、ソフトウェア管理部504と、ソフトウェアロード部505と、ノードIF506と、を有する。
<Internal Configuration Example of
FIG. 2 is a block diagram illustrating an internal configuration example of the
ソフト機能テーブルT1、計算リソース管理テーブルT2、および、通信リソース管理テーブルT3は、具体的には、たとえば、メモリやハードディスクなどの記憶デバイス(不図示)により実現される。保守者/他管理システムIF501およびノードIF506は、具体的には、たとえば、ポートを含むインタフェース回路(不図示)により実現される。経路生成部502、ノードリソース監視部503、ソフトウェア管理部504、および、ソフトウェアロード部505は、具体的には、たとえば、記憶デバイスに記憶されたプログラムをプロセッサ(不図示)に実行させることにより実現される。
Specifically, the software function table T1, the calculation resource management table T2, and the communication resource management table T3 are realized by a storage device (not shown) such as a memory or a hard disk, for example. Specifically, the maintenance / other management system IF 501 and the node IF 506 are realized by, for example, an interface circuit (not shown) including a port. Specifically, the
保守者/他管理システムIF501は、保守者/他管理システム102からの経路設定要求r1やサービス提供要求r2を受け付ける。保守者/他管理システムIF501は、受け付けた要求の種別を識別して、経路設定要求r1を経路生成部502に送り、サービス提供要求r2をソフトウェア管理部504に送る。
The maintenance person / other management system IF 501 receives a route setting request r1 and a service provision request r2 from the maintenance person /
経路生成部502は、経路設定要求r1に従い、通信リソース管理テーブルT3を参照して経路設定情報RTIを生成し、経路管理テーブルを生成する。経路生成部502は、生成した経路設定情報RTIを、ノードIF506を介して、経路設定情報RTIで特定される選択経路RTに含まれるノードNに送信する。
The
ノードリソース監視部503は、ノードNの計算リソースを監視する。具体的には、たとえば、ノードリソース監視部503は、所定のタイミングでノードNに計算リソースの取得要求を送信する。当該取得要求を受けたノードNは、計算リソーステーブルT4を参照して、VM種別401ごとに、実行プログラム402ごとのCPU使用率をCPU使用率403から読み出して、ノードリソース監視部503に送る。ノードリソース監視部503は、ノードNからの計算リソース情報RSIであるCPU使用率をノードIF506を介して受信し、受信したCPU使用率をソフトウェア管理部504に送る。
The node
ソフトウェア管理部504は、ノードリソース監視部503からのCPU使用率を用いて、計算リソース管理テーブルT2のCPU使用率304を更新する。また、ソフトウェア管理部504は、サービス提供要求r2を受けた場合、候補ノードテーブルT5を作成し、選択経路RTに含まれるノードNのうち、どのノードNのどのVMにサービス提供要求r2で要求された要求プログラムを実行させるかを、候補ノードテーブルT5を用いて決定する。ソフトウェア管理部504は、当該決定結果およびサービス提供要求r2に含まれる要求プログラムの識別情報をソフトウェアロード部505に送る。
The
ソフトウェアロード部505は、ソフトウェア管理部504からの要求プログラムの識別情報により、サービスコントローラ103に格納されている要求プログラムを記憶デバイスから読み出す。そして、ソフトウェアロード部505は、ソフトウェア管理部504の決定結果にしたがって、該当するノードNのVMを指定して、読み出したプログラムPを要求プログラムとしてロードする。
The
ノードIF506は、経路生成部502からの経路設定情報RTIや要求プログラム(プログラムP)をノードNに送信する。
The node IF 506 transmits the route setting information RTI and the request program (program P) from the
<サービスコントローラが有するテーブルの記憶内容例>
図3は、図1に示したソフト機能テーブルT1の記憶内容例を示す説明図である。ソフト機能テーブルT1は、プログラム名201と、負荷種別202と、適用ノード種別203と、想定CPU使用率204と、を有する。ソフト機能テーブルT1は、あらかじめサービスコントローラ103が保持する情報である。
<Example of stored contents of table of service controller>
FIG. 3 is an explanatory diagram showing an example of stored contents of the software function table T1 shown in FIG. The software function table T1 includes a
プログラム名201は、ノードNにロードするプログラムPを一意に特定する識別情報である。負荷種別202は、プログラム名201で特定されるプログラムPの負荷の種別を規定する情報であり、一定負荷と変動負荷がある。一定負荷は、そのプログラムPを実行した場合の負荷が一定であることを示す。変動負荷は、そのプログラムPを実行した場合の負荷が変動することを示す。
The
適用ノード種別203は、プログラム名201で特定されるプログラムPが適用されるノードNの種別を示す情報である。つまり、適用ノード種別203は、プログラム名201で特定されるプログラムPを実行するノードNの種別を示す情報である。適用ノード種別203が「エッジ」である場合、エッジノードENにのみ適用可能である。適用ノード種別203が「エッジ/中継」である場合、エッジノードENにも中継ノードRNにも適用可能である。適用ノード種別203が「中継」である場合、中継ノードRNにのみ適用可能である。
The
想定CPU使用率204は、プログラム名201で特定されるプログラムPのCPU使用率の予測値である。想定CPU使用率204は、CPU1個あたりのCPU使用率の予測値である。
The assumed
図4は、図1に示した選択経路RTの計算リソース管理テーブルT2の記憶内容例を示す説明図である。計算リソース管理テーブルT2は、ノード名301と、VM種別302と、ロード済みプログラム303と、CPU使用率304と、を有する。計算リソース管理テーブルT2は、ノードNからの情報により更新されるテーブルである。なお、経路設定情報RTIが複数生成される場合は、計算リソース管理テーブルT2は、経路設定情報RTI毎に作成される。
FIG. 4 is an explanatory diagram showing an example of stored contents of the calculation resource management table T2 of the selected route RT shown in FIG. The calculation resource management table T2 includes a
ノード名301は、ノードNを一意に特定する識別情報である。ノード名301は、あらかじめ設定されてもよい。また、経路設定情報RTIが生成された場合に、サービスコントローラ103のソフトウェア管理部504が、選択経路RT内のノードNのノードをノード名301に格納してもよい。
The
VM種別302は、ノード名301で特定されるノードN上で動作するVMの種別を示す情報である。VM種別302である「動作保証プログラム用VM」は、そのVMが、動作保証プログラムを実行するVMであることを示す。動作保証プログラムは、ノードN内の計算リソースの負荷状態に因らず即時かつ完全な動作保証を要求されるプログラムPである。
The
また、VM種別302である「ベストエフォートプログラム用VM」は、そのVMが、ベストエフォートプログラムを実行するVMであることを示す。ベストエフォートプログラムは、厳密な動作保証を要求されず、ノードN内の計算リソースの負荷状況に因っては、リソースに空きができるまで実行されないことが許容されるという保証レベルのプログラムPである。
The
なお、VM種別302は、保守者/他管理システム102から予め設定される。
The
ロード済みプログラム303は、ノード名301で特定されるノードNにロードされたプログラムPである。ロード済みプログラム303は、VM種別302ごとに分類される。なお、ロード済みプログラム303には、サービスコントローラ103が、各ノードNにプログラムPをロードした後に、ロードしたプログラムPのプログラム名が格納される。
The loaded
CPU使用率304は、ロード済みプログラム303についてのVM種別302で規定されるVMでのCPU使用率である。CPU使用率304については、サービスコントローラ103のソフトウェア管理部504がノードNからCPU使用率を受信した場合に、ソフトウェア管理部504が、受信したCPU使用率をそのまま、CPU使用率304に格納してもよく、また受信したCPU使用率を用いて所定の統計値を算出し、算出結果をCPU使用率304に格納してもよい。
The
VM種別302が動作保証プログラム用VMである場合、ロード済みプログラム303の各CPU使用率304については、同一ノードNから収集したCPU使用率の最大値がCPU使用率304にロード済みプログラム303ごとに格納される。最大値とすることにより、動作保証プログラムVMがロード済みプログラム303を確実に実行するように計算リソース割当をおこなうことができる。
When the
また、VM種別302がベストエフォートプログラム用VMである場合、ロード済みプログラム303の各CPU使用率304については、同一ノードNから収集したCPU使用率の平均値がCPU使用率304にロード済みプログラム303ごとに格納される。平均値とすることにより負荷の変動があった場合を想定した計算リソース割当をおこなうことができる。
When the
図5は、候補ノードテーブルT5の記憶内容例を示す説明図である。候補ノードテーブルT5は、選択経路内ノード601と、候補フラグ602と、CPU使用率603と、必要CPU使用率604と、ロード後想定CPU使用率605と、を有する。候補ノードテーブルT5は、サービスコントローラ103のソフトウェア管理部504がサービス提供要求r2を受信した場合にソフトウェア管理部504によって作成される。
FIG. 5 is an explanatory diagram of an example of stored contents of the candidate node table T5. The candidate node table T5 includes a
選択経路内ノード601は、選択経路RTを構成するノードNを一意に特定する識別情報である。図1の例では、選択経路内ノード601には、選択経路RTを構成するノードNの識別情報として、EN1,EN2,RN1,RN2,RN3が格納される。ノードNの識別情報の「EN」は、そのノードNがエッジノードであることを示す。ノードNの識別情報の「RN」は、そのノードNが中継ノードであることを示す。選択経路内ノード601には、サービスコントローラ103の経路生成部502が選択経路を決定した後に、決定した選択経路上のノードNのノード名がソフトウェア管理部504によって格納される。
The selected
候補フラグ602は、選択経路内ノード601が、図3のソフト機能テーブルT1における要求プログラムに対応する適用ノード種別203に該当するか否かを示す識別情報である。本例では、該当する場合が「1」、該当しない場合が「0」である。
The
たとえば、要求プログラムが「導通特性試験」である場合、ソフトウェア管理部504は、ソフト機能テーブルT1を参照して、プログラム名201:「導通特性試験」に対応する適用ノード種別203:「エッジ」を特定する。図5の選択経路内ノード601が「EN1」である場合、適用ノード種別203:「エッジ」に該当するため、「EN1」に対応する候補フラグは「1」になる。選択経路内ノード601が「EN2」についても同様である。反対に、選択経路内ノード601が「RN1」、「RN2」、「RN3」の場合は、適用ノード種別「エッジ」に該当しないため、候補フラグ602は「0」のままである。
For example, when the requested program is “continuity characteristics test”, the
CPU使用率603は、計算リソース管理テーブルT2において、サービス提供要求r2に含まれる要求プログラムの動作保証要件の情報(保証要求)に応じたVM種別302でのロード済みプログラム303のCPU使用率304の合計値である。たとえば、保証要求が「保証」である場合、VM種別302は「動作保証プログラム用VM」となる。したがって、計算リソース管理テーブルT2において、ノード名301:「EN1」の場合、ロード済みプログラム303である「帯域制御」、「ファイアウォール」、および「接続性監視」の各CPU使用率304である「18%」、「17%」、および「5%」の合計である「40%」が、候補ノードテーブルT5において選択経路内ノード601:「EN1」のCPU使用率603に格納される。
The
保証要求が、「保証orベストエフォート」の場合も同様である。「保証orベストエフォート」は、可能な限り「保証」として扱い、「保証」では要求プログラムのロード先が決定しない場合に、「ベストエフォート」として扱われる保証要求である。なお、上記の例で、保証要求が「ベストエフォート」である場合、VM種別302は「ベストエフォートプログラム用VM」となる。したがって、計算リソース管理テーブルT2において、ノード名301:「EN1」の場合、ロード済みプログラム303である「遅延時間測定」、「導通特性試験」および「トラフィックモニタ」の各CPU使用率である「7%」、「5%」、および「8%」の合計である「20%」が、候補ノードテーブルT5において、選択経路内ノード601が「EN1」のCPU使用率603に格納される。
The same applies when the guarantee request is “guaranteed or best effort”. “Warranty or best effort” is a guarantee request that is treated as “guaranteed” as much as possible, and is handled as “best effort” when the load destination of the requested program is not determined in “guaranteed”. In the above example, when the guarantee request is “best effort”, the
必要CPU使用率604は、要求プログラムの実行に必要とされるCPU使用率である。ソフトウェア管理部504は、図3のソフト機能テーブルT1を参照し、プログラム名201で特定される要求プログラムの負荷種別202が「一定負荷」である場合、想定CPU使用率204を、必要CPU使用率として必要CPU使用率604に格納する。一方、プログラム名201で特定される要求プログラムの負荷種別202が「変動負荷」である場合、ソフトウェア管理部504は、想定CPU使用率204の最大値を、必要CPU使用率として必要CPU使用率604に格納する。
The required
たとえば、要求プログラムが「帯域制御」である場合、負荷種別202が「一定負荷」であり、想定CPU使用率204は「20%」であるため、必要CPU使用率604に「20%」が格納される。一方、要求プログラムが「導通特性試験」である場合、負荷種別202が「変動負荷」であり、想定CPU使用率204は「0〜10%」であるため、必要CPU使用率604に「10%」が格納される。図5は、サービス提供要求r2の要求プログラムが「導通特性試験」であり、保証要求が、「保証」である場合の例である。
For example, when the requested program is “bandwidth control”, the
ロード後想定CPU使用率605は、要求プログラムがロード先のノードNにロードされた場合において、当該ロード先のノードNで当該要求プログラムを実行するVMでのCPU使用率の予測値である。具体的には、たとえば、ロード後想定CPU使用率は、CPU使用率603と必要CPU使用率604との合計値である。ロード後想定CPU使用率605には、ソフトウェア管理部504がCPU使用率603と必要CPU使用率604とに基づいて算出した値が格納される。
The post-load assumed
<ノードNの内部構成例>
図6は、ノードNの内部構成例を示すブロック図である。ノードNは、ネットワークインタフェース(NW−IF)701と、VM管理部702と、動作保証プログラム用VM703と、ベストエフォートプログラム用VM704と、経路テーブル705と、入出力処理部706と、ポート707と、を有する。
<Internal configuration example of node N>
FIG. 6 is a block diagram illustrating an internal configuration example of the node N. The node N includes a network interface (NW-IF) 701, a
NW−IF701は、ノードNがサービスコントローラ103と通信するインタフェースである。NW−IF701がサービスコントローラ103から受け付けるデータには、経路設定情報RTIとプログラムPがある。また、NW−IF701からサービスコントローラ103に送るデータには、計算リソース情報RSIがある。
The NW-
VM管理部702は、ノードN内部にVMを構築(動作保証プログラム用VM703、ベストエフォートプログラム用VM704)し、構築されたVMを管理する。VM管理部702は、ゲストOS(Operating System)を起動し、VMの種別ごとにプロセッサを割り当てる。たとえば、ノードNがx個のプロセッサを有する場合、VM管理部702は、動作保証プログラム用VM703にy個、ベストエフォートプログラム用VM704にz個のプロセッサを割り当てる(y+z≦x)。
The
VM管理部702は、動作保証プログラム用VM703とベストエフォートプログラム用VM704とでプロセッサを共有させないようにするのが好ましい。そして、VM管理部702は、VMごとにゲストOSを起動して、動作保証プログラム用VM703およびベストエフォートプログラム用VM704を構築する。各VMには、サービスコントローラ103からロードされてきたプログラムPが実装される。
It is preferable that the
また、VM管理部702は、計算リソース監視部721と、プログラム格納部722と、上述した計算リソーステーブルT4と、を含む。計算リソース監視部721は、VMごとに、CPU使用率などの計算リソースの使用状況を監視する。たとえば、計算リソース監視部721は、各VMに対して計算リソースの取得要求を繰り返し(たとえば、定期的に)送信し、VMから当該VM上で実行されているプログラムの計算リソースの使用状況(たとえば、CPU使用率)を取得し、計算リソーステーブルT4に格納する。計算リソース監視部721は、具体的には、たとえば、ノードNのホストOSまたはホストOS上で動作するアプリケーションをプロセッサに実行させることにより実現される。
In addition, the
プログラム格納部722は、サービスコントローラ103から要求プログラムとしてロードされてきたプログラムPを格納する記憶領域である。プログラム格納部722に格納されたプログラムPは、該当するVMに送られる。プログラム格納部722は、具体的には、たとえば、ノードN内の記憶デバイスにより実現される。
The
動作保証プログラム用VM703は、割り当てられたプロセッサにより、動作保証プログラムを実行するVMである。動作保証プログラムは、CPU使用率などのノードN内の計算リソースの負荷状態に因らず、即時かつ完全な動作保証を要求されるプログラムPである。動作保証プログラム用VM703は、プログラムインスタンス731と、ソフト機能実行部732と、により構成される。プログラムインスタンス731は、動作保証プログラム用VM703上で動作する動作保証プログラムである。ソフト機能実行部732は、プログラムインスタンス731を実行するゲストOSである。
The operation
ベストエフォートプログラム用VM704は、割り当てられたプロセッサにより、ベストエフォートプログラムを実行するVMである。ベストエフォートプログラムは、厳密な動作保証を要求されず、CPU使用率などのノードN内の計算リソースの負荷状況に因っては、計算リソースに空きができるまで実行されないことが許容されるという保証レベルのプログラムPである。ベストエフォートプログラム用VM704は、プログラムインスタンス741と、ソフト機能実行部742と、により構成される。プログラムインスタンス741は、ベストエフォートプログラム用VM704上で動作するベストエフォートプログラムである。ソフト機能実行部742は、プログラムインスタンス741を実行するゲストOSである。両VM703,704は、計算リソース監視部721から計算リソースの取得要求を受けると、動作中のプログラムインスタンス731,741についてのCPU使用率を返す。
The best
このように、ノードN内で保証要求毎にVMを分けることで、ノードN内の計算リソースが明確に分割され、プログラム動作の保証要求を満たすことができる。なお、本実施例では、動作保証プログラム用VM703とベストエフォートプログラム用VM704とをそれぞれ1つ構築した例について示した。動作保証プログラム用VM703は、複数構築されてもよい。この場合、各動作保証プログラム用VM703で動作するプログラムインスタンス731は、重複しないように配備される。同様に、ベストエフォートプログラム用VM704も複数構築されてもよい。この場合、各ベストエフォートプログラム用VM704で動作するプログラムインスタンス741は、重複しないように配備される。
As described above, by dividing the VM for each guarantee request in the node N, the calculation resources in the node N can be clearly divided and the program operation guarantee request can be satisfied. In the present embodiment, an example is shown in which one operation
経路テーブル705は、サービスコントローラ103からNW−IF701を経由して展開された経路設定情報RTIを格納するテーブルである。
The route table 705 is a table that stores route setting information RTI developed from the
入出力処理部706は、経路テーブル705を参照して、あるポート707から入力されたパケットの出力先ポート707を決定し、決定した出力先ポート707にパケットを渡す。また、入出力処理部706は、あるポート707から入力されたパケットを解析して、解析結果に応じて動作保証プログラム用VM703やベストエフォートプログラム用VM704に転送する。ポート707は、パケットを送受信する。
The input /
計算リソーステーブルT4は、具体的には、たとえば、メモリやハードディスクなどの記憶デバイス(不図示)により実現される。VM管理部702、動作保証プログラム用VM703、およびベストエフォートプログラム用VM704は、具体的には、たとえば、記憶デバイスに記憶されたプログラムをプロセッサに実行させることにより実現される。NW−IF701およびポート707は、具体的には、たとえば、インタフェース回路(不図示)により実現される。経路テーブル705および入出力処理部706は、具体的には、たとえば、FPGA(Field−Programmable Gate Array)により実現される。
The calculation resource table T4 is specifically realized by a storage device (not shown) such as a memory or a hard disk. Specifically, the
<ノードが有するテーブルの記憶内容例>
図7は、計算リソーステーブルT4の記憶内容例を示す説明図である。計算リソーステーブルT4は、VM種別401と、実行プログラム402と、CPU使用率403と、を有する。計算リソーステーブルT4は、サービスコントローラ103からの情報およびVMでのCPUの使用状況により更新されるテーブルである。図7の例は、エッジノードEN1が有する計算リソーステーブルT4の例を示す。
<Example of stored contents of table in node>
FIG. 7 is an explanatory diagram of an example of the contents stored in the calculation resource table T4. The calculation resource table T4 includes a
VM種別401については、サービスコントローラ103からVM種別が指定された場合に、ノードNが、当該VM種別をVM種別401に格納する。
As for the
実行プログラム402は、サービスコントローラ103からロードされ、VM種別401のVM上で実行されているプログラムPである。実行プログラム402については、サービスコントローラ103からプログラムPがロードされた場合に、ノードNが、当該プログラム名を実行プログラム402に格納する。
The
CPU使用率403は、VM種別401でのVM上での実行プログラム402のCPU使用率である。VMが占有するプロセッサが複数ある場合には、全プロセッサでのCPU使用率となる。CPU使用率403については、ノードNが、VM種別401のVMがCPU使用率の取得コマンドを所定のタイミングで実行した場合に取得されるCPU使用率を、CPU使用率403に格納する。すなわち、CPU使用率403には、最新のCPU使用率が格納される。取得コマンドは、たとえば、一定時間間隔で発行される。
The
<通信システム100のシーケンス>
図8は、通信システム100のシーケンス例を示す説明図である。保守者/他管理システム102は、サービスコントローラ103に経路設定要求r1を与える(ステップS801)。サービスコントローラ103は、経路設定要求r1を受けると、経路を決定して経路設定情報RTIを生成する(ステップS802)。図1では、始点エッジノードENとしてEN1、終点エッジノードENとしてEN2が経路設定要求r1で指定され、選択経路RT(エッジノードEN1、中継ノードRN1、RN2、RN3、エッジノードEN2)が決定される。
<Sequence of
FIG. 8 is an explanatory diagram showing a sequence example of the
そして、サービスコントローラ103は、決定した選択経路RTに関する経路設定情報RTIを、選択経路RT上のノードNに送信する(ステップS803)。経路設定情報RTIを受信したノードNは、受信した経路設定情報RTIを経路テーブル705に格納して、経路設定情報RTIに従った経路を設定する(ステップS804)。
Then, the
このあと、保守者/他管理システム102は、サービスコントローラ103にサービス提供要求r2を与える(ステップS805)。サービス提供要求r2には、要求プログラムの識別情報であるプログラム名と保証要求とが含まれる。保証要求は、たとえば、「保証」、「ベストエフォート」、「保証orベストエフォート」の3種類がある。
Thereafter, the maintenance person /
「保証」は、要求プログラムを動作保証プログラム用VM703で実行させたい場合に指定される保証要求である。具体的には、たとえば、「保証」は、ロード対象プログラムの動作保証を遵守するという保証内容を示す保証要求である。
“Warranty” is a guarantee request designated when the requested program is to be executed by the operation
「ベストエフォート」は、要求プログラムをベストエフォートプログラム用VM704で実行させたい場合に指定される保証要求である。具体的には、たとえば、「ベストエフォート」は、ロード対象プログラムの動作保証を遵守しなくてもよいという保証内容を示す保証要求である。
“Best effort” is a guarantee request designated when the requested program is to be executed by the
「保証orベストエフォート」は、要求プログラムを可能な限り動作保証プログラム用VM703で実行させたい場合に指定される保証要求である。具体的には、たとえば、「保証orベストエフォート」は、「保証」の保証内容を充足しなければ「ベストエフォート」の保証内容が適用されるという保証内容を示す保証要求である。動作保証プログラム用VM703で動作保証されない場合には、要求プログラムは、ベストエフォートプログラム用VM704に割り当てられる。
“Guaranteed or Best Effort” is a guarantee request designated when the requested program is to be executed by the operation
サービスコントローラ103は、サービス提供要求r2を受けると、ロード対象ノード/VM選択処理を実行する(ステップS806)。ロード対象ノード/VM選択処理(ステップS806)は、要求プログラムのロード先、すなわち、ノードNおよび当該ノードN上のVMを選択する処理である。ロード対象ノード/VM選択処理(ステップS806)の詳細については、図9で説明する。
Upon receiving the service provision request r2, the
サービスコントローラ103は、ロード対象ノード/VM選択処理(ステップS806)によりロード先を選択すると、要求プログラムであるプログラムPおよびプログラムPを実行させるVMのVM種別をロード先のノードNに送信する(ステップS807)。ノードNは、送信されたプログラムPをプログラム格納部722に格納する(ステップS808)。そして、ノードNは、プログラムPを送信されたVM種別が示すロード先として選択されたVMにプログラムインスタンスとして割り当てて、当該VM上で要求プログラムを実行する(ステップS809)。
When the
<ロード対象ノード/VM選択処理(ステップS806)>
図9は、図8に示したロード対象ノード/VM選択処理(ステップS806)の詳細な処理手順例を示すフローチャートである。サービスコントローラ103のソフトウェア管理部504は、ステップS802で決定した選択経路RT上のノードNのノード名を候補ノードテーブルT5の選択経路内ノード601に設定する(ステップS901)。図1の例では、選択経路内ノード601には、選択経路RTを構成するノードNの識別情報として、EN1,EN2,RN1,RN2,RN3が格納される。
<Load target node / VM selection process (step S806)>
FIG. 9 is a flowchart showing a detailed processing procedure example of the load target node / VM selection process (step S806) shown in FIG. The
つぎに、サービスコントローラ103のソフトウェア管理部504は、図3に示したソフト機能テーブルT1を参照して、受信したサービス提供要求r2に含まれる要求プログラムのプログラム名を基にプログラム名201を検索し、該当するプログラム名201の適用ノード種別203を特定する(ステップS902)。たとえば、要求プログラムのプログラム名201が「帯域制御」である場合、その適用ノード種別203は、「エッジ」である。また、要求プログラムのプログラム名201が「トラフィックモニタ」である場合、その適用ノード種別203は、「エッジ/中継」である。
Next, the
つぎに、サービスコントローラ103のソフトウェア管理部504は、ステップS902で特定された適用ノード種別203に基づいて選択経路内ノード601から候補ノードを選定する(ステップS903)。たとえば、適用ノード種別203が「エッジ」である場合、サービスコントローラ103のソフトウェア管理部504は、エッジノードを候補ノードに設定する。つまり、ソフトウェア管理部504は、候補ノードテーブルT5の選択経路内ノード601が「エッジノード」である候補フラグ602を「1」に変更する。
Next, the
また、適用ノード種別203が「エッジ/中継」である場合、サービスコントローラ103のソフトウェア管理部504は、エッジノードおよび中継ノードを候補ノードに設定する。つまり、ソフトウェア管理部504は、候補ノードテーブルT5の選択経路内ノード601が「エッジノード」および「中継ノード」である候補フラグ602を「1」に変更する。また、適用ノード種別203が「中継」である場合、サービスコントローラ103のソフトウェア管理部504は、中継ノードを候補ノードに設定する。つまり、ソフトウェア管理部504は、候補ノードテーブルT5の選択経路内ノード601が「中継ノード」である候補フラグ602を「1」に変更する。サービスコントローラ103は、候補ノードテーブルT5の候補フラグ602を「1」にすることにより、候補ノードを設定する。図5の例では、適用ノード種別203が「エッジ」であるため、選択経路内ノード601:ノードEN1,EN2について、候補フラグ602が「1」に設定される。
When the
このあと、サービスコントローラ103のソフトウェア管理部504は、保証要求について判断する(ステップS904)。ステップS904〜S908は、候補ノードごとに実行される。ステップS904において、保証要求が「ベストエフォート」である場合(ステップS904:ベストエフォート)、サービスコントローラ103のソフトウェア管理部504は、候補ノードのVM種別のうち保証要求に応じたVM種別であるベストエフォートプログラム用VMのCPU使用率の合算値を取得して、候補ノードの選択経路内ノード601に対応する候補ノードテーブルT5のCPU使用率603に格納し(ステップS905)、ステップS907に移行する。
Thereafter, the
具体的には、たとえば、サービスコントローラ103のソフトウェア管理部504は、受信した要求プログラムのプログラム名を基に図4の計算リソース管理テーブルT2を参照し、候補ノードのエントリをノード名301から特定する。保証要求が「ベストエフォート」であるため、VM種別302:「ベストエフォートプログラム用VM」に対応するロード済みプログラムおよびCPU使用率を、候補ノードのエントリ内のロード済みプログラム303およびCPU使用率304から特定する。サービスコントローラ103のソフトウェア管理部504は、特定したCPU使用率304の合算値を算出し、算出した合算値をCPU使用率603に格納する。
Specifically, for example, the
たとえば、図4において、候補ノードのノード名301がEN1で、かつ、保証要求が「ベストエフォート」である場合、ロード済みプログラム303およびCPU使用率30は、「遅延時間測定」の「7%」と、「導通特性試験」の「5%」と、「トラフィックモニタ」の「8%」である。したがって、サービスコントローラ103のソフトウェア管理部504は、CPU使用率の合算値として「20%」を算出する。そして、サービスコントローラ103のソフトウェア管理部504は、合算値である「20%」を、候補ノードテーブルT5において、候補ノード「EN1」のCPU使用率603に格納する。
For example, in FIG. 4, when the
また、ステップS904において、保証要求が「保証」または「保証orベストエフォート」である場合(ステップS904:「保証」または「保証orベストエフォート」)、サービスコントローラ103のソフトウェア管理部504は、候補ノードのVM種別のうち保証要求に応じたVM種別である動作保証プログラム用VMのCPU使用率の合算値を取得して、候補ノードの選択経路内ノード601に対応する候補ノードテーブルT5のCPU使用率603に格納し(ステップS906)、ステップS907に移行する。
In step S904, when the guarantee request is “guarantee” or “guarantee or best effort” (step S904: “guarantee” or “guarantee or best effort”), the
具体的には、たとえば、サービスコントローラ103のソフトウェア管理部504は、受信した要求プログラムのプログラム名を基に図4の計算リソース管理テーブルT2を参照し、候補ノードのエントリをノード名301から特定する。保証要求が「保証」または「保証orベストエフォート」であるため、VM種別302:「動作保証プログラム用VM」に対応するロード済みプログラムおよびCPU使用率を、候補ノードのエントリ内のロード済みプログラム303およびCPU使用率304から特定する。サービスコントローラ103のソフトウェア管理部504は、特定したCPU使用率304の合算値を算出し、算出した合算値をCPU使用率603に格納する。
Specifically, for example, the
たとえば、図4において、候補ノードのノード名301がEN1で、かつ、保証要求が「保証」または「保証orベストエフォート」である場合、ロード済みプログラム303およびCPU使用率304は、「帯域制御」の「18%」と、「ファイアウォール」の「17%」と、「接続性監視」の「5%」である。したがって、サービスコントローラ103のソフトウェア管理部504は、CPU使用率304の合算値として「40%」を算出する。そして、サービスコントローラ103のソフトウェア管理部504は、合算値である「40%」を、候補ノードテーブルT5において、候補ノード「EN1」のCPU使用率603に格納する。
For example, in FIG. 4, when the
つまり、CPU使用率603に格納される値は、受信する保証要求に応じたVM種別(保証要求が「保証」または「保証orベストエフォート」であれば、「動作保証プログラム用VM」、保証要求が「ベストエフォート」であれば、「ベストエフォートプログラム用VM」)のCPU使用率である。
That is, the value stored in the
ステップS907において、サービスコントローラ103のソフトウェア管理部504は、ソフト機能テーブルT1を参照して、要求プログラムの負荷種別および想定CPU使用率を負荷種別202および想定CPU使用率204を取得する(ステップS907)。具体的には、たとえば、サービスコントローラ103のソフトウェア管理部504は、受信したサービス提供要求r2に含まれる要求プログラムのプログラム名を基にプログラム名201を検索し、該当するプログラム名201の要求プログラムの負荷種別および想定CPU使用率を該当するプログラム名201のエントリ内の負荷種別202および想定CPU使用率204から特定する。たとえば、要求プログラムのプログラム名201が「帯域制御」である場合、負荷種別202は「一定負荷」であり、想定CPU使用率204は「20%」である。
In step S907, the
なお、想定CPU使用率204はプロセッサ1個あたりのCPU使用率の予測値であるため、保証要求に応じた候補ノードのVMに割り当てられているプロセッサの個数が1個の場合は、取得した想定CPU使用率204がそのまま用いられる。
Since the assumed
一方、保証要求に応じた候補ノードのVMに割り当てられているプロセッサの個数が複数の場合は、サービスコントローラ103のソフトウェア管理部504は、取得した想定CPU使用率204を、保証要求に応じた候補ノードのVMに割り当てられたプロセッサの個数で除算する。たとえば、保証要求に応じた候補ノードのVMに割り当てられたプロセッサの個数が4個で、ソフト機能テーブルT1から取得した想定CPU使用率204が「20%」である場合、除算後の想定CPU使用率は、「5%」となる。後述の説明では、保証要求に応じた候補ノードのVMに割り当てられているプロセッサの個数が1個の場合を例に挙げて説明するが、除算後の想定CPU使用率も想定CPU使用率204として扱われる。
On the other hand, when the number of processors assigned to the VM of the candidate node corresponding to the guarantee request is plural, the
そして、サービスコントローラ103のソフトウェア管理部504は、取得した想定CPU使用率204を候補ノードの候補ノードテーブルT5の必要CPU使用率604に格納する。具体的には、たとえば、要求プログラムが「トラフィックモニタ」である場合、想定CPU使用率204は「10%」であるため、候補ノードテーブルT5において、候補ノード(たとえば、EN1)の必要CPU使用率604に「10%」が格納される。
Then, the
また、たとえば、要求プログラムについての負荷種別202が「変動負荷」である場合、サービスコントローラ103のソフトウェア管理部504は、想定CPU使用率204を取得して、想定CPU使用率204の最大値を候補ノードテーブルT5の必要CPU使用率604に格納する。具体的には、たとえば、要求プログラムが「ロードバランサ」である場合、想定CPU使用率204は「0〜30%」であるため、候補ノードテーブルT5において、候補ノード(たとえば、EN1)の必要CPU使用率604に、想定CPU使用率204:「0〜30%」の最大値「30%」が格納される。
Further, for example, when the
このあと、サービスコントローラ103のソフトウェア管理部504は、候補ノードごとに、ロード後想定CPU使用率605を算出する(ステップS908)。具体的には、たとえば、サービスコントローラ103のソフトウェア管理部504は、候補ノードテーブルT5の候補フラグが「1」であるエントリごとに、CPU使用率603と必要CPU使用率604とを合算して、ロード後想定CPU使用率を算出し、ロード後想定CPU使用率605に格納する。図5の候補ノードテーブルT5の選択経路内ノード601:「EN1」のエントリでは、CPU使用率603が「40%」、必要CPU使用率604が「10%」であるため、ロード後想定CPU使用率605として「50%」が格納される。
Thereafter, the
このあと、サービスコントローラ103のソフトウェア管理部504は、候補ノード群の中に、ロード後想定CPU使用率605が100%以下の候補ノードがあるか否かを判断する(ステップS909)。すなわち、サービスコントローラ103のソフトウェア管理部504は、ロード後想定計算リソースが要求プログラムの動作保証を遵守できる計算リソースであるか否かを候補ノードごとに判断する。ロード後想定CPU使用率605が100%以下の候補ノードがある場合(ステップS909:Yes)、サービスコントローラ103のソフトウェア管理部504は、ロード後想定CPU使用率605が100%以下の候補ノードにおけるCPU使用率の取得元VM(ステップS905でCPU使用率を取得したベストエフォートプログラム用VMまたはステップS906でCPU使用率を取得した動作保証プログラム用VM)をロード先に決定する(ステップS910)。
Thereafter, the
ロード後想定CPU使用率605が100%以下の候補ノードが複数ある場合は、ロード後想定CPU使用率605が最低となる候補ノードにおけるCPU使用率の取得元VMをロード先に決定してもよい。また、ロード後想定CPU使用率605が100%以下の候補ノードが複数ある場合は、ロード後想定CPU使用率605が所定CPU使用率以下となるいずれかの候補ノードにおけるCPU使用率の取得元VMをロード先に決定してもよい。このあと、サービスコントローラ103のソフトウェア管理部504は、要求プログラムと保証要求に応じたVM種別を、ステップS910で選択した候補ノードに送信することになる(ステップS807)。
When there are a plurality of candidate nodes whose post-load assumed
一方、ロード後想定CPU使用率605が100%以下の候補ノードがない場合(ステップS909:No)、サービスコントローラ103のソフトウェア管理部504は、保証要求を判断する(ステップS911)。保証要求が「保証orベストエフォート」である場合(ステップS911:保証orベストエフォート)、サービスコントローラ103のソフトウェア管理部504は、保証要求を「ベストエフォート」に更新し(ステップS912)、ステップS905に戻る。すなわち、ステップ909において、ロード後想定CPU使用率605が100%以下の候補ノードがない(ステップS909:No)ため、ロード先の候補ノードで動作保証できなくなる。したがって、保証要求を「ベストエフォート」に更新して、ステップS905に戻すことで、その後、ステップS911で保証要求が判断されると、後述するステップS914が実行される。すなわち、要求プログラムの動作を「保証」で動作させたいが動作保証できないため、「ベストエフォート」での動作に変更する。
On the other hand, when there is no candidate node whose post-load assumed
また、保証要求が「保証」である場合(ステップS911:保証)、ロード後想定CPU使用率605が100%以下の候補ノードがない(ステップS909:No)ため、ロード先の候補ノードで動作保証できなくなる。この場合、サービスコントローラ103のソフトウェア管理部504は、要求プログラムのロード先の決定不可通知を保守者/他管理システム102に出力する(ステップS913)。すなわち、要求プログラム動作を「保証」で動作させたいが動作保証できず、「ベストエフォート」にも変更できないため、保守者/他管理システム102に対して選択経路RTの再設定を促すことになる。
Further, when the guarantee request is “guaranteed” (step S911: guarantee), there is no candidate node whose post-load assumed
また、保証要求が「ベストエフォート」である場合(ステップS911:ベストエフォート)、サービスコントローラ103のソフトウェア管理部504は、ベストエフォートプログラム用VMの総CPU使用率に対する変動負荷プログラムのCPU使用率の割合が最も高い候補ノードにおけるCPU使用率の取得元VMをロード先に決定する(ステップS914)。また、サービスコントローラ103のソフトウェア管理部504は、ベストエフォートプログラム用VMの総CPU使用率に対する変動負荷プログラムのCPU使用率の割合が所定割合以上となる候補ノードにおけるCPU使用率の取得元VMをロード先に決定してもよい。
When the guarantee request is “best effort” (step S911: best effort), the
ベストエフォートプログラム用VMの総CPU使用率とは、計算リソース管理テーブルT2において、候補ノードのノード名301に対応するベストエフォートプログラム用VM302のロード済みプログラム303のCPU使用率304の合算値である。たとえば、図4において、ノード名301:「EN1」のエントリでは、ベストエフォートプログラム用VM302のロード済みプログラム303は、「遅延時間測定」、「導通特性試験」および「トラフィックモニタ」であり、また、それぞれのCPU使用率304は「7%」、「5%」、および「8%」である。したがって、候補ノードEN1についてのベストエフォートプログラム用VMの総CPU使用率は「20%」である。
The total CPU usage rate of the best effort program VM is a total value of the
また、ベストエフォートプログラム用VM302のロード済みプログラム303:「遅延時間測定」、「導通特性試験」および「トラフィックモニタ」のうち、変動負荷プログラムは、「遅延時間測定」および「導通特性試験」である。したがって、変動負荷プログラムのCPU使用率は、それぞれのCPU使用率「7%」および「5%」の合算値「12%」となる。
Of the loaded
そして、ベストエフォートプログラム用VMの総CPU使用率に対する変動負荷プログラムのCPU使用率の割合は、たとえば、変動負荷プログラムのCPU使用率をベストエフォートプログラム用VMの総CPU使用率で除算して求められる。上記の例の場合、12%/20%=3/5(=60%)となる。 The ratio of the CPU usage rate of the variable load program to the total CPU usage rate of the best effort program VM is obtained, for example, by dividing the CPU usage rate of the variable load program by the total CPU usage rate of the best effort program VM. . In the case of the above example, 12% / 20% = 3/5 (= 60%).
サービスコントローラ103のソフトウェア管理部504は、当該割合が最高となる候補ノードをロード先として選択することになる。すなわち、ステップS905で変動負荷プログラムのCPU使用率の平均値であるCPU使用率304を取得しているため、変動負荷プログラムの割合が高い方が、負荷が低下する確率が高くなり、ロード後のCPU使用率を抑制できるからである。このあと、サービスコントローラ103のソフトウェア管理部504は、要求プログラムと保証要求に応じたVM種別を、ステップS914で選択した候補ノードに送信することになる(ステップS807)。
The
このように、本実施例によれば、動作保証を要求されたソフトウェアの計算リソースを確保することができるとともに、ネットワーク内の計算リソースを効率的に活用することができる。また、VM単位でソフトウェアをノードで実行させるため、VMごとに計算リソースを取得することができる。したがって、ソフトウェアの計算リソースを容易に特定することができる。さらに、これらの処理が自動化されることで、ネットワークの保守者の負担軽減を図ることができる。 As described above, according to the present embodiment, it is possible to secure the calculation resource of the software for which the operation guarantee is requested and to efficiently use the calculation resource in the network. In addition, since the software is executed on the nodes in units of VMs, calculation resources can be acquired for each VM. Therefore, it is possible to easily specify the calculation resource of the software. Furthermore, by automating these processes, the burden on the network maintainer can be reduced.
また、ロード対象ノード/VM選択処理(ステップS806)は、サービス提供要求r2をトリガにして実行されるが、要求プログラムが割り当てられたノードのVMの計算リソースが所定のしきい値(たとえば、CPU使用率が100%)以上になったことをサービスコントローラ103が検知した場合に、サービスコントローラ103がロード対象ノード/VM選択処理(ステップS806)を再実行してもよい。
Further, the load target node / VM selection process (step S806) is executed with the service provision request r2 as a trigger, but the VM calculation resource of the node to which the request program is allocated has a predetermined threshold value (for example, CPU When the
ここでいう所定のしきい値は、VM種別ごとに異なる値でもよい。たとえば、VMが動作保証プログラム用VMである場合、計算リソースが100%以上となったことをサービスコントローラ103が検知した場合に、サービスコントローラ103がロード対象ノード/VM選択処理(ステップS806)を再実行する。また、ベストエフォートプログラム用VMでは、CPU使用率が100%を超過することを許容しているが、100%を超過した状態が所定時間以上継続したことをサービスコントローラ103が検知した場合に、サービスコントローラ103がロード対象ノード/VM選択処理(ステップS806)を再実行する。
The predetermined threshold value here may be a value different for each VM type. For example, when the VM is an operation guarantee program VM and the
再実行の場合、ロード対象ノード/VM選択処理(ステップS806)では、ステップS904から実行が開始される。これにより、ロード先の決定後においても計算リソースの上昇を動的に抑制することができる。なお、要求プログラムが別のノードNに割り当てられた場合には、元のノードNのVMにおいて実行されていた要求プログラムのプログラムインスタンスは消去される。 In the case of re-execution, in the load target node / VM selection process (step S806), execution starts from step S904. Thereby, it is possible to dynamically suppress an increase in calculation resources even after the load destination is determined. When the request program is assigned to another node N, the program instance of the request program executed in the VM of the original node N is deleted.
なお、上述した実施例では、プログラムPをロードする構成としたが、プログラムPをあらかじめノードNに格納しておく構成でもよい。この場合、サービスコントローラ103は、プログラムPをロードする代わりに、プログラムPの識別情報(例えば、プログラム名)をロードし、プログラムPの識別情報を受けたノードNは、VM管理部によりプログラムPのプログラムインスタンスを指定されたVMに構築すればよい。このように、プログラムPの代わりにプログラムPの識別情報をロードすることにより、サービスコントローラ103からノードNへの通信量の低減化を図ることができる。
In the above-described embodiment, the program P is loaded. However, the program P may be stored in the node N in advance. In this case, instead of loading the program P, the
上述した実施例では、サービスコントローラ103が保守/他管理システム102から受信する経路設定要求r1および経路設定要求r1に続いて受信するサービス提供要求r2に基づいて、ノードNにロードするプログラムPを選択する構成としたが、サービスコントローラ103が独立に受信した経路設定要求r1およびサービス提供要求r2に基づいて、ノードNにロードするプログラムPを選択する構成としてもよい。すなわち、サービスコントローラ103は、複数の経路設定要求r1を受信して、複数の選択経路RTをパケットトランスポートネットワーク101内に設定し、その後受信するサービス提供要求r2に基づいて、経路情報テーブルを参照して、複数の選択経路RTから要求プログラムをロードする選択経路RTを選択して、選択した選択経路RT上のノードNにロードするプログラムPを選択してもよい。
In the embodiment described above, the program P to be loaded to the node N is selected based on the route setting request r1 received from the maintenance /
この場合、サービス提供要求r2に、要求プログラムをロードする選択経路RTを特定する情報が含まれる構成であっても、サービスコントローラ103が、サービス提供要求r2とともに、要求プログラムをロードする選択経路RTを特定する情報を受信する構成であってもよい。
In this case, even if the service provision request r2 includes information for specifying the selection route RT for loading the request program, the
サービスコントローラ103が経路設定要求r1およびサービス提供要求r2を独立に受信する構成とすることで、経路設定とロードするプログラムPの選択を独立して実行し、例えば、経路設定要求r1を受信せずサービス提供要求r2を受信した場合に、既に設定した経路を変更せずに、複数の設定ずみの経路のうちの1つに対してプログラムPをロードすることができ、また、既にロードされたプログラムPを変更することもできるため、プログラムPのロード先の決定を柔軟に行うことができる。また、ネットワーク内の計算リソースの効率的な活用を図ることができる。
With the configuration in which the
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。 The present invention is not limited to the above-described embodiments, and includes various modifications and equivalent configurations within the scope of the appended claims. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and the present invention is not necessarily limited to those having all the configurations described. A part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Moreover, you may add the structure of another Example to the structure of a certain Example. Moreover, you may add, delete, or replace another structure about a part of structure of each Example.
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。 In addition, each of the above-described configurations, functions, processing units, processing means, etc. may be realized in hardware by designing a part or all of them, for example, with an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。 Information such as programs, tables, and files that realize each function can be stored in a storage device such as a memory, a hard disk, and an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。 Further, the control lines and the information lines are those that are considered necessary for the explanation, and not all the control lines and the information lines that are necessary for the mounting are shown. In practice, it can be considered that almost all the components are connected to each other.
100 通信システム
101 パケットトランスポートネットワーク
103 サービスコントローラ
502 経路生成部
503 ノードリソース監視部
504 ソフトウェア管理部
505 ソフトウェアロード部
702 VM管理部
706 入出力処理部
721 計算リソース監視部
722 プログラム格納部
N ノード
T1 ソフト機能テーブル
T2 計算リソース管理テーブル
T4 計算リソーステーブル
T5 候補ノードテーブル
100
Claims (14)
前記複数の転送装置の各々には、プログラムの動作保証を遵守するように前記プログラムを実行する第1の仮想マシンと、前記プログラムの実行に際し前記プログラムの動作保証を遵守しなくてもよい第2の仮想マシンと、が構築され、
前記制御装置は、プロセッサと、前記ネットワーク内に設定された経路を示す経路管理情報を記憶する記憶デバイスと、を有し、
前記プロセッサは、
前記複数の転送装置にロードする対象のプログラムであるロード対象プログラムの動作保証に関する保証要求を受け付ける受付処理と、
前記経路管理情報に基づいて前記経路を構成する転送装置群を前記複数の転送装置から選択する選択処理と、
前記受付処理によって受け付けられた前記保証要求に応じて、前記選択処理によって選択された転送装置に構築される前記第1の仮想マシンおよび前記第2の仮想マシンのうち、いずれか一方の仮想マシンを前記ロード対象プログラムのロード先に決定する決定処理と、
を実行することを特徴とする制御装置。 A control device for controlling a plurality of transfer devices for transferring data in a network,
Each of the plurality of transfer devices includes a first virtual machine that executes the program so as to comply with the operation guarantee of the program, and a second that does not need to comply with the operation guarantee of the program when the program is executed. With a virtual machine,
The control apparatus includes a processor and a storage device that stores path management information indicating a path set in the network,
The processor is
A reception process for receiving a guarantee request for guaranteeing operation of a load target program that is a program to be loaded into the plurality of transfer devices;
A selection process for selecting, from the plurality of transfer devices, a transfer device group constituting the route based on the route management information;
Either one of the first virtual machine and the second virtual machine constructed in the transfer device selected by the selection process in response to the guarantee request received by the reception process. A determination process for determining a load destination of the load target program;
The control apparatus characterized by performing.
プログラムごとの想定計算リソースをさらに記憶し、
前記保証要求は、
前記ロード対象プログラムの動作保証を遵守する第1の保証内容と、前記ロード対象プログラムの動作保証を遵守しなくてもよい第2の保証内容のいずれかの保証内容を含み、
前記プロセッサは、
前記選択処理によって選択された転送装置について、前記いずれか一方の仮想マシンにおける現在の計算リソースを取得する取得処理と、
前記記憶デバイスに記憶されている前記ロード対象プログラムの想定計算リソースと、前記取得処理によって取得された前記現在の計算リソースと、に基づいて、前記ロード対象プログラムが前記選択された転送装置に構築されている前記いずれか一方の仮想マシンにロードされた場合におけるロード後想定計算リソースを算出する算出処理と、
をさらに実行し、
前記決定処理では、前記プロセッサは、前記算出処理によって算出された前記ロード後想定計算リソースに基づいて、前記ロード先の仮想マシンを決定することを特徴とする請求項1に記載の制御装置。 The storage device further stores assumed calculation resources for each program,
The warranty request is:
Including the guarantee contents of the first guarantee contents that comply with the operation guarantee of the load target program and the second guarantee contents that do not need to comply with the operation guarantee of the load target program,
The processor is
For the transfer device selected by the selection process, an acquisition process for acquiring a current computing resource in any one of the virtual machines;
Based on the assumed calculation resource of the load target program stored in the storage device and the current calculation resource acquired by the acquisition process, the load target program is constructed in the selected transfer device. A calculation process for calculating an assumed calculation resource after loading when the virtual machine is loaded on any one of the virtual machines;
Run further,
The control device according to claim 1, wherein in the determination process, the processor determines the load destination virtual machine based on the post-load assumed calculation resource calculated by the calculation process.
前記決定処理では、前記プロセッサは、前記いずれかの保証内容が前記第2の保証内容である場合、前記選択された転送装置ごとに、前記第2の仮想マシンで実行中のプログラム群のうち前記負荷種別が変動であるプログラムの割合を算出し、算出した前記選択された転送装置ごとの当該割合が最大または所定割合以上である前記選択された転送装置の前記いずれか一方の仮想マシンを、前記ロード対象プログラムのロード先に決定することを特徴とする請求項5に記載の制御装置。 The storage device stores, for each program, load type information that defines a load type indicating whether the load is constant or variable,
In the determination process, when any one of the guarantee contents is the second guarantee contents, the processor, for each of the selected transfer devices, out of the group of programs being executed in the second virtual machine. Calculate the ratio of the program whose load type is fluctuating, and calculate the one virtual machine of the selected transfer apparatus whose calculated ratio for each selected transfer apparatus is the maximum or a predetermined ratio or more. The control apparatus according to claim 5, wherein the control apparatus determines a load destination of the load target program.
前記第1の保証内容を充足しなければ前記第2の保証内容が適用される第3の保証内容をさらに含み、
前記決定処理では、前記プロセッサは、前記いずれかの保証内容が前記第3の保証内容である場合、前記いずれかの保証内容を前記第3の保証内容から前記第2の保証内容に変更し、
前記プロセッサは、前記変更された第2の保証内容により、前記取得処理、前記算出処理、および、前記決定処理を再実行することを特徴とする請求項6に記載の制御装置。 The warranty request is:
If the first warranty content is not satisfied, the second warranty content further includes a third warranty content,
In the determination process, when any one of the guarantee contents is the third guarantee contents, the processor changes any one of the guarantee contents from the third guarantee contents to the second guarantee contents,
The control device according to claim 6, wherein the processor re-executes the acquisition process, the calculation process, and the determination process according to the changed second guarantee content.
前記複数の転送装置の各々には、プログラムの動作保証を遵守するように前記プログラムを実行する第1の仮想マシンと、前記プログラムの実行に際し前記プログラムの動作保証を遵守しなくてもよい第2の仮想マシンと、が構築され、
前記制御装置は、前記プロセッサと、前記ネットワーク内に設定された経路を示す経路管理情報を記憶する記憶デバイスと、を有し、
前記制御プログラムは、
前記プロセッサに、
前記複数の転送装置にロードする対象のプログラムであるロード対象プログラムの動作保証に関する保証要求を受け付ける受付処理と、
前記経路管理情報に基づいて前記経路を構成する転送装置群を前記複数の転送装置から選択する選択処理と、
前記受付処理によって受け付けられた前記保証要求に応じて、前記選択処理によって選択された転送装置に構築される前記第1の仮想マシンおよび前記第2の仮想マシンのうち、いずれか一方の仮想マシンを前記ロード対象プログラムのロード先に決定する決定処理と、
を実行させることを特徴とする制御プログラム。 A control program executed by a processor of a control device that controls a plurality of transfer devices that transfer data in a network,
Each of the plurality of transfer devices includes a first virtual machine that executes the program so as to comply with the operation guarantee of the program, and a second that does not need to comply with the operation guarantee of the program when the program is executed. With a virtual machine,
The control apparatus includes the processor and a storage device that stores path management information indicating a path set in the network,
The control program is
In the processor,
A reception process for receiving a guarantee request for guaranteeing operation of a load target program that is a program to be loaded into the plurality of transfer devices;
A selection process for selecting, from the plurality of transfer devices, a transfer device group constituting the route based on the route management information;
Either one of the first virtual machine and the second virtual machine constructed in the transfer device selected by the selection process in response to the guarantee request received by the reception process. A determination process for determining a load destination of the load target program;
A control program characterized by causing
プログラムごとの想定計算リソースをさらに記憶し、
前記保証要求は、
前記ロード対象プログラムの動作保証を遵守する第1の保証内容と、前記ロード対象プログラムの動作保証を遵守しなくてもよい第2の保証内容のいずれかの保証内容を含み、
前記制御プログラムは、
前記プロセッサに、
前記選択処理によって選択された転送装置について、前記いずれか一方の仮想マシンにおける現在の計算リソースを取得する取得処理と、
前記記憶デバイスに記憶されている前記ロード対象プログラムの想定計算リソースと、前記取得処理によって取得された前記現在の計算リソースと、に基づいて、前記ロード対象プログラムが前記選択された転送装置に構築されている前記いずれか一方の仮想マシンにロードされた場合におけるロード後想定計算リソースを算出する算出処理と、
前記決定処理によって決定されたロード先の仮想マシンに前記ロード対象プログラムに関する情報を送信する送信処理と、
をさらに実行させ、
前記決定処理では、前記制御プログラムは、前記プロセッサに、前記算出処理によって算出された前記ロード後想定計算リソースに基づいて、前記ロード先の仮想マシンを決定させることを特徴とする請求項12に記載の制御プログラム。 The storage device further stores assumed calculation resources for each program,
The warranty request is:
Including the guarantee contents of the first guarantee contents that comply with the operation guarantee of the load target program and the second guarantee contents that do not need to comply with the operation guarantee of the load target program,
The control program is
In the processor,
For the transfer device selected by the selection process, an acquisition process for acquiring a current computing resource in any one of the virtual machines;
Based on the assumed calculation resource of the load target program stored in the storage device and the current calculation resource acquired by the acquisition process, the load target program is constructed in the selected transfer device. A calculation process for calculating an assumed calculation resource after loading when the virtual machine is loaded on any one of the virtual machines;
A transmission process for transmitting information related to the load target program to the load destination virtual machine determined by the determination process;
Is executed further,
13. The determination process according to claim 12, wherein the control program causes the processor to determine the load destination virtual machine based on the post-load assumed calculation resource calculated by the calculation process. Control program.
前記複数の転送装置の各々には、プログラムの動作保証を遵守するように前記プログラムを実行する第1の仮想マシンと、前記プログラムの実行に際し前記プログラムの動作保証を遵守しなくてもよい第2の仮想マシンと、が構築され、
前記制御装置は、プロセッサと、前記ネットワーク内に設定された経路を示す経路管理情報を記憶する記憶デバイスと、を有し、
前記プロセッサは、
前記複数の転送装置にロードする対象のプログラムであるロード対象プログラムの動作保証に関する保証要求を受け付ける受付処理と、
前記管理情報に基づいて前記経路を構成する転送装置群を前記複数の転送装置から選択する選択処理と、
前記受付処理によって受け付けられた前記保証要求に応じて、前記選択処理によって選択された転送装置に構築される前記第1の仮想マシンおよび前記第2の仮想マシンのうち、いずれか一方の仮想マシンを前記ロード対象プログラムのロード先に決定する決定処理と、
前記決定処理によって決定されたロード先の仮想マシンに前記ロード対象プログラムに関する情報を送信する送信処理と、
を実行し、
前記複数の転送装置のうち前記ロード先の仮想マシンを構築する転送装置は、
前記ロード対象プログラムに関する情報を受信すると、前記ロード先の仮想マシン上で前記ロード対象プログラムを実行することを特徴とする通信システム。 A communication system comprising a plurality of transfer devices that transfer data in a network, and a control device that controls the plurality of transfer devices,
Each of the plurality of transfer devices includes a first virtual machine that executes the program so as to comply with the operation guarantee of the program, and a second that does not need to comply with the operation guarantee of the program when the program is executed. With a virtual machine,
The control apparatus includes a processor and a storage device that stores path management information indicating a path set in the network,
The processor is
A reception process for receiving a guarantee request for guaranteeing operation of a load target program that is a program to be loaded into the plurality of transfer devices;
A selection process for selecting, from the plurality of transfer devices, a transfer device group constituting the route based on the management information;
Either one of the first virtual machine and the second virtual machine constructed in the transfer device selected by the selection process in response to the guarantee request received by the reception process. A determination process for determining a load destination of the load target program;
A transmission process for transmitting information related to the load target program to the load destination virtual machine determined by the determination process;
Run
Among the plurality of transfer devices, the transfer device that constructs the load destination virtual machine is:
A communication system, wherein when the information related to the load target program is received, the load target program is executed on the load destination virtual machine.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015020268A JP2016144133A (en) | 2015-02-04 | 2015-02-04 | Control device, control program and communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015020268A JP2016144133A (en) | 2015-02-04 | 2015-02-04 | Control device, control program and communication system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016144133A true JP2016144133A (en) | 2016-08-08 |
Family
ID=56570870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015020268A Pending JP2016144133A (en) | 2015-02-04 | 2015-02-04 | Control device, control program and communication system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016144133A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018143235A1 (en) * | 2017-02-01 | 2018-08-09 | 日本電気株式会社 | Management system, management device, and management method and program |
-
2015
- 2015-02-04 JP JP2015020268A patent/JP2016144133A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018143235A1 (en) * | 2017-02-01 | 2018-08-09 | 日本電気株式会社 | Management system, management device, and management method and program |
US11397605B2 (en) | 2017-02-01 | 2022-07-26 | Nec Corporation | Management system, management apparatus, management method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102273413B1 (en) | Dynamic scheduling of network updates | |
JP2020184745A (en) | Monitoring-based edge computing services with delay assurance | |
JP5954074B2 (en) | Information processing method, information processing apparatus, and program. | |
US20180349121A1 (en) | Dynamic deployment of an application based on micro-services | |
US10153979B2 (en) | Prioritization of network traffic in a distributed processing system | |
KR20160087706A (en) | Apparatus and method for resource allocation of a distributed data processing system considering virtualization platform | |
JP6406633B2 (en) | Virtual network control device, virtual network control method, and program | |
US20080148272A1 (en) | Job allocation program, method and apparatus | |
JP2007207136A (en) | Data processor, data processing method, and data processing program | |
JP2014138244A (en) | Centralized management network control system | |
CN114697256B (en) | Dynamic network bandwidth allocation and management based on centralized controllers | |
US11695631B1 (en) | Generating candidate links and candidate paths before selecting links for an optimized optical network plan | |
CN111699659A (en) | Virtualized network functions | |
JP2014186411A (en) | Management device, information processing system, information processing method and program | |
JP2013187656A (en) | Network control system, path management server, and network control method and program for distributed type cloud infrastructure | |
JP5754504B2 (en) | Management apparatus, information processing apparatus, information processing system, and data transfer method | |
JP6754115B2 (en) | Selection device, device selection method, program | |
JP7176633B2 (en) | VIRTUALIZATION BASE CONTROL DEVICE, VIRTUALIZATION BASE CONTROL METHOD AND VIRTUALIZATION BASE CONTROL PROGRAM | |
JP2016144133A (en) | Control device, control program and communication system | |
CN108737144B (en) | Method and device for resource management | |
JP2015153330A (en) | Virtual machine arrangement system and method | |
JP6191361B2 (en) | Information processing system, information processing system control method, and control program | |
JP6721106B2 (en) | First control device, device, method, program, recording medium, and system | |
WO2014016950A1 (en) | Parallel computer system, and method for arranging processing load in parallel computer system | |
JP6339978B2 (en) | Resource allocation management device and resource allocation management method |