JP6288633B2 - Network control method - Google Patents

Network control method Download PDF

Info

Publication number
JP6288633B2
JP6288633B2 JP2013172909A JP2013172909A JP6288633B2 JP 6288633 B2 JP6288633 B2 JP 6288633B2 JP 2013172909 A JP2013172909 A JP 2013172909A JP 2013172909 A JP2013172909 A JP 2013172909A JP 6288633 B2 JP6288633 B2 JP 6288633B2
Authority
JP
Japan
Prior art keywords
sdn controller
ofc
control
resource
sdn
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
JP2013172909A
Other languages
Japanese (ja)
Other versions
JP2015041938A (en
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.)
Kozo Keikaku Engineering Inc
Tokyo Denki University
Original Assignee
Kozo Keikaku Engineering Inc
Tokyo Denki University
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 Kozo Keikaku Engineering Inc, Tokyo Denki University filed Critical Kozo Keikaku Engineering Inc
Priority to JP2013172909A priority Critical patent/JP6288633B2/en
Publication of JP2015041938A publication Critical patent/JP2015041938A/en
Application granted granted Critical
Publication of JP6288633B2 publication Critical patent/JP6288633B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、SDNコントローラを用いたネットワーク制御方法に関する。   The present invention relates to a network control method using an SDN controller.

ソフトウェア制御が可能なネットワーク(SDN:Software Defined Networking)の一つの技術要素として、ネットワークノードの機能をネットワークルーチング機構(ノードのデータ転送機能)とコントローラ機構(ノードでの制御ソフトウェア・ルーチング制御機能)とに、分離できるようにインタフェースを公開し、ネットワーク制御をプログラマブルにすることにより、柔軟な経路制御や構成変更等が容易に実現可能となる機構が注目されている。SDNではコントローラがネットワークの全情報を集め、一元的に定義し、ソフトウェアを活用した集中制御処理に基づいて、ネットワーク全体を制御できる特徴を持つ。コントローラは、スイッチ制御用のソフトウェアを配備することにより、スイッチの動作を制御できる。SDNの実現方法の1つとして、オープンフロー(OpenFlow:非特許文献1など)と呼ばれるネットワークプラットフォームの標準化が進められ、オープンソースによる実装と同時に企業によるシステム/製品群が市場に出てきている。   As one technical element of a software-controllable network (SDN: Software Defined Networking), the function of a network node is a network routing mechanism (node data transfer function) and a controller mechanism (control software / routing control function at a node) In particular, a mechanism that allows flexible path control, configuration change, and the like to be easily realized by opening up an interface so that it can be separated and making network control programmable is drawing attention. In the SDN, the controller collects all network information, defines it centrally, and has a feature that can control the entire network based on centralized control processing utilizing software. The controller can control the operation of the switch by deploying switch control software. As one of the methods for realizing SDN, standardization of a network platform called OpenFlow (Non-Patent Document 1 or the like) has been promoted, and a system / product group by a company has been put on the market simultaneously with implementation by open source.

しかしながら、上記スイッチの動作情報の未設定や新しい機能やサービスの追加等に起因する、スイッチとコントローラの間の制御用トラヒックの急激な増加に対しては、上記のコントローラの処理能力は逼迫し、コントローラのスケーラビリティは、保障できない状況が生じ得る。また、当該のコントローラに故障が発生した場合の対策に関しては、当該の技術が開示されていないのが現状である。また、SDNを実現するコントローラに関しては、NECが開発し、オープンソースとして公開したTremaや、スタンフォード大学で開発されたBeacon、NOX/POX等があるが、本願で開示する技術は、いずれのコントローラに対しても、同様に適用することが可能である。   However, the processing capacity of the controller is tight against the sudden increase in control traffic between the switch and the controller due to the non-setting of the operation information of the switch and the addition of new functions and services. There may be situations where controller scalability cannot be guaranteed. In addition, regarding the countermeasure when a failure occurs in the controller, the current technology is not disclosed. Regarding controllers that realize SDN, there are Trema developed by NEC and released as open source, Beacon, NOX / POX, etc. developed by Stanford University. The same applies to the case.

すなわち、現時点におけるSDN実現上の技術的な課題の一つは、ネットワークで提供されるサービスに対して、一時的に発生するネットワークへのアクセス集中や、スイッチの動作として登録されていない新しいトラヒックフローを含めた、急激なトラヒック増加や、コントローラの故障に対して、迅速に当該のコントローラの処理能力の増大化や、代替えとなるシステムを割り当てるための、メカニズムが確立されていない状況にある。   In other words, one of the technical problems in realizing SDN at present is that, for services provided on the network, temporary access concentration to the network that occurs temporarily, and new traffic flows that are not registered as switch operations No mechanism has been established for rapidly increasing the processing capacity of a controller or allocating an alternative system in response to a sudden increase in traffic or a failure of a controller.

図1に、SDNの基本構成の一例を示す。一般的なオープンフロースイッチの構成を示す。オープンフロースイッチでは、従来のルータ等のネットワーク機器が持つ機能を、オープンフローコントローラ(以下、OFCと記す。)92とフローテーブルの内容に基づいてパケットを転送するオープンフロースイッチ(以下、OFSと記す。)91とに分離されている。OFC92は、OFS91内のスイッチ11へのパケット処理動作や統計処理機能等の制御行う。OFS91は、スイッチ11と、フローテーブル12を備える。スイッチ11は、OFC92の指示に従い、入力トラヒックのフロー情報に基づいて、パケットに対するルーチング等の処理(アクション)を行う。ネットワーク管理者は、入力トラヒックのフローの優先処理方法、廃棄方法および、経路設定方法等のアクションを、事前に、フローテーブル12内のフローエントリーにインストラクションとして登録する。このフローエントリー内のインストラクション等のパケット処理に関わる制御内容は、OFS91の外部にあるOFC92からのソフトウェアにより管理される。OFS91は登録されたフローテーブル12に対して、パケットトラヒックの処理に関わるマッチングルールを適用して、マッチしたフローエントリーに示された転送処理を当該パケットに対して行う。   FIG. 1 shows an example of the basic configuration of the SDN. The structure of a general OpenFlow switch is shown. In the OpenFlow switch, the functions of a conventional network device such as a router are represented by an OpenFlow controller (hereinafter referred to as OFC) 92 and an OpenFlow switch (hereinafter referred to as OFS) that transfers packets based on the contents of the flow table. .) 91. The OFC 92 controls the packet processing operation to the switch 11 in the OFS 91 and the statistical processing function. The OFS 91 includes a switch 11 and a flow table 12. The switch 11 performs processing such as routing (action) on the packet based on the flow information of the input traffic according to the instruction of the OFC 92. The network administrator registers actions such as a priority processing method, a discarding method, and a route setting method for the flow of the input traffic as instructions in the flow entry in the flow table 12 in advance. The control contents related to packet processing such as instructions in the flow entry are managed by software from the OFC 92 outside the OFS 91. The OFS 91 applies a matching rule related to packet traffic processing to the registered flow table 12, and performs transfer processing indicated by the matched flow entry for the packet.

OFS91は、自身のフローテーブル12にて未定義のトラヒックフローが到着した場合、OFC92に未定義フローに対する動作(アクション)を問い合わせる場合がある。OFC92は未定義フローに対する動作を、当該OFS91に指示する。OFS91に入力されるトラヒックフローに対して、予めフローテーブル12(インストラクション等のアクションリスト)に未登録のトラヒックフローが増えた時には、OFS91とOFC92との間でこの制御メッセージのやり取りが多数発生する。また、OFC92ではOFS91に指示すべきフローエントリー決定のための処理負荷が増大する。このように、オープンフロー制御機構(パケット処理の制御機構)に対して、制御トラヒック量およびトラヒック処理量が、想定した負荷量の閾値以上に増大し、OFC92により管理するネットワークの制御が困難になる危険性があった。   When an undefined traffic flow arrives in its own flow table 12, the OFS 91 may inquire of the operation (action) for the undefined flow to the OFC 92. The OFC 92 instructs the OFS 91 to operate on the undefined flow. When traffic flows that are not registered in the flow table 12 (instruction lists such as instructions) increase in advance with respect to the traffic flows input to the OFS 91, many exchanges of this control message occur between the OFS 91 and the OFC 92. Further, in the OFC 92, the processing load for determining the flow entry to be instructed to the OFS 91 increases. As described above, the amount of control traffic and the amount of traffic processing increase with respect to the open flow control mechanism (packet processing control mechanism) beyond the threshold value of the assumed load amount, making it difficult to control the network managed by the OFC 92. There was a danger.

すなわち、集中制御方式を前提とした現状のOFC(制御用サーバ)92によるネットワーク制御では、コントローラへ加わる制御用トラヒックの処理能力が過剰になり、通信サービスを継続できない事態が発生し得る。   That is, in the current network control by the OFC (control server) 92 on the premise of the centralized control method, the processing capacity of the control traffic applied to the controller becomes excessive, and a situation where the communication service cannot be continued may occur.

従来、これらのトラヒックに対する対処方法としては、ユーザに対して、一時的に利用を控えるように通知する方法や、強制的にOFC92への制御用のトラヒックを、OFS91の前段または、OFS91内で、遮断又は廃棄する手法が一般的であった。ユーザの通信サービスの継続に関わる信頼性の向上、および、今後の新しい形態の通信トラヒックの増加にも対応できる必要があり、従来の方式に代わる新たな技術の開発が求められていた。   Conventionally, as a method for dealing with these traffics, a method of notifying the user to temporarily refrain from using, or forcing traffic for control to the OFC 92 in the preceding stage of the OFS 91 or within the OFS 91, The technique of blocking or discarding was common. It is necessary to improve the reliability related to the continuation of the user's communication service and to cope with an increase in communication traffic in a new form in the future, and the development of a new technology that replaces the conventional method has been demanded.

一方、サーバの仮想化技術の進歩により、新たなサービスの追加が必要となった場合においても、複数の物理的なリソースを、ユーザ要望に適うように、要求される処理能力に応じて、随時、適切に組み合わせて同時に活用することが可能である。例えば、OFC92に代表されるネットワーク制御用の通信機器を適切に配備して、新しいサービスを実施するために必要な処理能力を増強することも可能である。   On the other hand, even if new services need to be added due to advances in server virtualization technology, multiple physical resources can be allocated as needed to meet user demands, depending on the processing power required. Can be combined and used at the same time. For example, it is possible to appropriately deploy communication devices for network control represented by the OFC 92 to increase the processing capacity necessary to implement a new service.

非特許文献2、非特許文献3には、OFC92を複数の物理的なリソースで構成される分散環境上に実装することで、信頼性と可用性の保証を実現する例が示されている。非特許文献2は、OFC92が備えるべきデータを分散データベース上に構築し、OFC92を介して実装されるネットワークアプリケーションに対して適切なAPI(Application Programming Interface)を提供することにより、OFC92の分散化を実現している。非特許文献3は、データを分散データベース上で管理すると共に、複数のOFC92間で通信を行うことで同期をとる方法が示されている。また、特許文献1には、複数のOFC92を配備し、負荷状態に応じてOFC92が制御するOFS91の使用数を変化させることで、負荷分散、消費電力の削減、可用性の保証を行う方式が述べられている。   Non-Patent Document 2 and Non-Patent Document 3 show examples in which reliability and availability are guaranteed by mounting the OFC 92 on a distributed environment composed of a plurality of physical resources. Non-Patent Document 2 builds data that the OFC 92 should have on a distributed database, and distributes the OFC 92 by providing an appropriate API (Application Programming Interface) for network applications implemented via the OFC 92. Realized. Non-Patent Document 3 discloses a method of managing data on a distributed database and synchronizing by performing communication between a plurality of OFCs 92. Patent Document 1 describes a method for distributing a load, reducing power consumption, and guaranteeing availability by deploying a plurality of OFCs 92 and changing the number of OFSs 91 controlled by the OFC 92 according to the load state. It has been.

特開2013−30863号公報JP 2013-30863 A

Open Networking Foundation white paper,“Software−Defined Networking:The New Norm for Networks”,ONF White Paper,April 13,2012Open Networking Foundation white paper, “Software-Defined Networking: The New Norm for Networks”, ONF White Paper, April 13, 2012. K.Koponen et al.,“Onix: A Distributed control Platform for Large−scale Production Networks”,In the Proc. of the 9th USENIX Symposium on Operating System Design and Implementation (OSDI 10),Vancouver,Canada,October 2010K. Koponen et al. "Onix: A Distributed control Platform for Large-scale Production Networks", In the Proc. of the 9th USENIX Symposium on Operating System Design and Implementation (OSDI 10), Vancouver, Canada, October 2010 A.Tootocian and Y.Ganjali,“HyperFlow:A Distributed Control Plane for OpenFlow”,In the Proc. Of NSDI Internet Network Management Workshop/Workshop on Research on Enterprise Networking(INM/WREN),San Jose,CA,USA,April 2010A. Toyotacian and Y.C. Ganjali, “HyperFlow: A Distributed Control Plane for OpenFlow”, In the Proc. Of NSDI Internet Network Management Workshop / Workshop on Research on Enterprise Networking (INM / WREN), San Jose, CA, USA, April 2010

