US20110063986A1 - System and method for load balancing traffic in a mpls network - Google Patents

System and method for load balancing traffic in a mpls network Download PDF

Info

Publication number
US20110063986A1
US20110063986A1 US12/872,021 US87202110A US2011063986A1 US 20110063986 A1 US20110063986 A1 US 20110063986A1 US 87202110 A US87202110 A US 87202110A US 2011063986 A1 US2011063986 A1 US 2011063986A1
Authority
US
United States
Prior art keywords
path
provider edge
calculating
logical path
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/872,021
Inventor
Lionel Denecheau
Ludovic Hazard
Stephen Sauer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to EP09305835 priority Critical
Priority to EP09305835.2 priority
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SAUER, STEPHEN, DENECHEAU, LIONEL, HAZARD, LUDOVIC
Publication of US20110063986A1 publication Critical patent/US20110063986A1/en
Application status is Abandoned legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic or resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0268Traffic management, e.g. flow control or congestion control using specific QoS parameters for wireless networks, e.g. QoS class identifier [QCI] or guaranteed bit rate [GBR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance or administration or management of packet switching networks
    • H04L41/50Network service management, i.e. ensuring proper service fulfillment according to an agreement or contract between two parties, e.g. between an IT-provider and a customer
    • H04L41/5003Managing service level agreement [SLA] or interaction between SLA and quality of service [QoS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/12Congestion avoidance or recovery
    • H04L47/125Load balancing, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers; Analogous equipment at exchanges
    • H04M1/253Telephone sets using digital voice transmission
    • H04M1/2535Telephone sets using digital voice transmission adapted for voice communication over an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]

Abstract

A method and system for managing traffic between a first provider edge and a second provider edge in a network. The network includes logical paths between the first provider edge and the second provider edge. For each logical path, jitter, packet delay, and packet loss are identified. For each logical path, a path usage is calculated as a function of the identified jitter, packet delay, and packet loss. Most recent data received by the first provider edge is transmitted to the second provider edge via a selected logical path that has a highest path usage for which transmitting the received most recent data does not result in the selected logical path managing a higher percentage of network traffic than is dictated by the highest usage value for the selected logical path.

Description

    FIELD OF THE INVENTION
  • The present invention relates generally to network traffic and more particularly to a system and method for load balancing traffic in MultiProtocol Label Switching (MPLS) networks.
  • BACKGROUND OF THE INVENTION
  • Servers supporting mission-critical applications (i.e. financial transactions, database access, corporate intranets, etc.) must exchange traffic across data networks. Moreover, additional time sensitive applications (i.e. Voice over IP, Video) need to be carried across networks. Additionally, networks need the ability to scale performance to handle large numbers of end user requests without creating unwanted delays.
  • Network load balancing distributes traffic to multiple paths inside the network, each path going across different network equipment (Routers). Network load balancing transparently partitions the end user requests among the network paths.
  • Currently, the network routing protocols send traffic according to the shortest path between the end user and the application. Usually, the shortest path is determined based on static criteria such as least number of intermediate devices in the path (less hops), or larger capacity links (in terms of bandwidth). As the number of end users utilizing an application increases, the shortest path becomes congested.
  • MultiProtocol Label Switching (MPLS) refers to a mechanism which directs and transfers data between Wide Area Networks (WANs) nodes with high performance, regardless of the content of the data. MPLS belongs to the family of packet-switched networks. MPLS makes it easy to create “virtual links” between nodes on the network, regardless of the protocol of their encapsulated data. It can be used to carry many different kinds of traffic, including IP packets, as well as native ATM, SONET, and Ethernet frames. It is a highly scalable, protocol independent, data-carrying mechanism. Packet-forwarding decisions are made solely on the contents of the labels, without the need to examine the packet.
  • This allows one to create end-to-end circuits across any type of transport medium, using any protocol. The primary benefit is to eliminate dependence on a particular Data Link Layer technology, such as ATM, frame relay, SONET or Ethernet, and eliminate the need for multiple Layer 2 networks to satisfy different types of traffic. MPLS operates at an OSI Model layer that is generally considered to lie between traditional definitions of Layer 2 (Data Link Layer) and Layer 3 (Network Layer), and thus is often referred to as a “Layer 2.5” protocol. It was designed to provide a unified data-carrying service for both circuit-based clients and packet-switching clients which provide a datagram service model.
  • In MultiProtocol Label Switching networks, each service provider defines his own specific Quality of Service ‘QOS’ policy over its MPLS backbone. The mapping between the nature of traffic (real-time voice over IP, video streaming, http transactional, unidirectional, connection oriented, connection less) and the QOS policies of each service provider depends on the service provider QOS policy and is statically configured on each backbone edge router.
  • A drawback of such mapping is that it static and cannot be adjusted automatically on the service provider backbone usage and/or for any QOS policy modifications, thereby causing congestion.
  • Moreover, the real time and on-demand solutions massively deployed today at end user sites may conduct that a QOS policy provided by a service provider be considered rapidly obsolete.
  • The present invention solves the aforementioned problems.
  • SUMMARY OF THE INVENTION
  • The present invention provides a method for managing traffic in a network and an associated computer program product, computer system, and process for supporting computer infrastructure. The method comprises:
  • identifying I label switch paths Pi (i=1, 2, . . . , I), each label switch path Pi beginning at a first provider edge and ending at a second provider edge, wherein the first provider edge and the second provider edge each reside in the network, and wherein I is a total number of paths in the network such that I is a positive integer of at least 2;
  • for each label switch path Pi (i=1, 2, . . . , I), identifying J logical paths LPi,j (j=1, 2, . . . , J), wherein J=2N such that N is a positive integer of at least 2, and wherein said J logical paths for the I label switch paths consist of K logical paths such that K=I*J;
  • for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J), identifying jitter Ji,j and packet delay Di,j and packet loss Li,j;
  • for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J), calculating a path usage Ui,j as a first function of said Ji,j and said Di,j and said Li,j, wherein Ui,j is a fraction denoting a highest percentage of total network traffic that logical path LPi,j can manage;
  • said first provider edge receiving most recent data; and
  • transmitting said received most recent data from the first provider edge to the second provider edge via a selected logical path of the K logical path such that the selected logical path comprises a highest path usage for which said transmitting said received most recent data does not result in the selected logical path managing a higher percentage of network traffic than is dictated by said highest usage value comprised by said selected logical path.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates an environment of a MPLS network, in accordance with embodiments of the present invention.
  • FIG. 2 shows a header of a MPLS data packet, in accordance with embodiments of the present invention.
  • FIG. 3 illustrates an environment in which a method for an adaptive load sharing to balance network traffic may be implemented, in accordance with embodiments of the present invention.
  • FIG. 4 shows a flow chart of a method to balance network traffic, in accordance with embodiments of the present invention.
  • FIG. 5 is a flow chart describing a process for transmitting the most recently received data from a first provider edge to a second provider edge, in accordance with embodiments of the present invention.
  • FIG. 6 is a flow chart describing a method for managing traffic in a network, in accordance with embodiments of the present invention.
  • FIG. 7 illustrates a computer system which may facilitate a method for implementing adaptive load sharing to balance network traffic, in accordance with embodiments of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The present invention provides a system and a method for automatically adapting the load sharing in a MPLS network.
  • The present invention provides a system and method for load sharing traffic across all transmission paths.
  • The present invention measures the real time application requirements (delay to reach the destination, loss of packets, jitter) of each service provider QOS policy to adapt the load sharing.
  • The present invention allows adapting the load sharing to modifications or adjustments of the service provider QOS policies.
  • In one embodiment, there is provided a method for load balancing traffic between a first provider edge and a second provider edge in a MPLS network. The first provider edge is coupled to the second provider edge through a plurality of transmission paths and the method comprises the steps of:
  • for each transmission path:
      • defining a group of logical paths, each logical path being identified by a field value within the header of a data packet to be transmitted;
      • measuring a set of traffic parameters for each logical path; and
      • calculating a logical path usage value for each logical path from the measurement step;
  • scoring the logical path usage values of the plurality of transmission paths; and
  • selecting one or several transmission paths associated to the one or several logical paths having the highest score to send traffic.
  • Embodiments of the invention are described herein after by way of examples with reference to the accompanying Figures and drawings, using the following definitions of the terms: ‘provider edge’, ‘jitter’, ‘packet loss’, and ‘packet delay’.
  • The term ‘provider edge’ as defined herein refers to a network hardware device situated between one network service provider's area and areas administered by other network providers.
  • The term ‘jitter’ as defined herein refers to unwanted variation of one or more characteristics of a periodic signal in electronics and telecommunications. Jitter may be seen in characteristics such as the interval between successive pulses, or the amplitude, frequency, or phase of successive cycles.
  • The term ‘packet loss’ as defined herein refers to the situation where one or more packets of data traveling across a computer network fail to reach their destination. Packet loss can be caused by a number of factors, including signal degradation over the network medium or over saturated network links, corrupted packets rejected in-transit, faulty networking hardware, maligned system drivers or network applications, normal routing routines, etc.
  • The term ‘packet delay’ and/or ‘latency’ as defined herein refers to the period of time necessary for a packet of data to travel from one designated point to another. One-way Latency is measured by sending a packet of data across the network and by comparing the time the packet was sent with the time the packet was received, assuming both sending and receiving devices have their clock synchronized using a Network Time Protocol.
  • FIG. 1 illustrates a MPLS network environment 100, in accordance with embodiments of the present invention. The MPLS network environment 100 comprises a first network 102 connected to both a second network 104 and a third network 106. The first network 102 comprises a first provider edge (PE1) 108 connecting the first network 102 with the second network 104. The first network 102 also comprises a second provider edge (PE2) 110 connecting the first network 102 with the third network 106. It is understood that while FIG. 1 illustrates the first network 102 comprising two provider edges (PE1 108 and PE2 110), the first network 102 may comprise a number of provider edges ranging from one to infinity.
  • Moreover, the first network 102 comprises a plurality of network hardware devices 112 through 124 interconnected via transmission paths 126, generally named Label Switch Paths ‘LSP’ being, inter alia, Ethernet cables, fiber optic cables, radio-wave signals, satellite signals, etc.
  • Between the first provider edge 108 and the second provider edge 110, there is a plurality of paths (Label Switch Path ‘LSP’) through which information may be sent. For example, with respect to FIG. 1, one LSP from PE1 108 to PE2 110 may travel along devices A 112, B 114, and C 116. A first alternative LSP from PE1 108 to PE2 110 may be through devices D 118, E 120, F 122, and G 124. A second alternative LSP from PE1 108 to PE2 110 may be through devices D 118, A 112, B 114, F 122, G 124, and C 116.
  • In a MPLS network, the LSP is selected at the ingress edge by a Label Edge Router (LER) and is based on a Service Level measure, known as IP SLA. So, there is one IP SLA associated to one LSP. Then, using a Label Distribution Protocol (LDP), the LER distributes to Label Switched Routers (LSRs) the individual link selections that comprise the end-to-end path selection. The LER inserts labels into the headers of the individual packets in the flow. As the LSRs receive the packets, they examine the short labels, compare them against a label database, switch the existing label for a new one, and quickly forward the packet across an appropriate link to the next LER. The process is repeated by each LSR until the packet reaches the egress LER, which strips the tag away as the packet exits the network.
  • Each LSP from PE1 108 to PE2 110 has its own values for jitter, packet loss, and packet delay. As already discussed, conventional network load sharing methods simply look to the shortest path (i.e. least amount of hardware) between PE1 108 and PE2 110. However, as this ‘shortest’ path receives all the traffic, it may experience jitter, packet loss, and packet delay.
  • FIG. 2 shows a header of a MPLS data packet, in accordance with embodiments of the present invention. In a MPLS network, data packets are assigned labels at the ingress edge PE1 when entering the MPLS network. Data packets are prefixed with a MPLS header such as the header 200 shown of FIG. 2, containing one or more ‘labels’. Each label entry contains four fields:
  • a ‘Label’ field 202 made of 20-bits;
  • an ‘EXP’ field 204 made of 3-bits for containing class of service information;
  • a ‘S’ field 206 made of 1-bit. When S is set, the current label is the last in the stack;
  • a ‘TTL’ field 208 made of 8-bits for containing a time to live indicator.
  • The EXP field 204 is used in the MPLS label to infer the Class of Service for a particular traffic. When measuring the IP SLA for a specific LSP, the EXP value is fixed and there is one EXP value associated to one LSP.
  • With the 3 bits available in the EXP label field, the MPLS label is used in the present invention to define eight logical transmission paths, as Table 1 shows in the breakdown of bits:
  • TABLE 1 EXP bits value Logical Path 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7
  • FIG. 3 illustrates an environment in which a method for an adaptive load sharing to balance network traffic may be implemented, in accordance with embodiments of the present invention With reference to FIG. 3, an example of eight logical paths for one LSP is shown in a MPLS network 300 of the type as previously described with reference to FIG. 1. At the ingress edge, the provider edge PE1 108 enables and manages eight logical paths (302, 304, . . . , 316), namely one logical path per EXP value.
  • It has to be appreciated that such eight logical paths are defined for each LSP existing from the ingress edge, such as the LSPs described for FIG. 1: LSP_1 from PE1 108 to PE2 110 that through devices A 112, B 114, and C 116, and LSP_2 through devices D 118, E 120, F 122, and G 124, and LSP_3 through devices D 118, A 112, B 114, F 122, G 124, and C 116.
  • In operation, 8 IP SLAs are sent from the provider edge PE1, one per EXP value, for each LSP, in order to get the traffic conditions of the delay, jitter and packet loss measured unidirectionally from PE1 to PE2.
  • At the egress edge, upon reception of an IP SLA, PE2 computes the SLA required parameters and replies to PE1 by time stamping the current IP SLA traffic. The corresponding logical path is then assigned with a traffic condition value.
  • Each of the eight logical paths of a LSP is similarly assigned with a traffic condition value.
  • Once all logical paths for all LSPs are tested, the ingress PE1 gets, in real time all the IP SLAs time stamping.
  • Each pair of (LSP, EXP) gets a scoring of acceptable percentage of traffic, and the router of ingress PE1 marks the EXP field of incoming data packets with an appropriate (LSP, EXP) bit values to allow routing of the data packet to the assigned LSP. The data packets are then distributed on the LSPs according to the respective percentage. Provider edge PE1 is thus able to select which IP packets to be sent on which LSP depending on the IP SLA statistics of each possible path. If the IP SLA statistics change, the load-sharing algorithm adjusts the load sharing across all new identified possible paths.
  • To exemplify, consider the following illustrative example (“Example A”). If 2 LSPs among the three identified are selected, LSP_1 and LSP_2, the final load sharing among the eight logical paths of LSP_1 and the eight logical paths of LSP_2 may give the following statistical distribution, wherein the logical path LSP_1 having the EXP field set to 7 being the optimal route for receiving 15% of the total traffic:
  • on LSP_1, with EXP set to 0: 5% of the total traffic;
  • on LSP_1, with EXP set to 1: 2% of the total traffic;
  • on LSP_1, with EXP set to 2: 7% of the total traffic;
  • on LSP_1, with EXP set to 3: 10% of the total traffic;
  • on LSP_1, with EXP set to 4: 6% of the total traffic;
  • on LSP_1, with EXP set to 5: 5% of the total traffic;
  • on LSP_1, with EXP set to 6: 5% of the total traffic;
  • on LSP_1, with EXP set to 7: 15% of the total traffic;
  • on LSP_2, with EXP set to 0: 5% of the total traffic;
  • on LSP_2, with EXP set to 1: 5% of the total traffic;
  • on LSP_2, with EXP set to 2: 4% of the total traffic;
  • on LSP_2, with EXP set to 3: 12% of the total traffic;
  • on LSP_2, with EXP set to 4: 5% of the total traffic;
  • on LSP_2, with EXP set to 5: 5% of the total traffic;
  • on LSP_2, with EXP set to 6: 5% of the total traffic;
  • on LSP_2, with EXP set to 7: 4% of the total traffic.
  • The calculation of LSP IP SLA per EXP may be performed at regular intervals. In one implementation, the interval is set to a minimum of 3 minutes, to allow a smooth adaptation of the load sharing.
  • In an alternate embodiment, traffic requirements of the current application originating the traffic are used to select the best match transmission path. Based on the traffic condition values collected as previously described, and according to the application traffic requirements (i.e., threshold values in term of delay to reach the destination, number of loss packets, jitter) a computation is then made at PE1 to identify if and how LSP(s) are having acceptable SLAs values conforming to the application traffic requirements.
  • The application traffic requirements are available from a centralized database which stores various traffic requirements by application. The database may be updated on a regular basis.
  • If no LSP matches exactly the application traffic requirements, then the ingress PE1 may: (i) deliver a warning message to a terminal session, syslog servers, SNMP traps, and mail administrator; (ii) drop the traffic; or (iii) select the LSP having the most approaching SLA values compared to the traffic requirements.
  • If at least one LSP matches the application traffic requirements, then the load sharing among the logical paths of the selected LSP(s) is computed to share the traffic accordingly.
  • FIG. 4 is a flow chart of a method 400 to balance network traffic, in accordance with embodiments of the present invention.
  • The method 400 begins with step 402 which comprises identifying all transmission paths LSP from the first provider edge PE1 108 to the second provider edge PE2 110 (see FIG. 1, supra). For ease of understanding, each path (LSP) is represented as P, indexed from i=1 to i=I, where I is a positive number greater than 1 and equal to the total number of paths from the first provider edge PE1 108 to the second provider edge PE2 110. Once each path from the first provider edge PE1 108 to the second provider edge PE2 110 is identified, the first provider edge PE1 108 stores Pi for i=1, 2, . . . , I in a library (Label Information Database) residing within the first provider edge PE1 108.
  • After completion of step 402, the method continues with step 404 which allows identifying all logical paths LPs for each identified transmission path.
  • In next step 406, each logical path is tested to determine (i.e., ascertain) the packet delay, packet loss, and jitter parameters. For ease of understanding, each logical path of path (LSP) Pi is represented as LPi,j indexed from i=1, 2, . . . , I and j=1 to j=J, where J is an integer equal to the number of possible combinations (2N) derived from the number of bits (N) available in the EXP field of the MPLS data packet header (i.e., three bits with N=3 in the current MPLS networks leading to J=23, namely eight, logical paths as previously described). For each index i (i=1, 2, . . . , I), LPi,j corresponds to EXP=j−1 (j=1, 2, . . . , J). For example for each index i (i=1, 2, . . . , I) with N=3 and J=8, LPi,1 corresponds to EXP=0, LPi,2 corresponds to EXP=1, . . . , and LPi,8 corresponds to EXP=7.
  • In one embodiment, the test includes the first provider edge PE1 108 sending artificial data through the first network 102 to the second provider edge PE2 110 for each LPi,j. For each LPi,j, the first provider edge PE1 108 records the packet delay Di,j in terms of milliseconds, the jitter Ji,j in terms of milliseconds, and the packet loss Li,j in terms of losses per ten million (10 mm). Thereinafter, the first provider edge PE1 108 stores Di,j, Ji,j, and Li,j in the library.
  • After completion of step 406, the method continues with step 408 which comprises calculating logical path usage values from the first provider edge PE1 108 to the second provider edge PE2 110.
  • In one embodiment of the present invention, step 408 first calculates an intermediate value called the path rate Ri, j for i=1, 2, . . . , I and j=1, 2, . . . , J. The path rate Ri,j is calculated utilizing Di,j, Ji,j, and Li,j as well as three variables: a delay ratio (DN); a jitter ratio (JN); and a loss ratio (LN) which are integers having a value between zero (0) and one thousand twenty four (1024). The variables DN, JN, and LN may be provided as input by an end user at the first provider edge.
  • Specifically, Ri,j is calculated according to a linear function of Ji,j and Di,j and Li,j. For example, Ri,j=Di,j*DN+Ji,j*JN+Li,j*LN for i=1, 2, . . . , I and j=1, 2, . . . , J, wherein DN, JN, and JN are used as proportionality constants for calculating Ri,j. In one embodiment, Ri,j is calculated according to a non-linear function of Ji,j and Di,j and Li,j. After calculating Ri,j step 408 calculates the weight per path Wi,j The weight per path Wi,j is calculated according to:
  • W i , j = R i , j / i = 1 , j = 1 I , J R i , j
  • for i=1, 2, . . . , I, and j=1, 2, . . . J. After calculating the weight per path Wi,j step 408 calculates the credit per path Ci,j for i=1, 2, . . . , I and j=1, 2, . . . J. The credit per path Ci,j is calculated according to the function:

  • C i,j=1/W i,j
  • Finally after calculating the credit per path Ci,j step 408 calculates the logical path usage Ui,j for i=1, 2, . . . , I and j=1, 2, . . . J.
  • The logical path usage Ui,j utilizes the path rate Ri,j, weight per path Wi,j, and credit per path Ci,j and the resulting value derived will be used by the first provider edge PE1 108 to apportion the amount of traffic each logical path LPi,j can reasonably manage.
  • In one embodiment of the present invention, path usage Ui,j is calculated according to the function
  • U i , j = C i , j / i = 1 , j = 1 I , J R i , j
  • for i=1, 2, . . . , I and j=1, 2, . . . J. The resulting logical path usage Ui,j is a fraction representing the highest percentage of total network traffic which a given logical path LPi,j can manage. After path usage Ui,j is calculated for i=1, 2, . . . , I, and j=1, 2, . . . J, step 408 stores the path usage Ui,j results in a library managed by the first provider edge PE1 108.
  • After completion of step 408, the method 400 continues with step 410 which comprises distributing data packets among the logical paths according to the calculated path usage Ui,j values. In one embodiment of the present invention, when receiving data originating from the second network 104, the first provider edge PE1 108 will look to the path usage values Ui,j for i=1, 2, . . . , I and j=1, 2, . . . J for the most appropriate logical path LPi,j to transmit the data across. As noted before, the path usage values Ui,j represent the percentage of the network traffic a specific logical path LPi,j can handle/manage effectively.
  • In one embodiment of the present invention illustrated by Example A supra, step 410 identifies the path usage value Ui,j having the largest value (15%) not exceeding the current network traffic. With selected LSPs of LSP_1 and LSP_2 in Example A, the logical path having the largest usage value Ui,j (15%) is logical path LP1,7 (i.e., LSP_1, EXP=7). Thus, step 410 would attempt to send the most recently received data from the first provider edge PE1 108 to the second provider edge PE2 110 via logical path LP1,7. Step 410 would also determine if sending the most recently received data across the first network 102 via logical path LP1,7 would translate into managing more than 15% of the overall network traffic (i.e., the maximum percentage value that may be handled based on U1,7). If logical path LP1,7 would end up managing more than 15% of the network traffic as a result of routing the most recently received data, then step 410 identifies the next largest path usage value U1,7 of 12%, namely logical path LP2,3 (i.e., LSP_2, EXP=3) in Example A. Therefore, step 410 would transmit the most recently received data from the first provider edge PE1 108 to the second provider edge PE2 110 via logical path LP2,3. Thus, the logical path selected for transmitting the most recently received data from the first provider edge PE1 108 to the second provider edge PE2 110 is the logical path having the highest usage value Ui,j such that said transmitting (from the first provider edge PE1 108 to the second provider edge PE2 110) does not result in the selected logical path managing a higher percentage of the network traffic than its usage value Ui,j.
  • FIG. 5 is a flow chart describing a process for transmitting the most recently received data from the first provider edge PE1 108 to the second provider edge PE2, in accordance with embodiments of the present invention. The process of FIG. 5 comprises steps 501-503.
  • Step 501 sorts the logical paths of the selected LSPs to generate a list of the logical paths in descending order of usage value (i.e., in order of decreasing Ui,j from highest Ui,j to lowest Ui,j).
  • Step 502 selects the first logical path on the list (i.e., the logical path having the highest usage value Ui,j) for which transmitting the most recently received data from the first provider edge PE1 108 to the second provider edge PE2 110 does not result in the selected logical path managing a higher percentage of the network traffic than its usage value Ui,j.
  • Step 503 transmits the most recently received data from the first provider edge PE1 108 to the second provider edge PE2 110 via the logical path selected from the list.
  • In one embodiment of the present invention, step 410 is completed after a period of time established by the end user. In an alternative embodiment of the present invention, step 410 is completed after a pre-defined fixed period of time not being established by the end user. In another alternative embodiment of the present invention, step 410 is completed after a specific number of paths have been exhausted, the specific number being provided by the end user.
  • After completion of step 410, the method continues with step 412 which comprises determining whether to recalculate all network paths. In one embodiment of the present invention, step 412 identifies whether data is received by the first provider edge PE1 108 requiring transmission to the second provider edge PE2 110. If the first provider edge PE2 108 continues to receive data, step 412 returns a response of ‘yes’ and the method returns to step 408 to perform steps 408 through 412 again. However, if the first provider edge PE2 108 does not continue to receive data, step 412 returns a response of ‘no’ and the method ends.
  • In an alternative embodiment of the present invention, step 412 identifies whether data is currently being transmitted across the first network 102. If data is actively/currently being transmitted across the first network 102, step 412 returns a response of ‘yes’ and the method returns to step 408 to perform steps 408 through 412 again. However, if no data is actively/currently being transmitted across the first network 102, step 412 returns a response of ‘no’ and the method ends.
  • In one embodiment of the present invention, the method 400 is applied specifically to a multiprotocol label switching network. The MPLS network comprises provider edges (PEs) as well as provider routers (Ps). Furthermore the MPLS comprises, inter alia, a control plane and a data plane.
  • The control plane in turn comprises: routing protocols (i.e. label discovery protocol or LDP; interior gateway protocol or IGP, etc.); a label information base (LIB) which contains label switched paths (LSPs); and a generic internet protocol service level agreement (IP SLA) engine to measure latency, jitter, and packet loss across the LSP.
  • The data plane utilizes the result of the control plane's calculations and IP SLA measurements to load balance traffic from the incoming provider edge (PE) to the outgoing provider edge (PE) across the multiple LSP.
  • As already mentioned, in an alternate embodiment, a networking based application recognition mechanism is used in conjunction with the load sharing algorithm of the present invention. Preferably, this mechanism is an IP NBAR feature as well known by those skilled in the art. This component allows the PE to recognize the application originating the traffic received from the CE (the end customer part of the network). Additionally, a centralized database grouping the traffic requirements by application is accessible by all MPLS PEs of the service provider. And using a client/server request mechanism, on a per on-demand basis, each PE requests the centralized database and receives each specific traffic requirements (delay, loss of packets, jitter).
  • On an incoming IP traffic, the ingress PE first attempts to recognize the application originating the traffic using the networking based application recognition mechanism. This feature enables recognition of an application based on some specific traffic details such as the Layer 4 TCP/UDP port couple or the Layer 5 first bytes payload.
  • Then the ingress PE determines the application traffic requirements by requesting them to the centralized database grouping the traffic requirements by application.
  • Based on the calculated IP SLAs, the ingress PE next determines if one or multiple MPLS LSP SLAs match the application traffic requirements.
  • Next, the ingress PE forwards the traffic to each matching LSP using the MPLS multiple LSP auto adaptable load sharing algorithm.
  • FIG. 6 is a flow chart describing a method for managing traffic in a network, in accordance with embodiments of the present invention. The method of FIG. 6 comprises steps 601-606.
  • Step 601 identifies I label switch paths Pi (i=1, 2, . . . , I), each label switch path Pi beginning at a first provider edge and ending at a second provider edge, wherein the first provider edge and the second provider edge each reside in the network, and wherein I is a total number of paths in the network such that I is a positive integer of at least 2.
  • For each label switch path Pi (i=1, 2, . . . , I), step 602 identifies J logical paths LPi,j (j=1, 2, . . . , J), wherein J=2N such that N is a positive integer of at least 2, and wherein said J logical paths for the I label switch paths consist of K logical paths such that K=I*J;
  • For each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J), step 603 identifies jitter Ji,j and packet delay Di,j and packet loss Li,j;
  • For each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J), step 604 calculates a path usage Ui,j as a function of said Ji,j and said Di,j and said Li,j, wherein Ui,j is a fraction denoting a highest percentage of total network traffic that logical path LPi,j can manage;
  • In step 605, the first provider edge receives most recent data;
  • Step 606 transmits said received most recent data from the first provider edge to the second provider edge via a select logical path of the K logical path such that the selected logical path comprises a highest path usage for which said transmitting said received most recent data does not result in the selected logical path managing a higher percentage of network traffic than is dictated by said highest usage value comprised by said selected logical path.
  • FIG. 7 illustrates a computer system 700 which facilitates a method for implementing adaptive load sharing to balance network traffic, in accordance with embodiments of the present invention.
  • The computer system 700 comprises a processor 708, an input device 706 coupled to the processor 708, an output device 710 coupled to the processor 708, and memory devices 702 and 712 each coupled to the processor 708.
  • The input device 706 may be, a keyboard, a mouse, a keypad, a touch screen, a voice recognition device, a sensor, a network interface card (NIC), a Voice/video over Internet Protocol (VoIP) adapter, a wireless adapter, a telephone adapter, a dedicated circuit adapter, etc.
  • The output device 710 may be, a printer, a plotter, a computer screen, a magnetic tape, a removable hard disk, a floppy disk, a NIC, a VoIP adapter, a wireless adapter, a telephone adapter, a dedicated circuit adapter, an audio and/or visual signal generator, a light emitting diode (LED), etc.
  • The memory devices 702 and 712 may be a cache, a dynamic random access memory (DRAM), a read-only memory (ROM), a hard disk, a floppy disk, a magnetic tape, an optical storage such as a compact disc (CD) or a digital video disc (DVD), etc. The memory device 712 includes a computer code 714 which is a computer program that comprises computer-readable instructions.
  • The computer code 714 includes an algorithm used for implementing adaptive load sharing to balance network traffic according to the present invention. The processor 708 executes the computer code 714. The memory device 702 includes input data 704. The input data 704 includes input required by the computer code 714. The output device 710 displays output from the computer code 714. Either or both memory devices 702 and 712 (or one or more additional memory devices not shown in FIG. 7) may be used as a computer readable storage medium (or a computer readable medium or a program storage device) comprising physical matter and having a computer readable program embodied therein and/or having other data stored therein, wherein the computer readable program comprises the computer code 714. Generally, a computer program product (or, alternatively, an article of manufacture) of the computer system 700 may comprise said computer readable storage medium (or said program storage device).
  • Any of the components of the present invention can be deployed, managed, serviced, etc. by a service provider that offers to deploy or integrate computing infrastructure with respect to a process for implementing adaptive load sharing to balance network traffic. Thus, the present invention discloses a process for supporting computer infrastructure, comprising integrating, hosting, maintaining and deploying computer-readable code into a computing system (e.g., computing system 700), wherein the code in combination with the computing system is capable of performing a method for implementing adaptive load sharing to balance network traffic.
  • In a commercial application, a service provider, such as a Solution Integrator, can offer to create, maintain, support, etc. a networking computer infrastructure for operating the present invention of adaptive load sharing to balance network traffic.
  • While FIG. 7 shows the computer system 700 as a particular configuration of hardware and software, any configuration of hardware and software, as would be known to a person of ordinary skill in the art, may be utilized for the purposes stated supra in conjunction with the particular computer system 700 of FIG. 7. For example, the memory devices 702 and 712 may be portions of a single memory device rather than separate memory devices. In addition, in one embodiment of the present invention the computer system 700 may resemble a network router (i.e. provider edge router) and facilitate a method for implementing adaptive load sharing to balance network traffic.
  • The present invention is a low cost implementation solution, which is not CPU intensive and which does not require huge memory size as there is no mapping done between the traditional IP QOS parameters (DSCP, precedence, TOS) and the EXP values. The present invention has EXP setting without the need of an IP QOS/EXP mapping table.
  • While particular embodiments of the present invention have been described herein for purposes of illustration, many modifications and changes will become apparent to those skilled in the art. Accordingly, the appended claims are intended to encompass all such modifications and changes as falling within the true spirit and scope of this invention.

