US20110041002A1 - System, method, computer program for multidirectional pathway selection - Google Patents

System, method, computer program for multidirectional pathway selection Download PDF

Info

Publication number
US20110041002A1
US20110041002A1 US12/539,956 US53995609A US2011041002A1 US 20110041002 A1 US20110041002 A1 US 20110041002A1 US 53995609 A US53995609 A US 53995609A US 2011041002 A1 US2011041002 A1 US 2011041002A1
Authority
US
United States
Prior art keywords
network
connection
bandwidth
threshold
primary connection
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/539,956
Inventor
Patricio Saavedra
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.)
Adaptive Networks Inc
Original Assignee
Patricio Saavedra
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
Application filed by Patricio Saavedra filed Critical Patricio Saavedra
Priority to US12/539,956 priority Critical patent/US20110041002A1/en
Priority to AU2010282174A priority patent/AU2010282174B2/en
Priority to CN201080042756.2A priority patent/CN102577332B/en
Priority to PCT/CA2010/001235 priority patent/WO2011017804A1/en
Priority to US13/389,965 priority patent/US8913486B2/en
Priority to CA2770791A priority patent/CA2770791C/en
Priority to EP10807834.6A priority patent/EP2465250A4/en
Publication of US20110041002A1 publication Critical patent/US20110041002A1/en
Assigned to TELOIP INC. reassignment TELOIP INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SAAVEDRA, PATRICIO HUMBERTO
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5077Network service management, e.g. ensuring proper service fulfilment according to agreements wherein the managed service relates to simple transport services, i.e. providing only network infrastructure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Definitions

  • the present invention relates generally to determining a network pathway based on parameters of the pathway measured in more than one direction.
  • the present invention relates more specifically to methods for transferring a communication signal between two end points from a first network pathway to a second network pathway when an upcoming or imminent failure is detected by either of the two end points on the first network pathway.
  • Failover is the capability to switch over automatically to a redundant or standby network upon the failure or abnormal termination of a previously active network.
  • convergence refers to the combining of real-time applications such as voice and video with data applications over a unified connection, or access method.
  • the uncertainty is the survivability of both the real-time and data applications during primary network failure conditions.
  • Some current failover technologies do support the survivability of data applications during network failover provided that the application's timeout value exceeds the failover time.
  • the survivability under failover conditions of real-time applications such as live VoIP calls is not presently supported due to lengthy timing issues and the nature of VoIP being comprised of UDP/connectionless traffic states.
  • the connectionless nature of the application does not provide any error checking or retransmission to maintain the application state during the lengthy failover condition.
  • unstable lower link connections may further impede network failover and compound the loss of data under failover conditions.
  • the prior art is mainly in the area of link failover especially in the TCP/IP area, e.g. Link2Web protocols etc., and does not provide any solution to separating false positive from true positive failure detections.
  • timers are typically used to define an interval for one peer signalling to another peer to verify that the communication session between them has not ceased.
  • the signal may be a ping message or other keepalive or heartbeat message. If there is no response from the second peer to the first peer, then the first peer assumes that the communication session has ceased and therefore a new pathway is selected, i.e. the communication is sent to another network component.
  • this technique requires the primary pathway to have already failed before a switch to a secondary pathway can occur. Due to the restrictions defined by the timers, in certain circumstances the pathway sometimes cannot be changed quickly enough to avoid a connection loss noticeable by client devices at the network end points.
  • the prior art also appears to address the bi-directional nature of voice communication for example by synchronizing the timers, and then synchronizing transfer of the communication to another pathway. These techniques also require that the primary pathway fail before the secondary pathway is used.
  • Klinker is focused on connectivity verification and/or traffic analysis.
  • the prior art approaches have a number of disadvantages, including most significantly, (1) significant false positives (particularly if there is significant network congestion), and (2) a higher likelihood of dropped calls in the VoIP context because there is no solution for providing adequate control of the remote network component, such that the connection may terminate prior to deactivation of the remote network component.
  • Klinker is specific to Border Gateway Protocol (“BGP”), and in fact in many ways is an enhancement of certain aspects of BGP. If one removes BGP (being prior art) from Klinker, what is left is essentially a device that is operable to check if another end point is alive, which is essentially taught by U.S. Pat. No. 6,078,957 to Adelmann. Klinker observes packet flow based on type of traffic (i.e. HTTP, voice etc.) between two components in a network. Klinker lacks contemplation of (1) an overall architecture that enables control of transportation at all peers, and (2) collection of enough information to support selection of a new path in time before communication failure, which is essential to failover to support real-time applications. Klinker is clearly limited to analyzing traffic flow.
  • BGP Border Gateway Protocol
  • Prior art particularly prior art referring to ICMP, generally uses higher network layer mechanisms.
  • the higher network layer mechanisms are generally more dependent on traffic, and therefore in the presence of congestion false positives may result (i.e. identification of increased traffic as performance degradation), which accordingly results in reliance on erroneous information for failover purposes.
  • Load balancing is another field that provides a solution to some of these issues, i.e. determining pathways based on performance or cost, but load balancing is not bi-directional and therefore does not address the problems identified above.
  • a failover technology that distinguishes false from true positive detections and that can perform a failover in a short response time so as to support real-time applications. Furthermore, the technology should be able to ensure that all peers become aware of the failover within such time as to prevent a lost connection.
  • the present invention provides a computer-network-implementable method for failover of a failing network connection between at least two network points comprising: identifying and establishing, by a network control means at each network point, at least a primary connection between the at least two network points; gathering intelligence, by operation of a network information means at each network point, such intelligence relating to at least one performance parameter of each primary connection; establishing a threshold condition for the primary connection; and accessing a decision tree at one or more of the network points when the threshold condition is met for determining whether to avoid the primary connection, wherein if the decision tree determines to avoid the primary connection, the primary connection is pre-emptively avoided, a secondary connection is created between the at least two network points by the network control means, and data is communicated over the secondary connection between the at least two network points.
  • the present invention also provides a system for failover of a failing network connection between at least two network points comprising: a plurality of network control means, each network control means linked to one of the at least two network points, each network control means identifying and establishing at least a primary connection between the at least two network points; a plurality of network information means, each network information means linked to one of the at least two network points, the network information means gathering intelligence relating to at least one performance parameter of each primary connection; a decision tree at one or more of the network points, wherein the decision tree is accessed when a threshold condition for the primary connection is met, the decision tree determining whether to avoid the primary connection, wherein if the decision tree determines to avoid the primary connection, the primary connection is pre-emptively avoided, a secondary connection is created between the at least two network points by the network control means, and data is communicated over the secondary connection between the at least two network points.
  • FIG. 1 illustrates a system comprising two points in accordance with the present invention.
  • FIG. 2 illustrates a method for multidirectional pathway selection in accordance with the present invention.
  • the present invention provides a multidirectional pathway selection technique that overcomes the limitations of the prior art.
  • the present invention is directed to managing a network connection pathway for supporting communication between the two or more end points at any given time. These communications may occur in two directions, therefore the connection can be initialized and managed by network devices at either or both of the two end points, such that the invention enables bidirectional connection management.
  • One implementation of the invention is a multipath redundancy protocol.
  • the present invention is also directed to providing a solution for avoiding point to point or point to multipoint communication failures including but not limited to peer to peer, one to many or many to one communication failures.
  • One specific embodiment of the invention is a point to point or point to multipoint network communication fast failover utility that enables definition of secondary communication connections before communication failure occurs, wherein the utility gathers intelligence by monitoring one or more communication parameters and a secondary connection is initialized and utilized when one or more of the parameters corresponding to a primary connection fall below a predetermined threshold.
  • the present invention provides for the management of the connection on a multidirectional basis to enable fast failover. This enables the selection of a secondary connection and the transfer of resources and communication to the secondary connection, prior to the primary connection fully failing.
  • This technique provides a solution that is operable where particular client devices at the end points defining the connection are not aware that the primary pathway has failed or been lost.
  • the client devices are IP telephony devices, this can prevent experiencing what is known as a “dropped call” due to loss of a network connection.
  • the present invention may be implemented into a network or network component of logic that enables identification of a connection that is “starting to fail”, or is “degrading below a predetermined threshold”. When this happens, a change in the connection is initiated whereby the failing or degrading connection is avoided. In this case, there could be gaps in a communication session, but the communication session (e.g. a call) won't be dropped, and thus loss of data is minimized.
  • FIG. 1 illustrates a system comprising two points in accordance with the present invention.
  • the system of the present invention may be enabled by: (1) a network control means 7 , 9 connected to all points 3 , 5 , such that the system is operable to manage the various points 3 , 5 constituting a communication path 1 (whether through bonding, aggregation or otherwise) in accordance with a fast failover routine (defined below), and (2) a network information means 11 , 13 that is operable to collect or gather status, state, and communication path 1 information from all points 3 , 5 so as to identify failure of one more of the points or network components that are part 15 , 17 , 19 of the communication path 1 .
  • the network information means uses a technique best understood as “communication path propagation” that is operable to determine network conditions relevant to the communication path for example by delivering a series of pulses to the various points in the communication path for the purpose of identifying communication failure, but in a way that is operable to do so prior to complete communication failure.
  • the present invention is operable to measure response (or lack of response) to said pulses in order to identify communication failure of a primary connection or path pre-emptively, prior to complete communication failure, so as to gather intelligence for enabling the selection of a secondary connection or path to which the communication can be redirected without communication failure.
  • the network conditions measured by operation of this technique may relate to bandwidth, jitter, saturation, loss and/or latency, and other network conditions such as network costs.
  • the network information means may operate on a network layer such as network layer 4 or higher, corresponding to a layer important for real-time applications such as VoIP. However, it should be noted that the technology could work at lower layers.
  • the network information means described could be implemented to a communication network in a variety of ways.
  • the network information means can be implemented (1) as a client within a network node (e.g. a router, switch, computer, or server, etc.), (2) as a failover system (physical and/or logical, in hardware and/or software), (3) as part of a bonding utility, aggregating utility, or load balancing utility, (4) as part of a phone system, e.g. PBX, telephone, or IP phone, (5) as functionality implemented as part of a network manager, or (6) as part of a communication protocol.
  • a network node e.g. a router, switch, computer, or server, etc.
  • a failover system physical and/or logical, in hardware and/or software
  • (4) as
  • each “point” may be a network node, host, peer or application.
  • the present invention teaches a system that may be implemented at each point to enable the fast failover solution described, whereas the prior art may require different components in order to provide bidirectional fast failover.
  • a packet distribution technique may be used to establish the primary connection and secondary connection pathways.
  • the present invention may require establishing a subservient (master-slave) relationship between a primary and a secondary connection.
  • the present invention is directed to managing the network pathway for supporting communication between end points of a point to point or point to multipoint connection at any given time.
  • the present invention is also directed to providing a solution for avoiding point to point or point to multipoint network communication failures.
  • the present invention optimally avoids “false positive” failure detections that commonly occur in many existing techniques.
  • Existing failover techniques are not able to support real-time applications such as VoIP due in part to timing issues, including required timeout values, corresponding to these applications.
  • failover In order to support these applications, failover must be performed in near real-time. This necessitates responding to failed connections very quickly.
  • One way to achieve this speed is to query the connection state at very short intervals. However, such an algorithm will cause a significant overhead and may cause the connection to become unstable.
  • a link quality report (LQR) packet using the link control protocol (LCP) may be used to poll a point on the opposite side of a connection, but minimization of the LCP response time is likely to cause a connection, especially a lower connection, to become unstable. Thus LCP cannot be used to determine failure on lower connections in a timely fashion to support real-time applications. A similar result is likely to be obtained using compression control protocol (CCP).
  • CCP compression control protocol
  • the present invention provides a technique to determine lower connection failure that supports disparate connection bonding and therefore may have lower connections that vary in latency and bandwidth. Thus, this technique functions on a connection by connection basis and is adjustable.
  • a network information means may be provided for obtaining and gathering intelligence including, for example, status, state, and connection information in accordance with these requirements.
  • the network information means may monitor the frequency of verification messages (described below) and can be configured to adjust thresholds for receiving these messages based on connection characteristics.
  • the network information means may also monitor the number of unanswered verification messages and allow for the configuration of a threshold number of lost packets to trigger a failure mode.
  • the network information means may be adjustable to account for jitter over the connections.
  • the network information means may also enable the functions described below.
  • the decision tree is implemented in the layer that manages packet distribution, typically for example the top layer.
  • FIG. 2 illustrates a technique for rapidly and pre-emptively determining a lower connection failure which is not inhibited by any existing delays or other protocol related timing.
  • the present invention can be implemented as follows: (1) information or intelligence is gathered or collected or accessed by a network information means regarding each relevant connection; (2) a structure is provided for a “connection verification message” corresponding to the pulse referred to above, which each point in the network is operable to send to other points; (3) a configurable threshold is set for parameters 37 indicating connection performance degradation, for example loss, bandwidth, jitter, saturation, latency, or other parameters, per connection, based on the transfer 21 of “connection verification messages” by a network control means; (4) once the threshold is met 23 , a “decision tree” is initiated which is operable to analyze the parameters to determine 25 whether to trigger a change 27 in the connection pathway, for example (a) a further threshold based on parameters of the connection performance parameters given the configuration, and/or (b) interval or timing of the connection verification message, and/or (c) drop in bandwidth, etc., (d) jitter or latency, (e) costs, (f) application specific parameters, (g) traffic specific parameters, etc.;
  • the packet may be sent 29 over that connection. Otherwise, the packet may be sent 35 over the secondary connection.
  • Each point (usually a network component) includes functionality for sending a connection verification message (the packet referred to above) to a remote point using its network control means.
  • a connection verification message (the packet referred to above)
  • it is an intermediary that sends and received these messages, for example a router or relay that relays the messages to other points that are fast failover participants.
  • the connection verification message provides information to the network information means of each point regarding connection performance parameters, as mentioned above.
  • This technique combines two failure detection measures to ensure a maximal true positive detection rate and a minimal false positive detection rate.
  • the determination of whether a connection has failed may be made based upon the status of a lower connection.
  • an imminent failure of the connection can be detected within a response time supporting real-time application data.
  • these parameters may, for example, include loss, bandwidth, jitter, saturation, latency, other performance based parameters, or any combinations thereof.
  • the detected imminent failure can be handled by pre-emptively avoiding the connection.
  • the ability to transmit messages over a connection and the current bandwidth being transmitted over the connection may be determined.
  • the true positive detection may be made using the connection verification message.
  • the connection verification message may be considered to be a pulse as described above.
  • the message once received at the destination point, may be operable to require the destination point to send an acknowledgement signal (ACK) back to the source point.
  • ACK acknowledgement signal
  • the response time of the ACK signal can be used by the source point to identify a lower connection failure within milliseconds of a failed connection condition. Such a time frame typically enables control and manipulation of lower connections close enough to real-time so as to support real-time applications.
  • a particular threshold may be set such that by counting un-ACKed messages, a failure mode may be pre-emptively enabled once the threshold is exceeded.
  • connection verification messages are very small packets sent out of band of the actual application data. This enables the packets to be transmitted in a network layer rather than the data layers, and therefore transmission rates are likely to be better. Generally this allows the system of the present invention to require less time than in the prior art to discover that a problem may be about to occur. This implementation also enables the solution to be OSI layer independent.
  • connection verification message is thus operable to avoid false positive detection by defining rules including implementation of bandwidth thresholds to confirm whether a positive detection is true or false.
  • the thresholds may correspond to maximum bandwidth in and out on the primary connection. Where lower connection bandwidth exceeds the maximum bandwidth threshold for the outbound connection, the connection verification message results may not be engaged since heavy traffic is known to generate false positives. Instead, when the lower connection bandwidth of the outbound connection exceeds the maximum bandwidth threshold, then the lower connection bandwidth of the inbound connection can be analyzed. If the inbound bandwidth also exceeds the corresponding maximum, then a determination may be made that the connection verification message may not accurately reflect the connection status, and the failure mode enabled by the message may be disabled.
  • the outbound bandwidth may show a very low throughput. Therefore, by checking the inbound bandwidth and comparing it to a maximum bandwidth threshold, a failure mode can be engaged and the lower primary connection can be avoided in the connection. This provides significant improvement towards eliminating false positives. However, this measure alone also may result in some false positive detection in a particular scenario wherein heavy traffic is completing a transaction. In this scenario, the outbound bandwidth may exceed the threshold, resulting in a measurement of the incoming bandwidth. By this time, the data transaction may be completing, causing the bandwidth to gradually (or quickly) lower to less than the maximum incoming bandwidth value, which would cause a false positive failure mode. A minimum threshold can also be applied to the outbound connection.
  • a failover in accordance with the present invention can be triggered by any of three events: (1) where the number of connection verification messages not acknowledged exceeds a loss threshold and the outbound bandwidth is between the maximum and minimum thresholds; (2) where too many connection verification messages are not acknowledged, the outbound bandwidth exceeds the maximum threshold, and the inbound bandwidth is lower than the minimum threshold; or (3) where too many connection verification messages are not acknowledged and the outbound bandwidth is less than the minimum threshold.
  • the connection may be avoided within such a time as to support real time applications.
  • the occurrence of any of these three events is identified by operation of the network information means, and managed by operation of the network control means.
  • the network control means is best understood as a utility that implements the decision tree, in a pre-emptive and bi-directional manner.
  • the network control means described can be implemented to a communication network in a variety of ways. It can be implemented (1) as a client within a network node (e.g. a router, switch, computer, or server, etc.), (2) as a failover system (physical and/or logical, in hardware and/or software), (3) as part of a bonding utility, aggregating utility, or load balancing utility, (4) as part of a phone system, e.g. PBX, telephone, or IP phone, (5) as functionality implemented as part of a network manager, or (6) as part of a communication protocol.
  • the network information means and the network control means therefore can be implemented as complementary processes, features or utilities integrated within the communication network resources (1) to (6) described in the preceding sentence.
  • any other monitored parameter or combination thereof, as identified above may be used in the decision tree, depending on the particular network conditions expected to cause a failure mode.
  • the point detecting the failure may notify other points of the primary connection outage by sending a message to the points over all the remaining connections. This can be provided by techniques also used with load balancing, bonding or other network protocols. This notification may further enable the point to avoid the primary connection and to override its own pulses for the connection. This avoidance technique also helps speed up the failover process or pathway selection process. A logging utility may also be provided for recording the failure.
  • the aggregation technique also identifies when primary connections come back online. Primary and secondary connections that are avoided continue to receive pulses and can be reintegrated to the communication path through packet distribution.

