JP5488979B2 - Computer systems, controllers, switches, and communication method - Google Patents

Computer systems, controllers, switches, and communication method

Info

Publication number
JP5488979B2
JP5488979B2 JP2010022539A JP2010022539A JP5488979B2 JP 5488979 B2 JP5488979 B2 JP 5488979B2 JP 2010022539 A JP2010022539 A JP 2010022539A JP 2010022539 A JP2010022539 A JP 2010022539A JP 5488979 B2 JP5488979 B2 JP 5488979B2
Authority
JP
Grant status
Grant
Patent type
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010022539A
Other languages
Japanese (ja)
Other versions
JP2011160363A (en )
Inventor
達彦 空井
Original Assignee
日本電気株式会社
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
Grant date

Links

Description

本発明は、コンピュータシステム、コントローラ、スイッチ及び通信方法に関し、特に、オープンフロー(プログラマブルフロー)技術を利用したコンピュータシステムの冗長化技術、及び通信方法に関する。 The present invention is a computer system, the controller relates to switches, and a communication method, in particular, open flow (programmable flow) of a computer system utilizing the techniques redundancy technique, and a communication method.

従来、パケットの送信元から送信先への経路の決定とパケット転送処理は、経路上の複数のスイッチが行っていた。 Conventionally, determination and packet forwarding processing path from the source of the packet to the destination, a plurality of switches on the route had done. 近年、データセンターといった大規模ネットワークにおいては、故障による機器の停止や規模拡大のための機器の新規追加により、ネットワーク構成の変化が常に発生している。 In recent years, in a large network such as data centers, the addition of new equipment for stopping and scale equipment due to a failure, a change in the network configuration are always generated. このため、ネットワークの構成の変化に即応し適切な経路を決定するという柔軟性が必要となってきた。 Therefore, flexibility and responsiveness to changes in the network configuration to determine the appropriate path has become necessary. しかし、スイッチにおける経路決定処理のプログラムは、外部から変更することができないため、ネットワーク全体を一元的に制御及び管理することはできなかった。 However, the program of the path determination process in the switch, it is not possible to change from the outside, it was not possible to centrally control and manage the entire network.

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

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

PFC100は、ホスト103間の通信経路の設定や、経路上におけるPFS102に対する転送動作(中継動作)等の設定を行う。 PFC100 the setting of a communication path between the host 103, a transfer operation (relay operation) settings such relative PFS102 on path performed. この際、PFC100は、PFS102が保持するフローテーブルに、フロー(パケットデータ)を特定するルールと、当該フローに対する動作を規定するアクションとを対応付けたフローエントリを設定する。 At this time, PFC100 is a flow table that PFS102 holds sets and rules for identifying the flow (packet data), a flow entry that associates actions defining the operation to the flow. 通信経路上のPFS102は、PFC100によって設定されたフローエントリに従って受信パケットデータの転送先を決定し、転送処理を行う。 PFS102 on the communication path, determines a forwarding destination of the received packet data in accordance with the flow entry set by PFC100, it performs a transfer process. これにより、ホスト103は、PFC100によって設定された通信経路を利用して他のホスト103との間でパケットデータの送受信が可能となる。 Thus, the host 103, it is possible to send and receive packet data to and from other hosts 103 using the set communication path by PFC100. すなわち、オープンフローを利用したコンピュータシステムでは、通信経路を設定するPFC100と、転送処理を行うPFS102とを分離され、システム全体の通信を一元的に制御及び管理することが可能となる。 That is, in the computer system using the open flow, and PFC100 for setting a communication path, is separated and PFS102 for transferring processing, it is possible to centrally control and manage the communication of the whole system.

図1を参照して、ホスト103−1からホスト103−iへパケット送信を行う場合、PFS102−1はホスト103−1から受け取ったパケット内にある送信先情報(ヘッダ情報)を参照し、PFS102−1内部で保持しているフローテーブルから当該ヘッダ情報に適合するエントリを探す。 Referring to FIG. 1, if the host 103-1 transmits a packet to the host 103-i, PFS102-1 refers to the destination information in the packet received from the host 103-1 (header information), PFS102 -1 from a flow table held internally Find matching entry in the header information. フローテーブルに設定されるエントリの内容については、例えば非特許文献1で規定されている。 The contents of the entry to be set in the flow table, for example, defined in non-patent document 1.

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

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

一方、ネットワークにおける転送経路を1つの装置で集中制御するシステムが、例えば特開2009−153184(特許文献1参照)や特表2009−529811に記載されている(特許文献2参照)。 Meanwhile, a system for centralized control of the transfer path in the network in one device, for example, JP 2009-153184 disclosed in (Patent Reference 1) and JP-T 2009-529811 (see Patent Document 2).

特開2009−153184 Patent 2009-153184 特表2009−529811 JP-T 2009-529811

PFC100で何らかの障害が発生した場合、PFC100は、経路上のPFS102に対するフローテーブルの更新を指示できない。 If any failure occurs in PFC100, PFC100 can not instruct to update the flow table for PFS102 on the path. この場合、ファーストパケットを受信したPFS102は自ら設定したタイムアウト時間までPFC101からのフローテーブルの更新指示を待ち続けてしまい、その間ホスト103間のパケット通信を行うことができない。 In this case, PFS102 having received the first packet could continue waiting for instruction for updating the flow table from PFC101 to own the set timeout period, it is impossible to perform packet communication between the between the host 103. 又、PFC100が障害から復旧しない限り、ファーストパケットに対応する転送制御を行うことができない。 Further, as long as the PFC100 has not recovered from the failure, it is impossible to transfer control corresponding to the first packet.

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

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

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

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

本発明によるコンピュータシステムは、それぞれが、通信経路を算出し、通信経路上のスイッチ(2)に対して、フローエントリの設定を指示する複数のコントローラ(1)と、複数のコントローラ(1)の1つを経路決定者として指定し、経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行う複数のスイッチ(2)とを具備する。 Computer system according to the invention, respectively, and calculates the communication path, the switch (2) on the communication path, a plurality of controllers to direct setting of the flow entries (1), a plurality of controllers (1) designate one as a route decider, according to the flow entry set by the route decision maker comprises a plurality of switches (2) that performs relay processing of the received packet.

本発明による通信システムは、複数のコントローラ(1)のそれぞれが、通信経路を算出し、通信経路上のスイッチ(2)に対して、フローエントリの設定を指示するステップと、複数のコントローラ(1)の1つを経路決定者として指定するステップと、複数のスイッチ(2)が、経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行うステップとを具備する。 Communication system according to the invention, each of the plurality of controllers (1) calculates the communication path, the switch (2) on the communication path, comprising the steps of instructing the setting of the flow entry, a plurality of controllers (1 a step of designating one as a route makers), a plurality of switches (2), in accordance with the flow entry set by the route decision maker comprises a step of performing a relay processing of the received packet.

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

又、プログラマブルフローコントローラに障害が発生した場合でも、ファーストパケットに応じた通信経路の構築とパケットデータの転送処理を早期に実行することができる。 Further, it is possible to execute even if a failure occurs in the programmable flow controller, a transfer process of constructing a packet data communication path in accordance with the first packet early.

図1は、従来技術によるコンピュータシステムの構成の一例を示す図である。 Figure 1 is a diagram showing an example of a prior art computer system configurations. 図2は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。 Figure 2 is a diagram showing a structure of embodiment of a computer system according to the present invention. 図3は、本発明によるプログラマブルフローコントローラの実施の形態における構成を示す図である。 Figure 3 is a diagram showing a structure of the embodiment of the programmable flow controller according to the present invention. 図4は、本発明によるプログラマブルフローコントローラが保持するフローテーブルの一例を示す図である。 Figure 4 is a diagram showing an example of a flow table that the programmable flow controller holds according to the present invention. 図5は、本発明によるプログラマブルフローコントローラが保持するトポロジ情報の一例を示す図である。 Figure 5 is a diagram showing an example of topology information that the programmable flow controller holds according to the present invention. 図6は、本発明によるプログラマブルフローコントローラが保持する通信経路情報の一例を示す図である。 Figure 6 is a diagram illustrating an example of a communication path information programmable flow controller according to the present invention holds. 図7は、本発明によるプログラマブルフロースイッチの実施の形態における構成を示す図である。 Figure 7 is a diagram showing a structure of the embodiment of a programmable flow switch according to the present invention. 図8は、本発明によるプログラマブルフロースイッチが保持するフローテーブルの一例を示す図である。 Figure 8 is a diagram showing an example of a flow table that programmable flow switch is held in accordance with the present invention. 図9は、本発明に係るプログラマブルフロー制御を説明するための図である。 Figure 9 is a diagram for explaining a programmable flow control according to the present invention. 図10は、本発明によるプログラマブルフロースイッチにおいて変更されたパケットデータの構造を示す図である。 Figure 10 is a diagram showing a structure of a modified packet data in a programmable flow switch according to the present invention. 図11Aは、本発明によるコンピュータシステムの実施の形態における通信経路の構築処理(フローテーブル更新処理)及びパケット転送処理の動作を示すシーケンス図である。 Figure 11A is a sequence diagram showing the operation of the construction process (flow table updating process), and the packet forwarding process of the communication path in the embodiment of a computer system according to the present invention. 図11Bは、本発明によるコンピュータシステムの実施の形態における通信経路の構築処理(フローテーブル更新処理)及びパケット転送処理の動作を示すシーケンス図である。 Figure 11B is a sequence diagram showing the operation of the construction process (flow table updating process), and the packet forwarding process of the communication path in the embodiment of a computer system according to the present invention. 図12は、本発明によるプログラマブルフロースイッチにおけるパケット転送動作の一例を示すフロー図である。 Figure 12 is a flow diagram showing an example of a packet transfer operation in a programmable flow switch according to the present invention. 図13は、本発明による複数のプログラマブルフローコントローラによって算出された通信経路の一例を示す図である。 Figure 13 is a diagram showing an example of a communication route calculated by a plurality of programmable flow controller according to the present invention.

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

(コンピュータシステムの構成) (The configuration of the computer system)
図2を参照して、本発明によるコンピュータシステムの構成を説明する。 Referring to FIG. 2, the configuration of the computer system according to the invention. 図2は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。 Figure 2 is a diagram showing a structure of embodiment of a computer system according to the present invention. 本発明によるコンピュータシステムは、オープンフローを利用して通信経路の構築及びパケットデータの転送制御を行う。 Computer system according to the present invention performs the transfer control of construction and packet data communication path by using the open flow. 図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を具備する。 Referring to FIG. 2, the computer system according to the invention, a programmable flow controller 1-1 to 1-m (hereinafter, referred to as PFC1-1~1-m), a plurality of programmable switches 2-1 to 2-n ( hereinafter, the switch group 20 having referred to PFS2-1~2-n), a plurality of host computers 3-1 to 3-i (hereinafter, referred to as the host 3-1 to 3-i) comprises a host group 30 having a to. ただし、m、n、iは2以上の自然数である。 However, m, n, i is a natural number of 2 or more. 又、PFC1−1〜1−mを区別せずに総称する場合はPFC1と称し、PFS2−1〜2−nを区別せずに総称する場合はPFS2と称し、ホスト3−1〜3−iを区別せずに総称する場合はホスト3と称して説明する。 Further, called PFC1 case of collectively without distinction PFC1-1~1-m, may be collectively without distinction PFS2-1~2-n is referred to as PFS2, host 3-1 to 3-i If collectively without distinction it is are referred to as the host 3.

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

