JP2011166384A - Computer system and communication method - Google Patents

Computer system and communication method Download PDF

Info

Publication number
JP2011166384A
JP2011166384A JP2010025884A JP2010025884A JP2011166384A JP 2011166384 A JP2011166384 A JP 2011166384A JP 2010025884 A JP2010025884 A JP 2010025884A JP 2010025884 A JP2010025884 A JP 2010025884A JP 2011166384 A JP2011166384 A JP 2011166384A
Authority
JP
Japan
Prior art keywords
flow entry
priority
flow
switch
communication path
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.)
Granted
Application number
JP2010025884A
Other languages
Japanese (ja)
Other versions
JP5488980B2 (en
Inventor
Tatsuhiko Sorai
達彦 空井
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 JP2010025884A priority Critical patent/JP5488980B2/en
Publication of JP2011166384A publication Critical patent/JP2011166384A/en
Application granted granted Critical
Publication of JP5488980B2 publication Critical patent/JP5488980B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve fault resistance of a computer system using open flow technique. <P>SOLUTION: The computer system includes: a plurality of controllers 1 each of which calculates communication routes and indicates the setting of flow entry with a priority 147 added thereto to a switch on the communication route; and the switches 2 each determining whether the setting of the flow entry is permitted or not in accordance with the priority 147, and performing a relay operation corresponding to the flow entry set in itself with respect to a reception packet meeting the flow entry set in itself. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、コンピュータシステム、及び通信方法に関し、特に、オープンフロー(プログラマブルフロー)技術を利用したコンピュータシステムの冗長化技術、及び通信方法に関する。   The present invention relates to a computer system and a communication method, and more particularly to a computer system redundancy technology and a communication method using open flow (programmable flow) technology.

従来、パケットの送信元から送信先への経路の決定とパケット転送処理は、経路上の複数のスイッチが行っていた。近年、データセンターといった大規模ネットワークにおいては、故障による機器の停止や規模拡大のための機器の新規追加により、ネットワーク構成の変化が常に発生している。このため、ネットワークの構成の変化に即応し適切な経路を決定するという柔軟性が必要となってきた。しかし、スイッチにおける経路決定処理のプログラムは、外部から変更することができないため、ネットワーク全体を一元的に制御及び管理することはできなかった。   Conventionally, the determination of the route from the packet source to the destination and the packet transfer processing have been performed by a plurality of switches on the route. In recent years, in a large-scale network such as a data center, a change in the network configuration has always occurred due to a stop of a device due to a failure or a new addition of a device for expanding the scale. For this reason, it has become necessary to have the flexibility to determine an appropriate route in response to changes in the network configuration. However, since the route determination processing program in the switch cannot be changed from the outside, the entire network cannot be controlled and managed centrally.

一方、コンピュータネットワークにおいて、各スイッチの転送動作等を外部のコントローラによって一元的に制御する技術(オープンフロー)が、OpenFlow Consortiumによって提案されている(非特許文献1参照)。この技術に対応したネットワークスイッチ(以下、プログラマブルフロースイッチ(PFS)と称す)は、プロトコル種別やポート番号等の詳細な情報をフローテーブルに保持し、フローの制御と統計情報の採取を行うことができる。   On the other hand, in the computer network, a technique (open flow) for centrally controlling the transfer operation of each switch by an external controller has been proposed by the OpenFlow Consortium (see Non-Patent Document 1). A network switch (hereinafter referred to as a programmable flow switch (PFS)) that supports this technology holds detailed information such as protocol type and port number in a flow table, and can control the flow and collect statistical information. it can.

図1を参照して、オープンフローを利用したコンピュータシステムの構成及び動作を説明する。図1を参照して、本発明の関連技術によるコンピュータシステムは、プログラマブルフローコントローラ100(以下、PFC100と称す)、複数のプログラマブルスイッチ102−1〜102−n(以下、PFS102−1〜102−nと称す)を有するスイッチ群200、複数のホストコンピュータ103−1〜103−i(以下、ホスト103−1〜103−iと称す)を有するホスト群300を具備する。ただし、n、iは2以上の自然数である。以下、PFS102−1〜102−nを区別せずに総称する場合はPFS102と称し、ホスト103−1〜103−iを区別せずに総称する場合はホスト103と称して説明する。   The configuration and operation of a computer system using OpenFlow will be described with reference to FIG. Referring to FIG. 1, a computer system according to a related technique of the present invention includes a programmable flow controller 100 (hereinafter referred to as PFC 100), a plurality of programmable switches 102-1 to 102-n (hereinafter referred to as PFSs 102-1 to 102-n). And a host group 300 having a plurality of host computers 103-1 to 103-i (hereinafter referred to as hosts 103-1 to 103-i). However, n and i are natural numbers of 2 or more. Hereinafter, the PFSs 102-1 to 102-n will be collectively referred to as PFS102, and the hosts 103-1 to 103-i may be collectively referred to as the host 103.

PFC100は、ホスト103間の通信経路の設定や、経路上におけるPFS102に対する転送動作(中継動作)等の設定を行う。この際、PFC100は、PFS102が保持するフローテーブルに、フロー(パケットデータ)を特定するルールと、当該フローに対する動作を規定するアクションとを対応付けたフローエントリを設定する。通信経路上のPFS102は、PFC100によって設定されたフローエントリに従って受信パケットデータの転送先を決定し、転送処理を行う。これにより、ホスト103は、PFC100によって設定された通信経路を利用して他のホスト103との間でパケットデータの送受信が可能となる。すなわち、オープンフローを利用したコンピュータシステムでは、通信経路を設定するPFC100と、転送処理を行うPFS102とを分離され、システム全体の通信を一元的に制御及び管理することが可能となる。   The PFC 100 sets a communication path between the hosts 103 and a transfer operation (relay operation) for the PFS 102 on the path. At this time, the PFC 100 sets a flow entry in which a rule for specifying a flow (packet data) and an action for defining an operation for the flow are associated with each other in a flow table held by the PFS 102. The PFS 102 on the communication path determines the transfer destination of the received packet data according to the flow entry set by the PFC 100, and performs transfer processing. As a result, the host 103 can transmit and receive packet data to and from other hosts 103 using the communication path set by the PFC 100. That is, in a computer system using OpenFlow, the PFC 100 that sets a communication path and the PFS 102 that performs transfer processing are separated, and communication of the entire system can be controlled and managed centrally.

図1を参照して、ホスト103−1からホスト103−iへパケット送信を行う場合、PFS102−1はホスト103−1から受け取ったパケット内にある送信先情報(ヘッダ情報)を参照し、PFS102−1内部で保持しているフローテーブルから当該ヘッダ情報に適合するエントリを探す。フローテーブルに設定されるエントリの内容については、例えば非特許文献1で規定されている。   Referring to FIG. 1, when packet transmission is performed from the host 103-1 to the host 103-i, the PFS 102-1 refers to transmission destination information (header information) in the packet received from the host 103-1, and the PFS 102 -1 An entry that matches the header information is searched from the flow table held inside. The contents of entries set in the flow table are defined in Non-Patent Document 1, for example.

PFS102−1は、受信パケットデータについてのエントリがフローテーブルに記載されていない場合、当該パケットデータ(以下、ファーストパケットと称す)、又はファーストパケットのヘッダ情報をPFC101に転送する。PFS102−1からファーストパケットを受け取ったPFC101はパケット内に含まれている送信元ホストや送信先ホストという情報を元に経路400を決定する。   When the entry for the received packet data is not described in the flow table, the PFS 102-1 transfers the packet data (hereinafter referred to as the first packet) or the header information of the first packet to the PFC 101. The PFC 101 that has received the first packet from the PFS 102-1 determines the path 400 based on information such as a transmission source host and a transmission destination host included in the packet.

PFC101は、経路400上の全てのPFS102に対して、パケットの転送先を規定するフローエントリの設定を指示する(フローテーブル更新指示を発行)。経路400上のPFS102は、フローテーブル更新指示に応じて、自身で管理しているフローテーブルを更新する。この後PFS102は、更新したフローテーブルに従い、パケットの転送を開始することで、PFC101が決定した経路400を経由して、宛先のホスト103−iへパケットが到達するようになる。   The PFC 101 instructs all PFSs 102 on the path 400 to set a flow entry that defines a packet transfer destination (issues a flow table update instruction). The PFS 102 on the path 400 updates the flow table managed by itself in response to the flow table update instruction. Thereafter, the PFS 102 starts forwarding the packet according to the updated flow table, so that the packet reaches the destination host 103-i via the path 400 determined by the PFC 101.

一方、スイッチによって転送経路が設定されるシステムにおいて、多重化された経路から、優先度に従って適切な経路を選択利用する技術が、例えば、特開2006−333135(特許文献1参照)、特開2000−324154(特許文献2参照)、及び特開平4−215349(特許文献3参照)に記載されている。   On the other hand, in a system in which a transfer route is set by a switch, a technique for selecting and using an appropriate route according to priority from multiplexed routes is disclosed in, for example, Japanese Patent Application Laid-Open No. 2006-333135 (see Patent Document 1) and Japanese Patent Application Laid-Open No. 2000. -324154 (see Patent Document 2) and JP-A-4-215349 (see Patent Document 3).

特開2006−333135JP 2006-333135 A 特開2000−324154JP 2000-324154 A 特開平4−215349JP-A-4-215349

OpenFlow Switch Specification Version 0.9.0 (Wire Protocol 0x98) July 20, 2009OpenFlow Switch Specification Version 0.9.0 (Wire Protocol 0x98) July 20, 2009

PFC100で何らかの障害が発生した場合、PFC100は、経路上のPFS102に対するフローテーブルの更新を指示できない。この場合、ファーストパケットを受信したPFS102は自ら設定したタイムアウト時間までPFC101からのフローテーブルの更新指示を待ち続けてしまい、その間ホスト103間のパケット通信を行うことができない。又、PFC100が障害から復旧しない限り、ファーストパケットに対応する転送制御を行うことができない。   When any failure occurs in the PFC 100, the PFC 100 cannot instruct the PFS 102 on the route to update the flow table. In this case, the PFS 102 that has received the first packet continues to wait for a flow table update instruction from the PFC 101 until the timeout time set by itself, and cannot perform packet communication between the hosts 103 during that time. Further, unless the PFC 100 is recovered from a failure, transfer control corresponding to the first packet cannot be performed.

このため、耐障害性の観点からPFC100を複数用意することが考えられるが、複数のPFCを利用した通信経路の構築(各PFSに対するフローテーブルの更新)の方法は、未だ確立されていない。このため、オープンフロー技術を利用したコンピュータシステムでは、PFCに発生した障害に対する耐性が低いという問題がある。   For this reason, it is conceivable to prepare a plurality of PFCs 100 from the viewpoint of fault tolerance. However, a method of constructing a communication path using a plurality of PFCs (updating a flow table for each PFS) has not been established yet. For this reason, there is a problem that a computer system using the open flow technology has low resistance to a failure occurring in the PFC.

従って、本発明による目的は、オープンフロー技術を利用したコンピュータシステムの耐障害性を向上させることにある。   Accordingly, an object of the present invention is to improve the fault tolerance of a computer system using open flow technology.

又、本発明による他の目的は、プログラマブルフローコントローラに障害が発生した場合でも、ファーストパケットに応じた通信経路の構築とパケットデータの転送処理を早期に実行することにある。   Another object of the present invention is to perform early construction of a communication path according to a first packet and transfer processing of packet data even when a failure occurs in the programmable flow controller.

上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、[特許請求の範囲]の記載と[発明を実施するための形態]の記載との対応関係を明らかにするために、[発明を実施するための形態]で使用される番号・符号が付加されている。ただし、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。   In order to solve the above problems, the present invention employs the means described below. In the description of technical matters constituting the means, in order to clarify the correspondence between the description of [Claims] and the description of [Mode for Carrying Out the Invention] The number / symbol used in [Form] is added. However, the added numbers and symbols should not be used to limit the technical scope of the invention described in [Claims].

本発明によるコンピュータシステムは、それぞれが、通信経路を算出し通信経路上のスイッチ(2)に対して、優先度(147)を付加したフローエントリの設定を指示する複数のコントローラ(1)と、優先度(147)に応じてフローエントリの設定許否を判定し、自身に設定されたフローエントリに適合する受信パケットに対し、自身設定されたフローエントリに従った中継動作を行うスイッチ(2)とを具備する。   A computer system according to the present invention includes a plurality of controllers (1) each of which calculates a communication path and instructs a switch (2) on the communication path to set a flow entry with priority (147) added thereto, A switch (2) that determines whether or not to permit setting of a flow entry in accordance with the priority (147), and performs a relay operation according to the flow entry that is set for the received packet that matches the flow entry that is set for itself It comprises.

又、本発明による通信方法は、複数のコントローラ(1)のそれぞれが、通信経路を算出し、通信経路上のスイッチ(2)に対して、優先度(147)を付加したフローエントリの設定を指示するステップと、スイッチ(2)が、優先度(147)に応じてフローエントリの設定許否を判定するステップと、スイッチ(2)が、自身に設定されたフローエントリに適合する受信パケットに対し、自身に設定されたフローエントリに従った中継動作を行うステップとを具備する。   In the communication method according to the present invention, each of the plurality of controllers (1) calculates a communication path, and sets a flow entry with priority (147) added to the switch (2) on the communication path. A step of instructing, a step in which the switch (2) determines whether or not to permit setting of the flow entry according to the priority (147), and a step in which the switch (2) matches the flow entry set in itself. And performing a relay operation according to the flow entry set in itself.

本発明によれば、オープンフロー技術を利用したコンピュータシステムの耐障害性を向上させることができる。   According to the present invention, it is possible to improve fault tolerance of a computer system using the open flow technology.

又、プログラマブルフローコントローラに障害が発生した場合でも、ファーストパケットに応じた通信経路の構築とパケットデータの転送処理を早期に実行することができる。   Even when a failure occurs in the programmable flow controller, the construction of the communication path according to the first packet and the packet data transfer process can be executed at an early stage.

図1は、従来技術によるコンピュータシステムの構成の一例を示す図である。FIG. 1 is a diagram showing an example of the configuration of a computer system according to the prior art. 図2は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。FIG. 2 is a diagram showing a configuration in the embodiment of the computer system according to the present invention. 図3は、本発明によるプログラマブルフローコントローラの実施の形態における構成を示す図である。FIG. 3 is a diagram showing a configuration in an embodiment of a programmable flow controller according to the present invention. 図4は、本発明によるプログラマブルフローコントローラが保持するフローテーブルの一例を示す図である。FIG. 4 is a diagram showing an example of a flow table held by the programmable flow controller according to the present invention. 図5は、本発明によるプログラマブルフローコントローラが保持するトポロジ情報の一例を示す図である。FIG. 5 is a diagram showing an example of topology information held by the programmable flow controller according to the present invention. 図6は、本発明によるプログラマブルフローコントローラが保持する通信経路情報の一例を示す図である。FIG. 6 is a diagram showing an example of communication path information held by the programmable flow controller according to the present invention. 図7は、本発明によるプログラマブルフロースイッチの実施の形態における構成を示す図である。FIG. 7 is a diagram showing a configuration of the programmable flow switch according to the embodiment of the present invention. 図8は、本発明によるプログラマブルフロースイッチが保持するフローテーブルの一例を示す図である。FIG. 8 is a diagram showing an example of a flow table held by the programmable flow switch according to the present invention. 図9は、本発明に係るプログラマブルフロー制御を説明するための図である。FIG. 9 is a diagram for explaining programmable flow control according to the present invention. 図10は、本発明によるコンピュータシステムの実施の形態における通信経路の構築処理(フローテーブル更新処理)及びパケット転送処理の動作を示すシーケンス図である。FIG. 10 is a sequence diagram showing operations of communication path construction processing (flow table update processing) and packet transfer processing in the embodiment of the computer system according to the present invention. 図11は、本発明によるプログラマブルフロースイッチにおけるフローエントリ設定処理(フローテーブル更新処理)の動作を示すフロー図である。FIG. 11 is a flowchart showing the operation of the flow entry setting process (flow table update process) in the programmable flow switch according to the present invention. 図12(a)、(b)は、本発明によるプログラマブルフロースイッチにおいて更新されたフローテーブルの一例を示す図である。FIGS. 12A and 12B are diagrams showing an example of the flow table updated in the programmable flow switch according to the present invention. 図13は、本発明による複数のプログラマブルフローコントローラによって算出された通信経路の一例を示す図である。FIG. 13 is a diagram illustrating an example of communication paths calculated by a plurality of programmable flow controllers according to the present invention. 図14Aは、複数のプログラマブルフローコントローラに障害が発生した場合の、通信経路の構築処理及びパケット転送処理の一例を示す図である。FIG. 14A is a diagram illustrating an example of a communication path construction process and a packet transfer process when a failure occurs in a plurality of programmable flow controllers. 図14Bは、複数のプログラマブルフローコントローラに障害が発生した場合の、通信経路の構築処理及びパケット転送処理の一例を示す図である。FIG. 14B is a diagram illustrating an example of communication path construction processing and packet transfer processing when a failure occurs in a plurality of programmable flow controllers. 図15Aは、複数のプログラマブルフローコントローラに障害が発生した場合の、通信経路の構築処理及びパケット転送処理の他の一例を示す図である。FIG. 15A is a diagram illustrating another example of a communication path construction process and a packet transfer process when a failure occurs in a plurality of programmable flow controllers. 図15Bは、複数のプログラマブルフローコントローラに障害が発生した場合の、通信経路の構築処理及びパケット転送処理の他の一例を示す図である。FIG. 15B is a diagram illustrating another example of the communication path construction process and the packet transfer process when a failure occurs in a plurality of programmable flow controllers. 図16は、本発明によるプログラマブルフローコントローラの障害復旧後の通信経路の構築処理の動作を示すフロー図である。FIG. 16 is a flowchart showing the operation of the communication path construction processing after the failure recovery of the programmable flow controller according to the present invention.

以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。   Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the drawings, the same or similar reference numerals indicate the same, similar, or equivalent components.

(コンピュータシステムの構成)
図2を参照して、本発明によるコンピュータシステムの構成を説明する。図2は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。本発明によるコンピュータシステムは、オープンフローを利用して通信経路の構築及びパケットデータの転送制御を行う。図2を参照して、本発明によるコンピュータシステムは、プログラマブルフローコントローラ1−1〜1−m(以下、PFC1−1〜1−mと称す)、複数のプログラマブルスイッチ2−1〜2−n(以下、PFS2−1〜2−nと称す)を有するスイッチ群20、複数のホストコンピュータ3−1〜3−i(以下、ホスト3−1〜3−iと称す)を有するホスト群30を具備する。ただし、m、n、iは2以上の自然数である。又、PFC1−1〜1−mを区別せずに総称する場合はPFC1と称し、PFS2−1〜2−nを区別せずに総称する場合はPFS2と称し、ホスト3−1〜3−iを区別せずに総称する場合はホスト3と称して説明する。
(Computer system configuration)
The configuration of the computer system according to the present invention will be described with reference to FIG. FIG. 2 is a diagram showing a configuration in the embodiment of the computer system according to the present invention. The computer system according to the present invention performs communication path construction and packet data transfer control using OpenFlow. Referring to FIG. 2, the computer system according to the present invention includes a programmable flow controller 1-1 to 1-m (hereinafter referred to as PFC 1-1 to 1-m), a plurality of programmable switches 2-1 to 2-n ( Hereinafter, a switch group 20 having PFS 2-1 to 2-n) and a host group 30 having a plurality of host computers 3-1 to 3-i (hereinafter referred to as hosts 3-1 to 3-i) are provided. To do. However, m, n, and i are natural numbers of 2 or more. When the PFCs 1-1 to 1-m are collectively referred to without distinction, they are referred to as PFC1, and when the PFSs 2-1 to 2-n are collectively referred to without distinction, they are referred to as PFS2, and the hosts 3-1 to 3-i Are collectively referred to as “host 3”.

ホスト3は、図示しないCPU、主記憶装置、及び外部記憶装置を備えるコンピュータ装置であり、外部記憶装置に格納されたプログラムを実行することで、他のホスト3との間で通信を行う。ホスト3間の通信は、スイッチ群20を介して行われる。ホスト3は、実行するプログラムに応じて、Webサーバ、ファイルサーバ、アプリケーションサーバ、あるいはクライアント端末等に例示される機能を実現する。例えば、ホスト3がWebサーバとして機能する場合、他のホスト3(例示:クライアント端末)の要求に従い、記憶装置(図示なし)内のHTML文書や画像データを他のホスト3(例示:クライアント端末)に転送する。   The host 3 is a computer device including a CPU, a main storage device, and an external storage device (not shown), and communicates with other hosts 3 by executing a program stored in the external storage device. Communication between the hosts 3 is performed via the switch group 20. The host 3 realizes a function exemplified in a Web server, a file server, an application server, a client terminal, or the like according to a program to be executed. For example, when the host 3 functions as a Web server, an HTML document or image data in a storage device (not shown) is transferred to another host 3 (example: client terminal) in accordance with a request from the other host 3 (example: client terminal). Forward to.

PFC1は、オープンフロー技術により、システム内におけるパケット転送に係る通信経路パケット転送処理を制御するスイッチ制御部11を備える。オープンフロー技術とは、コントローラ(ここではPFC1)が、ルーティングポリシー(フローエントリ:フロー+アクション)に従い、マルチレイヤ及びフロー単位の経路情報をPFS2に設定し、経路制御やノード制御を行う技術を示す(詳細は、非特許文献1を参照)。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるPFS2は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、END2ENDのフローとして通信を取り扱う。   The PFC 1 includes a switch control unit 11 that controls communication path packet transfer processing related to packet transfer in the system using the open flow technology. Open flow technology refers to a technology in which a controller (here PFC1) performs path control and node control by setting multi-layer and per-flow path information in PFS2 in accordance with a routing policy (flow entry: flow + action). (For details, see Non-Patent Document 1.) As a result, the route control function is separated from the routers and switches, and optimal routing and traffic management are possible through centralized control by the controller. PFS2 to which the open flow technology is applied handles communication as a flow of END2END, not as a unit of packet or frame like a conventional router or switch.

PFC1は、PFS2が保持するフローテーブル23にフローエントリ(ルール+アクション)を設定することで当該スイッチやノードの動作(例えばパケットデータの中継動作)を制御する。本発明によるPFC1は、設定経路(設定コントローラ)の優先度を加えたフローエントリを、経路上のPFS2に設定する。   The PFC 1 controls the operation of the switch and the node (for example, packet data relay operation) by setting a flow entry (rule + action) in the flow table 23 held by the PFS 2. The PFC 1 according to the present invention sets the flow entry to which the priority of the setting route (setting controller) is added to the PFS 2 on the route.

図3を参照して、PFC1の構成の詳細を説明する。図3は、本発明によるPFC1の構成を示す図である。PFC1は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。PFC1では、図示しないCPUが記憶装置に格納されたプログラムを実行することで、図3に示すスイッチ制御部11、フロー管理部12、フロー生成部13の各機能が実現される。又、PFC1は、それぞれが図示しない記憶装置に格納されたフローテーブル14、トポロジ情報15、通信経路情報16を備える。   Details of the configuration of the PFC 1 will be described with reference to FIG. FIG. 3 is a diagram showing a configuration of the PFC 1 according to the present invention. The PFC 1 is preferably realized by a computer including a CPU and a storage device. In the PFC 1, each function of the switch control unit 11, the flow management unit 12, and the flow generation unit 13 illustrated in FIG. 3 is realized by a CPU (not shown) executing a program stored in a storage device. The PFC 1 includes a flow table 14, topology information 15, and communication path information 16 that are stored in a storage device (not shown).

スイッチ制御部11は、フローテーブル14に従ってPFS2毎にフローエントリ(ルール+アクション)の設定又は削除を行う。この際、スイッチ制御部11は、フローエントリ(ルール+アクション情報)に優先度を対応付けてPFS2のフローテーブル23に設定する。又、PFS2に対するフローテーブルの更新(フローエントリの設定又は削除)は、フローの宛先装置側から送信元装置に対して順に行われる。PFS2は、設定されたフローエントリを参照し、受信パケットのヘッダ情報に応じたルールに対応するアクション(例えばパケットデータの中継や破棄)を実行する。ルール、アクション、及び優先度の詳細は後述する。   The switch control unit 11 sets or deletes a flow entry (rule + action) for each PFS 2 according to the flow table 14. At this time, the switch control unit 11 associates the priority with the flow entry (rule + action information) and sets it in the flow table 23 of the PFS2. In addition, the update of the flow table for the PFS 2 (flow entry setting or deletion) is performed in order from the destination device side of the flow to the transmission source device. The PFS 2 refers to the set flow entry and executes an action (for example, relay or discard of packet data) corresponding to the rule according to the header information of the received packet. Details of the rules, actions, and priorities will be described later.

図4は、PFC1が保持するフローテーブル14の構成の一例を示す図である。図4を参照して、フローテーブル14には、フローエントリを特定するためのフロー識別子141、当該フローエントリの設定対象(PFS2)を識別する識別子(対象装置142)、経路情報143、ルール144、アクション情報145、設定情報146、優先度147が対応付けられて設定される。フローテーブル14には、PFC1の制御対象となる全てのPFS2に対して生成されたフローエントリ(ルール144+アクション情報145)が設定される。又、フローテーブル14には、フロー毎のQoSや暗号化に関する情報など、通信の扱い方が定義されても構わない。   FIG. 4 is a diagram illustrating an example of the configuration of the flow table 14 held by the PFC 1. Referring to FIG. 4, the flow table 14 includes a flow identifier 141 for specifying a flow entry, an identifier (target device 142) for identifying a setting target (PFS2) of the flow entry, path information 143, a rule 144, Action information 145, setting information 146, and priority 147 are set in association with each other. In the flow table 14, flow entries (rule 144 + action information 145) generated for all the PFSs 2 to be controlled by the PFC 1 are set. The flow table 14 may define how to handle communication, such as QoS and encryption information for each flow.

ルール144には、例えば、TCP/IPのパケットデータにおけるヘッダ情報に含まれる、OSI(Open Systems Interconnection)参照モデルのレイヤ1からレイヤ4のアドレスや識別子の組み合わせが規定される。例えば、図9に示すレイヤ1の物理ポート、レイヤ2のMACアドレス、レイヤ3のIPアドレス、レイヤ4のポート番号、VLANタグ(VLAN id)のそれぞれの組み合わせがルール144として設定される。尚、VLANタグには、優先順位(VLAN Priority)が付与されていても良い。   The rule 144 defines, for example, combinations of addresses and identifiers of layers 1 to 4 of the OSI (Open Systems Interconnection) reference model included in header information in TCP / IP packet data. For example, each combination of a layer 1 physical port, a layer 2 MAC address, a layer 3 IP address, a layer 4 port number, and a VLAN tag (VLAN id) shown in FIG. The VLAN tag may be given a priority (VLAN Priority).

ここで、ルール144に設定されるポート番号等の識別子やアドレス等は、所定の範囲で設定されても構わない。又、宛先や送信元のアドレス等を区別してルール144として設定されルことが好ましい。例えば、MAC宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がルール144として設定される。更に、データ転送プロトコルを特定する識別子をルール144として設定してもよい。   Here, identifiers such as port numbers and addresses set in the rule 144 may be set within a predetermined range. In addition, it is preferable that the destination 144 and the address of the transmission source are distinguished and set as the rule 144. For example, the range of the MAC destination address, the range of the destination port number that identifies the connection destination application, and the range of the transmission source port number that identifies the connection source application are set as the rule 144. Furthermore, an identifier for specifying the data transfer protocol may be set as the rule 144.

アクション情報145には、例えばTCP/IPのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先が設定される。又、アクション情報145には、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。   The action information 145 defines a method for processing TCP / IP packet data, for example. For example, information indicating whether or not the received packet data is to be relayed and the transmission destination in the case of relaying are set. The action information 145 may be set with information instructing to copy or discard the packet data.

経路情報143は、フローエントリ(ルール144+アクション情報145)を適用する経路を特定する情報である。これは、後述する通信経路情報16に対応付けられた識別子である。   The route information 143 is information for specifying a route to which the flow entry (rule 144 + action information 145) is applied. This is an identifier associated with communication path information 16 described later.

設定情報146は、フローエントリ(ルール144+アクション情報145)が現在、通信経路上のPFS2に設定されているか否かを示す情報(「設定済み」又は「未設定」)を含む。設定情報146は、対象装置142や経路情報143に対応付けられているため、通信経路にフローエントリが設定されているか否かを確認できるとともに、通信経路上のPFS2毎にフローエントリが設定されているか否かを確認することができる。   The setting information 146 includes information (“set” or “not set”) indicating whether or not the flow entry (rule 144 + action information 145) is currently set in the PFS2 on the communication path. Since the setting information 146 is associated with the target device 142 and the route information 143, it can be confirmed whether or not a flow entry is set for the communication route, and a flow entry is set for each PFS2 on the communication route. It can be confirmed whether or not.

本発明によるフローテーブル14には、フローエントリ毎に対応付けられた優先度147が設定される。優先度147は、予めユーザによって設定されても良いし、ファーストパケットを受信したPFS2によって指定(設定)されても良い。又、優先度147は、PFC1毎に決められた値が固定的に設定されても良いし、状況に応じて変更されても良い。例えば、PFS2は、ファーストパケットの受信の都度、PFC1−1〜1−mのそれぞれに指定する優先度147を変更してもよい。あるいは、PFC1−1〜1−mに対し、優先度147として1からmが設定される場合(“m”が最も低い優先度)、障害発生回数が多いPFC1に対して低い値“m”の優先度147を設定し、障害の発生率が低くなった場合、設定する優先度147を上位に上げる。ただし、状況に応じて優先度147を変更する場合、全てのPFC1−1〜1−mを監視し、ユーザによって優先度147が設定可能な統合装置をシステム内に設けることが好ましい。   A priority 147 associated with each flow entry is set in the flow table 14 according to the present invention. The priority 147 may be set in advance by the user, or may be designated (set) by the PFS 2 that has received the first packet. Further, the priority 147 may be fixedly set to a value determined for each PFC 1 or may be changed according to the situation. For example, the PFS 2 may change the priority 147 specified for each of the PFCs 1-1 to 1-m each time the first packet is received. Alternatively, when 1 to m is set as the priority 147 for the PFCs 1-1 to 1-m (“m” is the lowest priority), a low value “m” is set for the PFC 1 having a large number of failure occurrences. When the priority 147 is set and the failure occurrence rate becomes low, the priority 147 to be set is raised to the upper level. However, when changing the priority 147 according to the situation, it is preferable to provide an integrated device in the system that monitors all the PFCs 1-1 to 1-m and can set the priority 147 by the user.

又、ファーストパケットを受信したPFS2がPFC1に優先度147を設定する場合、当該PFS2は、自身を主として管理するPFC1(メインコントローラ)に高い優先度147を付与し、予備として自身を管理するPFC1(サブコントローラ)に低い優先度を設定することが好ましい。例えば、サブコントローラとして、他のスイッチ群を主に管理するOFC1が選択される。   Further, when the PFS 2 that has received the first packet sets the priority 147 for the PFC 1, the PFS 2 gives a high priority 147 to the PFC 1 (main controller) that mainly manages itself, and the PFC 1 that manages itself as a spare ( It is preferable to set a low priority for the sub-controller. For example, the OFC 1 that mainly manages other switch groups is selected as the sub-controller.

フロー管理部12は、フロー生成部13によって生成されたフロー(ルール144+アクション情報145)にフロー識別子141をつけて記憶装置に記録する。この際、フローエントリを適用する通信経路の識別子(経路情報143)やフローエントリを適用するPFS2の識別子(対象装置142)、及び優先度147が、フローエントリ(ルール144+アクション情報145)に付されて記録される。ここで、優先度147が、ファーストパケットとともにPFS2から通知された場合、フロー管理部12は、この優先度147を、フロー生成部13によって生成されたフローエントリに対応付けてフローテーブル14に設定する。   The flow management unit 12 attaches the flow identifier 141 to the flow (rule 144 + action information 145) generated by the flow generation unit 13 and records it in the storage device. At this time, the identifier of the communication route to which the flow entry is applied (route information 143), the identifier of the PFS2 to which the flow entry is applied (target device 142), and the priority 147 are attached to the flow entry (rule 144 + action information 145). Recorded. When the priority 147 is notified from the PFS 2 together with the first packet, the flow management unit 12 sets the priority 147 in the flow table 14 in association with the flow entry generated by the flow generation unit 13. .

又、フロー管理部12は、フローテーブル14を参照して、ファーストパケットのヘッダ情報に対応するフローエントリ(ルール144+アクション情報145)及び、これに対応付けられた優先度147を抽出し、スイッチ制御部11に通知する。スイッチ制御部11は、通知されたフローエントリ(ルール144+アクション情報145)及び優先度147を、当該フローエントリに対応付けられた対象装置142(PFS2)に設定する。   Also, the flow management unit 12 refers to the flow table 14 and extracts the flow entry (rule 144 + action information 145) corresponding to the header information of the first packet and the priority 147 associated therewith, and performs switch control. Notification to the unit 11. The switch control unit 11 sets the notified flow entry (rule 144 + action information 145) and priority 147 in the target device 142 (PFS2) associated with the flow entry.

フロー生成部13は、PFS2から通知されたファーストパケットのヘッダ情報から通信経路を算出し、当該通信経路上のPFS2に設定するフローエントリ(ルール144+アクション情報145)を生成する。詳細には、フロー生成部13は、ファーストパケットのヘッダ情報から、送信元のホスト3と宛先のホスト3を特定し、トポロジ情報15を用いて通信経路を算出し、算出結果を通信経路情報16として記憶装置に記録する。ここでは、通信経路の端点となるホスト3と、通信経路上のPFS2及びそれぞれの接続関係が通信経路情報16として設定される。又、フロー生成部13は、通信経路情報16に基づいて通信経路上のPFS2に設定するフローエントリ(ルール144+アクション情報145)を設定する。   The flow generation unit 13 calculates a communication path from the header information of the first packet notified from the PFS 2, and generates a flow entry (rule 144 + action information 145) to be set in the PFS 2 on the communication path. Specifically, the flow generation unit 13 specifies the transmission source host 3 and the destination host 3 from the header information of the first packet, calculates the communication path using the topology information 15, and calculates the calculation result as the communication path information 16. To the storage device. Here, the host 3 serving as the end point of the communication path, the PFS 2 on the communication path, and the connection relationship between them are set as the communication path information 16. Further, the flow generation unit 13 sets a flow entry (rule 144 + action information 145) to be set in the PFS 2 on the communication path based on the communication path information 16.

図5は、本発明によるPFC1が保持するトポロジ情報15の一例を示す図である。トポロジ情報15は、PFS2やホスト3等の接続状況に関する情報を含む。具体的には、トポロジ情報15として、PFS2やホスト3を特定する装置識別子151に、当該装置のポート数152やポート接続先情報153が対応付けられて記憶装置に記録される。ポート接続先情報153は、接続相手を特定する接続種別(スイッチ/ノード/外部ネットワーク)や接続先を特定する情報(PFS2の場合はスイッチID、ホストの場合はMACアドレス、外部ネットワーク(例示:インターネット)の場合は外部ネットワークID)が含まれる。   FIG. 5 is a diagram showing an example of the topology information 15 held by the PFC 1 according to the present invention. The topology information 15 includes information related to the connection status of the PFS 2, the host 3, and the like. Specifically, as the topology information 15, the device identifier 151 that identifies the PFS 2 or the host 3 is associated with the port number 152 or the port connection destination information 153 of the device and recorded in the storage device. The port connection destination information 153 includes a connection type (switch / node / external network) that identifies a connection partner, information that identifies a connection destination (switch ID in the case of PFS2, MAC address in the case of a host, external network (example: Internet) ) Includes an external network ID).

図6は、本発明によるPFC1が保持する通信経路情報の一例を示す図である。通信経路情報16は、通信経路を特定するための情報である。詳細には、通信経路情報16として、ホスト3や外部ネットワークインタフェース(図示なし)を端点として指定する端点情報161と、通過するPFS2とポートの対群を指定する通過スイッチ情報162と、付随情報163とが対応付けられて記憶装置に記録される。例えば、通信経路がホスト3間を接続する経路である場合、各ホスト3のMACアドレスが端点情報161として記録される。通過スイッチ情報162は、端点情報161で示される端点間の通信経路上に設けられるPFS2の識別子を含む。又、通過スイッチ情報162は、当該PFS2に設定されるフローエントリ(ルール144+アクション情報145)と当該PFS2とを対応づけるための情報を含んでも良い。付随情報163は、端点が変更された後の経路上のPFS2(通過スイッチ)に関する情報を含む。   FIG. 6 is a diagram showing an example of communication path information held by the PFC 1 according to the present invention. The communication path information 16 is information for specifying a communication path. Specifically, as the communication path information 16, end point information 161 that designates the host 3 or an external network interface (not shown) as an end point, passing switch information 162 that designates a pair group of PFS 2 and a port to pass, and accompanying information 163. Are associated and recorded in the storage device. For example, when the communication path is a path connecting the hosts 3, the MAC address of each host 3 is recorded as the end point information 161. The passing switch information 162 includes an identifier of the PFS 2 provided on the communication path between the end points indicated by the end point information 161. The passing switch information 162 may include information for associating the flow entry (rule 144 + action information 145) set in the PFS2 with the PFS2. The accompanying information 163 includes information related to PFS2 (passage switch) on the route after the end point is changed.

以上のような構成により、本発明によるPFC1は、PFS2からのファーストパケットの受信通知に応じて、当該パケットを転送させるためのフローエントリを生成するとともに、生成したフローエントリと、PFS2から通知された優先度147(又は予め設定された優先度147)を、算出した通信経路上のPFS2に設定する。   With the configuration as described above, the PFC 1 according to the present invention generates a flow entry for transferring the packet in response to the reception notification of the first packet from the PFS 2, and is notified from the generated flow entry and the PFS 2. The priority 147 (or preset priority 147) is set to the calculated PFS2 on the communication path.

図7は、本発明によるプログラマブルフロースイッチの実施の形態における構成を示す図である。PFS2は、PFC1によって設定(更新)されたフローテーブル23に従って受信パケットの処理方法(アクション)を決定する。PFS2は、転送処理部21とフロー設定部22を備える。転送処理部21とフロー設定部22は、ハードウェアで構成されても、CPUによって実行されるソフトウェアで実現してもどちらでも良い。   FIG. 7 is a diagram showing a configuration of the programmable flow switch according to the embodiment of the present invention. The PFS 2 determines a received packet processing method (action) according to the flow table 23 set (updated) by the PFC 1. The PFS 2 includes a transfer processing unit 21 and a flow setting unit 22. The transfer processing unit 21 and the flow setting unit 22 may be configured by hardware or may be realized by software executed by the CPU.

PFS2の記憶装置には、図8に示すようなフローテーブル23が設定される。フロー設定部22は、PFC1から取得したフローエントリ(ルール144+アクション情報145)及び優先度147をフローテーブル23に設定する。詳細には、フロー設定部22は、受信パケットのヘッダ情報が、フローテーブル23に記録されたルール144に適合(又は一致)しない場合、当該パケットデータをファーストパケットとして判定し、ファーストパケットを受信したことをPFC1−1〜1−mに通知する。この際、フロー設定部22は、PFC1毎に異なる優先度24をファーストパケット(又はそのヘッダ情報)に付与し、PFC1−1〜1−mのそれぞれに送信する。例えば、フロー設定部22は、PFC1−1には優先度24“1”を付与したファーストパケットを送信し、PFC1−mには“1”より低い優先度24“m”を付与したファーストパケットを送信する。この場合、PFS2は、予め記憶装置に設定された優先度24を保持することが好ましい。   A flow table 23 as shown in FIG. 8 is set in the storage device of the PFS2. The flow setting unit 22 sets the flow entry (rule 144 + action information 145) and priority 147 acquired from the PFC 1 in the flow table 23. Specifically, when the header information of the received packet does not match (or matches) the rule 144 recorded in the flow table 23, the flow setting unit 22 determines that the packet data is a first packet and receives the first packet. This is notified to PFC 1-1 to 1-m. At this time, the flow setting unit 22 assigns a priority 24 different for each PFC 1 to the first packet (or its header information), and transmits it to each of the PFCs 1-1 to 1-m. For example, the flow setting unit 22 transmits the first packet with the priority 24 “1” to the PFC 1-1 and the first packet with the priority 24 “m” lower than “1” to the PFC1-m. Send. In this case, it is preferable that the PFS 2 holds the priority 24 set in advance in the storage device.

そして、フロー設定部22は、ファーストパケットの通知に応じてPFC1−1〜1−mのそれぞれから送信されるフローエントリ(ルール144+アクション情報145)及び優先度147を、フローテーブル23に設定する。ここで、送信される優先度147は、PFC1毎に設定(又はPFS2によって付与)された優先度である。PFC1から送信されたルール144と同じフローエントリがフローテーブル23に存在する場合、フロー設定部22は、PFC1から送信された優先度147と、フローテーブル23に設定されている優先度147とを比較し、高い優先度のフローエントリをフローテーブル23に設定する。すなわち、フロー設定部22は、PFC1からのフロー設定指示に対し、送信された優先度147とフローテーブル23に設定された優先度147とによって、フローエントリの設定許否を判定する。ここで、PFC1からのフローエントリの優先度が高い場合、当該フローエントリによってフローテーブル23は上書きされる。一方、フローテーブル23内のフローエントリの優先度が高い場合、PFC1からのフローエントリの設定は拒否され、当該フローエントリは破棄される。   Then, the flow setting unit 22 sets the flow entry (rule 144 + action information 145) and priority 147 transmitted from each of the PFCs 1-1 to 1-m in response to the notification of the first packet in the flow table 23. Here, the transmitted priority 147 is a priority set (or assigned by PFS2) for each PFC1. When the same flow entry as the rule 144 transmitted from the PFC 1 exists in the flow table 23, the flow setting unit 22 compares the priority 147 transmitted from the PFC 1 with the priority 147 set in the flow table 23. Then, a flow entry with a high priority is set in the flow table 23. That is, the flow setting unit 22 determines whether or not the flow entry setting is permitted based on the transmitted priority 147 and the priority 147 set in the flow table 23 in response to the flow setting instruction from the PFC 1. Here, when the priority of the flow entry from the PFC 1 is high, the flow table 23 is overwritten by the flow entry. On the other hand, when the priority of the flow entry in the flow table 23 is high, the setting of the flow entry from the PFC 1 is rejected and the flow entry is discarded.

このように、優先度の高いフローエントリを優先して上書き設定するため、PFS2−1〜2−nのそれぞれには、ファーストパケットに適合するフローエントリが1つだけ設定されることとなる。   In this way, since a flow entry with a high priority is preferentially overwritten and set, only one flow entry that matches the first packet is set in each of the PFSs 2-1 to 2-n.

受信パケットのヘッダ情報が、フローテーブル23に記録されたルール144に適合(一致)する場合、当該パケットデータは、転送処理部21によって、他のPFS2又はホスト3に転送される。詳細には、転送処理部21は、パケットデータのヘッダ情報に適合(又は一致)するルール144に対応するアクション情報145を特定する。転送処理部21は、当該アクション情報145で指定された転送先のノード(PFS2又はホスト3)に当該パケットデータを転送する。   When the header information of the received packet matches (matches) the rule 144 recorded in the flow table 23, the packet data is transferred to another PFS 2 or the host 3 by the transfer processing unit 21. Specifically, the transfer processing unit 21 specifies action information 145 corresponding to the rule 144 that matches (or matches) the header information of the packet data. The transfer processing unit 21 transfers the packet data to the transfer destination node (PFS 2 or host 3) designated by the action information 145.

具体的には、ルール144:MAC送信元アドレス(L2)が“A1〜A3”、IP宛先アドレス(L3)が“B1〜B3”、プロトコルが“http”、宛先ポート番号(L4)が“C1〜C3”と、アクション情報145:“PFS2−2に中継”とが対応付けられているフローエントリが設定されたPFS2−1の動作を説明する。MAC送信元アドレス(L2)が“A1”、IP宛先アドレス(L3)が“B2”、プロトコルが“http”、宛先ポート番号(L4)が“C3”であるパケットデータを受信した場合、PFS2−1は、ヘッダ情報が当該ルール144に一致していると判断し、受信したパケットデータをPFS2−2に転送する。一方、MAC送信元アドレス(L2)が“A5”、IP宛先アドレス(L3)が“B2”、プロトコルが“http”、宛先ポート番号(L4)が“C4”であるパケットデータを受信した場合、PFS2−1は、ヘッダ情報が当該ルール144に一致しないと判断し、ファーストパケット受信の旨をPFC1−1〜1−mに通知するとともに当該ヘッダ情報及び優先度24を各PFC1に送信する。   Specifically, Rule 144: MAC source address (L2) is “A1 to A3”, IP destination address (L3) is “B1 to B3”, protocol is “http”, and destination port number (L4) is “C1”. ˜C3 ”and action information 145: The operation of the PFS 2-1 in which the flow entry in which“ Relay to PFS 2-2 ”is associated will be described. When packet data having a MAC source address (L2) of “A1”, an IP destination address (L3) of “B2”, a protocol of “http”, and a destination port number (L4) of “C3” is received, PFS2- 1 determines that the header information matches the rule 144 and transfers the received packet data to the PFS 2-2. On the other hand, when packet data having a MAC source address (L2) of “A5”, an IP destination address (L3) of “B2”, a protocol of “http”, and a destination port number (L4) of “C4” is received, The PFS 2-1 determines that the header information does not match the rule 144, notifies the PFC 1-1 to 1-m that the first packet has been received, and transmits the header information and the priority 24 to each PFC 1.

転送処理部21によるファーストパケットの転送処理は、フローテーブル23にフローエントリが設定されたことをトリガとして実施されることが好ましい。例えば、ファーストパケットの転送を優先度147が“3”のフローエントリに従って行われた後、優先度147が“1”のフローエントリに書き換えられた場合、次の受信パケットは、書換え後のフローエントリに従った転送先ノードに転送される。   It is preferable that the transfer processing of the first packet by the transfer processing unit 21 is performed with a flow entry set in the flow table 23 as a trigger. For example, when the transfer of the first packet is performed according to the flow entry with the priority 147 of “3” and then rewritten to the flow entry with the priority 147 of “1”, the next received packet is the flow entry after the rewrite. To the destination node according to

以上のように、本発明によるコンピュータシステムでは、複数のPFC3−1〜3−iによってフロー(パケット)を転送するための通信経路が構築されるため、PFC3−1〜3−iのいずれかに障害が発生してもパケット転送が可能となる。又、PFC3毎に異なる優先度が付与され、優先度の高いフローエントリによってPFS2のフローテーブルは上書き更新される。これにより、PFS2には、同じルール144に対応するアクション情報145が複数設定されることなく、フローに対して常に1つのフローエントリが設定されることとなる。すなわち、複数のPFC3によってフローエントリが設定されてもPFS2に設定されるフローエントリは常に1つとなるため、PFS2は、誤動作せずにパケットを転送することができる。   As described above, in the computer system according to the present invention, a communication path for transferring a flow (packet) is constructed by a plurality of PFCs 3-1 to 3-i. Packet transfer is possible even if a failure occurs. Different priorities are assigned to each PFC 3, and the flow table of the PFS 2 is overwritten and updated by a flow entry having a higher priority. As a result, a plurality of action information 145 corresponding to the same rule 144 is not set in the PFS2, and one flow entry is always set for the flow. That is, even if a flow entry is set by a plurality of PFCs 3, there is always one flow entry set in PFS2, so that PFS2 can transfer a packet without malfunction.

本発明では、フローテーブルの更新が、宛先ホスト側のPFS2から送信元ホスト側のPFS2(ファーストパケットを受信したPFS2)に向かって順に行われる。このため、PFS2のフローテーブル23が優先度の高いフローエントリによって上書きされたとしても、構築された通信経路は、必ず送信元ホストと宛先ホストとを結ぶ経路となる。   In the present invention, the flow table is updated in order from the PFS 2 on the destination host side toward the PFS 2 on the transmission source host side (PFS 2 that received the first packet). For this reason, even if the flow table 23 of the PFS 2 is overwritten by a flow entry having a high priority, the established communication path is always a path connecting the transmission source host and the destination host.

(通信経路の構築及びパケット転送動作)
図10から図12を参照して、本発明によるコンピュータシステムにおける通信経路の構築動作の詳細を説明する。以下では、ホスト3−1からホスト3−iに対してパケットデータを送信し、それぞれの間の通信経路を構築する動作について説明する。又、ここでは、PFS2−1がホスト3−1からファーストパケットを受信するものとする。
(Construction of communication path and packet transfer operation)
With reference to FIG. 10 to FIG. 12, the details of the communication path construction operation in the computer system according to the present invention will be described. Hereinafter, an operation of transmitting packet data from the host 3-1 to the host 3-i and establishing a communication path between them will be described. Here, it is assumed that the PFS 2-1 receives the first packet from the host 3-1.

図10は、本発明によるコンピュータシステムの実施の形態における通信経路の構築処理(フローテーブル更新処理)及びパケット転送処理の動作を示すシーケンス図である。図10を参照して、ホスト3−1からホスト3−i宛のパケットデータが送信され、ホスト3−1側で最も近いPFS2−1によって受信される(ステップS101)。   FIG. 10 is a sequence diagram showing operations of communication path construction processing (flow table update processing) and packet transfer processing in the embodiment of the computer system according to the present invention. Referring to FIG. 10, packet data addressed to host 3-i is transmitted from host 3-1, and is received by the nearest PFS 2-1 on host 3-1 side (step S101).

PFS2−1はホスト3−1から受け取ったパケット内にあるヘッダ情報(送信先情報)を参照し、PFS2−1内部で保持しているフローテーブル23から該当エントリを探す(ステップS102)。ここで、ヘッダ情報に対応するフローエントリがある場合、当該エントリで規定されたアクション情報145に基づいた転送先のノードに受信パケットを転送する(ステップS102No、S115)。一方、ヘッダ情報に対応するフローエントリがフローテーブル23にない場合、PFS2−1はファーストパケットを受信したと判定し、ファーストパケットの受信をPFC1−1〜1−mのそれぞれに通知する(ステップS102Yes、S103、S104)。この際、PFS2−1は、ファーストパケット(又はヘッダ情報)及び優先度24を対応付けてPFC1−1〜1−mに送信する。ここでは、一例として、PFS2−1は、PFC1−1に優先度24“1”を、PFC1−2に優先度24“2”を、・・・PFC1−mに優先度24「m」を通知する。ただし、mが1〜mで最も大きな値であり、値の小さな優先度24を高優先とする。   The PFS 2-1 refers to the header information (transmission destination information) in the packet received from the host 3-1, and searches for the corresponding entry from the flow table 23 held in the PFS 2-1 (step S102). If there is a flow entry corresponding to the header information, the received packet is transferred to the transfer destination node based on the action information 145 defined by the entry (steps S102 No, S115). On the other hand, when there is no flow entry corresponding to the header information in the flow table 23, the PFS 2-1 determines that the first packet has been received, and notifies each of the PFCs 1-1 to 1-m that the first packet has been received (step S102 Yes). , S103, S104). At this time, the PFS 2-1 associates the first packet (or header information) and the priority 24 and transmits them to the PFCs 1-1 to 1-m. Here, as an example, the PFS 2-1 notifies the PFC 1-1 of the priority 24 “1”, the PFC 1-2 of the priority 24 “2”,..., The PFC 1-m of the priority 24 “m”. To do. However, m is the largest value from 1 to m, and the priority 24 having a small value is set as the high priority.

