JP2011159247A - Network system, controller, and network control method - Google Patents

Network system, controller, and network control method Download PDF

Info

Publication number
JP2011159247A
JP2011159247A JP2010022727A JP2010022727A JP2011159247A JP 2011159247 A JP2011159247 A JP 2011159247A JP 2010022727 A JP2010022727 A JP 2010022727A JP 2010022727 A JP2010022727 A JP 2010022727A JP 2011159247 A JP2011159247 A JP 2011159247A
Authority
JP
Japan
Prior art keywords
appliance
switch
processing
flow
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010022727A
Other languages
Japanese (ja)
Inventor
Takahide Sugita
貴英 杉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010022727A priority Critical patent/JP2011159247A/en
Publication of JP2011159247A publication Critical patent/JP2011159247A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology of dynamically transferring processing of an appliance to another appliance. <P>SOLUTION: A switch includes a flow table. Each entry of the flow table designates an action to be performed on a packet that matches a match condition. A controller acquires load information indicating processing loads relating to appliances, and compares the processing loads with a threshold. When the processing load relating to a first appliance becomes the threshold or greater, the controller performs transfer processing. In the transfer processing, the controller selects at least one flow being processed by the first appliance, as a selected flow, selects a second appliance different from the first appliance, and instructs the switch to set an entry designating transfer of packets belonging to the selected flow to the second appliance, in the flow table. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、アプライアンスを備えるネットワークシステムを制御する技術に関する。特に、本発明は、あるアプライアンスの処理を他のアプライアンスに委譲する技術に関する。   The present invention relates to a technique for controlling a network system including an appliance. In particular, the present invention relates to a technique for delegating the processing of one appliance to another appliance.

アプライアンス(ネットワークアプライアンス)は、ネットワークトラヒックに対して特定の処理を実行するネットワーク装置である。アプライアンスとしては、負荷分散の機能を提供するロードバランサや、セキュリティを向上させるファイヤーウォール等が挙げられる。近年の仮想化技術の発展に伴い、ゲストOSを対象とした仮想的なセキュリティアプライアンスにも注目が集まっている。例えば、WAF(Web Application Firewall)機能を有する仮想アプライアンスは、1台の物理サーバ上で複数のゲストOSのトラヒックのアプリケーションレイヤまで監視する。   An appliance (network appliance) is a network device that performs specific processing on network traffic. Examples of the appliance include a load balancer that provides a load balancing function and a firewall that improves security. With the recent development of virtualization technology, attention is also focused on virtual security appliances for guest OSs. For example, a virtual appliance having a WAF (Web Application Firewall) function monitors up to an application layer of traffic of a plurality of guest OSes on one physical server.

ここで、トラヒック量やゲストOSの稼働状況によっては、アプライアンスが稼働する物理サーバのリソースが不足する場合がある。その場合、アプライアンスの性能が低下し、処理がおいつかなくなる。そのような事態を回避するために、あるアプライアンスの処理を、一時的に、他のアプライアンスに委譲することが考えられる。   Here, depending on the traffic volume and the operating status of the guest OS, there may be a shortage of resources of the physical server on which the appliance operates. In that case, the performance of the appliance will be reduced and processing will not be possible. In order to avoid such a situation, it is conceivable to temporarily delegate the processing of one appliance to another appliance.

非特許文献1は、トンネリング・プロトコルに関する技術を開示している。当該技術によれば、GRE対応ルータがIPパケットにヘッダを付加する。その付加ヘッダに基いて、IPネットワークを透過して遠隔地の外部装置と接続することができる。   Non-Patent Document 1 discloses a technique related to a tunneling protocol. According to this technique, a GRE-compatible router adds a header to an IP packet. Based on the additional header, it is possible to connect to an external device at a remote location through the IP network.

非特許文献2に開示された技術によれば、ネットワーク上のトラヒックをサンプリングして監視する。それにより、ルータの負荷を抑えつつ監視することができる。更に、アプライアンスなどの外部装置へ監視したフローを流すことで、高度な分析を行うことが可能である。   According to the technique disclosed in Non-Patent Document 2, traffic on a network is sampled and monitored. Thus, monitoring can be performed while suppressing the load on the router. Furthermore, advanced analysis can be performed by sending the monitored flow to an external device such as an appliance.

非特許文献3に開示された技術によれば、自由にパスを設定し、トラヒックをアプライアンスなどの外部装置へ流すことができる。   According to the technique disclosed in Non-Patent Document 3, it is possible to freely set a path and flow traffic to an external device such as an appliance.

また、負荷分散やロードバランサに関連する技術として、以下のものが知られている。   Further, the following technologies are known as technologies related to load balancing and load balancer.

特許文献1は、動的構成制御装置を開示している。その動的構成制御装置は、ウェブサーバとアプリケーションサーバが接続されるウェブシステムにおいて、各サーバの負荷状況に基いてサービス構成を動的に変更する。   Patent Document 1 discloses a dynamic configuration control device. The dynamic configuration control device dynamically changes a service configuration based on the load status of each server in a web system in which a web server and an application server are connected.

特許文献2は、複数のロードバランサを介するデータ通信を行うクラスタシステムを開示している。ノードサーバが正常に動作しなくなった場合にも、複数のロードバランサは、同一のセッションまたは関連する複数のセッションに属するメッセージを、同一のクラスタノードに分配する。これにより、効率よく複数のロードバランサからのメッセージを処理することができる。   Patent Document 2 discloses a cluster system that performs data communication via a plurality of load balancers. Even when the node server does not operate normally, the plurality of load balancers distribute messages belonging to the same session or a plurality of related sessions to the same cluster node. Thereby, messages from a plurality of load balancers can be processed efficiently.

特開2003−281007号公報JP 2003-281007 A 特開2007−156569号公報JP 2007-15669 A

Generic Routing Encapsulation (GRE) http://www.ietf.org/rfc/rfc2784.txtGeneric Routing Encapsulation (GRE) http: // www. ietf. org / rfc / rfc2784. txt sFlow http://tools.ietf.org/rfc/rfc3176.txtsFlow http: // tools. ietf. org / rfc / rfc3176. txt D. A. Joseph, A. Tavakoli, and I. Stoica. A Policy−aware Switching Layer for Data Centers. ACM SIGCOMM Computer Communications Review (CCR), 38(4):51−62, 2008. http://ccr.sigcomm.org/online/files/p51−josephA.pdfD. A. Joseph, A.M. Takakoli, and I.M. Stoica. A Policy-aware Switching Layer for Data Centers. ACM SIGCOMM Computer Communications Review (CCR), 38 (4): 51-62, 2008. http: // ccr. sigcomm. org / online / files / p51-josephA. pdf

あるアプライアンスの処理を、一時的に、他のアプライアンスに委譲することを考える。非特許文献1、2の場合、アプライアンスは、当該文献に記載されている特別なフォーマットに対応している必要があり、さもなければ処理を行うことができない。非特許文献3では、あるタイミングで特定の処理を委譲するといった動的な制御は考慮されていない。   Consider temporarily delegating the processing of one appliance to another appliance. In the case of Non-Patent Documents 1 and 2, the appliance needs to support a special format described in the document, otherwise processing cannot be performed. In Non-Patent Document 3, dynamic control such as delegation of specific processing at a certain timing is not considered.

本発明の1つの目的は、あるアプライアンスの処理を動的に他のアプライアンスに委譲することができる技術を提供することにある。   One object of the present invention is to provide a technology capable of dynamically delegating the processing of one appliance to another appliance.

本発明の1つの観点において、ネットワークシステムが提供される。そのネットワークシステムは、ネットワーク中に配置されたアプライアンス及びスイッチと、それらアプライアンス及びスイッチに接続されたコントローラと、を備える。スイッチは、フローテーブルを備え、フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定する。スイッチは、パケットを受け取るとフローテーブルを参照し、受け取ったパケットにマッチするエントリで指定されるアクションを受け取ったパケットに対して行う。コントローラは、アプライアンスに関連する処理負荷を示す負荷情報を取得し、また、処理負荷を閾値と比較する。アプライアンスの1つである第1アプライアンスに関連する処理負荷が閾値以上になった場合、コントローラは委譲処理を行う。その委譲処理において、コントローラは、第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択し、アプライアンスの1つであって第1アプライアンスと異なる第2アプライアンスを選択し、選択フローに属するパケットを第2アプライアンスに転送することを指定するエントリをフローテーブルに設定するように、スイッチに対して指示する。   In one aspect of the present invention, a network system is provided. The network system includes appliances and switches arranged in the network, and a controller connected to the appliances and switches. The switch includes a flow table, and each entry in the flow table specifies an action to be performed on a packet that matches the matching condition. When the switch receives the packet, the switch refers to the flow table and performs an action specified by the entry matching the received packet on the received packet. The controller obtains load information indicating the processing load associated with the appliance, and compares the processing load with a threshold value. When the processing load related to the first appliance, which is one of the appliances, exceeds a threshold value, the controller performs delegation processing. In the delegation process, the controller selects at least one of the flows processed by the first appliance as a selection flow, selects a second appliance that is one of the appliances and is different from the first appliance, and selects a selection flow. The switch is instructed to set, in the flow table, an entry that designates that the packet belonging to is transferred to the second appliance.

