Patent Description:
Abstraction of network resources is a technique that can be applied to a single network domain or across multiple domains to create a single virtualized network that is under the control of a network operator or the customer of the operator that actually owns the network resources.

Abstraction and Control of Traffic Engineered Networks (ACTN) refers to the set of virtual network operations needed to orchestrate, control and manage large-scale multi-domain TE networks thereby facilitating network programmability, automation, efficient resource sharing, and end-to-end (E2E) virtual service aware connectivity and Network Function Virtualization (NFV) services. The ACTN facilitates virtual network operation via the creation of a single virtualized network or a seamless service.

Path Computation Element (PCE) Communication Protocol (PCEP) facilitates communication between a Path Computation Client (PCC) and a Path Control Element (PCE), or between PCE and PCE, for the purpose of computation of Multiprotocol Label Switching (MPLS) for Traffic Engineering Label Switched Path (TE LSP) characteristics. Thus, the PCEP provides mechanisms for PCEs to perform path computations in response to PCCs requests. While the PCEP explicitly makes no assumptions regarding the information available to a PCE, it also makes no provisions for the PCE to control timing and sequence of path computations within and across PCEP sessions.

Significantly, the PCE is a network entity capable of computing a network path or route based on a network graph, and of applying computational constraints during the computation. The PCE entity is located within a network node or component, on an out-of-network server, etc. For example, a PCE would be able to compute the path of a TE LSP by operating on the TED and considering bandwidth and other constraints applicable to the TE LSP service request.

The PCC is also a network entity which can be any client application that is requesting a path computation to be performed by the PCE. A PCC can have PCEP sessions with more than one PCE, and similarly a PCE may have PCEP sessions with a plurality of PCCs.

Implementing ACTN using PCE and PCEP: A hierarchical PCE architecture is the key to ACTN framework, where in the domain controllers (or Physical Network Controller, PNC) have the control only to its specific domain and the super controller (MDSC) has the global view of all the domains and can compute and setup end to end multi-domain and multi-layer path.

The Multi-Domain Service Coordinator (MDSC) is a functional block that implements the main ACTN functions such as multi-domain coordination, virtualization/ abstraction, customer mapping/translation, and virtual service coordination. The MDSC co-ordinates with domain controllers to compute end-to-end path and MDSC further breaks the path into per-domain LSP segments. Domain controllers of corresponding LSP segment further initiate the path setup process with in its domain.

Significantly, in ACTN architecture, the MDSC has complete/abstract topology information of the complete network, and is therefore capable of computing E2E with the requisite constraints. The MDSC breaks an E2E path into per-domain LSP segments and requests the corresponding domain controller of the domain to provision this LSP in the network, as illustrated in <FIG>. The MDSC employs PCEP protocol for communication with PNC's (who are the domain controllers). When all domain LSP's are up then the MDSC stitches a multi-domain path.

<FIG> illustrates an end-to end path computation, requested at the MDSC via the domain controllers, as prior art. The MDSC then computes an end to end path (A to F) either by itself or by employing a child PCE. The MDSC further breaks the path into per-domain LSP segments.

In the scenario illustrated in <FIG>, in step <NUM>: the MDSC sends a PCInitiate message, for LSP A to C, to Domain <NUM>. In step <NUM>: the MDSC sends the PCInitiate message, for LSP C to E, to Domain <NUM>. In step <NUM>: the MDSC sends the PCInitiate, for LSP E to F, to Domain <NUM>.

In the scenario illustrated in <FIG>, in step <NUM>: the PNC sends a PCRpt message for LSP A to C to the MDSC. In step <NUM>: the PNC sends a PCRpt message for LSP C to E to the MDSC. In step <NUM>: the PNC sends a PCRpt message for LSP E to F to the MDSC. Notably, once the MDSC (also known as Parent PCE) receives up-state from each LSP segment, it stitches the per-domain LSP.

In the Hierarchical solution of E2E multi-domain LSP, there exists a need for LSP update at MDSC that can lead to the following domain LSP update at PNC (or domain controller):.

In all the above case, if there is common link between old the LSP and updated/new LSP, then the resource of this common link must be shared between these LSP's. If the resource of the common link is not shared between the LSP's, then the domain PCE path computation may fail owing to resource shortage or duplication of resource allocation in the common link.

<FIG> illustrates an example where the master controller MDSC computes a path between A to L. The PNC's or the domain controller's setup the paths A-B, E-F and I-L respectively, LSP1. During path update, the MDSC re-computes the E2E path between A to L, based on new constraints similar to Make-Before-Break (MBB) for LSP1 in MDSC. To update this LSP1 MDSC breaks this E2E LSP to domain specific Update /Delete/Create Domain specific LSP.