Abstract

The present invention is directed at determining a network pathway between two end points within the network. The network pathway to be used can be determined based on parameters monitored or measured at either or both of the two end points. The present invention is also directed to managing the network pathway for supporting communication between the two end points at any given time. These communications may occur in two directions, therefore the pathway and management of this pathway can happen in two directions. In the present invention the pathway selection operates on a bi-directional basis (further explained below). The invention provides a solution for “bi-directional network pathway management”.

Description

    FIELD OF THE INVENTION
  • The present invention relates generally to determining a network pathway based on parameters of the pathway measured in more than one direction. The present invention relates more specifically to methods for transferring a communication signal between two end points from a first network pathway to a second network pathway when an upcoming or imminent failure is detected by either of the two end points on the first network pathway.
  • BACKGROUND OF THE INVENTION
  • Failover is the capability to switch over automatically to a redundant or standby network upon the failure or abnormal termination of a previously active network. There is a general uncertainty surrounding failover in a converged environment, where convergence refers to the combining of real-time applications such as voice and video with data applications over a unified connection, or access method. The uncertainty is the survivability of both the real-time and data applications during primary network failure conditions.
  • As real-time voice, video and data services are converged, businesses need continuity to support their networking needs. Networks must failover to backup connections without loss to any data or live VoIP calls, for example.
  • Some current failover technologies do support the survivability of data applications during network failover provided that the application's timeout value exceeds the failover time. However, the survivability under failover conditions of real-time applications such as live VoIP calls is not presently supported due to lengthy timing issues and the nature of VoIP being comprised of UDP/connectionless traffic states. The connectionless nature of the application does not provide any error checking or retransmission to maintain the application state during the lengthy failover condition. Furthermore, unstable lower link connections may further impede network failover and compound the loss of data under failover conditions.
  • Existing Internet access methods combine the use of multiple access methods to deliver a unified network connection for the transport of VoIP calls, video over IP, and burst type data applications. However, in the event of a lower link network failure, they currently cannot support the survivability of real-time applications such as live VoIP calls during a failover condition.
  • The prior art is mainly in the area of link failover especially in the TCP/IP area, e.g. Link2Web protocols etc., and does not provide any solution to separating false positive from true positive failure detections.
  • Some prior art is directed to network failover solutions for TCP/IP (referred to above), which is essentially based on timers. For example, timers are typically used to define an interval for one peer signalling to another peer to verify that the communication session between them has not ceased. The signal may be a ping message or other keepalive or heartbeat message. If there is no response from the second peer to the first peer, then the first peer assumes that the communication session has ceased and therefore a new pathway is selected, i.e. the communication is sent to another network component. Clearly, this technique requires the primary pathway to have already failed before a switch to a secondary pathway can occur. Due to the restrictions defined by the timers, in certain circumstances the pathway sometimes cannot be changed quickly enough to avoid a connection loss noticeable by client devices at the network end points.
  • The prior art also appears to address the bi-directional nature of voice communication for example by synchronizing the timers, and then synchronizing transfer of the communication to another pathway. These techniques also require that the primary pathway fail before the secondary pathway is used.
  • There are numerous further disadvantages to the prior art solutions described. These include: dependence on the distance between two peers wherein the intervals and related timer based parameters may need to be adjusted for an optimal solution; often depending on the various parameters in some cases the determination of the fact that there has been a failure along the pathway does not happen quickly enough, and therefore movement to a new pathway does not occur quickly enough, which results for example in the voice area in a “dropped call”, which could be counteracted by increasing the frequency of sending the signalling message, but this in turn increases the resource requirements of the network pathway. False positive error detection is also a problem with this technology.
  • One such technology is disclosed in U.S. Pat. No. 7,269,157 to Klinker (“Klinker”). Klinker, for example, is focused on connectivity verification and/or traffic analysis. The prior art approaches have a number of disadvantages, including most significantly, (1) significant false positives (particularly if there is significant network congestion), and (2) a higher likelihood of dropped calls in the VoIP context because there is no solution for providing adequate control of the remote network component, such that the connection may terminate prior to deactivation of the remote network component.
  • Furthermore, Klinker is specific to Border Gateway Protocol (“BGP”), and in fact in many ways is an enhancement of certain aspects of BGP. If one removes BGP (being prior art) from Klinker, what is left is essentially a device that is operable to check if another end point is alive, which is essentially taught by U.S. Pat. No. 6,078,957 to Adelmann. Klinker observes packet flow based on type of traffic (i.e. HTTP, voice etc.) between two components in a network. Klinker lacks contemplation of (1) an overall architecture that enables control of transportation at all peers, and (2) collection of enough information to support selection of a new path in time before communication failure, which is essential to failover to support real-time applications. Klinker is clearly limited to analyzing traffic flow.
  • There is also no suggestion in the prior art for a network layer implementation that provides advantageous failover capability. Prior art, particularly prior art referring to ICMP, generally uses higher network layer mechanisms. The higher network layer mechanisms are generally more dependent on traffic, and therefore in the presence of congestion false positives may result (i.e. identification of increased traffic as performance degradation), which accordingly results in reliance on erroneous information for failover purposes.
  • Load balancing is another field that provides a solution to some of these issues, i.e. determining pathways based on performance or cost, but load balancing is not bi-directional and therefore does not address the problems identified above.
  • In these applications, a drop in bandwidth, and not absolute failure, along the primary link should dictate a switch to the secondary link. The prior art solutions do not take bandwidth into consideration.
  • Therefore, what is required is a failover technology that distinguishes false from true positive detections and that can perform a failover in a short response time so as to support real-time applications. Furthermore, the technology should be able to ensure that all peers become aware of the failover within such time as to prevent a lost connection.
  • SUMMARY OF THE INVENTION
  • The present invention provides a computer-network-implementable method for failover of a failing network connection between at least two network points comprising: identifying and establishing, by a network control means at each network point, at least a primary connection between the at least two network points; gathering intelligence, by operation of a network information means at each network point, such intelligence relating to at least one performance parameter of each primary connection; establishing a threshold condition for the primary connection; and accessing a decision tree at one or more of the network points when the threshold condition is met for determining whether to avoid the primary connection, wherein if the decision tree determines to avoid the primary connection, the primary connection is pre-emptively avoided, a secondary connection is created between the at least two network points by the network control means, and data is communicated over the secondary connection between the at least two network points.
  • The present invention also provides a system for failover of a failing network connection between at least two network points comprising: a plurality of network control means, each network control means linked to one of the at least two network points, each network control means identifying and establishing at least a primary connection between the at least two network points; a plurality of network information means, each network information means linked to one of the at least two network points, the network information means gathering intelligence relating to at least one performance parameter of each primary connection; a decision tree at one or more of the network points, wherein the decision tree is accessed when a threshold condition for the primary connection is met, the decision tree determining whether to avoid the primary connection, wherein if the decision tree determines to avoid the primary connection, the primary connection is pre-emptively avoided, a secondary connection is created between the at least two network points by the network control means, and data is communicated over the secondary connection between the at least two network points.
  • In this respect, before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates a system comprising two points in accordance with the present invention.
  • FIG. 2 illustrates a method for multidirectional pathway selection in accordance with the present invention.
  • DETAILED DESCRIPTION Overview
  • The present invention provides a multidirectional pathway selection technique that overcomes the limitations of the prior art.
  • The present invention is directed to managing a network connection pathway for supporting communication between the two or more end points at any given time. These communications may occur in two directions, therefore the connection can be initialized and managed by network devices at either or both of the two end points, such that the invention enables bidirectional connection management. One implementation of the invention is a multipath redundancy protocol.
  • The present invention is also directed to providing a solution for avoiding point to point or point to multipoint communication failures including but not limited to peer to peer, one to many or many to one communication failures. One specific embodiment of the invention is a point to point or point to multipoint network communication fast failover utility that enables definition of secondary communication connections before communication failure occurs, wherein the utility gathers intelligence by monitoring one or more communication parameters and a secondary connection is initialized and utilized when one or more of the parameters corresponding to a primary connection fall below a predetermined threshold. Correspondingly, the present invention provides for the management of the connection on a multidirectional basis to enable fast failover. This enables the selection of a secondary connection and the transfer of resources and communication to the secondary connection, prior to the primary connection fully failing. This technique provides a solution that is operable where particular client devices at the end points defining the connection are not aware that the primary pathway has failed or been lost. In an implementation of the present invention wherein the client devices are IP telephony devices, this can prevent experiencing what is known as a “dropped call” due to loss of a network connection.
  • The present invention may be implemented into a network or network component of logic that enables identification of a connection that is “starting to fail”, or is “degrading below a predetermined threshold”. When this happens, a change in the connection is initiated whereby the failing or degrading connection is avoided. In this case, there could be gaps in a communication session, but the communication session (e.g. a call) won't be dropped, and thus loss of data is minimized.
  • The present invention is based on a point to point or point to multipoint architecture. FIG. 1 illustrates a system comprising two points in accordance with the present invention. The system of the present invention may be enabled by: (1) a network control means 7, 9 connected to all points 3, 5, such that the system is operable to manage the various points 3, 5 constituting a communication path 1 (whether through bonding, aggregation or otherwise) in accordance with a fast failover routine (defined below), and (2) a network information means 11, 13 that is operable to collect or gather status, state, and communication path 1 information from all points 3, 5 so as to identify failure of one more of the points or network components that are part 15, 17, 19 of the communication path 1.
  • The network information means uses a technique best understood as “communication path propagation” that is operable to determine network conditions relevant to the communication path for example by delivering a series of pulses to the various points in the communication path for the purpose of identifying communication failure, but in a way that is operable to do so prior to complete communication failure. The present invention is operable to measure response (or lack of response) to said pulses in order to identify communication failure of a primary connection or path pre-emptively, prior to complete communication failure, so as to gather intelligence for enabling the selection of a secondary connection or path to which the communication can be redirected without communication failure. The network conditions measured by operation of this technique may relate to bandwidth, jitter, saturation, loss and/or latency, and other network conditions such as network costs. The network information means may operate on a network layer such as network layer 4 or higher, corresponding to a layer important for real-time applications such as VoIP. However, it should be noted that the technology could work at lower layers. The network information means described could be implemented to a communication network in a variety of ways. The network information means can be implemented (1) as a client within a network node (e.g. a router, switch, computer, or server, etc.), (2) as a failover system (physical and/or logical, in hardware and/or software), (3) as part of a bonding utility, aggregating utility, or load balancing utility, (4) as part of a phone system, e.g. PBX, telephone, or IP phone, (5) as functionality implemented as part of a network manager, or (6) as part of a communication protocol.
  • It should be understood that each “point” may be a network node, host, peer or application.
  • It should further be noted that the present invention teaches a system that may be implemented at each point to enable the fast failover solution described, whereas the prior art may require different components in order to provide bidirectional fast failover.
  • Network Pathway Selection/Determination
  • Initially, a packet distribution technique may be used to establish the primary connection and secondary connection pathways. The present invention may require establishing a subservient (master-slave) relationship between a primary and a secondary connection.
  • Communication Path Failure Detection
  • The present invention is directed to managing the network pathway for supporting communication between end points of a point to point or point to multipoint connection at any given time. The present invention is also directed to providing a solution for avoiding point to point or point to multipoint network communication failures. The present invention optimally avoids “false positive” failure detections that commonly occur in many existing techniques. Existing failover techniques are not able to support real-time applications such as VoIP due in part to timing issues, including required timeout values, corresponding to these applications. In order to support these applications, failover must be performed in near real-time. This necessitates responding to failed connections very quickly. One way to achieve this speed is to query the connection state at very short intervals. However, such an algorithm will cause a significant overhead and may cause the connection to become unstable. For example, a link quality report (LQR) packet using the link control protocol (LCP) may be used to poll a point on the opposite side of a connection, but minimization of the LCP response time is likely to cause a connection, especially a lower connection, to become unstable. Thus LCP cannot be used to determine failure on lower connections in a timely fashion to support real-time applications. A similar result is likely to be obtained using compression control protocol (CCP).
  • This is achieved by implementing an out of band packet relative to all other failover control protocols. The present invention provides a technique to determine lower connection failure that supports disparate connection bonding and therefore may have lower connections that vary in latency and bandwidth. Thus, this technique functions on a connection by connection basis and is adjustable.
  • A network information means may be provided for obtaining and gathering intelligence including, for example, status, state, and connection information in accordance with these requirements. For example, the network information means may monitor the frequency of verification messages (described below) and can be configured to adjust thresholds for receiving these messages based on connection characteristics. The network information means may also monitor the number of unanswered verification messages and allow for the configuration of a threshold number of lost packets to trigger a failure mode. Additionally, the network information means may be adjustable to account for jitter over the connections. The network information means may also enable the functions described below.
  • In one implementation of the invention, the decision tree is implemented in the layer that manages packet distribution, typically for example the top layer. FIG. 2 illustrates a technique for rapidly and pre-emptively determining a lower connection failure which is not inhibited by any existing delays or other protocol related timing.
  • The present invention can be implemented as follows: (1) information or intelligence is gathered or collected or accessed by a network information means regarding each relevant connection; (2) a structure is provided for a “connection verification message” corresponding to the pulse referred to above, which each point in the network is operable to send to other points; (3) a configurable threshold is set for parameters 37 indicating connection performance degradation, for example loss, bandwidth, jitter, saturation, latency, or other parameters, per connection, based on the transfer 21 of “connection verification messages” by a network control means; (4) once the threshold is met 23, a “decision tree” is initiated which is operable to analyze the parameters to determine 25 whether to trigger a change 27 in the connection pathway, for example (a) a further threshold based on parameters of the connection performance parameters given the configuration, and/or (b) interval or timing of the connection verification message, and/or (c) drop in bandwidth, etc., (d) jitter or latency, (e) costs, (f) application specific parameters, (g) traffic specific parameters, etc.; (5) the results of the decision tree are applied by the network control means, for example if the parameters are present for creating a secondary connection, then a secondary connection is created by the network control means which may involve proving the secondary connection to the other network points. It may also involve closing 31 the primary connection and initiating a process for the other point closing 33 the primary connection. It should be understood that cost may be taken into consideration in defining the secondary pathway, for example based on time of day. Furthermore, other performance parameters may be used including congestion protocols or applications. If the existing connection pathway has not failed, the packet may be sent 29 over that connection. Otherwise, the packet may be sent 35 over the secondary connection.
  • Each point (usually a network component) includes functionality for sending a connection verification message (the packet referred to above) to a remote point using its network control means. In another implementation, it is an intermediary that sends and received these messages, for example a router or relay that relays the messages to other points that are fast failover participants. The connection verification message provides information to the network information means of each point regarding connection performance parameters, as mentioned above.
  • This technique combines two failure detection measures to ensure a maximal true positive detection rate and a minimal false positive detection rate. The determination of whether a connection has failed may be made based upon the status of a lower connection. By gathering intelligence regarding the parameters of the connection, an imminent failure of the connection can be detected within a response time supporting real-time application data. As previously mentioned, these parameters may, for example, include loss, bandwidth, jitter, saturation, latency, other performance based parameters, or any combinations thereof. The detected imminent failure can be handled by pre-emptively avoiding the connection.
  • For example, where performance of the connection is monitored by loss, the ability to transmit messages over a connection and the current bandwidth being transmitted over the connection may be determined.
  • The true positive detection may be made using the connection verification message. The connection verification message may be considered to be a pulse as described above. The message, once received at the destination point, may be operable to require the destination point to send an acknowledgement signal (ACK) back to the source point. It should be understood that the pulse described above, as implemented in IP, provides this acknowledgment as a matter of course. The response time of the ACK signal can be used by the source point to identify a lower connection failure within milliseconds of a failed connection condition. Such a time frame typically enables control and manipulation of lower connections close enough to real-time so as to support real-time applications. A particular threshold may be set such that by counting un-ACKed messages, a failure mode may be pre-emptively enabled once the threshold is exceeded.
  • In one implementation, the connection verification messages are very small packets sent out of band of the actual application data. This enables the packets to be transmitted in a network layer rather than the data layers, and therefore transmission rates are likely to be better. Generally this allows the system of the present invention to require less time than in the prior art to discover that a problem may be about to occur. This implementation also enables the solution to be OSI layer independent.
  • At times of heavy traffic, however, the use of the ACK alone may result in false positive readings. These periods of heavy traffic often occur due to burst data traffic and the asymmetrical nature of broadband connections. Heavy traffic loads over a primary connection generate increased latency and in some cases very high latency on lower connections. One result is that the ACK for the connection verification message may not be received within the threshold time. A trivial solution of desensitizing the detection strength of the present invention would provide a counterproductive result of reducing true positive detections.
  • Thus an optimal solution is to only utilize the connection verification message at times of relatively normal traffic loads over the primary connection. The decision tree is thus operable to avoid false positive detection by defining rules including implementation of bandwidth thresholds to confirm whether a positive detection is true or false. The thresholds may correspond to maximum bandwidth in and out on the primary connection. Where lower connection bandwidth exceeds the maximum bandwidth threshold for the outbound connection, the connection verification message results may not be engaged since heavy traffic is known to generate false positives. Instead, when the lower connection bandwidth of the outbound connection exceeds the maximum bandwidth threshold, then the lower connection bandwidth of the inbound connection can be analyzed. If the inbound bandwidth also exceeds the corresponding maximum, then a determination may be made that the connection verification message may not accurately reflect the connection status, and the failure mode enabled by the message may be disabled.
  • However, if the outbound bandwidth exceeds the traffic and is actually causing a failure, the inbound bandwidth may show a very low throughput. Therefore, by checking the inbound bandwidth and comparing it to a maximum bandwidth threshold, a failure mode can be engaged and the lower primary connection can be avoided in the connection. This provides significant improvement towards eliminating false positives. However, this measure alone also may result in some false positive detection in a particular scenario wherein heavy traffic is completing a transaction. In this scenario, the outbound bandwidth may exceed the threshold, resulting in a measurement of the incoming bandwidth. By this time, the data transaction may be completing, causing the bandwidth to gradually (or quickly) lower to less than the maximum incoming bandwidth value, which would cause a false positive failure mode. A minimum threshold can also be applied to the outbound connection.
  • Thus a failover in accordance with the present invention can be triggered by any of three events: (1) where the number of connection verification messages not acknowledged exceeds a loss threshold and the outbound bandwidth is between the maximum and minimum thresholds; (2) where too many connection verification messages are not acknowledged, the outbound bandwidth exceeds the maximum threshold, and the inbound bandwidth is lower than the minimum threshold; or (3) where too many connection verification messages are not acknowledged and the outbound bandwidth is less than the minimum threshold. Upon any of these failover modes, the connection may be avoided within such a time as to support real time applications.
  • The occurrence of any of these three events is identified by operation of the network information means, and managed by operation of the network control means. The network control means is best understood as a utility that implements the decision tree, in a pre-emptive and bi-directional manner.
  • The network control means described can be implemented to a communication network in a variety of ways. It can be implemented (1) as a client within a network node (e.g. a router, switch, computer, or server, etc.), (2) as a failover system (physical and/or logical, in hardware and/or software), (3) as part of a bonding utility, aggregating utility, or load balancing utility, (4) as part of a phone system, e.g. PBX, telephone, or IP phone, (5) as functionality implemented as part of a network manager, or (6) as part of a communication protocol. The network information means and the network control means therefore can be implemented as complementary processes, features or utilities integrated within the communication network resources (1) to (6) described in the preceding sentence.
  • It should be understood that any other monitored parameter or combination thereof, as identified above may be used in the decision tree, depending on the particular network conditions expected to cause a failure mode.
  • Once a failure has been detected, the point detecting the failure may notify other points of the primary connection outage by sending a message to the points over all the remaining connections. This can be provided by techniques also used with load balancing, bonding or other network protocols. This notification may further enable the point to avoid the primary connection and to override its own pulses for the connection. This avoidance technique also helps speed up the failover process or pathway selection process. A logging utility may also be provided for recording the failure.
  • The aggregation technique also identifies when primary connections come back online. Primary and secondary connections that are avoided continue to receive pulses and can be reintegrated to the communication path through packet distribution.