PFC1は、オープンフロー技術により、システム内におけるパケット転送に係る通信経路パケット転送処理を制御するスイッチ制御部11を備える。 PFC1 is by the open flow technique, a switch control unit 11 for controlling the communication path packet transfer processing according to the packet transfer in the system. オープンフロー技術とは、コントローラ(ここではPFC1)が、ルーティングポリシー(フローエントリ:フロー+アクション)に従い、マルチレイヤ及びフロー単位の経路情報をPFS2に設定し、経路制御やノード制御を行う技術を示す(詳細は、非特許文献1を参照)。 Open flow technique and has a controller (PFC1 here), routing policy: shown in accordance (flow entry flow + action), sets the routing information of the multi-layer and flow units PFS2, a technique for routing and node control (for details, see non-Patent Document 1). これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。 Thus, the path control function is separated from the routers and switches, optimal routing by centralized control of the controller, thereby enabling traffic management. オープンフロー技術が適用されるPFS2は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、END2ENDのフローとして通信を取り扱う。 PFS2 the open flow technique is applied, rather than in units of packets or frames as in conventional routers and switches, handles communications as flow End2End.

PFC1は、PFS2が保持するフローテーブル25にフローエントリ(ルール+アクション)を設定することで当該PFS2の動作(例えばパケットデータの中継動作や廃棄)を制御する。 PFC1 controls the operation of the PFS2 (eg relay operation and disposal of packet data) by setting a flow entry (rule + action) to flow table 25 PFS2 held. 本発明によるPFC1は、PFC1自身に付与(又は予め設定された)識別子(以下、コントローラID17と称す)を加えたフローエントリを、経路上のPFS2に設定する。 PFC1 according to the invention, PFC1 itself grant (or preset) identifier flow entry plus (hereinafter, referred to as the controller ID 17), set to PFS2 on the route.

図3を参照して、PFC1の構成の詳細を説明する。 Referring to FIG. 3, details of construction of PFC1. 図3は、本発明によるPFC1の構成を示す図である。 Figure 3 is a diagram showing a configuration of PFC1 according to the invention. PFC1は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。 PFC1, it is preferable to be implemented by a computer having a CPU and a storage device. PFC1では、図示しないCPUが記憶装置に格納されたプログラムを実行することで、図3に示すスイッチ制御部11、フロー管理部12、フロー生成部13の各機能が実現される。 In PFC1, by executing a program by a CPU (not shown) stored in the storage device, the switch control unit 11 shown in FIG. 3, the flow management unit 12, the function of the flow generator 13 is realized. 又、PFC1は、それぞれが図示しない記憶装置に格納されたフローテーブル14、トポロジ情報15、通信経路情報16、及びコントローラID17を備える。 Further, PFC1, the flow table 14 stored in the storage device, each not shown, the topology information 15, the communication path information 16, and a controller ID 17. 尚、コントローラID17は、予めPFC1毎にユニークに設定されていても良いし、PFS2からの通知されたコントローラID17が設定されても良い。 The controller ID17 may be are uniquely set in advance for each PFC1, it may be configured notified controller ID17 from PFS2.

スイッチ制御部11は、フローテーブル14に従ってPFS2毎にフローエントリ(ルール+アクション)の設定又は削除を行う。 The switch control unit 11 performs setting or deleting the flow according to the flow table 14 for each PFS2 entry (rule + action). この際、スイッチ制御部11は、フローエントリ(ルール+アクション情報)にコントローラID17を対応付けてPFS2のフローテーブル25に設定する。 At this time, the switch control unit 11 sets the flow table 25 of PFS2 associates the controller ID17 to flow entry (rule + action information). 又、PFS2に対するフローテーブルの更新(フローエントリの設定又は削除)は、通信経路上においてフローの宛先装置側から送信元装置に向かって順に行われる。 Further, (set or remove flow entries) updating the flow table for PFS2 is sequentially performed toward the source device from the destination device side of the flow on a communication path. PFS2は、設定された少なくとも1つのフローエントリ中から選択したフローエントリを参照し、受信パケットのヘッダ情報に応じたルールに対応するアクション(例えばパケットデータの中継や破棄)を実行する。 PFS2 refers to the flow entry selected from among at least one flow entry that is set to perform an action corresponding to the rule in accordance with the header information of the received packet (e.g., packet data gateway and discarded). ルール、アクションの詳細は後述する。 Rules, the details of the action will be described later.

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

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

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

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

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

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

本発明によるフローテーブル14には、フローエントリ毎に経路決定者識別子147が設定される。 The flow table 14 according to the present invention, the path determination identifier 147 for each flow entry is set. 本発明によるPFS2は、自身に設定された少なくとも1つのフローエントリの中から、パケット転送に利用するフローエントリを選択し、当該フローエントリを設定したPFC1を経路決定者に指定する。 PFS2 according to the invention, from among the at least one flow entry is set to itself, to select a flow entry to be used for packet transfer, specify the PFC1 set the flow entry in the route decider. PFC1は、経路決定者識別子147として、経路決定者に指定されたか否かを示す情報をフローエントリ毎に記録する。 PFC1 as path determination identifier 147 records the information indicating whether it is specified in the route decider for each flow entry. 例えば、経路決定者識別子147として、経路決定者として指定されたPFC1(自身)のコントローラID17が記録される。 For example, the path determining identifier 147, the controller ID17 of PFC1 designated as a route decider (itself) is recorded. この場合、コントローラID17が対応付けられていないフローエントリ(ルール144+アクション145)は使用されず、他のPFC1が設定したフローエントリが使用されたものと確認できる。 In this case, the flow entry (Rule 144Tasu action 145) the controller ID17 is not associated is not used, it can be confirmed as the flow entry other PFC1 was set was used. あるいは、PFS2から経路決定者として指定された場合、経路決定者識別子147として初期値(例えば“0”)と異なる値(例えば“1”)を設定してもよい。 Alternatively, if it is designated as a route makers from PFS2, an initial value (e.g. "0") different values ​​(e.g., "1") may be set as a path determined identifier 147. この場合、経路決定者として指定されない場合は、経路決定者識別子147が初期値を維持する。 In this case, if not specified as a route decider, route determination identifier 147 to maintain the initial value. 以上のように、本発明によるPFC1は、経路決定者識別子147を確認することで、自身が経路決定者か否かをフロー毎に確認できる。 As described above, PFC1 according to the present invention, by checking the routing decision identifier 147, it is able to check whether the route decider for each flow.

フロー管理部12は、フロー生成部13によって生成されたフロー(ルール144+アクション情報145)にフロー識別子141をつけて記憶装置に記録する。 Flow management unit 12 records in the storage device with a flow identifier 141 to the flow generated by the flow generator 13 (rule 144Tasu action information 145). この際、フローエントリを適用する通信経路の識別子(経路情報143)やフローエントリを適用するPFS2の識別子(対象装置142)、及び経路決定者識別子147が、フローエントリ(ルール144+アクション情報145)に付されて記録される。 At this time, the identifier of the communication path for applying a flow entry (route information 143) and applying a flow entry PFS2 identifier (target device 142), and path determination identifier 147, the flow entry (rule 144Tasu action information 145) attached are to be recorded. ここで、フロー管理部12は、PFS2から経路決定者に指定された場合、自身が経路決定者に指定されたことを示す情報を経路決定者識別子147に設定する。 Here, the flow management unit 12, when it is specified in the route decider from PFS2, sets information indicating that it has been designated in the path-makers in the path determination identifier 147.

又、フロー管理部12は、フローテーブル14を参照して、ファーストパケットのヘッダ情報に対応するフローエントリ(ルール144+アクション情報145)を抽出し、スイッチ制御部11に通知する。 Further, the flow management unit 12 refers to the flow table 14 to extract a flow entry (rule 144Tasu action information 145) corresponding to the header information of the first packet, and notifies the switching control unit 11. スイッチ制御部11は、通知されたフローエントリ(ルール144+アクション情報145)にコントローラIDを付加し、当該フローエントリに対応付けられた対象装置142(PFS2)に設定する。 The switch control unit 11 adds the controller ID to the notified flow entries (Rule 144Tasu action information 145) is set to the target device 142 (PFS2) associated with the flow entry.

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

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

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

以上のような構成により、本発明によるPFC1は、PFS2からのファーストパケットの受信通知(フローエントリの設定要求)に応じて、当該パケットを転送させるためのフローエントリを生成するとともに、生成したフローエントリを、算出した通信経路上のPFS2に設定する。 With the above configuration, PFC1 according to the invention, in response to receiving notification of the first packet from PFS2 (flow entry setting request), to generate a flow entry for transferring the packet, the flow entry generated and sets the PFS2 on the calculated communication path. この際、設定するフローエントリには、PFC1に固有のコントローラID17が対応付けられている。 At this time, the flow entry to be set, is associated with a unique controller ID17 to PFC1.

図7は、本発明によるPFS2の実施の形態における構成を示す図である。 Figure 7 is a diagram illustrating the construction of an embodiment of the PFS2 according to the invention. PFS2は、PFC1によって設定(更新)されたフローテーブル25に従って受信パケットの処理方法(アクション)を決定する。 PFS2 determines how to process the received packet (Action) in accordance with the flow table 25 that has been set (updated) by PFC1. PFS2は、転送処理部21、フロー設定部22、経路決定者設定部23、パケット修正部24を備える。 PFS2 includes transfer processing section 21, the flow setting unit 22, the route decider setting unit 23, the packet modifying section 24. 転送処理部21、フロー設定部22、経路決定者設定部23、パケット修正部24は、ハードウェアで構成されても、CPUによって実行されるソフトウェアで実現してもどちらでも良い。 Transfer processing unit 21, the flow setting unit 22, the route decider setting unit 23, the packet modifying section 24, be configured by hardware, may be either be realized by software executed by the CPU.

PFS2の記憶装置には、図8に示すようなフローテーブル25が設定される。 The storage device of PFS2, flow table 25, as shown in FIG. 8 is set. フローテーブル25は、PFC1によるフローエントリ設定指示(フローテーブル更新指示)に応じて、PFC1から送信されたフローエントリ(ルール144+アクション情報145)及びコントローラID17が対応付けられて設定される。 Flow table 25, depending on the flow entry setting instruction (flow table update instruction) by PFC1, flow entries sent from PFC1 (Rule 144Tasu action information 145) and a controller ID17 are set in association. コントローラID17により、フローテーブル25に設定されたフローエントリ(アクション情報145)がどのPFC1によって設定されたかを確認することができる。 The controller ID 17, it is possible to check whether set by the flow entry (action information 145) what PFC1 set in the flow table 25.