Claims (20)

1. A method for managing traffic in a network, said method comprising:
identifying I label switch paths Pi (i=1, 2, . . . , I), each label switch path Pi beginning at a first provider edge and ending at a second provider edge, wherein the first provider edge and the second provider edge each reside in the network, and wherein I is a total number of paths in the network such that I is a positive integer of at least 2;
for each label switch path Pi (i=1, 2, . . . , I), identifying J logical paths LPi,j (j=1, 2, . . . , J), wherein J=2N such that N is a positive integer of at least 2, and wherein said J logical paths for the I label switch paths consist of K logical paths such that K=I*J;
for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J), identifying jitter Ji,j and packet delay Di,j and packet loss Li,j;
for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J), calculating a path usage Ui,j as a first function of said Ji,j and said Di,j and said Li,j, wherein Ui,j is a fraction denoting a highest percentage of total network traffic that logical path LPi,j can manage;
said first provider edge receiving most recent data; and
transmitting said received most recent data from the first provider edge to the second provider edge via a selected logical path of the K logical path such that the selected logical path comprises a highest path usage for which said transmitting said received most recent data does not result in the selected logical path managing a higher percentage of network traffic than is dictated by said highest usage value comprised by said selected logical path.
2. The method of claim 1, wherein said calculating the path usage Ui,j for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J) comprises:
calculating a path rate Ri,j as a second function of said Ji,j and said Di,j and said Li,j;
calculating a weight per path (Wi,j) according to
W i , j = R i , j / i = 1 , j = 1 I , J R i , j ;
calculating a credit per path (Ci,j) according to Ci,j=1/Wi,j;
calculating Ci,j) according to
U i , j = C i , j / i = 1 , j = 1 I , J R i , j .
3. The method of claim 2, wherein Ri,j is calculated according to Ri,j=Di,j*DN+Ji,j*JN+Li,j*LN; and
wherein DN, JN, and JN are proportionality constants for calculating Ri,j.
4. The method of claim 3, wherein the method further comprises:
said first provider edge receiving DN, JN, and JN as user input for said calculating Ri,j.
5. The method of claim 1, wherein said received most recent data that is transmitted via the selected logical path comprises a plurality of packets, wherein each packet comprises a header that includes an EXP field consisting of N bits, and wherein the value of the N bits in the EXP field is the value of j pertaining to the selected logical path.
6. A computer program product, comprising a computer readable storage medium having a computer readable computer readable program code stored therein, said program code containing instructions that when executed by a processor of a computer system implement a method for managing traffic in a network, said method comprising:
identifying I label switch paths Pi (i=1, 2, . . . , I), each label switch path Pi beginning at a first provider edge and ending at a second provider edge, wherein the first provider edge and the second provider edge each reside in the network, and wherein I is a total number of paths in the network such that I is a positive integer of at least 2;
for each label switch path Pi (i=1, 2, . . . , I), identifying J logical paths LPi,j (j=1, 2, . . . , J), wherein J=2N such that N is a positive integer of at least 2, and wherein said J logical paths for the I label switch paths consist of K logical paths such that K=I*J;
for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J), identifying jitter Ji,j and packet delay Di,j and packet loss Li,j;
for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J), calculating a path usage Ui,j as a first function of said Ji,j and said Di,j and said Li,j, wherein Ui,j is a fraction denoting a highest percentage of total network traffic that logical path LPi,j can manage;
said first provider edge receiving most recent data; and
transmitting said received most recent data from the first provider edge to the second provider edge via a selected logical path of the K logical path such that the selected logical path comprises a highest path usage for which said transmitting said received most recent data does not result in the selected logical path managing a higher percentage of network traffic than is dictated by said highest usage value comprised by said selected logical path.
7. The computer program product of claim 1, wherein said calculating the path usage Ui,j for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J) comprises:
calculating a path rate Ri,j as a second function of said Ji,j and said Di,j and said Li,j;
calculating a weight per path (Wi,j) according to
W i , j = R i , j / i = 1 , j = 1 I , J R i , j ;
calculating a credit per path (Ci,j) according to Ci,j=1/Wi,j;
calculating) according to
U i , j = C i , j / i = 1 , j = 1 I , J R i , j .
8. The computer program product of claim 7,
wherein Ri,j is calculated according to Ri,j=Di,j*DN+Ji,j*JN+Li,j*LN; and
wherein DN, JN, and JN are proportionality constants for calculating Ri,j.
9. The computer program product of claim 8, wherein the method further comprises:
said first provider edge receiving DN, JN, and JN as user input for said calculating Ri,j.
10. The computer program product of claim 6, wherein said received most recent data that is transmitted via the selected logical path comprises a plurality of packets, wherein each packet comprises a header that includes an EXP field consisting of N bits, and wherein the value of the N bits in the EXP field is the value of j pertaining to the selected logical path.
11. A computer system comprising a processor coupled to a computer-readable memory unit, said memory unit comprising program code, said program code comprising instruction that when executed by said processor, implement a method for managing traffic in a network, said method comprising:
identifying I label switch paths Pi (i=1, 2, . . . , I), each label switch path Pi beginning at a first provider edge and ending at a second provider edge, wherein the first provider edge and the second provider edge each reside in the network, and wherein I is a total number of paths in the network such that I is a positive integer of at least 2;
for each label switch path Pi (i=1, 2, . . . , I), identifying J logical paths LPi,j (j=1, 2, . . . , J), wherein J=2N such that N is a positive integer of at least 2, and wherein said J logical paths for the I label switch paths consist of K logical paths such that K=I*J;
for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J), identifying jitter Ji,j and packet delay Di,j and packet loss Li,j;
for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J), calculating a path usage Ui,j as a first function of said Ji,j and said Di,j and said Li,j, wherein Ui,j is a fraction denoting a highest percentage of total network traffic that logical path LPi,j can manage;
said first provider edge receiving most recent data; and
transmitting said received most recent data from the first provider edge to the second provider edge via a selected logical path of the K logical path such that the selected logical path comprises a highest path usage for which said transmitting said received most recent data does not result in the selected logical path managing a higher percentage of network traffic than is dictated by said highest usage value comprised by said selected logical path.
12. The computer system of claim 11, wherein said calculating the path usage Ui,j for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J) comprises:
calculating a path rate Ri,j as a second function of said Ji,j and said Di,j and said Li,j;
calculating a weight per path (Wi,j) according to
W i , j = R i , j / i = 1 , j = 1 I , J R i , j ;
calculating a credit per path (Ci,j) according to Ci,j=1/Wi,j;
calculating Ci,j) according to
U i , j = C i , j / i = 1 , j = 1 I , J R i , j .
13. The computer system of claim 12,
wherein Ri,j is calculated according to Ri,j=Di,j*DN+Ji,j*JN+Li,j*LN; and
wherein DN, JN, and JN are proportionality constants for calculating Ri,j.
14. The computer system of claim 13, wherein the method further comprises:
said first provider edge receiving DN, JN, and JN as user input for said calculating Ri,j.
15. The computer system of claim 11, wherein said received most recent data that is transmitted via the selected logical path comprises a plurality of packets, wherein each packet comprises a header that includes an EXP field consisting of N bits, and wherein the value of the N bits in the EXP field is the value of j pertaining to the selected logical path.
16. A process for supporting computer infrastructure, said process comprising providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer readable program code in a computing system, wherein the code in combination with the computing system is configured to perform a method for managing traffic in a network, said method comprising:
identifying I label switch paths Pi (i=1, 2, . . . , I), each label switch path Pi beginning at a first provider edge and ending at a second provider edge, wherein the first provider edge and the second provider edge each reside in the network, and wherein I is a total number of paths in the network such that I is a positive integer of at least 2;
for each label switch path Pi (i=1, 2, . . . , I), identifying J logical paths LPi,j (j=1, 2, . . . , J), wherein J=2N such that N is a positive integer of at least 2, and wherein said J logical paths for the I label switch paths consist of K logical paths such that K=I*J;
for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J), identifying jitter Ji,j and packet delay Di,j and packet loss Li,j;
for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J), calculating a path usage Ui,j as a first function of said Ji,j and said Di,j and said Li,j, wherein Ui,j is a fraction denoting a highest percentage of total network traffic that logical path LPi,j can manage;
said first provider edge receiving most recent data; and
transmitting said received most recent data from the first provider edge to the second provider edge via a selected logical path of the K logical path such that the selected logical path comprises a highest path usage for which said transmitting said received most recent data does not result in the selected logical path managing a higher percentage of network traffic than is dictated by said highest usage value comprised by said selected logical path.
17. The process of claim 16, wherein said calculating the path usage Ui,j for each logical path LPi,j (i=1, 2, . . . , I and j=1, 2, . . . , J) comprises:
calculating a path rate Ri,j as a second function of said Ji,j and said Di,j and said Li,j;
calculating a weight per path (Wi,j) according to
W i , j = R i , j / i = 1 , j = 1 I , J R i , j ;
calculating a credit per path (Ci,j) according to Ci,j=1/Wi,j;
calculating Ci,j) according to
U i , j = C i , j / i = 1 , j = 1 I , J R i , j .
18. The process of claim 17,
wherein Ri,j is calculated according to Ri,j=Di,j*DN+Ji,j*JN+Li,j*LN; and
wherein DN, JN, and JN are proportionality constants for calculating Ri,j.
19. The process of claim 18, wherein the method further comprises:
said first provider edge receiving DN, JN, and JN as user input for said calculating Ri,j.
20. The process of claim 19, wherein said received most recent data that is transmitted via the selected logical path comprises a plurality of packets, wherein each packet comprises a header that includes an EXP field consisting of N bits, and wherein the value of the N bits in the EXP field is the value of j pertaining to the selected logical path.
US12/872,021 2009-09-14 2010-08-31 System and method for load balancing traffic in a mpls network Abandoned US20110063986A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP09305835 2009-09-14
EP09305835.2 2009-09-14

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/089,983 US9185041B2 (en) 2009-09-14 2013-11-26 Load balancing traffic in a MPLS network
US14/838,411 US9374312B2 (en) 2009-09-14 2015-08-28 Load balancing traffic in a MPLS network
US15/141,977 US9749896B2 (en) 2009-09-14 2016-04-29 Load balancing traffic in a MPLS network
US15/616,239 US10045247B2 (en) 2009-09-14 2017-06-07 Load balancing traffic in a MPLS network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/089,983 Continuation US9185041B2 (en) 2009-09-14 2013-11-26 Load balancing traffic in a MPLS network