In particular, after the MDSC computes a path between A to L which is LSP1 (represented by solid line in <FIG>), the PNC1 sets up a path from A-B, while PNC2 sets up a path from E-F and PNC3 sets up a path from I-L. At the time of global optimization/path update case, the MDSC re-computes the end-to-end path between A to L, based on a new constraint. This scenario is similar to Make-Before-Break (MBB) for LSP1 in MDSC. In order to update this LSP1, the MDSC breaks the end-to-end LSP (i.e., LSP1) to domain specific Update /Delete/Create Domain specific LSP. For the new LSP, i.e., LSP2 (represented by dotted line), for the Master controller it is an MMB for LSP1.

When a new LSP is being created, for the MDSC, it is an MBB for LSP1. However, for the PNC's or domain controllers, it is as follows:.

Accordingly, the domain controller path computation may fail or duplicate allocations may occur as shared resources are not considered in common links (involving the hosts M-N, N-L).

Thus, the technical problem faced the state of art technologies is that domain controller path computation fail or produce duplicate allocations since sharing of resources is not considered in common links for new LSP's created during an update of E2E LSP. In particular, they do not specify any mechanism to share the resources of two independent LSP's where either the ingress, or the egress, or both ingress and egress are different among the LSP's.

Accordingly, the objective technical problem solved by the present invention is how to share network resources of two independent LSP's where either ingress, or egress, or both ingress and egress are different among the two LSP's.

<CIT> relates to RSVP Make-Before-Brake Label Reuse. <NPL>, disclose paths to be protected having different ingress points and different egress points.

<NPL>, disclose a resource sharing association type.

The objective of the present invention is to provide a mechanism for a PCE to notify a PCC about shared resource of two independent LSP's by allowing a PCE to send an association object with a new association type to PCC. In particular, the present invention provides a PCEP extension for associating LSP's whose ingress, or egress, or both ingress and egress are different for resource sharing to avoid path computation failures or duplicate allocations during common links for new LSP's created during an update of E2E LSP. The PCC employs Resource ReSerVation Protocol (RSVP) for LSP signalling, PCC forwards path message information along with association object to the RSVP for LSP signalling. The RSVP uses the association object in its reservation message for LSP setup.

The invention provides a first network apparatus for sharing network resources according to independent claim <NUM>, a second network apparatus for sharing network resources according to independent claim <NUM>, a communication system for sharing network resources according to independent claim <NUM>, to two methods according to claims <NUM> and <NUM>, to a computer program product according to claim <NUM> and to a computer-readable medium according to claim <NUM>. Further, embodiments are defined in the dependent claims.

It is to be understood that the attached drawings are for purposes of illustrating the concepts of the invention and may not be to scale.

The scope of the invention is limited by the claims.

In the present application, "PCC" refers to any client application requesting a path computation to be performed by a Path Computation Element.

In the present application, "PCE" refers to an entity (component, application, or network node) that is capable of computing a network path or route based on a network graph and applying computational constraints.

In the present application, "PCEP Peer" refers to any element involved in a PCEP session (i.e., a PCC or a PCE).

In the present application, "MDSC" refers to a control entity that oversees the specific aspects of the different domains and builds a single abstracted end-to-end network topology to coordinate end-to-end path computation and path/service provisioning. In ACTN framework, the MDSC realizes this function by coordinating the per-domain PNCs in a hierarchy of controllers.

In the present application, "PNC" refers to a Physical Network Controller that is responsible for controlling devices or NEs under its direct control. Its functions can be implemented as part of an SDN domain controller, a Network Management System (NMS), an Element Management System (EMS), an active PCE-based controller or any other means to dynamically control a set of nodes.

In the present application, "RSVP" refers to a resource reservation setup protocol designed for an integrated services Internet. It provides receiver-initiated setup of resource reservations for multicast or unicast data flows, with good scaling and robustness properties.

In the present application, "ASSOCIATION group" refers to a generic mechanism to create an association of LSPs.

In the present application, "ASSOCIATION object" refers to an object used to associate LSPs with each other.

In the present application, "PCInitiate" is a PCEP message sent by a PCE to a PCC to trigger LSP.

In the present application, "PCUpd" is a PCEP message sent by a PCE to a PCC to update attributes of an LSP. The PCUpd message can carry more than one LSP Update Request.

