Abstract:
An arithmetic operation portion including a swap arithmetic operation portion which performs an arithmetic operation of swap information concerned with a path route of a packet, and a label processing portion which sets adjustment of a first label based on a result of the arithmetic operation executed by the swap arithmetic operation portion is provided in a control apparatus to thereby attain compatibility between dispersion of packet transfer load and reduction of an error rate in each link.

Description:
INCORPORATION BY REFERENCE 
     The present application claims priority from Japanese application JP 2009-095531 filed on Apr. 10, 2009, the content of which is hereby incorporated by reference into this application. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a control apparatus and program for monitoring a communication network. Particularly, it relates to a system for controlling an MPLS (Multi-Protocol Label Switching) network. 
     2. Description of the Background Art 
     Nowadays, a transmission network accommodating various client protocols has been required toward transition to a next-generation network which will perform diversified services. 
     A method called MPLS (Multi-Protocol Label Switching) in which a frame or packet is transferred while an identifier called label is added to the frame or packet has attracted attention as a method for accommodating various client protocols. 
     In the next-generation network, high transmission quality is required of a communication path. In a network using a packet transfer method, if traffic exceeding the transfer throughput capacity of each node flows in a certain node, packet loss occurs to lower transmission quality. If traffic is concentrated in a certain node, packet loss occurs though the whole network still has a surplus throughput capacity. 
     Accordingly, if load can be dispersed or balanced by some method, accommodating efficiency in the whole network can be improved. Or the same traffic as that of the whole network can be accommodated in a network composed of nodes lower in throughput capacity. 
     A method of exchanging measured values of traffic between nodes and controlling a transfer path based on the exchanged measured values in order to disperse transfer load of respective nodes has been disclosed in JP-A-2007-060467. 
     On the other hand, lowering of quality due to packet loss is also caused by transmission error of link between respective nodes. A method of giving an error correction code intended for a header of each ATM (Asynchronous Transfer Mode) cell to the cell in an ATM network and correcting error based on this code for the purpose of reducing the transmission error rate of data has been disclosed in ITU-T, I.432.1, “B-ISDN user-network interface-Physical layer specification: General characteristics”, 1999. 
     By dispersing the packet transfer load and reducing transmission error of each link, transmission quality of a communication path can be improved and the traffic can be accommodated in a network composed of nodes lower in throughput capacity. 
     When the same error correction method as ITU-T,1.432.1, “B-ISDN user-network interface—Physical layer specification: General characteristics”, 1999 is applied to an MPLS network, another process of calculating an error correction code than a process of determining a transfer destination is required as a packet transfer process 
     The fact that transmission quality of a communication path is lowered in an MPLS method not using an error correction code will be described first. 
     In the MPLS method in which an error correction code is not given, if there is 1-bit error in a label, correct path selection cannot be made. As a result, a packet is discarded or transferred to a different node. Because 1-bit error causes 1-packet loss, a BER (Bit Error Rate) increases. An example of packet transfer in the case where error occurs in a label will be described with reference to  FIGS. 19 and 20 . When a packet  200 # 6  marked with a label “30” is transferred to  200 # 7  and the value of the label is changed to “31” due to 1-bit error during the transfer, the packet is discarded if there is no setting that a packet having a label value of “31” to a node B is transferred to a node D, or the packet is transferred to a different node if there is a setting that a packet having a label value of “31” to the node B is transferred to the different node. In any case, packet loss occurs. 
     The fact that the load based on processing of the error correction code depends on the number of packets which perform label swapping (label swapping with changing value of label) will be described next. 
       FIG. 20  shows an example of a label using an error correction code. A switching portion of each node calculates a 3-byte error correction code  202  intended for error correction of a 12-byte label  201  and provides the error correction code  202  as a header portion to thereby achieve 1-bit error correction of the label. 
     Because the error correction code  202  is calculated based on the label  201  as described above, the error correction code  202  must be calculated whenever label swapping is performed. Accordingly, in the MPLS network in which an error correction code is introduced, increase of processing load according to each node in connection with label swapping becomes further larger. If the label swap processing load per node is too large, the processing time per packet becomes long. If the throughput capacity of each node is outstepped, packet delay and packet loss are brought. 
     SUMMARY OF THE INVENTION 
     In such circumstances, issues to be solved are to disperse the packet transfer processing load and to reduce the error rate of each link. The same issues may arise in a system using not only error correction but also a process (such as encryption) which needs to be re-executed in accordance with each label swap. 
     As described above, the load based on processing of the error correction code increases as the number of packets performing label swapping increases. Accordingly, when the label swapping process is dispersed, the load based on processing of the error correction code can be dispersed. 
     Further, because increase of load based on processing of the error correction code is a factor causing occurrence of packet loss, improvement of transmission quality and improvement of traffic accommodating efficiency can be made when the load based on processing of the error correction code is dispersed. 
     If a very long label is defined so that a packet can be transferred with the same label from a start point to an end point, the load based on processing of the error correction code can be reduced because label swapping is not required. The MPLS method is however characterized in small overhead due to a short label, so that transfer efficiency is lowered if such a long label is used. 
     It is therefore necessary to provide a process of dispersing a label swapping process to each node while reducing the label swapping process as sufficiently as possible in order to reduce the load based on processing of the error correction code while the transfer efficiency is kept high. 
     The aforementioned issues can be solved by provision of a method which reduces determines a given label to reduce the number of label swaps in the whole network and disperse the number of label swaps to each node as sufficiently as possible. 
     For example, a control apparatus according to the present invention includes a communication processing portion which is connected to nodes for transmission/reception of a packet marked with a first label and which transmits/receives a control signal to/from the nodes, and an arithmetic operation portion which is connected to the communication processing portion, wherein: the arithmetic operation portion includes a swap arithmetic operation portion which performs an arithmetic operation of swap information concerned with a path route of the packet, and a label processing portion which sets adjustment of the first label based on a result of the arithmetic operation executed by the swap arithmetic operation portion; and the communication processing portion transmits/receives the control signal to/from the nodes based on the setting executed by the label processing portion. 
     It is possible to achieve a packet transport system in which packet discard rate is reduced without lowering of transfer efficiency. 
     Other objects, features and advantages of the invention will become apparent from the following description of the embodiments of the invention taken in conjunction with the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a diagram showing the configuration of an MPLS system; 
         FIG. 2  is a diagram showing label switching path; 
         FIG. 3  is a block diagram of an MPLS node; 
         FIG. 4  is a functional block diagram of a management system; 
         FIG. 5  is a hardware block diagram of the management system; 
         FIG. 6  is a view for explaining a network topology table; 
         FIG. 7  is a view for explaining a path table; 
         FIG. 8  is a view for explaining a device table; 
         FIG. 9  is a view for explaining a label table; 
         FIG. 10  is a view for explaining label patterns; 
         FIG. 11  is a view showing a set path screen in the management system; 
         FIG. 12  is a flow chart of a path setting process; 
         FIG. 13  is a flow chart of a swap minimizing process for minimizing number of swap; 
         FIG. 14  is a flow chart of a swap split (division) minimizing process; 
         FIG. 15  is a flow chart of a minimum pattern updating process; 
         FIG. 16  is a flow chart of a swap balancing process for balancing number of swap; 
         FIG. 17  is a view showing a route split (division) table; 
         FIG. 18  is a view showing an output table; 
         FIG. 19  is a diagram for explaining the height of a BER in the MPLS system; and 
         FIG. 20  is a view showing a label model of error correcting code. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The best mode of the present invention will be described below with reference to the drawings in connection with an embodiment. 
     Embodiment 1 
     The configuration of an MPLS system will be described with reference to  FIG. 1 . In  FIG. 1 , five MPLS nodes (node devices)  100 # 1  to  100 # 5  form an MPLS network. The respective MPLS nodes  100  are connected to one another by an inter-node network  21 . 
     The MPLS nodes  100  are logically connected to a management system  1  while MPLS nodes  100 # 1  and  100 # 4  connected by a management information transfer network  20  other than a main circuit are used as gateways. The management system  1  remotely monitors and controls the MPLS nodes  100  through the management information transfer network  20 . 
     Connection ports of the MPLS nodes  100  to the inter-node network  21  are defined as “Side 01 ”, “Side 02 ”, “Side 03 ” and “Side 04 ”. 
     Although Embodiment 1 shows the case where the number of connection ports of each MPLS node to the inter-node network  21  is 4 at maximum, the upper limit of the number of connection ports is not determined for carrying out this embodiment because this embodiment can be carried out if the number of connection ports is not smaller than 2. 
     The management system  1  sets a path  22  by setting labels in the respective MPLS nodes  100  through a label processing portion  48  and a communication processing portion  44  shown in  FIG. 4 . Respective portions will be described later in detail. 
     Although  FIG. 1  shows a network example, the form of physical network topology can be configured freely for carrying out this embodiment. For example, ring-like topology, linear topology, tree-type topology or mesh topology can be used. Topology of the management information transfer network  20  can be configured freely likewise. 
     A path using label swapping will be described with reference to  FIG. 2 . Assume a path  22 # 2  for transferring a packet  200 # 1  marked with a label “1” from a node  100 # 1  to a node  100 # 5  via nodes  100 # 2  and  100 # 4 . The setting [a packet marked with a label “1” is transferred in a West direction while the label “1” is rewritten into a label “0”] is given to the node  100 # 1  by the management system  1 . The setting [a packet marked with a label “0” is transferred in a South direction while the label “0” is left intact] is given to the node  100 # 2  by the management system  1 . The setting of label swapping is given to the nodes  100 # 4  and  100 # 5  by the management system  1  likewise, so that setting of the path  22 # 2  for transferring the packet  200  is achieved. 
     The configuration of each MPLS node  100  will be described with reference to  FIG. 3 . In  FIG. 3 , the MPLS node  100  has communication interfaces  101 , a switching portion  103 , and a supervisory control portion  104 . 
     Packet transfer in the MPLS node  100  will be described below. 
     A flow of a packet at communication between MPLS nodes  100  will be described. A packet transferred from between MPLS nodes  100  is transferred to the switching portion  103  by one communication interface  101 . Then, the switching portion  103  performs label swapping and error correction code donating, and then transfers the packet to another one communication interface  101 . Then, the communication interface  101  transfers the packet to an adjacent node through the inter-node network  21 . 
     A flow of packet transfer from an external network to an MPLS node  100  will be described. A packet transferred from an external network is transferred to the switching portion  103  by a communication interface  101 . Then, the switching portion  103  performs label swapping and error correction code donating, and then transfers the packet to the communication interface  101 . Then, the communication interface  101  transfers the packet to an adjacent node through the inter-node network  21 . 
     A flow of packet transfer from an MPLS node  100  to an external network will be described. A packet transferred from an MPLS node  100  is transferred to the switching portion  103  by a communication interface  101 . Then, the switching portion  103  performs label swapping and error correction code donating, and then transfers the packet to the communication interface  101 . Then, the communication interface  101  transfers the packet to an external network. 
     Respective portions will be described below in detail. 
     When each communication interface  101  is connected to the inter-node network  21 , the communication interface  101  performs packet transmission/reception to/from an adjacent MPLS node  100 . A packet received from an adjacent MPLS node  100  is converted into a proper signal, and then transferred to the switching portion  103 . Conversely, a packet received from the switching portion  103  is converted into a proper signal, and then transferred to an adjacent MPLS node  100 . 
     When each communication interface  101  is connected to a cable outside the MPLS network, the communication interface  101  performs packet transmission/reception to/from a node outside the MPLS network. A packet received from a node outside the MPLS network is converted into a proper signal, and then transferred to the switching portion  103 . Conversely, a packet received from the switching portion  103  is converted into a proper signal, and then transferred to a node outside the MPLS network. 
     Although  FIG. 3  shows the case where the communication interfaces  101  of routing lines Side 01  and Side 03  are used for connection to external networks and the communication interfaces  101  of routing lines Side 02  and Side 04  are used for connection to adjacent nodes, respective connection destinations of the communication interfaces  101  are not fixed based on the routing lines, that is, free in execution of the invention. For example, the communication interface of Side 01  can be used for connection to an adjacent node. 
     The switching portion  103  refers to the label given to the received packet and the input port and performs label swapping in accordance with a label table set in the MPLS node  100 , error correction code calculation and donating, and packet transfer to a destination communication interface  101  or communication interfaces  101 . 
     The supervisory control portion  104  collects alarms and event notifications detected at the communication interfaces  101  and the switching portion  103 , and notifies the management system  1  of a result of the collection. The supervisory control portion  104  performs label table setting for the switching portion  103  under control of the management system  1 . 
     The management system  1  is a general information processing apparatus such as a personal computer (PC) or a work station (WS). Software for managing paths  22  is installed in the management system  1 , so that the software is started up by a user. The configuration of the management system  1  will be described with reference to  FIG. 4 .  FIG. 4  is a functional block diagram of the management system  1 . 
     In  FIG. 4 , the management system  1  is operated by the user using an input portion  40  and an output portion  41 . An arithmetic operation portion  42  performs an arithmetic operation necessary for monitoring and controlling each MPLS node  100  and holds necessary information in a database portion  43 . The arithmetic operation portion  42  transmits a communication instruction to a communication processing portion  44  for execution of an instruction in the MPLS node  100  to thereby achieve communication between the management system  1  and the MPLS node  100 . The arithmetic operation portion  42  includes a screen display portion  45 , a swap arithmetic operation portion  50 , a label processing portion  48 , and a path management portion  49 . 
     The screen display portion  45  displays a set path screen G 00  ( FIG. 11 ). The screen display portion  45  will be described later with reference to  FIG. 11 . The label processing portion  48  updates the database portion  43  and transmits a communication instruction (control signal) to the communication processing portion  44  based on a result of the arithmetic operation executed by the swap arithmetic operation portion  50 . The path management portion  49  updates information in the database portion  43  based on a newly set path after execution of path setting. The swap arithmetic operation portion  50  includes a swap minimizing portion  46 , and a swap balancing processing portion  47 . The swap arithmetic operation portion  50  performs an arithmetic operation of swap information concerned with a path route of a packet. The swap minimizing portion  46  and the swap balancing processing portion  47  handle a swap minimizing process B 00  ( FIG. 13 ) and a swap balancing process E 00  ( FIG. 16 ) respectively. The swap minimizing portion  46  and the swap balancing processing portion  47  will be described later with reference to  FIGS. 13 to 16 . 
     The hardware configuration of the management system  1  will be described with reference to  FIG. 5 .  FIG. 5  is a hardware block diagram of the management system. In  FIG. 5 , the management system  1  includes a central processing unit (CPU)  30 , a main storage device (main memory)  31 , a network card (NIC: Network Interface Card)  32 , an input/output portion  34 , a sub storage device  33 , and an input portion  35  and an output portion  36  connected to the input/output portion  34 . The CPU  30 , the main memory  31 , the MC  32 , the input/output portion  34  and the sub storage device  33  are connected to one another by an internal transfer path  37 . 
     As is obvious from comparison between  FIGS. 4 and 5 , the functions  45  to  50  of the arithmetic operation portion  42  are achieved by the CPU  30  executing programs on the main storage device  31 . 
       FIGS. 6 ,  7 ,  8  and  9  show tables held in the database portion  43  of the management system  1 . Respective portions will be described below in detail. 
     A network topology table T 00  held in the database portion  43  of the management system  1  will be described with reference to  FIG. 6 . 
     After the communication interfaces  101  are mounted in each MPLS node  100  and hardware connection such as connection of an in-device cable, connection of the inter-node network, etc. is performed in each MPLS node  100 , the user registers information of the MPLS node  100  as the network topology table T 00  in the management system  1 . The network topology table T 00  shown in  FIG. 6  is composed of node name information T 01 , IP address information T 02 , Side 01  connection destination information T 03 , Side 02  connection destination information T 04 , Side 03  connection destination information T 05 , and Side 04  connection destination information T 06 . 
     A path table T 10  held in the database portion  43  of the management system  1  will be described with reference to  FIG. 7 . 
     When path setting is performed, path information is added to the path table by the management system  1 . In  FIG. 7 , the path table T 10  is composed of path name information T 14 , path route information T 12 , start point port information T 13 , and end point port information T 14 . 
     A device table T 20  held in the database portion  43  of the management system  1  will be described with reference to  FIG. 8 . 
     When the communication interfaces  101  are registered by the management system  1 , the user selects routing lines Side 01 , Side 02 , Side  03  and Side 04 . The management system  1  adds information of correspondence of the communication interfaces  101  with the routing lines to the device table T 20  in accordance with a result of the user&#39;s selection. In  FIG. 8 , the device table T 20  is composed of node name information T 21 , routing line information T 22 , and port information T 23 . 
     A label table T 30  held in the database portion  43  of the management system  1  will be described with reference to  FIG. 9 . 
     When path setting is performed by the management system  1 , information of input ports/labels and output ports/labels set in respective devices is added to the label table T 30  in accordance with a result of the arithmetic operation executed by the swap arithmetic operation portion  50 . In  FIG. 9 , the label table T 30  is composed of node name information T 31 , input label information T 32 , input port information T 33 , output label information T 34 , and output port information T 35 . Because  FIG. 9  shows an example in which all input ports in the label table T 30  have the same information “*”, the label table does not depend on input ports but is designed so that only input labels can be referred to. 
     Label patterns used in the swap arithmetic operation portion  50  will be described with reference to  FIGS. 2 and 10 .  FIG. 10  shows label patterns by way of example. The management system  1  uses label patterns temporarily for the arithmetic operation executed by the swap arithmetic operation portion  50  but does not hold the label patterns as a table. 
     The label given to a packet changes whenever the packet passes each MPLS node  100  on a route of a path  22 . A pattern of transition states of the label connected by arrows is referred to as label pattern. For example, it may be said that the label pattern of a path  22 # 2  having a path route A→B→D→E in  FIG. 2  is 1→0→0→1→1. It can be conformed from  FIG. 10  that the label pattern of a path route A→B→D→E is 1→0→0→1→1. 
     A set path screen example G 00  in the management system  1  will be described with reference to  FIG. 11 . 
     The screen display portion (input portion)  45  of the management system  1  displays a set path screen G 00 . The user inputs a path name G 01 , a path route G 02 , a start point port G 03  and an end point port G 04 . When the user pushes down an setting button (input means of a path setting instruction) G 05 , the management system  1  confirms normal inputting of the path name G 01 , the path route G 02 , the start point port G 03  and the end point port G 04  and executes a path setting process A 00 . 
     The path setting process A 00  will be described later with reference to  FIG. 12 . 
     The path setting process A 00  executed by the management system  1  will be described with reference to  FIG. 12 . 
     In the path setting process A 00 , the management system  1  executes the swap minimizing process B 00  to calculate label pattern candidates capable of minimizing the number of swaps by using user&#39;s input information on the set path screen G 00 , executes the swap balancing process E 00  to calculate a label pattern capable of distributing the number of swaps most between nodes, sets the determined label pattern for nodes, and updates the label table T 30  and the path table T 10  held in the management system. 
     Respective parts of the path setting process A 00  will be described below in detail. 
     The management system  1  starts the path setting process by using the path name, the path route, the start point port and the end point port input by the user on the set path screen G 00  (A 01 ). 
     The swap arithmetic operation portion  50  of the management system  1  receives the path route input in A 01  as an input and executes the swap minimizing process B 00  (A 02 ). The swap minimizing process B 00  will be described later with reference to  FIG. 13 . 
     The swap minimizing portion  46  of the management system  1  receives the path route input by the user on the set path screen G 00  and the label pattern candidates output from A 02  as inputs and executes the swap balancing process E 00  (A 03 ). The swap balancing process E 00  will be described later with reference to  FIG. 16 . 
     The label processing portion  48  of the management system  1  performs communication through the communication processing portion  44  by using the label pattern output from A 03  and the start point port and the end point port input in A 01  and referring to the node name information T 01  and the IP address information T 02  of the network topology table T 00  with respect to each MPLS node  100  on the path route to thereby perform label setting (A 04 ). 
     The label processing portion  48  of the management system  1  adds the label pattern output from A 03  to the label table T 30  held in the database portion  43  (A 05 ). 
     The path management portion  49  of the management system  1  adds the path name, the path route, the start point port and the end point port input in A 01  to the path table T 10  held in the database portion  43  of the management system  1  (A 06 ). 
     The management system  1  terminates the path setting process A 00  after the aforementioned processing (A 07 ). 
     The swap minimizing process B 00  executed by the swap arithmetic operation portion  50  (especially, the swap minimizing portion  46 ) of the management system  1  will be described with reference to  FIG. 13 . 
     The sum of the numbers of swaps in the case where the sum of the numbers of swaps in MPLS nodes  100  on a path is minimized with respect to the input path route is referred to as minimum swap number, and a label pattern (or label patterns) in this case is referred to as minimum pattern. In the path route, a section capable of transferring the packet without swapping is referred to as non-swap route. The minimum swap number of a non-swap route is zero. 
     In the swap minimizing process B 00 , the management system  1  calculates the longest non-swap routes in the label table on a path after initialization of the minimum swap number and the minimum pattern. There may be a plurality of routes as the longest non-swap routes. A swap split minimizing process C 00  is executed for all the longest non-swap routes to thereby calculate the minimum swap number and minimum pattern of each non-swap route. The minimum swap numbers and minimum patterns of the respective non-swap routes and the minimum swap number and minimum pattern are subjected to minimum swap number and minimum pattern updating in a minimum pattern updating process D 00 , so that minimum patterns based on calculation of the minimum patterns of all the longest non-swap routes are output as label pattern candidates. 
     Respective parts of the swap minimizing process B 00  will be described below in detail. 
     The swap minimizing portion  46  of the management system  1  starts the swap minimizing process by using the input path route (B 01 ). 
     The swap minimizing portion  46  substitutes the length of the path route for the initial value of the minimum swap number and substitutes an empty set for the initial value of the minimum pattern (B 02 ). 
     The swap minimizing portion  46  performs an arithmetic operation of label availability on a path by using the label table T 30  held in the database portion  43  to thereby calculate the longest ones of routes which are pars of the path rout and which has the swap number of 0, and set the length of the longest routes as m. There may be a plurality of routes as the routes having a length m (B 03 ). 
     One of the routes having the swap number of 0 and having a length m is set as R (B 04 ). 
     The swap minimizing portion  46  receives the path route input in B 01  and R defined in B 04  as inputs and executes the swap split minimizing process C 00  (B 05 ). The swap split minimizing process C 00  will be described later with reference to  FIG. 14 . 
     The swap minimizing portion  46  receives the minimum swap number and minimum pattern defined in B 02  and the minimum swap number and minimum pattern of R output from B 05  as inputs and executes the minimum pattern updating process D 00  (B 06 ). The minimum pattern updating process D 00  will be described later with reference to  FIG. 15 . 
     The swap minimizing portion  46  determines whether there is any route having the swap number of 0 and having a length m but not subjected to B 05  and B 06 . When there is any route not subjected to the steps B 05 -B 06 , the steps B 05 -B 06  are executed for the route. When there is no route, processing is changed to B 08  (B 07 ). 
     Although the minimum swap number calculated in B 04 -B 07  is a result of summation of the minimum swap numbers of respective routes in B 06  after splitting in B 05 , there may be a route having a smaller swap number as the whole route before splitting. To search for this route, the swap minimizing portion  46  substitutes m−1 for m and executes the steps B 04 -B 06  when the following discriminant is satisfied. 
     R: route subjected to the swap split minimizing process in B 05   
     Length of R/(minimum swap number of R+1)≦m−1 
     The discriminant uses the property that the length of the longest one of routes having the swap number of 0 is not smaller than the length of the route/(the minimum swap number of the route+1). 
     Because the determination steps B 07  and B 08  are used, the steps B 05  and B 06  can be executed for all routes capable of minimizing the number of swaps so that the swap minimizing portion  46  outputs minimum patterns as label pattern candidates (B 09 ). The management system  1  terminates the swap minimizing process B 00  after the aforementioned processing (B 10 ). 
     The swap split minimizing process C 00  executed by the swap arithmetic operation portion  50 , especially, the swap balancing processing portion  47  of the management system  1  will be described with reference to  FIG. 14 . 
     When the path route is split, path routes after splitting are referred to as split path routes. 
     In the swap split minimizing process C 00 , the management system  1  splits the path route into a non-swap route and another part (or other parts) in accordance with a route division table U 00  which will be described with reference to  FIG. 17 . When determination is made that the path route is not split based on the split table U 00 , that is, when the path route matches with the non-swap route, the label pattern of a non-swap route having the minimum swap number of 0 is output as the minimum pattern in accordance with an output table U 10 . When determination is made that the path route is split based on the split table U 00 , the swap minimizing process B 00  is executed for all the split path routes so that the minimum swap number and minimum pattern are output in accordance with the output table U 10  which will be described with reference to  FIG. 18 . The swap split minimizing process C 00  is called from the swap minimizing process B 00  and the swap minimizing process B 00  is called from the swap split minimizing process C 00  so that the path route is split recursively until the path route cannot be split any more. 
     Respective parts of the swap split minimizing process C 00  will be described below in detail. 
     The swap minimizing portion  46  starts the swap split minimizing process by using the input path route and the non-swap route (C 01 ). 
     The swap minimizing portion  46  splits the path route input in C 01  in accordance with the route division table U 00  (C 02 ). 
     The swap minimizing portion  46  determines whether nonsplitting was performed in C 02  or not (C 03 ). When nonsplitting was performed, processing is changed to C 07 . C 07  will be described later. When nonsplitting was not performed (i.e. splitting was performed), one of path routes after splitting (hereinafter referred to as split path routes) is set as R (C 04 ). 
     The swap minimizing portion  46  receives R defined in C 04  as an input and executes the swap minimizing process B 00  (C 05 ). 
     The swap minimizing portion  46  determines whether there is any split path route not subjected to the swap minimizing process B 00 . When there is any split path route not subjected to the swap minimizing process, the swap minimizing portion  46  receives the split path route as an input and executes the swap minimizing process B 00 . When there is no split path route not subjected to the swap minimizing process, processing is changed to C 07  (C 06 ). 
     The swap minimizing portion  46  outputs the minimum swap number and minimum pattern in accordance with the output table U 10  (C 07 ). 
     The management system  1  terminates the swap split minimizing process C 00  after the aforementioned processing (C 08 ). 
     The route division table U 00  used in C 02  of the swap split minimizing process by the swap minimizing portion  46  will be described with reference to  FIG. 17 . 
     The route division table U 00  shows how to perform route splitting by using information of the start point and end point of the path route and the start point and end point of the non-swap route input in C 01 . When the start point of the non-swap route matches with the start point of the path route, and when the end point of the non-swap route matches with the end point of the path route, the path route is not split (U 01 ). When the start point of the non-swap route does not match with the start point of the path route, and when the end point of the non-swap route matches with the end point of the path route, the path route is split into two routes, that is, the non-swap route and another route (U 02 ). When the start point of the non-swap route matches with the start point of the path route, and when the end point of the non-swap route does not match with the end point of the path route, the path route is split into two routes, that is, the non-swap route and another route (U 03 ). When the start point of the non-swap route does not match with the start point of the path route, and when the end point of the non-swap route does not match with the end point of the path route, the path route is split into three routes, that is, the non-swap route and other two routes (U 04 ). 
     The output table U 10  used in C 07  of the swap split minimizing process by the swap minimizing portion  46  will be described with reference to  FIG. 18 . 
     The output table U 10  shows how to output the minimum swap number and minimum pattern by using information of the start point and end point of the path route and the start point and end point of the non-swap route input in C 01  and the minimum swap number and minimum pattern of each split route. 
     When the start point of the non-swap route matches with the start point of the path route, and when the end point of the non-swap route matches with the end point of the path route, 0 and the non-swap route are outputted as the minimum swap number and the minimum pattern, respectively (U 11 ). When the start point of the non-swap route matches with the start point of the path route, and when the end point of the non-swap route does not match with the end point of the path route, a value obtained by adding 1 to the minimum swap number of the split route other than the non-swap route is output as the minimum swap number and a route based on all combinations of the non-swap route and the split route other than the non-swap route is output as the minimum pattern (U 12 ). The reason why 1 is added is because swapping occurs between the non-swap route and the split route other than the non-swap route. When the start point of the non-swap route does not match with the start point of the path route, and when the end point of the non-swap route matches with the end point of the path route, a value obtained by adding 1 to the minimum swap number of the split route other than the non-swap route is output as the minimum swap number and a route based on all combinations of the non-swap route and the split route other than the non-swap route is output as the minimum pattern (U 13 ). The reason why 1 is added is because swapping occurs between the non-swap route and the split route other than the non-swap route. When the start point of the non-swap route does not match with the start point of the path route, and when the end point of the non-swap route does not match with the end point of the path route, a value obtained by adding 2 to the sum of the minimum swap numbers of the split routes other than the non-swap route is output as the minimum swap number and a route based on all combinations of the non-swap route and the split routes other than the non-swap route is output as the minimum pattern (U 14 ). The reason why 2 is added is because swapping occurs between the non-swap route and the split routes other than the non-swap route. 
     The minimum pattern updating process D 00  executed by the management system  1  will be described with reference to  FIG. 15 . 
     In the minimum pattern updating process D 00 , the management system  1  compares inputs and performs overwriting when the minimum swap number of R is smaller than the minimum swap number used until that time but performs addition when the minimum swap number of R is equal to the minimum swap number used until that time. 
     Respective parts of the minimum pattern updating process D 00  will be described below in detail. 
     The swap minimizing portion  46  starts the minimum pattern updating process D 00  by using the input minimum swap number and minimum pattern and the minimum swap number and minimum pattern of R (D 01 ). 
     The swap minimizing portion  46  performs an arithmetic operation of comparison between the minimum swap number of R and the minimum swap number (D 02 ). When the minimum swap number of R is larger than the minimum swap number, the swap minimizing portion  46  changes processing to D 05  without updating of the minimum swap number and minimum pattern. When the minimum swap number of R is equal to the minimum swap number, the swap minimizing portion  46  adds the minimum pattern of R to the minimum pattern (D 03 ) and changes processing to DOS. When the minimum swap number of R is smaller than the minimum swap number, the swap minimizing portion  46  substitutes the minimum swap number of R for the minimum swap number, substitutes the minimum pattern of R for the minimum pattern (D 04 ) and changes processing to D 05 . 
     The swap minimizing portion  46  outputs the updated minimum swap number and minimum pattern (D 05 ). 
     The management system  1  terminates the minimum pattern updating process D 00  after the aforementioned processing (D 06 ). 
     The swap balancing process E 00  executed by the management system  1  will be described with reference to  FIG. 16 . 
     In the swap balancing process E 00 , the management system  1  calculates sample variances (information of degree of dispersion) of swap numbers in use of label pattern candidates for all the label pattern candidates and outputs a label pattern smallest in sample variance. 
     Respective parts of the swap balancing process E 00  will be described below in detail. 
     The swap balancing processing portion  47  starts the swap balancing process E 00  by using the input path route and label pattern (E 01 ). 
     The swap balancing processing portion  47  creates a temporary label table in use of one of the label pattern candidates by using one of the label pattern candidates not subjected to sample variance calculation and the label table T 30  held in the database portion  43  (E 02 ). 
     The swap balancing processing portion  47  calculates sample variance of swap numbers based on the temporary label table created in E 02  (E 03 ). The following method is used for calculation of sample variance of swap numbers. Swap numbers are calculated in accordance with nodes by the temporary label table. Sample variance σ 2  with respect to swap numbers according to nodes is calculated by the following numerical expression: 
               Sample   ⁢           ⁢   variance   ⁢           ⁢     σ   2       =       1   n     ⁢       ∑     i   =   1     n     ⁢       (       x   _     -     x   i       )     2               