しかしながら、いずれの文献にも、地理的に分散したコントローラをライブクローン作成技術により、ダイナミックにリアルタイムで構築し、大規模な仮想サーバとして、ネットワーク制御用に活用するための技術については開示がなされていない。   However, any document discloses a technique for dynamically constructing a geographically distributed controller in real time using a live clone creation technique and utilizing it for network control as a large-scale virtual server. Absent.

本発明は、稼働中のOFCの複製をライブクローン技術により作成するというシンプルな制御により、ネットワークへの新サービスの追加や需要の拡大、および、突発的な制御処理用トラヒックの増加等に対してもサービスを提供できるネットワーク制御方法を提供することを目的とする。   The present invention provides simple control of creating a live OFC replica using live clone technology, adding new services to the network, expanding demand, and suddenly increasing traffic for control processing. Another object of the present invention is to provide a network control method capable of providing a service.

本願発明のネットワーク制御システムは、
ソフトウェア制御を用いてスイッチの出力経路を制御するSDN(Software Defined Networking)コントローラと、
前記スイッチと前記SDNコントローラ間の制御トラヒック及び前記SDNコントローラのリソースに基づいて前記SDNコントローラが過負荷状態であることを判定し、過負荷状態にあるSDNコントローラのライブクローンを生成するSDNコントローラ制御部と、
を備える。
The network control system of the present invention is
An SDN (Software Defined Networking) controller that controls the output path of the switch using software control;
An SDN controller controller that determines that the SDN controller is in an overload state based on control traffic between the switch and the SDN controller and resources of the SDN controller, and generates a live clone of the SDN controller in the overload state When,
Is provided.

本願発明のネットワーク制御システムでは、前記SDNコントローラ制御部は、前記ライブクローンの生成に必要なリソースの処理速度又はメモリ容量を含む条件を、過負荷状態にあるSDNコントローラのリソースに基づいて決定し、決定した条件を満足する仮想マシンを構築してもよい。   In the network control system of the present invention, the SDN controller control unit determines a condition including a processing speed or a memory capacity of a resource necessary for generating the live clone based on a resource of the SDN controller in an overload state, A virtual machine that satisfies the determined condition may be constructed.

本願発明のネットワーク制御システムでは、1つの前記SDNコントローラは、データの同期されている複数のデータベースを備え前記複数のデータベースのうちの1つが、前記SDNコントローラ制御部からの指示に従い、当該データベースに記憶されているデータを複製する機能をもつと共に、前記仮想マシンは、前記複数のデータベースのうちの利用可能な他の1つを参照して、前記スイッチの接続処理を行ってもよい。   In the network control system of the present invention, one SDN controller includes a plurality of databases in which data is synchronized, and one of the plurality of databases is stored in the database in accordance with an instruction from the SDN controller control unit. The virtual machine may perform the connection process of the switch with reference to another available one of the plurality of databases.

本願発明のネットワーク制御システムでは、複数の前記SDNコントローラが共通の前記スイッチの出力経路を制御し、前記複数のSDNコントローラに備わる前記データベースは、前記スイッチの出力経路を制御するための同一内容のフローテーブルを格納していてもよい。   In the network control system of the present invention, a plurality of the SDN controllers control a common output path of the switch, and the database provided in the plurality of SDN controllers has the same content flow for controlling the output path of the switch. A table may be stored.

本願発明のネットワーク制御システムでは、前記SDNコントローラ制御部は、前記SDNコントローラに故障が発生したことを判定し、故障が発生したSDNコントローラのライブクローンを生成してもよい。   In the network control system of the present invention, the SDN controller control unit may determine that a failure has occurred in the SDN controller and generate a live clone of the SDN controller in which the failure has occurred.

本願発明のネットワーク制御方法は、
ソフトウェア制御を用いてスイッチの出力経路を制御するSDNコントローラの制御方法であって、
前記スイッチと前記SDNコントローラ間の制御トラヒック及び前記SDNコントローラのリソースに基づいて前記SDNコントローラが過負荷状態であることを判定する判定手順と、
過負荷状態にあるSDNコントローラのライブクローンを生成する制御手順と、
を、SDNコントローラ制御部が実行する
The network control method of the present invention is:
A control method of an SDN controller that controls an output path of a switch using software control,
A determination procedure for determining that the SDN controller is overloaded based on control traffic between the switch and the SDN controller and resources of the SDN controller;
A control procedure for creating a live clone of an overloaded SDN controller;
Is executed by the SDN controller control unit .

本願発明のネットワーク制御方法では、前記制御手順において、前記SDNコントローラ制御部が、前記ライブクローンの生成に必要なリソースの処理速度又はメモリ容量を含む条件を、過負荷状態にあるSDNコントローラのリソースに基づいて決定し、決定した条件を満足する仮想マシンを構築してもよい。 In the network control method of the present invention, in the control procedure, the SDN controller control unit sets a condition including a processing speed or a memory capacity of a resource necessary for generating the live clone as a resource of the overloaded SDN controller. A virtual machine that is determined based on the condition and satisfies the determined condition may be constructed.

本願発明のネットワーク制御方法では、1つの前記SDNコントローラは、データの同期されている複数のデータベースを備え、前記制御手順において、前記複数のデータベースのうちの1つが、前記SDNコントローラ制御部からの指示に従い、当該データベースに記憶されているデータを複製する機能をもつと共に、前記仮想マシンは、前記複数のデータベースのうちの利用可能な他の1つを参照して、前記スイッチの接続処理を行ってもよい。   In the network control method of the present invention, one SDN controller includes a plurality of databases in which data is synchronized, and in the control procedure, one of the plurality of databases is an instruction from the SDN controller control unit. The virtual machine has a function of replicating data stored in the database, and the virtual machine performs connection processing of the switch with reference to another available one of the plurality of databases. Also good.

本願発明のネットワーク制御方法では、複数の前記SDNコントローラが共通の前記スイッチの出力経路を制御し、前記複数のSDNコントローラに備わる前記データベースは、前記スイッチの出力経路を制御するための同一内容のフローテーブルを格納してもよい。   In the network control method of the present invention, a plurality of the SDN controllers control a common output path of the switch, and the database provided in the plurality of SDN controllers has the same content flow for controlling the output path of the switch. A table may be stored.

本願発明のネットワーク制御方法では、前記判定手順において、前記SDNコントローラ制御部が、前記SDNコントローラに故障が発生したことを判定し、前記制御手順において、前記SDNコントローラ制御部が、故障が発生したSDNコントローラのライブクローンを生成してもよい。 In the network control method of the present invention, in the determination procedure, the SDN controller control unit determines that a failure has occurred in the SDN controller , and in the control procedure, the SDN controller control unit causes the SDN in which the failure has occurred. A live clone of the controller may be generated.

なお、上記各発明は、可能な限り組み合わせることができる。   The above inventions can be combined as much as possible.

本発明によれば、稼働中のOFCの複製をライブクローン技術により作成するというシンプルな制御により、ネットワークへの新サービスの追加や需要の拡大、および、突発的な制御処理用トラヒックの増加等に対してもサービスを提供できるネットワーク制御方法を提供することができる。   According to the present invention, a simple control of creating a live OFC replica by live clone technology can be used to add new services to the network, increase demand, and suddenly increase traffic for control processing. It is also possible to provide a network control method that can provide a service.

OFS用いたSDNの基本構成の一例を示す。An example of the basic configuration of SDN using OFS is shown. オープンフローコントローラのライブクローン化の一例を示す。An example of live cloning of an OpenFlow controller is shown. ライブクローンの実施形態1を示す。Embodiment 1 of a live clone is shown. ライブクローンの実施形態2を示す。Fig. 3 shows a second embodiment of a live clone. ライブクローンの実施形態2を示す。Fig. 3 shows a second embodiment of a live clone. ライブクローン作成時の接続動作の一例を示す。An example of connection operation when creating a live clone is shown. ライブクローン作成を実施する方法の一例を示す。An example of how to perform live cloning is shown. OFSを組み合わせた構成例を示す。The structural example which combined OFS is shown. 複数のOFCの利用形態の一例を示す。An example of a usage form of a plurality of OFCs is shown. 複数のOFCの利用形態(プロキシとなるOFCを利用)の一例を示す。An example of usage forms of a plurality of OFCs (using a proxy OFC) is shown. クラウドサーバ群からの任意のOFCへの接続例を示す。An example of connection from a cloud server group to an arbitrary OFC is shown. 一変数をリソースの資源とし、割り当てを、最適化するアルゴリズムの一例を示す。An example of an algorithm for optimizing allocation using one variable as a resource of a resource will be described. 多変数をリソース資源として、リソース割り当てを最適化するアルゴリズムの一例を示す。An example of an algorithm for optimizing resource allocation using multiple variables as resource resources will be described. 多変数をリソース資源として、リソース割り当てを最適化するアルゴリズムの一例(つづき)を示す。An example (continued) of an algorithm for optimizing resource allocation using multiple variables as resource resources will be described. 地域分散されたオープンフローコントローラの拡張方法の一例を示す。An example of a method for expanding an OpenFlow controller distributed in a region is shown.

添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施の例であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。   Embodiments of the present invention will be described with reference to the accompanying drawings. The embodiments described below are examples of the present invention, and the present invention is not limited to the following embodiments. In the present specification and drawings, the same reference numerals denote the same components.

本発明は、予想できない制御トラヒック量の増大が、一時的に生じた場合、あるいは、継続して発生する場合に対して、クラウド等のコンピューティング、およびネットワークリソースを前提とした仮想リソース環境を効率的に活用し、ネットワーク制御装置あるいは、オープンフロー制御機構(パケット処理制御機構)を仮想化されたクラウドを活用することにより、大規模な処理能力を動的に確保するための技術手段を開示するものである。本発明は任意のSDNコントーラに適用できるが、以下の実施形態ではSDNコントローラの一例としてOFCについて説明する。   The present invention improves the efficiency of a virtual resource environment based on computing such as cloud computing and network resources when an unexpected increase in the amount of control traffic occurs temporarily or continuously. Technical means for dynamically securing large-scale processing capacity by utilizing a virtualized cloud by utilizing a virtualized network control device or open flow control mechanism (packet processing control mechanism) Is. The present invention can be applied to any SDN controller. In the following embodiment, OFC will be described as an example of an SDN controller.

図1に示すSDNにおけるネットワーク制御を考えた場合、OFC92の位置する制御レイヤ82の上位に、ネットワークアプリケーション93を配備する方法が一般的である。この場合、ネットワークアプリケーション93は、OFC92の上位に存在し、新しいネットワーク制御用のアプリケーションソフトウェアを導入する場合や、ネットワーク制御用の経路計算アルゴリズムを変更する場合など、通常のネットワーク管理や監視機能を更改する場合などに活用する。SDNに関する標準化はAPIも含め、まだ十分には進んでおらず、各OFC92の実装に依存してアプリケーション93も実装されているのが現状である。本発明における記述では、既存のOFC92とアプリケーションが1つの物理または仮想マシン(図中においてはVMと表記する。)上に実装されている場合において、クラウドの等の仮想環境を活用することにより、高可用性、高拡張性、リソースの有効活用を、ダイナミックかつシンプルに実現するネットワーク制御メカニズムを開示する。将来的にOFC92とアプリケーション93間のAPIが定まった場合は、最も処理能力の変動が想定されるOFC92の処理能力に対して本発明を適用することも実施形態として有効である。   Considering the network control in the SDN shown in FIG. 1, a method of deploying the network application 93 above the control layer 82 where the OFC 92 is located is general. In this case, the network application 93 exists above the OFC 92 and updates the normal network management and monitoring functions such as when introducing new network control application software or changing the route calculation algorithm for network control. Use it when you want to. Standardization regarding SDN, including API, has not yet progressed sufficiently, and the current situation is that application 93 is also implemented depending on the implementation of each OFC 92. In the description of the present invention, when an existing OFC 92 and an application are implemented on one physical or virtual machine (denoted as VM in the figure), by utilizing a virtual environment such as a cloud, Disclose a network control mechanism that dynamically and simply realizes high availability, high scalability, and effective use of resources. When an API between the OFC 92 and the application 93 is determined in the future, it is also effective as an embodiment to apply the present invention to the processing capacity of the OFC 92 that is assumed to have the greatest variation in processing capacity.