本発明の他の観点において、ネットワーク中に配置されたアプライアンス及びスイッチに接続されるコントローラが提供される。スイッチは、フローテーブルを備え、フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定する。スイッチは、パケットを受け取るとフローテーブルを参照し、受け取ったパケットにマッチするエントリで指定されるアクションを受け取ったパケットに対して行う。コントローラは、アプライアンスに関連する処理負荷を示す負荷情報が格納される記憶装置と、処理装置と、を備える。処理装置は、処理負荷を閾値と比較する。アプライアンスの1つである第1アプライアンスに関連する処理負荷が閾値以上になった場合、処理装置は委譲処理を行う。その委譲処理において、処理装置は、第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択し、アプライアンスの1つであって第1アプライアンスと異なる第2アプライアンスを選択し、選択フローに属するパケットを第2アプライアンスに転送することを指定するエントリをフローテーブルに設定するように、スイッチに対して指示する。   In another aspect of the present invention, a controller connected to appliances and switches located in a network is provided. The switch includes a flow table, and each entry in the flow table specifies an action to be performed on a packet that matches the matching condition. When the switch receives the packet, the switch refers to the flow table and performs an action specified by the entry matching the received packet on the received packet. The controller includes a storage device that stores load information indicating a processing load related to the appliance, and a processing device. The processing device compares the processing load with a threshold value. When the processing load related to the first appliance, which is one of the appliances, exceeds a threshold value, the processing device performs delegation processing. In the delegation process, the processing device selects at least one of the flows processed by the first appliance as a selection flow, selects a second appliance that is one of the appliances and is different from the first appliance, and selects The switch is instructed to set, in the flow table, an entry designating that a packet belonging to the flow is transferred to the second appliance.

本発明の更に他の観点において、アプライアンス及びスイッチが配置されたネットワークの制御方法が提供される。スイッチは、フローテーブルを備え、フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定する。スイッチは、パケットを受け取るとフローテーブルを参照し、受け取ったパケットにマッチするエントリで指定されるアクションを受け取ったパケットに対して行う。本発明に係る制御方法は、(A)アプライアンスに関連する処理負荷を示す負荷情報を取得することと、(B)処理負荷を閾値と比較することと、(C)アプライアンスの1つである第1アプライアンスに関連する処理負荷が閾値以上になった場合、委譲処理を行うことと、を含む。その委譲処理は、(C1)第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択することと、(C2)アプライアンスの1つであって第1アプライアンスと異なる第2アプライアンスを選択することと、(C3)スイッチにおいて、選択フローに属するパケットを第2アプライアンスに転送することを指定するエントリをフローテーブルに設定することと、を含む。   In still another aspect of the present invention, a method for controlling a network in which appliances and switches are arranged is provided. The switch includes a flow table, and each entry in the flow table specifies an action to be performed on a packet that matches the matching condition. When the switch receives the packet, the switch refers to the flow table and performs an action specified by the entry matching the received packet on the received packet. The control method according to the present invention includes (A) acquiring load information indicating a processing load related to the appliance, (B) comparing the processing load with a threshold, and (C) a first of the appliances. Including performing delegation processing when the processing load related to one appliance is equal to or greater than a threshold value. The delegation processing includes (C1) selecting at least one of the flows processed by the first appliance as a selection flow, and (C2) selecting a second appliance that is one of the appliances and is different from the first appliance. And (C3) setting, in the switch, an entry for designating transfer of a packet belonging to the selected flow to the second appliance in the switch.

本発明の更に他の観点において、アプライアンス及びスイッチが配置されたネットワークの制御処理をコンピュータに実行させる制御プログラムが提供される。スイッチは、フローテーブルを備え、フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定する。スイッチは、パケットを受け取るとフローテーブルを参照し、受け取ったパケットにマッチするエントリで指定されるアクションを受け取ったパケットに対して行う。本発明に係る制御処理は、(A)アプライアンスに関連する処理負荷を示す負荷情報を取得することと、(B)処理負荷を閾値と比較することと、(C)アプライアンスの1つである第1アプライアンスに関連する処理負荷が閾値以上になった場合、委譲処理を行うことと、を含む。その委譲処理は、(C1)第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択することと、(C2)アプライアンスの1つであって第1アプライアンスと異なる第2アプライアンスを選択することと、(C3)選択フローに属するパケットを第2アプライアンスに転送することを指定するエントリをフローテーブルに設定するように、スイッチに対して指示することと、を含む。   In still another aspect of the present invention, a control program for causing a computer to execute control processing of a network in which appliances and switches are arranged is provided. The switch includes a flow table, and each entry in the flow table specifies an action to be performed on a packet that matches the matching condition. When the switch receives the packet, the switch refers to the flow table and performs an action specified by the entry matching the received packet on the received packet. The control processing according to the present invention includes (A) acquiring load information indicating a processing load related to the appliance, (B) comparing the processing load with a threshold value, and (C) one of the appliances. Including performing delegation processing when the processing load related to one appliance is equal to or greater than a threshold value. The delegation processing includes (C1) selecting at least one of the flows processed by the first appliance as a selection flow, and (C2) selecting a second appliance that is one of the appliances and is different from the first appliance. And (C3) instructing the switch to set in the flow table an entry designating that a packet belonging to the selected flow is transferred to the second appliance.

本発明によれば、あるアプライアンスの処理を動的に他のアプライアンスに委譲することが可能となる。   According to the present invention, it is possible to dynamically delegate the processing of one appliance to another appliance.

図1は、本発明の実施の形態に係るネットワークシステムの構成を概略的に示すブロック図である。FIG. 1 is a block diagram schematically showing the configuration of a network system according to an embodiment of the present invention. 図2は、本実施の形態に係るスイッチの構成を概略的に示すブロック図である。FIG. 2 is a block diagram schematically showing the configuration of the switch according to the present embodiment. 図3は、本実施の形態に係るスイッチが有するフローテーブルを示す概念図である。FIG. 3 is a conceptual diagram illustrating a flow table included in the switch according to the present embodiment. 図4は、本実施の形態に係るアプライアンスの構成を概略的に示すブロック図である。FIG. 4 is a block diagram schematically showing the configuration of the appliance according to the present embodiment. 図5は、本実施の形態に係る物理サーバの構成を概略的に示すブロック図である。FIG. 5 is a block diagram schematically showing the configuration of the physical server according to the present embodiment. 図6は、本実施の形態に係るコントローラの構成を示すブロック図である。FIG. 6 is a block diagram showing a configuration of the controller according to the present embodiment. 図7は、本実施の形態に係るコントローラが有する負荷テーブルを示す概念図である。FIG. 7 is a conceptual diagram showing a load table included in the controller according to the present embodiment. 図8は、本実施の形態に係るネットワーク制御処理を説明するためのブロック図である。FIG. 8 is a block diagram for explaining network control processing according to the present embodiment. 図9は、本実施の形態に係るネットワーク制御処理を示すフローチャートである。FIG. 9 is a flowchart showing network control processing according to the present embodiment. 図10は、本実施の形態に係るネットワーク制御処理を説明するためのブロック図である。FIG. 10 is a block diagram for explaining network control processing according to the present embodiment. 図11は、本実施の形態に係るネットワーク制御処理を説明するためのブロック図である。FIG. 11 is a block diagram for explaining network control processing according to the present embodiment. 図12は、本実施の形態に係る様々な構成例を要約的に示す。FIG. 12 summarizes various configuration examples according to the present embodiment. 図13は、本実施の形態における1つの構成例を示すブロック図である。FIG. 13 is a block diagram illustrating one configuration example in the present embodiment. 図14は、本実施の形態における他の構成例を示すブロック図である。FIG. 14 is a block diagram showing another configuration example according to the present embodiment. 図15は、本実施の形態における更に他の構成例を示すブロック図である。FIG. 15 is a block diagram showing still another configuration example in the present embodiment.

添付図面を参照して、本発明の実施の形態を説明する。   Embodiments of the present invention will be described with reference to the accompanying drawings.

1.構成
図1は、本実施の形態に係るネットワークシステム1の構成を概略的に示すブロック図である。本実施の形態に係るネットワークシステム1は、例えば、データセンター(Data Center)に適用される。
1. Configuration FIG. 1 is a block diagram schematically showing a configuration of a network system 1 according to the present embodiment. The network system 1 according to the present embodiment is applied to, for example, a data center.

図1に示されるように、ネットワークシステム1は、スイッチ10、アプライアンス20、コントローラ100、及び物理サーバ200を備えている。アプライアンス20は、物理アプライアンスであってもよいし、仮想化技術によって物理サーバ200上に構築される仮想アプライアンスであってもよい。スイッチ10、アプライアンス20及び物理サーバ200は、ネットワーク中に配置されている。アプライアンス20及び物理サーバ200は、複数のスイッチ10からなるスイッチネットワークを介して、外部ネットワークに接続されている。コントローラ100は、制御回線(図中、破線で表されている)を介して、各スイッチ10、各アプライアンス20、及び各物理サーバ200に接続されている。以下、各構成を更に詳しく説明する。   As illustrated in FIG. 1, the network system 1 includes a switch 10, an appliance 20, a controller 100, and a physical server 200. The appliance 20 may be a physical appliance or a virtual appliance constructed on the physical server 200 by a virtualization technique. The switch 10, the appliance 20, and the physical server 200 are arranged in the network. The appliance 20 and the physical server 200 are connected to an external network via a switch network including a plurality of switches 10. The controller 100 is connected to each switch 10, each appliance 20, and each physical server 200 via a control line (represented by a broken line in the figure). Hereinafter, each configuration will be described in more detail.

1−1.スイッチ10
スイッチ10は、パケット転送等のスイッチ処理を行う。より詳細には、図2に示されるように、スイッチ10は、スイッチ処理部11、コントローラ通信部12、記憶部13、及び複数のポート15を備えている。外部からパケットが入力されるポート15は入力ポートであり、パケットが外部に出力されるポート15は出力ポートである。スイッチ処理部11は、入力ポートから出力ポートへのパケット転送等、主要なパケット処理を行う。コントローラ通信部12は、制御回線を介してコントローラ100に接続されており、コントローラ100との間で通信を行う際のインタフェースとなる。
1-1. Switch 10
The switch 10 performs switch processing such as packet transfer. More specifically, as illustrated in FIG. 2, the switch 10 includes a switch processing unit 11, a controller communication unit 12, a storage unit 13, and a plurality of ports 15. The port 15 to which a packet is input from the outside is an input port, and the port 15 from which the packet is output to the outside is an output port. The switch processing unit 11 performs main packet processing such as packet transfer from the input port to the output port. The controller communication unit 12 is connected to the controller 100 via a control line, and serves as an interface when communicating with the controller 100.