ファーストパケットの受信通知を受け付けたPFC1−1〜1−mのそれぞれは、当該フロー(パケット)に対する通信経路の算出、フローエントリの生成、及びPFS2に対するフローエントリの設定(フローテーブル23の更新)を行う(ステップS105〜S114)。詳細には、PFS2−1からファーストパケットと優先度24を受け取ったPFC1−1は、パケット内に含まれている送信元ホストや宛先ホストのMACアドレスやIPアドレスなど、OpenFlowとして規定されている情報を元に経路を決定し、当該経路上のPFS2に設定するフローエントリを生成する(ステップS105)。   Each of the PFCs 1-1 to 1-m that has received the reception notification of the first packet performs calculation of the communication path for the flow (packet), generation of the flow entry, and setting of the flow entry for the PFS2 (update of the flow table 23). It performs (steps S105-S114). Specifically, the PFC 1-1 that has received the first packet and the priority 24 from the PFS 2-1 has information defined as OpenFlow such as the MAC address and IP address of the transmission source host and the destination host included in the packet. A route is determined based on the above, and a flow entry to be set in the PFS 2 on the route is generated (step S105).

PFC1−1は、生成したフローエントリにPFS2−1から通知された優先度24“1”を付与して、宛先ホスト側のPFS2−nから順にフローテーブル23の更新を行う(ステップS106〜S109)。詳細には、PFC1−1は、先ず、宛先のホスト3−iに最も近いPFS2−nに対して優先度24“1”を付与したフローエントリを送信する(ステップS106)。PFS2−nは、PFC1−1からのフローテーブルの更新指示に応じて、送信されたフローエントリを設定する(ステップS107)。同様に、PFC1−1は、算出した経路上を送信元側に方向に遡り、1つ前のPFS2に対して順にフローテーブルを更新し、最後に送信元のホスト3−1に最も近いPFS2−1フローテーブルを更新する(ステップS108、S109)。   The PFC 1-1 gives the priority 24 “1” notified from the PFS 2-1 to the generated flow entry, and updates the flow table 23 in order from the PFS 2-n on the destination host side (steps S106 to S109). . Specifically, the PFC 1-1 first transmits a flow entry with a priority 24 “1” to the PFS 2-n closest to the destination host 3-i (step S106). The PFS 2-n sets the transmitted flow entry in response to the flow table update instruction from the PFC 1-1 (step S107). Similarly, the PFC 1-1 goes back in the direction toward the transmission source on the calculated route, updates the flow table sequentially with respect to the previous PFS 2, and finally the PFS 2- closest to the transmission source host 3-1. One flow table is updated (steps S108 and S109).