図2に本発明の実施形態として、OFC92に対して、ライブクローン作成を行うためのメカニズムの概要を示す。OFS91(OFS#1〜OFS#n)に対して、各OFS91を制御するOFC92として仮想的なOFC#1が割り当てられる。仮想的なOFC#1は、1つの仮想マシン71#1上で稼働させることも可能であるが、負荷状態によって複数の仮想マシン71#1及び仮想マシン71#2で稼働させることも可能である。   FIG. 2 shows an outline of a mechanism for creating a live clone for the OFC 92 as an embodiment of the present invention. A virtual OFC # 1 is assigned to the OFS 91 (OFS # 1 to OFS #n) as an OFC 92 that controls each OFS 91. The virtual OFC # 1 can be operated on one virtual machine 71 # 1, but can also be operated on a plurality of virtual machines 71 # 1 and 71 # 2 depending on the load state. .

OFS91とOFC92で構成されるネットワークに対して、別途OFCリソースコントローラ95を設ける。OFC92がSDNコントローラとして機能し、OFCリソースコントローラ95がSDNコントローラ制御部として機能する。OFCリソースコントローラ95は、OFC92をどのような仮想/物理構成で実現するかを管理し、制御する機構である。OFCリソースコントローラ95は、オープンフロー制御トラヒック監視機能951、OFCリソース負荷監視機能952、ライブクローン制御機能953、ロードバランス制御機能954を持つ。   An OFC resource controller 95 is separately provided for a network composed of OFS 91 and OFC 92. The OFC 92 functions as an SDN controller, and the OFC resource controller 95 functions as an SDN controller control unit. The OFC resource controller 95 is a mechanism for managing and controlling in what virtual / physical configuration the OFC 92 is realized. The OFC resource controller 95 has an open flow control traffic monitoring function 951, an OFC resource load monitoring function 952, a live clone control function 953, and a load balance control function 954.

本実施形態に係るSDNコントローラの制御方法は、ソフトウェア制御を用いてコントローラとスイッチの対応付けを制御する方法であって、判定手順と、制御手順と、を順に有する。判定手順では、オープンフロー制御トラヒック監視機能951及びOFCリソース負荷監視機能952を機能させる。制御手順では、ライブクローン制御機能953を機能させる。ライブクローン制御機能953を機能させた後に、ロードバランス制御機能954を機能させる。   The control method of the SDN controller according to the present embodiment is a method of controlling the association between the controller and the switch using software control, and has a determination procedure and a control procedure in order. In the determination procedure, the open flow control traffic monitoring function 951 and the OFC resource load monitoring function 952 are made to function. In the control procedure, the live clone control function 953 is caused to function. After the live clone control function 953 is functioned, the load balance control function 954 is functioned.

オープンフロー制御トラヒック監視機能951は、OFS91に流入するトラヒックのうち、OFC92へ転送される制御トラヒック量を監視する。
OFCリソース負荷監視機能952は、OFC92のリソース(CPU負荷、メモリ容量、I/O転送量等)を監視する。
The open flow control traffic monitoring function 951 monitors the amount of control traffic transferred to the OFC 92 among the traffic flowing into the OFS 91.
The OFC resource load monitoring function 952 monitors the resources of the OFC 92 (CPU load, memory capacity, I / O transfer amount, etc.).

ライブクローン制御機能953は、OFC92が過負荷であることを検知する。例えば、ライブクローン制御機能953は、オープンフロー制御トラヒック監視機能951により観測された制御トラヒック量が、事前に設定された閾値を超えると過負荷を検知する。また、ライブクローン制御機能953は、OFCリソース負荷監視機能952により観測された、OFC92のリソースが事前に設定された閾値を超えると過負荷を検知する。   The live clone control function 953 detects that the OFC 92 is overloaded. For example, the live clone control function 953 detects an overload when the amount of control traffic observed by the open flow control traffic monitoring function 951 exceeds a preset threshold. Further, the live clone control function 953 detects an overload when the resource of the OFC 92 observed by the OFC resource load monitoring function 952 exceeds a preset threshold value.

ライブクローン制御機能953は、過負荷状態を検知すると、仮想マシン71(OFC)のライブクローンが必要と判断する。また、現在過負荷状態ではないが、今後過負荷になる可能性がある場合も仮想マシン71(OFC)のライブクローンが必要と判断する。ライブクローン制御機能953は、クラウドのリソースを管理し、仮想マシン71のライブクローンをどのリソースに生成するかを判断し、ライブクローンを作成する。このとき、ライブクローン制御機能953は、ライブクローン作成指示をVM71に通知する。   When the live clone control function 953 detects an overload state, it determines that a live clone of the virtual machine 71 (OFC) is necessary. Also, it is determined that a live clone of the virtual machine 71 (OFC) is necessary even when there is a possibility of an overload in the future although it is not currently overloaded. The live clone control function 953 manages cloud resources, determines which resource the live clone of the virtual machine 71 is generated in, and creates a live clone. At this time, the live clone control function 953 notifies the VM 71 of a live clone creation instruction.

ロードバランス制御機能954は、ライブクローンの生成が完了すると、負荷分散を行うために制御トラヒックの分配を指示するロードバランス指示を仮想マシン71のほか、該当のOFS91やロードバランサに対して指示する。ここでは、処理能力を増やすために、ライブクローンを作成する場合を示したが、仮に、OFC#1が何らかの状況(故障発生や、別のアプリケーションの実施等)が発生した場合には、ライブマイグレーションを行うことにより、他のクラウドのリソースを活用するように、制御動作を実施することも同様に可能である。   When the generation of the live clone is completed, the load balance control function 954 instructs the corresponding OFS 91 and load balancer in addition to the virtual machine 71 in order to instruct the distribution of control traffic in order to perform load distribution. Here, a case where a live clone is created in order to increase the processing capacity has been shown. However, if OFC # 1 has some sort of situation (failure occurrence, implementation of another application, etc.), live migration is performed. It is also possible to perform the control operation so as to utilize other cloud resources.

OFS91やOFC92とは別の媒体上で構成することが好ましい機能をまとめて、OFCリソースコントローラ95上に配備する。オープンフロー制御トラヒック監視機能951は、OFS91内に配備する方法、OFC92内に配備する方法、OFCリソースコントローラ95上に配備する方法がある。また、OFCリソース負荷監視機能952は、OFC92内に配備する方法、OFCリソースコントローラ95上に配備する方法がある。ライブクローン制御機能953とロードバランス制御機能954は、OFCリソースコントローラ95上に配備するのが望ましい。各機能の配備は、この物理的論理的構成に縛られるものではなく、例えば、ロードバランス制御機能954のみを別の物理構成上に実装することは、OFCリソースコントローラ95をクラウド上で実現し分散制御を行う実施形態も考えられる。   Functions that are preferably configured on a medium different from the OFS 91 and OFC 92 are collected and deployed on the OFC resource controller 95. The open flow control traffic monitoring function 951 includes a method of deploying in the OFS 91, a method of deploying in the OFC 92, and a method of deploying on the OFC resource controller 95. The OFC resource load monitoring function 952 includes a method of deploying in the OFC 92 and a method of deploying on the OFC resource controller 95. The live clone control function 953 and the load balance control function 954 are desirably provided on the OFC resource controller 95. The deployment of each function is not limited to this physical logical configuration. For example, if only the load balance control function 954 is mounted on another physical configuration, the OFC resource controller 95 is realized on the cloud and distributed. Embodiments in which control is performed are also conceivable.

オープンフロー制御トラヒック監視機能951は、OFS91とOFC92間のトラヒック量があらかじめ定められた閾値以上であると高負荷であると検知し、ライブクローン制御機能953に通知する。また、ライブクローン制御機能953やロードバランス制御機能954がオープンフロー制御トラヒック量に関する情報を所望する場合に、当該情報を提供する。   The open flow control traffic monitoring function 951 detects a high load when the traffic volume between the OFS 91 and the OFC 92 is equal to or greater than a predetermined threshold value, and notifies the live clone control function 953. Further, when the live clone control function 953 or the load balance control function 954 desires information related to the amount of open flow control traffic, the information is provided.

オープンフロー制御トラヒック監視機能951をOFS91内に配備する場合は、オープンフローとは全く別の機構で、OFCとやり取りされる制御トラヒック量を監視する方法や、オープンフローの機構を利用してコントローラ95に対するトラヒックフローをフローテーブル12内に定義し、フローテーブル12のカウント機能を利用して監視する方法等がある。   When the OpenFlow control traffic monitoring function 951 is provided in the OFS 91, the controller 95 uses a mechanism for monitoring the amount of control traffic exchanged with the OFC by a mechanism completely different from OpenFlow, or using the OpenFlow mechanism. There is a method in which a traffic flow is defined in the flow table 12 and monitored using the count function of the flow table 12.

オープンフロー制御トラヒック監視機能951をOFC92内に配備する場合は、オープンフローとは全く別の機構で、OFS91とやり取りされる制御トラヒック量を監視する方法や、オープンフローの機構を利用して、OFC92に対するトラヒックフローをフローテーブル12内に定義し、フローテーブル12の内のカウンタ値をOFC92経由で取得することで監視する方法がある。このトラヒック監視機能は、OFCリソースコントローラ95上に配備する他にも、OFS91やOFC92とは別の監視センターに配備する場合でも、同等な機能を実現するネットワーク制御が可能となることは、いうまでもない。   When the OpenFlow control traffic monitoring function 951 is provided in the OFC 92, the OFC 92 can be controlled by using a mechanism for monitoring the amount of control traffic exchanged with the OFS 91 using an entirely different mechanism from that of the Open Flow or an Open Flow mechanism. There is a method in which the traffic flow is defined in the flow table 12 and the counter value in the flow table 12 is acquired via the OFC 92 for monitoring. This traffic monitoring function can be deployed on the OFC resource controller 95, and even when deployed in a monitoring center other than the OFS 91 and OFC 92, network control that realizes an equivalent function is possible. Nor.

OFCリソース負荷監視機能952は、OFC92の仮想マシン71のリソースを監視し、リソースの使用状況、負荷状況があらかじめ定められた閾値以上であると高負荷であると検知し、ライブクローン制御機能953に通知する。また、ライブクローン制御機能953やロードバランス制御機能954が各OFC92の仮想マシン71のリソース情報を所望する場合に、当該情報を提供する。   The OFC resource load monitoring function 952 monitors the resource of the virtual machine 71 of the OFC 92, detects that the resource usage status and load status are equal to or higher than a predetermined threshold, and detects that the load is high. Notice. Further, when the live clone control function 953 and the load balance control function 954 desire the resource information of the virtual machine 71 of each OFC 92, the information is provided.

ライブクローン制御機能953は、
(1)どの仮想マシン71を選択して複製又は縮退するか、
(2)どのような手順でライブクローンを実施するか、
を決定して実行する。オープンフロー制御トラヒック監視機能951により過負荷が報告された場合、またはOFCリソース負荷監視機能952より過負荷が報告された場合に、当該OFC92を構成する仮想マシン71のライブクローンが必要と判断する。それ以外にも、定期的に、オープンフロー制御トラヒック監視機能951からオープンフロー制御トラヒック情報と、OFCリソース負荷監視機能952からリソース情報を取得し、将来的に過負荷が予想される場合に当該仮想マシン71のOFC92のライブクローンが必要と判断する。
Live clone control function 953
(1) Which virtual machine 71 is selected to be replicated or degraded
(2) The procedure for performing live clones
Determine and execute. When an overload is reported by the open flow control traffic monitoring function 951 or when an overload is reported by the OFC resource load monitoring function 952, it is determined that a live clone of the virtual machine 71 configuring the OFC 92 is necessary. In addition to this, when the open flow control traffic information is periodically acquired from the open flow control traffic monitoring function 951 and the resource information is acquired from the OFC resource load monitoring function 952, the virtual It is determined that a live clone of the OFC 92 of the machine 71 is necessary.

一方、OFS91に加わる負荷が定常的に減少し、現在配備されているOFC91に割り当てられたクラウド内のリソースが明らかに余剰であることが、トラヒック量の監視結果により明らかになった場合には、上記に述べたOFC92用のリソースを減少させるための制御を行う(減設)必要がある。どの番号のOFC92を減設するかを決定する場合には、一般には、減設の影響により、処理能力の減少効果が少ない順番に選択する方法が、安全である。しかしながら、クラウド内での、他のアプリケーションの処理状況により、減設する場合の優先順位は、異なる場合も存在し、上記の方法に限定されるものではないことは明らかである。   On the other hand, if the load on the OFS 91 steadily decreases and the monitoring result of the traffic volume shows that the resources in the cloud allocated to the OFC 91 currently deployed are clearly surplus, It is necessary to perform control (reduction) for reducing the resources for the OFC 92 described above. When deciding which number of OFCs 92 is to be reduced, it is generally safe to select in order of decreasing processing capacity reduction effect due to the effect of the reduction. However, there are cases where the priority order for the removal is different depending on the processing status of other applications in the cloud, and it is clear that the priority is not limited to the above method.

ライブクローン制御機能953が、ライブクローン生成方法を決定し、ライブクローンを作成する場合には、次の2通りの方法が考えられる。
第1の方法:フローテーブル12の全情報を格納したデータベースの情報も一緒にコピーし、全く同等のサーバとして用いる。
第2の方法:フロー制御に最小限必要となる情報はコピーするが、全情報コピーを対象とせず、新しいフローテーブル12の情報のみを追記したサーバとして用いる。
When the live clone control function 953 determines a live clone generation method and creates a live clone, the following two methods are conceivable.
First method: Information of a database storing all information of the flow table 12 is also copied together and used as a completely equivalent server.
Second method: Information necessary for flow control is copied, but not all information is copied, and only the information of the new flow table 12 is added as a server.

第1の方法は、信頼性を高めるための冗長制御が実現できるライブクローンとして用いる場合であり、通常は、負荷分散装置(ロードバランサ)と接続して使用される。一方、第2の方法は、緊急的にトラヒックが増えそうな場合を予め予測して、緊急時に行う処理に適する。そのため、OFC92用のサーバ処理能力に余剰能力等の、余裕が出てきた時点で、第2の方法の形態から第1の方法の形態に移行する運用方式が好ましい。   The first method is a case where it is used as a live clone capable of realizing redundant control for improving reliability, and is usually used in connection with a load balancer (load balancer). On the other hand, the second method is suitable for processing performed in an emergency by predicting in advance a case where traffic is likely to increase urgently. For this reason, it is preferable to use the operation method in which the mode of the second method is shifted to the mode of the first method when there is a surplus in the server processing capability for the OFC 92, such as surplus capacity.

一般に、ライブクローンを作成する場合の、レプリケーション技術はデータベースの内容の一貫性を保ちながら、情報を複製する技術として活用され、同じデータを複数のデータベースに格納する際に用いられる。任意のOFC92が、他のOFC92内のデータベース(DB)72へのアクセス時には、ある時点では、1つのOFC92のみがマスターとして動作し、他のOFC92からの要求を待ち合わせるための同期処理のメカニズムを用いることにより実現できる。   In general, a replication technique for creating a live clone is used as a technique for replicating information while maintaining the consistency of the contents of a database, and is used when storing the same data in a plurality of databases. When an arbitrary OFC 92 accesses a database (DB) 72 in another OFC 92, only one OFC 92 operates as a master at a certain point in time and uses a synchronization processing mechanism for waiting for requests from other OFCs 92. Can be realized.

例えば、異なるOFC92間で特定のデータベース内のファイルへのアクセスを、一時的には、1つのプロセスに制限し、アクセス競合による、デッドロック等を防止するメカニズム(ファイルロックを適用した複製)を利用することもできる。また、データベース内容のレプリケーションは、一般には、専用の管理システムで行うこともでき、マスタースレーブ・システムを構成する場合には、マスター側では、更新を記録し、その内容をスレーブ群に通知する場合もあるが、この方法に限定される必要はないことはいうまでもない。なお、この場合にはスレーブ側は、更新を正しく実施した旨を示すためのメッセージを送り、後続する新たな更新要求を受け付けられる状態であることの通知を行うことが必要である。   For example, access to a file in a specific database between different OFCs 92 is temporarily limited to one process, and a mechanism that prevents deadlock due to access contention (replication using file lock) is used. You can also Database contents can also be replicated using a dedicated management system. When configuring a master-slave system, the master records updates and notifies the slave group of the contents. Needless to say, it is not necessary to be limited to this method. In this case, it is necessary for the slave side to send a message indicating that the update has been performed correctly and to notify that it is ready to accept a subsequent new update request.

図3にライブクローンの模式図を示す。OFC#1−1からOFC#1−2への単純なライブクローンは、動作中の仮想マシン71の実体であるイメージファイルとメモリ内容を複製すれば良いが、イメージファイルの複製は、一般に長い時間を要するため、新たな工夫が必要である。そこで、図3に示すように、イメージファイルを大きく二つに分ける。一つはライブクローン(作成)時に異なる内容でクローン先の仮想マシン71#2に引き継ぐマスターイメージファイル73であり、もう一つはライブクローン(作成)時にも全く同一内容でクローン先の仮想マシン71#2に引き継ぐイメージファイル72である。OFC92を対象にする場合は、異なる内容で引き継ぐマスターイメージ73はOS等のシステム本体に相当し、同一内容で引き継ぐイメージはフローテーブル12の全情報を格納したデータベースファイル(DB)72に相当する。更に異なる内容で引き継ぐOS等を含んだイメージファイルも二段階に分け、全ての仮想マシン71の標準かつ共通となるOS等のシステムをマスターイメージ73とし、仮想マシン71毎に異なる設定情報やログ情報等は、マスターイメージ73よりも仮想マシン71に近いところに差分ファイル74として装備する。   FIG. 3 shows a schematic diagram of a live clone. A simple live clone from OFC # 1-1 to OFC # 1-2 only needs to replicate the image file and the memory contents of the virtual machine 71 in operation, but the image file is generally copied for a long time. Therefore, a new device is necessary. Therefore, as shown in FIG. 3, the image file is roughly divided into two. One is a master image file 73 to be transferred to the clone destination virtual machine 71 # 2 with different contents at the time of live clone (creation), and the other is the clone destination virtual machine 71 with exactly the same contents at the time of live clone (creation). This is the image file 72 taken over by # 2. When the OFC 92 is targeted, the master image 73 to be inherited with different contents corresponds to a system main body such as an OS, and the image to be inherited with the same contents corresponds to a database file (DB) 72 that stores all information of the flow table 12. Further, the image file including the OS to be inherited with different contents is divided into two stages, and the standard and common OS system of all the virtual machines 71 is set as the master image 73, and different setting information and log information for each virtual machine 71. Are installed as a difference file 74 at a location closer to the virtual machine 71 than the master image 73.

図3に、ライブクローンによる仮想マシン71の第1の複製例を示す。仮想マシン71#1の複製として仮想マシン71#2をライブクローンしているが、OS等の標準かつ共通部分はマスターイメージ73として共有しつつ、仮想マシン71#1独自の設定情報や、仮想マシン71#1が起動してからの実行ログ等の変更部分は仮想マシン71#1の側の差分ファイル74#1に保存し、仮想マシン71#2独自の設定情報や、仮想マシン71#2が起動してからの実行ログ等の変更部分は、仮想マシン71#2の側の差分ファイル74#2に保存するように配置している。差分ファイル74に存在しない、標準かつ共通部分は、仮想マシン71#1、仮想マシン71#2共にマスターイメージ73にアクセスに行く。また、仮想マシン71#1から仮想マシン71#2に完全に同一で引き継ぐべきDB72の部分は、同じイメージをアクセスするものとしている。これにより、ライブクローン時のイメージのコピー作業を無くし、クローンされる仮想マシン71用の差分ファイル74の作成だけで、新たなライブクローンを起動することが可能になる。   FIG. 3 shows a first replication example of the virtual machine 71 using a live clone. Although the virtual machine 71 # 2 is live cloned as a replica of the virtual machine 71 # 1, the standard and common parts such as the OS are shared as the master image 73, and the setting information unique to the virtual machine 71 # 1 and the virtual machine The changed part such as the execution log after 71 # 1 is started is stored in the difference file 74 # 1 on the virtual machine 71 # 1 side, and the setting information unique to the virtual machine 71 # 2 and the virtual machine 71 # 2 are stored. The changed part such as the execution log after the start is arranged so as to be stored in the difference file 74 # 2 on the virtual machine 71 # 2 side. Standard and common parts that do not exist in the difference file 74 go to the master image 73 for both the virtual machine 71 # 1 and the virtual machine 71 # 2. Further, the part of the DB 72 that is completely the same from the virtual machine 71 # 1 to the virtual machine 71 # 2 is assumed to access the same image. As a result, it is possible to start a new live clone only by creating the difference file 74 for the virtual machine 71 to be cloned, without copying the image at the time of the live clone.

図4に、ライブクローンによる仮想マシンの第2の複製例を示す。仮想マシンの第2の複製例では、図3の構成に加えて、データベースの高信頼化技術として標準的なレプリケーション(replication)を行うことにより、標準状態でDB72をDB72#1とDB72#2に二重化している。クローン後では、DB72のレプリケーションを中止して、二重化したDB72を切り離した上で、各々のDB72を異なる仮想マシンに割り当てることにより、DB72へのアクセスが性能低下の要因にならないようにしている。更にライブクローン後に、DB72の高信頼化のためのレプリケーションを再度開始し、DB72#1とDB72#2の各々で、別の二重化を開始するべきである。この実現形態の例を、図5の実施形態2に示す。   FIG. 4 shows a second replication example of a virtual machine by live clone. In the second replication example of the virtual machine, in addition to the configuration of FIG. 3, by performing standard replication as a database reliability technology, the DB 72 is converted into the DB 72 # 1 and the DB 72 # 2 in the standard state. Duplicated. After cloning, replication of the DB 72 is stopped, the duplicated DB 72 is disconnected, and each DB 72 is assigned to a different virtual machine, so that access to the DB 72 does not cause a decrease in performance. Furthermore, after live clone, replication for high reliability of DB72 should be started again, and another duplex should be started in each of DB72 # 1 and DB72 # 2. An example of this implementation is shown in Embodiment 2 of FIG.

図5に、ライブクローンによる仮想マシンの第3の複製例を示す。仮想マシンの第3の複製例の場合、仮想マシン71#1がアクセスしているDB72#1のレプリケーションとしてDB72#3を、仮想マシン71#2がアクセスしているDB72#2のレプリケーションとしてDB72#4を作成して、二重化を実施している。OFC92を構成する各仮想マシン71の処理の殆どは、制御用トラヒックと一致するフローテーブル12を、フローテーブル12の全情報を格納したDB72から検索し、その検索結果をOFS91に新規のフローテーブル12として返信する処理である。そのため、ライブクローンにより新しい仮想マシン71#2を生成して、CPUリソースとメモリリソースを拡張することにより、上記の処理を、より多くの仮想マシン71に分散させることが可能となり、一台の仮想マシン71当たりに加わる負荷の減少に伴い、応答処理の高速化が期待できる。   FIG. 5 shows a third replication example of the virtual machine by the live clone. In the case of the third replication example of the virtual machine, DB 72 # 3 is replicated as DB 72 # 1 accessed by the virtual machine 71 # 1, and DB 72 # is replicated as DB 72 # 2 accessed by the virtual machine 71 # 2. 4 is created and duplication is implemented. In most of the processes of the virtual machines 71 constituting the OFC 92, the flow table 12 matching the control traffic is searched from the DB 72 storing all the information of the flow table 12, and the search result is stored in the OFS 91 as a new flow table 12. It is a process to reply as. Therefore, by generating a new virtual machine 71 # 2 by live clone and expanding CPU resources and memory resources, the above processing can be distributed to a larger number of virtual machines 71. As the load applied to the machine 71 decreases, it can be expected that response processing will be speeded up.

しかしながら、図7(a)に示すように、フローテーブル12の全情報を格納したDBがライブクローンされた仮想マシン71間で共有された場合、CPUリソースとメモリリソースに余裕がある場合でも、DBのファイルへのアクセスがボトルネックとなって、期待される応答の高速化が得られないことが生じ得る。このような場合には、レプリケーションのようなDB72の複製技術とライブクローン技術を結び付け、図7(a)に示すDB72の複製を実現している状態から、図7(b)のようなライブクローンを行うことにより、DBファイルへのアクセスに関わるリソースを拡張でき、応答の高速化を実現することが可能となる。   However, as shown in FIG. 7A, when the DB storing all the information of the flow table 12 is shared between the virtual machines 71 that are live-clone, even if there is room in CPU resources and memory resources, the DB Access to the other file becomes a bottleneck, and the expected response speed cannot be increased. In such a case, the DB 72 replication technology such as replication is linked to the live clone technology, and the DB 72 replication shown in FIG. 7A is realized, and the live clone as shown in FIG. By performing the above, it is possible to expand resources related to access to the DB file and to realize a high-speed response.

図3のライブクローン実施形態1においても、図4、図5のライブクローン実施形態2においても、クローンされた仮想マシン71は、クローン元の仮想マシン71と同一機能と同一のDBファイルを備えるが、異なるコントローラとして機能する。そのため、クローン元の仮想マシン71で使用中のセッション(TCPセッション、SSLセッション、オープンフローの制御セッション)をクローンされた仮想マシン71に引き継ぐことは出来ない。TCPセッションやSSLセッションはOFS91がクローンされた仮想マシン71にセッションを繋ぎ直すことにより容易に回復可能であるが、オープンフローの制御セッション(PacketIn→FlowMod→PacketOut)の扱いは注意すべきである。例えば、クローン元の仮想マシン71がOFS91#nの制御をクローンされた仮想マシン71に引き継がせる場合、OFS91#nに対してFlowModを送信済のセッションについては、続くPacketOutをクローン元から送るが、OFS91#nからPacketInを受け取っただけのセッションはクローン元では処理せず、残ったPacketOutを送り終わった時点でOFS91#nとのTCP接続を切断することにより、OFS91#nに対して、PacketInをクローンされた仮想マシン71に再送信するように促すための処理が必要になる。仮想マシン71を縮退する場合も同様の配慮が必要である。   In both the live clone embodiment 1 of FIG. 3 and the live clone embodiment 2 of FIGS. 4 and 5, the cloned virtual machine 71 includes the same DB file with the same function as the clone-source virtual machine 71. , Function as a different controller. Therefore, the session (TCP session, SSL session, OpenFlow control session) being used in the clone source virtual machine 71 cannot be taken over by the cloned virtual machine 71. A TCP session or an SSL session can be easily recovered by reconnecting the session to the virtual machine 71 in which the OFS 91 has been cloned, but care should be taken in handling an open flow control session (PacketIn → FlowMod → PacketOut). For example, when the clone virtual machine 71 takes over the control of OFS 91 #n to the cloned virtual machine 71, for the session in which FlowMod has been sent to OFS 91 #n, the subsequent PacketOut is sent from the clone source. Sessions that only receive PacketIn from OFS91 # n are not processed by the clone source, and when the remaining PacketOut is sent, the TCP connection with OFS91 # n is disconnected, so that PacketIn is sent to OFS91 # n. A process for prompting re-transmission to the cloned virtual machine 71 is required. Similar considerations are required when the virtual machine 71 is degenerated.

一般には、CPUリソースとメモリリソースの拡張に対する要求と、DBファイルへのアクセス能力に対する要求の双方のバランスを取りながら、図3に示すライブクローンと、図4に示すライブクローンとを混合させたライブクローンを逐次行うことにより、適切な処理能力の増強を、仮想マシン環境で達成することが可能となる。   In general, the live clone shown in FIG. 3 and the live clone shown in FIG. 4 are mixed while balancing both the demand for expansion of CPU resources and memory resources and the demand for the ability to access the DB file. By performing the clone sequentially, it is possible to achieve an appropriate increase in processing capacity in a virtual machine environment.

図6に、OFC92を2重化することにより、クラウド上にライブクローンを作成する際に、現状の処理能力を減少させることなく、OFC92を動作可能とするための接続動作の一例を示す。OFCリソースコントローラ95から、ライブクローン作成指示がサイト1のOFC92に行われた場合(S301)、第1のサイトのOFC92#1は、OFS91との接続処理を一方の仮想マシン71#1で行いながら(S302及びS303)、他方の仮想マシン71#3で第2のサイトのOFC92#2へのコピーを作成する(S304)。すなわち、S303及びS304のデータ転送が同時並行処理することにより、第1のサイトのOFC92#1−1が、ライブクローンを第2のサイトに作成する時の処理能力の劣化を抑止できる。またOFC92#1−1とOFC92#1−2が同一のサイトにある場合も同様に、本メカニズムが適用できることは言うまでもない。   FIG. 6 shows an example of a connection operation for enabling the OFC 92 to operate without reducing the current processing capacity when creating a live clone on the cloud by duplicating the OFC 92. When a live clone creation instruction is issued from the OFC resource controller 95 to the OFC 92 of the site 1 (S301), the OFC 92 # 1 of the first site performs connection processing with the OFS 91 on one virtual machine 71 # 1. (S302 and S303), the other virtual machine 71 # 3 creates a copy to the OFC 92 # 2 of the second site (S304). That is, the data transfer in S303 and S304 is processed in parallel, so that the OFC 92 # 1-1 of the first site can suppress deterioration in processing capability when creating a live clone in the second site. Needless to say, this mechanism can also be applied to the case where OFC92 # 1-1 and OFC92 # 1-2 are at the same site.

急激な制御用トラヒックの増大により、連続してライブクローンの作成を行う場合、フローテーブル12の全情報を格納したDB72の共有や複製・レプリケーションが全体の性能を決定する上での重要課題となる。例えば図6に示すように、仮想マシン71#1のライブクローンをCPUリソースやメモリリソース的には余裕の有る仮想マシン71#2に作成する場合に、仮想マシン71#2と現在使用されているDB72の間のネットワークの遅延が大きい場合、あるいは利用可能な伝送帯域が狭い場合に、DB72を共有する時や、あるいは、複製する時には、より多くの処理時間を必要とするため、仮想マシン71#2をライブクローンしたことによっても、応答処理の高速化は実現出来ない可能性がある。   When live clones are continuously created due to a sudden increase in control traffic, sharing and duplication / replication of the DB 72 storing all the information in the flow table 12 is an important issue in determining the overall performance. . For example, as shown in FIG. 6, when a live clone of the virtual machine 71 # 1 is created in the virtual machine 71 # 2 having sufficient CPU resources and memory resources, it is currently used with the virtual machine 71 # 2. When the network delay between the DBs 72 is large, or when the available transmission bandwidth is narrow, when the DB 72 is shared or duplicated, more processing time is required. Therefore, the virtual machine 71 # There is a possibility that the response processing cannot be speeded up even by performing live cloning of 2.

マスターイメージ73に関しては、全仮想マシン71で共通の内容なので、図3に示すように、オープンフロークラウド内の複数個所に同じイメージを事前に配備することによりこのような問題は回避出来る。しかしながら、DB72の事前配備は困難であるため、現在使用されているDB72から、低遅延でかつ広帯域なネットワークで接続された場所の仮想マシン71を優先的に選択し、複数ライブクローンすると共に、DB72の複製・レプリケーションを作成することが好ましい。   Since the master image 73 is common to all the virtual machines 71, such a problem can be avoided by deploying the same image in advance in a plurality of locations in the OpenFlow cloud as shown in FIG. However, since pre-deployment of the DB 72 is difficult, a virtual machine 71 at a location connected by a low-latency and wide-band network is preferentially selected from the currently used DB 72, and a plurality of live clones are performed. It is preferable to create a replication / replication of the above.

図7に、オープンフロー制御トラヒック監視機能951、OFCリソース負荷監視機能952の情報から、ライブクローン制御機能953がOFC処理能力の増加を判断し、次々と逐次的に複数のライブライブクローンの作成を実施する場合の基本的な2つの方法例を示す。図7(a)に示す第1の方法は、マスターとなる最初に設置されたOFC92#1から、他の、コントローラ機能の実装可能なクラウド上のリソースに対して、順次、OFC92#1を固定して、これを用いてライブクローンを増やす場合の方法である。この方法は、マスターとなるOFC92の処理能力に、相当の余剰処理能力があり、信頼性が高い場合や、従属となるOFC92間の伝送距離が短い、データセンター内に限定された場合には適用可能である。仮に、マスターのOFC92とその配下に置かれる、各種の従属のOFC92との間の伝送帯域が逼迫する状況が明らかである場合には、伝送帯域が十分に確保されている区間においてはこの方法を用いることが好ましい。   In FIG. 7, the live clone control function 953 judges the increase in the OFC processing capacity from the information of the open flow control traffic monitoring function 951 and the OFC resource load monitoring function 952, and sequentially creates a plurality of live live clones one after another. Two basic example methods are shown for implementation. In the first method shown in FIG. 7A, the OFC 92 # 1 is sequentially fixed from the first OFC 92 # 1 installed as a master to other resources on the cloud where the controller function can be implemented. Then, this is a method for increasing the number of live clones. This method is applicable when the processing capacity of the master OFC 92 has a considerable surplus processing capacity and is highly reliable, or when the transmission distance between the slave OFCs 92 is short, and is limited to the data center. Is possible. If it is clear that the transmission band between the master OFC 92 and the subordinate OFCs 92 under its control is tight, this method should be used in a section where the transmission band is sufficiently secured. It is preferable to use it.

従属のOFC92が遠隔地にある場合や、マスターのOFC92の処理能力が、不足している場合、あるいは上述したように、マスターのOFC92からいくつかの従属のOFC92へ直接接続するための、伝送帯域が不足する場合には、図7(b)に示す第2の方法を用いることが好ましい。第2の方法は、コピーをされるOFC92#1をマスタコントローラに固定せず、コピー後は、逐時、マスターの機能を移動する。この方法は、仮に、マスターのOFC92が故障した場合にも、マスターのOFC92を容易に変更することができる特徴をもち、システム全体の耐故障性を向上する場合にも適用することが可能である。   Transmission bandwidth for subordinate OFC 92 in remote locations, lack of processing capability of master OFC 92, or direct connection from master OFC 92 to several subordinate OFCs 92 as described above If this is insufficient, it is preferable to use the second method shown in FIG. In the second method, the OFC 92 # 1 to be copied is not fixed to the master controller, and the function of the master is moved every time after copying. This method has a feature that the master OFC 92 can be easily changed even when the master OFC 92 fails, and can be applied to improve the fault tolerance of the entire system.

上述の技術は、現在サービスされているクラウドサービスにおいて、カスタマのポータルサイトからの要求に応じて、仮想マシン71のリソースの割り当てを行い、新たな仮想マシン71を、ステップ・バイ・ステップ的に増やせるメカニズムを盛り込むことにより達成することができる。このメカニズムにより、ネットワーク内でコントローラの処理能力が逼迫する場合においても、安定したサービスの継続(BCP:Business Continuity Plan)を実現することができる。   The above-described technology allocates resources of the virtual machine 71 in response to a request from a customer portal site in the currently serviced cloud service, and can increase the number of new virtual machines 71 step by step. This can be achieved by incorporating a mechanism. With this mechanism, even when the processing capacity of the controller in the network is tight, stable service continuity (BCP: Business Continuity Plan) can be realized.

ロードバランス制御機能954は、ライブクローン制御機能953により複製されたOFC92間の負荷分散と、複数のOFC92間の負荷分散の2つの負荷分散を組み合わせて実施する。   The load balance control function 954 performs a combination of load distribution between OFCs 92 replicated by the live clone control function 953 and load distribution among a plurality of OFCs 92.

ライブクローンにより複製されたOFC92に対して適切にオープンフロー制御メッセージを分配するための制御方法について説明する。オープンフロー制御メッセージの分配は、負荷分散装置をOFS91の内部、または、クラウド内の複数のOFC92を管理するOFCリソースコントローラ95の中、またはクラウド内に独立に配備することにより実現する。ライブクローンによりセッション情報も引き継ぐため、パケットの転送を適切な仮想マシン71に対して行うことにより負荷分散を実現できる。ライブクローン実施時にアドレスの再構成を行う場合は、クローン元のOFC92とOFS91間のセッションを維持するための機構を持つことが必要なことは言うまでもない。   A control method for appropriately distributing the OpenFlow control message to the OFC 92 replicated by the live clone will be described. The distribution of the OpenFlow control message is realized by independently deploying the load balancer in the OFS 91, in the OFC resource controller 95 that manages a plurality of OFCs 92 in the cloud, or in the cloud. Since session information is also inherited by the live clone, load distribution can be realized by performing packet transfer to an appropriate virtual machine 71. Needless to say, when performing address reconfiguration when performing live clone, it is necessary to have a mechanism for maintaining the session between the OFC 92 and OFS 91 of the clone source.

図8に、OFS91の構成例を示す。
図8(a)に示すOFS91は、L3(レイヤ3の処理)スイッチと負荷分散装置とを物理的に接続してスイッチ11の機能を実現する。図8(b)に示すOFS91は、複数のオープンフロースイッチを物理的に接続してスイッチ11の機能を実現する。図8(c)に示すOFS91は、仮想的なL3スイッチと仮想的な負荷分散装置とを物理的に接続してスイッチ11の機能を実現する。図8(a)に示す装置構成は、原理的にOFS91の制御ソフトウェアを複数種類設けることにより、図8(b)に示すOFS91のみによる物理構成で、図8(c)に示す論理構成と同等の装置を構成することも可能である。OFS91の機能は、ここに示した例に限定されるものではないが、これら各種機能の実現に必要となる、OFS91のアクション用制御コマンドの種別の例、および、定義可能なヘッダ情報の種別の例を以下に示す。
FIG. 8 shows a configuration example of the OFS 91.
The OFS 91 illustrated in FIG. 8A realizes the function of the switch 11 by physically connecting an L3 (layer 3 processing) switch and a load balancer. The OFS 91 shown in FIG. 8B realizes the function of the switch 11 by physically connecting a plurality of OpenFlow switches. The OFS 91 illustrated in FIG. 8C realizes the function of the switch 11 by physically connecting a virtual L3 switch and a virtual load distribution apparatus. The apparatus configuration shown in FIG. 8 (a) is a physical configuration using only the OFS 91 shown in FIG. 8 (b) by providing a plurality of types of control software for OFS 91 in principle, and is equivalent to the logical configuration shown in FIG. 8 (c). It is also possible to configure the apparatus. The functions of the OFS 91 are not limited to the examples shown here, but examples of the types of OFS 91 action control commands and types of header information that can be defined are necessary for realizing these various functions. An example is shown below.

フローに対するアクションに指定できるコマンドには、例えば次のものがある。
Forward:パケットを特定の物理ポートに転送する。
Drop:パケットを破棄する。
Modify−Field:パケットヘッダの値を指定した値に書き換える。
Store:パケットを一時、共通バッファに格納する。
copy:パケットをコピーし、複数ポートにマルチキャストする。
divide:パケットを分割し、複数ポートにマルチキャストする。
encryption:パケットの中身を暗号化する。
Enqueue:パケットを指定したキューバッファに格納する。
Examples of commands that can be specified as an action for a flow include the following.
Forward: Forwards the packet to a specific physical port.
Drop: Discards the packet.
Modify-Field: Rewrites the value of the packet header to a specified value.
Store: The packet is temporarily stored in the common buffer.
copy: Copy a packet and multicast it to multiple ports.
divide: The packet is divided and multicast to a plurality of ports.
encryption: The content of the packet is encrypted.
Enqueue: The packet is stored in the designated queue buffer.

オープンフローで定義可能なヘッダの情報としては、例えば、物理ポート番号、送信元MACアドレス、送信先MACアドレス、Etherタイプ、VLAN ID、VLANプライオリティ、送信元IPアドレス、送信先IPアドレス、IPプロトコル種別、IPTOS情報、送信元L4ポート番号、送信先L4ポート番号、MPLSラベル番号、及び閉域サービス識別番号がある。   Examples of header information that can be defined by OpenFlow include physical port number, source MAC address, destination MAC address, Ether type, VLAN ID, VLAN priority, source IP address, destination IP address, and IP protocol type. , IPTOS information, source L4 port number, destination L4 port number, MPLS label number, and closed service identification number.

ロードバランス制御機能954の、複数のOFC92間の負荷分散方法を、以下に説明する。図9に示すように、OFS91は自身に対する設定情報として使用可能なOFC92の情報を複数保持し、同時に複数のOFC92とオープンフロー制御用のコネクションを確立することが可能である。例えば、ある1つのOFC92#2をマスターとして使用し、その他のOFC92#1及び#3をスレーブとして利用する使用形態や、全てのOFC92#1から#3を同等の制御機能を持つOFC92として、全てのOFC92に対して制御トラヒックを転送できる使用形態も可能である。   A load balancing method among the plurality of OFCs 92 by the load balance control function 954 will be described below. As shown in FIG. 9, the OFS 91 holds a plurality of pieces of OFC 92 information that can be used as setting information for itself, and can simultaneously establish a connection for open flow control with a plurality of OFCs 92. For example, all of OFC92 # 1 to # 3 are used as OFC92 with the same control function, using one OFC92 # 2 as a master and using other OFC92 # 1 and # 3 as slaves. It is also possible to use the system so that the control traffic can be transferred to the OFC 92.

また、図10に示すように、OFS91は、例えば、OFC92のプロキシとして動作を行わせるOFC92#1と接続し、プロキシとして動作するOFC92#1が、各OFC92#2〜#4に処理を振り分けることも、同様に可能である。   Also, as shown in FIG. 10, the OFS 91 is connected to, for example, the OFC 92 # 1 that operates as a proxy of the OFC 92, and the OFC 92 # 1 that operates as a proxy distributes the processing to each of the OFCs 92 # 2 to # 4. Is possible as well.

図11は対象とするクラウドサーバ群がn個の処理能力を異にするOFC92#1〜OFC92#nを含む場合の接続構成である。図11の構成は、図9及び図10の形態を一般化したものである。例えば、OFS91内に配備されたOFC92へ届けるための制御用のトラヒック負荷量測定を実施するオープンフロー制御トラヒック監視機能951が過負荷状態を観測し、ロードバランス制御機能954にて、新たなOFC92への接続が必要であると判断されると、不荷分散の制御を実施し、当該新たなOFC92へ接続される。この場合、最も簡単な新たな接続先OFC92を選択する方法の例として、OFC92#毎に、要求されるリソース種別は1つであり、かつこのリソースにおける処理能力の相対値の大きさが異なり、仮に処理能力の大きさが、例えば、OFC92#1の処理能力>OFC92#2の処理能力>……>OFC92(#n−1)の処理能力>OFC92#nの処理能力の順番であると仮定した場合には、処理能力の高い順に、当該番号のOFC92を割り当てることが好ましい。   FIG. 11 shows a connection configuration in a case where the target cloud server group includes OFC 92 # 1 to OFC 92 # n having different n processing capabilities. The configuration in FIG. 11 is a generalization of the configuration in FIGS. 9 and 10. For example, the open flow control traffic monitoring function 951 that performs control traffic load measurement for delivery to the OFC 92 installed in the OFS 91 observes an overload state, and the load balance control function 954 transfers to the new OFC 92. When it is determined that the connection is necessary, the unload distribution control is performed and the new OFC 92 is connected. In this case, as an example of a method of selecting the simplest new connection destination OFC 92, one resource type is required for each OFC 92 #, and the relative value of the processing capability in this resource is different. Assuming that the processing capacity is, for example, the order of processing capacity of OFC92 # 1> processing capacity of OFC92 # 2> ...> processing capacity of OFC92 (# n-1)> processing capacity of OFC92 # n In this case, it is preferable to assign the OFC 92 of the number in descending order of processing capability.

一方、OFS91から定期的に各OFC92の処理能力に影響を来さない範囲で、応答レスポンス時間を得るための問い合わせ用メッセージを送出する方法も有効である。この場合は、応答レスポンス時間の最も短い、当該番号のOFC92を最優先に選択すべきと判断することも可能である。あるいは、上記2つの判断方法に、適切な重みづけを行って評価する方法が、より好ましい場合があり、以下にその例を説明する。例えば、最も簡単な場合として、新たなOFC92の割り当てを決定する際の要求条件として、リソース種別1(CPU処理能力)、リソース種別2(余剰なメモリ容量)があり、これらのリソースの要求値を同時に満足する必要がある場合を仮定する。   On the other hand, it is also effective to send an inquiry message for obtaining a response response time within a range that does not affect the processing capability of each OFC 92 periodically from the OFS 91. In this case, it is possible to determine that the OFC 92 with the shortest response response time should be selected with the highest priority. Alternatively, there is a case where a method of performing evaluation by appropriately weighting the above two determination methods may be more preferable, and an example thereof will be described below. For example, in the simplest case, there are a resource type 1 (CPU processing capacity) and a resource type 2 (excess memory capacity) as request conditions when determining the allocation of a new OFC 92. Suppose you need to be satisfied at the same time.

ここでは、議論を簡単にするため、ライブクローンの対象となり得る、全てのリソース種別1は、同一の規格(クロック周波数、単位時間当たり命令実行処理数回数など)を想定し、ギブソンミックスやコマーシャルミックスに対応する処理能力等については、当該のリソース種別が未使用時には、同一の能力をもつことを仮定する。リソース種別2に関しても、同一の規格を想定する。この場合、OFC92で扱うべき、制御用のトラヒックが増えたことに対して、例えば、リソース種別1には、30(相対値)の能力が必要であり、リソース種別2には、40(相対値)の能力が必要である場合を仮定する。   Here, in order to simplify the discussion, all resource types 1 that can be the target of live clones are assumed to have the same standard (clock frequency, number of instruction execution processes per unit time, etc.), Gibson mix or commercial mix. As for the processing capability corresponding to, it is assumed that the same capability is provided when the resource type is not used. The same standard is assumed for resource type 2. In this case, for example, the resource type 1 requires 30 (relative value) capability and the resource type 2 has 40 (relative value), whereas the control traffic to be handled by the OFC 92 has increased. ) Is required.