Claims (18)

1. A computer-network-implementable method for failover of a failing network connection between at least two network points comprising:
identifying and establishing, by a network control means at each network point, at least a primary connection between the at least two network points;
gathering intelligence, by operation of a network information means at each network point, such intelligence relating to at least one performance parameter of each primary connection;
establishing a threshold condition for the primary connection; and
accessing a decision tree at one or more of the network points when the threshold condition is met for determining whether to avoid the primary connection, wherein if the decision tree determines to avoid the primary connection, the primary connection is pre-emptively avoided, a secondary connection is created between the at least two network points by the network control means, and data is communicated over the secondary connection between the at least two network points.
2. The method of claim 1, wherein the network information means communicates a connection verification message between the at least two network points to gather the intelligence.
3. The method of claim 2, wherein the connection verification message is pulsed between the network information means of each of the at least two network points.
4. The method of claim 3, wherein the network information means receiving a connection verification message transmits an acknowledgement message to the network information means transmitting the connection verification message.
5. The method of claim 1, wherein the performance parameters are selected from a group consisting of: loss, bandwidth, jitter, saturation, latency, cost, or any combination thereof.
6. The method of claim 1, further comprising the network control means reintegrating the primary connection when the threshold condition is no longer exceeded.
7. The method of claim 6, wherein the decision tree determines to avoid the primary connection if the number of acknowledgement messages exceeds a loss threshold and the bandwidth for transmission from the network point is between a maximum and minimum bandwidth threshold.
8. The method of claim 6, wherein the decision tree determines to avoid the primary connection if the number of acknowledgement messages exceeds a loss threshold, the bandwidth for transmission from the network point exceeds a maximum bandwidth threshold, and the bandwidth for reception to the network point is lower than a minimum bandwidth threshold
9. The method of claim 6, wherein the decision tree determines to avoid the primary connection if the number of acknowledgement messages exceeds a loss threshold and the bandwidth for transmission is less than a minimum bandwidth threshold.
10. A system for failover of a failing network connection between at least two network points comprising:
a plurality of network control means, each network control means linked to one of the at least two network points, each network control means identifying and establishing at least a primary connection between the at least two network points;
a plurality of network information means, each network information means linked to one of the at least two network points, the network information means gathering intelligence relating to at least one performance parameter of each primary connection;
a decision tree at one or more of the network points, wherein the decision tree is accessed when a threshold condition for the primary connection is met, the decision tree determining whether to avoid the primary connection, wherein if the decision tree determines to avoid the primary connection, the primary connection is pre-emptively avoided, a secondary connection is created between the at least two network points by the network control means, and data is communicated over the secondary connection between the at least two network points.
11. The system of claim 10, wherein the network information means communicates a connection verification message between the at least two network points to gather the intelligence.
12. The system of claim 11, wherein the connection verification message is pulsed between the network information means of each of the at least two network points.
13. The system of claim 12, wherein the network information means receiving a connection verification message transmits an acknowledgement message to the network information means transmitting the connection verification message.
14. The system of claim 10, wherein the performance parameters are selected from a group consisting of: loss, bandwidth, jitter, saturation, latency, cost, or any combination thereof.
15. The system of claim 10, wherein the network control means reintegrates the primary connection when the threshold condition is no longer exceeded.
16. The system of claim 15, wherein the decision tree determines to avoid the primary connection if the number of acknowledgement messages exceeds a loss threshold and the bandwidth for transmission from the network point is between a maximum and minimum bandwidth threshold.
17. The system of claim 15, wherein the decision tree determines to avoid the primary connection if the number of acknowledgement messages exceeds a loss threshold, the bandwidth for transmission from the network point exceeds a maximum bandwidth threshold, and the bandwidth for reception to the network point is lower than a minimum bandwidth threshold
18. The system of claim 15, wherein the decision tree determines to avoid the primary connection if the number of acknowledgement messages exceeds a loss threshold and the bandwidth for transmission is less than a minimum bandwidth threshold.
US12/539,956 2009-08-12 2009-08-12 System, method, computer program for multidirectional pathway selection Abandoned US20110041002A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US12/539,956 US20110041002A1 (en) 2009-08-12 2009-08-12 System, method, computer program for multidirectional pathway selection
AU2010282174A AU2010282174B2 (en) 2009-08-12 2010-08-12 System, method, computer program for multidirectional pathway selection
CN201080042756.2A CN102577332B (en) 2009-08-12 2010-08-12 For system, the method and computer program of multidirectional Path selection
PCT/CA2010/001235 WO2011017804A1 (en) 2009-08-12 2010-08-12 System, method, computer program for multidirectional pathway selection
US13/389,965 US8913486B2 (en) 2009-08-12 2010-08-12 System, method, computer program for multidirectional pathway selection
CA2770791A CA2770791C (en) 2009-08-12 2010-08-12 System, method, computer program for multidirectional pathway selection
EP10807834.6A EP2465250A4 (en) 2009-08-12 2010-08-12 System, method, computer program for multidirectional pathway selection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/539,956 US20110041002A1 (en) 2009-08-12 2009-08-12 System, method, computer program for multidirectional pathway selection

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/389,965 Continuation US8913486B2 (en) 2009-08-12 2010-08-12 System, method, computer program for multidirectional pathway selection

