This application relates to the field of optical communication networks, and particularly to large-scale routers for optical communication networks.
Routers form a central part of a data communication network and perform general routing of data packets. Headers in each packet control the route taken by that packet through the network. There can be multiple routers in a network. Information, as contained in the data packets, typically travels from one router to the next router, and eventually reaches the destination edge of the network, where a destination edge router receives the information packet and decides where it goes from there. Typically it goes to an Internet service provider at the opposite edge of the edge router. If the destination is a household PC, the Internet service provider then sends the information to the destination computer. If there is corporate access to the network, the information may go from the edge router directly to a corporate site.
A fabric is a collection of devices which cooperatively provide a general routing capability. Internet protocol (IP) routers require protection from fabric failures, for example optical fabric, packet fabric, and switch element fabric failures. The prior art uses duplicated switch fabrics and line cards that feed both switch fabrics simultaneously but receive from only one switch fabric at any given time.
Prior art designs based upon duplex or duplicated fabrics, while fully protecting from individual fabric failures, permit extensive loss of packets during a failure, detection, and protection event. In the prior art a line card receives output from one switch fabric, unless it detects a failure on that switch fabric, in which case it then spends about 50 milliseconds switching over to the redundant switch fabric. In an outage of a fabric, if it requires fifty milliseconds for the receiving line card to determine that a fabric is defective and to decide to start receiving instead from the redundant fabric, then all packets passing through that defective fabric during that fifty milliseconds are lost. The number of packets lost per line card is equal to the switchover time to the alternate fabric multiplied by the packet transmission rate through that particular switch fabric. Multiplying by the total number of line cards in the system, the result can be a huge amount of data lost during each 50 millisecond transient event, which creates a large impact on the network as a whole.
Needed in the art are a new system and method of IP router switch fabric protection that prevent or minimize loss of data packets during a fabric failure, detection, and protection event.
The present invention is directed to a system and method which, instead of selectively utilizing one fabric or the other fabric of a redundant pair, utilize both fabrics simultaneously and transmit duplicate identical information through both fabrics, such that each packet forwarding module (PFM) receives the output of both fabrics simultaneously.
All information moves through an optical switch fabric in chunks. A chunk is defined as a uniformly sized unit of information that is passed through an optical switch during one cycle of the switch. In real time, an internal optics module (IOM) analyzes each chunk coming out of a working zero switch fabric; simultaneously examines the output of a working one copy of this switch fabric; and compares on a chunk-by-chunk basis the validity of each and every chunk from both switch fabrics. The IOM does this by examining forward error correction (FEC) check symbols encapsulated into each chunk. The FEC check symbols allow correcting a predetermined number of bit errors within a chunk. If the chunk cannot be corrected, then the IOM provides indication to all PFMs downstream from the IOM that the chunk is defective. Under such conditions, the PFMs select a chunk from the non-defective switch fabric. Under error-free normal conditions, however, the PFMs select a chunk arbitrarily from a default switch fabric.
Thus, a PFM receives chunks from both working zero and working one copies of a switch fabric. If both chunks are error-free, it arbitrarily discards one chunk and keeps the duplicate chunk, since either chunk is good. If the PFM receives two simultaneous duplicate chunks, and one of those chunks is defective, the PFM recognizes and discards the defective chunk and keeps the good chunk. If both simultaneous chunks are defective, then a double fault has occurred, which is an unlikely occurrence and is outside the principal objects of the present invention.
In this way, each chunk in real time is selected from a non-defective source and is thus guaranteed to be error free. Accordingly, if a switch fabric fails, no chunks are lost anywhere in the system.
Embodiments according to the present invention are designed to protect against all single fault occurrences. Single faults include a single fault of a module, a single fault of a cable, or a single fault of a path. Accordingly, although some double faults are protected against, double faults generally lie beyond the scope of primary objects of the present invention and thus are not in general protected against.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims. The novel features which are believed to be characteristic of the invention, both as to its organization and method of operation, together with further objects and advantages will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present invention.
For a more complete understanding of the present invention, reference is now made to the following descriptions taken in conjunction with the accompanying drawing, in which:
Working facility module 11-0W and protect facility module 11-0P respectively provide duplicate input interfaces 103-0W and 103-0P to packet forwarding module 13-0. A system controller (not shown in
There are actually N+1 multiple packet forwarding modules 13-0 through 13-N. In
Protection works through a daisy-chain data bus 105 cascading from Channel 0 to Channel 1, to Channel 2, to Channel 3, and to Channel 4, linking facility modules 11-0W through 11-4W. A duplicate data bus interconnects from Channel 4 up to Channel 0, linking facility modules 11-4P through 11-0P. If for example packet forwarding module 13-1 were to fail, then input facility modules 11-1P and 11-1W send their traffic down data bus 105 linking facility modules 11-2 and 11-3 to facility module 11-4, which then switches those inputs to protect packet forwarding module 13-4. Thus if one channel fails, traffic, instead of going through the failed channel, goes down data bus chain 105 to designated protect module 13-4. If a particular facility module needs to be removed for maintenance purposes on one data bus, the duplicate data bus is maintained intact, allowing for hot replacement of any of the facility modules, working and protect, even if a packet forwarding module protection switch is in effect at the time. Similarly on the output side of router 10, output data is rerouted up a data bus chain 106 to Channel 1 and then out of router 10.
In operation, if PFM 13-1 fails, a microprocessor in the line shelf containing the failed packet forwarding module detects the failure, notices if the system is configured for one-for-four protection, and instructs switches on facility modules 11-1 through 11-4 to switch traffic that used to be in Channel 1 down to Channel 4. Channel 4 contains facility modules 11-4P and 11-4W on the input side and facility modules 12-4P and 12-4W on the output side respectively of router 10. These modules are connected to optical inputs and outputs only when utilizing protect PFM 13-4 or 18-4 as a working module and not as protection for PFMs 13-0 through 13-3 or 18-0 through 18-3. If PFM 13-4 or 18-4 is a working module, then daisy chain bus 105, 106 is not utilized in any way, and there are simply 5 working inputs and 5 working outputs. Accordingly, two modes of operation are available; namely one-for-N protection, for example one-for-four; or zero-for-five protection, meaning no protect modules and five working modules. Without requiring any wiring changes, router system 10 will function in either mode.
An alternative operating mode designates input 101-N and output 102-N for lower priority traffic. That traffic would be deliberately interrupted in the event of a failure of any of the packet forwarding modules carrying higher priority traffic and requiring a protect packet forwarding module to service that failure.
Information is transferred from PFM 13-0 to internal optics modules (IOMs) 14 as chunk payloads of data, such that a chunk contains typically 400 bytes of payload data. Packets contained in virtual out queues of PFM 13-0 that are destined for the same egress PFM can be combined to form a single chunk payload of data. Thus, multiple small packets or just a segment of a larger packet can be loaded into a single chunk. A maximum of two chunks can be transferred from a PFM 13-0 to the IOMs 14-0W0 and 14-1W0 during each chunk period. The same chunks are replicated and transferred in parallel to IOMs 14-0W1 and 14-1W1.
Referring to
Fields 604-1 and 604-2 within the chunk format are the actual payloads of the packets associated with respective packet headers 603-1 and 603-2. Packet header/payload pairs, for example 603-1 and 604-1, can be contained within the chunk payload up to a limit on the order of nine of these pairs, due to the 400 byte total payload size of a chunk versus a minimum packet size of 40 bytes. A chunk filler 605 is the next field. If there are not sufficient data in packets to fill the chunk payload, then the unused payload capacity is filled with non-traffic bytes.
IOM modules 14 encapsulate FEC code words as multiple redundant check symbols into each of the chunks. The present implementation uses a conventional interleaved Reed-Solomon FEC coding. IO modules 14-0W0, 14-1W0 provide duplicate working module capacity for a working zero optical switch plane. Similarly IO modules 14-0W1, 14-1W1 provide duplicate working module capacity for a working one optical switch plane. Switch plane pairs in this case are not configured as working and protect, but as working zero and working one copies respectively, such that copy zero switch plane containing optical switch modules 15-1 through 15-6 and duplicate copy one switch plane containing optical switch modules 16-1 through 16-6 each provide 6 optical switches worth of capacity.
IO module 14-0W0 transfers information from PFM 13-0 to one of three optical switch modules 15-1, 15-2 and 15-3. IO module 14-0W0 sends the information to the appropriate optical switch module based on the decisions of the central arbiter module (not shown in the figures), described in U.S. application Ser. No.09/703057, cited above. Illustratively, one input comes into an optical switch module and one output goes out from that same optical switch module. In an actual system, these inputs and outputs in fact provide connectivity across router system 10.
Chunks of information are sent individually through optical switch modules 15-1 through 15-N and 16-1 through 16-N and received by IO modules 17 on line shelves at the egress side of router 10. IO module 17 checks the FEC check symbols to validate the accuracy of the data bits within the chunk. It then removes the FEC check symbols and transfers the resulting chunk payloads to packet forwarding module 18-0, 18-1, 18-2, 18-3, or 18-4 as appropriate for each destination address. Similarly, the working one optical switch plane containing optical switch modules 16-1 through 16-N does substantially the same thing in parallel. Thus, working zero and working one optical switch planes perform this process duplicatively and in parallel. This allows the packet forwarding modules on the egress side, such as PFM 18-0, to select those chunk payloads that are error free either from working zero or from working one optical switch plane on a chunk by chunk basis. If there is an error in an optical switch, then egress PFM modules 18-0 through 18-N can identify which working plane, zero or one, is accurate. Consequently errors in a switch are contained and do not ripple out through the network.
If there are only a few bit errors going through a switch, those errors can be corrected in real time by FEC decoding in IO modules 17. If a path through a working zero optical switch fails completely, then a path through the working one optical plane can be utilized instead. Further, because each IO module 17 computes the corrupted bits and how many bits were corrected on every path of the system, IO modules 17 provide a detailed fault analysis not only of the failed fiber or optical switch plane, but even down to the level of an individual switch defect, which then can also be isolated. Importantly, the data flowing across for example OS Module 15-1 and the data flowing across OS Module 16-1 in the absence of failures in the system are identical, byte for byte. This provides a hot standby, chunk for chunk.
After selecting error-free chunk payloads, packet forwarding modules 18-0 through 18-N then reassemble the chunks into individual IP packets and forward those packets across interface links 104, as previously described.
In
A signal, e.g., a packet-over-SONET (POS) formatted IP packet, arrives at input 101-0W to a signal processing module 201 typically in a ten-Gbit/sec OC192 SONET datastream. Processing module 201 contains an optical receiver, an optical multiplexer and associated demultiplexer, and a transmitter associated with those. For example, the received signal is demodulated from optical input 101-0W into an electronic signal, and then demultiplexed from a single ten-Gbit-per-second datastream in this example down to a parallel bus at a lower data speed. That parallel bus of signals then leaves module 201 and goes into a processing module 202. Module 202 contains an OC192 demultiplexer, which extracts a single 2.5 Gbit/second OC48 substream out of the OC192 stream and delivers a packet-over-SONET (POS) input to a framer 203-1, which is an industry standard off the shelf component. Likewise, module 202 extracts the other three OC48 substreams and sends these to POS framers 203-2, 203-3, and 203-4 respectively. At this point there are four parallel 2.5 Gbit/sec SONET streams, one to each of four POS framers 203-1 through 203-4, which extract from each OC48 stream the individual IP packets. POS framers 203-1 through 203-4 first have to find the IP packets in the datastream and then have to extract the packets from the SONET continuous datastream. This is done on the four parallel OC48 streams. Once it has removed the packets from the SONET frame, each POS framer 203-1 through 203-4 delivers those packets to a facility ASIC 204-1 through 204-4 respectively.
The principal function of facility ASICs 204-1 through 204-4 is to send that information to an appropriate packet forwarding module (not shown in
Referring again to
In the egress direction, a principal function of facility ASICs 301-1 through 301-4 is to duplicate the packet stream coming out of egress ASIC 302 and to send that packet stream out across both outgoing paths 104-0W0 and 104-0P0 to facility modules 12-0W and 12-0P (see
Packet forwarding engines 306-1 through 306-4 are devices that inspect the packet headers of all of the incoming packets received on any of the selected working or protect facility modules that are associated with this particular packet forwarding module 13-0 (18-0). Based on the inspection of those headers, a determination of the intended destination of each packet can be made. The header information is stored by an ingress ASIC 304 in various queues and lists, which are used to determine for any given packet which output port of the router it should exit, when it should exit, and its relative priority. Actual packet data is stored by ingress ASIC 304 in an external RAM memory 305. Packet forwarding engine 306-1 through 306-4 also determines if any particular packet is intended for a local destination within this particular router and redirects it toward the main control processor of the router instead of transmitting it downstream out one of the output ports of the router to a peer router across the network.
Ingress ASIC 304, based on the states of the various queues that it maintains and based on the destination addresses of the various packets that are represented by headers in those queues, sends requests through optical transceiver units 308-W and 308-P across optical link 310 (typically multimode ribbon fiber) to the central arbiter (not shown in
On the egress side, information chunk payloads are received from the optical switch matrix indirectly through internal optics modules 17-0W0 through 17-NW1 (see
A line control processor 307 is primarily responsible for controlling the facility protection switching function by examining the SONET error and failure indications from facility modules 11-0W and 11-0P and also by analyzing the indications that facility ASICs 301-1 through 301-4 develop from those incoming signals. The appropriate switching decisions are made in software and logic and are then implemented by line control processor 307.
In the egress direction in
In the egress direction, chunk payloads received from internal optics modules 17 are broken down into their original packets by egress ASIC 302 (see
Referring again to
Referring again to
Referring again to
The fault isolation and diagnostic method is initiated by launching a non-traffic-bearing data chunk from optical transmitter 502 on a predetermined data path through optical switch fabric 501 and then detecting and receiving the data chunk at optical receiver 504. The received data chunk is then examined according to predetermined criteria. If the non-traffic-bearing data chunk satisfies these criteria, then the predetermined data path is error-free. However, if the non-traffic-bearing data chunk fails to satisfy these criteria, then that predetermined data path is faulty. The predetermined criteria typically include forward error correction criteria, although other error checking criteria can be used.
The method of fault isolation and diagnostics illustrated in
Note that while embodiments of the invention have been described in terms of two SONET standards namely OC48 and OC192, alternative implementations of router 10 having an appropriate facility module can operate under other standards.
Embodiments according to the present invention are designed to protect against all single fault occurrences. Single faults include a single fault of a module, a single fault of a cable, or a single fault of a path. Accordingly, although some double faults are protected against, double faults generally lie beyond the scope of principal objects of the present invention and thus are not in general protected against.
Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.
This application is a continuation of co-pending and commonly assigned U.S. application Ser. No. 09/703,064, filed Oct. 31, 2000, entitled “Router Switch Fabric Protection Using Forward Error Correction,” the disclosure of which is hereby incorporated herein by reference. This application is related to co-pending and commonly assigned U.S. application Ser. No. 09/703,057, filed Oct. 31, 2000, entitled “System And Method For IP Router With an Optical Core,” to co-pending and commonly assigned U.S. application Ser. No. 09/703,056, filed Oct. 31, 2000, entitled “System and Method for Router Central Arbitration,” to co-pending and commonly assigned U.S. application Ser. No. 09/703,038, filed Oct. 31, 2000, entitled “System and Method for Router Data Aggregation and Delivery,” to co-pending and commonly assigned U.S. application Ser. No. 09/703,027, filed Oct. 31, 2000, entitled “Router Network Protection Using Multiple Facility Interfaces,” and to co-pending and commonly assigned U.S. application Ser. No. 09/703,043, filed Oct. 31, 2000, entitled “Router Line Card Protection Using One-for-N Redundancy,” the disclosures of which are incorporated herein by reference. This application is also related to commonly assigned U.S. application Ser. No. 09/702,958, filed Oct. 31, 2000, entitled “Timing and Synchronization for an IP Router Using an Optical Switch,” issued Mar. 23, 2004 as United States Patent 6,711,357.
Number | Name | Date | Kind |
---|---|---|---|
4195351 | Barner et al. | Mar 1980 | A |
4542507 | Read | Sep 1985 | A |
5107489 | Brown et al. | Apr 1992 | A |
5222063 | Foglar et al. | Jun 1993 | A |
5265088 | Takigawa et al. | Nov 1993 | A |
5271004 | Proctor et al. | Dec 1993 | A |
5278969 | Pashan et al. | Jan 1994 | A |
5331631 | Teraslinna | Jul 1994 | A |
5361249 | Monastra et al. | Nov 1994 | A |
5369635 | Gandini et al. | Nov 1994 | A |
5392328 | Schmidt et al. | Feb 1995 | A |
5485453 | Wahlman et al. | Jan 1996 | A |
5499290 | Koster | Mar 1996 | A |
5530806 | Condon et al. | Jun 1996 | A |
5537428 | Larsson et al. | Jul 1996 | A |
5561662 | Kakuma et al. | Oct 1996 | A |
5602844 | Lyles | Feb 1997 | A |
5724352 | Cloonan et al. | Mar 1998 | A |
5754118 | Brunner | May 1998 | A |
5809022 | Byers et al. | Sep 1998 | A |
5844887 | Oren et al. | Dec 1998 | A |
5862138 | Liu | Jan 1999 | A |
5883890 | Okanoue et al. | Mar 1999 | A |
5909427 | Manning et al. | Jun 1999 | A |
5987018 | Freeburg et al. | Nov 1999 | A |
6061798 | Coley et al. | May 2000 | A |
6087958 | Arzt | Jul 2000 | A |
6151318 | Woodward et al. | Nov 2000 | A |
6212175 | Harsch | Apr 2001 | B1 |
6226261 | Hurtta et al. | May 2001 | B1 |
6259699 | Opalka et al. | Jul 2001 | B1 |
6327267 | Valentine et al. | Dec 2001 | B1 |
6411599 | Blanc et al. | Jun 2002 | B1 |
6434191 | Agrawal et al. | Aug 2002 | B1 |
6449275 | Andersson et al. | Sep 2002 | B1 |
6473827 | McMillen et al. | Oct 2002 | B2 |
6507646 | Fishler | Jan 2003 | B1 |
6535310 | Rasala et al. | Mar 2003 | B1 |
6574232 | Honig et al. | Jun 2003 | B1 |
6587438 | Brendel | Jul 2003 | B1 |
6587457 | Mikkonen | Jul 2003 | B1 |
6597826 | Ramaswami et al. | Jul 2003 | B1 |
6606326 | Herring | Aug 2003 | B1 |
6665268 | Sato et al. | Dec 2003 | B1 |
6667955 | Blanc et al. | Dec 2003 | B1 |
6711243 | Holt | Mar 2004 | B1 |
6711632 | Chow et al. | Mar 2004 | B1 |
6826197 | Goode et al. | Nov 2004 | B1 |
6831927 | Castro | Dec 2004 | B1 |
6836482 | Zellerhoff | Dec 2004 | B1 |
6850704 | Dave | Feb 2005 | B1 |
6891823 | Schwartz et al. | May 2005 | B1 |
6910148 | Ho | Jun 2005 | B1 |
6938179 | Iyer | Aug 2005 | B2 |
7035267 | Zhou et al. | Apr 2006 | B1 |
7093160 | Lau | Aug 2006 | B2 |
7236453 | Visser | Jun 2007 | B2 |
7269133 | Lu | Sep 2007 | B2 |
7292535 | Folkes | Nov 2007 | B2 |
20030128709 | Venkitakrishnan | Jul 2003 | A1 |
20060072454 | Ain et al. | Apr 2006 | A1 |
Number | Date | Country |
---|---|---|
1 037 492 | Sep 2000 | EP |
WO 9427391 | Nov 1994 | WO |
Number | Date | Country | |
---|---|---|---|
20050083921 A1 | Apr 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09703064 | Oct 2000 | US |
Child | 10981841 | US |