フローエントリの更新処理は、他のPFC1−2〜1−mも同様に行う。例えば、PFC1−mは、生成したフローエントリにPFS2−1から通知された優先度24“m”を付与して、宛先ホスト側のPFS2−nから順にフローテーブル23の更新を行う(ステップS110〜S112)。又、PFC1−mは、算出した経路上を送信元側に方向に遡り、1つ前のPFS2に対して順にフローテーブルを更新し、最後に送信元のホスト3−1に最も近いPFS2−1フローテーブルを更新する(ステップS113、S114)。   The flow entry update process is similarly performed for the other PFCs 1-2 to 1-m. For example, the PFC 1-m gives the priority 24 “m” notified from the PFS 2-1 to the generated flow entry, and updates the flow table 23 in order from the PFS 2-n on the destination host side (steps S110 to S110). S112). The PFC 1-m goes back on the calculated route toward the transmission source side, updates the flow table sequentially with respect to the previous PFS 2, and finally the PFS 2-1 closest to the transmission source host 3-1. The flow table is updated (steps S113 and S114).

PFC1−1〜1−mによるPFS2に対するフローテーブルの更新処理は、それぞれ同期することなく独立的に実施される。ファーストパケットの受信通知を受け取るタイミングや経路計算開始時のタイミングの違いから、ネットワーク上の機器の状態が変化している可能性があり、必ずしも一致しているとは限らない。このため、PFC1−1〜1−mのそれぞれが算出した通信経路や、フローエントリの設定対象となるPFS2は異なる場合がある。又、フローテーブル23を更新処理も、PFC2毎に設定された優先度147に関係ないタイミングで実施される。   The process of updating the flow table for the PFS 2 by the PFC 1-1 to 1-m is performed independently without being synchronized. The status of the devices on the network may have changed due to the difference in the timing of receiving the first packet reception notification and the timing at the start of route calculation, and they do not always match. For this reason, the communication path calculated by each of the PFCs 1-1 to 1-m and the PFS 2 that is the setting target of the flow entry may be different. The process of updating the flow table 23 is also performed at a timing unrelated to the priority 147 set for each PFC2.