実際には、例えばリソース種別1は、例えば100 MIPS(Million Instructions Per Second)×割り当て可能なCPU使用率を、勘案することが必要であるが、ここでは、それらの、割り当て可能とすべき条件等を全て併せて考慮し、単純な、「相対値」に変換した値として、すでに、上記の条件にも配慮した「相対値」を活用する。   Actually, for example, resource type 1 needs to take into account, for example, 100 MIPS (Million Instructions Per Second) × assignable CPU usage rate, but here, those conditions that should be assigned, etc. As a value converted into a simple “relative value”, the “relative value” considering the above conditions is already used.

ここで、各種の、割り当て可能なリソース種別が存在する、使用可能なOFC92として#5、#6、#7、#8、#9があり、例えば#5は(リソース1:20、リソース2:50)、#6は(リソース1:40、リソース2:20)、#7(リソース1:28、リソース2:35)、#8(リソース1:30、リソース2:45)、#9(リソース1:30、リソース2:50)であったとする。この場合は、条件に適合するのは、#8と#9であるが、要求条件に最も近いOFC92#は、OFC92#8であるため、#8を選択し、ライブクローンを作成すれば良い。   Here, there are various types of assignable resource types that can be used, and there are # 5, # 6, # 7, # 8, and # 9 as usable OFC 92. For example, # 5 is (resource 1:20, resource 2: 50), # 6 (resource 1:40, resource 2:20), # 7 (resource 1:28, resource 2:35), # 8 (resource 1:30, resource 2:45), # 9 (resource 1:30, resource 2:50). In this case, # 8 and # 9 match the conditions, but since the OFC 92 # closest to the requirement is OFC 92 # 8, it is only necessary to select # 8 and create a live clone.