In the present application, "PCRpt" is a PCEP message sent by a PCC to a PCE to report the status of one or more LSPs.

Communication Methods, apparatuses and a communication system for sharing network resources in a communications network are disclosed. While aspects are described for mechanisms that would enable a path computation element to notify the path computation client(s) about shared resources of independent label switch paths to avoid path computation failures or duplicate allocation of resources during common links for new LSP's created during an update of E2E LSP, the present invention may be implemented in any number of different computing systems, environments, and/or configurations, the embodiments are described in the context of the following exemplary systems, devices/nodes/apparatus, and methods.

The present invention discloses a mechanism for a PCE to notify a PCC about shared resource of two independent LSP's. It specifically focuses on enabling a PCE to send an association object with new association type as "Resource Sharing" to PCC so as to allow sharing of resources of two independent LSP's where either the ingress, or the egress, or both ingress and egress are different among the LSP's. Notably the MDSC is similar to a PCE and the PNC can be both PCE and PCC. With respect to MDSC, PNC is PCC, but with respect to network devices PNC is PCE.

Significantly, a PCE has access to the information carried by a network's Interior Gateway Protocol (IGP) and also the set of currently active paths with their reserved resources for path computations. The PCE is also capable of computing constrained paths while considering individual LSPs and their interactions. The active PCE functionality allows a PCE to reroute an existing LSP or make changes to the attributes of an existing LSP, or a PCC to delegate control of specific LSPs to a new PCE.

In particular, the present invention provides a PCEP extension for associating LSP's whose ingress, or egress, or both ingress and egress are different for resource sharing to avoid path computation failures or duplicate allocations during common links for new LSP's created during an update of E2E LSP. The PCC employs Resource ReSerVation Protocol (RSVP) for LSP signalling, PCC forwards path message information along with association object to the RSVP for LSP signalling. The RSVP uses the association object in its reservation message for LSP setup.

The extensions of PCE association group object and messages to support shared bandwidth in hierarchical PCE are as follows:.

Significantly, the Reserved (<NUM>-byte) must be set to <NUM> and ignored upon receipt. The currently defined Flags (<NUM>-byte) are R (Removal - <NUM> bit) which when set indicates that the requesting PCE peer requires removal of an LSP from the association group. The Association type (<NUM>-byte) is an association type, for example, protection while the Association ID (<NUM>-byte) is the identifier of the association group. When combined with Type and Association Source, this value uniquely identifies an association group. The value 0xffff and 0x0 are reserved. The value 0xffff is used to indicate all association groups.

The Association Source (<NUM> or <NUM> bytes) is an IPv4 or IPv6 address. This may be the IP address of the PCEP speaker that created a dynamic association, an operator configured IP address, or an IP address selected as per the local policy. The value such as <NUM>. <NUM> or ::/<NUM> are acceptable. The optional TLVs follow the conventional PCEP TLV format. The ASSOCIATION Object is optional and may be carried in the Path Computation Update (PCUpd), Path Computation Report (PCRpt) and Path Computation Initiate (PCInitiate) messages.

Significantly, when an LSP is delegated to a stateful PCE, the stateful PCE initiates a new association group for this LSP, or associate it with one or more existing association groups. This is done by including the ASSOCIATION Object in a PCUpd message. The PCUpd message (also referred to as a Path Computation LSP Update Request message) is a PCEP message sent by a PCE to a PCC to update attributes of an LSP. The PCUpd message carries more than one LSP Update Request.

The PCE initiating a new LSP, can include the association group information. This is done by including the ASSOCIATION Object in a PCInitiate message.

(b) New Association type for resource sharing in Association Object: A new Association Type for Resource Sharing has to be defined in PCE association group. The PCE sends an update message with association object for old LSP first and then sends initiate request for new LSP with the same association ID of old LSP and association type as "Resource Sharing". The PCC will use RSVP for LSP signalling. The PCC is equipped to forward the path message information along with association object to RSVP for LSP signalling. The RSVP can thus, use the association object in its reservation message for LSP setup, as illustrated in <FIG>.

The present invention specifically focuses on the issue of resource sharing between two independent LSP's when either the ingress, or the egress, or both ingress and egress are different among the old and updated LSP's. This is to avoid failure or duplicate allocation of resources during path re-computation in common links, as shared resources are not considered by domain controllers for the new LSP's created during an update of an E2E LSP. To achieve the desired objectives, the present invention enables a PCE to send an update message with an association object for an old LSP first. Subsequently, it sends an initiate request for new LSP with same the association ID of old LSP and association type as "Resource Sharing" thereby ensuring that the two independent LSP's with either ingress or egress or both being different among the LSP's share their resources.