しかし、PFS2は、優先度24の高いフローエントリを優先してフローテーブルに上書きするため、複数のPFC1が同期することなくフローテーブルを更新しても、ルール144に対応するアクション情報145を1つとすることができる。   However, since the PFS2 preferentially overwrites the flow table with a higher priority 24, even if a plurality of PFC1 updates the flow table without synchronization, one action information 145 corresponding to the rule 144 is obtained. can do.

図11は、本発明によるプログラマブルフロースイッチにおけるフローエントリ設定処理(フローテーブル更新処理)の動作を示すフロー図である。図11を参照して、PFS2において実行されるフローエントリの設定処理(ステップS107、S109、S112、S114)の動作の詳細を説明する。   FIG. 11 is a flowchart showing the operation of the flow entry setting process (flow table update process) in the programmable flow switch according to the present invention. The details of the operation of the flow entry setting process (steps S107, S109, S112, S114) executed in PFS2 will be described with reference to FIG.

PFS2は、PFC1から送信されたフローエントリのルール144に一致するフローエントリがフローテーブル23に設定されているかを判定する(ステップS201)。ここで、フローテーブル23に該当エントリがない場合、PFC1から受け取ったフローエントリをフローテーブル23に設定する(ステップS201No、ステップS202)。この際、図12(a)に示すように、PFC1から送信されたフローエントリ(ルール144+アクション情報145)及び優先度147が対応付けられてフローテーブル23に設定される。   The PFS 2 determines whether or not a flow entry that matches the rule 144 of the flow entry transmitted from the PFC 1 is set in the flow table 23 (step S201). If there is no corresponding entry in the flow table 23, the flow entry received from the PFC 1 is set in the flow table 23 (No in step S201, step S202). At this time, as shown in FIG. 12A, the flow entry (rule 144 + action information 145) transmitted from the PFC 1 and the priority 147 are associated with each other and set in the flow table 23.