記憶部13には、図3に示されるようなフローテーブルFTBLが格納されている。フローテーブルFTBLの各エントリは、「マッチ条件(フロー識別情報)」と「アクション」を示している。「マッチ条件」は、パケットの入力ポート、送信元MACアドレス、宛先MACアドレス、VLAN ID、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号などのパラメータの組み合わせで構成される。尚、フローもそれらパラメータの組み合わせで定義される。つまり、「マッチ条件」は、フローを規定するフロー識別情報でもある。「アクション」は、マッチ条件にマッチするパケットに対して行われる処理を指定する。「アクション」としては、指定ポートへのパケット出力、パケット廃棄等が挙げられる。   The storage unit 13 stores a flow table FTBL as shown in FIG. Each entry of the flow table FTBL indicates “match condition (flow identification information)” and “action”. The “match condition” includes a combination of parameters such as an input port of a packet, a source MAC address, a destination MAC address, a VLAN ID, a source IP address, a destination IP address, a source port number, and a destination port number. The flow is also defined by a combination of these parameters. That is, the “match condition” is also flow identification information that defines a flow. “Action” designates processing to be performed on a packet that matches the matching condition. Examples of “action” include packet output to a designated port, packet discard, and the like.

スイッチ処理部11は、入力ポートを通してパケットを受信すると、記憶部13に格納されているフローテーブルFTBLを参照する。そして、スイッチ処理部11は、フローテーブルFTBLの中から、当該受信パケットにマッチするエントリを検索する。具体的には、スイッチ処理部11は、受信パケットのヘッダ情報を抽出し、受信パケットの入力ポート及びヘッダ情報を検索キーとして用いることにより、フローテーブルFTBLの検索を行う。その検索キーと一致するマッチ条件を示すエントリが、受信パケットにマッチするマッチエントリである。受信パケットがいずれかのエントリのマッチ条件にマッチした場合、すなわち、マッチエントリが見つかった場合、スイッチ処理部11は、そのマッチエントリで指定される「アクション」を受信パケットに対して行う。   When the switch processing unit 11 receives a packet through the input port, the switch processing unit 11 refers to the flow table FTBL stored in the storage unit 13. Then, the switch processing unit 11 searches the flow table FTBL for an entry that matches the received packet. Specifically, the switch processing unit 11 searches the flow table FTBL by extracting the header information of the received packet and using the input port and header information of the received packet as a search key. An entry indicating a matching condition that matches the search key is a matching entry that matches the received packet. When the received packet matches the match condition of any entry, that is, when a match entry is found, the switch processing unit 11 performs an “action” specified by the match entry on the received packet.

1−2.アプライアンス20
アプライアンス(ネットワークアプライアンス)20は、ネットワークトラヒックに対して特定の処理を実行するネットワーク装置である。アプライアンス20としては、ロードバランサ、ファイヤーウォール、WAF(Web Application Firewall)、IDS(Intrusion Detection System)、IPS(Intrusion Prevention System)、メールセキュリティ装置、暗号化アクセラレーション装置、コーデック変換処理装置、などが挙げられる。尚、本実施の形態において、アプライアンス20は、物理アプライアンスであってもよいし、仮想化技術によって物理サーバ200上に構築される仮想アプライアンスであってもよい。
1-2. Appliance 20
The appliance (network appliance) 20 is a network device that executes specific processing for network traffic. Examples of the appliance 20 include a load balancer, a firewall, a WAF (Web Application Firewall), an IDS (Intrusion Detection System), an IPS (Instruction Prevention System), a mail security device, an encryption acceleration device, and a codec conversion processing device. It is done. In the present embodiment, the appliance 20 may be a physical appliance, or a virtual appliance constructed on the physical server 200 by a virtualization technique.

図4は、本実施の形態に係るアプライアンス20の構成を概略的に示している。アプライアンス20は、アプライアンス処理部21、コントローラ通信部22、記憶部23、及び負荷監視部25を備えている。アプライアンス処理部21は、アプライアンス20としての特定の処理を実行する。コントローラ通信部22は、制御回線を介してコントローラ100に接続されており、コントローラ100との間で通信を行う際のインタフェースとなる。   FIG. 4 schematically shows the configuration of the appliance 20 according to the present embodiment. The appliance 20 includes an appliance processing unit 21, a controller communication unit 22, a storage unit 23, and a load monitoring unit 25. The appliance processing unit 21 executes specific processing as the appliance 20. The controller communication unit 22 is connected to the controller 100 via a control line, and serves as an interface when communicating with the controller 100.

記憶部23には、セッションテーブルSTBLが格納されている。セッションテーブルSTBLは、自アプライアンス20が扱っているフロー(セッション)に関するフロー識別情報や処理ポリシを示す。フロー識別情報は、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号等である。アプライアンス処理部21は、このセッションテーブルSTBLを参照することによって、各フローに応じたアプライアンス処理を実行する。また、後述されるように、アプライアンス処理部21は、コントローラ100からの要求に応じて、セッションテーブルSTBLの内容を示すセッション情報SESをコントローラ100に送信する機能を有する。   The storage unit 23 stores a session table STBL. The session table STBL indicates flow identification information and a processing policy regarding a flow (session) handled by the own appliance 20. The flow identification information includes a source IP address, a source port number, a destination IP address, a destination port number, and the like. The appliance processing unit 21 executes appliance processing corresponding to each flow by referring to the session table STBL. As will be described later, the appliance processing unit 21 has a function of transmitting session information SES indicating the contents of the session table STBL to the controller 100 in response to a request from the controller 100.

負荷監視部25は、自アプライアンス20の処理負荷を監視し、その処理負荷を示す負荷情報LDを作成・更新する。処理負荷としては、CPU使用率やトラヒック量が挙げられる。負荷監視部25は、その負荷情報LDを記憶部23に格納する。また、負荷監視部25は、最新の負荷情報LDを、コントローラ通信部22を介してコントローラ100に送信する。負荷情報LDの送信タイミングや送信間隔は任意に設定され得る。   The load monitoring unit 25 monitors the processing load of the own appliance 20 and creates / updates load information LD indicating the processing load. Examples of the processing load include a CPU usage rate and a traffic amount. The load monitoring unit 25 stores the load information LD in the storage unit 23. Further, the load monitoring unit 25 transmits the latest load information LD to the controller 100 via the controller communication unit 22. The transmission timing and transmission interval of the load information LD can be set arbitrarily.

1−3.物理サーバ200
図5は、本実施の形態に係る物理サーバ200の構成を概略的に示している。物理サーバ200は、コントローラ通信部220、記憶部230、及び負荷監視部250を備えている。コントローラ通信部220は、制御回線を介してコントローラ100に接続されており、コントローラ100との間で通信を行う際のインタフェースとなる。
1-3. Physical server 200
FIG. 5 schematically shows the configuration of the physical server 200 according to the present embodiment. The physical server 200 includes a controller communication unit 220, a storage unit 230, and a load monitoring unit 250. The controller communication unit 220 is connected to the controller 100 via a control line, and serves as an interface when communicating with the controller 100.

負荷監視部250は、自物理サーバ200の処理負荷を監視し、その処理負荷を示す負荷情報LDを作成・更新する。処理負荷としては、CPU使用率やトラヒック量が挙げられる。負荷監視部250は、その負荷情報LDを記憶部230に格納する。また、負荷監視部250は、最新の負荷情報LDを、コントローラ通信部220を介してコントローラ100に送信する。負荷情報LDの送信タイミングや送信間隔は任意に設定され得る。   The load monitoring unit 250 monitors the processing load of the own physical server 200 and creates / updates load information LD indicating the processing load. Examples of the processing load include a CPU usage rate and a traffic amount. The load monitoring unit 250 stores the load information LD in the storage unit 230. In addition, the load monitoring unit 250 transmits the latest load information LD to the controller 100 via the controller communication unit 220. The transmission timing and transmission interval of the load information LD can be set arbitrarily.

1−4.コントローラ100
コントローラ100は、制御回線を介して、各スイッチ10のフローテーブルFTBLの内容を設定する機能を有する。具体的には、コントローラ100は、エントリの設定(追加、変更、削除等)を指示する「エントリ設定データENT」を作成し、そのエントリ設定データENTを対象スイッチ10に送る。エントリ設定データENTを受け取った対象スイッチ10のスイッチ処理部11は、そのエントリ設定データENTに従って、自身のフローテーブルFTBL内のエントリの設定(追加、変更、削除等)を行う。このように、コントローラ100は、フローテーブルFTBLの内容の設定を通してスイッチ10の動作を制御し、それにより、ネットワークトラフィックを適宜制御することができる。
1-4. Controller 100
The controller 100 has a function of setting the contents of the flow table FTBL of each switch 10 via the control line. Specifically, the controller 100 creates “entry setting data ENT” instructing entry setting (addition, change, deletion, etc.), and sends the entry setting data ENT to the target switch 10. The switch processing unit 11 of the target switch 10 that has received the entry setting data ENT sets (adds, changes, deletes, etc.) the entry in its own flow table FTBL in accordance with the entry setting data ENT. As described above, the controller 100 can control the operation of the switch 10 through the setting of the contents of the flow table FTBL, thereby appropriately controlling the network traffic.