更に複雑な事例として、リソース1には、60(相対値)の能力が必要であり、リソース2には、70(相対値)の能力が必要である場合を仮定する。この場合には、単独では、満足できるOFC92#は見つからないため、2つ以上のOFC92#を組み合わせる必要があり、この場合、組み合わせる数は、極力、少ないことが実用上は好ましい。上記の条件の場合は、OFC92#5とOFC92#6とを組み合わせることが、最も好ましい。   As a more complicated example, assume that resource 1 requires 60 (relative value) capability and resource 2 requires 70 (relative value) capability. In this case, since a satisfactory OFC 92 # cannot be found by itself, it is necessary to combine two or more OFC 92 #. In this case, it is practically preferable that the number of combinations is as small as possible. In the case of the above conditions, it is most preferable to combine OFC92 # 5 and OFC92 # 6.

上記の例では、リソース1とリソース2のみを考慮したが、新たなリソース3として、例えば、応答遅延時間の短さを、レスポンス能力と見なし、相対値として、50を付け加えることを考える。ここで、リソース3が最も、高い優先順位を持つものと仮定し、重み付け係数を「2」と仮定すると、必要なリソース3は、50×2=100と設定できる。このため、要求条件を満足するOFC92#の探索に当っては、以下の条件を満足するOFC92#を、選択すれば良い。   In the above example, only the resource 1 and the resource 2 are considered. However, as the new resource 3, for example, it is considered that the short response delay time is regarded as the response capability and 50 is added as a relative value. Here, assuming that the resource 3 has the highest priority and the weighting coefficient is “2”, the necessary resource 3 can be set to 50 × 2 = 100. Therefore, in searching for an OFC 92 # that satisfies the required conditions, an OFC 92 # that satisfies the following conditions may be selected.