本発明では、同じルール144に対して複数のアクション情報145が設定され得る。 In the present invention, a plurality of action information 145 may be set to the same rules 144. このため、受信パケットに対する処理(アクション)を一義的に決めるための経路決定者識別子231が、処理に使用するフローエントリのルール144に対応付けられて設定される。 Accordingly, the path determination identifier 231 to determine uniquely the processing for the received packet (Action) is set in association with the rule 144 of the flow entry to be used for processing. 本発明では、PFS2に設定されるフローエントリには設定元のコントローラID17が付されているため、コントローラID17を利用して、受信パケットに対するアクション(処理内容)を特定することが好ましい。 In the present invention, because they are given the set source controller ID17 for flow entries configured to PFS2, by using the controller ID17, it is preferable to identify the action (processing contents) for the received packet. 従って、経路決定者識別子231は、使用するアクション情報145を設定したコントローラID17を特定する情報であることが好ましい。 Accordingly, the path determination identifier 231 is preferably information identifying the controller ID17 set action information 145 to be used. 経路決定者識別子231によって、使用するアクション情報145のみならず、アクション情報145を設定したPFC1を特定することができる。 By a route determined identifier 231 can identify PFC1 set not only the action information 145 using the action information 145.

又、経路決定者識別子231が付与されたフローエントリ(ルール144+アクション情報145)の使用回数が記録される回数情報232が、当該経路決定者識別子231又はルール144に対応付けられて設定されることが好ましい。 Further, the number of times information 232 in which the number of times of use is recorded in the flow entry path determining identifier 231 is assigned (rule 144Tasu action information 145) is set in association with the path determination identifier 231 or Rule 144 It is preferred. 回数情報232により、フローエントリの使用回数、すなわち、フローテーブル25に設定されたルール144に適合するパケットの受信回数や処理回数を確認することができる。 The count information 232, number of uses flow entry, i.e., it is possible to confirm the number of receptions and the number of times of processing packets matching rule 144 set in the flow table 25.

転送処理部21は、フローテーブル25に設定されたフローエントリ(ルール144+アクション情報145)に従った転送先に受信パケットを転送する。 Transfer processing section 21 transfers the received packet to the transfer destination in accordance with the flow set in the flow table 25 entries (Rule 144Tasu action information 145). 本発明では、受信パケットのヘッダ情報に適合するルール144に対して複数のアクション情報145がフローテーブル25に設定されている場合がある。 In the present invention, a plurality of action information 145 with respect to matching rule 144 in the header information of the received packet is set in the flow table 25. このため、本発明による転送処理部21は、経路決定者識別子231によって特定されたアクション情報145に従って転送処理を行う。 Therefore, the transfer processing unit 21 according to the present invention performs a transfer process according to the action information 145 specified by the path determination identifier 231.

転送処理部21は、受信パケットに対する処理(例えば転送処理)を実行すると、処理回数をカウントアップし、受信パケットに対応するフローエントリの回数情報232を更新する。 Transfer processing unit 21, and executes the process for the received packet (e.g., transfer process), the process number is counted up to update the number information 232 of the flow entry corresponding to the received packet.

フロー設定部22は、PFC1からのフローテーブル更新指示に応じて、PFC1から送信されるフローエントリ(ルール144+アクション情報145)をフローテーブル25に設定する。 Flow setting unit 22, in accordance with the flow table update instruction from PFC1, set the flow entry (rule 144Tasu action information 145) flow table 25 sent from PFC1. 詳細には、フロー設定部22は、受信パケットに適合したフローエントリがフローテーブル25に設定されていない場合、すなわち、ファーストパケットを受信した場合、当該ファーストパケットをPFC1−1〜1−mに通知するとともに、フローテーブルの更新を要求する。 In particular, the flow setting unit 22 notifies if the flow entry that matches the received packet is not set in the flow table 25, i.e., when receiving the first packet, the first packet in PFC1-1~1-m as well as to request the updating of the flow table. 又、PFC1−1〜1−mからのフローテーブルの更新指示を受けたフロー設定部22は、PFC1−1〜1−mからから送信されたフローエントリ(ルール144+アクション情報145)及びコントローラID17を自身のフローテーブル25に設定する。 Further, the flow setting unit 22 which has received the instruction for updating the flow table from PFC1-1~1-m is a PFC1-1~1-m Karakara sent flow entries (Rule 144Tasu action information 145) and the controller ID17 set in its own flow table 25.

PFS2には、PFC1−1〜1−mのそれぞれからフローエントリが設定されため、PFS2のフローテーブル25には、ファーストパケットに適合するフローエントリが複数設定される。 The PFS2, since the set flow entry from each PFC1-1~1-m, the flow table 25 of PFS2, matching flow entry is more set the fast packet. すなわち、同じルール144に対して複数の異なるアクション情報145が設定されることとなる。 That is, the action information 145 different is to be set to the same rules 144. 本発明では、コントローラID17により、設定されたフローエントリ(アクション情報145)がどのPFC1によって設定されたかを確認することができる。 In the present invention, the controller ID 17, it is possible to check whether set by the set flow entries (action information 145) what PFC1.

本発明による経路決定者設定部23は、ファーストパケットを受信した場合と、それ以外のパケットデータ(フローテーブル25に設定されているフローエントリに適合するパケットデータ)を受信した場合とで、その動作が異なる。 In route decider setting unit 23 according to the present invention includes a case of receiving the first packet, and when receiving the other packet data (packets conforming data flow entry set in the flow table 25), the operation It is different. すなわち、PFS2は、ファーストパケットを受信してからファーストパケットを次のノード(例えばPFS2)に転送するまでの間は、経路決定者選択モードとして動作し、その他の期間は通常モードとして動作する。 That, PFS2 is during the period from the reception of the first packet before forwarding the first packet to the next node (e.g. PFS2) operates as a route decider selection mode, other periods operates as a normal mode.

先ず、経路決定者選択モードにおける経路決定者設定部23の動作を説明する。 First, the operation of the route decider setting unit 23 in the route determination user selection mode. 経路決定者設定部23は、ファーストパケットを通知(フローテーブル更新要求)した複数のPFC1−1〜1−mのうち、最初にフローテーブルの更新を自身に指示したPFC1を、経路決定者として指定する。 Route decider setting unit 23, among the plurality of PFC1-1~1-m which has notified the first packet (flow table update request), specify first the PFC1 that instructs the own updates flow table, as a route decider to. この際、経路決定者設定部23は、経路決定者として指定したPFC1のコントローラID17に経路決定者識別子231を設定する。 At this time, the route decider setting unit 23 sets the path determination identifier 231 to the controller ID17 of PFC1 specified as a route decider. これにより、ルール144に適合するパケットデータに対するアクション情報145(処理方法)を経路決定者識別子231によって特定することができる。 Thus, the action information 145 for matching the packet data to rule 144 (processing method) may be identified by the path determined identifier 231. 経路決定者設定部23は、経路決定者識別子231を設定したコントローラID17のPFC1に対し、経路決定者として指定する情報、及び経路決定者を設定したルール144を送信する。 Route decider setting unit 23, to PFC1 controller ID17 set routing decisions identifier 231, and transmits information specifying a route decider, and rules 144 set a route decider. 又、経路決定者の指定後、フロー設定部22は、PFC1からのフローテーブルの更新指示を無視(拒否)することが好ましい。 Further, after designation of the route decider, flow setting unit 22 is preferably ignored (reject) the instruction for updating the flow table from PFC1.

次に、通常モードにおける経路決定者設定部23の動作を説明する。 Next, the operation of the route decider setting unit 23 in the normal mode. 経路決定者設定部23は、受信パケットに含まれる経理決定者情報18と一致するコントローラID17に経路決定者識別子231を設定する。 Route decider setting unit 23 sets the path determination identifier 231 to the controller ID17 consistent with accounting makers information 18 included in the received packet. 詳細には、経路決定者設定部23は、フローテーブル25に設定されたルール144に適合するパケットを受信した場合、当該パケットの受信回数(転送回数)を回数情報232で確認する。 In particular, the route decider setting unit 23, when receiving the packets that match the rule 144 set in the flow table 25, to confirm the number of receptions of the packets (transfer count) times information 232. この際、ルール144に適合するパケットの受信が初回である場合、経路決定者設定部23は、受信パケットから抽出した経路決定者情報18に一致するコントローラIDが付加されたフローエントリ(アクション情報145)に、経路決定者識別子231を設定する。 At this time, when reception of the packet matching the rule 144 is the first time, the route decider setting unit 23, the flow entry controller ID that matches the route determining user information 18 extracted from the received packet is added (action information 145 ), the set routing decisions identifier 231. 又、経路決定者の指定後(経路決定者識別子231の設定後)、フロー設定部22は、PFC1によって設定された他のフローエントリを削除することが好ましい。 Also, (after setting the route determination identifier 231) after the specified route determining's flow setting unit 22, it is preferable to remove the other flow entries set by PFC1. 一方、受信回数が2回目以降である場合、経路決定者設定部23は、自身のフローテーブル25を参照し、経路決定者識別子231が付されたフローエントリ(アクション情報145)に従って、受信パケットの処理(例えば転送処理)を行う。 On the other hand, if the number of receptions is second or subsequent route decider setting unit 23 refers to its own flow table 25, in accordance with the flow entry route determined identifier 231 attached (action information 145), the received packet process (e.g., transfer process).

パケット修正部24は、ファーストパケットを受信したPFS2において動作し、図10に示すように、ファーストパケット105に経路決定者情報18を追加して新たなパケットデータ90(以下、経路決定者情報付パケット90と称す)を作成する。 Packet modifying section 24 operates in PFS2 that received the first packet, as shown in FIG. 10, by adding a route determining user information 18 to the first packet 105 new packet data 90 (hereinafter, the packet with the route decider information to create a referred to as 90). 転送処理部21は、ファーストパケットを送信する際、パケット修正部24によって生成された経路決定者情報付パケット90を転送する。 Transfer processing unit 21, when transmitting the first packet, and transfers the route determining user information attached packet 90 generated by the packet modifying section 24.

転送処理部21によるファーストパケットの転送処理は、新しくフローエントリ(ルール144+アクション145)が設定され、経路決定者識別子231が設定されたことをトリガとして実施されることが好ましい。 Transfer process first packet by the forwarding processing section 21 is set new flow entry (Rule 144Tasu action 145), it preferably carried out as a trigger for path determination identifier 231 is set. この際、転送処理部21は、パケット修正部24によって生成された経路決定者付パケット90を転送する。 At this time, the transfer processing section 21 transfers the route decider with packet 90 generated by the packet modifying section 24.

以上のように、本発明によるコンピュータシステムでは、複数のPFC3−1〜3−iによってフロー(パケット)を転送するための通信経路が構築されるため、PFC3−1〜3−iのいずれかに障害が発生してもパケット転送が可能となる。 As described above, in the computer system according to the invention, since the communication path for transferring flow (packet) by a plurality of PFC3-1~3-i is constructed, in any of PFC3-1~3-i failure is possible even packet transfer occurred. 又、フローエントリ(ルール144+アクション情報145)には、PFC3毎に固有のコントローラID17が付与されている。 Further, the flow entry (rule 144Tasu action information 145), a unique controller ID17 are assigned to each PFC3. このため、同じルール144に対して複数のアクション情報145が設定されていても、コントローラID17を使用決定者として指定することで、使用するアクション情報145を特定することができる。 Therefore, be set a plurality of action information 145 for the same rule 144, by specifying the controller ID17 as used makers, it is possible to specify the action information 145 to be used. すなわち、複数のPFC3によってフローエントリが設定されてもPFS2が使用するフローエントリは常に1つとなるため、PFS2は、誤動作せずにパケットを転送することができる。 That is, since the PFS2 be set flow entry by multiple PFC3 a flow entry to be used is always one, PFS2 may forward the packet without malfunction.

