Abstract:
A method and system for multi-domain route computation. In the invention, Path Computation Elements (PCEs) are placed in different layers and computation domains between upper and lower layer PCEs are mapped so that a computation task is divided into multiple computation tasks layer by layer and that the multi-domain route computation is finally fulfilled. The invention separates route computation from signaling and runs route computation tasks in parallel. Route establishment is done by signaling after route computation. The present invention may realize route computation based on complex Traffic Engineering (TE) constraints and enable end-to-end diverse route computation. The invention places PCEs in layers, allowing good scalability and high computation efficiency. The present invention is applicable to the Automatically Switched Optical Network (ASON) and the Multi-Protocol Label Switched Network Traffic Engineering (MPLS-TE) network.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates to communication technologies, and in particular to a method and system for multi-domain route computation in a communication network.  
       BACKGROUND OF THE INVENTION  
       [0002]     A communication network is a set of geographically distributed nodes and the links between these nodes for data transmission. The communication between two nodes may be realized by way of intermediate nodes. This saves resources of the communication network and improves the resource efficiency. Present communication networks operate in various types, including SDH/SONET networks and IP networks. Different nodes in a communication network communicate with each other by exchanging data frames or packets, which are defined by special protocols like TCP/IP. The protocol herein means a set of rules defining inter-node interaction, similar to TCP/IP.  
         [0003]     When a communication network becomes huge, its management and maintenance will be difficult. Usually to facilitate management, the network is divided into multiple routing domains or autonomous systems (ASs). Usually, in the network inside an AS, traditional intra-domain routers that execute intra-domain routing protocols are coupled together and managed by common powers. For the purpose of improving route retractility, an AS is usually divided into multiple areas. Generally, a domain is a set of any network elements within the scope of a common address management or path computation responsibility. An instance of domain, therefore, may be an area, an AS or multiple ASs. For easy description, herein routing domains, ASs and areas are all referred to as domains. The specific meaning of a domain herein depends on its context. When nodes are added for data exchange, inter-domain routers that run inter-domain routing protocols interconnect the nodes in different domains. Such inter-domain routers are also known as border routers.  
         [0004]     An instance of inter-domain routing protocol is the Border Gateway Protocol (BGP) version 4 defined in IETF RFC1771. BGP implements inter-domain routing by exchanging routes and reachable information between adjacent inter-domain routers in the system. BGP usually adopts a reliable transmission protocol like TCP to establish connections and sessions.  
         [0005]     An instance of intra-domain routing protocol, or Interior Gateway Protocol (IGP), is the Open Shortest Path First (OSPF) protocol defined in IETF RFC2328. OSPF is based on link state technology and therefore is also a link state routing protocol. The link state routing protocol defines the mode of exchanging and handling intra-domain routing information and network topology information. In OSPF, this information is exchanged through Link State Advisement (LSA).  
         [0006]     The emergence of Multi-Protocol Label Switching (MPLS) technology meets the new requirements for data network development. For instance, it provides guaranteed available bandwidth and fast recovery MPLS allows establishing end-to-end tunnels in an IP/MPLS network where there are Label Switched Routers (LSRs). Such a tunnel is generally known as a Label Switch Path (LSP). LSP establishment relates to the computation of a path of a LSR in the network, which is called route computation. MPLS is also introduced to the optical transport network and brings the development of the Automatically Switched Optical Network (ASON). Unlike the traditional optical transport network that provides network connection service through manual or semi-automatic configuration, the ASON provides network connection service through automatic establishment of the control plane. The ASON may be divided into a transport plane that bears network services, a management plane that implements management functions, and a control plane that runs the control protocol. The control plane of ASON uses Generalized Multi-Protocol Label Switching, which extends MPLS to include the Link Management Protocol (LMP), routing protocol and signaling protocol. LMP obtains the connection types the link supports and the number of resources through message exchange based on discovery of neighboring relations. Such information is known as Traffic Engineering (TE) information and a link that contains TE information is a TE link. Inside a domain, the local TE information is advertised to other nodes in the domain through a routing protocol such as OSPF-TE. Based on this information, when the network management system or a user requests the network to establish a network connection, the ingress node of this connection can perform path computation to obtain the link sequence of the connection and then, through a signaling protocol like the Resource Reservation Protocol-Traffic Engineering (RSVP-TE), send a request to the nodes on the path for resource allocation and establish a cross connection. In this way, an end-to-end connection is established.  
         [0007]     For both JP/MPLS and optical transport networks, the division of domains is a concern. Especially, when a network with TE management capabilities is divided to multiple domains, each node only knows the TE information of the local domain and the reachable information of other domains. This reduces the impact of topology change on new service deployment and congestion recovery. The network extendability is enhanced. As each node knows only the TE information of the local domain and the reachable information of other domains but does not know the complete TE information of other domains, it becomes an issue how to compute a path that meets all the constraints on end-to-end bandwidth, switching capability, route separation, protection, and user policies in the case of multiple domains. To solve the route computation or path computation (hereinafter uniformly referred to as route computation for easy description) in the case of multiple domains, the Domain-Domain Routing Protocol (DDRP) adopts a hierarchical network model, in which, a lower layer domain is represented by an agent node. The agent node can advertise abstract topologies, inter-domain links, and reachable addresses that represent the domain. Thus a hierarchical network takes shape. When an end-to-end path that crosses multiple domains is computed, the strict route in the domain of the requesting node and the subsequent loose route of the border node are first computed. When signaling flows to the border of an intermediate domain, the strict route in this intermediate domain is computed by means like domain border computation. This continues until the signaling goes to the domain of the destination node. The defect of this solution is that route computation is a serial process. At the head node, only the ingress and egress information of some domains the path passes is available. Because the real TE information in related domains is unavailable, judgment may be made on whether path computation can succeed from the ingress to egress only when signaling flows to the corresponding domain border and triggers domain border computation. Thus, it may frequently happen that signaling goes to the middle way to discover that no route is available or no root satisfies related constraints. As a result, route establishment is rolled back multiple times, and the previously established cross connection has to be removed for re-establishment. In addition, with the DDRP technology, it is hard to compute end-to-end diverse routes (different paths with the same source and destination).  
         [0008]     Another technology that solves the route computation in the case of multiple domains is Path Computation Element (PCE). Each PCE stores all TE information of the domain it serves (for ease of description, the TE information here includes network topology information). A node requesting route computation is called a Path Computation Client (PCC). The PCC sends a request that contains route computation parameters to the PCE, and the PCE performs route computation according to the Traffic Engineering Database (TED) it stores and sends the result to the PCC. A PCE may store TE information of one or multiple domains. When a route crossing multiple domains is computed, if the route is beyond the service area of the local PCE, the PCE will use the Path Computation Element Communication Protocol (PCECP) to collaborate with other related PCEs to compute the final route. The PCE technology adopts a flat single-layer model, in which, all PCEs are equally important. When the network is complex or large, it is difficult to manage the PCEs. In addition, as hierarchical abstraction is not applied to the network, inter-domain route computing entirely relies on the exchange of TE information of different domains between different PCEs. When a service passes through many domains, communication between related PCEs will be too frequent and the volume of information exchanged will be huge. This will reduce the efficiency and reliability of route computation.  
       SUMMARY OF THE INVENTION  
       [0009]     The present invention aims to provide a method and system for multi-domain route computation. It places PCEs in different layers and maps computation domains between upper and lower layer PCEs so that a computation task is divided into multiple computation tasks by layer and that the route computation for multiple domains is finally fulfilled. The present invention separates routes from signaling. Route computation is carried out in parallel and simultaneously in the multiple domains related with the route. The PCE of each layer coordinates in the computation tasks. The route is established by signaling after route computation is completed. By this way, the risk of rollback of route establishment caused by serial route computation in DDRP may be avoided. The present invention may realize route computation based on complex TE constraints and enable end-to-end diverse route computation that cannot be realized by DDRP. The invention places PCEs in different layers, which brings good extendability and high computation efficiency. It may solve the issue of routing in large networks. The invention is applicable to both ASON and MPLS-TE networks.  
         [0010]     The objective of the invention is realized by the following technical solution.  
         [0011]     A system for multi-domain route computation includes multiple PCEs. Each PCE has a corresponding computation domain. The PCEs form a hierarchy. The computation domain of an upper layer PCE includes the computation domain of a lower layer PCE. When the computation domain of a first PCE includes the computation domain of a second PCE, if there is no third PCE whose computation domain is included by the computation domain of the layer  1  PCE and includes the computation domain of the layer  2  PCE, the computation domain of the layer  1  PCE is regarded to immediately include the computation domain of the layer  2  PCE. In other words, in this system for multi-domain route computation, the layer  1  PCE is the immediate upper layer of the layer  2  PCE and the layer  2  PCE is the immediate lower layer of the layer  1  PCE. The computation domain of a PCE is a network where the PCE serves to perform route computation. A computation domain may include one domain, or multiple domains or part of the network in a domain.  
         [0012]     When a PCE has immediate lower layer PCEs, the PCE stores the TE information between the computation domains of the immediate lower layer PCEs. If the computation domain of the PCE further includes some networks, which are not included in the computation domains of other PCEs, the PCE also stores the TE information of these networks, the TE information between these networks, and the TE information between these networks and other computation domains included in its computation domain. The TE information is a set of TE information that may abstract a computation domain as a virtual node, or as multiple virtual nodes that may represent the TE information of the computation domain and the virtual links between the virtual nodes. For instance, domain border nodes are abstracted as virtual nodes. The paths between domain border nodes may include some internal nodes of the domain, which are invisible after the abstraction. In this case, the paths between domain border nodes are abstracted as virtual links. The virtual links and virtual nodes possess TE information of the domain.  
         [0013]     When a PCE has no immediate lower layer PCEs, the PCE stores the TE information of the networks included by its computation domain.  
         [0014]     When the system for multi-domain route computation performs route computation, the PCE that has immediate lower layer PCEs computes the route between the computation domains of the lower layer PCEs according to the TE information it stores. If the computation domain of this PCE further includes some networks that do not belong to the computation domain of any immediate lower layer PCE, the PCE will compute, if needed, the route between these networks and the computation domains of its immediate lower layer PCEs.  
         [0015]     The PCE is a functional entity for route computation. It completes all or part of route computation functions according to the TE information it stores. It may be implemented in a network element, a network management system, a individual server, or other similar devices.  
         [0016]     The TE information is the information needed for route computation, such as topology information and link bandwidth.  
         [0017]     A method for multi-domain route computation, including: determining, in the system for multi-domain route computation, a PCE whose computation domain may include both the source node and destination node, and the PCE and its lower layer PCEs completing route computation together. The PCE whose computation domain may include the source node and destination node is regarded as the top layer PCE for this route computation (top layer PCE for ease of description).  
         [0018]     The method for determining the top layer PCE includes: 1) the source node sends a request for route computation to the PCE whose computation domain includes the source node; 2) the PCE, upon reception of the request for route computation, judges whether the source node and destination node are included in its computation domain, and if not, it forwards the request to its immediate upper layer PCE. This continues until a PCE whose computation domain includes both the source and destination nodes is found. This PCE is the top layer PCE.  
         [0019]     The method for determining the top layer PCE further includes: 1) the destination node sends a request for route computation to the PCE whose computation domain includes the destination node; 2) the PCE, upon reception of the request for route computation, judges whether the source node and destination node are included in its computation domain, and if not, it forwards the request to its immediate upper layer PCE. This continues until a PCE whose computation domain includes both the source and destination nodes is found. This PCE is the top layer PCE.  
         [0020]     The method for determining the top layer PCE further includes: when a PCE forwards the request for route computation to its immediate upper layer PCE, it reports the route computation result in its computation domain to the immediate upper layer PCE for reference of the immediate upper layer PCE to do route computation.  
         [0021]     The method for determining a PCE whose computation domain may include both the source node and destination node includes: the PCE receiving a request for route computation from both the source node and the destination node; or the PCE querying the automatically or manually configured database after receiving a request for route computation; or other prior arts.  
         [0022]     In addition to above methods for determining the top layer PCE, the user may specify the top layer PCE directly according to preset information.  
         [0023]     The top layer PCE and its lower layer PCEs completing route computation together includes: the top layer PCE completes route computation inside its computation domains; the top layer PCE sends computation tasks to its immediate lower layer PCEs (all immediate lower layer PCEs or related immediate lower layer PCEs, the same hereinafter) according to its computation result; the immediate lower layer PCEs complete route computation in their respective computation domains and send the computation tasks to their immediate lower layer PCEs according to the computation results and this continues until PCEs whose computation domains include no further computation domains complete route computation; from the PCEs whose computation domains include no bier computation domains, the PCEs report route computation results from bottom up layer by layer and the top layer PCE summarizes all the computation results to obtain a final result.  
         [0024]     The top layer PCE and its lower layer PCEs completing route computation together further includes: when a PCE finds no route that matches the computation condition, the PCE returns a failure message to its immediate upper layer PCE and this immediate upper layer PCE performs route computation again. If this upper layer PCE still finds no route that matches the computation condition, it sends a failure message to its immediate upper layer PCE, which does route computation again. This continues until the PCE at a certain layer computes a route that matches the condition or cannot compute a route so that the route computation fails.  
         [0025]     The present invention brings many benefits: route computation processes can run in parallel, which increases the efficiency of route computation; route computation is performed before a route is established by signaling, which avoids the risk of rollback if route establishment fails; the volume of communication between PCEs is largely reduced; end-to-end diverse route computation is easy to implement; route computation for a large network is easy. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0026]      FIG. 1  shows a system for multi-domain route computation according to an embodiment of the invention.  
         [0027]      FIG. 2  shows the virtual topology of a system for multi-domain route computation according to an embodiment of the invention.  
         [0028]      FIG. 3  shows a system for multi-domain route computation whose domains border on nodes according to an embodiment of the invention.  
         [0029]      FIG. 4  shows the virtual topology of a system for multi-domain route computation whose domains border on nodes according to an embodiment of the invention.  
         [0030]      FIG. 5  shows the route computation result according to the first embodiment of the invention when P 21  does not consider its lower layer route computation result.  
         [0031]      FIG. 6  shows the route computation result according to embodiments 2 and 3 of the invention when P 21  considers its lower layer route computation result.  
         [0032]      FIG. 7  shows the final route computation result according to embodiments 2 and 3 of the invention. 
     
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS  
       [0033]     The present invention aims to provide a method and system for multi-domain route computation. It the present invention, PCEs are placed in different layers and computation domains of upper and lower layer PCEs are mapped so that a computation task is divided into multiple computation tasks layer by layer and the route computation for multiple domains is finally fulfilled.  
         [0034]     The present invention provides a system for multi-domain route computation. The following describes the implementation of a system for multi-domain route computation that has two layers of PCEs according to all embodiment of the invention, as shown in  FIG. 1 .  
         [0035]     A communication network is made up of network nodes N 10 -N 13 , N 20 -N 24 , N 30 -N 35 , N 40 -N 43  and N 50 -N 54  (marked with small grey circles). The network nodes are connected by links (represented by real lines). These nodes are included respectively into five domains CD 1 -CD 5 . For instance, N 10 -N 13  are included in CD 1 . An inter-domain link is the link between adjacent nodes in two domains. For instance, there are two links connecting CD 1  and CD 2 , namely, the link between N 12  and N 20  and the link between N 13  and N 21 . Each of these domains is included in the computation domain of a PCE. As shown in  FIG. 1 , CD 1 , CD 2 , CD 4  and CD 5  are included in the computation domains of P 11 , P 12 , P 13 , and P 14  respectively. The PCEs store all topology and TE information in their respective computation domains. The computation domain of P 21  includes not only CD 3 , but also the computation domains of P 11 -P 14 . Hence, P 21  is regarded to reside at a higher layer than P 11 -P 14 . This means, the PCEs serving to do route computation for the communication network are classified into layers.  
         [0036]     P 11 -P 14  are at the second layer and P 21  is at the first layer in this embodiment. For ease of description, the domains in the communication network are also included in this hierarchy structure. For instance, CD 3 , as the computation domain of a layer  2  PCE like P 11 , is included in the computation domain of layer  1  P 21 , and therefore, is classified to layer  2 . Other domains that are included in the computation domains of layer  2  PCEs are classified to layer  3 .  
         [0037]     There are many methods for classifying layers. Here, a top-down method is adopted, which, however, does not mean that the present invention can only adopt this method. Other methods like the bottom-up method are also applicable.  
         [0038]     When the computation domain of a PCE includes a network domain immediately, the PCE needs to store the TE information of the real network topology of the domain that is included in its computation domain. For instance, P 11  in  FIG. 1  stores the TE information of CD 1 . This means, P 11  stores the topological connections among N 10 , N 11 , N 12  and N 13 ; the information of links among these nodes, such as the link bandwidth, availability status, link ID, link protection type, shared risk link set and interface switching capability between N 10  and N 11 ; and other related TE information.  
         [0039]     When a PCE has immediate lower layer PCEs, the PCE needs to store the TE information between the computation domains of the immediate lower layer PCEs. If the computation domain of the PCE further includes some networks, which are not included in the computation domain of any other PCE, the PCE also stores the TE information of these networks, the TE information between these networks, and the TE information between these networks and the computation domains included in its computation domain. From the perspective of P 21  in  FIG. 1 , the topology is as shown in  FIG. 2 , which includes virtual nodes abstracted from CD 1 , CD 2 , CD 3  and CD 4  (for ease of description, the virtual nodes are represented by the corresponding PCEs. For instance, the virtual node abstracted from CD 1  is represented by P 11 ), all nodes in CD 3 , and the topology relations among these nodes (including virtual nodes). P 21  stores the TE information of this virtual topology. This means, P 21  stores the topological connections among P 11 , P 12 , N 30 , N 31 , N 32 , N 33 , N 34 , N 35 , P 13  and P 14 ; the information of links among these nodes, such as the link bandwidth, availability status, link ID, link protection type, shared risk link set and interface switching capability between P 12  and N 30 ; and other related TE information. In the system for multi-domain route computation illustrated in  FIG. 1 , the domains border on links. In fact, domains may also border on nodes, and in this case, an upper layer PCE regards a border node as a virtual link and converts the weight value of the node to that of the virtual link according to certain policies. In the process of route computation, selecting a virtual link means selecting a specific node. As shown in  FIG. 3 , CD 1  and CD 2  border on N 11  and N 12 , and CD 2  and CD 3  border on N 21  and N 22 . In this case, the top layer PCE P 21  sees a vital topology shown in  FIG. 4 . Between virtual nodes P 11  and P 12  are two virtual links, which represent N 11  and N 12 . Between virtual nodes P 12  and P 13  are also two virtual links, which represent N 21  and N 22 .  
         [0040]     An embodiment of the present invention provides a method for route computation. The following describes the implementation of the method according to the embodiments of the invention, with reference to the system shown in  FIG. 1 .  
         [0041]     In the first embodiment of the method, when a user sends a command to establish a service connection between N 10  and N 13 , route computation is carried out in the following procedure:  
         [0042]     Step A: Determine a PCE whose computation domain may include both N 10  and N 13 . Because when the source node N 10  requests P 11  whose computation domain includes N 10 , to do route computation, P 11  may determine that the destination node N 13  is also included in its computation domain. Therefore, it can be determined that P 11  is the PCE whose commutation domain includes both N 10  and N 13 . This means, P 11  is the top layer PCE for this route computation.  
         [0043]     Step B: P 11  and its lower layer PCEs complete the route computation together. Because P 11  has no immediate lower layer PCE, it does the route computation directly. The computation result is, for instance, N 10 →N 11 →N 13 .  
         [0044]     In the second embodiment of the method, when a user sends a command to establish a service connection between N 10  and N 53 , route computation is carried out in the following procedure:  
         [0045]     Step A: Determine a PCE whose computation domain may include both N 10  and N 53 . This step further includes:  
         [0046]     Step A 1 : The source node N 10  sends a request for route computation to P 11  whose computation domain includes N 10 .  
         [0047]     Step A 2 : P 11  finds that N 53  is not included in its computation domain, or the computation domain of P 11  does not include N 10  and N 53  at the same time. Then P 11  forwards the request for route computation to its immediate upper layer PCE, P 21 .  
         [0048]     Step A 3 : P 21  finds that N 10  is included in the computation domain of P 11 , one of its immediate lower layer PCEs, and that N 53  is included in the computation domain of P 14 , another of its immediate lower layer PCEs. This means the computation domain of P 21  may include both N 10  and N 53 . Therefore, P 21  determines that it is the PCE whose computation domain may include both N 10  and N 53  simultaneously, i.e., the top layer PCE for this route computation.  
         [0049]     Step B: P 21  and its lower layer PCEs complete the route computation together. This step further includes:  
         [0050]     Step B 1 : P 21  completes the route computation in its computation domain. P 21  stores the topology information of its computation domain as shown in  FIG. 2 . P 21  needs to compute the route from P 11  to P 14 . Note that P 21  completes the route computation in CD 3 , which is not included in the computation domain of any of its immediate lower layer PCEs. For ease of description, the computation result is assumed to be P 11 →P 12 →N 30 →N 35 →N 34 →P 13 →P 14 , as shown in  FIG. 5 , wherein there are two links between P 11  and P 12 . Suppose the lower link, which is the link between N 13  and N 21 , is taken. The P 12 →N 30  link is the link between N 23  and N 30 . The N 34 -P 13  link is the link between N 34  and N 40 . The P 13 -P 14  link is the link between N 42  and N 50 .  
         [0051]     Step B 2 : P 21  sends computation tasks to its immediate lower layer PCEs according to its computation result so that the immediate lower layer PCEs complete their respective route computations. The immediate lower layer PCEs of P 21  includes P 11 , P 12 , P 13  and P 14 . They perform route computations in respective computation domains simultaneously. For ease of description, the following describes the computations in turn.  
         [0052]     Route computation at P 11 : P 11  needs to compute the route from source node N 10  to destination node N 13  in CD 1 . Suppose that P 11  finds no route from N 10  to N 13  that matches the TE constraint and reports a failure message to P 21 , letting P 21  re-compute the route from virtual node P 11  to virtual node P 12 . The computation result of P 21  is shown in  FIG. 6 . The route from P 1  to P 12  takes the N 12 -N 20  link. P 21  sends another computation task to P 11 , which then needs to compute the route from source node N 10  to destination node N 12  in CD 1 . The computation result of P 11  is N 10 →N 12 .  
         [0053]     Route computation at P 12 : P 12  needs to compute the route from source node N 21  to destination node N 23  in CD 2  and the computation result is N 21 →N 22 →N 23 . Because no route from N 10  to N 13  matching the TE constraint is found in CD 1 , P 21  performs another route computation, the result of which is shown in  FIG. 6 . The route from P 11  to P 12  takes the N 12 -N 20  link. This result is sent to P 12  and P 12  performs route computation again. In this case, P 12  needs to compute the route from source node N 20  to destination node N 23  in CD 2 . The computation result is N 20 →N 23 .  
         [0054]     Route computation at P 13 : P 13  needs to compute the route from source node N 40  to destination node N 42  in CD 4  and the computation result is N 40 →N 42 .  
         [0055]     Route computation at P 14 : P 14  needs to compute the route from source node N 50  to destination node N 53  in CD 5  and the computation result is N 50 →N 53 .  
         [0056]     P 11 , P 12 , P 13  and P 14  have no immediate lower layer PCEs and this step ends.  
         [0057]     Step B 3 : PCE&#39;s send computation results from bottom up and P 21  summarizes the results. For instance, P 11  sends the computation result N 10 →N 12  to P 21 ; P 12  sends the computation result N 12 →N 23  to P 21 ; P 13  sends the computation result N 40 →N 42  to P 21 ; P 14  sends the computation result N 50 →N 50  to P 21 . Finally P 21  summarizes the results and its own computation result P 11 →P 12 →N 30 →N 35 →N 30 →P 13 →P 14  and gets the final result N 10 →N 12 →N 23 →N 30 →N 35 →N 34 →N 40 →N 42 →N 50 →N 53 , as shown in  FIG. 7 .  
         [0058]     In the third embodiment of the method, when a user sends a command to establish a service connection between N 10  and N 53 , route computation is carried out in the following procedure:  
         [0059]     Step A: Determine a PCE whose computation domain may include both N 10  and N 53 .  
         [0060]     This step Her includes:  
         [0061]     Step A 1 : Source node N 10  sends a request for route computation to P 11 , whose computation domain includes N 10 ; N 10  (or P 11 ) notifies destination node N 53  to do route computation and N 53  sends a request for route computation to P 14 , whose computation domain includes N 53 .  
         [0062]     Step A 2 : P 11  detects N 53  is not included in its computation domain, which means the computation domain of P 11  does not include N 10  and N 53  simultaneously. Therefore, P 11  forwards the request for route computation to P 21 , which is its immediate upper layer PCE and sends its computation result N 10 →N 12  to P 21  for reference. P 14  detects that N 10  is not included in its computation domain, which means the computation domain of P 14  does not include N 10  and N 53  simultaneously. P 14 , therefore, forwards the request for route computation to P 21 , which is its immediate upper layer PCE and sends its computation result N 50  →N 53  to P 21  for reference.  
         [0063]     Step A 3 : P 21  finds that N 10  is included in the computation domain of P 11 , one of its immediate lower layer PCEs, and that N 53  is included in the computation domain of P 14 , another of its immediate lower layer PCEs. This means the computation domain of P 21  may include both N 10  and N 53 . P 21 , therefore, determines that it is the PCE whose computation domain may include both N 10  and N 53  simultaneously, or the top layer PCE for this route computation.  
         [0064]     Step B: P 21  and its lower layer PCEs complete the route computation together. This step further includes:  
         [0065]     Step B 1 : P 21  completes the route computation in its computation domain. P 21  stores the topology information of its computation domain as shown in  FIG. 2 . P 21  needs to compute the route from P 11  to P 14 . Note that P 21  completes the route computation in CD 3 , which is not included in the computation domain of any of its immediate lower layer PCEs. When doing route computation, P 21  makes reference to the computation results sent by P 11  and P 14 . At this time, P 21  sees, in the virtual topology shown in  FIG. 2 , the egress link of virtual node P 11  is the upper link, which is the link between N 12  and N 20 , and gets the computation result P 11 →P 12 →N 30 →N 35 →N 34 →P 13 →P 14 , as shown in  FIG. 6 . The route from P 11  to P 12  takes the upper link. The P 12 →N 30  link is the link between N 23  and N 30 . The N 34 →P 13  link is the link between N 34  and N 40 . The P 13 →P 14  link is the link between N 42  and N 50 .  
         [0066]     Step B 2 : P 21  sends computation tasks to its immediate lower layer PCEs according to its computation result so that the immediate lower layer PCEs complete their respective route computations. The immediate lower layer PCEs of P 21  includes P 11 , P 12 , P 13  and P 14 . They perform route computations in respective computation domains simultaneously. For ease of description, the following describes the computations in turn.  
         [0067]     Route computation at P 11 : P 11  needs to compute the route from source node N 10  to destination node N 12  in CD 1 , which is, N 10 →N 12 , the computation result previously sent by P 11 .  
         [0068]     Route computation at P 12 : P 12  needs to compute the route from source node N 12  to destination node N 23  in CD 2  and the computation result is N 12 →N 23 .  
         [0069]     Route computation at P 13 : P 13  needs to compute the route from source node N 40  to destination node N 42  in CD 4  and the computation result is N 40 →N 42 .  
         [0070]     Route computation at P 14 : P 14  needs to compute the route from source node N 50  to destination node N 53  in CD 5 , which is, N 50 →N 53 , the computation result previously sent by P 14 .  
         [0071]     P 11 , P 12 , P 13  and P 14  have no immediate lower layer PCEs and this step ends.  
         [0072]     Step B 3 : PCEs send computation results from bottom up and P 21  summarizes the results. For instance, P 11  sends the computation result N 10 →N 12  to P 21 ; P 12  sends the computation result N 12 →N 23  to P 21 ; P 13  sends the computation result N 40 →N 42  to P 21 ; P 14  sends the computation result N 50 →N 53  to P 21 . Finally P 21  summarizes the results and its own computation result P 11 →P 12 →N 30 →N 35 →N 34 →P 13 →P 14  and gets the final result N 10 →N 12 →N 23 →N 30 →N 35 →N 34 →N 40 →N 42 →N 50 →N 53 , as shown in  FIG. 7 .  
         [0073]     In the fourth embodiment of the method, when a user sends a command to establish a service connection between N 10  and N 53  from the network management system, route computation is carried out in the following procedure:  
         [0074]     Step A: Determine a PCE whose computation domain may include both N 10  and N 53 . In this case, the network management system determines that P 21  is the PCE whose computation domain may include N 10  and N 53  simultaneously according to the information it stores.  
         [0075]     Step B: P 21  and its lower layer PCEs complete the route computation together. This step is similar to Step B in the second embodiment of the method for multi-domain route computation, thus no more description thereof will be given here.  
         [0076]     It should be appreciated that the foregoing is only preferred embodiments of the invention and is not for use in limiting the invention Those skilled in the art can make various modifications and variations to the present invention without departing from the spirit and scope of the present invention. The present invention is intended to cover these modifications and variations provided that they fall into the scope of protection defined by the claims or their equivalents.