#5、#6、#7、#8、#9のOFC92は、リソース3の要素に関わる重み付け係数を考慮すると、例えば#5は(リソース1:20、リソース2:50、リソース3:70)、#6は(リソース1:40、リソース2:20、リソース3:40)、#7(リソース1:28、リソース2:35、リソース3:100)、#8(リソース1:30、リソース2:45、リソース3:60)、#9(リソース1:30、リソース2:50、リソース3:65)となり、前提となる条件は、以下の通りである。
(1)リソース1は60以上で最も60に近い
(2)リソース2は70以上で最も70に近い
(3)リソース3は100以上で最も100に近い
The OFC 92 of # 5, # 6, # 7, # 8, and # 9 considers the weighting coefficient related to the element of resource 3, for example, # 5 is (resource 1:20, resource 2:50, resource 3:70). , # 6 (resource 1:40, resource 2:20, resource 3:40), # 7 (resource 1:28, resource 2:35, resource 3: 100), # 8 (resource 1:30, resource 2) : 45, resource 3:60), # 9 (resource 1:30, resource 2:50, resource 3:65), and the preconditions are as follows.
(1) Resource 1 is 60 or more and closest to 60 (2) Resource 2 is 70 or more and is closest to 70 (3) Resource 3 is 100 or more and is closest to 100

単独のOFC92#では、各リソースの要素に関わる条件の全てを、満足することはできず、#5と#6を組み合わせで使用する方法が、最も好ましい。   The single OFC 92 # cannot satisfy all the conditions related to the elements of each resource, and the method of using # 5 and # 6 in combination is most preferable.

以上に述べた例では、いずれも、各リソースの値は、加算して評価することができることを前提にして、条件を満足する組み合わせ(単独の場合も含む)に対して、最も要求値に近い組み合わせを選ぶ方法を示した。しかしながら、この例に限定されず、例えば、各リソースの要素の要求値の2乗の和を評価する場合であっても、同様の方法で、最も適切な組み合わせを選ぶことができることは言うまでもない。仮に、満足できる組み合わせが、一つも存在しない場合には、最も、要求条件に近い組み合わせを選択することで、対応することが、実用上は好ましい。   In the examples described above, it is assumed that each resource value is closest to the required value for a combination that satisfies the condition (including a single case) on the assumption that the value of each resource can be added and evaluated. It showed how to choose a combination. However, the present invention is not limited to this example, and it goes without saying that the most appropriate combination can be selected by the same method even when, for example, the sum of the squares of the required values of the elements of each resource is evaluated. If there is no satisfactory combination, it is practically preferable to cope with the problem by selecting the combination closest to the required condition.