又、本発明では、フローテーブルの更新が、宛先ホスト側のPFS2から送信元ホスト側のPFS2(ファーストパケットを受信したPFS2)に向かって順に行われる。 In the present invention, updating of the flow table is performed in order from PFS2 destination host to the PFS2 source host side (PFS2 that received the first packet). このため、ファーストパケットを通知したPFS2のフローテーブル25が更新された時点で、送信元のホスト3から宛先のホスト3までの通信経路上の全てのPFS2のフローテーブル25が更新されたことになる。 Therefore, so that the flow table 25 PFS2 which notifies the first packet at the time of the update, flow table 25 for all PFS2 on the communication path from the source host 3 to the host 3 destination is updated . すなわち、ファーストパケットを通知したPFS2のフローテーブル25を最初に更新したPFC1は、複数のPFC1のうち、通信経路上の全てのPFS2のフローテーブル25を更新した最初のPFC1となる。 That, PFC1 updating the flow table 25 PFS2 which notifies the first packet for the first time, among the plurality of PFC1, the first PFC1 updating all PFS2 flow table 25 on the communication path.

(通信経路の構築及びパケット転送動作) (Construction and packet forwarding operation of the communication path)
図11A、Bから図13を参照して、本発明によるコンピュータシステムにおける通信経路の構築動作の詳細を説明する。 FIG. 11A, with reference to FIG. 13 B, and described the details of the construction operation of the communication path in a computer system according to the present invention. 以下では、ホスト3−1からホスト3−iに対してパケットデータを送信し、それぞれの間の通信経路を構築する動作について説明する。 Hereinafter, it transmits the packet data from the host 3-1 to the host 3-i, the operation will be described to establish communication paths between each. 又、ここでは、PFS2−1がホスト3−1からファーストパケットを受信するものとする。 Further, here, it is assumed that PFS2-1 receives a first packet from the host 3-1. 更に、PFC1−1のコントローラID17として“1011”が設定され、PFC1−2のコントローラID17として“1012”が設定され、以下同様に、PFC1−mのコントローラID17として“101m”が設定されるものとする。 Furthermore, is set to "1011" as a controller ID17 of PFC1-1, is set to "1012" as a controller ID17 of PFC1-2, Similarly, to that set "101 m" as a controller ID17 of PFC1-m to.

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

PFS2−1はホスト3−1から受け取ったパケット内にあるヘッダ情報(送信先情報)を参照し、PFS2−1内部で保持しているフローテーブル25から該当エントリを探す(ステップS102)。 PFS2-1 refers to the header information (destination information) in the packet received from the host 3-1, Find the entry from flow table 25 held inside PFS2-1 (step S102). ここで、ヘッダ情報に対応するフローエントリ(ルール144)がある場合、当該エントリで規定されたアクション情報145に基づいた転送先のノードに受信パケットを転送する(ステップS102No、S119)。 Here, if there is a flow entry (Rule 144) corresponding to the header information, and transfers the received packet to the destination node based on the action information 145 defined in the entry (step S102No, S119).

一方、ヘッダ情報に対応するフローエントリがフローテーブル25にない場合、PFS2−1はファーストパケットを受信したと判定し、ファーストパケットの受信をPFC1−1〜1−mのそれぞれに通知する(ステップS102Yes、S103、S104)。 On the other hand, the flow entry corresponding to the header information is not in flow table 25, PFS2-1 determines that it has received the first packet, and notifies the reception of the first packet to each of PFC1-1~1-m (Step S102Yes , S103, S104). この際、PFS2−1は、フローテーブルの更新要求とともにファーストパケット(又はヘッダ情報)をPFC1−1〜1−mに送信する。 At this time, PFS2-1 transmits with update request flow table first packet (or header information) to PFC1-1~1-m. 以下、PFS2−1を要求元PFS2−1と称して説明する。 Hereinafter, it will be referred as the requesting PFS2-1 the PFS2-1.

ファーストパケットの受信通知を受け付けたPFC1−1〜1−mのそれぞれは、当該フロー(パケット)に対する通信経路の算出、フローエントリの生成、及びPFS2に対するフローエントリの設定(フローテーブル25の更新)を行う(ステップS105〜S112)。 Each PFC1-1~1-m receives an incoming notification first packet, the calculation of the communication path to the flow (packet), the generation of the flow entry, and setting the flow entry for PFS2 (updated flow table 25) (step S105~S112). 詳細には、PFS2−1からファーストパケットを受け取ったPFC1−1は、パケット内に含まれている送信元ホストや宛先ホストのMACアドレスやIPアドレスなど、OpenFlowとして規定されている情報を元に経路を決定し、当該経路上のPFS2に設定するフローエントリを生成する(ステップS105)。 Path Specifically, the PFC1-1 having received the first packet from PFS2-1, such as a MAC address and IP address of the source host and destination host is included in the packet, based on the information specified as OpenFlow It determines, to generate a flow entry set to PFS2 on the route (step S105).

PFC1−1は、生成したフローエントリにPFC1−1のコントローラID17“1011”を付与して、宛先ホスト側のPFS2−nから順にフローテーブル25の更新を行う(ステップS106〜S109)。 PFC1-1 is to impart controller ID 17 "1011" of PFC1-1 the generated flow entry, and updates the flow table 25 from PFS2-n of the destination host to the order (step S106~S109). 詳細には、PFC1−1は、先ず、宛先のホスト3−iに最も近いPFS2−nに対してPFC1−1のコントローラID17“1011”を付与したフローエントリを送信する(ステップS106)。 Specifically, PFC1-1 first transmits a flow entry imparted with the controller ID 17 "1011" of PFC1-1 to the nearest PFS2-n to the host 3-i of the destination (step S106). PFS2−nは、PFC1−1からのフローテーブルの更新指示に応じて、送信されたフローエントリを設定する(ステップS107)。 PFS2-n, in accordance with the instruction for updating the flow table from PFC1-1, sets a flow entry that has been transmitted (step S107). 同様に、PFC1−1は、算出した経路上を送信元側に方向に遡り、1つ前のPFS2に対して順にフローテーブルを更新し、最後に送信元のホスト3−1に最も近い要求元PFS2−1フローテーブルを更新する(ステップS108、S109)。 Similarly, PFC1-1 dates back the calculated route on the direction to the source side, and updates the flow table in the order with respect to the previous PFS2, finally nearest requesting the source host 3-1 PFS2-1 updates the flow table (step S108, S109).

フローエントリの更新処理は、他のPFC1−2〜1−mも同様に行う。 Updating of flow entries, likewise performed other PFC1-2~1-m. 例えば、PFC1−mは、生成したフローエントリにPFC1−mのコントローラID17“101m”を付与して、宛先ホスト側のPFS2−nから順にフローテーブル25の更新を行う(ステップS110〜S112)。 For example, PFC1-m is to impart controller ID 17 "101 m" of PFC1-m in the generated flow entry, and updates the flow table 25 from PFS2-n of the destination host to the order (step S110 to S112). 又、PFC1−mは、算出した経路上を送信元側に方向に遡り、1つ前のPFS2に対して順にフローテーブルを更新し、最後に送信元のホスト3−1に最も近いPFS2−1フローテーブルを更新する。 Further, PFC1-m dates back the calculated route on the direction to the source side, and updates the flow table in the order with respect to the previous PFS2, closest to the source host 3-1 last PFS2-1 to update the flow table.

PFC1−1〜1−mによるPFS2に対するフローテーブルの更新処理は、それぞれ同期することなく独立的に実施される。 Updating the flow table for PFS2 by PFC1-1~1-m is independently performed without synchronization respectively. このため、フローテーブルの更新順序は、図11A、Bに示す順とは限らない。 Therefore, updating the order of the flow table does not always order shown in FIG. 11A, B. 又、ファーストパケットの受信通知を受け取るタイミングや経路計算開始時のタイミングの違いから、ネットワーク上の機器の状態が変化している可能性があり、必ずしも一致しているとは限らない。 Also, the timing difference between the time of receiving notification of receiving timing and the path computation initial to the first packet, there is a possibility that the state of the devices on the network has changed, not always necessarily coincide. このため、PFC1−1〜1−mのそれぞれが算出した通信経路や、フローエントリの設定対象となるPFS2は異なる場合がある。 Therefore, and communication path calculated by each PFC1-1~1-m, the setting target of the flow entry PFS2 may be different.

PFC1−1〜1−mによるフローテーブルの更新処理により、PFS2には、1つのルールに対して複数(最大m個)のアクション情報145が設定される。 The process of updating the flow table by PFC1-1~1-m, the PFS2, action information 145 of a plurality (more than m) is set for a rule. ただし、それぞれのアクション情報145には、設定元のPFC1に対応するコントローラID17が対応付けられて記録される。 However, each action information 145, is recorded controller ID17 is associated corresponding to PFC1 setting source.

ここで、PFC1−1〜1−mのいずれかによって要求元PFS2−1に対してフローエントリの設定指示(フローテーブルの更新指示)が出されると、要求元PFS2−1は、経路決定者を設定する(ステップS113)。 Here, the setting instruction of a flow entry (instruction for updating the flow table) is issued to the requesting PFS2-1 by either PFC1-1~1-m, requesting PFS2-1 is a route decider set (step S113). ここでは、PFC1−1が最初に要求元PFS2−1のフローテーブル25を更新し、経路決定者として設定されるものとする。 Here, first updates the flow table 25 of the requesting PFS2-1 is PFC1-1, it shall be set as a route decider. 要求元PFS2−1は、PFC1−1によって設定されたフローエントリ(ルール144+アクション情報145)に経路決定者識別子231を対応付けて設定する。 Requesting PFS2-1 sets associates routing decisions identifier 231 to the flow entry set by PFC1-1 (Rule 144Tasu action information 145). 又、これ以降、要求元PFS2−1において、経路決定者として指定しないPFC1によるフローテーブルの更新指示は無視(拒否)される。 Further, subsequent, in requesting PFS2-1, the instruction for updating the flow table by PFC1 not specified as a route decider is ignored (rejected).