<FIG> illustrates a flowchart of the communications method performed by the first network apparatus for sharing network resources in a communications network.

<FIG> illustrates a flowchart of the communication method performed by the second network apparatus for sharing network resources in a communications network.

The first network apparatus is a PNC while second network apparatus is a MDSC. Notably, the first network apparatus creating a second label switched path according to the path information involves the PNC asking an ingress node, such as device K of <FIG>, to setup the LSP using RSVP signalling using the path information. The PNC sends the association object to ingress node too. The ingress node creates a LSP according to the path information, and initiates LSP association by inserting appropriate ASSOCIATION objects in the Path message of LSPs that are to be associated. The first label switched path and the second label switched path have different ingress nodes or egress nodes, i.e., different ingress nodes, different egress nodes, different ingress and different egress.

The downstream nodes, such as device M of <FIG>, correlates LSPs based on received ASSOCIATION objects. The multiple types of LSP association are supported by the ASSOCIATION object, and downstream correlation is made based on the type. The type is "resource sharing". The ASSOCIATION object using in RSVP, hereinafter referred to as an R-object, is a little different from the ASSOCIATION object of PCEP, hereinafter referred to as a P-object.

The original figure of the R-object format has been illustrated in <FIG>. The ASSOCIATION object is used to associate LSPs with each other. In end-to-end LSP recovery, the association must only identify LSPs that support the same Tunnel ID as well as the same tunnel sender address and tunnel endpoint address. For this Association Type, Association Source, and Association ID fields of the object uniquely identify the association. Provisions are present for the object to ensure compatibility with non-supporting nodes as well. Notably, the Association Type is <NUM> bits and indicates the type of association being identified. The Association ID is <NUM> bits. A value assigned by the LSP head-end. When combined with the Association Type and Association Source, this value uniquely identifies an association. The Association Source is <NUM> or <NUM> byte and an IPv4 or IPv6 address, respectively, that is associated to the node that originated the association.

The first packet is a Path Computation Initiate message and comprises association object and path information. The path information refers to EXPLICIT_ROUTE object (ERO) which is included in a PCInitiate message. The ERO specifies a path. The PCC creates a new LSP according to the ERO. The PCInitiate message includes the association object and the ERO.

The second packet is a Path Computation Update message or a Path Computation Report message from the second network apparatus and comprises an association object and an identifier indicating the first label switched path. The association object comprises an association type indicating resource sharing. The identifier refers to PLSP-ID and each LSP has a unique PLSP-ID. The PCE includes a PLSP-ID in an update message to indicate a LSP to be updated. After receiving the update message which comprises association object and PLSP-ID, the PCC may maintain the relationship between association ID and PLSP-ID. So PCC can obtain PLSP-ID according to the relationship and the association object in the Initiate message. The second packet indicates that the first label switched path is associated with the association object.

The second label switched path shares network resources allocated to the first label switched path with the first label switched path. The new LSP shares network resources with the old LSP when the new LSP is created. Once the ingress node of the new LSP receives a Resv message for the new LSP, the traffic of the old LSP may be transited to the new LSP, and subsequently the old LSP may be torn down.

<FIG> illustrate examples where a master controller or the MDSC computes a path between hosts A to L. In particular, they illustrate a system for routing data packets in a communications network. This system comprises at least one first network apparatus (PNC1, PNC2, PNC3) that is adaptively configured to route data packets among plurality of network elements (A-L) and a second network apparatus (MDSC) that is adaptively configured to control a plurality of network apparatuses. The first network apparatus (PNC1, PNC2, PNC3) controls a plurality of network elements (A-D, E-H, I-L). Notably, the domain controllers or PNC's i.e., PNC1, PNC2 and PNC <NUM>, setup the paths A-B, E-F and I-L, respectively. The path A-B-E-F-I-M-N-L is the LSP1 or old LSP. In <FIG> illustrates that PNC1 issues initiate message to create new LSP A-D (a1) and issues update message to delete old LSP A-B (a2) to host A. PNC2 issues PNC2 issues initiate message to create new LSP G-H (b1) to host G and issues update message to delete old LSP E-F (b2) to host E. PNC3 issues initiate message to add association object to old LSP I-L (c1) to host I, issues initiate message to create new LSP with association object K-L (c2) to host K, and issues update message to delete old LSP I-L (c3) to host I.