このような処理を実現するためのコントローラ100とスイッチ10との間のインタフェース方式としては、例えば、Openflow(http://www.openflowswitch.org/を参照)が挙げられる。この場合、「Openflow Controller」がコントローラ100となり、「Openflow Switch」が各スイッチ10となる。   An example of an interface method between the controller 100 and the switch 10 for realizing such processing is Openflow (see http://www.openflowswitch.org/). In this case, “Openflow Controller” is the controller 100, and “Openflow Switch” is each switch 10.

図6は、本実施の形態に係るコントローラ100の構成を示すブロック図である。コントローラ100は、処理装置101、記憶装置102、及び通信装置103を備えている。処理装置101は、CPU(Central Processing Unit)を含む。記憶装置102は、例えば、RAM(Random Access Memory)やHDD(Hard Disk Drive)を含む。通信装置103は、例えば、外部との通信を行うネットワークカードを含む。   FIG. 6 is a block diagram showing a configuration of the controller 100 according to the present embodiment. The controller 100 includes a processing device 101, a storage device 102, and a communication device 103. The processing device 101 includes a CPU (Central Processing Unit). The storage device 102 includes, for example, a RAM (Random Access Memory) and an HDD (Hard Disk Drive). The communication device 103 includes, for example, a network card that performs communication with the outside.

記憶装置102には、接続情報CON、負荷テーブルLTBL、セッション情報SES、エントリ設定データENT等が格納される。   The storage device 102 stores connection information CON, load table LTBL, session information SES, entry setting data ENT, and the like.

接続情報CONは、ネットワークの接続関係を示す。つまり、接続情報CONは、スイッチ10、アプライアンス20、物理サーバ200といった構成要素間の接続関係(トポロジ)を示す。より詳細には、接続情報CONは、各構成要素の各ポートがどの構成要素のどのポートに接続されているかを示す。各構成要素の識別情報としては、MACアドレスやIPアドレスなどが挙げられる。   The connection information CON indicates the connection relation of the network. That is, the connection information CON indicates a connection relationship (topology) between components such as the switch 10, the appliance 20, and the physical server 200. More specifically, the connection information CON indicates to which port of which component each port of each component is connected. Examples of identification information of each component include a MAC address and an IP address.

負荷テーブルLTBLは、各アプライアンス20に関連する処理負荷を示しており、各アプライアンス20及び各物理サーバ200から集められた上記負荷情報LDに基いて作成される。アプライアンス20が物理アプライアンスの場合、当該アプライアンス20に関連する処理負荷は、当該物理アプライアンスの処理負荷である。アプライアンス20が仮想アプライアンスの場合、当該アプライアンス20に関連する処理負荷は、当該仮想アプライアンスの処理負荷、及び/あるいは、当該仮想アプライアンスが稼働する物理サーバ200の処理負荷である。すなわち、アプライアンス20に関連する処理負荷は、当該アプライアンス20の処理負荷、及び、当該アプライアンス20が稼働する物理サーバの処理負荷のうち少なくとも一方を含む。   The load table LTBL indicates a processing load related to each appliance 20 and is created based on the load information LD collected from each appliance 20 and each physical server 200. When the appliance 20 is a physical appliance, the processing load related to the appliance 20 is the processing load of the physical appliance. When the appliance 20 is a virtual appliance, the processing load related to the appliance 20 is the processing load of the virtual appliance and / or the processing load of the physical server 200 on which the virtual appliance operates. That is, the processing load related to the appliance 20 includes at least one of the processing load of the appliance 20 and the processing load of the physical server on which the appliance 20 operates.

図7は、負荷テーブルLTBLの一例を示している。図7に示されるように、負荷テーブルLTBLは、アプライアンス毎に、最新の処理負荷(例:CPU使用率[%])を示している。更に、負荷テーブルLTBLは、アプライアンス毎に、処理負荷に関する閾値を示している。この閾値は、後述される処理で使用される。尚、処理負荷に関する閾値は別途与えられてもよい。   FIG. 7 shows an example of the load table LTBL. As illustrated in FIG. 7, the load table LTBL indicates the latest processing load (for example, CPU usage rate [%]) for each appliance. Further, the load table LTBL indicates a threshold regarding the processing load for each appliance. This threshold value is used in processing described later. Note that a threshold regarding the processing load may be separately provided.

セッション情報SESは、アプライアンス20が有するセッションテーブルSTBLの内容を示す。このセッション情報SESは、アプライアンス20から取得することができる。詳細は後述される。   The session information SES indicates the contents of the session table STBL that the appliance 20 has. This session information SES can be acquired from the appliance 20. Details will be described later.

エントリ設定データENTは、上述の通り、対象スイッチ10に対してエントリの設定(追加、変更、削除等)を指示する情報である。   As described above, the entry setting data ENT is information for instructing the target switch 10 to set an entry (addition, change, deletion, etc.).

処理装置101は、本実施の形態に係る「ネットワーク制御処理」を行う。より詳細には、図6に示されるように、処理装置101は、情報収集部110、委譲処理部120、及びスイッチ制御部130を備えている。情報収集部110は、制御回線を介して、アプライアンス20及び物理サーバ200と接続され、通信を行う。スイッチ制御部130は、制御回線を介して、スイッチ10と接続され、通信を行う。これら機能ブロック110、120、130による処理は、後に詳述される。   The processing apparatus 101 performs “network control processing” according to the present embodiment. More specifically, as illustrated in FIG. 6, the processing apparatus 101 includes an information collection unit 110, a delegation processing unit 120, and a switch control unit 130. The information collection unit 110 is connected to the appliance 20 and the physical server 200 via a control line to perform communication. The switch control unit 130 is connected to the switch 10 via a control line and performs communication. The processing by these functional blocks 110, 120, and 130 will be described in detail later.

尚、これら機能ブロック110、120、130は、処理装置101が制御プログラムPROGを実行することにより実現される。制御プログラムPROGは、コンピュータ(処理装置101)によって実行されるコンピュータプログラムであり、記憶装置102に格納される。制御プログラムPROGは、コンピュータ読み取り可能な記録媒体に格納されていてもよい。   Note that these functional blocks 110, 120, and 130 are realized by the processing apparatus 101 executing the control program PROG. The control program PROG is a computer program that is executed by a computer (processing device 101), and is stored in the storage device 102. The control program PROG may be stored in a computer readable recording medium.

2.処理フロー
以下、本実施の形態に係るネットワーク制御処理をより詳細に説明する。例として、図8で示される状態を考える。図8において、第1アプライアンス20−1及び第2アプライアンス20−2がスイッチ10に接続されている。フローFLOW1は、現在第1アプライアンス20−1によって処理されている既存フローである。スイッチ10のフローテーブルFTBLは、「フローFLOW1に属するパケットを第1アプライアンス20−1に転送すること」を指定するエントリを含んでいる。スイッチ10は、フローFLOW1に属するパケットを受け取ると、フローテーブルFTBL中のマッチエントリに従って、受信パケットを第1アプライアンス20−1に転送する。第1アプライアンス20−1は、フローFLOW1に属するパケットを受け取り、セッションテーブルSTBLに従って、当該受信パケットに対して所定のパケット処理(ロードバランサとしての処理、ファイヤーウォールとしての処理、等)を実施する。
2. Process Flow Hereinafter, the network control process according to the present embodiment will be described in more detail. As an example, consider the state shown in FIG. In FIG. 8, the first appliance 20-1 and the second appliance 20-2 are connected to the switch 10. The flow FLOW1 is an existing flow that is currently being processed by the first appliance 20-1. The flow table FTBL of the switch 10 includes an entry designating “forwarding a packet belonging to the flow FLOW1 to the first appliance 20-1.” When the switch 10 receives the packet belonging to the flow FLOW1, the switch 10 transfers the received packet to the first appliance 20-1 according to the match entry in the flow table FTBL. The first appliance 20-1 receives a packet belonging to the flow FLOW1, and performs predetermined packet processing (processing as a load balancer, processing as a firewall, etc.) on the received packet according to the session table STBL.

図9は、本実施の形態に係るネットワーク制御処理を示すフローチャートである。   FIG. 9 is a flowchart showing network control processing according to the present embodiment.

ステップS110:
各アプライアンス20の負荷監視部25は、自アプライアンス20の処理負荷を監視し、その処理負荷を示す負荷情報LDを作成・更新する。負荷監視部25は、最新の負荷情報LDをコントローラ100に送信する。また、各物理サーバ200の負荷監視部250は、自物理サーバ200の処理負荷を監視し、その処理負荷を示す負荷情報LDを作成・更新する。負荷監視部250は、最新の負荷情報LDをコントローラ100に送信する。
Step S110:
The load monitoring unit 25 of each appliance 20 monitors the processing load of its own appliance 20, and creates / updates load information LD indicating the processing load. The load monitoring unit 25 transmits the latest load information LD to the controller 100. In addition, the load monitoring unit 250 of each physical server 200 monitors the processing load of the own physical server 200, and creates / updates load information LD indicating the processing load. The load monitoring unit 250 transmits the latest load information LD to the controller 100.

コントローラ100の情報収集部110は、各アプライアンス20及び各物理サーバ200から上述の負荷情報LDを取得する(図10参照)。そして、情報収集部110は、取得した負荷情報LDに基いて、上述の負荷テーブルLTBLを作成・更新する。   The information collection unit 110 of the controller 100 acquires the load information LD described above from each appliance 20 and each physical server 200 (see FIG. 10). Then, the information collection unit 110 creates / updates the load table LTBL described above based on the acquired load information LD.

ステップS120:
続いて、コントローラ100の委譲処理部120は、記憶装置102に格納されている負荷テーブルLTBLを参照し、「委譲処理」の要否を判定する。具体的には、委譲処理部120は、各アプライアンス20に関連する処理負荷を所定の閾値と比較する。処理負荷が閾値以上となったアプライアンス20が存在する場合(ステップS130;Yes)、委譲処理部120は、当該アプライアンス20に関して「委譲処理」が必要と判定する。この場合、処理は次のステップS140に進む。一方、いずれのアプライアンス20の処理負荷も閾値未満であれば(ステップS130;No)、委譲処理部120は、「委譲処理」は不要と判定する。この場合、処理はステップS110に戻る。
Step S120:
Subsequently, the delegation processing unit 120 of the controller 100 refers to the load table LTBL stored in the storage device 102 and determines whether or not “delegation processing” is necessary. Specifically, the delegation processing unit 120 compares the processing load associated with each appliance 20 with a predetermined threshold value. When there is an appliance 20 whose processing load is equal to or greater than the threshold (step S <b>130; Yes), the delegation processing unit 120 determines that “delegation processing” is necessary for the appliance 20. In this case, the process proceeds to the next step S140. On the other hand, if the processing load of any appliance 20 is less than the threshold value (step S130; No), the delegation processing unit 120 determines that the “delegation process” is unnecessary. In this case, the process returns to step S110.

例えば、図7の例に示されるように、第1アプライアンス20−1(Appliance1)に関連する処理負荷が閾値に達したとする。この場合、委譲処理部120は、第1アプライアンス20−1に関して委譲処理(ステップS140)を実行する。   For example, as shown in the example of FIG. 7, it is assumed that the processing load related to the first appliance 20-1 (Appliance 1) has reached a threshold value. In this case, the delegation processing unit 120 performs delegation processing (step S140) on the first appliance 20-1.

ステップS140:
ステップS140において、コントローラ100は、第1アプライアンス20−1に関する「委譲処理」を行う。図11は、その委譲処理を示している。
Step S140:
In step S140, the controller 100 performs a “delegation process” regarding the first appliance 20-1. FIG. 11 shows the delegation process.

ステップS141:
コントローラ100は、委譲元の第1アプライアンス20−1からセッション情報SESを取得する。より詳細には、コントローラ100の情報収集部110は、第1アプライアンス20−1に対して、セッション情報SESの送付を要求する。その要求に応答して、第1アプライアンス20−1のアプライアンス処理部21は、自身のセッションテーブルSTBLの内容を示すセッション情報SESをコントローラ100に送信する。情報収集部110は、第1アプライアンス20−1からセッション情報SESを受け取り、それを記憶装置102に格納する。そのセッション情報SESは、第1アプライアンス20−1が扱っている各フローに関するフロー識別情報を含んでいる。
Step S141:
The controller 100 acquires the session information SES from the first appliance 20-1 that is the delegation source. More specifically, the information collection unit 110 of the controller 100 requests the first appliance 20-1 to send session information SES. In response to the request, appliance processing unit 21 of first appliance 20-1 transmits session information SES indicating the contents of its own session table STBL to controller 100. The information collection unit 110 receives the session information SES from the first appliance 20-1 and stores it in the storage device 102. The session information SES includes flow identification information regarding each flow handled by the first appliance 20-1.

ステップS142:
次に、コントローラ100の委譲処理部120は、第1アプライアンス20−1が処理しているフローのうち少なくとも1つを「選択フロー」として選択する。このとき、委譲処理部120は、第1アプライアンス20−1から取得した上記セッション情報SESに基いて、選択フローを選択することができる。この選択フローは、第1アプライアンス20−1から他のアプライアンスに委譲されるフローである。ここでは、フローFLOW1が選択フローとして選択されたとする。
Step S142:
Next, the delegation processing unit 120 of the controller 100 selects at least one of the flows processed by the first appliance 20-1 as a “selection flow”. At this time, the delegation processing unit 120 can select a selection flow based on the session information SES acquired from the first appliance 20-1. This selection flow is a flow delegated from the first appliance 20-1 to another appliance. Here, it is assumed that the flow FLOW1 is selected as the selection flow.

ステップS143:
また、コントローラ100の委譲処理部120は、委譲先となるアプライアンス20を選択する。この委譲先は、委譲元の第1アプライアンス20−1とは異なるものである。このとき、委譲処理部120は、負荷テーブルLTBLを参照して、処理負荷が閾値未満のアプライアンス20を委譲先として選択してもよい。ここでは、図11に示される第2アプライアンス20−2が委譲先として選択されたとする。
Step S143:
In addition, the delegation processing unit 120 of the controller 100 selects the appliance 20 that is the delegation destination. This delegation destination is different from the delegation source first appliance 20-1. At this time, the delegation processing unit 120 may refer to the load table LTBL and select the appliance 20 whose processing load is less than the threshold as the delegation destination. Here, it is assumed that the second appliance 20-2 shown in FIG. 11 is selected as the delegation destination.

ステップS144:
コントローラ100は、選択フローFLOW1を第1アプライアンス20−1ではなく第2アプライアンス20−2へ流すための処理を行う。そのために、コントローラ100の委譲処理部120は、“転送エントリ”の設定を指示するエントリ設定データENTを作成する。その転送エントリは、「選択フローFLOW1に属するパケットを第2アプライアンス20−2に転送すること」を指定する。選択フローFLOW1に関するフロー識別情報は、セッション情報SESから得られる。第2アプライアンス20−2につながるポート等は、接続情報CONから得られる。従って、委譲処理部120は、セッション情報SES及び接続情報CONを参照することによって、転送エントリの設定を指示するエントリ設定データENTを作成することができる。委譲処理部120は、作成したエントリ設定データENTを記憶装置102に格納する。
Step S144:
The controller 100 performs a process for causing the selected flow FLOW1 to flow to the second appliance 20-2 instead of the first appliance 20-1. For this purpose, the delegation processing unit 120 of the controller 100 creates entry setting data ENT instructing the setting of “transfer entry”. The forwarding entry specifies “forwarding packets belonging to the selected flow FLOW1 to the second appliance 20-2”. The flow identification information regarding the selected flow FLOW1 is obtained from the session information SES. A port or the like connected to the second appliance 20-2 is obtained from the connection information CON. Therefore, the delegation processing unit 120 can create the entry setting data ENT instructing the setting of the transfer entry by referring to the session information SES and the connection information CON. The delegation processing unit 120 stores the created entry setting data ENT in the storage device 102.

ステップS145:
コントローラ100のスイッチ制御部130は、記憶装置102からエントリ設定データENTを読み出し、そのエントリ設定データENTをスイッチ10に送信する。すなわち、スイッチ制御部130は、スイッチ10に対して、上述の“転送エントリ”をフローテーブルFTBLに設定するよう指示する。
Step S145:
The switch control unit 130 of the controller 100 reads the entry setting data ENT from the storage device 102 and transmits the entry setting data ENT to the switch 10. That is, the switch control unit 130 instructs the switch 10 to set the above-described “transfer entry” in the flow table FTBL.

スイッチ10のスイッチ処理部11は、コントローラ100からエントリ設定データENTを受け取る。スイッチ処理部11は、そのエントリ設定データENTに従って、上記“転送エントリ”をフローテーブルFTBLに設定する。その後、スイッチ処理部11は、フローFLOW1に属するパケットを受け取ると、当該転送エントリに従って、当該受信パケットを第2アプライアンス20−2に転送する。つまり、図11に示されるように、元々第1アプライアンス20−1によって処理されていたフローFLOW1は、委譲先の第2アプライアンス20−2に転送されることになる。その結果、第1アプライアンス20−1に関連する処理負荷が軽減される。   The switch processing unit 11 of the switch 10 receives entry setting data ENT from the controller 100. The switch processing unit 11 sets the “transfer entry” in the flow table FTBL in accordance with the entry setting data ENT. Thereafter, when receiving a packet belonging to the flow FLOW1, the switch processing unit 11 transfers the received packet to the second appliance 20-2 according to the transfer entry. That is, as shown in FIG. 11, the flow FLOW1 originally processed by the first appliance 20-1 is transferred to the second appliance 20-2 that is the delegation destination. As a result, the processing load related to the first appliance 20-1 is reduced.

変形例として、セッション情報SESの代わりに、スイッチ10に既に設定されているエントリに基いて、選択フローが選択され、フロー識別情報が取得されてもよい。例えば、コントローラ100の記憶装置102には、過去のエントリ設定データENTが記憶される。コントローラ100は、過去のエントリ設定データENTを参照することによって、選択フローを選択し、選択フローのフロー識別情報を把握することができる。あるいは、コントローラ100からの問い合わせに応答して、スイッチ10が自身のフローテーブルFTBLをコントローラ100に通知してもよい。コントローラ100は、そのフローテーブルFTBLを参照することによって、選択フローを選択し、選択フローのフロー識別情報を把握することができる。   As a modification, instead of the session information SES, the selected flow may be selected and the flow identification information may be acquired based on an entry already set in the switch 10. For example, past entry setting data ENT is stored in the storage device 102 of the controller 100. The controller 100 can select the selected flow by referring to the past entry setting data ENT, and can grasp the flow identification information of the selected flow. Alternatively, the switch 10 may notify the controller 100 of its own flow table FTBL in response to an inquiry from the controller 100. The controller 100 can select the selected flow by referring to the flow table FTBL, and can grasp the flow identification information of the selected flow.

以上に説明されたように、本実施の形態によれば、第1アプライアンス20−1の処理を、“動的”に、他の第2アプライアンス20−2に委譲することが可能である。この時、各アプライアンス20は、非特許文献1、2に記載されているような特別なフォーマットに対応している必要はない。このような委譲処理の結果、第1アプライアンス20−1に関連する処理負荷が軽減される。   As described above, according to the present embodiment, the processing of the first appliance 20-1 can be delegated “dynamically” to another second appliance 20-2. At this time, each appliance 20 does not need to correspond to a special format as described in Non-Patent Documents 1 and 2. As a result of such delegation processing, the processing load related to the first appliance 20-1 is reduced.

3.様々な構成例
図12は、本実施の形態に係る様々な構成例を要約的に示している。委譲元の第1アプライアンス20−1として、仮想アプライアンス及び物理アプライアンスが考えられる。更に、仮想アプライアンスは、ゲストOSと同一の物理サーバ上に構築されたものと、ゲストOSとは異なる物理サーバ上に構築されたものとに分類される。また、委譲先の第2アプライアンス20−2として、仮想アプライアンス(ゲストOSとは異なる物理サーバ上に構築されたもの)及び物理アプライアンスが考えられる。第1アプライアンス20−1と第2アプライアンス20−2との組み合わせにより、様々な形態(形態1〜6)が考えられる。
3. Various Configuration Examples FIG. 12 summarizes various configuration examples according to the present embodiment. As the delegation source first appliance 20-1, a virtual appliance and a physical appliance are conceivable. Furthermore, virtual appliances are classified into those constructed on the same physical server as the guest OS and those constructed on a physical server different from the guest OS. Further, as the second appliance 20-2 to be transferred, a virtual appliance (built on a physical server different from the guest OS) and a physical appliance are conceivable. Various forms (forms 1 to 6) are conceivable depending on the combination of the first appliance 20-1 and the second appliance 20-2.

3−1.第1の構成例
図13は、形態1及び形態2に対応する構成例を示している。つまり、委譲元の第1アプライアンス20−1は、ゲストOSと同一の物理サーバ上に構築された仮想アプライアンスである。
3-1. First Configuration Example FIG. 13 shows a configuration example corresponding to the first and second embodiments. That is, the delegation source first appliance 20-1 is a virtual appliance constructed on the same physical server as the guest OS.

具体的には、仮想化技術によって、物理サーバ200A上に仮想アプライアンス20Aが構築されている。物理サーバ200Aは更に、仮想スイッチ210及び複数のゲストOS240を備えている。仮想アプライアンス20Aは、複数のゲストOS240間のトラヒックや、ゲストOS240以外のホストとの間のトラヒックを処理する。   Specifically, the virtual appliance 20A is constructed on the physical server 200A by virtualization technology. The physical server 200A further includes a virtual switch 210 and a plurality of guest OSs 240. The virtual appliance 20A processes traffic between a plurality of guest OSs 240 and traffic between hosts other than the guest OS 240.

仮想アプライアンス20Aは、自身の処理負荷を示す負荷情報LDをコントローラ100に送信する。また、物理サーバ200Aの負荷監視部250は、物理サーバ200Aの処理負荷を示す負荷情報LDをコントローラ100に送信する。コントローラ100は、それら負荷情報LDに基いて、仮想アプライアンス20Aに関して「委譲処理」が必要であると判定する。つまり、仮想アプライアンス20Aが、委譲元の第1アプライアンス20−1となる。   The virtual appliance 20A transmits load information LD indicating its processing load to the controller 100. The load monitoring unit 250 of the physical server 200A transmits load information LD indicating the processing load of the physical server 200A to the controller 100. The controller 100 determines that “delegation processing” is necessary for the virtual appliance 20A based on the load information LD. That is, the virtual appliance 20A is the first appliance 20-1 that is the delegation source.

例えば、コントローラ100は、物理サーバ200B上の仮想アプライアンス20Bを、委譲先の第2アプライアンス20−2として選択する。この場合は、形態1に相当する。あるいは、コントローラ100は、物理アプライアンス20Cを、委譲先の第2アプライアンス20−2として選択してもよい。この場合は、形態2に相当する。コントローラ100は、スイッチ10及び仮想スイッチ210に対して、エントリ設定を指示する。   For example, the controller 100 selects the virtual appliance 20B on the physical server 200B as the second appliance 20-2 that is the delegation destination. This case corresponds to mode 1. Alternatively, the controller 100 may select the physical appliance 20C as the second appliance 20-2 that is the delegation destination. This case corresponds to mode 2. The controller 100 instructs the switch 10 and the virtual switch 210 to set an entry.

近年の仮想化技術の発展に伴い、ゲストOSを対象とした仮想的なセキュリティアプライアンスにも注目が集まっている。例えば、WAF(Web Application Firewall)機能を有する仮想アプライアンスは、1台の物理サーバ上で複数のゲストOSのトラヒックのアプリケーションレイヤまで監視する。そのような仮想アプライアンスの処理負荷が高くなった場合、より高性能な物理サーバや余裕のある物理サーバに構築された他の仮想アプライアンスへ処理を委譲することができる。   With the recent development of virtualization technology, attention is also focused on virtual security appliances for guest OSs. For example, a virtual appliance having a WAF (Web Application Firewall) function monitors up to an application layer of traffic of a plurality of guest OSes on one physical server. When the processing load of such a virtual appliance increases, the processing can be delegated to a higher-performance physical server or another virtual appliance built on a physical server with room.

3−2.第2の構成例
図14は、形態3及び形態4に対応する構成例を示している。つまり、委譲元の第1アプライアンス20−1は、ゲストOSとは異なる物理サーバ上に構築された仮想アプライアンスである。
3-2. Second Configuration Example FIG. 14 illustrates a configuration example corresponding to the third and fourth embodiments. That is, the delegation source first appliance 20-1 is a virtual appliance constructed on a physical server different from the guest OS.

具体的には、仮想化技術によって、物理サーバ200A上に仮想アプライアンス20Aが構築されている。仮想アプライアンス20Aは、自身の処理負荷を示す負荷情報LDをコントローラ100に送信する。また、物理サーバ200Aの負荷監視部250は、物理サーバ200Aの処理負荷を示す負荷情報LDをコントローラ100に送信する。コントローラ100は、それら負荷情報LDに基いて、仮想アプライアンス20Aに関して「委譲処理」が必要であると判定する。つまり、仮想アプライアンス20Aが、委譲元の第1アプライアンス20−1となる。   Specifically, the virtual appliance 20A is constructed on the physical server 200A by virtualization technology. The virtual appliance 20A transmits load information LD indicating its processing load to the controller 100. The load monitoring unit 250 of the physical server 200A transmits load information LD indicating the processing load of the physical server 200A to the controller 100. The controller 100 determines that “delegation processing” is necessary for the virtual appliance 20A based on the load information LD. That is, the virtual appliance 20A is the first appliance 20-1 that is the delegation source.

例えば、コントローラ100は、物理サーバ200B上の仮想アプライアンス20Bを、委譲先の第2アプライアンス20−2として選択する。この場合は、形態3に相当する。あるいは、コントローラ100は、物理アプライアンス20Cを、委譲先の第2アプライアンス20−2として選択してもよい。この場合は、形態4に相当する。コントローラ100は、スイッチ10に対して、エントリ設定を指示する。   For example, the controller 100 selects the virtual appliance 20B on the physical server 200B as the second appliance 20-2 that is the delegation destination. This case corresponds to mode 3. Alternatively, the controller 100 may select the physical appliance 20C as the second appliance 20-2 that is the delegation destination. This case corresponds to mode 4. The controller 100 instructs the switch 10 to set an entry.

3−3.第3の構成例
図15は、形態5及び形態6に対応する構成例を示している。つまり、委譲元の第1アプライアンス20−1は、物理アプライアンスである。
3-3. Third Configuration Example FIG. 15 illustrates a configuration example corresponding to the fifth and sixth embodiments. That is, the delegation source first appliance 20-1 is a physical appliance.

具体的には、物理アプライアンス20Aの負荷監視部25は、物理アプライアンス20Aの処理負荷を示す負荷情報LDをコントローラ100に送信する。コントローラ100は、その負荷情報LDに基いて、物理アプライアンス20Aに関して「委譲処理」が必要であると判定する。つまり、物理アプライアンス20Aが、委譲元の第1アプライアンス20−1となる。   Specifically, the load monitoring unit 25 of the physical appliance 20A transmits load information LD indicating the processing load of the physical appliance 20A to the controller 100. Based on the load information LD, the controller 100 determines that “delegation processing” is necessary for the physical appliance 20A. That is, the physical appliance 20A becomes the first appliance 20-1 that is the delegation source.

例えば、コントローラ100は、物理サーバ200B上の仮想アプライアンス20Bを、委譲先の第2アプライアンス20−2として選択する。この場合は、形態5に相当する。例えば、上述の形態4が実施された後、元の仮想アプライアンスの処理負荷が下がった場合、物理アプライアンスに委譲された処理を、元の仮想アプライアンスに戻すことができる。   For example, the controller 100 selects the virtual appliance 20B on the physical server 200B as the second appliance 20-2 that is the delegation destination. This case corresponds to mode 5. For example, when the processing load of the original virtual appliance is reduced after the above-described form 4 is implemented, the processing delegated to the physical appliance can be returned to the original virtual appliance.

あるいは、コントローラ100は、物理アプライアンス20Cを、委譲先の第2アプライアンス20−2として選択してもよい。この場合は、形態6に相当する。例えば、より高性能な物理アプライアンスが追加された場合、処理負荷が高くなった物理アプライアンスの処理を、追加された高性能な物理アプライアンスに委譲することができる。   Alternatively, the controller 100 may select the physical appliance 20C as the second appliance 20-2 that is the delegation destination. This case corresponds to mode 6. For example, when a higher-performance physical appliance is added, the processing of the physical appliance having a higher processing load can be delegated to the added higher-performance physical appliance.

以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。   The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the above-described embodiments, and can be appropriately changed by those skilled in the art without departing from the scope of the invention.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
ネットワーク中に配置されたアプライアンス及びスイッチと、
前記アプライアンス及び前記スイッチに接続されたコントローラと
を備え、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記コントローラは、前記アプライアンスに関連する処理負荷を示す負荷情報を取得し、また、前記処理負荷を閾値と比較し、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、前記コントローラは委譲処理を行い、
前記委譲処理において、前記コントローラは、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択し、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択し、
前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定するように、前記スイッチに対して指示する
ネットワークシステム。
(Appendix 1)
Appliances and switches located in the network;
A controller connected to the appliance and the switch;
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The controller obtains load information indicating a processing load associated with the appliance, and compares the processing load with a threshold;
When the processing load related to the first appliance that is one of the appliances is equal to or greater than the threshold, the controller performs delegation processing,
In the delegation process, the controller
Selecting at least one of the flows processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
A network system instructing the switch to set an entry in the flow table for designating transfer of a packet belonging to the selected flow to the second appliance.

(付記2)
付記1に記載のネットワークシステムであって、
前記アプライアンスに関連する処理負荷は、前記アプライアンスの処理負荷、及び、前記アプライアンスが稼働する物理サーバの処理負荷のうち少なくとも一方を含む
ネットワークシステム。
(Appendix 2)
The network system according to attachment 1, wherein
The network system including a processing load related to the appliance includes at least one of a processing load of the appliance and a processing load of a physical server on which the appliance operates.

(付記3)
付記1又は2に記載のネットワークシステムであって、
前記第2アプライアンスに関連する前記処理負荷は、閾値未満である
ネットワークシステム。
(Appendix 3)
The network system according to appendix 1 or 2,
The network system wherein the processing load associated with the second appliance is less than a threshold.

(付記4)
付記1乃至3のいずれか一項に記載のネットワークシステムであって、
前記第1アプライアンスは、自身が処理するフローに関する情報を示すセッションテーブルを有し、
前記コントローラは、前記第1アプライアンスの前記セッションテーブルの内容を示すセッション情報を取得し、前記セッション情報に基いて前記選択フローを選択する
ネットワークシステム。
(Appendix 4)
The network system according to any one of appendices 1 to 3,
The first appliance has a session table indicating information on a flow to be processed by the first appliance,
The controller is configured to acquire session information indicating contents of the session table of the first appliance, and to select the selection flow based on the session information.

(付記5)
付記1乃至3のいずれか一項に記載のネットワークシステムであって、
前記コントローラは、前記スイッチに既に設定されているエントリに基いて、前記選択フローを選択する
ネットワークシステム。
(Appendix 5)
The network system according to any one of appendices 1 to 3,
The network system in which the controller selects the selection flow based on an entry already set in the switch.

(付記6)
ネットワーク中に配置されたアプライアンス及びスイッチに接続されるコントローラであって、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記コントローラは、
前記アプライアンスに関連する処理負荷を示す負荷情報が格納される記憶装置と、
処理装置と
を備え、
前記処理装置は、前記処理負荷を閾値と比較し、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、前記処理装置は委譲処理を行い、
前記委譲処理において、前記処理装置は、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択し、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択し、
前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定するように、前記スイッチに対して指示する
コントローラ。
(Appendix 6)
A controller connected to appliances and switches located in the network,
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The controller is
A storage device for storing load information indicating a processing load related to the appliance;
A processing device and
The processing device compares the processing load with a threshold value,
When the processing load related to the first appliance that is one of the appliances is equal to or greater than the threshold, the processing device performs delegation processing,
In the delegation process, the processing device
Selecting at least one of the flows processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
A controller that instructs the switch to set an entry in the flow table that specifies that a packet belonging to the selected flow is transferred to the second appliance.

(付記7)
アプライアンス及びスイッチが配置されたネットワークの制御方法であって、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記制御方法は、
前記アプライアンスに関連する処理負荷を示す負荷情報を取得することと、
前記処理負荷を閾値と比較することと、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、委譲処理を行うことと
を含み、
前記委譲処理は、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択することと、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択することと、
前記スイッチにおいて、前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定することと
を含む
制御方法。
(Appendix 7)
A method of controlling a network in which appliances and switches are arranged,
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The control method is:
Obtaining load information indicating a processing load associated with the appliance;
Comparing the processing load to a threshold;
Performing a delegation process when the processing load related to a first appliance that is one of the appliances exceeds the threshold value,
The delegation process is
Selecting at least one of the flows being processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
A control method comprising: setting an entry in the switch to specify that a packet belonging to the selected flow is transferred to the second appliance in the flow table.

(付記8)
アプライアンス及びスイッチが配置されたネットワークの制御処理をコンピュータに実行させる制御プログラムであって、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記制御処理は、
前記アプライアンスに関連する処理負荷を示す負荷情報を取得することと、
前記処理負荷を閾値と比較することと、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、委譲処理を行うことと
を含み、
前記委譲処理は、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択することと、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択することと、
前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定するように、前記スイッチに対して指示することと
を含む
制御プログラム。
(Appendix 8)
A control program for causing a computer to execute control processing of a network in which appliances and switches are arranged,
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The control process is
Obtaining load information indicating a processing load associated with the appliance;
Comparing the processing load to a threshold;
Performing a delegation process when the processing load related to a first appliance that is one of the appliances exceeds the threshold value,
The delegation process is
Selecting at least one of the flows being processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
Instructing the switch to set, in the flow table, an entry designating transfer of a packet belonging to the selected flow to the second appliance.

1 ネットワークシステム
10 スイッチ
11 スイッチ処理部
12 コントローラ通信部
13 記憶部
15 ポート
20 アプライアンス
21 アプライアンス処理部
22 コントローラ通信部
23 記憶部
25 負荷監視部
100 コントローラ
101 処理装置
102 記憶装置
103 通信装置
110 情報収集部
120 委譲処理部
130 スイッチ制御部
200 物理サーバ
220 コントローラ通信部
230 記憶部
250 負荷監視部
LD 負荷情報
CON 接続情報
SES セッション情報
ENT エントリ設定データ
FTBL フローテーブル
STBL セッションテーブル
LTBL 負荷テーブル
PROG 制御プログラム
DESCRIPTION OF SYMBOLS 1 Network system 10 Switch 11 Switch process part 12 Controller communication part 13 Memory | storage part 15 Port 20 Appliance 21 Appliance process part 22 Controller communication part 23 Storage part 25 Load monitoring part 100 Controller 101 Processing apparatus 102 Storage apparatus 103 Communication apparatus 110 Information collection part 120 delegation processing unit 130 switch control unit 200 physical server 220 controller communication unit 230 storage unit 250 load monitoring unit LD load information CON connection information SES session information ENT entry setting data FTBL flow table STBL session table LTBL load table PROG control program

Claims (8)

ネットワーク中に配置されたアプライアンス及びスイッチと、
前記アプライアンス及び前記スイッチに接続されたコントローラと
を備え、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記コントローラは、前記アプライアンスに関連する処理負荷を示す負荷情報を取得し、また、前記処理負荷を閾値と比較し、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、前記コントローラは委譲処理を行い、
前記委譲処理において、前記コントローラは、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択し、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択し、
前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定するように、前記スイッチに対して指示する
ネットワークシステム。
Appliances and switches located in the network;
A controller connected to the appliance and the switch;
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The controller obtains load information indicating a processing load associated with the appliance, and compares the processing load with a threshold;
When the processing load related to the first appliance that is one of the appliances is equal to or greater than the threshold, the controller performs delegation processing,
In the delegation process, the controller
Selecting at least one of the flows processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
A network system instructing the switch to set an entry in the flow table for designating transfer of a packet belonging to the selected flow to the second appliance.
請求項1に記載のネットワークシステムであって、
前記アプライアンスに関連する処理負荷は、前記アプライアンスの処理負荷、及び、前記アプライアンスが稼働する物理サーバの処理負荷のうち少なくとも一方を含む
ネットワークシステム。
The network system according to claim 1,
The network system including a processing load related to the appliance includes at least one of a processing load of the appliance and a processing load of a physical server on which the appliance operates.
請求項1又は2に記載のネットワークシステムであって、
前記第2アプライアンスに関連する前記処理負荷は、閾値未満である
ネットワークシステム。
The network system according to claim 1 or 2,
The network system wherein the processing load associated with the second appliance is less than a threshold.
請求項1乃至3のいずれか一項に記載のネットワークシステムであって、
前記第1アプライアンスは、自身が処理するフローに関する情報を示すセッションテーブルを有し、
前記コントローラは、前記第1アプライアンスの前記セッションテーブルの内容を示すセッション情報を取得し、前記セッション情報に基いて前記選択フローを選択する
ネットワークシステム。
The network system according to any one of claims 1 to 3,
The first appliance has a session table indicating information on a flow to be processed by the first appliance,
The controller is configured to acquire session information indicating contents of the session table of the first appliance, and to select the selection flow based on the session information.
請求項1乃至3のいずれか一項に記載のネットワークシステムであって、
前記コントローラは、前記スイッチに既に設定されているエントリに基いて、前記選択フローを選択する
ネットワークシステム。
The network system according to any one of claims 1 to 3,
The network system in which the controller selects the selection flow based on an entry already set in the switch.
ネットワーク中に配置されたアプライアンス及びスイッチに接続されるコントローラであって、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記コントローラは、
前記アプライアンスに関連する処理負荷を示す負荷情報が格納される記憶装置と、
処理装置と
を備え、
前記処理装置は、前記処理負荷を閾値と比較し、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、前記処理装置は委譲処理を行い、
前記委譲処理において、前記処理装置は、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択し、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択し、
前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定するように、前記スイッチに対して指示する
コントローラ。
A controller connected to appliances and switches located in the network,
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The controller is
A storage device for storing load information indicating a processing load related to the appliance;
A processing device and
The processing device compares the processing load with a threshold value,
When the processing load related to the first appliance that is one of the appliances is equal to or greater than the threshold, the processing device performs delegation processing,
In the delegation process, the processing device
Selecting at least one of the flows processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
A controller that instructs the switch to set an entry in the flow table that specifies that a packet belonging to the selected flow is transferred to the second appliance.
アプライアンス及びスイッチが配置されたネットワークの制御方法であって、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記制御方法は、
前記アプライアンスに関連する処理負荷を示す負荷情報を取得することと、
前記処理負荷を閾値と比較することと、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、委譲処理を行うことと
を含み、
前記委譲処理は、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択することと、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択することと、
前記スイッチにおいて、前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定することと
を含む
制御方法。
A method of controlling a network in which appliances and switches are arranged,
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The control method is:
Obtaining load information indicating a processing load associated with the appliance;
Comparing the processing load to a threshold;
Performing a delegation process when the processing load related to a first appliance that is one of the appliances exceeds the threshold value,
The delegation process is
Selecting at least one of the flows being processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
A control method comprising: setting an entry in the switch to specify that a packet belonging to the selected flow is transferred to the second appliance in the flow table.
アプライアンス及びスイッチが配置されたネットワークの制御処理をコンピュータに実行させる制御プログラムであって、
前記スイッチは、フローテーブルを備え、
前記フローテーブルの各エントリは、マッチ条件にマッチするパケットに対して行われるアクションを指定し、
前記スイッチは、パケットを受け取ると前記フローテーブルを参照し、前記受け取ったパケットにマッチするエントリで指定される前記アクションを前記受け取ったパケットに対して行い、
前記制御処理は、
前記アプライアンスに関連する処理負荷を示す負荷情報を取得することと、
前記処理負荷を閾値と比較することと、
前記アプライアンスの1つである第1アプライアンスに関連する前記処理負荷が前記閾値以上になった場合、委譲処理を行うことと
を含み、
前記委譲処理は、
前記第1アプライアンスが処理しているフローのうち少なくとも1つを選択フローとして選択することと、
前記アプライアンスの1つであって前記第1アプライアンスと異なる第2アプライアンスを選択することと、
前記選択フローに属するパケットを前記第2アプライアンスに転送することを指定するエントリを前記フローテーブルに設定するように、前記スイッチに対して指示することと
を含む
制御プログラム。
A control program for causing a computer to execute control processing of a network in which appliances and switches are arranged,
The switch includes a flow table,
Each entry in the flow table specifies an action to be performed on a packet that matches a match condition,
When the switch receives the packet, the switch refers to the flow table, performs the action specified by the entry matching the received packet on the received packet,
The control process is
Obtaining load information indicating a processing load associated with the appliance;
Comparing the processing load to a threshold;
Performing a delegation process when the processing load related to a first appliance that is one of the appliances exceeds the threshold value,
The delegation process is
Selecting at least one of the flows being processed by the first appliance as a selected flow;
Selecting a second appliance that is one of the appliances and different from the first appliance;
Instructing the switch to set, in the flow table, an entry designating transfer of a packet belonging to the selected flow to the second appliance.
JP2010022727A 2010-02-04 2010-02-04 Network system, controller, and network control method Pending JP2011159247A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010022727A JP2011159247A (en) 2010-02-04 2010-02-04 Network system, controller, and network control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010022727A JP2011159247A (en) 2010-02-04 2010-02-04 Network system, controller, and network control method

Publications (1)

Publication Number Publication Date
JP2011159247A true JP2011159247A (en) 2011-08-18

Family

ID=44591115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010022727A Pending JP2011159247A (en) 2010-02-04 2010-02-04 Network system, controller, and network control method

Country Status (1)

Country Link
JP (1) JP2011159247A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013183440A (en) * 2012-03-05 2013-09-12 Ntt Docomo Inc Communication control device, communication control system, virtual server management device, switch device and communication control method
JP2014007438A (en) * 2012-06-21 2014-01-16 Ntt Comware Corp Node management device, node management method and program
JPWO2013161172A1 (en) * 2012-04-27 2015-12-21 日本電気株式会社 COMMUNICATION SYSTEM, ROUTE CONTROL METHOD, AND ROUTE CONTROL DEVICE
JP2016071860A (en) * 2014-09-25 2016-05-09 インテル・コーポレーション Technologies for bridging between coarse-grained and fine-grained load balancing
JP2016528797A (en) * 2013-07-26 2016-09-15 ゼットティーイー (ユーエスエー) インコーポレイテッド Method and system for an adaptive software-defined networking controller
US9590925B2 (en) 2013-10-18 2017-03-07 Fujitsu Limited Packet processing apparatus, packet processing method, and non-transitory computer-readable storage medium
US20180302371A1 (en) * 2015-10-28 2018-10-18 New H3C Technologies Co., Ltd Firewall cluster

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216282A (en) * 2000-02-04 2001-08-10 Nec Corp Server, client, client-server system, load distribution method, and recording medium
JP2004350078A (en) * 2003-05-23 2004-12-09 Fujitsu Ltd Line distribution transmission system
JP2009237935A (en) * 2008-03-27 2009-10-15 Nec Corp Load balancer, load balancing method and program
JP2009259206A (en) * 2008-03-27 2009-11-05 Nippon Telegraph & Telephone West Corp Access distribution system, server device, common management device, access distribution device, access distribution method, and computer program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216282A (en) * 2000-02-04 2001-08-10 Nec Corp Server, client, client-server system, load distribution method, and recording medium
JP2004350078A (en) * 2003-05-23 2004-12-09 Fujitsu Ltd Line distribution transmission system
JP2009237935A (en) * 2008-03-27 2009-10-15 Nec Corp Load balancer, load balancing method and program
JP2009259206A (en) * 2008-03-27 2009-11-05 Nippon Telegraph & Telephone West Corp Access distribution system, server device, common management device, access distribution device, access distribution method, and computer program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200900608001; 上野 洋史: 'データセンターネットワークにおけるネットワークアプライアンス機能配備の一検討' 電子情報通信学会技術研究報告 Vol.109 No.296, 20091113, p.7-12, 社団法人電子情報通信学会 *
JPN6013058091; 上野 洋史: 'データセンターネットワークにおけるネットワークアプライアンス機能配備の一検討' 電子情報通信学会技術研究報告 Vol.109 No.296, 20091113, p.7-12, 社団法人電子情報通信学会 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013183440A (en) * 2012-03-05 2013-09-12 Ntt Docomo Inc Communication control device, communication control system, virtual server management device, switch device and communication control method
JPWO2013161172A1 (en) * 2012-04-27 2015-12-21 日本電気株式会社 COMMUNICATION SYSTEM, ROUTE CONTROL METHOD, AND ROUTE CONTROL DEVICE
JP2014007438A (en) * 2012-06-21 2014-01-16 Ntt Comware Corp Node management device, node management method and program
JP2016528797A (en) * 2013-07-26 2016-09-15 ゼットティーイー (ユーエスエー) インコーポレイテッド Method and system for an adaptive software-defined networking controller
US9590925B2 (en) 2013-10-18 2017-03-07 Fujitsu Limited Packet processing apparatus, packet processing method, and non-transitory computer-readable storage medium
JP2016071860A (en) * 2014-09-25 2016-05-09 インテル・コーポレーション Technologies for bridging between coarse-grained and fine-grained load balancing
US20180302371A1 (en) * 2015-10-28 2018-10-18 New H3C Technologies Co., Ltd Firewall cluster
JP2018536345A (en) * 2015-10-28 2018-12-06 ニュー エイチ3シー テクノロジーズ カンパニー,リミティド Firewall cluster
US10715490B2 (en) * 2015-10-28 2020-07-14 New H3C Technologies Co., Ltd Firewall cluster

Similar Documents

Publication Publication Date Title
JP5648926B2 (en) Network system, controller, and network control method
JP5637148B2 (en) Switch network system, controller, and control method
JP5673557B2 (en) Network system, controller, and network control method
RU2562438C2 (en) Network system and network management method
JP5645139B2 (en) Network system, controller, and network control method
JP5717057B2 (en) Network system, controller, switch, and traffic monitoring method
JP5880560B2 (en) Communication system, forwarding node, received packet processing method and program
WO2011074516A1 (en) Network system, method for controlling same, and controller
US20160065479A1 (en) Distributed input/output architecture for network functions virtualization
US20120257529A1 (en) Computer system and method of monitoring computer system
US20120170477A1 (en) Computer, communication system, network connection switching method, and program
JP2011159247A (en) Network system, controller, and network control method
JP2011160041A (en) Front end system and front end processing method
JP2014505379A (en) Communication control system, control server, transfer node, communication control method, and communication control program
JP2011170718A (en) Computer system, controller, service provision server, and load distribution method
JP5861772B2 (en) Network appliance redundancy system, control device, network appliance redundancy method and program
JP5725236B2 (en) Communication system, node, packet transfer method and program
JP5720340B2 (en) Control server, communication system, control method and program
JP5870995B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMPUTER, NODE CONTROL METHOD AND PROGRAM
JP6718739B2 (en) Communication device and communication method
WO2014119602A1 (en) Control apparatus, switch, communication system, switch control method and program
EP3224997A1 (en) Communication path switching apparatus, method for controlling communication path switching apparatus, and computer program product
CN105765903A (en) Topology discovery method and device
WO2015145976A1 (en) Communication system, control instruction device, control implementation device, communication control method, and storage medium with program stored thereon
JP7000863B2 (en) Malware inspection support program, malware inspection support method and communication device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140702