Publications (1)

Publication Number Publication Date
US20110041002A1 true US20110041002A1 (en) 2011-02-17

Family

ID=43585816

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/539,956 Abandoned US20110041002A1 (en) 2009-08-12 2009-08-12 System, method, computer program for multidirectional pathway selection
US13/389,965 Active 2029-09-11 US8913486B2 (en) 2009-08-12 2010-08-12 System, method, computer program for multidirectional pathway selection

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/389,965 Active 2029-09-11 US8913486B2 (en) 2009-08-12 2010-08-12 System, method, computer program for multidirectional pathway selection

Country Status (6)

Country Link
US (2) US20110041002A1 (en)
EP (1) EP2465250A4 (en)
CN (1) CN102577332B (en)
AU (1) AU2010282174B2 (en)
CA (1) CA2770791C (en)
WO (1) WO2011017804A1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120008496A1 (en) * 2010-07-12 2012-01-12 Patricio Humberto Saavedra System, method and computer program for intelligent packet distribution
US20120127856A1 (en) * 2009-08-13 2012-05-24 Samsung Sds Co., Ltd. Electronic patch device, network system, and operation method in network system
US20120159595A1 (en) * 2010-12-20 2012-06-21 Microsoft Corporation Third party initiation of communications between remote parties
US20140140202A1 (en) * 2012-11-18 2014-05-22 Vocalocity, Inc. Method and systems for an incoming unidirectional outage bypass for a voice over internet protocol private branch exchange system
US20140211613A1 (en) * 2013-01-28 2014-07-31 Institute For Information Industry Transmitting direct mode communication apparatus, receiving direct mode communication apparatus and communication path switching method thereof
US20160352564A1 (en) * 2014-02-10 2016-12-01 Japan Communications, Inc. Methods and systems for providing failover and failback in a multi-network router
WO2017083975A1 (en) * 2015-11-19 2017-05-26 Teloip Inc. System, apparatus and method for providing a virtual network edge and overlay with virtual control plane
US9692713B2 (en) 2008-11-12 2017-06-27 Teloip Inc. System, apparatus and method for providing a virtual network edge and overlay
WO2018006163A1 (en) * 2016-07-06 2018-01-11 Teloip Inc. System and method for providing a control plane for quality of service
US9929964B2 (en) 2008-11-12 2018-03-27 Teloip Inc. System, apparatus and method for providing aggregation of connections with a secure and trusted virtual network overlay
US10122829B2 (en) 2008-11-12 2018-11-06 Teloip Inc. System and method for providing a control plane for quality of service
US10205632B2 (en) 2008-11-12 2019-02-12 Teloip Inc. System, apparatus and method for providing improved performance of aggregated/bonded network connections with cloud provisioning
US10333832B2 (en) 2014-09-17 2019-06-25 Adaptiv Networks Inc. System, apparatus and method for providing improved performance of aggregated/bonded network connections with multiprotocol label switching
US10904142B2 (en) 2015-11-19 2021-01-26 Adaptiv Networks Inc. System, apparatus and method for providing a virtual network edge and overlay with virtual control plane
US11159430B2 (en) * 2019-07-22 2021-10-26 Cisco Technology, Inc. Load balancing of throughput for multi-PHY networks using decision trees
US11418582B1 (en) * 2021-07-06 2022-08-16 Citrix Systems, Inc. Priority-based transport connection control

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9014028B2 (en) 2012-03-08 2015-04-21 International Business Machines Corporation Identifying and transitioning to an improved VOIP session
US8964698B2 (en) * 2012-04-09 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Link failure detection and interworking system relocation in circuit switched fallback
US10250655B2 (en) * 2012-12-31 2019-04-02 DISH Technologies L.L.C. Scheduling segment data delivery in an adaptive media stream to avoid stalling
US9646163B2 (en) * 2014-11-14 2017-05-09 Getgo, Inc. Communicating data between client devices using a hybrid connection having a regular communications pathway and a highly confidential communications pathway
US10122651B2 (en) 2016-08-31 2018-11-06 Inspeed Networks, Inc. Dynamic bandwidth control
CN110061875A (en) * 2019-04-19 2019-07-26 北京创新伙伴教育科技有限公司 A kind of network communication solution based on multi-wad join optimization

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6108300A (en) * 1997-05-02 2000-08-22 Cisco Technology, Inc Method and apparatus for transparently providing a failover network device
US6581166B1 (en) * 1999-03-02 2003-06-17 The Foxboro Company Network fault detection and recovery
US20030112749A1 (en) * 2001-12-18 2003-06-19 Brian Hassink Methods, systems, and computer program products for detecting and/or correcting faults in a multiprotocol label switching network by using redundant paths between nodes
US6732186B1 (en) * 2000-06-02 2004-05-04 Sun Microsystems, Inc. High availability networking with quad trunking failover
US6813241B1 (en) * 1999-12-18 2004-11-02 Nortel Networks Limited Network architecture and method of providing link protection in a bidirectional data traffic network
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US7080378B1 (en) * 2002-05-17 2006-07-18 Storage Technology Corporation Workload balancing using dynamically allocated virtual servers
US7242664B2 (en) * 2002-05-30 2007-07-10 Lucent Technologies Inc. Hybrid protection using mesh restoration and 1:1 protection
US7269157B2 (en) * 2001-04-10 2007-09-11 Internap Network Services Corporation System and method to assure network service levels with intelligent routing
US20080069104A1 (en) * 2006-09-15 2008-03-20 Citrix Systems, Inc. Systems and methods for selecting efficient connection paths between computing devices
US7444538B2 (en) * 2004-09-21 2008-10-28 International Business Machines Corporation Fail-over cluster with load-balancing capability
US20100265832A1 (en) * 2009-04-16 2010-10-21 Paritosh Bajpay Method and apparatus for managing a slow response on a network
US8060875B1 (en) * 2006-05-26 2011-11-15 Vmware, Inc. System and method for multiple virtual teams

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233604A (en) * 1992-04-28 1993-08-03 International Business Machines Corporation Methods and apparatus for optimum path selection in packet transmission networks
US6400681B1 (en) * 1996-06-20 2002-06-04 Cisco Technology, Inc. Method and system for minimizing the connection set up time in high speed packet switching networks
US6934249B1 (en) * 1997-04-01 2005-08-23 Cisco Technology, Inc. Method and system for minimizing the connection set up time in high speed packet switching networks
US6215763B1 (en) * 1997-10-29 2001-04-10 Lucent Technologies Inc. Multi-phase process for distributed precomputation of network signal paths
US6370119B1 (en) * 1998-02-27 2002-04-09 Cisco Technology, Inc. Computing the widest shortest path in high-speed networks
US6934258B1 (en) 1999-05-26 2005-08-23 Nortel Networks Limited Quality of service based transitioning between alternate transport paths
US6628649B1 (en) * 1999-10-29 2003-09-30 Cisco Technology, Inc. Apparatus and methods providing redundant routing in a switched network device
US7068624B1 (en) * 2000-02-25 2006-06-27 Cisco Technology, Inc. Wireless router and method for processing traffic in a wireless communications network
US6914912B1 (en) * 2000-08-11 2005-07-05 Nortel Networks Limited Route selection for alternate paths in connection-oriented networks
US7280526B2 (en) * 2001-01-18 2007-10-09 Lucent Technologies Inc. Fast and scalable approximation methods for finding minimum cost flows with shared recovery strategies, and system using same
JP2004531971A (en) * 2001-06-14 2004-10-14 メッシュネットワークス インコーポレーティッド A routing protocol embedded under the internet protocol routing layer of the software architecture protocol stack in mobile ad hoc networks
US6895441B1 (en) * 2001-07-30 2005-05-17 Atrica Ireland Ltd. Path rerouting mechanism utilizing multiple link bandwidth allocations
US7184402B1 (en) * 2001-08-30 2007-02-27 Cisco Technology, Inc Method for multi-link load balancing to improve sequenced delivery of frames at peer end
US20080002669A1 (en) 2001-09-14 2008-01-03 O'brien Ray Packet voice gateway
CA2365963A1 (en) * 2001-12-20 2003-06-20 Nortel Networks Limited Technique for computing pathways in a multi-stage switch fabric through exploitation of symmetrical links
US7333438B1 (en) * 2002-06-21 2008-02-19 Nortel Networks Limited Priority and policy based recovery in connection-oriented communication networks
US7257086B2 (en) * 2002-08-27 2007-08-14 Terabeam Corporation Method and system for effectuating network routing over primary and backup channels
EP1453250A1 (en) * 2003-02-28 2004-09-01 Siemens Aktiengesellschaft Method for a quick reaction to a link break between different routing domains
US7860392B2 (en) * 2003-06-06 2010-12-28 Dynamic Method Enterprises Limited Optical network topology databases based on a set of connectivity constraints
US7443857B1 (en) * 2003-07-09 2008-10-28 Cisco Technology Inc. Connection routing based on link utilization
TWI245509B (en) * 2004-07-02 2005-12-11 Realtek Semiconductor Corp Method of network cabling and apparatus thereof
US7577091B2 (en) * 2004-02-04 2009-08-18 Telefonaktiebolaget Lm Ericsson (Publ) Cluster-based network provisioning
US7965626B2 (en) 2004-08-03 2011-06-21 Hewlett-Packard Development Company, L.P. System and method for transferring data on a data network using multiple paths
EP1900120A2 (en) * 2005-06-06 2008-03-19 Intellambda Systems, Inc Quality of service in an optical network
US8199654B2 (en) 2005-06-21 2012-06-12 Alcatel Lucent Method and apparatus for providing end-to-end high quality services based on performance characterizations of network conditions
EP2008476A4 (en) 2006-03-31 2010-11-03 Gridpoint Systems Inc Smart ethernet edge networking system
US8208372B2 (en) * 2006-06-02 2012-06-26 Cisco Technology, Inc. Technique for fast activation of a secondary head-end node TE-LSP upon failure of a primary head-end node TE-LSP
US8374092B2 (en) * 2006-08-28 2013-02-12 Cisco Technology, Inc. Technique for protecting against failure of a network element using multi-topology repair routing (MTRR)
US8442030B2 (en) 2007-03-01 2013-05-14 Extreme Networks, Inc. Software control plane for switches and routers
CN101056283B (en) 2007-06-07 2011-08-17 杭州华三通信技术有限公司 Voice gateway and method for providing VoIP service
US7826367B2 (en) * 2007-06-28 2010-11-02 Verizon Patent And Licensing Inc. Systems and methods for protecting a trunk with multiple trunks
US7907520B2 (en) * 2007-09-27 2011-03-15 Verizon Patent And Licensing Inc. Path testing and switching

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108300A (en) * 1997-05-02 2000-08-22 Cisco Technology, Inc Method and apparatus for transparently providing a failover network device
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6581166B1 (en) * 1999-03-02 2003-06-17 The Foxboro Company Network fault detection and recovery
US6813241B1 (en) * 1999-12-18 2004-11-02 Nortel Networks Limited Network architecture and method of providing link protection in a bidirectional data traffic network
US6732186B1 (en) * 2000-06-02 2004-05-04 Sun Microsystems, Inc. High availability networking with quad trunking failover
US7269157B2 (en) * 2001-04-10 2007-09-11 Internap Network Services Corporation System and method to assure network service levels with intelligent routing
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US20030112749A1 (en) * 2001-12-18 2003-06-19 Brian Hassink Methods, systems, and computer program products for detecting and/or correcting faults in a multiprotocol label switching network by using redundant paths between nodes
US7080378B1 (en) * 2002-05-17 2006-07-18 Storage Technology Corporation Workload balancing using dynamically allocated virtual servers
US7242664B2 (en) * 2002-05-30 2007-07-10 Lucent Technologies Inc. Hybrid protection using mesh restoration and 1:1 protection
US7444538B2 (en) * 2004-09-21 2008-10-28 International Business Machines Corporation Fail-over cluster with load-balancing capability
US8060875B1 (en) * 2006-05-26 2011-11-15 Vmware, Inc. System and method for multiple virtual teams
US20080069104A1 (en) * 2006-09-15 2008-03-20 Citrix Systems, Inc. Systems and methods for selecting efficient connection paths between computing devices
US20100265832A1 (en) * 2009-04-16 2010-10-21 Paritosh Bajpay Method and apparatus for managing a slow response on a network

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10523593B2 (en) 2008-11-12 2019-12-31 Teloip Inc. System, apparatus and method for providing a virtual network edge and overlay
US10205632B2 (en) 2008-11-12 2019-02-12 Teloip Inc. System, apparatus and method for providing improved performance of aggregated/bonded network connections with cloud provisioning
US10122829B2 (en) 2008-11-12 2018-11-06 Teloip Inc. System and method for providing a control plane for quality of service
US9929964B2 (en) 2008-11-12 2018-03-27 Teloip Inc. System, apparatus and method for providing aggregation of connections with a secure and trusted virtual network overlay
US9692713B2 (en) 2008-11-12 2017-06-27 Teloip Inc. System, apparatus and method for providing a virtual network edge and overlay
US20120127856A1 (en) * 2009-08-13 2012-05-24 Samsung Sds Co., Ltd. Electronic patch device, network system, and operation method in network system
US9369337B2 (en) * 2009-08-13 2016-06-14 Samsung Sds Co., Ltd. Electronic patch device, network system, and operation method in network system
US20120008496A1 (en) * 2010-07-12 2012-01-12 Patricio Humberto Saavedra System, method and computer program for intelligent packet distribution
US8737214B2 (en) * 2010-07-12 2014-05-27 Teloip Inc. System, method and computer program for intelligent packet distribution
US9686355B2 (en) * 2010-12-20 2017-06-20 Microsoft Technology Licensing, Llc Third party initiation of communications between remote parties
US20120159595A1 (en) * 2010-12-20 2012-06-21 Microsoft Corporation Third party initiation of communications between remote parties
US9521049B2 (en) * 2012-11-18 2016-12-13 Vonage Business Inc. Method and systems for an incoming unidirectional outage bypass for a voice over internet protocol private branch exchange system
US20140140202A1 (en) * 2012-11-18 2014-05-22 Vocalocity, Inc. Method and systems for an incoming unidirectional outage bypass for a voice over internet protocol private branch exchange system
US9854460B2 (en) * 2013-01-28 2017-12-26 Institute For Information Industry Transmitting direct mode communication apparatus, receiving direct mode communication apparatus and communication path switching method thereof
US20140211613A1 (en) * 2013-01-28 2014-07-31 Institute For Information Industry Transmitting direct mode communication apparatus, receiving direct mode communication apparatus and communication path switching method thereof
US20160352564A1 (en) * 2014-02-10 2016-12-01 Japan Communications, Inc. Methods and systems for providing failover and failback in a multi-network router
US10333832B2 (en) 2014-09-17 2019-06-25 Adaptiv Networks Inc. System, apparatus and method for providing improved performance of aggregated/bonded network connections with multiprotocol label switching
WO2017083975A1 (en) * 2015-11-19 2017-05-26 Teloip Inc. System, apparatus and method for providing a virtual network edge and overlay with virtual control plane
US10904142B2 (en) 2015-11-19 2021-01-26 Adaptiv Networks Inc. System, apparatus and method for providing a virtual network edge and overlay with virtual control plane
WO2018006163A1 (en) * 2016-07-06 2018-01-11 Teloip Inc. System and method for providing a control plane for quality of service
US11159430B2 (en) * 2019-07-22 2021-10-26 Cisco Technology, Inc. Load balancing of throughput for multi-PHY networks using decision trees
US11418582B1 (en) * 2021-07-06 2022-08-16 Citrix Systems, Inc. Priority-based transport connection control

Also Published As

Publication number Publication date
AU2010282174A1 (en) 2012-03-29
EP2465250A1 (en) 2012-06-20
EP2465250A4 (en) 2017-04-12
CA2770791C (en) 2015-07-21
US20120188868A1 (en) 2012-07-26
WO2011017804A1 (en) 2011-02-17
CA2770791A1 (en) 2011-02-17
CN102577332A (en) 2012-07-11
US8913486B2 (en) 2014-12-16
AU2010282174B2 (en) 2015-09-24
CN102577332B (en) 2015-09-02

Similar Documents

Publication Publication Date Title
US20110041002A1 (en) System, method, computer program for multidirectional pathway selection
US8868998B2 (en) Packet communication apparatus and packet communication method
US8908503B2 (en) Method and apparatus of performing a multi-channel data transmission
EP2008114B1 (en) Method and system for alert throttling in media quality monitoring
US8306039B2 (en) Methods and systems for automatic transport path selection for multi-homed entities in stream control transmission protocol
US11171875B2 (en) Systems and methods of communications network failure detection and remediation utilizing link probes
US8320242B2 (en) Active response communications network tap
US9749011B2 (en) Physical unidirectional communication apparatus and method
US11307945B2 (en) Methods and apparatus for detecting, eliminating and/or mitigating split brain occurrences in high availability systems
US20230049713A1 (en) Monitoring data link health using connectionless loops over redundant ip networks
US20140211614A1 (en) Methods and systems for providing redundancy in data network communications
WO2017206785A1 (en) Network element, protection switching method and system, and storage medium
CN101848165B (en) The method recovered after controlling interrupted communication link and interface board
US20200136946A1 (en) System and method for determining branch gateway device availability in computer networks
US11765059B2 (en) Leveraging operation, administration and maintenance protocols (OAM) to add ethernet level intelligence to software-defined wide area network (SD-WAN) functionality
CN113037622B (en) System and method for preventing BFD from vibrating
WO2017032147A1 (en) Method and apparatus for switching internet small computer system interface session link
CN109981407B (en) Anti-attack message method and device
CN114205405B (en) BFD message sending method and device, electronic equipment and storage medium
CN109039728A (en) Flow congestion detection method and system based on BFD
CN115883492A (en) RoCE-SAN lossless storage network fault convergence method in MLAG environment
CN117098240A (en) QUIC protocol-based multipath transmission method and 5G industrial gateway
Sirisutthidecha Improving vpn transmission performance and reliability using havc-based overlay network
KR20030052564A (en) Operation system and method for high availability using agent in gateway

Legal Events

Date Code Title Description
AS Assignment

Owner name: TELOIP INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SAAVEDRA, PATRICIO HUMBERTO;REEL/FRAME:031072/0169

Effective date: 20130815

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION