The subject matter described herein relates to automatic protection switching (APS). More particularly, the subject described herein relates to methods, systems, and computer program products for implementing automatic protection switching for media packets transmitted over an Ethernet switching fabric.
In computer networks, automatic protection switching is a redundancy scheme in which data is redundantly transmitted over a working path and protection path between directly connected nodes. APS is commonly used in SONET networks to reduce the likelihood of loss of connectivity between two nodes when a fiber between two nodes is cut.
One common automatic protection scheme is a 1+1 automatic protection scheme in which a protection facility is provided for every working facility, and the working and protection facilities are on two physically diverse routes between the source and destination. Thus, if a fiber is cut, the signal uses the protection facility to reach the destination. The traffic is bridged permanently at the electrical level to both the working and protection facilities at the transmit end. At the receive end, the signals arrive from both facilities, and the received signals are continuously monitored for failures. The receiving equipment then selects the working signal under normal operations. In the event of a link failure on the working facility, an electrical switch at the receiver switches to the protection facility, thus restoring service with minimum outage time. In this scheme, because the signal is bridged at the source, head-end-to-tail-end signaling is not required.
1+1 protection schemes can be implemented in any suitable network devices. One type of network device in which it may be desirable to implement an APS scheme is a media gateway. Media gateways transmit bearer channel information, including voice, video, and other data between end users. For example, media gateways may be used for voice over IP telephone calls between end users. Since it is desirable that media gateways maintain active calls, even when a link fails, an APS scheme may be utilized.
One conventional media gateway formerly available from the assignee of the subject application as the SanteraOne® media gateway included an internal ATM switching fabric. The internal ATM switching fabric switched ATM cells and IP packets between ATM and IP network interfaces and voice server cards. In order to implement automatic protection switching, the ATM switching fabric can duplicate traffic to ATM network interfaces so that data could be redundantly transmitted to an adjacent node via the ATM interface. The voice server is not involved in the protection switching. The ATM cells are replicated to the ATM network interfaces in the egress direction. In the ingress direction, the ATM switching fabric selected the cells from the working link.
Since Ethernet switching equipment is less expensive than ATM switching equipment, it may be desirable to replace ATM switching equipment with Ethernet switching equipment. For example, a commonly assigned U.S. patent application entitled “Methods, Systems, and Computer Program Products for Transporting ATM Cells in a Device Having an Ethernet Switching Fabric,” the disclosure of which is incorporated herein by reference in its entirety, is being filed on even date herewith. In the commonly assigned patent application, a media gateway with an Ethernet switching fabric is described. One problem with providing an Ethernet switching fabric is that unlike an ATM switching fabric, the Ethernet switching fabric does not provide a configuration option for automatic protection switching. Moreover, unlike ATM, which is a connection oriented protocol, Ethernet is connectionless, making the implementation of an APS scheme more difficult.
Accordingly, in light of these difficulties, there exists a need for improved methods, systems, and computer program products for implementing automatic protection switching in a device, such as a media gateway, that includes an Ethernet switching fabric.
According to one aspect, the subject matter described herein includes a method for providing automatic protection switching in a device having an Ethernet switching fabric. The method may include configuring first and second packet network interfaces to function as working and protection APS interfaces. The packet network interfaces may be any suitable type of network interface for sending and receiving media packets over a network. Examples of such interfaces include ATM network interfaces, IP over Ethernet network interfaces, and packet over SONET network interfaces. The method may also include configuring at least one of a media processing resource and an Ethernet switch fabric to replicate egress media packets from the media processing resource to the working and protection APS interfaces. The media packets may be ATM cells or IP packets, depending on the type of network interface over which a media connection is established.
As used herein, the term “media processing resource” refers to a device or collection of devices that processes at least one of voice, video, and data transmitted between end users. An example of a media processing resource is a voice server in a media gateway.
At run time, egress media packets may be forwarded from the media processing resource to the working and protection APS interfaces via the Ethernet switching fabric. The working and protection APS interfaces may forward the egress media packets to the adjacent node over working and protection facilities. Ingress media packets may be received at the working and protection APS interfaces. Ingress media packets received at the working APS interface may be forwarded to the media processing resource via the Ethernet switch fabric. Ingress media packets received at the protection APS interface may be discarded. Alternatively, the ingress media packets received at the protection APS interface may also be forwarded to the media processing resource where they are discarded or ignored.
The subject matter described herein may be implemented using a computer program product comprising computer executable instructions embodied in a non-transitory computer readable medium. Exemplary computer readable media suitable for implementing the subject matter described herein include chip memory devices, disk memory devices, application specific integrated circuits, and programmable logic devices. Moreover, it is understood that a computer readable medium that implements the subject matter described herein may be distributed across multiple devices and/or computing platforms.
Preferred embodiments of the subject matter described herein will now be explained with reference to the accompanying drawings of which:
The subject matter described herein may be implemented in any suitable node that switches media packets, such as ATM cells or IP packets carrying voice, video, data, or other media type, and that includes an Ethernet switching fabric. Examples of such devices include media gateways, ATM switches, or other suitable devices that switch ATM cells and include an Ethernet switching fabric. In one exemplary implementation, automatic protection switching may be implemented in a media gateway that includes an Ethernet switching fabric.
Ethernet switching fabric 302 may be any suitable Ethernet switch capable of switching traffic between ports. In one exemplary implementation, Ethernet switching fabric 302 may be implemented using a commercially available gigabit Ethernet switching fabric, such as those manufactured by Broadcom Corporation or Marvell Technology Group, Ltd. The specific model used may be selected based on the number of ports required by media gateway 300. For purposes of illustration, Ethernet switching fabric 302 is shown as having 10 ports numbered 1-10. It is understood that Ethernet switching fabric 302 would have more than 10 ports. However, 10 ports are shown in
IP network interfaces 304 each include functionality for sending and receiving media packets, such as voice packets, over an IP network. In order to interface with Ethernet switching fabric 302, each IP network interface 304, ATM network interface 306, and voice server 308 may include an Ethernet transceiver that connects to a corresponding port of switching fabric 302.
ATM network interfaces 306 receive ATM cells from the network, forward the ATM cells to an assigned voice server 308 via Ethernet switching fabric 302, receive ATM cells from voice servers 308 via Ethernet switching fabric 302, and forward the ATM cells over the network. In the illustrated example, each ATM network interface 306 includes a network processor 316. Network processors 316 perform VPI/VCI translations, encapsulate ingress ATM cells in Ethernet frames, receive Ethernet frames from Ethernet switching fabric 302, and extract egress ATM cells from the Ethernet frames. IP network interfaces 304 may also include network processors 316, which may perform IP forwarding functions.
In the illustrated implementation, each pair of ATM network interfaces 306 forms an APS protection group. For example, one ATM interface of each pair of ATM network interfaces may be a working interface and the other may be a protection interface. Two protection groups are shown in
The status of the working and protection links may be monitored by physical layer hardware, such as SONET hardware, on each ATM network interface. If the signal quality of the working interface falls below a predetermined threshold, the protection APS interface may become the working APS interface, and the former working interface may cease to forward ingress traffic. If a revertive mode of operation is implemented, the roles of the protection and working interfaces may be restored when the signal associated with the working interface is restored. If a non-revertive mode of operation is implemented, once the protection interface becomes the working interface, the protection interface will not switch back to protection mode when the signal associated with the working interface is restored. Either mode of operation is intended to be within the scope of the subject matter described herein.
Since Ethernet switching fabrics are not pre-configured to implement automatic protection switching, Ethernet switching fabric 302 must be configured to support automatic protection switching for the ATM interfaces. In one exemplary implementation, Ethernet switching fabric 302 may be configured to recognize a multicast Ethernet address for each protection group and to multicast Ethernet frames addressed to the multicast address to ATM network interfaces that are members of each protection group. In
In alternate implementation, in order to implement automatic protection switching, the port mirroring capability of Ethernet switching fabric 302 may be utilized. Port mirroring is inherent capability of some Ethernet switching fabrics. According to this feature, Ethernet frames sent to one port may be automatically replicated to another port. Thus, port mirroring may be configured for ports 3 and 4 and ports 5 and 6. One limitation of using port mirroring to implement automatic protection switching is that some Ethernet switching fabrics may only allow port mirroring for a single pair of ports.
In yet another alternate implementation, Ethernet switching fabric 302 may be configured to recognize protection group virtual local area network (VLAN). For example, a separate VLAN may be defined for each protection group. When a voice server desires to send an Ethernet frame containing ATM cells to a protection group, the voice server may send the frame to the protection group VLAN with a broadcast MAC address. Ethernet switching fabric 302 will then broadcast the frame to all the members of the protection group VLAN.
As stated above, voice servers 308 perform voice processing functions for incoming media packets. For example, voice servers 308 may perform segmentation and reassembly of ATM cells and perform voice processing functions, such as transcoding. In order to implement APS, voice servers 308 may be configured to match the APS implementation of Ethernet switching fabric 302. For example, if a multicast scheme is implemented, voice servers 308 may be configured to address Ethernet frames intended for protection groups to the multicast address of each group. If port mirroring is used to implement APS, voice servers 308 may be configured to address frames to the Ethernet address of one of the members of the protection group. Ethernet switching fabric 302 will then copy the frame to the other member of the protection group connected to the mirrored port. If a VLAN implementation is utilized, voice servers 308 may be configured to send frames intended for protection groups to the VLAN of the protection group and to a broadcast Ethernet address within the VLAN.
In step 402, at least one of a media processing resource 308 and Ethernet switching fabric 302 is configured to replicate egress media packets from the media processing resource to the working and protection APS interfaces. In the multicast implementation described above, each voice server 308 may be configured to send media packets intended for protection group to the multicast address of the protection group. Ethernet switching fabric 302 may be configured to recognize the multicast address of the protection group and replicate frames to each group member. In the port mirroring implementation described above, each voice server 308 may be configured to address frames directly to either member of a protection group. Ethernet switching fabric 302 may then be configured to copy or replicate frames to the port for which mirroring is configured. In the VLAN implementation described above, each voice server 308 may be configured with the VLAN corresponding to each protection group, and Ethernet switching fabric 302 may be configured to replicate frames to all interfaces that are members of the VLAN.
In step 404, at run time, ingress media packets are forwarded from the media processing resource to the working and protection APS interfaces via Ethernet switching fabric 302. In step 406, ingress media packets are received at the working and protection APS interfaces. Media packets received at the working APS interface are forwarded to the media processing resource. Media packets received at the protection APS interface may be discarded.
In step 502, if it is determined that the protection link quality falls below the acceptable threshold, control proceeds to step 506 where the device starts using data from the protection link and ignores data received from the working link. In other words, in step 506, the protection link becomes the working link.
As described above, in one embodiment of the subject matter described herein, automatic protection switching may be implemented by configuring the voice servers and Ethernet switching fabric to multicast Ethernet frames containing media packets to members of a protection group. Table 1 show below illustrates exemplary switch fabric destination MAC address to port mappings for the multicast APS implementation. All tables assume switch fabric port identifiers and card Ethernet addresses shown in
In Table 1, the left hand column includes destination MAC addresses for each device connected to Ethernet switching fabric 302. The right hand column includes the Ethernet switching fabric port to which each device is connected. The last two entries in the left hand column of Table 1 are multicast Ethernet addresses. It can be seen that if an Ethernet frame has a multicast address MCAST1 the Ethernet frame will be output to ports 3 and 4. Referring back to
In order to implement APS for ingress packets, each ATM interface that is a member of a protection group may include a connection table that maps VPI/VCI values in ATM cells to the Ethernet interface associated with the voice server to which the cells are destined. The table may also include internal VPI/VCI mappings. Table 2 shown below illustrates exemplary VPI/VCI to voice server MAC address mappings for ingress ATM cells at an ATM network interface.
In Table 2, the left hand column includes network VPI/VCI values. By network VPI/VCI values, it is meant that these are the VPI/VCI values used between adjacent nodes and media gateway 300. The center column in Table 2 includes the voice server MAC address to which the cells containing the VPI/VCI combinations in column 1 will be forwarded. The voice server may be dynamically assigned by control module 314 using any suitable criteria, such as relative voice server resource utilization, quality of service, etc. The right hand column in Table 1 includes internal VPI/VCI values to which the values in column 1 may be translated when the cells are sent to the voice server. The reason for translating VPI/VCI values is to ensure uniqueness across different network interfaces. The data illustrated in Table 2 may be included on both the working and protection interface in a protection group.
In order to properly route egress cells to both members of a protection group, each voice server 308 may include a table that maps VPI/VCI values to an appropriate Ethernet address so that switching fabric will send the cells to both the working and protection interfaces of each group. Table 3 shown below illustrates exemplary data that may be maintained by the voice server having the Ethernet address ETH6.
In Table 3, the left hand column includes internal VPI/VCI values. The internal VPI/VCI values in Table 3 correspond to the internal VPI/VCI values in Table 2. The right hand column in Table 3 includes destination MAC addresses. Since all of the VPI/VCI values correspond to connections that originated in the protection group corresponding to MCAST1, the destination MAC address for the encapsulating Ethernet frame for cells having these VPI/VCI values should be MCAST1. Similar entries may be configured for VPI/VCI values corresponding to the protection group MCAST2.
In order to properly forward egress ATM cells over the network, each network interface may include internal to external VPI/VCI mappings. Table 4 shown below illustrates exemplary internal to network VPI/VCI mappings.
The left hand column in Table 4 includes the source MAC address. The center column in Table 4 includes the internal VPI/VCI value. The right hand column in Table 4 includes the network VPI/VCI values to which the VPI/VCI values in column 2 will be translated before the cells are sent over the network. Tables such as Table 4 may be included at both the working and protection members of a protection group so that duplicate copies of each cell will be forwarded to the adjacent node.
In a port mirroring APS implementation, Ethernet switching fabric 302 may be configured to mirror Ethernet frames from one member of a protection group to the other member of the protection group. Table 5 shown below illustrates exemplary destination MAC address to switch fabric output port mappings for a port mirroring APS implementation.
In Table 5, the left hand column includes the destination MAC address that should be inserted in Ethernet frames from a voice server that encapsulates egress ATM cells. The right hand column in Table 5 includes the switch fabric output port to which the Ethernet frames having the destination MAC addresses in the left hand column should be forwarded. In Table 5, it can be seen that Ethernet frames addressed to Ethernet addresses Eth2, Eth3, Eth4, and Eth5 are replicated to multiple ports. These addresses correspond to members of the protection groups illustrated in
In a port mirroring APS implementation, each voice server may be configured to properly address ATM cells to one or the other members of the protection group. Table 6 shown below illustrates exemplary internal VPI/VCI to destination MAC address mapping for egress ATM cells at the voice server corresponding to Ethernet address Eth 6 using port mirroring.
In Table 6, the first column includes internal VPI/VCI values. The second includes destination MAC addresses. In the illustrated example, internal VPI/VCI values corresponding to the VPI/VCI connections that originated on the ATM interface having the address Eth2 are encapsulated in Ethernet frames addressed to the ATM interface having the Ethernet address Eth2. Using the data in Table 5, Ethernet switching fabric 302 automatically replicates Ethernet frames addressed to Eth2 to the ATM network interface having the Ethernet address Eth3.
In VLAN APS implementation, switching fabric 302 preferable includes a table that maps VLAN tags to switch fabric output ports. Table 7 shown below illustrates exemplary destination MAC address to VLAN and port mappings for a VLAN APS implementation.
In Table 7, the left hand column includes destination Ethernet addresses that may be inserted in Ethernet frames sent over switching fabric 302. The center column includes destination VLAN tags that may be included in the Ethernet frames. The right hand column includes corresponding switch fabric output ports. It can be seen from the last two entries in Table 7 that frames with a VLAN tag of 1 and a broadcast Ethernet address are sent to switch fabric output ports 3 and 4. In
In the VLAN implementation, each voice server may also be configured to address Ethernet frames for egress ATM cells to the VLAN tags corresponding to a protection group. Table 8 shown below illustrates exemplary internal VPI/VCI to VLAN and MAC address mappings at a voice server for a VLAN APS implementation.
In Table 8, the left hand column includes internal VPI/VCI values for egress ATM cells. The center column of Table 8 includes destination VLAN tags to be inserted in outbound Ethernet frames. The right hand column in Table 8 includes destination MAC addresses. It can be seen from Table 8 that Ethernet frames destined for the VPI/VCI combinations corresponding to one of the APS protection groups include a destination VLAN tag of 1 and a broadcast Ethernet address. Using the data illustrated in Table 7, Ethernet switching fabric 302 would replicate these frames to the working and protection ATM interfaces of the first protection group.
Although in the examples described above, VPI/VCI translation is performed at the network ATM network interfaces, the subject matter described herein is not limited to performing VPI/VCI translation at the ATM network interfaces. In an alternate implementation, VPI/VCI translation may be performed at the voice servers.
In addition, in the examples described above, Ethernet switching fabric 302 is configured to replicate egress frames to working and protection interfaces of an APS group. However, the subject matter described herein is not limited to such an implementation. In an alternate implementation, the replication may be performed at the voice server that originates the Ethernet frames.
Although the examples described above relate primarily to providing APS for ATM cells transmitted and received over ATM interfaces of a media gateway, the subject matter described herein is not limited to such an implementation. APS may be implemented for any type of packet data sent or received by a media processing device. APS may be implemented for the IP over Ethernet interfaces of media gateway using the same methods described above for ATM interfaces. For example, IP network interfaces 304 illustrated in
It will be understood that various details of the invention may be changed without departing from the scope of the invention. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation, as the invention is defined by the claims as set forth hereinafter.
Number | Name | Date | Kind |
---|---|---|---|
5818842 | Burwell et al. | Oct 1998 | A |
5938732 | Lim et al. | Aug 1999 | A |
5986662 | Argiro et al. | Nov 1999 | A |
6052733 | Mahalingam et al. | Apr 2000 | A |
6061348 | Castrigno et al. | May 2000 | A |
6111880 | Rusu et al. | Aug 2000 | A |
6154445 | Farris et al. | Nov 2000 | A |
6229538 | McIntyre et al. | May 2001 | B1 |
6272113 | McIntyre et al. | Aug 2001 | B1 |
6308282 | Huang et al. | Oct 2001 | B1 |
6363497 | Chrabaszca | Mar 2002 | B1 |
6381218 | McIntyre et al. | Apr 2002 | B1 |
6512774 | Vepa et al. | Jan 2003 | B1 |
6633563 | Lin et al. | Oct 2003 | B1 |
6714535 | Herh | Mar 2004 | B1 |
6728780 | Hebert | Apr 2004 | B1 |
6738826 | Moberg et al. | May 2004 | B1 |
6741585 | Munoz et al. | May 2004 | B1 |
6754745 | Horvath et al. | Jun 2004 | B1 |
6763479 | Hebert | Jul 2004 | B1 |
6766482 | Yip et al. | Jul 2004 | B1 |
6771673 | Baum et al. | Aug 2004 | B1 |
6778491 | Fourcand et al. | Aug 2004 | B1 |
6850531 | Rao et al. | Feb 2005 | B1 |
6856591 | Ma et al. | Feb 2005 | B1 |
6862564 | Shue et al. | Mar 2005 | B1 |
6879667 | Carew et al. | Apr 2005 | B1 |
6891836 | Chen et al. | May 2005 | B1 |
6895528 | Cantwell et al. | May 2005 | B2 |
6910148 | Ho et al. | Jun 2005 | B1 |
6928482 | Ben Nun et al. | Aug 2005 | B1 |
6938092 | Burns | Aug 2005 | B2 |
6975587 | Adamski et al. | Dec 2005 | B1 |
7177943 | Temoshenko et al. | Feb 2007 | B1 |
7185094 | Marquette et al. | Feb 2007 | B2 |
7212519 | Johnson et al. | May 2007 | B2 |
7233567 | Li | Jun 2007 | B1 |
7239605 | Dinker et al. | Jul 2007 | B2 |
7263060 | Garofalo et al. | Aug 2007 | B1 |
7269658 | Tao | Sep 2007 | B2 |
7289487 | Jang | Oct 2007 | B2 |
7293080 | Clemm et al. | Nov 2007 | B1 |
7424025 | Qian et al. | Sep 2008 | B2 |
7681069 | Chellappa et al. | Mar 2010 | B1 |
7881188 | Li et al. | Feb 2011 | B2 |
7911940 | Shei | Mar 2011 | B2 |
7940772 | Liu et al. | May 2011 | B2 |
20010009550 | Mizuhara | Jul 2001 | A1 |
20020012352 | Hansson et al. | Jan 2002 | A1 |
20020016926 | Nguyen et al. | Feb 2002 | A1 |
20020051464 | Sin et al. | May 2002 | A1 |
20020174251 | Lasserre | Nov 2002 | A1 |
20020191612 | Curtis | Dec 2002 | A1 |
20030118039 | Nishi et al. | Jun 2003 | A1 |
20030142795 | Gavette et al. | Jul 2003 | A1 |
20030172319 | Ryhorchuk et al. | Sep 2003 | A1 |
20030174729 | Heink et al. | Sep 2003 | A1 |
20040008722 | Ellis et al. | Jan 2004 | A1 |
20040030757 | Pandya | Feb 2004 | A1 |
20040066782 | Nassar | Apr 2004 | A1 |
20040071142 | Moriwaki et al. | Apr 2004 | A1 |
20040131064 | Burwell et al. | Jul 2004 | A1 |
20050053073 | Kloth et al. | Mar 2005 | A1 |
20050165885 | Wong | Jul 2005 | A1 |
20050185577 | Sakamoto et al. | Aug 2005 | A1 |
20050243716 | Bitar et al. | Nov 2005 | A1 |
20050281190 | McGee et al. | Dec 2005 | A1 |
20060023736 | Boll et al. | Feb 2006 | A1 |
20060143309 | McGee et al. | Jun 2006 | A1 |
20060268888 | Liu et al. | Nov 2006 | A1 |
20070076727 | Shei | Apr 2007 | A1 |
20070083528 | Matthews et al. | Apr 2007 | A1 |
20070183314 | Li et al. | Aug 2007 | A1 |
20080317055 | Zetterlund et al. | Dec 2008 | A1 |
20090092044 | Saito | Apr 2009 | A1 |
20110191624 | Rodgers et al. | Aug 2011 | A1 |
Number | Date | Country |
---|---|---|
WO 2005033889 | Apr 2005 | WO |
WO 2005034449 | Apr 2005 | WO |
WO 2005034454 | Apr 2005 | WO |
WO 2006127908 | Nov 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20060268686 A1 | Nov 2006 | US |