During global optimization/path update, the master controller re-computes the end-to-end path between A to L, based on the new constraints. This is similar to Make-Before-Break (MBB) for LSP1 in the master controller. To update this LSP1, the master controller breaks this E2E LSP to domain specific Update/Delete/Create domain specific LSP, for the new LSP. Significantly, for the master controller, this is an MBB for LSP1.

For domain controller PNC1, the re-computation of E2E path results in creating new LSP involving hosts A-D with a new association type as "Resource Sharing" and deleting the old LSP involving hosts A-B. In particular, the PNC1 sends a PCInit message with same association object and association type as "Resource Sharing".

For domain controller PNC2, the re-computation of E2E path also results in creating new LSP involving hosts G-H with new association type as "Resource Sharing" and deleting the old LSP involving hosts E-F. In particular, the PNC2 also sends a PCInit message with same association object and association type as "Resource Sharing".

For domain controller PNC3, the re-computation of E2E path results in creating new LSP involving hosts K-M-N-L with a new association type as Resource Sharing" and deleting the old LSP involving host I-L. The network resources such as bandwidth will be shared between the two LSP's.

<FIG> illustrates the first network apparatus (<NUM>) which is a domain controller. The first network apparatus (<NUM>) comprises at least a transceiver unit (<NUM>) and a processing unit (<NUM>). There is also a memory unit (<NUM>). The transceiver unit (<NUM>) is configured to receive a first packet comprising an association object and path information. It is also configured to receive a second packet before receiving the first packet where the second packet comprises the association object and an identifier indicating the first label switched path. The second packet indicates that the first label switched path is associated with the association object. The processing unit (<NUM>) is configured to determine a first label switched path according to the association object and create a second label switched path according to the path information, where the second label switched path shares network resources allocated to the first label switched path with the first label switched path.

<FIG> illustrates the second network apparatus (<NUM>) which is a master controller. The second network apparatus (<NUM>) comprises at least a transceiver unit (<NUM>), a processing unit (<NUM>) and a memory unit (<NUM>). The transceiver unit (<NUM>) is configured to send a first packet comprising an association object and path information where the first packet instructs the first network apparatus (<NUM>) to determine a first label switched path according to the association object and create a second label switched path according to the path information. The second label switched path shares network resources allocated to the first label switched path with the first label switched path. The transceiver unit (<NUM>) is also configured to send a second packet before sending the first packet where the second packet comprises association object and identifier indicating the first label switched path. The second packet indicates that the first label switched path is associated with the association object.

Significantly, the second packet is a Path Computation Update message, or a Path Computation Report message or any similar message and the first packet is a Path Computation Initiate message or any similar message. The first network apparatus creates label switched path segments between at least two of its network elements. The label switched path (A-B-E-F-I-M-N-L) comprises a plurality of label switched path segments such as the first label switched path segment (A-D, G-H, K-M, N-L), the second label switched path segment (A-B, E-F, I-M, N-L), etc. The resources allocated to the second label switched path segment (A-B) are allocated on shared basis to the first label switched path segment (A-D).

The advantage of the present invention is that it enables the domain controller to consider shared resource in case of E2E LSP setup in hierarchical PCE because the case of existing E2E LSP setup in hierarchical PCE, the domain controllers fail to a compute path when resources are not available or duplicate resource allocation happens.

A person of ordinary skill in the art may be aware that in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on the particular applications and design constraint conditions of the technical solution.

It may be clearly understood by a person skilled in the art that for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, reference may be made to a corresponding process in the foregoing method embodiments, and details are not described herein again.

In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the described apparatus embodiment is merely exemplary. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces.

When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the present invention essentially, or the part contributing to the prior art, or a part of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium, and includes several instructions for instructing a computer node (which may be a personal computer, a server, or a network node) to perform all or a part of the steps of the methods described in the embodiment of the present invention. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk, or an optical disc.

Claim 1:
A first network apparatus used as a path computation client, PCC, for sharing network resources, said first network apparatus comprising:
a transceiver unit configured to receive a first packet comprising an association object and path information from a second network apparatus used as a path computation element, PCE, wherein the association object comprises an association type indicating resource sharing and an association ID being an identifier of an association group; and
a processing unit configured to:
determine a first label switched path, LSP, according to the association ID in the association object; and
create a second LSP according to the path information, wherein the second LSP shares network resources allocated to the first LSP with the first LSP;
wherein the first LSP and the second LSP have different ingress nodes or egress nodes; and
wherein the first LSP and the second LSP are per-domain LSP segments of a multi-domain end-to-end, E2E, path and the second LSP updates the first LSP during a re-computation of the E2E path.