一方、フローテーブル23に、PFS1から送信されたフローエントリと同じルール144のエントリがある場合、優先度147の比較判定が行われる(ステップS201Yes、S203)。ここで、PFC1から送信されたフローエントリの優先度147が、フローテーブル23に設定された優先度147よりも低い場合、PFS2は、PFC1からのフローテーブルの更新指示を無視(拒否)する(フローテーブルを更新しない)(ステップS203No、S204)。一方、PFC1から送信されたフローエントリの優先度147が、フローテーブル23に設定された優先度147よりも高い場合、PFC1からのフローエントリによってフローテーブルを上書きするとともに、優先度147を変更する(ステップS203Yes、S205)。   On the other hand, when there is an entry of the same rule 144 as the flow entry transmitted from the PFS 1 in the flow table 23, the comparison determination of the priority 147 is performed (steps S201 Yes and S203). Here, when the priority 147 of the flow entry transmitted from the PFC 1 is lower than the priority 147 set in the flow table 23, the PFS 2 ignores (rejects) the instruction to update the flow table from the PFC 1 (flow) (The table is not updated) (No in steps S203 and S204). On the other hand, when the priority 147 of the flow entry transmitted from the PFC 1 is higher than the priority 147 set in the flow table 23, the flow table is overwritten with the flow entry from the PFC 1, and the priority 147 is changed ( Step S203 Yes, S205).

例えば、図12(a)に示すようなフローテーブル23が設定されているPFS2に、PFC1からパケットAに対するフローエントリ(優先度“2”)の設定が指示された場合、パケットAに対するフローテーブル23に設定済みのフローエントリの優先度147は、“1”(最優先)であるため、フローエントリの設定指示(フローテーブルの更新指示)は、無視(拒否)される。一方、PFC1からパケットCに対するフローエントリ(優先度“1”)の設定が指示された場合、パケットCに対するフローテーブル23に設定済みのフローエントリの優先度147は、“3”であり、通知された優先度“1”より低いため、フローエントリ及び優先度は図12(b)のように変更される。図12(a)及び図12(b)に示す一例では、パケットB(ルール)に対するアクションとして、「PFS2−5へ転送」が設定されていたところ、「PFS2−9に転送」に変更され、優先度が“3”から“1”に変更される。   For example, when the PFC 1 in which the flow table 23 as shown in FIG. 12A is set is instructed by the PFC 1 to set the flow entry (priority “2”) for the packet A, the flow table 23 for the packet A Since the priority 147 of the flow entry already set to “1” is “1” (highest priority), the flow entry setting instruction (flow table update instruction) is ignored (rejected). On the other hand, when setting of the flow entry (priority “1”) for the packet C is instructed from the PFC 1, the priority 147 of the flow entry already set in the flow table 23 for the packet C is “3” and is notified. Since the priority is lower than “1”, the flow entry and the priority are changed as shown in FIG. In the example shown in FIG. 12A and FIG. 12B, when “Forward to PFS 2-5” is set as the action for packet B (rule), it is changed to “Forward to PFS 2-9”. The priority is changed from “3” to “1”.

以上のように、本発明によるPFS2は、優先度147の高いPFC1によるフローエントリを優先してフローテーブル23に設定するため、複数のPFC1が同期せずに独立的にフローエントリを設定しても、フローに対して1つの転送先を決定できる。   As described above, since the PFS 2 according to the present invention sets the flow entry by the PFC 1 having the higher priority 147 in the flow table 23 with priority, even if a plurality of PFCs 1 set the flow entries independently without being synchronized. , One transfer destination can be determined for the flow.

図10を参照して、ファーストパケットの受信に応じてフローエントリの設定を要求したPFS2−1(以下、要求元PFS2−1と称す)は、当該ファーストパケットに対応するフローエントリが自身のフローテーブル23に設定されると、宛先のホスト3−iまでの通信経路が構築されたと判断し、ファーストパケットの転送を開始する(ステップS115)。以降、通信経路上のPFS2は、設定されたルール144に適合するパケットを、設定されたアクション情報145に従って転送する。   Referring to FIG. 10, a PFS 2-1 (hereinafter referred to as a request source PFS 2-1) that requested setting of a flow entry in response to reception of a first packet has a flow entry corresponding to the first packet in its own flow table. If it is set to 23, it is determined that a communication path to the destination host 3-i has been constructed, and transfer of the first packet is started (step S115). Thereafter, the PFS 2 on the communication path transfers a packet conforming to the set rule 144 according to the set action information 145.

要求元PFS2−1は、自身のフローテーブル23にファーストパケットに対するフローエントリが設定されると同時に当該フローテーブルの転送を開始することが好ましい。この場合、要求元PFS2−1は、優先度“1”より低い優先度147のフローエントリに応じてファーストパケットを転送することがある。例えば、PFC1−3がPFC1−1より先に通信経路を構築した場合、要求元PFC2−1は、優先度“3”のフローエントリに応じてファーストパケットを転送する。しかし、時間が経過し、PFC1−1によって優先度147“1”のフローエントリが要求元PFS2−1に設定された後は、PFC1−1によって構築されて通信経路を介してパケット転送が行われることとなる。このように、同じルールのパケットを転送する場合でも、時間の経過に応じて優先度の高いフローエントリがPFS2のフローテーブル23に上書きされるため、所定の期間、同ルールに従うパケットは異なる通信経路を通過して宛先のホスト3−iに転送される。このため、要求元PFS2−1は、自身のフローテーブル23が更新されてから、通信経路が安定するまでの所定の期間、ファーストパケットの送信を待機しても構わない。   The requesting PFS 2-1 preferably starts transferring the flow table at the same time that the flow entry for the first packet is set in its own flow table 23. In this case, the request source PFS 2-1 may transfer the first packet in accordance with the flow entry with the priority 147 lower than the priority “1”. For example, when the PFC 1-3 establishes a communication path before the PFC 1-1, the request source PFC 2-1 transfers the first packet according to the flow entry with the priority “3”. However, after the time has passed and the flow entry with the priority 147 “1” is set in the request source PFS 2-1 by the PFC 1-1, the packet is transferred via the communication path constructed by the PFC 1-1. It will be. As described above, even when a packet of the same rule is transferred, a flow entry having a higher priority is overwritten in the flow table 23 of the PFS2 as time elapses. And is transferred to the destination host 3-i. For this reason, the request source PFS 2-1 may wait for transmission of the first packet for a predetermined period after the flow table 23 of the request source PFS 2-1 is updated until the communication path is stabilized.

(耐障害性)
次に、図13から図16を参照して、本発明によるコンピュータシステムにおける耐障害性について説明する。以下では、一例として、ホスト3−1からホスト3−2に対してパケットデータが転送され、PFS2−1がファーストパケットを受信し、3つのPFC1−1〜1−3が通信経路を構築する場合について説明する。尚、PFC1−1には優先度147“1”、PFC1−2には優先度147“2”、PFC1−3には優先度147“3”が付与され、優先度は“1”>“2”>“3”とする。
(Fault tolerance)
Next, fault tolerance in the computer system according to the present invention will be described with reference to FIGS. In the following, as an example, packet data is transferred from the host 3-1 to the host 3-2, the PFS 2-1 receives the first packet, and the three PFCs 1-1 to 1-3 construct a communication path. Will be described. The priority 147 “1” is assigned to the PFC 1-1, the priority 147 “2” is assigned to the PFC 1-2, the priority 147 “3” is assigned to the PFC 1-3, and the priority is “1”> “2”. “> 3”.

図13は、本発明による複数のPFC1−1〜1−3によって算出された通信経路40、50、60の一例を示す図である。ここでは、PFC1−1によって通信経路50が算出され、PFC1−2によって通信経路40が算出され、PFC1−3によって通信経路60が算出されるものとする。尚、通信経路40は、PFS2−1、2−2、2−4、2−6を経由する経路であり、通信経路50は、PFS2−1、2−5、2−3、2−6を経由する経路であり、通信経路60は、PFS2−1、2−2、2−3、2−4、2−6を経由する経路である。   FIG. 13 is a diagram illustrating an example of communication paths 40, 50, and 60 calculated by a plurality of PFCs 1-1 to 1-3 according to the present invention. Here, it is assumed that the communication path 50 is calculated by the PFC 1-1, the communication path 40 is calculated by the PFC 1-2, and the communication path 60 is calculated by the PFC 1-3. The communication path 40 is a path that passes through the PFSs 2-1, 2-2, 2-4, and 2-6, and the communication path 50 includes the PFSs 2-1, 2-5, 2-3, and 2-6. The communication path 60 is a path that passes through the PFS 2-1, 2-2, 2-3, 2-4, and 2-6.

上記のような前提条件の上で、PFC1−1〜1−3のいずれかが通信経路の構築中に動作継続不可能状態となり、通信経路上のPFS2に対してのフローテーブルの更新指示ができなくなった場合について説明する。   Under the preconditions described above, any of the PFCs 1-1 to 1-3 becomes inoperable during the construction of the communication path, and an instruction to update the flow table can be given to the PFS 2 on the communication path. The case where it disappears will be described.

優先度の高いPFC1−1に障害がない場合、他のPFC1−2、1−3に障害があっても、PFC1−1によって構築された通信経路50を介してホスト3−1、3−2間のパケット転送は行われる。例えば、通信経路50上のPFS2に、PFC1−1よりも先行して他のPFC1−2、1−3によってフローエントリが設定されている場合、フローテーブル23は、高い優先度“1”のフローエントリによって上書きされるため、問題なく通信経路50が構築される。又、PFC1−1よりも後に、他のPFC1−2、1−3によるフローテーブルの更新が行われても、通信経路50と共通するOFS2には高い優先度“1”のフローエントリが設定されているため、当該フローテーブルの更新は無視(拒否)される。このため、高い優先度“1”のフローエントリによって構築された通信経路50は、変更されない。   When there is no failure in the high priority PFC 1-1, even if there is a failure in the other PFC 1-2, 1-3, the hosts 3-1, 3-2 via the communication path 50 established by the PFC 1-1. In between, packet transfer is performed. For example, if a flow entry is set in the PFS 2 on the communication path 50 by the other PFC 1-2 and 1-3 before the PFC 1-1, the flow table 23 is a flow having a high priority “1”. Since the entry is overwritten, the communication path 50 is constructed without any problem. Further, even if the flow table is updated by other PFCs 1-2 and 1-3 after PFC 1-1, a high priority “1” flow entry is set in OFS2 which is shared with communication path 50. Therefore, the update of the flow table is ignored (rejected). For this reason, the communication path 50 constructed by the flow entry having the high priority “1” is not changed.

又、優先度の低いPFC1−3に障害が発生した場合、その通信経路の構築順序に関わらず、高優先度のPFC1−1又はPFC1−2によってフローエントリが設定されるため、必ずホスト間の通信経路は構築される。本発明では、宛先のホスト3−2に一番近いPFS2−6から順にフローテーブルの更新指示を出しているため、矛盾なくホスト間の通信経路を構築することができる。   In addition, when a failure occurs in the low priority PFC1-3, the flow entry is set by the high priority PFC1-1 or PFC1-2 regardless of the construction order of the communication path. A communication path is established. In the present invention, since the flow table update instruction is issued in order from the PFS 2-6 closest to the destination host 3-2, a communication path between the hosts can be constructed without any contradiction.

次に、図14A及び図14Bを参照して、優先度の高いPFC1−1が他のPFC1に先行して通信経路50を構築中に動作不能となった場合に構築される通信経路について説明する。   Next, with reference to FIG. 14A and FIG. 14B, a description will be given of a communication path that is constructed when a PFC 1-1 with a high priority becomes inoperable during the construction of the communication path 50 preceding another PFC 1. .

図14Aに示すように、PFC1−1は、宛先のホスト3−2に最も近いPFS2−6から送信元のホスト3−1に向かって順にフローテーブル23を更新し、PFS2−5のフローテーブル23を更新した後に何らかの障害によりフローテーブル更新処理を停止する。このとき、PFS2−5、2−6には優先度“1”のフローエントリが設定され、PFS2−5、2−6、ホスト3−2までの通信経路51、52が構築される。   As shown in FIG. 14A, the PFC 1-1 updates the flow table 23 in order from the PFS 2-6 closest to the destination host 3-2 to the transmission source host 3-1, and the flow table 23 of the PFS 2-5 After the update, the flow table update process is stopped due to some failure. At this time, a flow entry having a priority “1” is set in the PFSs 2-5 and 2-6, and communication paths 51 and 52 to the PFSs 2-5 and 2-6 and the host 3-2 are established.