一方、対象となるOFC92の数やリソースの種別数が非常に大きくなった場合には、ヒューリスティックに容易に適切なOFC92を選ぶことは困難である。この場合は、ナップザック問題を解く手法と類似した手法を活用することにより、解決手段を提供することができる。まず、第一段階として、一変数を対象とした場合のリソース種別の割り当て資源を最適化するアルゴリズムを図12に示す。   On the other hand, when the number of target OFCs 92 or the number of resource types becomes very large, it is difficult to select an appropriate OFC 92 easily heuristically. In this case, a solution means can be provided by utilizing a method similar to the method of solving the knapsack problem. First, as a first step, FIG. 12 shows an algorithm for optimizing the allocation resource of the resource type when one variable is targeted.

ここでは、対象OFC92の数が非常に大きく、世界中の全てのOFC92を対象にすること現実的ではないため、先ず当該のリソース種別の判断が可能なOFC数を、当面、n個あると仮定し、それらに対するリソース量の読み出し(サンプリング)を特定の、または、適切なOFC92の中から、行った前提のもとに、図12の制御フローの内容を説明する。   Here, since the number of target OFCs 92 is very large and it is not realistic to target all OFCs 92 in the world, first, it is assumed that there are n OFCs capable of determining the resource type for the time being. Then, the contents of the control flow of FIG. 12 will be described based on the premise that the reading (sampling) of the resource amount for them is performed from a specific or appropriate OFC 92.

ステップS101:対象としたリソース種別を「D」として、適用可能な複数のOFC92のもつ、第1種のリソースに関わるリソースベクトルDを、以下のように定義する。
D=(n個の要素からなるベクトル)=(D0,D1,…D(n−1))
ステップS102:リソースの状態D0(=D[0], D[1], D[1],…. D[n−1])を記録する。ここで、aはリソース合計の目的値、mは繰り返し回数の上限値である。ctは繰り返しのカウンタ、s0はリソース合計の暫定値である。初期値として考えられる最悪の値を入れておく。
ステップS103:リソース合計sが目的とする値aを超えるまで加える。
s=s+D[i]、i=i+1
ステップS104:sがs0より良い値を実現できたときD0=D、i0=i、s0=sとして記録を更新する。
ステップS105:ct<mのときDを並べ替えてステップS103からの処理を繰り返す。
Step S101: A resource vector D related to the first type resource of a plurality of applicable OFCs 92 is defined as follows, where the target resource type is “D”.
D = (vector consisting of n elements) = (D0, D1,... D (n−1))
Step S102: The resource state D0 (= D [0], D [1], D [1],... D [n-1]) is recorded. Here, a is the target value of the total resource, and m is the upper limit value of the number of repetitions. ct is a repeat counter, and s0 is a provisional value of the total resources. The worst value that can be considered as an initial value is entered.
Step S103: Add until the total resource s exceeds the target value a.
s = s + D [i], i = i + 1
Step S104: When s can realize a value better than s0, the record is updated with D0 = D, i0 = i, and s0 = s.
Step S105: When ct <m, D is rearranged and the processing from step S103 is repeated.

ここで、Dの並べ替えの方法としては、nをベクトルDの長さとして、
(数1)
r1=random(n)
r2=random(n)
x=D[r1]
D[r1]=D[r2]
D[r2]=x
のように2つずつ並べ替える方法や、Fisher−Yates shuffleなどを用いてD全体を並べ替える方法があるが、これらの特定の並べ方に限定されないことはいうまでもない。現実的に収束する速度が早いものを適切に選択すれば良い。
Here, as a method of rearranging D, n is the length of the vector D,
(Equation 1)
r1 = random (n)
r2 = random (n)
x = D [r1]
D [r1] = D [r2]
D [r2] = x
As described above, there are a method of rearranging two by two, and a method of rearranging the entire D using Fisher-Yates shuffle, but it goes without saying that the method is not limited to these specific methods. What is necessary is just to select a thing with a fast convergence speed in practice.

ステップS106:ct≧mとなったら、記録しておいたD0、i0、s0を出力して終了する。   Step S106: If ct ≧ m, the recorded D0, i0, s0 are output and the process ends.

上述した方法は、容易に多変数のリソース種別を持つ場合の、最適な組み合わせを求めるアルゴリズムに拡張することが容易である。図13及び図14に、概要フローを示す。
ステップS201:リソース種別として、k変数からなるデータDを、特定または、任意の複数のOFC92からサンプリングする。この場合Dはn行k列の行列である。
ステップS202:リソースの状態D0を記録する。a=(a0,a1,……,a(k−1))はリソース合計の目的値、mは繰り返し回数の上限である。ctは繰り返しのカウンタ、s00はリソース合計差分の暫定値である。初期値として考えられる最悪の値を入れておく。
The above-described method can be easily extended to an algorithm for obtaining an optimal combination when there are multivariable resource types. 13 and 14 show an outline flow.
Step S201: As a resource type, data D composed of k variables is sampled from a plurality of specified or arbitrary OFCs 92. In this case, D is an n-by-k matrix.
Step S202: The resource state D0 is recorded. a = (a0, a1,..., a (k−1)) is the target value of the total resources, and m is the upper limit of the number of repetitions. ct is a repeat counter, and s00 is a provisional value of the total resource difference. The worst value that can be considered as an initial value is entered.

ステップS203〜S208:j番目のリソース合計sjが目的値ajを超えるまで加える。ここで、sjは以下の式で表わされる。
(数1)
sj=sj+D[i,j]
s=|s0−a0|+……+|sj−aj|+……+|s(k−1)−a(k−1)|
明らかに、sが小さいことは記録されたD0が最適解に近いことを表している。特にs00=0のときは最適解が得られたことを保証できる。
Steps S203 to S208: Add until the j-th resource total sj exceeds the target value aj. Here, sj is expressed by the following equation.
(Equation 1)
sj = sj + D [i, j]
s = | s0−a0 | + …… + | sj−aj | + …… + | s (k−1) −a (k−1) |
Obviously, a small s indicates that the recorded D0 is close to the optimal solution. In particular, when s00 = 0, it can be assured that an optimal solution has been obtained.

ステップS204:sがs00より良い値を実現できたときD0=D、i0=i、s00=sとして記録を更新する。
ステップS205:ct<mのときDを並べ替えてステップS203からの処理を繰り返す。
ここで、Dの並べ替えの方法としてはnをDの行数とし、r番目の行ベクトルをD[r,]として、
(数2)
r1=random(n)
r2=random(n)
x=D[r1,]
D[r1,]=D[r2,]
D[r2,]=x
のように2行ずつ並べ替える方法やFisher−Yates shuffleなどを用いてD全体を並べ替える方法があるが、これに限定される必要のないことは、いうまでもない。
並べ替えを行った結果、同じものが、出現されることがなければ、どのような並べ替えアルゴリズムを用いても良い。
Step S204: When s can realize a value better than s00, the record is updated as D0 = D, i0 = i, and s00 = s.
Step S205: When ct <m, D is rearranged and the processing from step S203 is repeated.
Here, as a method of rearranging D, n is the number of rows of D, the r-th row vector is D [r,],
(Equation 2)
r1 = random (n)
r2 = random (n)
x = D [r1,]
D [r1,] = D [r2,]
D [r2,] = x
As described above, there are a method of rearranging two rows at a time, and a method of rearranging the entire D using Fisher-Yates shuffle, but it is needless to say that the present invention is not limited to this.
As long as the same result does not appear as a result of the rearrangement, any rearrangement algorithm may be used.

ステップS206:ct>=mとなったら記録しておいたD0、i0、s00を出力して終了する。   Step S206: If ct> = m, the recorded D0, i0, s00 are output and the process is terminated.

一方、新たに発生するトラヒックフローに対して、図10に記載の方法によりプロキシとなるOFC92に対して割り振りルールを指定することで、イベントの種類毎に、それぞれ使用するOFC92の番号を指定して、当該の処理を、特定のOFC92に分担させるための機能分散の手法を用いて、機能別にOFC92を配備することが可能であることは言うまでもない。   On the other hand, for the newly generated traffic flow, by specifying the allocation rule for the proxy OFC 92 by the method shown in FIG. 10, the number of the OFC 92 to be used is specified for each event type. It goes without saying that the OFC 92 can be deployed by function using a function distribution method for sharing the processing with a specific OFC 92.

また図9に記載のマスター/スレーブ方式の複数OFC利用形態においては、新たなOFC92が割り当てられた後は、当該の新たなコントローラがをマスターとする旨を、OFS91に迅速に通知することが好ましい。   Further, in the master / slave system multiple OFC usage mode shown in FIG. 9, after the new OFC 92 is assigned, it is preferable to promptly notify the OFS 91 that the new controller is the master. .

上記には、ライブクローン制御機能953により複製されたOFC92間の負荷分散制御方法と、複数のOFC92間の負荷分散制御方法を別々に記載したが、適宜組み合わせて使用する制御方法を適切に混在できることは、言うまでもない。   In the above, the load distribution control method between OFCs 92 replicated by the live clone control function 953 and the load distribution control method between a plurality of OFCs 92 are described separately, but control methods used in appropriate combinations can be appropriately mixed. Needless to say.

OFC92の処理能力がダイナミックに変動する場合には、各OFC92から一定の周期で、その時点でのリソース処理能力を、ライブクローン制御機能953、ロードバランス制御機能954に通知することにより、OFCリソースコントローラ95は最新の状況を把握できる。当該のOFCリソースコントローラ95は、この情報に基づいて、次に割り当てるべきOFC92#や次にライブクローンを行うべきOFC92#を決定することができる。   When the processing capacity of the OFC 92 fluctuates dynamically, the OFC resource controller notifies the live clone control function 953 and the load balance control function 954 of the resource processing capacity at that time from each OFC 92 at a constant cycle. 95 can grasp the latest situation. Based on this information, the OFC resource controller 95 can determine the OFC 92 # to be allocated next and the OFC 92 # to perform live clone next.

図15は、地域サーバ群#1、#2、#3に対応して、OFS91が存在した時に、それぞれのサーバ群から、未定義フロートラヒックが対応するOFS91#に流入し、対応するOFC92#に向けて制御トラヒックが発生した場合の基本的なネットワーク構成を示すものである。図15では、OFC92#1内に仮想マシン71#2〜71#rが生成され、OFC92#2内に仮想マシン71#2〜71#sが生成され、OFC92#3内に仮想マシン71#2〜71#tが生成される場合を示す。制御用トラヒック量が予め規定された閾値を超えたことを検知すると、それぞれのOFC92#に、予め割り当てられた、オープンクラウドのサイトへ接続し、当該のオープンクラウドのサイトでは、必要な処理能力に応じて、クローン作成あるいは、ライブマイグレーションを逐次、実施する。当該のリソースの量が十分確保されている場合には、その範囲の中で、要求に応じて、適切に、OFC92を拡張することができる。   FIG. 15 shows that when the OFS 91 exists corresponding to the regional server groups # 1, # 2, and # 3, undefined flow traffic flows from each server group into the corresponding OFS 91 #, and enters the corresponding OFC 92 #. This shows a basic network configuration when control traffic is generated. In FIG. 15, virtual machines 71 # 2 to 71 # r are generated in the OFC 92 # 1, virtual machines 71 # 2 to 71 # s are generated in the OFC 92 # 2, and the virtual machine 71 # 2 is stored in the OFC 92 # 3. The case where -71 # t is produced | generated is shown. When it is detected that the amount of control traffic exceeds a predetermined threshold value, each OFC 92 # is connected to an open cloud site assigned in advance, and the open cloud site has a necessary processing capacity. In response, clone creation or live migration is performed sequentially. If the amount of the resource is sufficiently secured, the OFC 92 can be appropriately expanded within the range according to the request.

地域サーバ群#1、#2、#3があった場合に、それぞれの地域サーバ群から未定義フロートラヒックがOFS91に流入し、対応するOFC92#に向けて制御トラヒックが発生した場合に、OFC92が処理すべき制御用トラヒックが、予め規定された閾値を超えたことを検知すると、共通的に使用可能な、オープンクラウドのサイト(OFC92#1)へ接続してもよい。この場合、OFC92#1で、接続要求に応じて必要な処理能力に対応できるための、ライブクローン化を逐次実施し、所望の処理能力を達成するための基本構成である。   When there are regional server groups # 1, # 2, and # 3, when undefined flow traffic flows from each regional server group into the OFS 91 and control traffic is generated toward the corresponding OFC 92 #, the OFC 92 When it is detected that the control traffic to be processed has exceeded a predetermined threshold value, it may be connected to an open cloud site (OFC 92 # 1) that can be commonly used. In this case, the OFC 92 # 1 is a basic configuration for sequentially performing live cloning and achieving a desired processing capacity in order to be able to cope with a necessary processing capacity according to a connection request.