要求元PFS2−1は、経路決定者識別子231を付与したフローエントリのコントローラID17に対応するPFC1を経路決定者に指定する(ステップS114)。 Requesting PFS2-1 specifies PFC1 corresponding to the controller ID17 of flow entries that grant path determination identifier 231 to route determination (Step S114). 例えば、PFC1−1を経路決定者に指定を指定する場合、PFC1−1に対して経路決定者を指定する情報(例えば経路決定者識別子231)とフローエントリを特定する情報(例えばルール144)を送信する。 For example, to specify the specify PFC1-1 the route decider, information identifying a flow entry information specifying a route decider against PFC1-1 (eg route determined identifier 231) (e.g., rule 144) Send. PFC1−1は、受信したルール144に対して、経路決定者を指定する情報(例えば経路決定者識別子231)を対応付けてフローテーブル14を更新する(ステップS115)。 PFC1-1, to the rule 144 received, updates the flow table 14 in association with information specifying a route decider (e.g. route determination identifier 231) (step S115). これにより、PFC1−1は、自身が設定し、制御及び管理可能なフロー及びその通信経路を確認することが可能となる。 Thus, PFC1-1 sets itself, it is possible to check the control and manageable flow and the communication path. すなわち、PFC1−1は、自身の構築した通信経路を利用したフローの一元制御及び管理が可能となる。 That, PFC1-1 is enabled centralized control and management of the flow using a communication path built in itself.

要求元PFS2−1は、ステップS114における経路決定者の指定の後、又はこれと同時的に他のPFC1(ここではPFC1−2〜1−m)に対して、経路決定者を通知する(ステップS116)。 Requesting PFS2-1 after the route determination's specification in step S114, or concurrently other PFC1 (here PFC1-2~1-m) and contrast, and notifies the route determination (Step S116). 要求元PFS2−1は、PFC1−2〜1−mに対して経路決定者ではないことを示す情報とフローエントリを特定する情報(例えばルール144)を送信する。 Requesting PFS2-1 transmits information (e.g., rules 144) that identifies the information and flow entry indicating that it is not a route decider against PFC1-2~1-m. 経路決定者として選択されなかったPFC1−2〜1−mは、自身のフローテーブル14から、PFS2−1から通知されたルール144を含むフローエントリを削除する(ステップS117)。 PFC1-2~1-m that are not selected as the route makers, from its own flow table 14 deletes the flow entry including a rule 144 notified from PFS2-1 (step S117). 又、経路決定者として選択されなかったPFC1−2〜1−mは、フローエントリの生成途中である場合、PFS2−1から通知されたルール144を含むフローエントリの生成を停止することが好ましい。 Further, PFC1-2~1-m that are not selected as the route makers, when in the course generation of flow entry, it is preferable to stop the generation of the flow entry including a rule 144 notified from PFS2-1. このように、使用しないフローエントリの削除や、使用しないフローエントリの生成を中止することで、PFC1における記憶領域の無駄や処理負荷の増大を防止することができる。 Thus, deletion of flow entry is not used, that stops the generation of the flow entry is not used, it is possible to prevent an increase in waste and processing load of the storage area in PFC1. ただし、ステップS116及びS117の処理は省略してもよい。 However, the processing of steps S116 and S117 may be omitted.

要求元PFS2−1は、経路決定者を設定(指定)すると、ファーストパケット105に経路決定者情報18を追加して経路決定者情報付パケット90を生成及び送信する(ステップS118)。 Requesting PFS2-1 is set a route decider (specified), the generating and transmitting path determining user information with the packet 90 by adding the routing decision maker information 18 to first packet 105 (step S118). この際、要求元PFS2−1は、経路決定者であるPFC1−1のコントローラID“1011”を経路決定者情報18としてファーストパケット105に追加して経路決定者情報付パケット90を生成する。 In this case, the requesting PFS2-1 generates route determining user information with the packet 90 by adding the first packet 105 to the controller ID "1011" which is the route decider PFC1-1 as the route decider information 18. そして、コントローラID“1011”が付されたアクション情報145に従った転送先に当該パケット90を転送する。 Then, it forwards the packet 90 to the destination controller ID "1011" is in accordance with the action information 145 attached.

経路決定者情報付パケット90を受信したPFS2は、経路決定者情報付パケット90のヘッダ情報に適合するルール144に対応する複数のアクション情報145から、経路決定者情報付パケット90内の経路決定者情報18と一致するコントローラID17が付加されたアクション情報145を抽出する。 Receiving the route determining user information with the packet 90 PFS2 from a plurality of action information 145 corresponding to the matching rule 144 in the header information of the route decider information attached packet 90, the route decider in the path makers information attached packet 90 to extract action information 145 controller ID17 is added to match the information 18. そしてPFS2は、抽出したアクション情報145に従った処理(ここでは転送処理)を行う。 And PFS2 the extracted processing in accordance with the action information 145 (here transfer process) is performed. これにより、ファーストパケット105は、経路決定者(PFC1−1)によって設定された通信経路を経由して宛先のホスト3−iに送信される。 Thus, first packet 105, via a communication path set by the path makers (PFC1-1) is sent to the host 3-i of the destination.

経路決定者情報付パケット90を転送したPFS2は、経路決定者情報付パケット90に適合するルール144に対応するアクション情報145のうち、転送に利用しないアクション情報145を自身のフローテーブル25から削除することが好ましい。 Transferring the route determining user information with the packet 90 PFS2, among the action information 145 corresponding to the matching rule 144 to route determining user information with packet 90, to remove the action information 145 is not utilized in the transfer from its own flow table 25 it is preferable. この場合、PFS2は、経路決定者によって設定されたフローエントリのみを使用できるため、要求元PFS2−1は、ファーストパケット以外のパケットに経路決定者情報18を含めて転送する必要はない。 In this case, PFS2, since only the available flow entry set by the route decider, requesting PFS2-1 need not be transferred, including the route determining user information 18 other than the first packet packet.

又、PFS2は、ルール144に適合するパケットの処理回数をカウントアップし、回数情報232を更新する。 Further, PFS2 counts up the number of times of processing of packets matching the rule 144 and updates the number of times information 232.

以降、PFS2は、受信パケットに適合するフローエントリに従ってパケットデータを転送する(ステップS119)。 Later, PFS2 transfers the packet data in accordance with matching flow entry in the received packet (step S119). これにより、ホスト3−1からホスト3−iに対して送信されるパケットデータは、経路決定者(PFC1−1)によって各PFS2に設定されたアクション情報145に従って転送される。 Accordingly, the packet data sent from the host 3-1 to the host 3-i is transferred in accordance with the action information 145 set for each PFS2 by a route decider (PFC1-1). すなわち、ホスト3−1からホスト3−iに対して送信されるパケットデータは、経路決定者(PFC1−1)によって構築された通信経路を経由して宛先のホスト3−iに送信されることとなる。 That is, the packet data sent from the host 3-1 to the host 3-i may be transmitted to the host 3-i of the destination via the communication path built by the path makers (PFC1-1) to become.

一方、何らかの障害により、経路決定者付パケット90内の経路決定者情報18に一致するコントローラID17が、PFS2のフローテーブル25に設定されていないことがある。 On the other hand, due to some failure, the controller ID17 matching route determining user information 18 of the route decider with packet 90 is sometimes not set in the flow table 25 of PFS2. このような問題を解決する転送処理方法を、図12を参照して説明する。 The transfer processing method to solve such a problem, will be described with reference to FIG. 12. 図12は、本発明によるPFS2におけるパケット転送動作の一例を示すフロー図である。 Figure 12 is a flow diagram showing an example of a packet transfer operation in PFS2 according to the present invention.

図12を参照して、PFS2は、受信パケットに適合するフローエントリ(ルール144+アクション情報145)の適用回数が、初回(1回目)か2日回目以降かを、回数情報232を参照して判定する(ステップS201)。 Referring to FIG. 12, PFS2 determination, the number of application times of the matching flow entry in the received packet (Rule 144Tasu action information 145) is, whether initial (first) or two days subsequent refers to the number of times information 232 (step S201). 受信パケットに適合するフローエントリ(ルール144+アクション情報145)に対応する回数情報232が“0”を示す場合、当該フローエントリの適用が初回であると判定される(ステップS201Yes)。 When indicating the matching flow entry in the received packet count information 232 corresponding to (rule 144Tasu action information 145) is "0", the application of the flow entry is judged to be the first time (step S201Yes). すなわち、受信パケットがファーストパケット105を含む経路決定者情報付パケット90であると判定される。 That is, the received packet is determined to be a route decider information attached packet 90 including the first packet 105. この場合、PFS2は、受信パケットに含まれる経路決定者情報18と、当該フローエントリに設定されたコントローラID17とを比較する(ステップS202)。 In this case, PFS2 compares the route determining user information 18 included in the received packet, and a controller ID17 which is set to the flow entry (step S202).

ネットワークやPFS2に何らかの障害が発生した場合、受信パケット内の経路決定者情報18と一致するコントローラID17がフローテーブル25に設定されていないことがある。 If any failure occurs in the network or PFS2, controller ID17 matching the route determining user information 18 in the received packet may not have been set in the flow table 25. この場合、PFS2は、受信パケットに付加されている経路決定者情報18と同じコントローラID17が付与されたPFC1に対して、受信パケットを転送する(ステップS202No、S203)。 In this case, PFS2, to the PFC1 the same controller ID17 a route decider information 18 added to the received packet is assigned, and transfers the received packet (step S202No, S203). PFC1は、PFS2から受け取ったパケットデータのヘッダ情報により送信元及び宛先のホスト3を特定し、通信経路の算出及びPFS2に設定するフローエントリ(ルール144+アクション情報145)の生成を行う。 PFC1 identifies the host 3 of the source and destination by the header information of the packet data received from PFS2, and generates the flow entry to be set for calculation of the communication path and PFS2 (Rule 144Tasu action information 145). そして、PFC1は、通信経路上のPFS2に対してフローエントリの設定指示(フローテーブルの更新指示)を発行する(ステップS204)。 Then, PFC1 issues a setting instruction of a flow entry (instruction for updating the flow table) relative PFS2 on the communication path (step S204). 受信パケットが通知されたPFC1は、ファーストパケットを通知したPFS2によって経路決定者に設定されている。 PFC1 the received packet is notified is set in the route decider by PFS2 notified the first packet. この場合、障害が発生せず正常に動作している可能性が高いため、再度のフローテーブルの更新処理も失敗せずに実行され得る。 In this case, since there is likely to be operating normally without failure occurs, may be performed without also not fail updating again of the flow table.

以降、新たに設定されたフローエントリ(アクション情報145)に従って、受信パケットの転送処理を行う(ステップS205)。 Since, in accordance with the newly set flow entries (action information 145), it performs the transfer processing of the received packet (step S205). その後、該当フローエントリに対応する処理回数をカウントアップして回数情報232を更新する(ステップS206)。 Then, to update the number of times information 232 counts up the number of times of processing corresponding to the relevant flow entry (step S206).

一方、受信パケット内の経路決定者情報18と一致するコントローラID17がフローテーブル25に設定されている場合、当該コントローラID17に対応するアクション情報145に従って、受信パケットの転送処理が行われる(ステップS202Yes、S205)。 On the other hand, if the controller ID17 that matches the route determining user information 18 in the received packet is set in the flow table 25, according to the action information 145 corresponding to the controller ID17, transfer processing of the received packet is performed (step S202Yes, S205). その後、該当フローエントリに対応する処理回数をカウントアップして回数情報232を更新する(ステップS206)。 Then, to update the number of times information 232 counts up the number of times of processing corresponding to the relevant flow entry (step S206). この際、PFS2は、経路決定者情報18と一致しないコントローラID17が付されたアクション情報145をフローテーブル25から削除する、あるいは、経路決定者識別子231をアクション情報145に対応付けて、以後使用するアクション情報145を特定する。 At this time, PFS2 deletes the action information 145 controller ID17 is attached does not match the route determining user information 18 from the flow table 25, or in association with the path determination identifier 231 in the action information 145, for future use to identify the action information 145.

