The present invention relates to a communication system control apparatus, method, and program. In particular, it relates to an apparatus, a method, and a program for controlling a communication system in which components functioning as switches transferring data and a component functioning as a control apparatus (controller) controlling the switches are separately included.
As an example of a communication system in which components transferring data and a component controlling a network are separately included, a communication system in which switches transfer data and a control apparatus (controller) controls the network is known. Examples of a protocol realizing such communication system include OpenFlow (Non-Patent Document 1). In OpenFlow, communication is deemed as an end-to-end flow, and routing control and the like are executed for each flow. The switches, each of which functioning as a transfer node, include secure channels for communication with the controller and operate in accordance with OpenFlow tables added or specified by the controller as needed. In the flow tables, a group of: rules (Flowkey) checked against a packet header; actions (Actions) defining process contents; and flow statistics information (Stats) are defined for each flow.
A packet transfer process of OpenFlow will be described with reference to
Since the control apparatus 110 determines all paths, the control apparatus 110 holds all the necessary information for changing of paths (path determination). In path calculation in OpenFlow, a different policy can be used for each flow. However, as an example, the following description will be made assuming that all flows are calculated based on a single policy. In addition, as an example, the following description will be made assuming that each path is the shortest path between two nodes.
[Non-Patent Document 1]
The entire disclosure of the above Non-Patent Document is incorporated herein by reference thereto. The following analyses are given from a viewpoint of the present invention.
When a certain switch of the communication system is terminated for maintenance purpose, flows passing through the switch need to be transferred to other switches. However, if the number of flows is enormous, the control apparatus (controller) 110 needs to execute an enormous amount of calculation. The grounds will be hereinafter described based on specific examples.
In
By using a topology without the switch X to be terminated, a shortest path tree TS including the switch S as a root is calculated (step S103). For example, the shortest path tree TS can be obtained by using Dijkstra's algorithm, which can solve shortest path problems efficiently.
Next, based on the shortest path tree TS, the shortest path from the switch S to the switch D is determined (step S104). In
The above processes from steps S103 to S105 are repeated for all the flows (step S106).
Among the above processes, in the step S103 of calculating the shortest path tree, load on the control apparatus increases with the number of switches forming the switch group. Thus, it is preferable that the calculation cost of the shortest path tree be reduced. In the flow chart of
Therefore, there is a need in the art to provide a communication system control apparatus, control method, and program that reduce cost of path recalculation executed by a control apparatus when a switch is terminated.
According to a first aspect of the present invention, there is provided a communication system control apparatus comprising:
a switch extraction unit extracting a second switch adjacent to a first switch to be terminated in a communication system including a plurality of switches having a predetermined topology;
a flow extraction unit extracting a flow transferred to the first switch after the second switch from a plurality of flows passing through the communication system;
a path determination unit determining, assuming that, among the plurality of switches, switches located at start and end nodes of the flow are third and fourth switches, respectively, a path from the second switch to the fourth switch, based on a topology obtained by excluding the first switch from the predetermined topology; and
a path generation unit connecting a path from the third switch to the second switch in an initial path of the flow and a path determined by the path determination unit to generate a new path of the flow.
According to a second aspect of the present invention, there is provided a communication system control method comprising:
by a computer, extracting a second switch adjacent to a first switch to be terminated in a communication system including a plurality of switches having a predetermined topology;
extracting a flow transferred to the first switch after the second switch from a plurality of flows passing through the communication system;
determining, assuming that, among the plurality of switches, switches located at start and end nodes of the flow are third and fourth switches, respectively, a path from the second switch to the fourth switch, based on a topology obtained by excluding the first switch from the predetermined topology; and
connecting a path from the third switch to the second switch in an initial path of the flow and a path determined in the determining to generate a new path of the flow.
According to a third aspect of the present invention, there is provided a program causing a computer to execute:
extracting a second switch adjacent to a first switch to be terminated in a communication system including a plurality of switches having a predetermined topology;
extracting a flow transferred to the first switch after the second switch from a plurality of flows passing through the communication system; determining, assuming that, among the plurality of switches, switches located at start and end nodes of the flow are third and fourth switches, respectively, a path from the second switch to the fourth switch, based on a topology obtained by excluding the first switch from the predetermined topology; and
connecting a path from the third switch to the second switch in an initial path of the flow and a path determined in the determining to generate a new path of the flow. The program may be recorded on a non-transitory computer readable medium.
The present invention provides the following advantage, but not restricted thereto. Based on the communication system control apparatus, control method, and program according to the present invention, cost of path recalculation executed by the control apparatus when a switch is terminated can be reduced.
A control apparatus according to an exemplary embodiment of the present invention will be described with reference to the drawings.
The switch extraction unit 11 extracts a second switch adjacent to a first switch that is terminated in a communication system including a plurality of switches having a predetermined topology.
The path tree calculation unit 13 calculates the shortest path tree including the second switch as a root, based on a topology obtained by excluding the first switch from the predetermined topology.
The flow extraction unit 14 extracts flows in which the next transfer destination after the second switch is the first switch.
Assuming that, among the plurality of switches, switches located at a flow start node and a flow end node are third and fourth switches, respectively, the path determination unit 16 determines a path from the second switch to the fourth switch, based on the shortest path tree.
The path generation unit 17 connects a path from the third switch to the second switch in the old path of the above flow and a path determined by the path determination unit 16 to generate a new path of the above flow.
The control apparatus 10 may further include a path notification unit 19. The path notification unit 19 compares the old path of the flow with the new path of the flow, extracts switches having flow entries that need to be updated from the plurality of switches, and notifies the extracted switches of the new path of the flow.
The control apparatus 10 may further include a redundancy elimination unit 18. If the new path includes a redundant switch, the redundancy elimination unit 18 eliminates a redundant rout in the new path. If an identical switch is used before and after the second switch in the new path, the redundancy elimination unit 18 eliminates a redundant path between the second switch and the identical switch. The redundancy elimination unit 18 may be configured to repeat the process of eliminating a redundant path, if an identical switch is used before and after the identical switch.
Next, an operation of the control apparatus 10 will be described with reference to the drawings.
The path tree calculation unit 13 calculates the shortest path tree TN including the switch N as a root, by using a topology without the switch X to be stopped (step S13).
The flow extraction unit 14 extracts all the flows in which the next transfer destination after a switch N is the switch X (step S14). The control apparatus 10 executes the following processes on each of the flows (step S15).
Assuming that flow start and end nodes are set to S (start) and D (destination), respectively, the path determination unit 16 determines a bypass path from the switch N to the switch D, based on the shortest path tree TN (step S16).
The path generation unit 17 connects an old path from the switch S to the switch N and the bypass path from the switch N to the switch D to generate a new path (step S17).
If the new path includes a redundant switch, the redundancy elimination unit 18 eliminates a redundant path (step S18).
The path notification unit 19 compares the old and new paths, extracts switches having flow entries that need to be updated, and updates the flow entries (step S19).
The control apparatus 10 repeats the above steps S15 to S19 (step S20) and steps S12 to S20 (step S21).
Assuming that the number of switches adjacent to the switch X to be stopped is m, the control apparatus 10 according to the present exemplary embodiment calculates the shortest path tree only m times (step S13). Generally, the number m of adjacent switches is smaller than the number of flows and the number s of start nodes in all the flows. Calculation of the shortest path tree generally requires high calculation load. However, based on the control apparatus 10 according to the present exemplary embodiment, the number of calculations of the shortest path tree can be reduced. Namely, calculation costs of path recalculation executed when a switch is terminated can be reduced.
The control apparatus 10 can be realized by a computer program.
Next, an operation of the control apparatus 10 according to an exemplary embodiment of the present invention will be described based on a specific topology of a switch group.
By using a switch A as a root, which is a switch adjacent to the switch X, a shortest path tree TA is calculated (step S13 in
With reference to
Next, the switches before and after the switch A, which has connected the two paths, are compared with each other. If an identical switch is used before and after the switch A, the redundant path is eliminated (step S18 in
Next, an operation of the control apparatus 10 according to an exemplary embodiment of the present invention will be described based on another network topology.
In this new path, since both of the switches before and after the switch N, which has connected the two paths, are the switch B, a redundant path B→N→B is deleted (step S18 in
With reference to
Since both of the switches before and after the switch A whose path has been compressed are different switches, the path compression process is completed (step S18 in
The data structures of the path management tables, the path configuration information, the aggregate path management tables, and the aggregate flow entity table for each switch that are described in the above exemplary embodiments are merely implementation examples. Needless to say, the present invention is not limited to such data structures. In addition, in the present invention, a node represents not only any one of the switches used in the above examples but also an arbitrary switch (L2/L3 switch), a router, and the like whose flow is controlled by a controller.
The present invention is not limited to the above exemplary embodiments. Further variations, substitutions, or adjustments can be made without departing from the basic technical concept of the present invention. The controller 10 in the above exemplary embodiments can be realized by a dedicated server. Other than the above OFS (OpenFlow Switch), the switches can be realized by nodes such as routers in an IP network or MPLS switches in an MPLS (Multi-Protocol Label Switching) network. The present invention is applicable to a network in which another controller centrally controls the nodes in the network.
Variations and adjustments of the exemplary embodiments and examples are possible within the scope of the overall disclosure (including claims) of the present invention and based on the basic technical concept of the invention. Various combinations and selections of various disclosed elements are possible within the scope of the claims of the present invention. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the overall disclosure including the claims and the technical concept.
Number | Date | Country | Kind |
---|---|---|---|
2009-233891 | Oct 2009 | JP | national |
This application is a continuation of International Application No. PCT/JP2010/067519, filed on Oct. 6, 2010, and claims priority to Japanese Patent Application No. 2009-233891 filed on Oct. 7, 2009, both of which are incorporated herein by reference in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
6122753 | Masuo et al. | Sep 2000 | A |
6639897 | Shiomoto et al. | Oct 2003 | B1 |
6721899 | Narvaez-Guarnieri et al. | Apr 2004 | B1 |
6914880 | Grover et al. | Jul 2005 | B1 |
7107329 | Schroder et al. | Sep 2006 | B1 |
7180866 | Chartre et al. | Feb 2007 | B1 |
7362709 | Hui et al. | Apr 2008 | B1 |
7656792 | Zhang et al. | Feb 2010 | B2 |
7664049 | Arrakoski et al. | Feb 2010 | B1 |
7990946 | Deguchi | Aug 2011 | B2 |
8432913 | Suzuki et al. | Apr 2013 | B2 |
20020012318 | Moriya et al. | Jan 2002 | A1 |
20020067693 | Kodialam et al. | Jun 2002 | A1 |
20020172149 | Kinoshita et al. | Nov 2002 | A1 |
20030189926 | Watanabe et al. | Oct 2003 | A1 |
20030208572 | Shah et al. | Nov 2003 | A1 |
20030223379 | Yang et al. | Dec 2003 | A1 |
20040004938 | Buddhikot et al. | Jan 2004 | A1 |
20040133590 | Henderson et al. | Jul 2004 | A1 |
20040156633 | Kaspit et al. | Aug 2004 | A1 |
20040215761 | Fujii et al. | Oct 2004 | A1 |
20060013127 | Izaiku et al. | Jan 2006 | A1 |
20060087965 | Shand et al. | Apr 2006 | A1 |
20060153200 | Filsfils et al. | Jul 2006 | A1 |
20060256712 | Imajuku et al. | Nov 2006 | A1 |
20060268682 | Vasseur | Nov 2006 | A1 |
20070041316 | Chaudhuri | Feb 2007 | A1 |
20080049609 | Chao et al. | Feb 2008 | A1 |
20080089246 | Ghanwani et al. | Apr 2008 | A1 |
20080232347 | Chao et al. | Sep 2008 | A1 |
20100074115 | Klincewicz et al. | Mar 2010 | A1 |
20110261723 | Yamato et al. | Oct 2011 | A1 |
20120039164 | Enyedi et al. | Feb 2012 | A1 |
20130155840 | Li et al. | Jun 2013 | A1 |
Number | Date | Country |
---|---|---|
2000-236336 | Aug 2000 | JP |
2003-87311 (A) | Mar 2003 | JP |
2008-054233 | Mar 2008 | JP |
2009-060392 | Mar 2009 | JP |
Entry |
---|
N. McKeown et al., “Openflow: Enabling Innovation in Campus Networks”, URL: http://www.openflowswitch.org/documents/openflow-wp-latest.pdf, Mar. 14, 2008. |
Notice of the Grounds for Rejection dated Jun. 10, 2014, with partial English translation. |
Number | Date | Country | |
---|---|---|---|
20110267979 A1 | Nov 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2010/067519 | Oct 2010 | US |
Child | 13067909 | US |