Publications (1)

Publication Number Publication Date
US20110063986A1 true US20110063986A1 (en) 2011-03-17

Family

ID=43730465

Family Applications (5)

Application Number Title Priority Date Filing Date
US12/872,021 Abandoned US20110063986A1 (en) 2009-09-14 2010-08-31 System and method for load balancing traffic in a mpls network
US14/089,983 Active US9185041B2 (en) 2009-09-14 2013-11-26 Load balancing traffic in a MPLS network
US14/838,411 Active US9374312B2 (en) 2009-09-14 2015-08-28 Load balancing traffic in a MPLS network
US15/141,977 Active US9749896B2 (en) 2009-09-14 2016-04-29 Load balancing traffic in a MPLS network
US15/616,239 Active US10045247B2 (en) 2009-09-14 2017-06-07 Load balancing traffic in a MPLS network

Family Applications After (4)

Application Number Title Priority Date Filing Date
US14/089,983 Active US9185041B2 (en) 2009-09-14 2013-11-26 Load balancing traffic in a MPLS network
US14/838,411 Active US9374312B2 (en) 2009-09-14 2015-08-28 Load balancing traffic in a MPLS network
US15/141,977 Active US9749896B2 (en) 2009-09-14 2016-04-29 Load balancing traffic in a MPLS network
US15/616,239 Active US10045247B2 (en) 2009-09-14 2017-06-07 Load balancing traffic in a MPLS network