ただし、受信パケットに付加されている経路決定者情報18と、フローテーブル25のエントリに追加されているコントローラID17が異なることはごく稀であり、何らかの障害が発生した場合に限られる。 However, the route determining user information 18 added to the received packet, there only Marede be controller ID17 has been added to the entry of flow table 25 are different, only if the some failure occurs.

ステップS201において、 受信パケットに適合するフローエントリ(ルール144+アクション情報145)に対応する回数情報232が“0”以外を示す場合、当該フローエントリの適用が2回目以降であると判定される(ステップS201No)。 In step S201, when indicating none times information 232 is "0" corresponding to the matching flow entry in the received packet (Rule 144Tasu action information 145), the application of the flow entry is determined to be the second or subsequent (step S201No). すなわち、当該PFS2は、既にファーストパケット105を含む経路決定者情報付パケット90を受信しており、使用するフローエントリ(アクション情報145)を決定している。 That is, the PFS2 has already received the route determining user information with the packet 90 including the first packet 105, and determines the flow entry to be used (action information 145). この場合、PFS2は、受信パケットに適合するルール144に対応するアクション情報145に従って、受信パケットの転送処理を行う(ステップS205)。 In this case, PFS2 according action information 145 corresponding to the matching rule 144 in the received packet, performs a transfer process of the received packet (step S205). 例えば、経路決定者付パケット90に応じたアクション情報145の削除により、使用するアクション情報145のみがフローテーブルに記録されている場合、2回目以降の受信パケットは、当該パケットに対して一意に適合するフローエントリ(ルール144+アクション情報145)に従って処理(例えば転送処理)される。 For example, the deletion of the action information 145 in accordance with the route decider with packet 90, when only the action information 145 to be used is recorded in the flow table, the received packet the second and subsequent uniquely adapted to the packet It is processed according to the flow entry (rule 144Tasu action information 145) to (e.g., transfer process). あるいは、経路決定者付パケット90に応じた経路決定者識別子231の付与により、使用するアクション情報145が特定されている場合、2回目以降の受信パケットは、当該パケットに適合するルール144に対応し、経路決定者識別子231が付されたアクション情報145に従って処理される。 Alternatively, the application of route determination identifier 231 corresponding to the route decider with packet 90, when the action information 145 to be used is specified, the received packet of the second time or later, corresponds to the matching rule 144 in the packet , the path determined identifier 231 is processed according to the action information 145 attached. 又、該当フローエントリに対応する処理回数をカウントアップして回数情報232を更新する(ステップS206)。 Also, updating the number of times information 232 counts up the number of times of processing corresponding to the relevant flow entry (step S206).

以上のように、要求元PFSにおいてパケット内に経路決定者情報18を付加し、通信経路上のPFS2において、経路決定者情報18とフローテーブル25内のコントローラIDとを比較することで、経路の整合性を判定することができる。 As described above, by adding a route determining user information 18 in the packet in the requesting PFS, in PFS2 on the communication path, by comparing the controller ID of the route decider information 18 and the flow table 25, the path it is possible to determine the consistency. これにより、何らかの障害により、通信経路上のPFS2にパケットに適合するフローエントリが設定されていない場合でも、再度フローエントリを設定することが可能となる。 Thus, for some disorders, even when the matching flow entry into packets PFS2 on the communication path is not set, it is possible to set a flow entry again.

(耐障害性) (Fault tolerance)
図13を参照して、本発明による効果について説明する。 Referring to FIG. 13, a description will be given of an effect according to the present invention. 図13に示すように、ホスト3−1からホスト3−2に対してパケットデータを送信する場合、要求元PFS2−1からのファーストパケットの通知に応じて、3つのPFC1−1〜1−3によって3つの通信経路40、50、60が計算される。 As shown in FIG. 13, when transmitting packet data from the host 3-1 to the host 3-2, in response to the notification first packet from the requesting PFS2-1, three PFC1-1~1-3 three communication paths 40, 50, 60 is calculated by. 尚、通信経路40は、PFS2−1、2−2、2−3、2−5を経由する経路であり、通信経路50は、PFS2−1、2−4、2−5を経由する経路であり、通信経路60は、PFS2−1、2−6、2−5を経由する経路である。 The communication path 40 is a path through PFS2-1,2-2,2-3,2-5, communication path 50 is a path through PFS2-1,2-4,2-5 There, the communication path 60 is a path through PFS2-1,2-6,2-5.

PFC1−1は、通信経路40上のPFS2−5から、PFS2−3、PFS2−2、要求元PFS2−1の順にフローテーブルを更新し、PFC1−2は、通信経路50上のPFS2−5から、PFS2−4、要求元PFS2−1の順にフローテーブルを更新し、PFC1−3は、通信経路60上のPFS2−5から、PFS2−6、要求元PFS2−1の順にフローテーブルを更新する。 PFC1-1 from PFS2-5 on the communication path 40, PFS2-3, PFS2-2, updates the flow table in the order of the requesting PFS2-1, PFC1-2 from PFS2-5 on the communication path 50 , PFS2-4, updates the flow table in the order of the requesting PFS2-1, PFC1-3 from PFS2-5 on the communication path 60, PFS2-6, updates the flow table in the order of the requesting PFS2-1. これらの更新処理は、上述のように独立的に行われる。 These update process, independently carried out as described above. 要求元PFS2−1は、先に自身のフローテーブル25を更新したPFC1を経路決定者に指定し、経路決定者によって構築された通信経路を利用してホスト3−1〜ホスト3−2間の通信を行う。 Requesting PFS2-1 specifies the PFC1 which updates its flow table 25 above the path decision makers, between the host 3-1 and the host 3-2 by using the communication path constructed by a route decider communicate.

ここで、PFS2に設定されるフローエントリはPFC1を特定するためのコントローラID17“1011”が対応付けられているため、経路決定者をコントローラIDで指定することで、PFS2やPFC1は使用するフローエントリ(すなわち通信経路)を特定することができる。 Here, since the flow entry is set to PFS2 is the controller ID 17 "1011" for identifying the PFC1 associated, by specifying a path decision maker on the controller ID, the flow entry to be used PFS2 and PFC1 (i.e., communication path) can be specified. 例えば、要求元PFS2−1において経路者決定者が指定するまでの間に、PFS2−5に対してPFC1−1〜1−3によるフローテーブルの更新指示がなされた場合、PFS2−5には、コントローラID17が“1011”、“1012、“1013”が付与された3つのアクション情報145が同一のルール144に対応付けられて設定される。このような場合でも、要求元PFS2−1による経路決定者情報付パケット90が通知されることで、PFS2−5は、コントローラID17“1011”に対応するフローエントリのみを残し、他のエントリを破棄することができる。このように、PFS2やPFC1に対する経路決定者の通知は、要求元PFS2−1が一元的に行うため、PFC1は、他のPFC1と通信することな For example, until specified by the route's makers in requesting PFS2-1, when the update instruction flow table by PFC1-1~1-3 against PFS2-5 is made, in PFS2-5 is controller ID17 is "1011", "1012," 1013 "has three action information 145 granted is set in association with the same rule 144. even in such a case, the route decision by the requestor PFS2-1 by user information with the packet 90 is notified, PFS2-5 leaves only flow entry corresponding to the controller ID 17 "1011", can be discarded and another entry. Thus, the route for PFS2 and PFC1 makers notification for requesting PFS2-1 performed centrally, it can PFC1 communicates with other PFC1 独立的なPFS2へのフローテーブルの更新処理のみで、矛盾なく通信経路を構築することができる。 Only updating the flow table to independent PFS2, it can be constructed without contradiction communication path.

又、本発明では、経路決定者(使用するフローエントリ)を指定するPFS2を、フローエントリを設定する最後のPFS2としている。 In the present invention, the PFS2 specifying a route decider (flow entry to be used), and the last PFS2 for setting a flow entry. このため、要求元PFS2−1にフローエントリが設定された時点で、通信経路上の全てのPFS2にフローエントリが設定されていることとなる。 Therefore, when the flow entry to the requestor PFS2-1 is set, so that the flow entry to all PFS2 on the communication path is set.

以上のように、本発明によれば、複数のPFC1によって、パケットに対する処理を規定したフローエントリを設定し、先に構築された通信経路を利用してパケット転送を行っている。 As described above, according to the present invention, a plurality of PFC1, sets a flow entry that defines the processing for the packet, is performed packet transfer using the communication path built earlier. このため、複数のPFC1のうちいずれかに障害が発生しても他のPFC1によってフローエントリの設定(通信経路の構築)が可能となり耐障害性が向上する。 Therefore, (the construction of a communication path) flow setting entries by PFC1 A failure of the other to any one of the plurality of PFC1 can and fault tolerance is improved it becomes. 又、構築された通信経路は、1つのPFC1によって設定されたアクション情報145に従うため、オープンフロー技術で提案されたフローの一元制御及び管理が可能となる。 Further, a communication path which has been constructed, to follow the action information 145 set by one PFC1, thereby enabling centralized control and management of flow as proposed in open flow technique.

又、複数のPFC1のそれぞれは、独自にフローテーブルの更新指示を発行するため、コントローラ間で同期を取る必要がない。 Further, each of the plurality of PFC1, for issuing the instruction to update the own flow table, it is not necessary to synchronize between controllers. このため、コントロール間で同期を取るための待ち時間を必要としないため、経路構築までの時間を短縮することも可能となる。 Therefore, since it does not require waiting for synchronization between controls, it is also possible to reduce the time to route construction. すなわち、本発明によれば、オープンフロー技術を利用したコンピュータシステムにおいて通信経路構築の時間を増加させることなく耐障害性を上げることが可能となる。 That is, according to the present invention, it becomes possible to increase fault tolerance without increasing the communication path construction time in a computer system using the open flow technique.

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

又、上述の実施の形態では、要求元PFS2によって指定された経路決定者が、ファーストパケットを利用して他のPFS2に通知されたが、これに限らず、PFC1−1〜1−mを利用して他のPFS2に通知されても良い。 Further, in the above embodiment, the path determining who is designated by the requester PFS2 is, but by using the first packet has been notified to the other PFS2, not limited to this, use of PFC1-1~1-m it may be notified to the other PFS2 to. 例えば、経路決定者としてPFC1−1が指定された場合、PFC1−1は、要求元PFS2からの経路決定者の通知に応じて、自身が設定したPFS2に経路決定者情報18を通知する。 For example, if the PFC1-1 as the route decider is specified, PFC1-1, depending on the route decider notification from the requestor PFS2, notifies the route determining user information 18 to PFS2 that it has set. PFS2は、経路決定者情報18に一致するコントローラID17が付加されたアクション情報145のみを残し他を削除する。 PFS2 deletes the other leaving only action information 145 controller ID17 is added that matches the route determining user information 18. これにより、要求元PFS2から転送されたパケットは、PFC1−1によって構築された通信経路を介して宛先ホストに送信される。 Thus, the packet transferred from the requester PFS2 is sent to the destination host via the communication path built by PFC1-1. ただし、この場合、通信経路上のPFS2に対するフローエントリの削除や、使用するフローエントリの設定が完了するまで、ファーストパケットを転送できないため、上述の実施の形態に比べてパケット転送までの時間が長大化してしまう。 However, in this case, the deletion of the flow entry for PFS2 on the communication path, to a set of flow entries to be used is completed, can not be forwarded fast packet, long time to packet transfer as compared to the above-described embodiments It turned into to become.