PFC1−1によるフローテーブルの更新開始より後に、PFC1−2が通信経路40の構築(フローテーブルの更新)を開始する。PFC1−2は、宛先のホスト3−2に最も近いPFS2−6から送信元のホスト3−1に向かって順にフローテーブル23を更新する。このとき、FS2−6には高い優先度“1”のフローエントリが既に設定されているため、これよりも低い優先度“2”のフローテーブルには更新されない。ここで、PFC1−2に問題がなく、要求元PFS2−1までフローテーブルの更新が終了すると、PFS2−1、2−3、2−4には優先度“2”のフローエントリが設定される。すなわち、PFC1−2によって、ホスト3−1からPFS2−6の間に通信経路41が構築される。一方、PFS2−6からホスト3−2までの間はPFC1−1によって通信経路51が構築されているため、ホスト3−1とホスト3−2との間は、PFC1−2によって構築された通信経路41とPFC1−1によって構築された通信経路51によって接続されることとなる。尚、これらの動作と前後して、PFC1−3もフローテーブルの更新を行うが、優先度の高いフローエントリが優先的に設定されるため、通信経路60上におけるPFS2−2以外のPFS2では、優先度“3”のフローエントリは設定されない。   After the start of update of the flow table by the PFC 1-1, the PFC 1-2 starts construction of the communication path 40 (update of the flow table). The PFC 1-2 updates the flow table 23 in order from the PFS 2-6 closest to the destination host 3-2 toward the transmission source host 3-1. At this time, since a flow entry with a high priority “1” is already set in the FS 2-6, the flow table with a priority “2” lower than this is not updated. Here, when there is no problem in the PFC 1-2 and the update of the flow table is completed up to the request source PFS2-1, the flow entry having the priority “2” is set in the PFSs 2-1 to 2-3. . That is, the communication path 41 is constructed between the host 3-1 and the PFS 2-6 by the PFC 1-2. On the other hand, since the communication path 51 is established by the PFC 1-1 between the PFS 2-6 and the host 3-2, the communication established by the PFC 1-2 is established between the host 3-1 and the host 3-2. It will be connected by the communication path 51 constructed | assembled by the path | route 41 and PFC1-1. Before and after these operations, the PFC 1-3 also updates the flow table. However, since a flow entry with a high priority is preferentially set, in the PFS 2 other than the PFS 2-2 on the communication path 60, A flow entry with priority “3” is not set.

ネットワーク環境によってPFC1毎に算出された通信経路40、50、60が異なる場合でも、送信元に最も近いPFS2−6と、送信元に最も近い要求元PFS1−1は、全ての通信経路40、50、60で共通している。又、本発明では、フローテーブルの更新が、宛先ホスト側から送信元ホスト側に向かって順に行われる。このため、高優先度のPFC1(PFC1−1)によるフローテーブルの更新が途中で停止しても、他の低優先度のPFC1(PFC1−2)によって構築される通信経路(通信経路41)は、必ず、高優先度のPFC1(PFC1−1)が構築した通信経路(通信経路51)通信経路に接続される。以上のことから、本発明によれば、優先度147の高いフローエントリを設定するPFC1が通信経路の構築途上で動作不能となっても、他のPFC2によって通信経路を補完することができるため、ホスト3間のパケット転送が保証される。   Even when the communication paths 40, 50, and 60 calculated for each PFC1 differ depending on the network environment, the PFS 2-6 closest to the transmission source and the request source PFS1-1 closest to the transmission source are all communication paths 40, 50. , 60. In the present invention, the flow table is updated in order from the destination host side to the source host side. For this reason, even if the update of the flow table by the high priority PFC1 (PFC1-1) is stopped in the middle, the communication path (communication path 41) constructed by the other low priority PFC1 (PFC1-2) The communication path (communication path 51) constructed by the high priority PFC1 (PFC1-1) is surely connected. From the above, according to the present invention, even if the PFC1 that sets a flow entry with a high priority 147 becomes inoperable during the construction of the communication path, the communication path can be supplemented by another PFC2. Packet transfer between the hosts 3 is guaranteed.

次に、図15A、図15Bを参照して、優先度の高いPF1−1が他のPFC1より後に通信経路の構築(フローテーブルの更新)を開始し、構築途中で動作不能となった場合の通信経路の構築動作について説明する。   Next, referring to FIG. 15A and FIG. 15B, when the PF 1-1 having a high priority starts construction of the communication path (update of the flow table) after other PFC1, and becomes inoperable during construction. A communication path construction operation will be described.

PFC1−2及びPFC1−3は、宛先のホスト3−2に最も近いPFS2−6から送信元のホスト3−1に向かって順にフローテーブル23を更新する。本一例では、図15Aのように通信経路42、61が構築された段階で、PFC1−1が通信経路の構築を開始する。図15Aに示すように、PFC1−1が通信経路の構築を開始する時点において、PFS2−6には優先度“2”のフローエントリによってPFS2−6からホスト3−2までの通信経路42が構築され、PFS2−4には優先度“3”のフローエントリによって、PFS2−5からPFS2−4との間に通信経路61が構築されている。   The PFC 1-2 and PFC 1-3 update the flow table 23 in order from the PFS 2-6 closest to the destination host 3-2 to the source host 3-1. In this example, the PFC 1-1 starts building the communication path when the communication paths 42 and 61 are built as shown in FIG. 15A. As shown in FIG. 15A, when the PFC 1-1 starts to construct a communication path, the communication path 42 from the PFS 2-6 to the host 3-2 is constructed in the PFS 2-6 by the flow entry with the priority “2”. In the PFS 2-4, the communication path 61 is constructed between the PFS 2-5 and the PFS 2-4 by the flow entry having the priority “3”.

図15Bを参照して、PFC1−1は、宛先のホスト3−2に最も近いPFS2−6から送信元のホスト3−1に向かって順にフローテーブル23を更新し、PFS2−5のフローテーブル23を更新した後に何らかの障害によりフローテーブル更新処理を停止する。このとき、PFS2−5、2−6には優先度“1”のフローエントリが設定され、PFS2−5、2−6、ホスト3−2までの通信経路51、52が構築される。   Referring to FIG. 15B, the PFC 1-1 updates the flow table 23 in order from the PFS 2-6 closest to the destination host 3-2 to the transmission source host 3-1, and the flow table 23 of the PFS 2-5. After the update, the flow table update process is stopped due to some failure. At this time, a flow entry having a priority “1” is set in the PFSs 2-5 and 2-6, and communication paths 51 and 52 to the PFSs 2-5 and 2-6 and the host 3-2 are established.

PFC1−2は、引き続き、PFS2−3から送信元のホスト3−1に向かって通信経路40上におけるPFS2のフローテーブル23を更新する。ここで、PFC1−2に問題がなく、要求元PFS2−1までフローテーブルの更新が終了すると、PFS2−1、2−3には優先度“2”のフローエントリが設定される。すなわち、PFC1−2によって、ホスト3−1からPFS2−6の間に通信経路41が構築される。一方、PFS2−6からホスト3−2までの間はPFC1−1によって通信経路51が構築されているため、ホスト3−1とホスト3−2との間は、PFC1−2によって構築された通信経路41とPFC1−1によって構築された通信経路51によって接続されることとなる。尚、これらの動作と前後して、PFC1−3もフローテーブルの更新を行うが、優先度の高いフローエントリが優先的に設定されるため、通信経路60上におけるPFS2−2以外のPFS2では、優先度“3”のフローエントリは設定されない。   The PFC 1-2 continues to update the PFS2 flow table 23 on the communication path 40 from the PFS2-3 toward the transmission source host 3-1. Here, when there is no problem in the PFC 1-2 and the update of the flow table is completed up to the request source PFS2-1, the flow entry having the priority “2” is set in the PFSs 2-1 and 2-3. That is, the communication path 41 is constructed between the host 3-1 and the PFS 2-6 by the PFC 1-2. On the other hand, since the communication path 51 is established by the PFC 1-1 between the PFS 2-6 and the host 3-2, the communication established by the PFC 1-2 is established between the host 3-1 and the host 3-2. It will be connected by the communication path 51 constructed | assembled by the path | route 41 and PFC1-1. Before and after these operations, the PFC 1-3 also updates the flow table. However, since a flow entry with a high priority is preferentially set, in the PFS 2 other than the PFS 2-2 on the communication path 60, A flow entry with priority “3” is not set.

上述と同様に、後に通信経路の構築を開始した高優先度のPFC1(PFC1−1)によるフローテーブルの更新が途中で停止しても、他の低優先度のPFC1(PFC1−2)によって構築される通信経路(通信経路41)は、必ず、高優先度のPFC1(PFC1−1)が構築した通信経路(通信経路51)通信経路に接続される。以上のことから、本発明によれば、優先度147の高いフローエントリを設定するPFC1が通信経路の構築途上で動作不能となっても、他のPFC2によって通信経路を補完することができるため、ホスト3間のパケット転送が保証される。   Similarly to the above, even if the update of the flow table by the high-priority PFC1 (PFC1-1) that started construction of the communication path later stops, it is constructed by another low-priority PFC1 (PFC1-2) The communication path (communication path 41) is always connected to the communication path (communication path 51) constructed by the high priority PFC1 (PFC1-1). From the above, according to the present invention, even if the PFC1 that sets a flow entry with a high priority 147 becomes inoperable during the construction of the communication path, the communication path can be supplemented by another PFC2. Packet transfer between the hosts 3 is guaranteed.

最も優先度の高い優先度147が指定されたPFC1−1が正常である場合、フローテーブル23の更新(高優先度のフローエントリによる上書き)によって、所定の時間の経過後、必ず通信経路50が構築される。この場合、1つのPFC1−1によってフローを制御及び管理できるため、オープンフロー技術で提唱されたフローの一元管理が実現できる。   If the PFC 1-1 designated with the highest priority 147 is normal, the communication path 50 is always set after a predetermined time has elapsed by updating the flow table 23 (overwriting with a high priority flow entry). Built. In this case, since the flow can be controlled and managed by one PFC 1-1, the unified management of the flow proposed by the open flow technology can be realized.

しかし、PFC1−1に異常が発生した場合、ホスト間を接続する通信経路は、上述のように複数のPFC1によって構築されることがある。この場合、複数のPFC1によってフローが制御されることとなり、オープンフロー技術の方針である、「1つのPFC1によるフローの一元管理」に反することとなる。   However, when an abnormality occurs in the PFC 1-1, a communication path that connects the hosts may be established by a plurality of PFCs 1 as described above. In this case, the flow is controlled by a plurality of PFCs 1, which is contrary to the “unified flow management by one PFC 1” which is the policy of the open flow technology.

このため、最高の優先度147“1”が通知されたPFC1−1が、障害から復旧した際、必ず、通信経路50を再構築するように設定することで、他のPFC1と通信することなくPFC1−1によるフローの一元管理が実現できる。   For this reason, when the PFC 1-1 notified of the highest priority 147 “1” is recovered from the failure, the communication path 50 is always reconfigured so that it does not communicate with the other PFC 1. Centralized management of flows by the PFC 1-1 can be realized.

図16は、優先度147“1”が通知されたPFC1−1の障害復旧後の動作を示すフロー図である。障害から復旧したPFC1−1は、例えば再起動により復帰すると、ファーストパケットの転送元のPFS2(要求元PFS2−1)に対してフローテーブル23の更新指示をしたか否かを確認する(ステップS301)。詳細には、PFC1−1は、再起動後、フローテーブル14に設定された優先度147が“1”のフローエントリとその設定情報146を検索することで、該当エントリのPFS1への設定状況を確認する。   FIG. 16 is a flowchart showing the operation after the failure recovery of the PFC 1-1 notified of the priority 147 “1”. When the PFC 1-1 recovered from the failure returns, for example, by restarting, it confirms whether or not an instruction to update the flow table 23 has been issued to the PFS2 (request source PFS2-1) of the first packet transfer source (step S301). ). Specifically, after restarting, the PFC 1-1 searches the flow entry having the priority 147 set to “1” and its setting information 146 in the flow table 14 to determine the setting status of the corresponding entry in the PFS 1. Check.

ここで、要求元PFS2−1に対するフローエントリの設定を確認した場合、PFC1−1は、経路構築完了後に動作不能となり、再起動により復帰したものと判断する(ステップS301Yes、S302)。一方、要求元PFS2−1に対してフローエントリを設定していないことを確認した場合、PFC1−1は、経路構築途中で動作不能になったものと判断し、通信経路50上のPFS2にフローテーブルの更新指示を発行する(ステップS301No、S303)。この際、ファーストパケットに基づいて設定されたルール144を利用して、新たな通信経路を算出し、当該通信経路上のPFS2に設定するフローエントリ(ルール144+アクション情報145)を生成してもよい。通常、障害復旧後のネットワーク環境は、障害発生時から変動しているため、新たな通信経路及びフローエントリを設定することが有効である。   Here, when the setting of the flow entry for the request source PFS 2-1 is confirmed, the PFC 1-1 becomes inoperable after completion of the path construction, and is determined to have been restored by restart (steps S301 Yes and S302). On the other hand, if it is confirmed that no flow entry has been set for the request source PFS 2-1, the PFC 1-1 determines that it has become inoperable during path construction, and flows to the PFS 2 on the communication path 50. A table update instruction is issued (steps S301 No, S303). At this time, a new communication path may be calculated using the rule 144 set based on the first packet, and a flow entry (rule 144 + action information 145) set in the PFS2 on the communication path may be generated. . Normally, since the network environment after failure recovery has changed since the failure occurred, it is effective to set a new communication path and flow entry.

このように障害から復旧した最高優先度が通知されたPFC1−1によって、通信経路全体のPFS2のフローテーブル23を更新することで、フローをPFC1−1で一元管理することが可能となる。   By updating the flow table 23 of the PFS 2 of the entire communication path with the PFC 1-1 notified of the highest priority recovered from the failure in this way, the flow can be centrally managed by the PFC 1-1.

