Abstract:
In a communications network where cross-connect nodes are organized according to geographic domains, a domain connectivity table indicates intra-domain connectivity of each domain and a domain routing table indicates a route specifying those nodes whose intra-domain connectivity is indicated in the domain connectivity table. Each node uses its domain routing table to establish a path between edge nodes. In another embodiment, the domain routing table indicates routes containing no intra-domain virtual link that terminates at an edge node and no consecutively concatenated intra-domain virtual links. A backbone routing table indicates inter-domain routes and unreachability indications between border nodes of each domain and border nodes of every other domain. The inter-domain routes contain at least one of the inter-domain physical links but contain no consecutively concatenated intra-domain virtual links.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates generally to communications networks in which cross-connect nodes are organized into a plurality of groups corresponding to geographic domains and in which constraints are imposed on intra-domain node-to-node connectivity. More specifically, the present invention relates to a path finding technique for avoiding unreachable nodes which would otherwise be encountered due to connectivity constraints.  
           [0003]    2. Description of the Related Art  
           [0004]    In an optical communications network, a number of optical cross-connect nodes are interconnected by optical links and wavelength division multiplexers are provided between neighbor nodes to support a number of parallel wavelength channels. Different network providers and administrators organize the optical communications network into a number of groups corresponding to geographic domains for efficient network management and administration. For establishing a path across the network, use is made of a distance vector algorithm known as the BGP (border gateway protocol) routing protocol (RFC 1771) that operates on TCP/IP. According to the BGP routing protocol, neighbor domain nodes use the BGP open message and the BGP keepalives message during a neighbor discovery process and create a routing table from BGP update messages advertised from neighbor domains. Based on the routing table, each domain perform route calculations and then advertise its calculated routes and updates its routing table. As the advertisement process is repeated, the contents of each routing table tend to converge to a set of invariable values.  
           [0005]    On the other hand, the optical cross-connect node has the ability to perform its switching function on optical signals of any transmission rate or any data format. However, if signals are “transparently” propagated through a large number of optical nodes or transmitted over long distances, they would suffer from serious distortion due to noise and attenuation with a result that their bit error rate becomes lower than the prescribed acceptable level. Additionally, optical cross-connect nodes may also be configured with an optical add-drop multiplexer (OADM) which is only capable of performing its add-drop function on a particular wavelength. Such cross-connect nodes do not have non-blocking feature. Hence, connectivity may be constrained within a domain to such an extent that no accessibility exists between particular nodes within that domain. Connectivity constraint may arise on a particular intra-domain route. Due to this intra-domain connectivity constraint, attempts to set up a path using the BGP routing protocol may encounter a failure.  
           [0006]    One solution is to have all network nodes share connectivity constraints information in common. However, the amount of such information each network node could hold in its memory would be significantly large, which could lead to the loss of network scalability.  
         SUMMARY OF THE INVENTION  
         [0007]    It is therefore an object of the present invention to provide a communications network that ensures against path setup failures by designing intra-domain connectivity constraints into routing tables.  
           [0008]    Another object of the present invention is to provide a communications network in which path setup failures are prevented while network scalability is maintained.  
           [0009]    According to a first aspect of the present invention, there is provided a communications network comprising a plurality of network nodes interconnected by communication links, the network nodes being organized into a plurality of groups corresponding to geographic domains, ones of the network nodes located at periphery of the network functioning as edge nodes to which user terminals are connected, a plurality of domain connectivity tables respectively associated with the domains, each of the domain connectivity tables indicating intra-domain connectivity of the associated domain, and a plurality of domain routing tables respectively associated with the domains, each of the domain routing tables indicating a route specifying ones of the network nodes whose intra-domain connectivity is indicated in the domain connectivity table of the associated domain, By using the routing tables, the network nodes establish a path between the edge nodes in response to a path setup request from the user terminals.  
           [0010]    According to a second aspect of the present invention, there is provided a communications network comprising a plurality of network nodes organized into a plurality of groups corresponding to geographic domains. Those network nodes located at periphery of the network function as edge nodes to which user terminals are connected, and those network nodes located at border points between neighbor domains function as border nodes. The border nodes of same domain are interconnected by intra-domain virtual links and the border nodes of different domains are interconnected by inter-domain physical links. A plurality of domain routing tables are respectively provided for the domains. Each domain routing table indicates a plurality of routes containing no intra-domain virtual link terminating at the edge nodes and no consecutively concatenated intra-domain virtual links. A backbone routing table indicates a plurality of inter-domain routes and unreachability indications between the border nodes of each domain and the border nodes of every other domain. The inter-domain routes contain at least one of the inter-domain physical links but contain no consecutively concatenated intra-domain virtual links. By using the domain routing tables and the backbone routing table, the network nodes establish a path between the edge nodes in response to a path setup request from the user terminals. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWIGNS  
       [0011]    The present invention will be described in detail further with reference to the following drawings, in which:  
         [0012]    [0012]FIG. 1 is a block diagram of an optical communication network of the present invention, in which the network is divided into four domains;  
         [0013]    [0013]FIG. 2 is a block diagram of an optical cross-connect node of FIG. 1;  
         [0014]    [0014]FIG. 3 is an illustration of inter-domain connectivity tables of the respective network domains; and  
         [0015]    [0015]FIG. 4 is an illustration of domain connectivity tables of the respective network domains;  
         [0016]    [0016]FIG. 5 is a flowchart of the operation of a network node according to a first embodiment of the present invention when the node creates a domain routing table;  
         [0017]    [0017]FIG. 6A is an illustration of a process of creating a domain routing table of a source domain;  
         [0018]    [0018]FIG. 6B is an illustration of a process of creating a domain routing table of a first intermediate domain;  
         [0019]    [0019]FIG. 6C is an illustration of a process of creating a domain routing table of a second intermediate domain;  
         [0020]    [0020]FIG. 6D is an illustration of a process of updating the domain routing table of the first intermediate domain;  
         [0021]    [0021]FIG. 6E is an illustration of a process of creating a domain routing table of a destination domain;  
         [0022]    [0022]FIG. 7 is a sequence diagram for illustrating a sequence of events that occur in the network when the domain routing tables are created according to the first embodiment of the present invention;  
         [0023]    [0023]FIG. 8 is a flowchart of the operation of a network node according to a second embodiment of the present invention when the node creates a domain routing table;  
         [0024]    [0024]FIG. 9 is a block diagram of the optical network for illustrating link state messages transmitted through the network when domain routing tables are created in the network according to the second embodiment of this invention;  
         [0025]    [0025]FIG. 10 is a sequence diagram for illustrating a sequence of events that occur in the network when the domain routing tables are created according to the second embodiment of the present invention;  
         [0026]    [0026]FIG. 11 is an illustration of a process of creating domain routing tables of all network domains according to the second embodiment;  
         [0027]    [0027]FIG. 12 is a block diagram of the optical communication network which is configured to define a backbone area according to a third embodiment of the present invention;  
         [0028]    [0028]FIG. 13 is a block diagram of a non-border node of the network of FIG. 12;  
         [0029]    [0029]FIG. 14 is a block diagram of a border node of the network of FIG. 12;  
         [0030]    [0030]FIG. 15 is a flowchart of the operation of a domain routing processor according to the third embodiment of the invention for creating a domain link state database and a domain routing table;  
         [0031]    [0031]FIG. 16 is a flowchart of the operation of a backbone routing processor according to the third embodiment of the invention for creating an border connectivity table;  
         [0032]    [0032]FIG. 17 is a flowchart of the operation of the backbone routing processor according to the third embodiment of the invention for creating a backbone link state database and a backbone routing table;  
         [0033]    FIGS.  18 A˜ 18 C are illustrations of the domain routing tables of several network domains;  
         [0034]    [0034]FIG. 19 is an illustration of the border connectivity table;  
         [0035]    [0035]FIG. 20 is an illustration of the backbone link state database;  
         [0036]    [0036]FIGS. 21A and 21B are illustrations of the backbone routing tables of a number of border nodes;  
         [0037]    [0037]FIG. 22 is a flowchart of the operation of the domain routing processor of a source edge node when a path setup request is received from a client;  
         [0038]    [0038]FIG. 23 is a flowchart of the operation of the domain and backbone routing processors of each node of the network when a path setup request is received from the source edge node;  
         [0039]    [0039]FIG. 24 is a block diagram of the network of the third embodiment in which path setup procedures are indicated by thick broken and thick solid lines;  
         [0040]    [0040]FIG. 25 is an illustration of a process of sending a summary link state advertisement message from a source domain through the network to a destination domain; and  
         [0041]    [0041]FIG. 26 is an illustration of a modified summary link state of a source domain. 
     
    
     DETAILED DESCRIPTION  
       [0042]    Referring now to FIG. 1, there is shown an optical network comprising a plurality of optical cross-connect network nodes  11  through  34 . An optical client node  51  is connected to the edge node  11  and optical client nodes  61  and  62  are connected to the edge nodes  43  and  44 , respectively. The network is divided into a plurality of network domains  1  through  4 . All network domains and client nodes are interconnected by optical links A through I and the nodes within each domain are also interconnected by optical links. In each network domain, the nodes that are interconnected with the nodes in other domains are called as border nodes. In the illustrated example, nodes  13 ,  14 ,  33 ,  34 ,  41 ,  42 ,  44  and all nodes of domain  2  are the border nodes. Note that the network of FIG. 1 is simplified for the purpose of disclosure. A greater number of nodes are included so that each domain may contain one or more intermediate or transit node, not shown in the drawings.  
         [0043]    Because of transparent (no amplification) optical transmission, signals may suffer degradation as they propagate through the network. Optical cross-connect nodes may also be configured with an optical add-drop multiplexer (OADM) which is only capable of performing its function on a particular wavelength. Such cross-connect nodes do not have non-blocking feature. Hence, connectivity may be constrained within a domain to such an extent that no accessibility exists between particular nodes within that domain.  
         [0044]    Control messages are exchanged between neighboring network nodes via network-to-network interfaces during route calculation and path setup phases. Path setup and disconnect requests are transmitted from the client nodes via user-to-network interfaces to the associated edge nodes. These interfaces establish bi-directional control channels.  
         [0045]    [0045]FIG. 2 shows in detail the internal configuration of the optical cross-connect node  44  as a representative of all nodes of the network. An optical switch  203  is provided for establishing optical connections between incoming line interfaces  201  and outgoing line interfaces  202  in response to a switching command signal from a switching controller  204 . Note that no electro-optical conversion and no opto-electrical conversion are performed in both incoming and outgoing line interfaces. Thus, optical transparency is ensured between incoming and outgoing optical links. The switching command signal is formulated in accordance with routing information supplied from a message processor  205 , which is connected to the incoming and outgoing line interfaces  201 ,  202  and a routing processor  206 . Message processor  205  receives control messages from the incoming line interfaces  201 , reformulates them according to the output of routing processor  206  and retransmits the reformulated control messages through the outgoing line interfaces  202 , while at the same time giving information to the switching controller  204  specifying which connection to establish within the optical switch  203 . Routing processor  206  is associated with an inter-domain connectivity table IDCT, a domain connectivity table DCT and a domain routing table DRT. Each of these tables is uniquely determined by the configuration of the domain to which each network node belongs. Therefore, the network nodes  41 - 44  use the same inter-domain connectivity table IDCT 4 , the same domain connectivity table DCT 4  and the same domain routing table DRT 4  of the domain  4 .  
         [0046]    As shown in detail in FIG. 3, in the inter-domain connectivity tables IDCT 1 -IDCT 4  of the domains  1  through  4 , optical links are mapped to home network nodes and border/client nodes. In the case of domain  4 , for example, links A, B, C, D, E are respectively mapped in the inter-domain connectivity table IDCT 4  to home network nodes  41 ,  42 ,  43 ,  44 ,  44  and border/client nodes  23 ,  33 ,  61 ,  34 ,  62 .  
         [0047]    Note that in a practical aspect of the present invention the inter-domain connectivity table IDCT includes the identifiers of the incoming and outgoing line interfaces for each entry in addition to the node identifiers in order to uniquely specify their associated optical links. However, in order to avoid unnecessarily obscuring the present invention, the line interface identifiers are omitted from the inter-domain connectivity tables.  
         [0048]    Details of the domain connectivity tables DCT 1  through DCT 4  of domains  1  to  4  are shown in FIG. 4. Each domain connectivity table shows connectivity within its domain by symbols O (availability) and X (unavailability). In the case of domain  4 , the domain connectivity table DCT 4  indicates that the node  41 , for example, is accessible to nodes  42  and  43  but inaccessible to node  44 .  
         [0049]    A domain routing table DRT is created based on the inter-domain connectivity table and the domain connectivity table and in addition to a link state advertisement (LSA) message received from neighboring node. This table creation process start with a source node which relies only on its inter-domain connectivity table and its domain connectivity table to create its own domain routing table. The created domain routing table is sent to a neighboring node as an LSA message.  
         [0050]    As shown in FIG. 2, the domain routing table DRT of domain  4  maps client nodes  61  and  62  respectively to outgoing border nodes from which the domain  4  transmits its signals to the client nodes  61  and  62 , the transit domain, and sets of incoming border nodes from which the client nodes transmit their signals from the domain  4  to neighboring domains. To the client node  61 , for example, the node  43  is mapped as an outgoing border node and the border nodes  41 ,  42 ,  44  are mapped as incoming border nodes.  
         [0051]    [0051]FIG. 5 is a flowchart illustrating the operation of the routing processor  206  of each network node to create its own domain routing table DRT.  
         [0052]    The operation of the routing processor starts with decision step  501  to determine whether its node is a source domain node. If so, the routing processor proceeds to step  502  to read the contents of the inter-domain connectivity table IDCT and the domain connectivity table DCT and determines, at step  503 , corresponding nodes to create the domain routing table DRT. The contents of the domain routing table are transmitted as an LSA message to the network at step  504 .  
         [0053]    If the decision at step  501  is negative, the routing processor proceeds to step  511  to determine if its own node is a transit domain node or a destination domain node. If its own node is a transit domain node, the routing processor proceeds to step  512  to check to see if an LSA message is received. If an LSA message is received from a border node of a neighboring domain, the routing processor retransmits a copy of the message to neighbor nodes of the same domain (step  513 ) and reads the contents of the message as well as the contents of its inter-domain connectivity table and its domain connectivity table (step  514 ), and determines corresponding nodes and creates (updates) a domain routing table (step  515 ). The contents of the domain routing table are transmitted as an LSA message to the next node on the route to the destination domain. The routing processor of the transit domain nodes repeats steps  512  to  516  until all LSA messages are received.  
         [0054]    If the node of the routing processor is the destination domain node, the routing processor proceeds from step  511  to step  521  to check to see if an LSA message is received. If so, the routing processor retransmits a copy of the message to the other nodes of the same domain and reads the contents of the message as well as the contents of its inter-domain connectivity table and its domain connectivity table (step  523 ), and determines corresponding nodes and creates a domain routing table (step  524 ).  
         [0055]    The operation of the flowchart of FIG. 5 will be best understood with the following description with the aid of FIGS. 6A to  6 E and  7  by assuming that the domain  4  is the source domain the domain  1  is the destination domain and constrained connectivity (inaccessibility) exists between nodes  41  and  43  as illustrated in the domain connectivity table DCT 4 .  
         [0056]    Referring to FIG. 6A, if the domain  4  is the source domain, the routing processor examines both inter-domain connectivity table IDCT 4  and domain connectivity table DCT 4 . Since the inter-domain connectivity table IDCT 4  indicates that the node  43  is the home network node of client node  61  and since the domain connectivity table DCT 4  indicates that nodes  41 ,  42 ,  44  are accessible to the home node  43  of the client node, the routing processor determines, for client node  61 , that the node  43  is an outgoing border node from domain  4  to client node  61  and that the nodes  41 ,  42 ,  44  are incoming border nodes from client node  61  and maps these relationships in a domain routing table DRT 4 .  
         [0057]    Further, the inter-domain connectivity table IDCT 4  indicates that the node  44  is the home node of client node  62  and the domain connectivity table DCT 4  indicates that the nodes  42 ,  43 ,  44  are accessible to node  44 . Therefore, the routing processor determines, for client node  62 , the node  44  as an outgoing border node from domain  4  to client node  62  and the nodes  42 ,  43 ,  44  as incoming border nodes from client node  62  to domain  4  because of their accessibility to node  44  and maps the client node  62  to these nodes in the domain routing table DRT 4 . In this case, the domain  4  is the transit domain. The created domain routing table DRT 4  is transmitted as an LSA-1 message from the domain  4  to domains  2  and  3  at the same time (step  701 , FIG. 7).  
         [0058]    Border node  23  responds to the LSA-1 message from the domain  4  by advertising its copy to nodes  21  and  24  (step  702 ) and creates a domain routing table DRT 2  shown in FIG. 6B. The routing processor of node  23  examines the contents of LSA-1 message as well as both inter-domain connectivity table IDCT 2  and domain connectivity table DCT 2 . Since node  41  is indicated in LSA-1 message as an incoming border node from client node  61  to domain  4  and is mapped in inter-domain connectivity table IDCT 2  to node  23  and the latter is indicated in domain connectivity table DCT 2  as being accessible to node  22 , the routing processor of border node  23  maps client node  61 , in domain routing table DRT 2 , to node  23  as an outgoing border node and nodes  21 ,  22 ,  24  as incoming border nodes. The transit domains for the client node  61  includes domains  2  and  4 . The domain routing table DRT 2  is transmitted as an LSA-2A (step  703 ) to the node  24  where it is advertised to domain  3 . At this moment, the client node  62  is not mapped in the domain routing table DRT 2  since the LSA-1 message from domain  4  is not sufficient for mapping it in this table.  
         [0059]    Meanwhile, each of the domain- 3  nodes  33  and  34  responds to the LSA-1 message from the domain  4  by advertising its copy to other nodes of the same domain (step  704 ) and creates a domain routing table DRT 3  shown in FIG. 6C. The routing processor of node  33 , for example, examines the contents of LSA-1 message as well as both inter-domain connectivity table IDCT 3  and domain connectivity table DCT 3 .  
         [0060]    It is seen that the node  42  is indicated in LSA-1 as an incoming border node from client node  61  to domain  4  and is mapped in inter-domain connectivity table IDCT 3  to node  33  which is also indicated in domain connectivity table DCT 3  as being accessible to nodes  33 ,  34 . As a result, the routing processor of node  33  maps these relationships in a first entry  601  of the domain routing table DRT 3 , with the node  33  as an outgoing border node from domain  3  to client node  61  and the nodes  33  and  34  as incoming border nodes from client node  61  to domain  3 .  
         [0061]    Since the node  44  is indicated in LSA-1 as an incoming border node from client node  61  to domain  4  and is mapped in IDCT 3  to node  34  which is indicated in DCT 3  as being accessible to node  33 , these relationships are mapped in a second entry  602  of domain routing table DRT 3 , with the node  34  as an outgoing border node from domain  3  to client node  61  and the node  33  as an incoming border node from client node  61  to domain  3 .  
         [0062]    Node  42  is further indicated in LSA-1 as an incoming border node from client node  62  to domain  4  and is mapped in IDCT 3  to node  34  which is indicated in DCT 3  as being accessible to nodes  33 . These relationships are mapped in a third entry  603  of the domain routing table DRT 3 , with the node  33  as an outgoing border node from domain  3  to client node  62  and the nodes  33  and  34  as incoming border nodes from client node  62  to domain  3 .  
         [0063]    Node  44  is further indicated in LSA-1 as an incoming border node from client node  62  to domain  4  and is mapped in IDCT 3  to node  34  which is indicated in DCT 3  as being accessible to node  33 . These relationships are mapped in a third entry  604  of the domain routing table DRT 3 , with the node  34  as an outgoing border node from domain  3  to client node  62  and the node  33  as an incoming border node from client node  62  to domain  3 . In all entries  601  to  604 , the domains  3  and  4  are indicated as domains on the transit route. Contents of the domain routing table DRT 3  are then advertised as an LSA-2B message to domain  2  (step  705 ).  
         [0064]    Meanwhile, the nodes in domain  3  do not perform updating of the domain routing table DRT 3  in response to the LSA-2A message from domain  2  since taking the route from domain  3  to client node  61  via domain  2  is a long way around.  
         [0065]    In response to the LSA-2B message from domain  3 , the border node  24  advertises a copy of this message to the other nodes of domain  2  (step  706 ) and updates its domain routing table DRT 2  as shown in Pig.  6 D.  
         [0066]    Since LSA-2B message advertises that the node  33  is an incoming border node from client node  62  to domain  3  and is mapped in the inter-domain connectivity table IDCT 2  to node  24  which domain connectivity table DCT 3  shows that node  24  is accessible to nodes  22 ,  23 , the routing processor of node  24  determines that the node  24  is an outgoing border node from domain  2  to client node  62  and the nodes  22  and  23  are incoming border nodes from client node  62  to domain  2 . These relationships are mapped in a new entry of the domain routing table DRT 2  as shown in FIG. 6D, with the domains  2 - 3 - 4  being indicated as a transit route, Contents of the domain routing table DRT 2  are advertised as an LSA-3 message to the domain  1  (step  707 ).  
         [0067]    In response to the LSA-3 message from domain  2 , the node  13  advertises its copy to the other nodes of domain  1  (step  708 ) and starts creating a domain routing table DRT 1  (step  709 ). Since the node  21  is indicated in the LSA-3 message as an incoming border node from client node  61  to domain  2  and is mapped in the inter-domain connectivity table IDCT 12  to node  13  which is indicated in the domain connectivity table DCT 1  as being accessible to nodes  11 ,  14 , the routing processor of node  13  establishes these relationships in a first entry  611  of the domain routing table DRT 1 , with the node  13  as an outgoing border node from domain  1  to client node  61  and the nodes  11  and  14  as incoming nodes from client node  61  to domain  1 . Domains  1 - 2 - 4  are mapped as domains on the transit route from client node  61  in the entry  611 .  
         [0068]    Additionally, the node  22  is indicated in LSA-3 message as an incoming border node from client node  61  to domain  2  and is mapped in inter-domain connectivity table  11 DCT 12  to node  14  which is indicated in the domain connectivity table DCT 1  as being accessible to nodes  11 ,  13 . Thus, these relationships are mapped in a second entry  612  of the domain routing table DRT 1 , with the node  14  as an outgoing border node from domain  1  to client node  61  and the nodes  11  and  13  as incoming nodes from client node  61  to domain  1 . Domains  1 - 2 - 4  are mapped in the entry  612  as domains on the transit route from client node  61 .  
         [0069]    Further, the node  22  is indicated in LSA-3 message as an incoming border node from client node  62  to domain  2  and is mapped in inter-domain connectivity table IDCT 12  to node  14  which is indicated in the domain connectivity table DCT 1  as being accessible to nodes  11 ,  13 . Thus, these relationships are mapped in a third entry  613  of domain routing table DRT 1 , with the node  14  as an outgoing border node from domain  1  to client node  62  and the nodes  11  and  13  as incoming nodes from client node  62  to domain  1 . Domains  1 - 2 - 3 - 4  are mapped in the entry  613  as transit domains on the route from client node  62 .  
         [0070]    In this way, a domain routing table is created in each domain of the network. Thus, when a client&#39;s request is received the domain routing tables of the network are referenced to establish a path to the destination. Since the connectivity constraint of every other domain is designed into each domain routing table, all domain routing tables as a whole ensure against failure in setting up the path. The avoidance of path setup failure eliminates the need to repeat alternate path finding operations. The amount of time the network takes to set up an optical path and the amount of time it takes to establish an alternate path during link failure can be reduced.  
         [0071]    For selecting a path through a network it is the usual practice to discard a path that forms a loop in the network so that wasteful use of the network resource can be avoided. However, the discarding of a looping path may result in the loss of a route to some node. A second embodiment of the present invention provides a path selection mechanism that allows a number of loops to be formed within a network, but selects only one loop having a smallest number of transit domains.  
         [0072]    [0072]FIG. 8 is a flowchart for illustrating the operation of the network nodes according to the second embodiment of the present invention, in which steps corresponding in significance to those in FIG. 5 are marked with the same numerals as used in Pig.  5  and the description thereof is omitted.  
         [0073]    Following the domain routing table create/update step  515 , the routing processor of the transit domain node examines the domain routing table and determines if a looping path exists in its own domain routing table DRT (step  801 ). If so, it further determines if there are more than loop (step  802 ). If the decision is affirmative, flow proceeds to step  803  to select only one looping path having a smallest number of transit domains and discard other looping path(s) from the domain routing table. Following step  803 , contents of the domain routing table are transmitted as an LSA message (step  516 ).  
         [0074]    The operation of the flowchart of FIG. 8 will be best understood with the aid of FIGS. 9, 10 and  11 .  
         [0075]    [0075]FIG. 9 shows an optical communication network which is similar to FIG. 1 with the exception that client nodes  71  and  72  are connected to network nodes  31  and  32 , respectively, instead of the client nodes  61 ,  62  connected to the domain  1  of FIG. 1. Hence, the domain  3  is the source domain from which the network starts its routine for creating domain routing tables.  
         [0076]    As illustrated in FIG. 10, the domain  3  starts creating its own domain routing table DRT 3 , as shown in FIG. 11, based on its inter-domain connectivity table IDCT 3  and domain connectivity table DCT 3  (step  1001 ).  
         [0077]    In FIG. 11, the domain routing table DRT 3  indicates that the outgoing border node from domain  3  to client node  71  is the node  31  and the incoming border nodes from client node  71  to domain  3  are the nodes  32  and  33  which are accessible to the node  31  and the transit domain is the domain  3 . Further, the domain routing table DRT 3  indicates that the outgoing border node from domain  3  to client node  72  is the node  32  and the incoming border nodes from client node  72  to domain  3  are the nodes  31  and  34  which are accessible to the node  32 , and the transit domain is the domain  3 .  
         [0078]    AN LSA-11 message is formulated and transmitted from domain  3  to domains  2  and  4  at the same time to advertise the client nodes and the incoming border nodes of domain routing table DRT 3 .  
         [0079]    The transmitted LSA-11 message is advertised within the domain  2  (step  1002 ) and a domain routing table DRT 2  (see FIG. 11) is created, using the LSA-11 message and its inter-domain connectivity table IDCT 2  and domain connectivity table DCT 2  (step  1003 ). Since the LSA-11 message advertises border nodes  32  and  33  for client node  71 , of which the node  33  is connected to domain  2 , the node  24  is mapped as an outgoing border node of domain  2  and the nodes  22  and  23  which are accessible to node  24  (see DCT 2 , FIG. 4) are mapped as incoming border nodes of domain  2  for client node  71 . Domains  2 - 3  are mapped as a transit route. On the other hand, the client node  72  is determined as unreachable since the advertised nodes  31 ,  34  are not connected to the domain  2 . Domain  2  formulates an LSA-12B message and transmits it to domains  3  and  4  to advertise the contents of the domain routing table DRT 2 .  
         [0080]    At the same time, the LSA-11 message from domain  3  is advertised within the domain  4  (step  1004 ) and a domain routing table DRT 4  (see FIG. 11) is created, using the LSA-11 message and its inter-domain connectivity table IDCT 4  and domain connectivity table DCT 4  (step  1005 ). Since the advertised border nodes of domain  3  for a route to client node  71  are nodes  32  and  33 , of which the node  33  is connected to domain  4 , the node  42  is mapped as an outgoing border node of domain  4  and the nodes  41 ,  42  and  43  which are accessible to node  42  (see DCT 4 , FIG. 4) are mapped as incoming border nodes of domain  4 . Domains  4 - 3  are mapped as a transit route. On the other hand, the advertised border nodes of domain  3  for a route to client node  72  are nodes  31  and  34 , of which the node  34  is connected to domain  4 . Thus, the node  44  is mapped as an outgoing border node of domain  4  and the nodes  42  and  43  which are accessible to node  42  (see DCT 4 , FIG. 4) are mapped as incoming border nodes of domain  4 . Domains  4 - 3  are mapped as a transit route. Domain  4  formulates an LSA-12A message and transmits it to domains  2  and  3  to advertise the contents of the domain routing table DRT 4 .  
         [0081]    Since the LSA-12A message from domain  4  advertises, for a route to client node  72 , the transit route  4 - 3  and the nodes  42  and  43 , of which the node  42  is connected to the domain  3 , the domain  3  updates its domain routing table DRT 3  (step  1006 ) by mapping the node  33  as an outgoing border node as well as an incoming border node for client node  72  in a new entry of the domain routing table DRT 3 . Domains  3 - 4 - 3  are mapped in this entry as a transit route for client node  72 . This route has a loop in the domain  3 . If this route were discarded from the domain routing table DRT 3 , the domain  2  has no reachable route to the client node  72 . In the present invention, the domain  3  checks to see if more than one looping path exists in the domain routing table DRT 3 . If there is only one loop, such a loop is maintained in the table DRT 3 . In the illustrated example, the route  3 - 4 - 3  is the only loop and hence it is not discarded. Domain  3  formulates an LSA-13 message and transmits it to domain  2  to advertise the contents of the updated domain routing table DRT 3 .  
         [0082]    Since the LSA-13 message specifies, for a route to client node  72 , the transit route  3 - 4 - 3  and the node  33  which is connected to the domain  2 , the domain  2  updates its domain routing table DRT 2  (step  1007 ) by mapping the node  24  mapped as an outgoing border node and the nodes  22 , 23  as incoming border nodes as a route to client node  72  in a new entry of the domain routing table DRT 2 . Domains  2 - 3 - 4 - 3  are mapped in this new entry as a transit route for client node  72 . As a result, the domain routing table DRT 2  is updated by adding a new route to the client node  72  which were determined as unreachable when this table was initially created in response to the LSA-11 message from domain  3 . Domain  2  formulates an LSA-14 message and transmits it to domain  1  to advertise the contents of the updated domain routing table DRT 2 .  
         [0083]    The LSA-14 message is advertised to all nodes of the domain  1  (step  1008 ) and a domain routing table DRT 1  is created (step  1009 ). Since the LSA 14  message specifies, for client node  71 , the route  2 - 3  and the nodes  22  and  23 , of which the node  22  is connected to the domain  1 , the node  14  is mapped as an outgoing border node and the nodes  11 ,  13  are mapped as incoming border nodes for client node  71  in the domain routing table DRT 1 . Domains  1 - 2 - 3  are mapped in this table as a transit route for client node  71 . For the client node  72 , the LSA-14 message specifies the route  2 - 3 - 4 - 3  and the nodes  22  and  23 , of which the node  22  is connected to the domain  1 , the node  14  is mapped as an outgoing border node and the nodes  11 ,  13  are mapped as incoming border nodes for client node  72  in the domain routing table DRT 1 . Domains  1 - 2 - 3 - 4 - 3  are mapped in this table as a transit route for client node  72 .  
         [0084]    An optical communication network according to a third embodiment of the present invention is illustrated in FIG. 12. This network is divided into the four domains  1  to  4  as described above and a backbone area  5 . In this optical network, the neighboring border nodes of the same domains are interconnected by virtual optical links D 1  through D 9  and the border nodes of neighboring domains are interconnected by physical optical links B 1  through B 6  of the backbone area  5 . Similar to the previous embodiments, one or more intermediate node may exists between neighboring nodes. To simplify discussion, these intermediate nodes are not shown in the drawings.  
         [0085]    In order to ensure connectivity within the backbone area  5  as well as within each domain, the following conditions are built into the configuration of the network:  
         [0086]    1) A path shall not terminate with a virtual link; and  
         [0087]    2) A path shall not contain consecutively-concatenated virtual links.  
         [0088]    Edge nodes  11 ,  12 ,  31 ,  32  and  43  are of identical configuration. FIG. 13 shows details of the edge node  11  as a representative edge node. As illustrated, the edge node  11  is of a similar configuration to that shown in FIG. 2. In FIG. 13, the routing processor  206  is associated with a domain link state database DLSD 1  of domain  1  and a domain routing table DRT 11  of node  11  which is created based on the information contained in the link state database DLSD 1 .  
         [0089]    Border nodes  13 ,  14 ,  21 ˜ 24 ,  33 ,  34 ,  41 ,  42  and  44  are of substantially identical configuration. FIG. 14 shows details of the border node  14  as a representative border node. As illustrated, the border node  14  is of a similar configuration to that shown in FIG. 13 with the exception that it includes two routing processors  206 D and  206 B for domain routing and backbone routing purposes, respectively. Domain routing processor  206 D is similar in function to the routing processor of the edge nodes and hence it is associated with a domain routing table DRT 14  of node  14  and a domain link state database DLSD 1  of domain  1 . Therefore, the domain routing processor  206 D of node  14  creates its own domain routing table DRT 14  and domain link state database DLSD 1  in a manner similar to the routing processor of node  11 .  
         [0090]    Backbone routing processor  206 B is associated with an border connectivity table IDCT, a backbone link state database BLSD and a backbone routing table BRT 14  of node  14 .  
         [0091]    As shown in FIG. 15, the link state database DLSD 1  of domain  1  is initially created by the routing processor  206  by exchanging optical link state advertisement (LSA) messages (indicating attributes of its optical links such as cost and wavelength) with the routing processors of nodes  12 ,  13  and  14  using control channels (step  1501 ) and storing the link state information received from the other nodes of domain  1  into the domain link state database DLSD 1  (step  1502 ). One example of the link state database DLSD 1  of domain  1  is shown in FIG. 13. Routing processor  206  of node  11  proceeds to calculate an optimum route from the node  11  to every other node of the domain  1  based on the link state information maintained in the database DLSD 1  (step  1503 ) so that the route does not contain a terminating virtual link and consecutively concatenated virtual links, and stores data representing the calculated optimum routes of node  11  in the domain routing table DRT 11  (step  1504 ). One example of the domain routing table DRT 11  is shown in FIG. 18A. A similar process is performed between the nodes of each network domain. As a result, the routing processors of nodes  34  and  33  will create domain routing tables DRT 34  and DRT 33  as shown in FIGS. 18B and 18C, respectively.  
         [0092]    In each entry of the domain routing table DRT shown in FIGS. 18A, 18B and  18 C, each network node maps its node (as a source) to every other node of the same domain (as a destination) and to a route from the source to the destination. Information of the cost of the route is also indicated in the corresponding entry of the domain routing table. Note that in FIG. 18C, the route from the border node  33  to the border node  32  is indicated as being “unreachable” due to some connectivity constraint as discussed earlier.  
         [0093]    In FIG. 16, the backbone routing processor  206 B creates the border connectivity table IDCT by reading the stored routing information from the domain routing table DRT 14  (step  1601 ), exchanging the routing information with every other border node of the backbone area  5  (step  1602 ) and storing the routing information received from all other border nodes of the backbone area into the border connectivity table IRDT (step  1603 ). One example of the border connectivity table IRDT is shown in FIG. 19.  
         [0094]    Border connectivity table IRDT defines connectivity of all border nodes of the network to the nodes of the same domain. Note that the border node  32  is unreachable from the border node  33 , but reachable from the border node  34 .  
         [0095]    In FIG. 17, the backbone routing processor  206 B creates the backbone link state database BLSD by exchanging link state information with every other border node of the backbone area  5  (step  1701 ) and storing the link state information received from all other border nodes of the backbone area into the backbone link state database BLSD (step  1702 ).  
         [0096]    As shown in FIG. 20, the backbone link state database BLSD defines inter-border virtual links D 1  through D 9  within respective domains and inter-border backbone physical links B 1  through B 6 . For each of the virtual and physical links, the link attribute (cost and wavelength) is indicated.  
         [0097]    Backbone routing table BRT 14  is created by calculating optimum route to every other border node of the backbone area so that the route does not contain consecutively concatenated virtual links (step  1703 ) and storing information of the calculated optimum routes in the backbone routing table BRT 14  (step  1704 ). One example of the backbone routing table BRT 14  is shown in FIG. 21B. In like manner, the backbone routing processor of node  13  will create its own backbone routing table BRT 13  as shown in FIG. 21A. The routes indicated in the backbone routing tables of FIGS. 21A and 21B contain no consecutively concatenated virtual links.  
         [0098]    In each entry of the backbone routing tables BRT shown in FIGS. 21A, 21B, each border node maps its node (as a source) to every other border node of the network (as a destination), a route from the source to the destination and the cost of the route. Note that FIG. 21A indicates that the border node  13  is unreachable to the border nodes  22 ,  23  and  42 .  
         [0099]    [0099]FIGS. 22 and 23 are flowcharts according to which the routing processor  206  (including domain and backbone routing processors  206 D,  206 B) operates in response to a path setup request from a client node to perform a path finding procedure which is basically a trial-and-error approach. Therefore, if an intermediate node finds out that there is no reachable route to the destination, it returns an error message to the requesting client or a source edge node to repeat the process on an alternate route.  
         [0100]    In FIG. 22, when a source edge node receives a path setup request from a client node (step  2201 ), the routing processor of the edge node determines, at step  2202 , the destination edge node by checking the destination client contained in the request with a client/node mapping table, not shown. If the destination edge node is in the local domain of the source edge node (step  2203 ), flow proceeds to step  2204  to make a search through the domain routing table DRT (FIG. 18) for a route to the destination edge node. If such a route is not found (step  2205 ), flow proceeds to step  2206  to transmit an error message to the client node. If a route to the destination edge node is found in the domain routing table, the routing processor proceeds to step  2208  to transmit a path setup (control) message to the nearest node. At step  2209 , the routing processor of source edge node instructs its optical switch to establish a connection to the node to which the path setup message has been transmitted.  
         [0101]    If the destination edge node belongs to a remote domain (step  2203 ), flow proceeds to step  2207  to use the domain routing table (FIG. 18) to determine a border node which can be reached with a smallest number of hops as a nearest border node from the source edge node. Source edge node proceeds to steps  2208  and  2209  to transmit a path setup message designating the nearest border node and establish a connection thereto.  
         [0102]    If the source edge node receives an error message from the interior of the network (step  2211 ), it selects the nearest route to a border node other than the previous nearest border node (step  2212 ) and proceeds to steps  2208  and  2209 .  
         [0103]    In FIG. 23, when the designated border node receives the path setup message (step  2301 ), it checks to see if the message is received from within the same domain. If this is the case, flow proceeds to step  2303  to determine if the message contains a route to the destination edge node. If so, the routing processor recognizes that the message has reached the destination domain and proceeds to step  2309  to transmit the message to the next node indicated in the message and establishes a connection to that node (step  2310 ).  
         [0104]    If the message contains no route to the destination node, the decision at step  2303  is negative and flow proceeds to step  2304  to make a search through the border connectivity table (FIG. 19) for a border node through which the destination domain can be reached. If such a border node is found (step  2305 ), flow proceeds to step  2306  to make a further search through the backbone routing table BRT (FIG. 21) for a route to the destination domain. If a route to the destination domain is found (step  2307 ), the routing processor updates the message with the determined route at step  2308  and proceeds to step  2309  to transmit the message and establishes a connection to the next node (step  2310 ). If the decision at step  2305  or  2307  is negative, the routing processor transmits an error message to the source edge node (step  2322 ).  
         [0105]    If the decision at step  2302  indicates that the path setup message has been received from the outside of the local domain, the routing processor proceeds to step  2311  to check to see if the message is destined for a remote domain or the local domain. If the message is destined for a remote domain, the routing processor uses the backbone routing table (FIG. 21) to determine if the next node on the route indicated in the message is reachable. If the next node is determined as being reachable at step  2313 , a test is made at step  2314  for the presence of at least one virtual link in the route. If a virtual link is not included, flow proceeds to step  2309  for transmitting the message to the next node. Otherwise, the routing processor translates the virtual link(s) of the message to a number of physical links at step  2315  before executing step  2309 . If a reachable node is found (step  2313 ), an error message sent to the source edge node (step  2322 ).  
         [0106]    If the decision at step  2311  indicates that the received message is destined for the local domain, a search is made, at step  2331 , through the domain routing table (FIG. 18) for a route to the destination edge node. If such a route is found (step  2332 ), the message is updated according to the discovered route at step  2308  and transmitted (step  2309 ). If such a route is not discovered, an error message is sent to the source edge node (step  2322 ).  
         [0107]    For a full understanding of the present invention, it is appropriate to describe a path finding procedure with reference to FIGS. 22, 23 and  24  by assuming that the client node  51  has requested a path to the client node  72 .  
         [0108]    In response to the path setup request from client node  51 , the edge node  11  examines its client/node mapping table (not shown) and recognizes that the node  32  is the destination edge node (step  2202 ) and proceeds to step  2203  to examine the domain routing table DRT 11  (FIG. 18A) to check to see if the node  32  is in the local domain or a remote domain. Since the node  32  is a remote domain, the node  11  proceeds to step  2207  to use the domain routing table DRT 11  to select the border node  13  as a nearest border node from the node  11  and transmits a path setup message to the node  13  (step  2208 ) and a connection is established from the node  11  to the node  13  (step  2209 ).  
         [0109]    On receiving the path setup message from the node  11 , the node  13  determines that it is received from within the same domain (step  2302 ). Since the message contains no route to the destination (step  2303 ), the node  13  proceeds to step  2304  to examine the border connectivity table IDCT (FIG. 19) and determines that the destination edge node  32  can be reached via the border node  34 . Thus, the decision at step  2305  is affirmative. At step  2306 , the node  13  makes a search through the backbone routing table BRT 13  (FIG. 21A) for a route to the border node  34 . Since this table indicates that border node  34  is unreachable from the node  13 , the decision at step  2307  is negative and an error message is sent to the source edge node  11  (step  2322 ).  
         [0110]    As indicated in FIG. 24 by a dotted line PS 1 , the first path setup message from node  11  encounters a path-setup failure at the border node  13  and an error message is sent back from the node  13  to the node  11 .  
         [0111]    As a result, the source edge node  11  responds to the error message at step  2211  (FIG. 22) by selecting the border node  14  that can be reached via the node  12  (step  2212 ), transmits a path setup message to node  14  via node  12  (step  2208 ) and establishes a connection to the node  12  (step  2209 ).  
         [0112]    On receiving the path setup message from the node  11 , the node  14  determines that it is received from within the same domain (step  2302 ). Since the message contains no route to the destination (step  2303 ), the node  14  proceeds to step  2304  to examine the border connectivity table IDCT (FIG. 19) and determines that the destination edge node  32  can be reached via the border node  34 . Thus, the decision at step  2305  is affirmative. At step  2306 , the node  14  makes a search through the backbone routing table BRT 14  (FIG. 21B) for a route to the border node  34 . Since the table BRT 14  indicates that such a route is available between nodes  14  and  34 , the decision at step  2307  is affirmative and the path setup message is updated with the route  14 - 22 - 24 - 33 - 42 - 44 - 34  found in the backbone routing table BRTl 4  (step  2308 ). The updated message is then transmitted over this route to the border node  34  (step  2309 ), while the node  14  establishes a connection to the node  22 .  
         [0113]    When the border node  34  receives the path setup message from the border node  14  (step  2301 ), flow proceeds through steps  2302  and  2311  to step  2331  to make a search through its domain routing table DRT 34  (FIG. 18B) for a route to the destination edge node  32 . Since the destination edge node  32  is reachable from the border node  34 , the path setup message is updated with information of the detected route (step  2308 ) and transmitted to the node  32  (step  2309 ). As indicated by a thick line PS 2  in FIG. 24, the path finding procedure for the second attempt is successful and a path from node  11  to node  32  is established.  
         [0114]    Instead of the border connectivity table (FIG. 19), summary link state advertisement messages can be used as shown in FIG. 25.  
         [0115]    In FIG. 25, a summary LSA message LSA-11 of domain  3  is formulated in the border node  33  and advertised to the backbone area  5 . The summary LSA-11 contains a description of node  33  mapped to nodes  31  and  34  with associated link costs and wavelength values. This message will be received by domain  2  and transmitted to the border nodes  13  and  14 .  
         [0116]    Border node  13  combines the summary LSA message received from the domain  2  with the link state information stored in the backbone link state database BLSD and performs route calculations on the combined LSA information to formulate a summary LSA-12 message. In this message the node  13  is mapped to nodes  31 ,  33  and  34 , along with associated link costs and wavelength values.  
         [0117]    Border node  14  combines the summary LSA message received from the domain  2  with the link state information stored in the backbone link state database BLSD and performs route calculations on the combined LSA information to formulate a summary LSA-13 message. In this message the node  14  is mapped to nodes  31 ,  32 ,  33  and  34 , along with associated link costs and wavelength values.  
         [0118]    Border nodes  13  and  14  advertise their summary LSA-12 and LSA-13 messages to every other node of the domain  1 .  
         [0119]    On receiving the summary LSA-13 message from the border node  14 , the edge node  11  recognizes that it can reach the domain- 3  node  32  via the border node  14 . Therefore, it can be seen that connectivity between source and destination domains is automatically designed into the backbone routing table BRT of each network node and the border connectivity table BCT is not necessary when establishing a path.  
         [0120]    In each network node, the backbone link state database BLSD are updated with the received summary LSA message.  
         [0121]    The summary link state message can be simplified as shown in FIG. 26, which indicates a summary LSA-14 message of domain  3  advertised from the border node  33  to the backbone area. In this summary LSA message, the border node  33  is mapped to nodes  31  and  34  and a maximum value of link costs is indicated, instead of individual values of link cost. As a result, the amount of link state information to be advertised from one node to the next can be significantly reduced.