又、本実施の形態では、最初に要求元PFS2にフローエントリを設定したPFC1を経路決定者として指定したが、これに限らず、2番目や3番目に設定したPFC1を経路決定者として指定しても構わない。 Further, in the present embodiment, initially it was designated the PFC1 set a flow entry to the requesting PFS2 as a route decider, not limited thereto, the PFC1 set in second or third designated as a route decider and it may be. 又、算出した通信経路上の全てのPFS2にフローエントリを設定していれば、所定の条件を満たすPFC1を優先的に経路決定者として指定しても構わない。 Further, if setting the flow entry to all PFS2 on the calculated communication route, may be specified as preferential pathway makers a predetermined condition is satisfied PFC1.

上記の実施の形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限らない。 Some or all of the above-described embodiment, can be described as the following appendices, not limited to the following.

(付記1) (Note 1)
それぞれが、通信経路を算出し、前記通信経路上のスイッチに対して、フローエントリの設定を指示する複数のコントローラと、 Each calculates the communication path, the switch on the communication path, a plurality of controllers to direct setting of the flow entry,
前記複数のコントローラの1つを経路決定者として指定し、前記経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行う複数のスイッチと を具備する コンピュータシステム。 Computer system designates one of said plurality of controllers as a route decider, according to the flow entry set by the route makers, comprising a plurality of switches for performing relay processing of the received packet.

(付記2) (Note 2)
付記1に記載のコンピュータシステムにおいて、 The computer system according to Note 1,
前記通信経路上の全てのスイッチにフローエントリを設定したコントローラが、前記経路決定者として設定される コンピュータシステム。 Computer system controller sets the flow entry to all switches on the communication path is set as the path makers.

(付記3) (Note 3)
付記1又は2に記載のコンピュータシステムにおいて、 The computer system according to Note 1 or 2,
前記複数のコントローラのそれぞれは、自身を特定するコントローラIDを付加したフローエントリを前記通信経路上のスイッチに設定し、 Wherein each of the controllers, set the flow entry was added to the controller ID for identifying itself to switch on the communication path,
前記複数のスイッチは、前記コントローラIDによって、前記経路決定者を特定する コンピュータシステム。 Computer system wherein the plurality of switches, by the controller ID, which identifies the path makers.

(付記4) (Note 4)
付記3に記載のコンピュータシステムにおいて、 The computer system according to note 3,
前記複数のスイッチは、 Wherein the plurality of switches,
前記経路決定者を指定し、前記経路決定者を特定する経路決定者情報を受信パケットに含めて他のスイッチに転送する第1スイッチと、 A first switch for transferring to other switches, including the route determining party information specifying the route decider, identifying the route decider in the received packet,
前記経路決定者情報に一致するコントローラIDが付加されたフローエントリに従って受信パケットの中継処理を行う第2スイッチと を備える コンピュータシステム。 Computer system and a second switch for relay processing of the received packet in accordance with the flow entry controller ID that matches the route decider information is added.

(付記5) (Note 5)
付記4に記載のコンピュータシステムにおいて、 The computer system according to Note 4,
前記第2スイッチは、前記経路決定者情報と一致するコントローラIDが付加されたフローエントリを保持しない場合、前記経路決定情報が示すコントローラに対し、受信パケットに対するフローエントリの設定を要求する コンピュータシステム。 The computer system second switch, when not holding the flow entry controller ID is added that matches the route determining user information, to the controller that the route determining information indicates, for requesting the setting of the flow entry for the received packet.

(付記6) (Note 6)
付記4又は5に記載のコンピュータシステムにおいて、 The computer system according to supplementary note 4 or 5,
前記複数のコントローラのそれぞれは、前記通信経路上のスイッチに対してフローエントリを設定する際、前記通信経路上のスイッチの中で前記第1スイッチを最後に設定し、 Wherein each of the plurality of controllers, when setting a flow entry to the switch on the communication path, setting the first switch to the last in the switch on the communication path,
前記第1スイッチは、自身が保持するフローテーブルに対し、前記複数のコントローラの中で最初にフローエントリを設定したコントローラを前記経路決定者に指定する コンピュータシステム。 The computer system first switch, to flow table held by itself, to specify the initial controller setting a flow entry among the plurality of controllers in the path decision makers.

(付記7) (Note 7)
付記4から6のいずれか1項に記載のコンピュータシステムにおいて、 The computer system according to any one of Appendixes 4-6,
前記第1スイッチは、受信パケットに適合するフローエントリがない場合、フローエントリの設定を前記複数のコントローラに要求し、 It said first switch, if there is no matching flow entry in the received packet, requests the setting of the flow entry to the plurality of controllers,
前記複数のコントローラのそれぞれは、前記要求に応じて通信経路の算出及びフローエントリの設定を行う コンピュータシステム。 Wherein each of the plurality of controllers, the computer system for setting a calculation and flow entries of the communication path in response to the request.

(付記8) (Note 8)
付記1から7のいずれか1項に記載のコンピュータシステムで利用されるコントローラ。 The controller utilized in a computer system according to any one of Appendixes 1 7.

(付記9) (Note 9)
付記1から7のいずれか1項に記載のコンピュータシステムで利用されるスイッチ。 Switches utilized in the computer system according to any one of Appendixes 1 7.

(付記10) (Note 10)
複数のコントローラのそれぞれが、通信経路を算出し、前記通信経路上のスイッチに対して、フローエントリの設定を指示するステップと、 Each of the plurality of controllers, calculates the communication path, the switch on the communication path, comprising the steps of instructing the setting of the flow entry,
前記複数のコントローラの1つを経路決定者として指定するステップと、 A step of designating one of said plurality of controllers as a route decider,
複数のスイッチが、前記経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行うステップと を具備する 通信方法。 COMMUNICATION METHOD plurality of switches, according to the flow entry set by the route makers, comprising the steps of performing a relay processing of the received packet.

(付記11) (Note 11)
付記10に記載の通信方法において、 The communication method according to Note 10,
前記経路設定者として指定するステップでは、通信経路上の全てのスイッチにフローエントリを設定したコントローラが、前記経路決定者として設定される 通信方法。 Wherein in the step of specifying a path setter, communication method controller sets the flow entry to all switches on the communication path is set as the path makers.

(付記12) (Note 12)
付記10又は11に記載の通信方法において、 The communication method according to Note 10 or 11,
前記複数のコントローラのそれぞれが、自身を特定するコントローラIDを付加したフローエントリを前記通信経路上のスイッチに設定するステップと、 A step of each of the plurality of controllers, to set the flow entry was added to the controller ID for identifying itself to switch on the communication path,
前記複数のスイッチが、前記コントローラIDによって、前記経路決定者を特定するステップと を更に具備する 通信方法。 Communication method wherein the plurality of switches, which by the controller ID, further comprising the step of identifying the route decider.

(付記13) (Supplementary Note 13)
付記12に記載の通信方法において、 The communication method according to Note 12,
前記経路決定者として指定するステップは、 Step of designating as the route makers,
第1スイッチが、前記経路決定者を指定するステップと、 A step first switch, to specify the route decider,
前記第1スイッチが、前記経路決定者を特定する経路決定者情報を受信パケットに含めて他のスイッチに転送するステップと を備え、 Said first switch, and a step of transferring the other switches, including the route determining user information for specifying the path decision maker in the received packet,
前記中継処理を行うステップは、第2スイッチが、前記経路決定者情報に一致するコントローラIDが付加されたフローエントリに従って受信パケットの中継処理を行うステップを備える 通信方法。 It said step of performing a relay processing, the second switch, the communication method comprising the step of performing a relay processing of the received packet in accordance with the flow entry controller ID is added that matches the route determining user information.

(付記14) (Note 14)
付記13に記載の通信方法において、 The communication method according to Note 13,
前記第2スイッチが、前記経路決定者情報と一致するコントローラIDが付加されたフローエントリを保持しない場合、前記経路決定情報が示すコントローラに対し、受信パケットに対するフローエントリの設定を要求するステップを更に具備する 通信方法。 Said second switch, when not holding the flow entry controller ID that matches the route determining user information is added, to the controller that the route determining information indicates, further the step of requesting the setting of the flow entry for the received packet communication method comprising.

(付記15) (Note 15)
付記13又は14に記載の通信方法において、 The communication method according to Note 13 or 14,
前記複数のコントローラのそれぞれが、前記通信経路上のスイッチに対してフローエントリを設定する際、前記通信経路上のスイッチの中で前記第1スイッチを最後に設定し、 Each of the plurality of controllers, when setting a flow entry to the switch on the communication path, setting the first switch to the last in the switch on the communication path,
前記経路決定者として指定するステップは、前記第1スイッチが、自身が保持するフローテーブルに対し、前記複数のコントローラの中で最初にフローエントリを設定したコントローラを前記経路決定者に指定するステップを備える 通信方法。 Step of designating as the route makers, the first switch, to flow table held by itself, the step of specifying a first controller that sets a flow entry among the plurality of controllers in the path makers communication method comprising.

(付記16) (Supplementary Note 16)
付記13から15のいずれか1項に記載の通信方法において、 A communication method according to Supplementary Note 13 in any one of 15,
前記第1スイッチが、受信パケットに適合するフローエントリがない場合、フローエントリの設定を前記複数のコントローラに要求するステップを更に具備し、 Said first switch, if there is no matching flow entry in the received packet, further comprising the step of requesting the setting of the flow entry to the plurality of controllers,
前記複数のコントローラのそれぞれは、前記要求に応じて通信経路の算出及びフローエントリの設定を行う 通信方法。 Wherein each of the controllers, a communication method for setting a calculation and flow entries of the communication path in response to the request.