Country Status (1)

Country Link
US (5) US20110063986A1 (en)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050199292A1 (en) * 2004-03-10 2005-09-15 Stedman David W. Fluid device actuator with manual override
US20140169370A1 (en) * 2012-10-05 2014-06-19 Cisco Technology, Inc. Segment Routing Techniques
US8812742B2 (en) 2012-06-15 2014-08-19 International Business Machines Corporation Communication path selection
US8937870B1 (en) 2012-09-11 2015-01-20 Amazon Technologies, Inc. Network link monitoring and testing
US9001667B1 (en) 2011-03-31 2015-04-07 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US9104543B1 (en) 2012-04-06 2015-08-11 Amazon Technologies, Inc. Determining locations of network failures
US9197495B1 (en) 2013-02-11 2015-11-24 Amazon Technologies, Inc. Determining locations of network failures
US9210038B1 (en) 2013-02-11 2015-12-08 Amazon Technologies, Inc. Determining locations of network failures
CN105162719A (en) * 2015-09-24 2015-12-16 烽火通信科技股份有限公司 Packet loss detection system and method for packet transport network
US9264320B1 (en) 2014-06-17 2016-02-16 Ca, Inc. Efficient network monitoring
US9385917B1 (en) * 2011-03-31 2016-07-05 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US9742638B1 (en) 2013-08-05 2017-08-22 Amazon Technologies, Inc. Determining impact of network failures
US9749187B2 (en) 2013-03-15 2017-08-29 Cisco Technology, Inc. Segment routing into a label distribution protocol domain
US9762488B2 (en) 2014-03-06 2017-09-12 Cisco Technology, Inc. Segment routing extension headers
US9807001B2 (en) 2014-07-17 2017-10-31 Cisco Technology, Inc. Segment routing using a remote forwarding adjacency identifier
US10033657B2 (en) 2016-06-30 2018-07-24 Juniper Networks, Inc. Generating automatic bandwidth adjustment policies per label-switched path
US10122614B2 (en) 2015-02-26 2018-11-06 Cisco Technology, Inc. Failure protection for traffic-engineered bit indexed explicit replication
US10212076B1 (en) 2012-12-27 2019-02-19 Sitting Man, Llc Routing methods, systems, and computer program products for mapping a node-scope specific identifier
US10263881B2 (en) 2016-05-26 2019-04-16 Cisco Technology, Inc. Enforcing strict shortest path forwarding using strict segment identifiers
US10367737B1 (en) 2012-12-27 2019-07-30 Sitting Man, Llc Routing methods, systems, and computer program products
US10374938B1 (en) 2012-12-27 2019-08-06 Sitting Man, Llc Routing methods, systems, and computer program products
US10397101B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products for mapping identifiers
US10397100B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products using a region scoped outside-scope identifier
US10404582B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using an outside-scope indentifier
US10404583B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using multiple outside-scope identifiers
US10411997B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Routing methods, systems, and computer program products for using a region scoped node identifier
US10411998B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products
US10419334B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Internet protocol routing methods, systems, and computer program products
US10419335B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110063986A1 (en) 2009-09-14 2011-03-17 International Business Machines Corporation System and method for load balancing traffic in a mpls network
EP3219060B1 (en) 2014-11-14 2019-06-05 Bigleaf Networks, LLC Circuit-aware load balancing with dynamic quality of service

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030058797A1 (en) * 2000-10-30 2003-03-27 Nec Usa, Inc. Path provisioning for service level agreements in differentiated service networks
US6976087B1 (en) * 2000-11-24 2005-12-13 Redback Networks Inc. Service provisioning methods and apparatus
US7035938B2 (en) * 2000-12-07 2006-04-25 Telcordia Technologies, Inc. Determination of connection links to configure a virtual private network
US20060088063A1 (en) * 2004-10-27 2006-04-27 John Hartung Network architecture for real time delivery of video over lossy networks from remote locations
US20060133300A1 (en) * 2004-12-20 2006-06-22 Ki-Cheol Lee Centralized control of multi protocol label switching (MPLS) network
US7136357B2 (en) * 2000-03-01 2006-11-14 Fujitsu Limited Transmission path controlling apparatus and transmission path controlling method as well as medium having transmission path controlling program recorded thereon
US20070133433A1 (en) * 2005-12-07 2007-06-14 Electronics And Telecommunications Research Institute Apparatus and method of selecting label switched path in network management system
US20080008178A1 (en) * 2006-07-10 2008-01-10 Cisco Technology, Inc. Method and apparatus for actively discovering internet protocol equal cost multiple paths and associate metrics
US20080031146A1 (en) * 2006-08-03 2008-02-07 Kwak Dong Y Method and apparatus for measuring label switch path performance parameters using performance monitoring operation and management packet in multi-protocol label switching network
US7336613B2 (en) * 2000-10-17 2008-02-26 Avaya Technology Corp. Method and apparatus for the assessment and optimization of network traffic
US20080089347A1 (en) * 2003-08-29 2008-04-17 End Ii End Communications Inc. Systems and methods for broadband network optimization
US20080114892A1 (en) * 2006-11-09 2008-05-15 Aurelien Bruno Method and apparatus for providing flow based load balancing
US20090028141A1 (en) * 2004-10-08 2009-01-29 Thang Vu Duong Method and device for controlling admission to a guaranteed quality of service in a mpls network
US20090207731A1 (en) * 2000-05-19 2009-08-20 Cisco Technology, Inc. Apparatus and Methods for Incorporating Bandwidth Forecasting and Dynamic Bandwidth Allocation into a Broadband Communication System
US20100142366A1 (en) * 2008-12-04 2010-06-10 Embarq Holdings Company, Llc System and method for path state determinations
US20100149979A1 (en) * 2008-12-11 2010-06-17 International Business Machines Corporation System and method for implementing adaptive load sharing to balance network traffic
US20100177634A1 (en) * 2007-06-01 2010-07-15 Norbert Kiss Session Admission Control in a Communications Network

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058868A2 (en) 2002-01-04 2003-07-17 Einfinitus Technologies, Inc. Dynamic route selection for label switched paths in communication networks
US7477657B1 (en) * 2002-05-08 2009-01-13 Juniper Networks, Inc. Aggregating end-to-end QoS signaled packet flows through label switched paths
US7782864B2 (en) * 2005-12-06 2010-08-24 Electronics And Telecommunications Research Institute Apparatus and method for providing QoS for MPLS traffic
US7688725B2 (en) * 2007-02-07 2010-03-30 King Fahd University Of Petroleum & Minerals Content-aware congestion control system
US8218553B2 (en) * 2009-02-25 2012-07-10 Juniper Networks, Inc. Load balancing network traffic on a label switched path using resource reservation protocol with traffic engineering
US20110063986A1 (en) * 2009-09-14 2011-03-17 International Business Machines Corporation System and method for load balancing traffic in a mpls network

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136357B2 (en) * 2000-03-01 2006-11-14 Fujitsu Limited Transmission path controlling apparatus and transmission path controlling method as well as medium having transmission path controlling program recorded thereon
US20090207731A1 (en) * 2000-05-19 2009-08-20 Cisco Technology, Inc. Apparatus and Methods for Incorporating Bandwidth Forecasting and Dynamic Bandwidth Allocation into a Broadband Communication System
US7336613B2 (en) * 2000-10-17 2008-02-26 Avaya Technology Corp. Method and apparatus for the assessment and optimization of network traffic
US20030058797A1 (en) * 2000-10-30 2003-03-27 Nec Usa, Inc. Path provisioning for service level agreements in differentiated service networks
US6976087B1 (en) * 2000-11-24 2005-12-13 Redback Networks Inc. Service provisioning methods and apparatus
US7035938B2 (en) * 2000-12-07 2006-04-25 Telcordia Technologies, Inc. Determination of connection links to configure a virtual private network
US20080089347A1 (en) * 2003-08-29 2008-04-17 End Ii End Communications Inc. Systems and methods for broadband network optimization
US20090028141A1 (en) * 2004-10-08 2009-01-29 Thang Vu Duong Method and device for controlling admission to a guaranteed quality of service in a mpls network
US20060088063A1 (en) * 2004-10-27 2006-04-27 John Hartung Network architecture for real time delivery of video over lossy networks from remote locations
US20060133300A1 (en) * 2004-12-20 2006-06-22 Ki-Cheol Lee Centralized control of multi protocol label switching (MPLS) network
US20070133433A1 (en) * 2005-12-07 2007-06-14 Electronics And Telecommunications Research Institute Apparatus and method of selecting label switched path in network management system
US20080008178A1 (en) * 2006-07-10 2008-01-10 Cisco Technology, Inc. Method and apparatus for actively discovering internet protocol equal cost multiple paths and associate metrics
US20080031146A1 (en) * 2006-08-03 2008-02-07 Kwak Dong Y Method and apparatus for measuring label switch path performance parameters using performance monitoring operation and management packet in multi-protocol label switching network
US20080114892A1 (en) * 2006-11-09 2008-05-15 Aurelien Bruno Method and apparatus for providing flow based load balancing
US20100177634A1 (en) * 2007-06-01 2010-07-15 Norbert Kiss Session Admission Control in a Communications Network
US20100142366A1 (en) * 2008-12-04 2010-06-10 Embarq Holdings Company, Llc System and method for path state determinations
US20100149979A1 (en) * 2008-12-11 2010-06-17 International Business Machines Corporation System and method for implementing adaptive load sharing to balance network traffic
US7983163B2 (en) * 2008-12-11 2011-07-19 International Business Machines Corporation System and method for implementing adaptive load sharing to balance network traffic

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050199292A1 (en) * 2004-03-10 2005-09-15 Stedman David W. Fluid device actuator with manual override
US9385917B1 (en) * 2011-03-31 2016-07-05 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US9001667B1 (en) 2011-03-31 2015-04-07 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US9104543B1 (en) 2012-04-06 2015-08-11 Amazon Technologies, Inc. Determining locations of network failures
US8812742B2 (en) 2012-06-15 2014-08-19 International Business Machines Corporation Communication path selection
US10103851B2 (en) 2012-09-11 2018-10-16 Amazon Technologies, Inc. Network link monitoring and testing
US8937870B1 (en) 2012-09-11 2015-01-20 Amazon Technologies, Inc. Network link monitoring and testing
US9712290B2 (en) 2012-09-11 2017-07-18 Amazon Technologies, Inc. Network link monitoring and testing
US10218610B2 (en) 2012-10-05 2019-02-26 Cisco Technology, Inc. MPLS segment routing
US20140169370A1 (en) * 2012-10-05 2014-06-19 Cisco Technology, Inc. Segment Routing Techniques
US9929946B2 (en) * 2012-10-05 2018-03-27 Cisco Technology, Inc. Segment routing techniques
US9749227B2 (en) 2012-10-05 2017-08-29 Cisco Technology, Inc. MPLS segment-routing
US10404582B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using an outside-scope indentifier
US10404583B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using multiple outside-scope identifiers
US10397100B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products using a region scoped outside-scope identifier
US10397101B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products for mapping identifiers
US10389624B1 (en) 2012-12-27 2019-08-20 Sitting Man, Llc Scoped identifier space routing methods, systems, and computer program products
US10411997B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Routing methods, systems, and computer program products for using a region scoped node identifier
US10389625B1 (en) 2012-12-27 2019-08-20 Sitting Man, Llc Routing methods, systems, and computer program products for using specific identifiers to transmit data
US10382327B1 (en) 2012-12-27 2019-08-13 Sitting Man, Llc Methods, systems, and computer program products for routing using headers including a sequence of node scope-specific identifiers
US10374938B1 (en) 2012-12-27 2019-08-06 Sitting Man, Llc Routing methods, systems, and computer program products
US10411998B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products
US10419334B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Internet protocol routing methods, systems, and computer program products
US10367737B1 (en) 2012-12-27 2019-07-30 Sitting Man, Llc Routing methods, systems, and computer program products
US10212076B1 (en) 2012-12-27 2019-02-19 Sitting Man, Llc Routing methods, systems, and computer program products for mapping a node-scope specific identifier
US10419335B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products
US9197495B1 (en) 2013-02-11 2015-11-24 Amazon Technologies, Inc. Determining locations of network failures
US9210038B1 (en) 2013-02-11 2015-12-08 Amazon Technologies, Inc. Determining locations of network failures
US9749187B2 (en) 2013-03-15 2017-08-29 Cisco Technology, Inc. Segment routing into a label distribution protocol domain
US10270664B2 (en) 2013-03-15 2019-04-23 Cisco Technology, Inc. Segment routing over label distribution protocol
US10164838B2 (en) 2013-03-15 2018-12-25 Cisco Technology, Inc. Seamless segment routing
US9979601B2 (en) 2013-03-15 2018-05-22 Cisco Technology, Inc. Encoding explicit paths as segment routing segment lists
US9742638B1 (en) 2013-08-05 2017-08-22 Amazon Technologies, Inc. Determining impact of network failures
US10063475B2 (en) 2014-03-06 2018-08-28 Cisco Technology, Inc. Segment routing extension headers
US10382334B2 (en) 2014-03-06 2019-08-13 Cisco Technology, Inc. Segment routing extension headers
US9762488B2 (en) 2014-03-06 2017-09-12 Cisco Technology, Inc. Segment routing extension headers
US9264320B1 (en) 2014-06-17 2016-02-16 Ca, Inc. Efficient network monitoring
US9807001B2 (en) 2014-07-17 2017-10-31 Cisco Technology, Inc. Segment routing using a remote forwarding adjacency identifier
US10178022B2 (en) 2014-07-17 2019-01-08 Cisco Technology, Inc. Segment routing using a remote forwarding adjacency identifier
US10341222B2 (en) 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
US10341221B2 (en) 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
US10122614B2 (en) 2015-02-26 2018-11-06 Cisco Technology, Inc. Failure protection for traffic-engineered bit indexed explicit replication
CN105162719A (en) * 2015-09-24 2015-12-16 烽火通信科技股份有限公司 Packet loss detection system and method for packet transport network
US10263881B2 (en) 2016-05-26 2019-04-16 Cisco Technology, Inc. Enforcing strict shortest path forwarding using strict segment identifiers
US10033657B2 (en) 2016-06-30 2018-07-24 Juniper Networks, Inc. Generating automatic bandwidth adjustment policies per label-switched path