以上、説明したように、本発明の特徴は
集中制御を前提とした、ネットワーク制御方式において、
(1)クラウドのもつ仮想サーバのリソースを有効に活用し、
(2)ネットワークを集中制御するコントローラの処理能力のダイナミック制御を、
(3)トラヒックの急激な増加やネットワーク機器の故障等の状況に応じて
(4)リアルタイムに、同一クラウド内、および異なるクラウド間に跨る範囲において、開示した技術は、
既存のクラウドが保有するリソースを、要求されるリソースに関わる条件を満足できるように、最大限に活用して、融通性の高いコントローラ(ネットワーク制御系)を構築できる特徴をもつ。
As described above, the feature of the present invention is the network control method based on the centralized control.
(1) Effective use of virtual server resources in the cloud,
(2) Dynamic control of the processing capacity of the controller that centrally controls the network,
(3) According to the situation such as rapid increase in traffic or network equipment failure, etc. (4) In the real-time, within the same cloud and between different clouds, the disclosed technology is
It has the feature that a highly flexible controller (network control system) can be constructed by making maximum use of the resources held by the existing cloud so that the conditions related to the required resources can be satisfied.

すなわち、開示した技術はクラウドを活用し、ネットワーク制御系を構築する場合に、最初から最大負荷に応じた設備を備えることを不要とし、必要に応じて処理能力を増減できる融通性を具備するものである。さらに、開示した技術は、ライブクローンを用いた制御を行うことにより、既存のシステムの流用が可能であると共に、シンプルな制御(ライブクローンの複製や削除)で上記特徴を達成できる。不要になったネットワーク制御用のリソースに関しては、逐次、ライブクローンを解放する等のプロシージャ―を組み込むことにより、稼働中のクラウドのリソースを有効に活用できることができ、最新のトラヒック処理状況に見合う、制御系の処理能力を備えるネットワーク構成を実現できる。   In other words, the disclosed technology makes it unnecessary to provide equipment corresponding to the maximum load from the beginning when using the cloud and constructing a network control system, and has the flexibility to increase or decrease the processing capacity as necessary. It is. Furthermore, the disclosed technology can divert an existing system by performing control using a live clone, and can achieve the above-described features with simple control (live clone duplication and deletion). With regard to network control resources that are no longer needed, by incorporating procedures such as sequentially releasing live clones, it is possible to effectively use resources in the running cloud, which matches the latest traffic processing status. A network configuration having a control system processing capability can be realized.

このように、ネットワークソフトウェアを、クラウド上で、大規模に仮想化できるメリットを、十分に発揮することができる。また、開示した本技術は、SDNに代表されるオープンフロータイプのネットワークに適用できるだけでなく、NGNや既存の携帯電話網の制御やオペレーションシステムの処理能力の増強にも適用でき、適用対象範囲は極めて広い。以上説明したように、本技術は安全なネットワークを、実現する上での基盤技術として活用でき、今後の情報通信産業を発展させる上で、極めて大きな意義を持つ。   In this way, it is possible to sufficiently exhibit the merit that network software can be virtualized on a large scale in the cloud. In addition, the disclosed technology can be applied not only to an open flow type network represented by SDN, but also to control of NGN and existing mobile phone networks and increase the processing capacity of an operation system. Extremely wide. As described above, this technology can be used as a basic technology for realizing a secure network, and has great significance in developing the future information and communications industry.

本発明は情報通信産業に適用することができる。   The present invention can be applied to the information communication industry.

11:フローテーブル
12:スイッチ
71:仮想マシン
72:データベース(DB)
73:マスターイメージ
74:差分ファイル
81:インフラストラクチャーレイヤ
82:制御レイヤ
83:アプリケーションレイヤ
91:オープンフロースイッチ(OFS)
92:オープンフローコントローラ(OFC)
93:ネットワークアプリケーション
94:ホスト
95:OFCリソースコントローラ
951:オープンフロー制御トラヒック監視機能
952:OFCリソース負荷監視機能
953:ライブクローン制御機能
954:ロードバランス制御機能
11: Flow table 12: Switch 71: Virtual machine 72: Database (DB)
73: Master image 74: Difference file 81: Infrastructure layer 82: Control layer 83: Application layer 91: Open flow switch (OFS)
92: Open Flow Controller (OFC)
93: Network application 94: Host 95: OFC resource controller 951: Open flow control traffic monitoring function 952: OFC resource load monitoring function 953: Live clone control function 954: Load balance control function

Claims (10)

ソフトウェア制御を用いてスイッチの出力経路を制御するSDN(Software Defined Networking)コントローラと、
前記スイッチと前記SDNコントローラ間の制御トラヒック及び前記SDNコントローラのリソースに基づいて前記SDNコントローラが過負荷状態であることを判定し、過負荷状態にあるSDNコントローラのライブクローンを生成するSDNコントローラ制御部と、
を備えるネットワーク制御システム。
An SDN (Software Defined Networking) controller that controls the output path of the switch using software control;
An SDN controller controller that determines that the SDN controller is in an overload state based on control traffic between the switch and the SDN controller and resources of the SDN controller, and generates a live clone of the SDN controller in the overload state When,
A network control system comprising:
前記SDNコントローラ制御部は、
前記ライブクローンの生成に必要なリソースの処理速度又はメモリ容量を含む条件を、過負荷状態にあるSDNコントローラのリソースに基づいて決定し、決定した条件を満足する仮想マシンを構築する、
請求項1に記載のネットワーク制御システム。
The SDN controller control unit
A condition including a processing speed or a memory capacity of a resource necessary for generating the live clone is determined based on an overloaded SDN controller resource, and a virtual machine that satisfies the determined condition is constructed.
The network control system according to claim 1.
1つの前記SDNコントローラは、データの同期されている複数のデータベースを備え、
前記複数のデータベースのうちの1つが、前記SDNコントローラ制御部からの指示に従い、当該データベースに記憶されているデータを複製する機能をもつと共に、
前記仮想マシンは、前記複数のデータベースのうちの利用可能な他の1つを参照して、前記スイッチの接続処理を行う、
請求項2に記載のネットワーク制御システム。
One SDN controller comprises a plurality of databases with synchronized data,
One of the plurality of databases has a function of replicating data stored in the database in accordance with an instruction from the SDN controller control unit,
The virtual machine refers to another available one of the plurality of databases and performs connection processing of the switch.
The network control system according to claim 2.
複数の前記SDNコントローラが共通の前記スイッチの出力経路を制御し、
前記複数のSDNコントローラに備わる前記データベースは、前記スイッチの出力経路を制御するための同一内容のフローテーブルを格納している、
請求項3に記載のネットワーク制御システム。
A plurality of SDN controllers controlling a common output path of the switch;
The database provided in the plurality of SDN controllers stores a flow table having the same content for controlling the output path of the switch.
The network control system according to claim 3.
前記SDNコントローラ制御部は、前記SDNコントローラに故障が発生したことを判定し、故障が発生したSDNコントローラのライブクローンを生成する

請求項1から4のいずれかに記載のネットワーク制御システム。
The SDN controller control unit determines that a failure has occurred in the SDN controller, and generates a live clone of the SDN controller in which the failure has occurred.
The network control system according to claim 1.
ソフトウェア制御を用いてスイッチの出力経路を制御するSDNコントローラの制御方法であって、
前記スイッチと前記SDNコントローラ間の制御トラヒック及び前記SDNコントローラのリソースに基づいて前記SDNコントローラが過負荷状態であることを判定する判定手順と、
過負荷状態にあるSDNコントローラのライブクローンを生成する制御手順と、
を、SDNコントローラ制御部が実行するネットワーク制御方法。
A control method of an SDN controller that controls an output path of a switch using software control,
A determination procedure for determining that the SDN controller is overloaded based on control traffic between the switch and the SDN controller and resources of the SDN controller;
A control procedure for creating a live clone of an overloaded SDN controller;
A network control method in which the SDN controller control unit executes .
前記制御手順において、前記SDNコントローラ制御部が、前記ライブクローンの生成に必要なリソースの処理速度又はメモリ容量を含む条件を、過負荷状態にあるSDNコントローラのリソースに基づいて決定し、決定した条件を満足する仮想マシンを構築する、
請求項6に記載のネットワーク制御方法。
In the control procedure, the SDN controller control unit determines a condition including the processing speed or memory capacity of the resource necessary for generating the live clone based on the resource of the SDN controller in an overload state, and the determined condition Build a virtual machine that satisfies
The network control method according to claim 6.
1つの前記SDNコントローラは、データの同期されている複数のデータベースを備え、
前記制御手順において、
前記複数のデータベースのうちの1つが、前記SDNコントローラ制御部からの指示に従い、当該データベースに記憶されているデータを複製する機能をもつと共に、
前記仮想マシンは、前記複数のデータベースのうちの利用可能な他の1つを参照して、前記スイッチの接続処理を行う、
請求項7に記載のネットワーク制御方法。
One SDN controller comprises a plurality of databases with synchronized data,
In the control procedure,
One of the plurality of databases has a function of replicating data stored in the database in accordance with an instruction from the SDN controller control unit,
The virtual machine refers to another available one of the plurality of databases and performs connection processing of the switch.
The network control method according to claim 7.
複数の前記SDNコントローラが共通の前記スイッチの出力経路を制御し、
前記複数のSDNコントローラに備わる前記データベースは、前記スイッチの出力経路を制御するための同一内容のフローテーブルを格納している、
請求項8に記載のネットワーク制御方法。
A plurality of SDN controllers controlling a common output path of the switch;
The database provided in the plurality of SDN controllers stores a flow table having the same content for controlling the output path of the switch.
The network control method according to claim 8.
前記判定手順において、前記SDNコントローラ制御部が、前記SDNコントローラに故障が発生したことを判定し、
前記制御手順において、前記SDNコントローラ制御部が、故障が発生したSDNコントローラのライブクローンを生成する、
請求項6から9のいずれかに記載のネットワーク制御方法。
In the determination procedure, the SDN controller control unit determines that a failure has occurred in the SDN controller,
In the control procedure, the SDN controller control unit generates a live clone of the SDN controller in which a failure has occurred.
The network control method according to claim 6.
JP2013172909A 2013-08-23 2013-08-23 Network control method Active JP6288633B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013172909A JP6288633B2 (en) 2013-08-23 2013-08-23 Network control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013172909A JP6288633B2 (en) 2013-08-23 2013-08-23 Network control method

Publications (2)

Publication Number Publication Date
JP2015041938A JP2015041938A (en) 2015-03-02
JP6288633B2 true JP6288633B2 (en) 2018-03-07

Family

ID=52695848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013172909A Active JP6288633B2 (en) 2013-08-23 2013-08-23 Network control method

Country Status (1)

Country Link
JP (1) JP6288633B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6477037B2 (en) * 2015-03-06 2019-03-06 日本電気株式会社 Network control system, network control method, control device control program, and relay device control program
EP3582453B1 (en) * 2017-02-01 2021-07-21 Nec Corporation Management system, management method and program
WO2022038789A1 (en) * 2020-08-21 2022-02-24 日本電信電話株式会社 Database selection device, database selection method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4559511B2 (en) * 2008-08-11 2010-10-06 日本電信電話株式会社 Packet transfer system and packet transfer method
US8762501B2 (en) * 2011-08-29 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes

Also Published As

Publication number Publication date
JP2015041938A (en) 2015-03-02

Similar Documents

Publication Publication Date Title
US10050862B2 (en) Distributed application framework that uses network and application awareness for placing data
EP3016316B1 (en) Network control method and apparatus
US9999030B2 (en) Resource provisioning method
US9143452B2 (en) Data processing
EP3063903B1 (en) Method and system for load balancing at a data network
KR101989333B1 (en) Data forwarding method, device and system in software-defined networking
CN105659563B (en) System and method for the duplication of software-defined network perception data
EP2920932B1 (en) Apparatus for a high performance and highly available multi-controllers in a single sdn/openflow network
KR101913490B1 (en) Flow table management method and relevant device and system
US9584369B2 (en) Methods of representing software defined networking-based multiple layer network topology views
WO2012065426A1 (en) Load distribution method, apparatus and server in distributed cache system
JP2011160363A (en) Computer system, controller, switch, and communication method
WO2013146808A1 (en) Computer system and communication path modification means
WO2017197983A1 (en) Traffic processing method and system, storage medium, switch
JP6288633B2 (en) Network control method
WO2014157512A1 (en) System for providing virtual machines, device for determining paths, method for controlling paths, and program
WO2010109767A1 (en) Data synchronization system, data synchronization method, and synchronization control server
Ammar et al. Dynamic SDN controllers-switches mapping for load balancing and controller failure handling
US20150372895A1 (en) Proactive Change of Communication Models
Chen et al. Enterprise visor: A Software-Defined enterprise network resource management engine
Tsai et al. Virtualized cloud data center networks: Issues in resource management
JP5063726B2 (en) Configuration control method for virtual node device
US11405284B1 (en) Generating network link utilization targets using a packet-loss-versus-link utilization model
Udeze et al. Performance analysis of R-DCN architecture for next generation web application integration
Watashiba et al. An architectural design of a job management system leveraging software defined network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170828

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: 20180109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180130

R150 Certificate of patent or registration of utility model

Ref document number: 6288633

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250