PFC1は、パケットが最も速く送信元ホスト3−1から宛先ホスト3−2へ到達できるような通信経路を算出するため、複数のPFC1が同じ通信経路を決定する場合が多い。このため、複数のPFC1で通信経路を構築する方法は、耐障害性の観点では有効な策である。このため、本発明では、複数のPFC1を用意することで耐障害性を向上させている。   Since the PFC 1 calculates a communication path that allows the packet to reach the destination host 3-2 from the transmission source host 3-1 fastest, a plurality of PFCs often determine the same communication path. For this reason, the method of constructing a communication path with a plurality of PFCs 1 is an effective measure from the viewpoint of fault tolerance. For this reason, in this invention, fault tolerance is improved by preparing several PFC1.

又、本発明では、複数のPFC1からのフローテーブル更新指示が競合しても、PFS2側でその優先度に基づいてフローテーブルの更新(上書き)許否を判定するため、矛盾することなくパケットの到達を保証する通信経路が構築される。更に、複数のPFC1のそれぞれは、独自にフローテーブルの更新指示を発行するため、コントローラ間で同期を取る必要がない。このため、コントロール間で同期を取るための待ち時間を必要としないため、経路構築までの時間を短縮することも可能となる。すなわち、本発明によれば、オープンフロー技術を利用したコンピュータシステムにおいて通信経路構築の時間を増加させることなく耐障害性を上げることが可能となる。   Further, in the present invention, even if flow table update instructions from a plurality of PFCs 1 compete, the PFS 2 side determines whether or not to update (overwrite) the flow table on the basis of the priority. A communication path that guarantees Furthermore, since each of the plurality of PFCs 1 independently issues a flow table update instruction, there is no need to synchronize between controllers. For this reason, no waiting time for synchronization between the controls is required, so that it is possible to shorten the time to route construction. In other words, according to the present invention, it is possible to improve fault tolerance without increasing the time for establishing a communication path in a computer system using the open flow technology.

以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。例えば、優先度147に応じたフローテーブルの更新制御は、通信経路の構築(転送先の設定)だけでなく、フローの転送停止や終了(破棄)といった他の制御に対して行われても良い。これにより、複数のコントローラからの指示を矛盾することなく実行することが可能となり、耐障害性が更に向上する。   The embodiment of the present invention has been described in detail above, but the specific configuration is not limited to the above-described embodiment, and changes within a scope not departing from the gist of the present invention are included in the present invention. . For example, the update control of the flow table according to the priority 147 may be performed not only for the construction of the communication path (setting of the transfer destination) but also for other control such as stop or end (discard) of the flow transfer. . Thereby, it is possible to execute instructions from a plurality of controllers without contradiction, and the fault tolerance is further improved.

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

(付記1)
それぞれが、通信経路を算出し前記通信経路上のスイッチに対して、優先度を付加したフローエントリの設定を指示する複数のコントローラと、
前記優先度に応じて前記フローエントリの設定許否を判定し、自身に設定されたフローエントリに適合する受信パケットに対し、前記設定されたフローエントリに従った中継動作を行うスイッチと
を具備する
コンピュータシステム。
(Appendix 1)
A plurality of controllers each for calculating a communication path and instructing a switch on the communication path to set a flow entry to which priority is added;
A switch that determines whether or not to permit setting of the flow entry according to the priority, and performs a relay operation according to the set flow entry for a received packet that matches the flow entry set for the computer. system.

(付記2)
付記1に記載のコンピュータシステムにおいて、
前記スイッチは、前記複数のコントローラのそれぞれから送信されたフローエントリの優先度が、自身に設定されたフローエントリの優先度より高い場合、前記送信されたフローエントリによって前記設定されたフローエントリを上書き設定する
コンピュータシステム。
(Appendix 2)
In the computer system according to attachment 1,
The switch overwrites the set flow entry by the transmitted flow entry when the priority of the flow entry transmitted from each of the plurality of controllers is higher than the priority of the flow entry set by itself. Computer system to configure.

(付記3)
付記1又は2に記載のコンピュータシステムにおいて、
前記スイッチは、前記複数のコントローラのそれぞれから送信されたフローエントリの優先度が、自身に設定されたフローエントリの優先度より低い場合、前記送信されたフローエントリの設定を拒否する
コンピュータシステム。
(Appendix 3)
In the computer system according to appendix 1 or 2,
The switch rejects the setting of the transmitted flow entry when the priority of the flow entry transmitted from each of the plurality of controllers is lower than the priority of the flow entry set in the switch.

(付記4)
付記2又は3に記載のコンピュータシステムにおいて、
前記複数のコントローラのそれぞれは、前記通信経路上において、パケットデータの宛先装置側のスイッチから送信元装置のスイッチに対して順にフローエントリの設定を指示する
コンピュータシステム。
(Appendix 4)
In the computer system according to appendix 2 or 3,
Each of the plurality of controllers instructs the setting of a flow entry in order from the switch on the destination device side of the packet data to the switch of the transmission source device on the communication path.

(付記5)
付記1から4のいずれか1項に記載のコンピュータシステムにおいて、
前記複数のコントローラのそれぞれがフローエントリに付加する前記優先度は、前記複数のコントローラのそれぞれで異なる値である
コンピュータシステム。
(Appendix 5)
In the computer system according to any one of appendices 1 to 4,
The priority added to a flow entry by each of the plurality of controllers is a value that is different for each of the plurality of controllers.

(付記6)
付記1から5のいずれか1項に記載のコンピュータシステムにおいて、
前記スイッチは、自身に設定されたフローエントリに適合しないパケットデータを受信すると、前記パケットデータと優先度とを、前記複数のコントローラに通知し、
前記複数のコントローラのそれぞれは、前記パケットデータのヘッダ情報に基づいて作成したフローエントリに前記通知された優先度を付加して、前記通信経路上のスイッチに設定を指示する
コンピュータシステム。
(Appendix 6)
In the computer system according to any one of appendices 1 to 5,
When the switch receives packet data that does not match the flow entry set in itself, the switch notifies the plurality of controllers of the packet data and the priority,
Each of the plurality of controllers adds the notified priority to a flow entry created based on header information of the packet data, and instructs a switch on the communication path to set.

(付記7)
付記1から6のいずれか1項に記載のコンピュータシステムで利用されるコントローラ。
(Appendix 7)
A controller used in the computer system according to any one of appendices 1 to 6.

(付記8)
付記1から6のいずれか1項に記載のコンピュータシステムで利用されるスイッチ。
(Appendix 8)
A switch used in the computer system according to any one of appendices 1 to 6.

(付記9)
複数のコントローラのそれぞれが、通信経路を算出し前記通信経路上のスイッチに対して、優先度を付加したフローエントリの設定を指示するステップと、
前記スイッチが、前記優先度に応じて前記フローエントリの設定許否を判定するステップと、
前記スイッチが、自身に設定されたフローエントリに適合する受信パケットに対し、前記設定されたフローエントリに従った中継動作を行うステップと
を具備する
通信方法。
(Appendix 9)
Each of a plurality of controllers calculating a communication path and instructing a switch on the communication path to set a flow entry with a priority;
The switch determining whether or not to permit setting of the flow entry according to the priority;
A step in which the switch performs a relay operation in accordance with the set flow entry for a received packet that matches the flow entry set for the switch.

(付記10)
付記9に記載の通信方法において、
前記複数のコントローラのそれぞれから送信されたフローエントリの優先度が、前記スイッチに設定されたフローエントリの優先度より高い場合、前記送信されたフローエントリによって前記スイッチに設定されたフローエントリを上書き設定するステップを更に具備する
通信方法。
(Appendix 10)
In the communication method according to attachment 9,
When the priority of the flow entry transmitted from each of the plurality of controllers is higher than the priority of the flow entry set in the switch, the flow entry set in the switch is overwritten by the transmitted flow entry. A communication method further comprising the step of:

(付記11)
付記9又は10に記載の通信方法において、
前記複数のコントローラのそれぞれから送信されたフローエントリの優先度が、前記スイッチに設定されたフローエントリの優先度より低い場合、前記送信されたフローエントリの設定を拒否するステップを更に具備する
通信方法。
(Appendix 11)
In the communication method according to attachment 9 or 10,
The communication method further comprising the step of rejecting the setting of the transmitted flow entry when the priority of the flow entry transmitted from each of the plurality of controllers is lower than the priority of the flow entry set in the switch .

(付記12)
付記10又は11に記載の通信方法において、
前記設定を指示するステップは、前記通信経路上において、パケットデータの宛先装置側のスイッチから送信元装置のスイッチに対して順にフローエントリの設定を指示するステップを備える
通信方法。
(Appendix 12)
In the communication method according to attachment 10 or 11,
The step of instructing the setting includes a step of instructing the setting of the flow entry in order from the switch on the destination device side of the packet data to the switch of the transmission source device on the communication path.

(付記13)
付記9から12のいずれか1項に記載の通信方法において、
前記複数のコントローラのそれぞれがフローエントリに付加する前記優先度は、前記複数のコントローラのそれぞれで異なる値である
通信方法。
(Appendix 13)
In the communication method according to any one of appendices 9 to 12,
The communication method, wherein the priority added to the flow entry by each of the plurality of controllers is a different value for each of the plurality of controllers.

(付記14)
付記9から13のいずれか1項に記載の通信方法において、
前記スイッチが、自身に設定されたフローエントリに適合しないパケットデータを受信すると、前記パケットデータと優先度とを、前記複数のコントローラに通知するステップを更に具備し、
前記設定を指示するステップは、前記前記複数のコントローラのそれぞれが、前記パケットデータのヘッダ情報に基づいて作成したフローエントリに前記通知された優先度を付加して、前記通信経路上のスイッチに設定を指示するステップを備える
コンピュータシステム。
(Appendix 14)
In the communication method according to any one of appendices 9 to 13,
When the switch receives packet data that does not conform to the flow entry set in itself, the switch further includes a step of notifying the plurality of controllers of the packet data and priority,
The step of instructing the setting is performed by adding the notified priority to the flow entry created by each of the plurality of controllers based on the header information of the packet data, and setting the switch on the communication path. A computer system comprising the step of directing.

1、1−1〜1−m:プログラマブルフローコントローラ(PFC)
2、2−1〜2−n:プログラマブルフロースイッチ(PFS)
3、3−1〜3−i:ホストコンピュータ(ホスト)
11:スイッチ制御部
12:フロー管理部
13:フロー生成部
14、23:フローテーブル
15:トポロジ情報
16:通信経路情報
20:スイッチ群
21:転送処理部
22:フロー設定部
24、147:優先度
141:フロー識別子
142:対象装置
143:経路情報
144:ルール
145:アクション情報
146:設定情報
151:装置識別子
152:ポート数
153:ポート接続先情報
161:端点情報
162:通過スイッチ情報
163:付随情報
1, 1-1 to 1-m: Programmable flow controller (PFC)
2, 2-1 to 2-n: Programmable flow switch (PFS)
3, 3-1 to 3-i: Host computer (host)
11: Switch control unit 12: Flow management unit 13: Flow generation unit 14, 23: Flow table 15: Topology information 16: Communication path information 20: Switch group 21: Transfer processing unit 22: Flow setting unit 24, 147: Priority 141: Flow identifier 142: Target device 143: Route information 144: Rule 145: Action information 146: Setting information 151: Device identifier 152: Number of ports 153: Port connection destination information 161: End point information 162: Passing switch information 163: Accompanying information

Claims (10)

それぞれが、通信経路を算出し前記通信経路上のスイッチに対して、優先度を付加したフローエントリの設定を指示する複数のコントローラと、
前記優先度に応じて前記フローエントリの設定許否を判定し、自身に設定されたフローエントリに適合する受信パケットに対し、前記設定されたフローエントリに従った中継動作を行うスイッチと
を具備する
コンピュータシステム。
A plurality of controllers each for calculating a communication path and instructing a switch on the communication path to set a flow entry to which priority is added;
A switch that determines whether or not to permit setting of the flow entry according to the priority, and performs a relay operation according to the set flow entry for a received packet that matches the flow entry set for the computer. system.
請求項1に記載のコンピュータシステムにおいて、
前記スイッチは、前記複数のコントローラのそれぞれから送信されたフローエントリの優先度が、自身に設定されたフローエントリの優先度より高い場合、前記送信されたフローエントリによって前記設定されたフローエントリを上書き設定する
コンピュータシステム。
The computer system of claim 1,
The switch overwrites the set flow entry by the transmitted flow entry when the priority of the flow entry transmitted from each of the plurality of controllers is higher than the priority of the flow entry set by itself. Computer system to configure.
請求項1又は2に記載のコンピュータシステムにおいて、
前記スイッチは、前記複数のコントローラのそれぞれから送信されたフローエントリの優先度が、自身に設定されたフローエントリの優先度より低い場合、前記送信されたフローエントリの設定を拒否する
コンピュータシステム。
The computer system according to claim 1 or 2,
The switch rejects the setting of the transmitted flow entry when the priority of the flow entry transmitted from each of the plurality of controllers is lower than the priority of the flow entry set in the switch.
請求項2又は3に記載のコンピュータシステムにおいて、
前記複数のコントローラのそれぞれは、前記通信経路上において、パケットデータの宛先装置側のスイッチから送信元装置のスイッチに対して順にフローエントリの設定を指示する
コンピュータシステム。
The computer system according to claim 2 or 3,
Each of the plurality of controllers instructs the setting of a flow entry in order from the switch on the destination device side of the packet data to the switch of the transmission source device on the communication path.
請求項1から4のいずれか1項に記載のコンピュータシステムにおいて、
前記スイッチは、自身に設定されたフローエントリに適合しないパケットデータを受信すると、前記パケットデータと優先度とを、前記複数のコントローラに通知し、
前記複数のコントローラのそれぞれは、前記パケットデータのヘッダ情報に基づいて作成したフローエントリに前記通知された優先度を付加して、前記通信経路上のスイッチに対して
コンピュータシステム。
The computer system according to any one of claims 1 to 4,
When the switch receives packet data that does not match the flow entry set in itself, the switch notifies the plurality of controllers of the packet data and the priority,
Each of the plurality of controllers adds the notified priority to a flow entry created based on header information of the packet data, and is a computer system for a switch on the communication path.
請求項1から5のいずれか1項に記載のコンピュータシステムで利用されるコントローラ。   The controller used with the computer system of any one of Claim 1 to 5. 請求項1から5のいずれか1項に記載のコンピュータシステムで利用されるスイッチ。   The switch used with the computer system of any one of Claim 1 to 5. 複数のコントローラのそれぞれが、通信経路を算出し前記通信経路上のスイッチに対して、優先度を付加したフローエントリの設定を指示するステップと、
前記スイッチが、前記優先度に応じて前記フローエントリの設定許否を判定するステップと、
前記スイッチが、自身に設定されたフローエントリに適合する受信パケットに対し、前記設定されたフローエントリに従った中継動作を行うステップと
を具備する
通信方法。
Each of a plurality of controllers calculating a communication path and instructing a switch on the communication path to set a flow entry with a priority;
The switch determining whether or not to permit setting of the flow entry according to the priority;
A step in which the switch performs a relay operation in accordance with the set flow entry for a received packet that matches the flow entry set for the switch.
請求項8に記載の通信方法において、
前記複数のコントローラのそれぞれから送信されたフローエントリの優先度が、前記スイッチに設定されたフローエントリの優先度より高い場合、前記送信されたフローエントリによって前記スイッチに設定されたフローエントリを上書き設定するステップを更に具備する
通信方法。
The communication method according to claim 8, wherein
When the priority of the flow entry transmitted from each of the plurality of controllers is higher than the priority of the flow entry set in the switch, the flow entry set in the switch is overwritten by the transmitted flow entry. A communication method further comprising the step of:
請求項8又は9に記載の通信方法において、
前記複数のコントローラのそれぞれから送信されたフローエントリの優先度が、前記スイッチに設定されたフローエントリの優先度より低い場合、前記送信されたフローエントリの設定を拒否するステップを更に具備する
通信方法。
The communication method according to claim 8 or 9,
The communication method further comprising the step of rejecting the setting of the transmitted flow entry when the priority of the flow entry transmitted from each of the plurality of controllers is lower than the priority of the flow entry set in the switch .
JP2010025884A 2010-02-08 2010-02-08 Computer system and communication method Expired - Fee Related JP5488980B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010025884A JP5488980B2 (en) 2010-02-08 2010-02-08 Computer system and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010025884A JP5488980B2 (en) 2010-02-08 2010-02-08 Computer system and communication method