Also Published As

Publication number Publication date
US9374312B2 (en) 2016-06-21
US9749896B2 (en) 2017-08-29
US20160249246A1 (en) 2016-08-25
US9185041B2 (en) 2015-11-10
US20150381499A1 (en) 2015-12-31
US20170272973A1 (en) 2017-09-21
US10045247B2 (en) 2018-08-07
US20140086055A1 (en) 2014-03-27

Similar Documents

Publication Publication Date Title
Francois et al. Achieving sub-second IGP convergence in large IP networks
Shaikh et al. Load-sensitive routing of long-lived IP flows
Iyer et al. An approach to alleviate link overload as observed on an IP backbone
US8312145B2 (en) Traffic engineering and bandwidth management of bundled links
US7496661B1 (en) Adaptive, application-aware selection of differentiated network services
EP2658192B1 (en) Path weighted equal-cost multipath
US9100338B2 (en) Flow-based adaptive private network with multiple WAN-paths
Kandula et al. Dynamic load balancing without packet reordering
US7430169B2 (en) Retro flow control for arriving traffic in computer networks
US7406539B2 (en) Method and apparatus for performance and cost optimization in an internetwork
US8503307B2 (en) Distributing decision making in a centralized flow routing system
US6778531B1 (en) Multicast routing with service-level guarantees between ingress egress-points in a packet network
EP1246410A2 (en) Router
US8159963B2 (en) QoS routing method and QoS routing apparatus for determining measurement accuracy of communication quality
US8068411B2 (en) Method and apparatus to compute local repair paths taking into account link resources and attributes
US20080043716A1 (en) Telemetry stream performance analysis and optimization
US7336613B2 (en) Method and apparatus for the assessment and optimization of network traffic
CA2424680C (en) Method and apparatus for the assessment and optimization of network traffic
Sinha et al. Harnessing TCP’s burstiness with flowlet switching
JP3580281B2 (en) Method and a network for generating an optimal path
US10164886B2 (en) Route optimization using measured congestion
US7773536B2 (en) Method and apparatus for the assessment and optimization of network traffic
US7107344B2 (en) Connection allocation technology
Ott et al. Sred: stabilized red
US7324553B1 (en) Dynamic bandwidth management responsive to access link state in redundant network topologies

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DENECHEAU, LIONEL;HAZARD, LUDOVIC;SAUER, STEPHEN;SIGNING DATES FROM 20100830 TO 20100831;REEL/FRAME:024913/0764

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE