1. Field of the Invention
The present invention relates to computer networks, and, more particularly, to a method and apparatus for maintaining a datastream between network elements (e.g., routers) in a network.
2. Description of the Related Art
A wide variety of communications alternatives are currently available to telecommunications users. For example, e-mail and other forms of data communication can be used to relay messages and other information over existing data networks. Also, facsimile transmission of printed matter is available through what is commonly referred to as a stand-alone fax machine. Alternatively, fax-modem communication systems are currently available for personal computer users which combine the operation of a facsimile machine with the word processor of a computer to transmit documents held on computer disk. Modem communication over telephone lines in combination with a personal computer is also available to permit the transfer of files between computers. Simultaneous voice and modem data can also be transmitted over the lines using any one of several methods. Personal communications systems that combine a wide variety of communication functions into an integrated hardware-software product allow the user to conveniently choose from a number of communication modes. For example, personal communications systems exist which allow multiple users to efficiently communicate with one another using high quality voice over data communications links.
In fact, such teleconferencing capabilities have been extended to wide-area networks (WANs) such as the Internet. Voice-over-Internet-Protocol (VoIP), for example, is becoming a popular method of communication, supplanting traditional telephone services. Many other such methods of transferring media have come into use as the Internet has matured, including streaming audio, instant messaging and the like. However, for many such techniques, a failure within the network which such information passes can present unacceptable performance penalties. This is especially true for real-time or near-real-time applications (e.g., human conversations), in which dropouts and other outages can be most aggravating to users.
For example, consider a VoIP connection that uses real-time protocol (RTP) over a UDP/IP network infrastructure (e.g., the Internet), and the effects of a failure in one of the intermediate network links or network elements (e.g., a router or switch) between the connection's end-points. Clearly, VoIP packets will be dropped until such time as an alternate route through the network has been identified, and packets are re-routed along this new route.
Traditionally, users have relied on a routing protocol (e.g., open shortest path first or OSPF), to detect link/device failures and to re-compute a new path between the given pair of source and destination devices. Unfortunately, the time required for a breakdown to be discovered, and for the routing protocol (e.g., OSPF) to advertise the link-state and recompute the shortest path, is unacceptably high for most real-time applications, including VoIP. For example, in some VoIP systems, an interruption in transfer of packets for a duration 150 ms or more is considered unacceptably large. The delay in restoration is even larger if packets are label-switched. This is so because, in such a case, a new label-switched path must be set up before transfer of packets can resume.
What is therefore needed is a method and apparatus capable of handling failures in network infrastructure that affect a datastream traversing the network, while maintaining acceptable throughput in such situations. Such an approach is preferably capable of maintaining throughput, despite such failures, such that the interruptions are not noticeable to a user of the system.