in which n is the number of nodes on a path, x i  is the number of swaps in the i-th node when nodes on a path are counted from the start point, and  x  is an average of x 1 , x 2 , . . . , x n .
 
     For example, assume that the path route input in E 01  is A→B→C→D→E, and that the numbers of swaps according to nodes in use of a certain label pattern candidate are (3, 1, 2, 2, 4). Sample variance of this label pattern can be calculated as 1.04 by the aforementioned numerical expression. 
     Sample variance is generally used as a marker indicating dispersion of a sample from a sample average in statistics. The swap balancing processing portion  47  determines whether there is any label pattern candidate not subjected to sample variance calculation (E 04 ). When there is any label pattern candidate not subjected to sample variance calculation, the steps E 02  and E 03  are executed to calculate sample variance. When there is no label pattern candidate not subjected to sample variance calculation, processing is changed to E 05 . 
     The swap balancing processing portion  47  outputs a label pattern candidate smallest in sample variance in the label pattern candidates as a label pattern. When there are label pattern candidates smallest in sample variance, a label pattern candidate which is the head in lexicographic order is output as a label pattern (E 05 ). 
     In statistics, as the value of sample variance becomes larger, dispersion becomes larger. By selecting a label pattern candidate smallest in sample variance, the numbers of label swaps can be dispersed in between nodes. 
     The management system  1  terminates the swap balancing process E 00  after the aforementioned processing (E 06 ). 
     Even if table configurations of the network topology table T 00 , the path table T 10 , the device table T 20  and the label table T 30  vary, this embodiment can be achieved as long as information of configuration of network topology based on nodes, information of path control, information of correspondence of the communication interfaces with routing lines and information for determining the transfer routing line from a label given to a packet can be provided. 
     Even if screen configuration of the set path screen example G 00  varies, this embodiment can be achieved as long as means for inputting information necessary for setting a path can be provided. 
     Even if the processing sequence in the path setting process A 00  varies, this embodiment can be achieved as long as a label pattern provided to minimize the number of swaps and dispersed in accordance with each node can be determined and a flow of label setting in nodes and reflection of information on the management system  1  can be provided by use of a result of the determination. 
     Even if different algorism is used in the swap minimizing process B 00 , this embodiment can be achieved as long as the swap minimizing process B 00  can be provided as a process of calculating label pattern candidates to minimize the number of swaps. 
     Even if different algorism is used in the swap balancing process E 00 , this embodiment can be achieved as long as the swap balancing process E 00  can be provided as a process of calculating a label pattern to disperse the number of swaps in accordance with each node. 
     Although a system using error correction has been described in Embodiment 1, this embodiment can be applied to a system using a process such as encryption to be executed hop by hop. 
     According to the aforementioned embodiment, a label pattern which is smallest in the total swap number and in which the number of swaps is dispersed most in between nodes can be used when path setting is performed by the management system  1 . When the label pattern which is smallest in the total swap number and in which the number of swaps is dispersed most in between nodes is used, load per node can be suppressed and a risk of packet loss can be reduced so that an MPLS network high in reliability can be achieved. 
     It should be further understood by those skilled in the art that although the foregoing description has been made on embodiments of the invention, the invention is not limited thereto and various changes and modifications may be made without departing from the spirit of the invention and the scope of the appended claims.