1、1−1〜1−m:プログラマブルフローコントローラ(PFC) 1,1-1~1-m: Programmable flow controller (PFC)
2、2−1〜2−n:複数のプログラマブルスイッチ(PFS) 2,2-1~2-n: plurality of programmable switch (PFS)
3、3−1〜3−i:ホストコンピュータ(ホスト) 3,3-1~3-i: a host computer (host)
11:スイッチ制御部 12:フロー管理部 13:フロー生成部 14:フローテーブル 15:トポロジ情報 16:通信経路情報 17:コントローラID 11: switch control unit 12: flow management unit 13: flow generator 14: a flow table 15: topology information 16: Communication path information 17: Controller ID
18:決定者情報 20:スイッチ群 21:転送処理部 22:フロー設定部 23:経路決定者設定部 24:パケット修正部 25:フローテーブル 30:ホスト群 40:通信経路 50:通信経路 60:通信経路 90:経路決定者情報付パケット 105:ファーストパケット 141:フロー識別子 142:対象装置 143:経路情報 144:ルール 145:アクション情報 146:設定情報 147:経路決定者識別子 151:装置識別子 152:ポート数 153:ポート接続先情報 161:端点情報 162:通過スイッチ情報 163:付随情報 231:経路決定者識別子 232:回数情報 18: determining user information 20: the switch group 21: Transfer unit 22: flow setting unit 23: route decider setting unit 24: packet modifying section 25: Flow Table 30: Host Group 40: Communication path 50: Communication path 60: Communication route 90: route determining user information with the packet 105: Fast packet 141: flow identifier 142: The target device 143: route information 144: rule 145: action information 146: setting information 147: path determining identifier 151: device identifier 152: number of ports 153: port connection destination information 161: endpoint information 162: passage switch information 163: accompanying information 231: path determining identifier 232: count information

Claims (6)

  1. それぞれが、通信経路を算出し、前記通信経路上のスイッチに対して、フローエントリの設定を指示する複数のコントローラと、 Each calculates the communication path, the switch on the communication path, a plurality of controllers to direct setting of the flow entry,
    経路決定者として指定されたコントローラによって設定されたフローエントリに従って、受信パケットの中継処理を行う複数のスイッチと を具備し、 According to the flow entry set by the controller designated as a route decider, and a plurality of switches for performing relay processing of the received packet,
    前記複数のコントローラのそれぞれは、自身を特定するコントローラIDを付加したフローエントリを前記通信経路上のスイッチに設定し、 Wherein each of the controllers, set the flow entry was added to the controller ID for identifying itself to switch on the communication path,
    前記複数のスイッチは、 Wherein the plurality of switches,
    前記複数のコントローラから前記経路決定者を指定し、前記経路決定者を特定する経路決定者情報を受信パケットに含めて他のスイッチに転送する第1スイッチと、 A first switch for transferring to other switches, including specifying the route decider from said plurality of controllers, the route determining user information for specifying the path decision maker in the received packet,
    前記経路決定者情報に一致するコントローラIDが付加されたフローエントリに従って受信パケットの中継処理を行う第2スイッチと A second switch for relay processing of the received packet in accordance with the flow entry controller ID that matches the route decider information is added
    を備え、 Equipped with a,
    前記複数のコントローラのそれぞれは、前記通信経路上のスイッチに対してフローエントリを設定する際、前記通信経路上のスイッチの中で前記第1スイッチを最後に設定し、 Wherein each of the plurality of controllers, when setting a flow entry to the switch on the communication path, setting the first switch to the last in the switch on the communication path,
    前記第1スイッチは、自身が保持するフローテーブルに対し、前記複数のコントローラの中で最初にフローエントリを設定したコントローラを前記経路決定者に指定する Wherein the first switch, to flow table held by itself, to specify the initial controller setting a flow entry among the plurality of controllers in the path makers
    コンピュータシステム。 Computer system.
  2. 請求項に記載のコンピュータシステムにおいて、 The computer system according to claim 1,
    前記第2スイッチは、前記経路決定者情報と一致するコントローラIDが付加されたフローエントリを保持しない場合、前記経路決定情報が示すコントローラに対し、受信パケットに対するフローエントリの設定を要求する コンピュータシステム。 The computer system second switch, when not holding the flow entry controller ID is added that matches the route determining user information, to the controller that the route determining information indicates, for requesting the setting of the flow entry for the received packet.
  3. 請求項1又は2に記載のコンピュータシステムで利用されるコントローラ。 The controller utilized in a computer system according to claim 1 or 2.
  4. 請求項1又は2に記載のコンピュータシステムで利用されるスイッチ。 Switches utilized in the computer system according to claim 1 or 2.
  5. 複数のコントローラのそれぞれが、通信経路を算出し、前記通信経路上のスイッチに対して、フローエントリの設定を指示するステップと、 Each of the plurality of controllers, calculates the communication path, the switch on the communication path, comprising the steps of instructing the setting of the flow entry,
    前記複数のコントローラの1つを経路決定者として指定するステップと、 A step of designating one of said plurality of controllers as a route decider,
    第1スイッチ及び第2スイッチを含む複数のスイッチが、前記経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行うステップと A plurality of switches including a first switch and a second switch, in accordance with the flow entry set by the route decider, and performing relay processing of the received packet,
    前記複数のコントローラのそれぞれが、自身を特定するコントローラIDを付加したフローエントリを前記通信経路上のスイッチに設定するステップと A step of each of the plurality of controllers, to set the flow entry was added to the controller ID for identifying itself to switch on the communication path
    を具備し、 Equipped with,
    前記経路決定者として指定するステップは、 Step of designating as the route makers,
    前記第1スイッチが、自身が保持するフローテーブルに対し、前記複数のコントローラの中で最初にフローエントリを設定したコントローラを前記経路決定者に指定するステップと、 A step wherein the first switch, to flow table held by itself, to specify the initial controller setting a flow entry among the plurality of controllers in the path decision makers,
    前記第1スイッチが、前記経路決定者を特定する経路決定者情報を受信パケットに含めて他のスイッチに転送するステップと It said first switch, and transferring to the other switches, including the route determining user information for specifying the path decision maker in the received packet
    を備え、 Equipped with a,
    前記中継処理を行うステップは、前記第2スイッチが、前記経路決定者情報に一致するコントローラIDが付加されたフローエントリに従って受信パケットの中継処理を行うステップを備え、 The step of performing the relay process, the second switch comprises the step of performing a relay processing of the received packet in accordance with the flow entry controller ID is added that matches the route determining user information,
    前記複数のコントローラのそれぞれが、前記通信経路上のスイッチに対してフローエントリを設定する際、前記通信経路上のスイッチの中で前記第1スイッチに対するフローエントリが最後に設定される Each of the plurality of controllers, when setting a flow entry to the switch on the communication path, the flow entry for the first switch in the switch on the communication path is set to the last
    通信方法。 Communication method.
  6. 請求項に記載の通信方法において、 The communication method of claim 5,
    前記第2スイッチが、前記経路決定者情報と一致するコントローラIDが付加されたフローエントリを保持しない場合、前記経路決定情報が示すコントローラに対し、受信パケットに対するフローエントリの設定を要求するステップを更に具備する 通信方法。 Said second switch, when not holding the flow entry controller ID that matches the route determining user information is added, to the controller that the route determining information indicates, further the step of requesting the setting of the flow entry for the received packet communication method comprising.
JP2010022539A 2010-02-03 2010-02-03 Computer systems, controllers, switches, and communication method Active JP5488979B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010022539A JP5488979B2 (en) 2010-02-03 2010-02-03 Computer systems, controllers, switches, and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010022539A JP5488979B2 (en) 2010-02-03 2010-02-03 Computer systems, controllers, switches, and communication method

Publications (2)

Publication Number Publication Date
JP2011160363A true JP2011160363A (en) 2011-08-18
JP5488979B2 true JP5488979B2 (en) 2014-05-14

Family

ID=44591903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010022539A Active JP5488979B2 (en) 2010-02-03 2010-02-03 Computer systems, controllers, switches, and communication method

Country Status (1)

Country Link
JP (1) JP5488979B2 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5811196B2 (en) 2012-02-10 2015-11-11 日本電気株式会社 Computer system, and the virtual network visualization method
US20150019756A1 (en) 2012-02-10 2015-01-15 Nec Corporation Computer system and virtual network visualization method
US20150043585A1 (en) * 2012-02-29 2015-02-12 Nec Corporation Communication apparatus, communication method, communication system and program
US9866500B2 (en) 2012-02-29 2018-01-09 Nec Corporation Communication apparatus, communication method, communication system and program
EP2824877A4 (en) * 2012-03-05 2015-10-14 Nec Corp Network system, switch, and network building method
WO2013134937A1 (en) 2012-03-14 2013-09-19 华为技术有限公司 Method, switch, server, and system for transmitting an establish connection request
JP6007974B2 (en) 2012-04-27 2016-10-19 日本電気株式会社 Communication system and routing control method
JP5503762B1 (en) * 2013-02-19 2014-05-28 三菱電機インフォメーションシステムズ株式会社 Open flow network system
WO2015025845A1 (en) * 2013-08-20 2015-02-26 日本電気株式会社 Communication system, switch, controller, ancillary data management device, data transfer method, and program
JP6111974B2 (en) 2013-10-22 2017-04-12 富士通株式会社 Transfer device, control device, and a transfer method
US9301232B2 (en) 2014-03-04 2016-03-29 Kddi Corporation Management apparatus of controller for communication network
JP6287518B2 (en) 2014-04-14 2018-03-07 富士通株式会社 Failure recovery method of open flow switch and open flow network
JP2016208181A (en) 2015-04-20 2016-12-08 富士通株式会社 Switch device, control device, failure detection method and failure detection program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120250496A1 (en) * 2009-11-26 2012-10-04 Takeshi Kato Load distribution system, load distribution method, and program
CN105245449A (en) * 2010-01-05 2016-01-13 日本电气株式会社 Communication system, control device, processing rule setting method, packet transmission method, and program

Also Published As

Publication number Publication date Type
JP2011160363A (en) 2011-08-18 application

Similar Documents

Publication Publication Date Title
Yu et al. Scalable flow-based networking with DIFANE
US9042234B1 (en) Systems and methods for efficient network traffic forwarding
US20050259649A1 (en) System and method for implementing multiple spanning trees per network
US20120246637A1 (en) Distributed load balancer in a virtual machine environment
US20110317701A1 (en) Communication system, control device, processing rule setting method, packet transmission method, and program
US20140098669A1 (en) Method and apparatus for accelerating forwarding in software-defined networks
US20130070762A1 (en) System and methods for controlling network traffic through virtual switches
US20040215821A1 (en) Enhanced virtual router redundancy protocol
US20130223444A1 (en) System and methods for managing network packet forwarding with a controller
US8730963B1 (en) Methods, systems, and computer readable media for improved multi-switch link aggregation group (MLAG) convergence
CN102594697A (en) Load balancing method and device
US20110310734A1 (en) Communication system, flow control device, flow table updating method, and program
US20130246655A1 (en) Communication path control system, path control device, communication path control method, and path control program
CN103795805A (en) Distributed server load balancing method based on SDN
JP2011070549A (en) Computer system and migration method of virtual machine
US8787388B1 (en) System and methods for forwarding packets through a network
US20120093158A1 (en) Communication system, node, control device, communication method, and porgram
CN103166876A (en) Transmission method for data among OpenFlow network domains and device
JP2006115362A (en) Packet repeating device
US20080225699A1 (en) Router and method of supporting nonstop packet forwarding on system redundant network
Tuncer et al. Adaptive resource management and control in software defined networks
CN103051539A (en) DHT-based (distributed hash table-based) control network implementation method, system and network controller
US20050243826A1 (en) Intelligent adjunct network device
US9130870B1 (en) Methods for determining network topologies
US7734175B2 (en) Network configuring apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130115

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

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 (=grant) or registration of utility model

Ref document number: 5488979

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150