Publications (2)

Publication Number Publication Date
JP2011166384A true JP2011166384A (en) 2011-08-25
JP5488980B2 JP5488980B2 (en) 2014-05-14

Family

ID=44596563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010025884A Expired - Fee Related JP5488980B2 (en) 2010-02-08 2010-02-08 Computer system and communication method

Country Status (1)

Country Link
JP (1) JP5488980B2 (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013118690A1 (en) 2012-02-10 2013-08-15 日本電気株式会社 Computer system and method for visualizing virtual network
WO2013118687A1 (en) 2012-02-10 2013-08-15 日本電気株式会社 Computer system and method for visualizing virtual network
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
WO2013133303A1 (en) 2012-03-08 2013-09-12 日本電気株式会社 Network system, controller, and load distribution method
WO2013133227A1 (en) * 2012-03-05 2013-09-12 日本電気株式会社 Network system, switch, and network building method
JP5495150B2 (en) * 2011-03-04 2014-05-21 日本電気株式会社 Network system, network device, and path control method
WO2014098108A1 (en) 2012-12-19 2014-06-26 日本電気株式会社 Communication node, control device, communication system, packet processing method, communication node control method, and program
WO2014123194A1 (en) * 2013-02-07 2014-08-14 日本電気株式会社 Communication system, control apparatus, communication control method and program
JP2015501109A (en) * 2012-04-18 2015-01-08 ニシラ, インコーポレイテッド Calculation of network transfer status and use of transactions for propagation
WO2015025845A1 (en) * 2013-08-20 2015-02-26 日本電気株式会社 Communication system, switch, controller, ancillary data management device, data transfer method, and program
JP2015039097A (en) * 2012-10-17 2015-02-26 三菱電機インフォメーションシステムズ株式会社 Switch and communication system
JP2015080105A (en) * 2013-10-17 2015-04-23 日本電気株式会社 Communication relay device, communication relay system, update method for relay definition information, and update program
JPWO2013108761A1 (en) * 2012-01-16 2015-05-11 日本電気株式会社 Network system and route information synchronization method
JP2016067053A (en) * 2015-12-25 2016-04-28 株式会社Nttドコモ Control node and communication control method
US9419910B2 (en) 2011-09-13 2016-08-16 Nec Corporation Communication system, control apparatus, and communication method
JP2016152429A (en) * 2015-02-16 2016-08-22 日本電気株式会社 Controller, communication system, management method and program of virtual network function
JP2016152428A (en) * 2015-02-16 2016-08-22 日本電気株式会社 Controller, communication system, management method and program of virtual network
EP3091693A4 (en) * 2014-01-29 2017-01-11 Huawei Technologies Co., Ltd. Control method and centralized controller in communication network and wireless communication network system
US9602421B2 (en) 2011-10-25 2017-03-21 Nicira, Inc. Nesting transaction updates to minimize communication
US9628324B2 (en) 2014-04-14 2017-04-18 Fujitsu Limited Openflow switch and failure recovery method in openflow network
US9871859B2 (en) 2014-10-15 2018-01-16 Nec Corporation Control apparatus, control method and medium
WO2018015984A1 (en) 2016-07-21 2018-01-25 Nec Corporation Communication apparaus, system, rollback method, and program
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
JP7083275B2 (en) 2018-05-18 2022-06-10 アライドテレシスホールディングス株式会社 Information processing system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005136865A (en) * 2003-10-31 2005-05-26 Nippon Telegr & Teleph Corp <Ntt> Packet transfer device, network control server, and packet communication network
WO2011065268A1 (en) * 2009-11-26 2011-06-03 日本電気株式会社 Load distribution system, load distribution method, and program
WO2011083780A1 (en) * 2010-01-05 2011-07-14 日本電気株式会社 Communication system, control apparatus, processing rule setting method, packet transmitting method and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005136865A (en) * 2003-10-31 2005-05-26 Nippon Telegr & Teleph Corp <Ntt> Packet transfer device, network control server, and packet communication network
WO2011065268A1 (en) * 2009-11-26 2011-06-03 日本電気株式会社 Load distribution system, load distribution method, and program
WO2011083780A1 (en) * 2010-01-05 2011-07-14 日本電気株式会社 Communication system, control apparatus, processing rule setting method, packet transmitting method and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200800778013; 久保田 浩: 'プログラマブル・フロースイッチ スイッチ部と制御部を分離し,新世代ネットワークに対応したフロースイッ' 日経NETWORK 第104号, 20081128, pp.80-81, 日経BP社 *
JPN6013047961; 久保田 浩: 'プログラマブル・フロースイッチ スイッチ部と制御部を分離し,新世代ネットワークに対応したフロースイッ' 日経NETWORK 第104号, 20081128, pp.80-81, 日経BP社 *

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5495150B2 (en) * 2011-03-04 2014-05-21 日本電気株式会社 Network system, network device, and path control method
US9419910B2 (en) 2011-09-13 2016-08-16 Nec Corporation Communication system, control apparatus, and communication method
US10505856B2 (en) 2011-10-25 2019-12-10 Nicira, Inc. Chassis controller
US9602421B2 (en) 2011-10-25 2017-03-21 Nicira, Inc. Nesting transaction updates to minimize communication
US11669488B2 (en) 2011-10-25 2023-06-06 Nicira, Inc. Chassis controller
US9444611B2 (en) 2012-01-16 2016-09-13 Nec Corporation Network system and method of synchronizing path information
JPWO2013108761A1 (en) * 2012-01-16 2015-05-11 日本電気株式会社 Network system and route information synchronization method
WO2013118690A1 (en) 2012-02-10 2013-08-15 日本電気株式会社 Computer system and method for visualizing virtual network
CN104106237B (en) * 2012-02-10 2017-08-11 日本电气株式会社 Computer system and virtual network method for visualizing
WO2013118687A1 (en) 2012-02-10 2013-08-15 日本電気株式会社 Computer system and method for visualizing virtual network
US9425987B2 (en) 2012-02-10 2016-08-23 Nec Corporation Computer system and visualization method of virtual network
CN104106237A (en) * 2012-02-10 2014-10-15 日本电气株式会社 Computer system and method for visualizing virtual network
US9548933B2 (en) 2012-03-05 2017-01-17 Nec Corporation Network system, switch, and methods of network configuration
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
WO2013133227A1 (en) * 2012-03-05 2013-09-12 日本電気株式会社 Network system, switch, and network building method
JPWO2013133227A1 (en) * 2012-03-05 2015-07-30 日本電気株式会社 Network system, switch, and network construction method
WO2013133303A1 (en) 2012-03-08 2013-09-12 日本電気株式会社 Network system, controller, and load distribution method
US9548928B2 (en) 2012-03-08 2017-01-17 Nec Corporation Network system, controller, and load distribution method
US10033579B2 (en) 2012-04-18 2018-07-24 Nicira, Inc. Using transactions to compute and propagate network forwarding state
US10135676B2 (en) 2012-04-18 2018-11-20 Nicira, Inc. Using transactions to minimize churn in a distributed network control system
JP2015501109A (en) * 2012-04-18 2015-01-08 ニシラ, インコーポレイテッド Calculation of network transfer status and use of transactions for propagation
JP2015039097A (en) * 2012-10-17 2015-02-26 三菱電機インフォメーションシステムズ株式会社 Switch and communication system
US9906438B2 (en) 2012-12-19 2018-02-27 Nec Corporation Communication node, control apparatus, communication system, packet processing method, communication node controlling method and program
WO2014098108A1 (en) 2012-12-19 2014-06-26 日本電気株式会社 Communication node, control device, communication system, packet processing method, communication node control method, and program
WO2014123194A1 (en) * 2013-02-07 2014-08-14 日本電気株式会社 Communication system, control apparatus, communication control method and program
WO2015025845A1 (en) * 2013-08-20 2015-02-26 日本電気株式会社 Communication system, switch, controller, ancillary data management device, data transfer method, and program
US20160191421A1 (en) * 2013-08-20 2016-06-30 Nec Corporation Communication system, switch, controller, ancillary data management apparatus, data forwarding method, and program
US10498669B2 (en) 2013-08-20 2019-12-03 Nec Corporation Communication system, switch, controller, ancillary data management apparatus, data forwarding method, and program
JP2015080105A (en) * 2013-10-17 2015-04-23 日本電気株式会社 Communication relay device, communication relay system, update method for relay definition information, and update program
EP3091693A4 (en) * 2014-01-29 2017-01-11 Huawei Technologies Co., Ltd. Control method and centralized controller in communication network and wireless communication network system
US10193759B2 (en) 2014-01-29 2019-01-29 Huawei Technologies Co., Ltd. Control method in communications network centralized controller, and wireless communications network system
US9628324B2 (en) 2014-04-14 2017-04-18 Fujitsu Limited Openflow switch and failure recovery method in openflow network
US9871859B2 (en) 2014-10-15 2018-01-16 Nec Corporation Control apparatus, control method and medium
JP2016152429A (en) * 2015-02-16 2016-08-22 日本電気株式会社 Controller, communication system, management method and program of virtual network function
JP2016152428A (en) * 2015-02-16 2016-08-22 日本電気株式会社 Controller, communication system, management method and program of virtual network
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US11288249B2 (en) 2015-09-30 2022-03-29 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
JP2016067053A (en) * 2015-12-25 2016-04-28 株式会社Nttドコモ Control node and communication control method
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
US11601521B2 (en) 2016-04-29 2023-03-07 Nicira, Inc. Management of update queues for network controller
WO2018015984A1 (en) 2016-07-21 2018-01-25 Nec Corporation Communication apparaus, system, rollback method, and program
US11349702B2 (en) 2016-07-21 2022-05-31 Nec Corporation Communication apparatus, system, rollback method, and non-transitory medium
JP7083275B2 (en) 2018-05-18 2022-06-10 アライドテレシスホールディングス株式会社 Information processing system

Also Published As

Publication number Publication date
JP5488980B2 (en) 2014-05-14

Similar Documents

Publication Publication Date Title
JP5488980B2 (en) Computer system and communication method
JP5488979B2 (en) Computer system, controller, switch, and communication method
JP5074327B2 (en) Routing system
US10728094B2 (en) Control traffic in software defined networks
JP6358347B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, AND NODE CONTROL METHOD
JP5846221B2 (en) Network system and topology management method
JP6053003B2 (en) Transmission system, transmission apparatus, and transmission method
EP2911348B1 (en) Control device discovery in networks having separate control and forwarding devices
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
US20170111231A1 (en) System and method for communication
JP5757552B2 (en) Computer system, controller, service providing server, and load distribution method
US20080225699A1 (en) Router and method of supporting nonstop packet forwarding on system redundant network
US20110035474A1 (en) Method and system for matching and repairing network configuration
WO2015167479A1 (en) Efficient routing in software defined networks
EP2661025A1 (en) Information system, control device, communication method and program
JP5861772B2 (en) Network appliance redundancy system, control device, network appliance redundancy method and program
KR101658824B1 (en) Method, apparatus and computer program for updating flow rules of software defined network
JP2013545151A (en) Server management apparatus, server management method, and program
US8625407B2 (en) Highly available virtual packet network device
WO2015079616A1 (en) Communication system, communication method, network information combination apparatus, and network information combination program
WO2015079615A1 (en) Communication system, communication method, network information combination apparatus, processing rule conversion method, and processing rule conversion program
TWI676378B (en) Auto-backup method for a network and a network system thereof
WO2014104277A1 (en) Control apparatus, communication system, communication node control method and program
Vaghani et al. A comparison of data forwarding schemes for network resiliency in software defined networking
JP6042838B2 (en) Management system, management server, and management method

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140213

R150 Certificate of patent or registration of utility model

Ref document number: 5488980

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees