Networking architectures have grown increasingly complex in communication environments. This complexity has resulted in numerous protocols being implemented to ensure that network elements are directing packets in an efficient manner. For example, certain network elements may offer redundancy to an architecture: ensuring that there is a consistent and accurate routing of information to an output device. Consider two redundant datagram streams that reach an edge node through different paths. The edge node typically forwards a single stream to its clients. At all times there will be one stream that is active and one stream operating as a standby.
A local or a remote failure may disrupt the flow of packets on the active stream. Any flow irregularities in the active stream should be detected as quickly as possible in order to perform a switchover to the standby stream in a timely manner. Slow responses to flow irregularities can disrupt service to clients. Unnecessary switchovers may introduce packet gaps and retransmissions on the resulting stream that is presented to the clients.
Thus, the ability to offer a system or a protocol that offers an effective redundancy system for network elements (without hindering system speeds, creating unnecessary overhead, or taxing processing capabilities of network components) provides a significant challenge to network designers, component manufacturers, service providers, and system administrators alike.