Abstract:
A packet communications network that transports a plurality of traffic over a plurality of server transport paths from a source to a destination, the network comprising: using a load distribution method to distribute each instance of traffic to an individual transport path, thereby avoiding reordering at the destination; enabling all the transport paths to carry the traffic; allowing the network to provision a preferred traffic distribution through a policy setting; and redistributing the traffic when a condition on one of the transport paths changes. Also disclosed is a composite transport group component comprising: a processor configured to implement a method comprising: receiving a server trail failure notification message; and performing a dynamic redistribution of traffic over a plurality of server trails, thereby transporting substantially all of the traffic associated with a class of traffic transported over the server trail associated with the server trail failure notification message.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present application claims priority to U.S. Provisional Patent Application Ser. No. 60/917,090, filed May 10, 2007 by Yong et al. and entitled “Network Availability Enhancement Technique in Packet Transport Network,” which is incorporated herein by reference as if reproduced in its entirety. 
     
    
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
       [0002]    Not applicable. 
       REFERENCE TO A MICROFICHE APPENDIX 
       [0003]    Not applicable. 
       BACKGROUND 
       [0004]    In today&#39;s transport networks, telecommunications data may be transported using time division multiplexing (TDM) or packet forwarding. In TDM, data may be divided into a bit stream that is transferred at a constant bit rate and reassembled at the destination. In contrast, packet-based networks divide the data into frames or packets and transport the frames or packets at various rate. One aspect of transport networks is to tolerate network failures, a characteristic that is often referred to as a network availability enhancement. Such failures may be caused by faults in the physical links of the network or due to hardware or software failures in any of the components of the network. Network availability enhancements can be implemented using several techniques that have been established and standardized for TDM-based transport networks. These techniques generally detect a transport network failure, notify the transport channel end point, and then switch the bit stream to another pre-provisioned or backup channel. 
         [0005]    Unfortunately, although the TDM-based enhancement availability techniques can be implemented in packet transport networks (PTNs), they do not take advantage of packet transport characteristics. Thus, an improved network availability enhancement for PTNs that can be implemented in real-time is possible. 
       SUMMARY 
       [0006]    In one embodiment, the disclosure includes a communications network comprising a plurality of server trails from a source to a destination carrying a plurality of client traffic. Such a network may include a component that comprises a processor configured to implement a method comprising receiving a server trail failure notification message, and performing a dynamic path redistribution of packets over a plurality of server trails, wherein all of the packets in the failed server trail can be transported over one or more normal server trails. As a result, the server trails can protect each other and improve the network availability. 
         [0007]    In another embodiment, the disclosure includes a method comprising maintaining a client profile table comprising data associated with a plurality of client traffic entering a connection-oriented network, maintaining a server trail table comprising data associated with a plurality of server trails that transport the client traffic across the network, monitoring the server trails to determine when a fault occurs, redistributing the client traffic over the server trails when the fault occurs, and updating the server trail table to reflect the fault and redistribution of client traffic. 
         [0008]    In a third embodiment, the disclosure includes a communications system comprising a first edge node and a second edge node, a plurality of paths that transport client traffic between the first edge node and the second edge node, one of the paths comprising an aggregated link, wherein upon an occurrence of a partial fault in the path with the aggregated link, one of the edge nodes determines whether a reduced path capacity is unacceptable, and upon determining that the reduced path capacity is unacceptable, at least some of the client traffic from the path with partial fault is transferred to the other paths. 
         [0009]    In a fourth embodiment, the disclosure includes a communication network comprising a plurality of server trails comprising different transport capacities and/or different types of transportation. The network may implement a method wherein the server trails are able to protect each other when one or more server trails encounters a failure or a partial failure. 
         [0010]    These and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]    For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts. 
           [0012]      FIG. 1  is an illustration of one embodiment of a packet transport network. 
           [0013]      FIG. 2  is an illustration of one embodiment of a server trail table. 
           [0014]      FIG. 3  is an illustration of one embodiment of a client profile table. 
           [0015]      FIG. 4  is an illustration of another embodiment of a packet transport network. 
           [0016]      FIG. 5  is an illustration of another embodiment of a packet transport network. 
           [0017]      FIG. 6  is one embodiment of a general-purpose network component. 
       
    
    
     DETAILED DESCRIPTION 
       [0018]    It should be understood at the outset that although an illustrative implementation of one or more embodiments are provided below, the disclosed systems and/or methods may be implemented using any number of techniques, whether currently known or in existence. The disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents. 
         [0019]    Disclosed herein is a method for improving the availability of packet transport networks (PTNs) to transport client traffic when a path entirely or partially fails. The path may entirely fail when connectivity is lost and client traffic may not be transported over the path at all. The path may partially fail when connectivity is maintained but capacity is reduced. When the path entirely or partially fails between a first end point and a second end point in the network, a failure notification message received at the second end point is forwarded to the first end point through another available path. A local server trail table at the first end point may then be updated to indicate the status of the failed path. All or part of the client traffic transported in the failed path may then be redistributed over other available paths between the two end points. When a failed path is restored between the two end points, the method may update the local server trail table for each end point to indicate that the availability of that path is restored. In an embodiment, the present availability enhancement method is advantageous because it takes advantage of packet transport characteristics and is able to restore client traffic in real time, thereby reducing the possibility of network congestion and packet drop rates as well as providing server trail protection capability compared to previous methods. 
         [0020]      FIG. 1  illustrates one embodiment of a system  100  for transporting client traffic from one location to another location. The system  100  comprises a PTN  102 , two composite transport group (CTG) components  104 , m client connections  106 , and n server trails  108 , where m is greater than or equal to n. Generally, the two CTGs  104  may exchange information with each other via at least one of the server trails  108  in the PTN  102 . As explained in detail below, when one or more server trails  108  fail, a failure notification message is sent through the PTN  102  to the CTG  104 . The CTG  104  may redirect client traffic from the failed server trails to one or a plurality of available server trails  108 . 
         [0021]    In an embodiment, the CTG  104  is functionality built into a network node. Specifically, the CTG  104  may be any device, component, or network that may produce, transport, and/or receive client traffic, for instance, from client connections  106  or from other external nodes. The CTG  104  may reside on a packet transport nodes such as a multi-protocol label switching (MPLS) network, an Institute of Electrical and Electronic Engineers (IEEE) 802 provider backbone bridged-traffic engineered (PBB-TE) network, or a connection-oriented wireless network, or resides on customer premise equipment (CPE) such as packet voice PBX, video service platform, and Web server. The CTGs  104  may generate and/or receive client traffic, or merely pass the received client traffic onto a provider network or any other network. The CTGs  104  may be either a source or a destination as those terms are used herein. 
         [0022]    In an embodiment, the PTN  102  is any communication system that may be used to transport the client traffic between any two CTGs  104 . Specifically, the PTN  102  may be any network within which capacity per a connection path may be reserved. In an embodiment, the PTN  102  may include another PTN that transports client traffic between the two CTGs  104 . In another embodiment, the PTN  102  could be a connection oriented Ethernet or MPLS transport network that transports client traffic between the two CTGs  104 . For example, the packet transport network  102  may transfer client traffic between an access node and a core node, Digital Subscriber Line Access Multiplexers (DSLAMs) and packet voice gateways or edge routers, Radio Network based systems and Controllers (RNCs), and/or Internet Protocol/MPLS (IP/MPLS) networks. Alternatively, the PTN  102  may be any other type of packet-based transport network known to persons of ordinary skill in the art. 
         [0023]    In an embodiment, the client connections  106  are devices, networks, or connections that transport client traffic between external networks and the CTGs  104 . For example, each client connection  106  may be associated with one or more customers. The external networks may be a backbone network, an access network, an optical network, a wire-line network, such as a Digital Subscriber Line (DSL), an IEEE 802 network, a wireless network, such as a cellular network, or any other type of networks known to persons of ordinary skill in the art. The client connections  106  may be physical, virtual, and/or wireless connections of different types and may have different transport rates for delivering the client traffic to the CTGs  104  in the PTN  102 . 
         [0024]    In an embodiment, the server trails  108  are connection paths across networks that transport client traffic between CTGs  104 . Similar to client connections  106 , the server trails  108  may be physical, virtual, and/or wireless connections that traverse at least part of the PTN  102  and on which bandwidth is reserved. The individual server trails  108  may be different types and have varied bandwidths. Moreover, the individual server trails  108  may also be different types and have bandwidths different from the client connections  106 . Each of the server trails  108  may connect a single port on the source CTG  104  with a single port on the destination CTG  104 . Between the two CTGs  104 , the server trails  108  may comprise a plurality of nodes, such as routers or switches, and a plurality of links, such as wires or fiber optics. The nodes and links may have different properties, such as physical structure, capacity, transmission speed, and so forth. In some embodiments, the links may comprise an aggregated link such as IEEE 802.3ad. For example, the link between two routers may be a fiber optic bundle that contains a plurality of individual fiber optic lines. 
         [0025]    The client traffic in the PTN  102  may be defined as client data that is transported from a source to a destination. Specifically, the client traffic may be transported between two CTGs  104  in the PTN  102 , or two CTGs  104  outside of the PTN  102 . Examples of client traffic include frames or packets, such as Ethernet frames, IP packets, ATM cells, and any similar information structure. The client traffic may contain an identifier that associates the packet or frame with a distinct connection. In embodiments, the identifier may include client traffic source and destination address, a type protocol identifier (TPID) and/or a virtual local area network identifier (VLAN ID) as defined in IEEE 802.1Q, but is not limited to such. 
         [0026]      FIG. 2  illustrates an embodiment of a server trail table  200 . The server trail table  200  may be a record that identifies each existing server trail that may comprise one direct link or a plurality of links that connect two edge nodes in a network. For each server trail, the table entries may comprise a server trail identifier  202 , a status  204 , an available capacity  206 , a provisioned capacity  208 , and a cost  210 . The server trail table  200  may also contain any other information that may be used for tracking network failures and recovery. The server trail identifier  202  may be a number or identifier that is uniquely assigned to each individual server trail in the network. The status  204  may be either set to “up” to indicate whether the server trail is available at some capacity and in service, or set to “down” to indicate that the server trail is out of service. Alternatively, the status  204  may indicate the extent to which a server trail is up or down. The provisioned capacity  208  represents a reserved capacity for individual server trail, which may differ from one trail to another. The available transport capacity  206  represents the capacity that the service trail is able to transport at, which could be less than or equal to its provisioned capacity at a given time due to the trail condition changes such as a partial fault. The server trail provisioned capacity may be set equal to zero when there is not any capacity reserved on the server trail. The trail cost  210  may indicate the cost of using the server trail, and may be used to order or arrange priority in trail distribution and facilitate dynamic redistribution of the client traffic in case of a fault or a shortage in network capacity. The server trail table  200  may be a dynamic entity that can be modified by the CTG, by creating, editing, or deleting its entries according to transport availability status and server trail addition or removal. In an embodiment, when a server trail fails, its status  204  entry is changed by the CTG from “up” to “down” and its available capacity is reduced to zero. The trail status may also be reset from “down” to “up” and its capacity increased when the trail is restored. 
         [0027]      FIG. 3  illustrates an embodiment of a client profile table  300 . The client profile table  300  may be located at the edge nodes of the transport network and may be used to track failures and perform recovery. For each client connection in the PTN, the client profile table  300  entries may comprise a client identifier  302  that is uniquely assigned to the individual client, a capacity entry  304  that specifies the total bandwidth of the client connection, a type entry  306  specifies the service type that the network uses to transport the client traffic, such as low delay or TCP friendly burst, and a time  308  that specifies the starting client traffic transmission time. The capacity entry  304  may be further divided into a confirmed information rate (CIR) that is the guaranteed rate for client traffic, and an extra information rate (EIR) that is an allowed, but not guaranteed rate for client traffic. The server trail table  300  may also contain any other entries, for example, that may be used for optimizing client traffic transport in the PTN and minimizing client traffic loss or bottlenecks. The client profile table  300  in  FIG. 3  contains nine client connections with varied capacities that are transported over two server trails between a pair of CTGs on two nodes of the PTN. As shown in  FIG. 3 , the total connection capacity transported on the first server trail, designated as service type one in the type  306 , is equal to 3.6 Gigabits per second (Gbps), while the total capacity on the second trail, designated as service type two, is equal to 2.9 Gbps. The total connection capacity in the individual server trail may not exceed the total provisioned capacity for that trail. 
         [0028]      FIG. 4  illustrates one embodiment of PTN  102  where a fault occurs in the nth server trail  108 . Upon realizing that a fault has occurred, an internal node  110  adjacent to the failure point on the nth trail may transmit a fault notification (FN) message towards the egress CTG  104 . When the egress CTG  104  receives the message, the CTG generates a backward defect indication (BDI) message towards the source CTG node  104  through another available server trail. The FN and BDI messages are described as AIS and RDI messages respectively, in U.S. patent application Ser. No. 11/672,214, filed Feb. 7, 2007 by Yong et al. and entitled “Hierarchical Processing and Propagation of Partial Faults in a Packet Network,” which is incorporated herein by reference as if reproduced in its entirety. The CTGs  104  may also use other types of failure notification messages that are known to persons of ordinary skill in the art. When the source CTG  104  receives the BDI message, the CTG  104  makes the necessary changes to the nth trail entries in the server trail table to indicate that the trail is out of service. Upon changing the server trail status, the source CTG  104  may switch all client traffic from the failed nth server trail to one or a plurality of available server trails  108  in real-time or within a few, e.g. less than ten, milliseconds. The CTG  104  also updates the entries in the client profile table to keep track of the distribution of client traffic over the server trails in the network. When the nth server trail is repaired, the source CTG  104  may stop receiving the BDI messages, and the trail may be marked again in service by updating the server trail table. The CTG  104  may then switch back the client traffic to the nth server trail and update the client profile table if the service requires revertive. 
         [0029]    In an embodiment, the amount of client traffic that may be switched from the failed server trail is restricted by the available capacity in the remaining server trails of the PTN. For example, a plurality of client connections may be transported between the two CTGs  104  over the plurality of server trails  108  when one of the server trails fails. After receiving a BDI message and updating the server trail table, the source CTG  104  may calculate the total free capacities in the other available server trails  108 , e.g. the client profile table and/or the server trail table. The free capacities for each server trail may be the difference between the available capacity of the server trail and the provisioned capacity of the server trail. The source CTG  104  may then redistribute the client connections from the failed server trail to one or a plurality of the other server trails  108  based on the client connections with the highest priority. The CTG  104  may also redistribute the client connections from the failed server trail to one or a plurality of the other server trails  108  based on the capacities of the client connections, the client connections with the longest transmission time, the cost of the client connections, or any combination of such criteria or other criteria chosen by a person of ordinary skill in the art. To avoid sequence reordering for each client connection, the CTG distributor function will guarantee that client traffic from one client connection will be transported over a single trail among a plurality of server trails. The CTG  104  may use entries in the server trail table and/or the client profile table as criteria for the redistribution of client connections. When there is no more free capacity in the server trails  108 , the source CTG  104  perform selective shutdown client connection to drop some client connections from the remaining client connections that were transported over the failed link and inform the client to stop sending traffic. Selective shutdown can be achieved by blocking or filtering the traffic per a client connection. In another embodiment, some of the client connections on the failed server trail may have higher priorities than some of the client connections on the other available server trails  108 . In such a case, the source CTG  104  may shutdown one or a plurality of lower priority client connections on the available server trails  108  to guarantee sufficient capacity for the high priority client connections. The high priority client traffic may then be redistributed from the failed server trail  108  to the available server trails  108 . 
         [0030]      FIG. 5  illustrates an embodiment of PTN  102  in which a partial fault has occurred. A partial fault may exist due to a failed link in an aggregated link, and is described in detail in U.S. patent application Ser. No. 11/554,367, filed Oct. 30, 2006 by Dunbar et al. and entitled “Faults Propagation and Protection for Connection Oriented Data Paths in Packet Networks,” which is incorporated by reference as if reproduced in its entirety. Briefly, an aggregated link may be a set of links bundled as a single logical link with a composite link capacity from one internal point to another internal point in the network. A link member in an aggregated link can fail and cause reduction in the composite link capacity, a condition known as a partial failure. When a partial fault occurs in the nth server trail  108  between two internal nodes  112 , an FN or forwarding defect indication (FDI) message may be sent from one internal node to the destination CTG node  104 . The message may be sent in the case where the aggregated link capacity is not enough to transport the client traffic, for example when the remaining capacity is less than the provisioned capacity or the actual total client traffic rate across an aggregated link, otherwise the client traffic is redistributed over the aggregated link. When the source CTG node  104  receives the FN with the capacity reduction indication, the source CTG node  104  may update the server trail table and change the available capacity of the corresponding trail. Since the server trail is still in service, the source CTG node  104  may continue forwarding the client traffic to the server trail and use its available capacity to determine the distribution of client traffic over other server trails. If necessary, the CTG may redistribute the client traffic over the server trails using the aforementioned distribution criteria and/or techniques. In the partial fault situation, it is possible that multiple partial faults take place on a server trail. When this happens, FN or other types of notification messages may be generated at every failure point. To avoid many FN messages and complications, a message consolidation method can be used to ensure that the FD message received at the CTG node  104  has the only maximum capacity reduction indication. 
         [0031]    The CTG technique described herein is distinguishable from the virtual concatenation group (VCG) technique defined in ITU G.707. First and foremost, the CTG uses a packet transport network, while the VCG uses TDM networks. In the VCG technique, several synchronous digital hierarchy (SDH) payload containers are combined into a single payload container for a tributary source and sink, wherein, the individual SDH payloads may traverse different paths. The tributary can use the composite container with a composite container to transfer client traffic. This network architecture resembles that of CTG where multiple server trails connect two edge nodes. For both techniques, individual client traffic may be transported over individual paths in the network. However, the VCG technique includes all sorts of different schemes for delay management, frame alignment, and sequence management. On the other hand, the CTG distribution function is capable of forwarding-based on client connections. Although a server trail may have different delays, the CTG collection function does not need to perform packet alignment and sequence management. This is a significant simplification over the VCG technique. In addition, the CTG allows server trails to have different capacity, which is prohibited in VCG. In addition, CTG may be made aware of client traffic while VCG may be unaware of it. Finally, although VCG improves network resilience, its main function is to form a large container to a tributary for client data. The main function for CTG is however to improve network resilience and provide transport flexibility. 
         [0032]    The CTG may also be distinguished from link aggregation group (LAG) as defined in IEEE 802.3ad. While aggregated links may be used in both techniques to transport multiple client links in packet-based networks, no internal nodes, links, or sub-network hierarchies are used in the LAG. The LAG combines multiple Ethernet links into one logical link so that multiple links may be used by Ethernet spanning tree without blocking. The LAG achieves high link availability, increases link capacity, and can be implemented over existing Ethernet hardware. However, unlike CTG, the LAG technique may only be applied to point-to-point links, where MAC switching is not allowed within. Moreover, all the links in LAG must operate at the same data rate. The CTG is similar to the LAG in the sense that multiple client connections are transported over all the server trails (LAG members). The CTG also uses similar distribution constraint as LAG to ensure the single client connection over a single server trail, therefore no alignment and reordering is performed at the destination. However, the LAG is used to prevent link blocking in a spanning tree environment while CTG is not. In fact, CTG is used in connection oriented packet transport networks, where all server trails are predetermined and configured by operators. Unlike to the LAG, the CTG is used at source and destination edge nodes, where trails can cross different routes and individual routes can be switched in a PTN. The CTG also allows different server trails to operate at different data rates. The CTG is mainly used for traffic engineering and providing transport resiliency. In short, the LAG may be described as a link technology while CTG is described as a network technology. 
         [0033]    Another packet-based technique that differs from CTG is IP/MPLS. IP/MPLS is a packet-based technique that uses equal cost multiple paths (ECMP) for traffic engineering and improving network availability. In IP/MPLS, a router may distribute the client traffic over multiple next hops of equal cost, and ECMP may allow multiple paths between any two routers. When a failure happens in the network, an open shortest path first (OSPF) protocol may broadcast topology changes to every router in the network where each router may update its link state database and its routing table in order to improve network availability. Updating link state databases and routing tables becomes very dependent on the OSPF routing protocol. As a result, given an arbitrary network topology, it is hard for an operator to manage the number of ECMP and predict a path for an IP flow. In addition, implementing the OSPF protocol requires much longer time in comparison to the CTG performance and traffic recovery time may take seconds. ECMP is often computed based on routing distance and it is very challenging to include the routing cost. Due to these limitations in IP/MPLS, the CTG technique is much better suited for connection oriented transport networks. CTG can apply to MPLS network, i.e. bundle multiple LSPs together as a plurality of server trails and transport a plurality of client connections. 
         [0034]    Other techniques such as 1+1 and m:n protection switching methods are used in TDM-based networks. Although such techniques may be used for packet network availability enhancement, they do not utilize packet transport characteristics. Therefore, such techniques cannot perform well in partial fault protection, may not allow traffic redistribution based on client or operator requirements, and do not provide flexibility in engineering the network traffic. 
         [0035]    The network described above may be implemented on any general-purpose network component, such as a computer, router, switch, or bridge, with sufficient processing power, memory resources, and network throughput capability to handle the necessary workload placed upon it.  FIG. 6  illustrates a typical, general-purpose network component suitable for implementing one or more embodiments of a node disclosed herein. The network component  400  includes a processor  402  (which may be referred to as a central processor unit or CPU) that is in communication with memory devices including secondary storage  404 , random access memory (RAM)  406 , read only memory (ROM)  408 , input/output (I/O)  410  devices, and network connectivity devices  412 . The processor may be implemented as one or more CPU chips. 
         [0036]    The secondary storage  404  is typically comprised of one or more disk drives or tape drives and is used for non-volatile storage of data and as an over-flow data storage device if RAM  406  is not large enough to hold all working data. Secondary storage  404  may be used to store programs that are loaded into RAM  406  when such programs are selected for execution. The ROM  408  is used to store instructions and perhaps data that are read during program execution. ROM  408  is a non-volatile memory device that typically has a small memory capacity relative to the larger memory capacity of secondary storage. The RAM  406  is used to store volatile data and perhaps to store instructions. Access to both ROM  408  and RAM  406  is typically faster than to secondary storage  404 . 
         [0037]    While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented. 
         [0038]    In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.