Means and apparatus for a scaleable congestion free switching system with intelligent control III
A switching system for routing information packets that can simultaneously receive a variety of packet formats. The packet formats include electronic packet transmissions, optical wave division multiplexed data (WDM) with a single frame consisting of a plurality of packets to be sent to a common output line, with each packet traveling on a separate wavelength, WDM packets where the header of an individual packet travels on a wavelength different from the remainder of the packet (i.e. the payload) and the payload either travels on a single wavelength or is subdivided into a plurality of sub-packets with each sub-packet carried on a separate wavelength, and the like. The system includes input devices, a scheduling unit, a switching unit; and variable delay line units. A deconcentrator in the packet switching system creates a minimum gap between packets.
Latest Patents:
This Patent Application is based upon and claims the benefit of U.S. Provisional Application No. 60/606,136, filed Sep. 1, 2004, entitled “Means and Apparatus for a Scaleable Congestion Free Switching System with Intelligent Control III,” the entirety of which is incorporated herein by reference.
The disclosed system and operating method are related to subject matter disclosed in the following patents and patent applications that are incorporated herein by reference in their entirety:
-
- U.S. Pat. No. 5,996,020 entitled, “A Multiple Level Minimum Logic Network”, naming Coke S. Reed as inventor;
- U.S. Pat. No. 6,289,021 entitled, “A Scaleable Low Latency Switch for Usage in an Interconnect Structure”, naming John Hesse as inventor;
- U.S. patent application Ser. No. 09/693,359 entitled, “Multiple Path Wormhole Interconnect”, naming John Hesse as inventor;
- U.S. patent application Ser. No. 09/693,357 entitled, “Scalable Wormhole-Routing Concentrator”, naming John Hesse and Coke Reed as inventors;
- U.S. patent application Ser. No. 09/693,603 entitled, “Scaleable Interconnect Structure for Parallel Computing and Parallel Memory Access”, naming John Hesse and Coke Reed as inventors;
- U.S. patent application Ser. No. 09/693,358 entitled, “Scalable Interconnect Structure Utilizing Quality-Of-Service Handling”, naming Coke Reed and John Hesse as inventors;
- U.S. patent application Ser. No. 09/692,073 entitled, “Scalable Method and Apparatus for Increasing Throughput in Multiple Level Minimum Logic Networks Using a Plurality of Control Lines”, naming Coke Reed and John Hesse as inventors;
- U.S. patent application Ser. No. 09/919,462, entitled, “Means and Apparatus for a Scaleable Congestion Free Switching System with Intelligent Control”, naming John Hesse and Coke Reed as inventors;
- U.S. patent application Ser. No. 10/123,328 entitled, “A Controlled Shared Memory Smart Switch System”, naming Coke S. Reed and David Murphy as inventors; and
- U.S. patent application Ser. No. 10/289,902 entitled, “Means and Apparatus for a Scaleable Congestion Free Switching System with Intelligent Control II”, naming and Coke Reed and David Murphy as inventors.
The present invention relates to a method and means of controlling an interconnect structure applicable to voice and video communication systems and to data/Internet connections. More particularly, the present invention extends the concepts introduced in the related patent No. 8 entitled “Means and Apparatus for a Scaleable Congestion Free Switching System with Intelligent Control”.
This invention shows how to use the incorporated inventions to handle a wide variety of traffic conditions and non-connection protocols, including Internet Protocol and Ethernet. Moreover, new protocols and systems will come on line because of advances in technology and architectures. In particular, the present invention and the incorporated inventions very much broaden the horizon of possibilities. Therefore, in addition to describing systems to handle the existing packet formats, this patent describes systems that will handle future packet formats as well. Several packet formats may enter the switching system at the same time. The system may treat the various types of packets in different ways. In addition to teaching new ways to control and switch the packets, the present invention teaches how to handle packets at the input and output interfaces of the system.
SUMMARY OF THE INVENTIONThere can be no doubt that the volume of communication traffic will increase dramatically over the next twenty years. The next generation of switching systems must be scalable and intelligent. The next generation of switches must be reliable and able to carry more data at lower cost. The incorporated inventions clearly point the way to the future of switching. The switches of the future must be able to handle data that is sent in the present formats as well as handle packets that are sent in new formats that are made practical by the switching breakthrough described in this and the incorporated patents. The present invention describes an intelligent packet switching system that can simultaneously handle packets of various types. The systems explained in the invention are designed to have a large number of input and output ports with high bandwidth per port, to have low latency, to be reliable, and to offer cost effective solutions. The existing transparent switches are backbone circuit (connection) switches. What is needed is an intelligent transparent packet switch. This patent describes the first such device. The devices described in patents No. 8, No. 10 and this patent can be used in an extremely wide variety of applications. They can replace the existing backbone switches, thus offering far more flexibility to the entire system. They can serve as the next generation of very high bandwidth routers. In general, they can serve as the building blocks of the entire next generation of data-moving platforms.
A single switching system of the present invention can simultaneously receive a variety of packet formats, including:
-
- electronic packet transmissions;
- optical wave division multiplexed data (WDM) with a single frame consisting of a plurality of packets to be sent to a common output line, with each packet traveling on a separate wavelength;
- WDM packets where the header of an individual packet travels on a wavelength different from the remainder of the packet (i.e. the payload) and the payload either travels on a single wavelength or is subdivided into a plurality of sub-packets with each sub-packet carried on a separate wavelength; and
- a single-wavelength system, which is a subset of format (3).
The techniques employed here are very general, and it will be clear to one reasonably skilled in the art that these techniques can be applied to other forms of electronic and optical data. Each of the above packet formats can arrive at a system of the type described in patents No. 8 and No. 10. In the patent No. 8 and No. 10 descriptions, the optical packet is converted to electronics before insertion into the switch. In one embodiment of the present invention, the arriving electronic packets are switched electronically. In a first embodiment, the packets of format (2) are all converted to electronics and switched electronically, then switched back to optics (OEO). In a second embodiment, the packets of format (2) are switched optically in case the packets are all targeted for the same output port, but are switched electronically in case some of the packets in the frame are targeted for different output ports. In an embodiment described here, the packets of formats (3) and (4) are switched optically. In one embodiment, each output line of the switch is designed to carry only one of the three types of packets. Nevertheless, for each type, there is at least one output line from the system that is capable of forwarding that type of packet downstream. An important illustrative embodiment concerns the optical switching of packets of format (3).
The main steps of intelligent transparent packet switching are:
-
- The headers of the arriving packets are detected, processed, and sent to one or more logic units.
- The electronic logic unit (or units) controls a de-concentrating component of the system. The de-concentrating unit receives packets on N input lines and outputs packets on K output lines so that the minimum dark space interval between two consecutive packets on a de-concentrating unit output line will be greater than the minimum dark space between two consecutive packets on the input lines. Typically, the number K of lines out of this de-concentrating component is of the form 2J.N, where J is an integer.
- The packets are realigned in the K transmission lines. This realignment shifts packets back on the data lines a variable distance, but the sequential order of the packets on each line is left unchanged.
- The headers of the realigned packets are then read and sent to one or more logic units.
- A logic unit compares the headers of packets that are targeted for the same output line. Two or more packets to be compared may arrive from different input ports, and this comparison may take quality of service (QoS) into account in conjunction with current traffic at the output port. The comparison of information associated with packets destined for the same output port and action based on that comparison form an important feature of the present invention and of the invention described in patent No. 8. This feature provides a high level of intelligent control for systems described in patents No. 8, No. 10, and in the present patent. The control systems utilized in this patent and in patents No. 8 and No. 10 define a new, higher level of performance not found in other systems.
- After making their comparisons, the logic units determine how long to delay each packet in order to prevent a collision. Accordingly, the units cause the packets to be re-sequenced in the K data lines.
- The nodes of one or more optical packet switches are set by a logic unit, or the packets may pass through a self-routing packet switch, such as an MLML switch taught in patent No. 1.
- Packets are sent through a switch that may be constructed using a wide range of technologies, including optics and electronics.
- After a second variable-delay adjustment, packets in lines leaving the optical packet switch are concentrated into fewer data lines. Typically, there are N data lines entering the packet switching and control system; there are 2J.N or more lines internal to the system; and there are N lines leaving the switching and control system.
The packets may be amplified and cleaned up prior to sending them down output lines. The format of packets leaving the switch may or may not be the same as the format of packets entering the switch. Additionally, there may be amplification and cleaning of the packets inside the packet switch. An in-depth description of each of these steps is given later in the “Detailed Description” section of the patent.
In the embodiments of the invention described herein, there are N incoming lines entering the switch. Each input line goes through J de-concentration switches, so that the heavy traffic entering an input line into a de-concentration unit (similar to a time-division demultiplexer) exits through one of K=2J lightly loaded lines. The purpose of this process is to insure a sufficiently large “dark gap” between any pair of successive packets exiting the same path of the de-concentration unit. This large gap advantageously permits the use of slower, less costly switches in the remainder of the packet's journey through the system. There are a total of N.2J lines leaving the N de-concentrators. For ease of illustration, the drawings assume that J=2, so that K=2J=4. These lines may be denoted by the sequence {Lkn}, where 1≦k≦K=2J and o≦n≦N-1. Thus, the lines exiting the de-concentrator unit DCn would be denoted by L1n, L2n, . . . LKn. The number MD1 is defined as the time period (or “distance”) between the beginnings of the timing bits of two adjacent packets in the incoming lines. The number MD2 is defined as MD1·2J, which is the minimal time period between the beginnings of the timing bits of two adjacent packets in one of the lines leaving the de-concentrator. The term “timing bit” refers to the leading edge of the envelope of the optical packet, assuming there is a detectable dark gap between incoming packets. An optical or electronic line contains a system-wide reference signal of short pulses with a period of MD2.
The timing bit is read from incoming packets at input point PD. The packet is then put through a delay loop while the timing bit is sent to logic units that read the timing bit and send control signals to the switches in the de-concentrator and in the realignment modules. The logic functions in such a way that the 1×2 switches in the de-concentrator unit are set in a timely and orderly fashion prior to packet arrival, that is, switches are set/reset during the large dark gap between successive packets. This method has an additional advantage of causing the lines leaving the de-concentrator to be equally heavily loaded.
The 1×2 switches in the de-concentrator and in the re-sequencer can be constructed using lithium niobate gates, silicon optical amplifiers (SOA), or other type of optical gates of sufficient speed. In case the switches cause losses in the signal, there will be a need for amplification along the lines. These amplifiers are appropriately placed in order to amplify signals after they pass through a given number of gates. (These amplifiers are not always illustrated in the drawings.) There may also be a need for units that clean up the signal as it passes through the system, advantageously maintaining an adequate signal-to-noise ratio. The switch at the root of the de-concentrator needs to be faster than the switches further down the tree. The switches at the second level of the de-concentration tree can operate at a lower rate, and the switches at the next level can be still slower, and so forth. It is advantageous to have only one very fast switch per input connection because fast switches tend to be more expensive and use more power.
Packets entering the switch from upstream are generally out of synch with respect to each other and other input lines. It is the purpose of the realignment unit to build global synchronization. A system-wide timing signal is used for this global realignment. Control lines, signaling lines, data lines, and other non-packet transmission lines and devices may be optical, electronic, or may employ a combination of the two technologies. In some embodiments of the present invention, there may be multiple synchronous copies of this reference signal. The global alignment unit consists of a group of switches and delay loops. Packets first pass through a 1×2 root switch that sends packets “up” or “down,” that is, on alternate branches of the unit. Packets traveling up pass through a delay loop of length MD2/2. Following this loop, the packets enter an optical variable-delay unit, VDL, consisting of a tree of switches and loops that can delay a packet a minimum of o time units to a maximum of MD2 time units. Packets passing through the bottom of the root switch enter an identical variable-delay unit VDL. Therefore, the packet alignment system is capable of delaying the packets a minimum of zero to a maximum approaching 3·MD2/2.
The packets leave the alignment unit in such a way that a packet on the top line of the 2J lightly loaded lines has its center positioned midway between a system-wide, periodic timing pulse and a point traveling at distance MD1 behind the pulse. Packets traveling on the line one down from the top line have their centers halfway between a point traveling MD1 behind the pulse and a point traveling 2·MD1 behind the pulse. This continues until the packets traveling on the bottom line of the 2J lines has its center halfway between a referenced pulse and a point traveling at a distance MD1 ahead of that pulse.
The decision whether or not to send a packet up or down through the first loop is made so that the packets entering either system VDL need to be delayed an amount between MD2/4 to 3·MD2/4. The purpose of this first loop is to avoid the problem of one packet being delayed an amount close to MD2 and a following packet being delayed an amount close to zero, thus causing a collision.
The set of all packets that leave the system alignment units in the time interval between two successive pulses of the reference signal can be formed into groups. Let G1 denote the collection of all packets in this interval that exit from the top line L1n of some system alignment unit PAn. Let G2 denote the collection of all packets in the interval that exit from the set of lines L2n, which are located one below the top line of the alignment units. Continue in this manner so that GK denotes the collection of all packets in the interval that exit from the set of bottom lines LKn of the alignment units. Note that for each k in the sequence, Gk contains N or fewer packets, and that all the packets in Gk are aligned with respect to each other. Furthermore, if 1≦k<K, then all the packets in Gk precede the packets in Gk+1 by an amount determined by the length of a packet plus the length of the gap between consecutive packets.
After alignment, the packet enters a packet header reader, HR, which has an optical tap that connects to an optical-to-electronic converter (O/E). The packet then enters a large optical delay loop that delays it a sufficient amount of time for the control system to determine what to do with it. The delay loop may contain a plural number of packets and serves as a FIFO (first-in, first-out buffer). There is an input port controller (IPC) in the system control unit for each input port; the IPC reads the packet header to determine its priority and output port. The packet switch is a crossbar-type switch with N inputs, N outputs, and N2 nodes. A requirement for the operation of a crossbar is that no more than one input can be connected to a given output at the same time. It is the function of the control system to honor this constraint while taking into account any QoS requirements and any contention among a plurality of input ports that want to send to the same output in the same time interval. The control system achieves these objectives in a scalable manner by means of what can be thought of as an “analog” of the packet switch in conjunction with a set of output-port traffic managers. During the time the packets are in the optical FIFO, each IPC sends a surrogate of the actual packet (a “request”) to the appropriate virtual output port, termed a “request processor”. Each request processor (RP) controls and schedules all traffic for its associated output port. For each cycle, an RP may receive zero, one, or multiple requests; it examines the timing and priority fields of each request and decides when each of the competing IPCs will get to use the crossbar for its respective packets. Typically, each IPC will have future time slots that are booked for packets that entered the FIFO earlier and other time slots that are currently available. The request packet from the IPC informs the RP which slots are available for its use. The RP keeps track of current and future time slots that are still available, that is, upcoming time slots that are open for the associated output port. The RP processes the set of requests from one or more IPCs along with its set of available time slots; it then sends to each requesting IPC an “answer” indicating when the packet must enter the switch. In this process, input port controllers (IPC) do not communicate directly with each other; similarly, request processors (RP) do not communicate directly with each other. An IPC communicates solely with an RP to which it wants to send a packet; an RP communicates solely with requesting IPCs, but only in response to a request to send to the port under its control. Communication from IPCs to RPs is by means of a scalable request switch (RS) of the type disclosed in patents No. 1 through No. 7. Response packets are communicated by a similar answer switch (AS). Control systems are disclosed in the inventions taught in patents No. 8 and No. 10.
The above steps are performed and completed while the subject packet is in the optical FIFO. The RP informs the IPC of the time slot in which to send the packet into the crossbar (packet switch). Accordingly, as the IPC knows when each packet will exit the FIFO, it easily computes how much longer the packet is delayed after exiting the FIFO so that it enters the crossbar exactly on schedule. Upon exiting the FIFO, the packet enters an optical variable-delay unit (consisting of an optical demux) that feeds into a set of delay loops whose lengths are integer multiples of the packet cycle time. The packet is switched through the appropriate delay loop and enters the crossbar at the time specified by the RP, which desirably prevents collisions. In some cases, an output port may be overloaded, and thus, one or more packets must be discarded; in this case, the packet is discarded before entering the crossbar. When QoS is implemented, the request processor uses priority in determining what to throw away.
Packets exit the crossbar at the output port determined from its header. If a de-concentration step was performed at the front end, packets destined for the same output port enter a concentrator (MUX) that combines them into a single downstream line. In some embodiments, a packet re-alignment unit makes relatively small adjustments to the packets prior to entering the MUX; thus, the minimum inter-packet dark gap is maintained downstream.
BRIEF DESCRIPTION OF THE DRAWINGSIn the FIGURES, optical signal paths are generally indicated by “λ” and are drawn with smooth curves when the direction changes; electronic-only paths are drawn with sharp angles.
A block diagram of an intelligent switching system is illustrated in
-
- packet detectors (PD) 222;
- packet de-concentrators (DC) 224;
- packet alignment units (PA) 226 and 234 (284 in
FIG. 2C ); - header readers (HR) 228;
- packet re-sequencing units (RS) 230;
- packet switches (PS) 232;
- packet concentrators (PC) 236;
- system logic control unit (SLC) 260 (280 in
FIG. 2C ) that globally manages and controls the flow of all traffic through the system; and - an external control and interface unit, (ECIU) 254 that communicates with all internal processing devices in the system, coordinates and updates many details of their functions, and supports external operation, administration and control of the entire system.
A packet enters the system on line 202. It passes through packet detector 222, which detects if (and precisely when) the leading edge of a packet has entered the system. This timing signal is sent to de-concentration unit 224 via line 242 and, in one embodiment, also to packet alignment unit 226 via line 244. The packet continues through the switching system on its journey to output line 218 on the following path:
-
- via interconnect line 204 to packet de-concentration unit 224 (which is similar in function to a time-division demultiplexer);
- through interconnect line 206 to packet alignment unit 226, which provides internal system-wide synchronization to facilitate subsequent processing,
- via line 208 to header reader and delay unit 228;
- through interconnect line 210 to packet re-sequencing unit 230;
- via line 212 to packet switch 232;
- through line 214 to a second alignment unit 234, which makes small timing adjustments so that the packet is aligned suitably for the next concentration step;
- through line 216 to packet concentrator 236 (similar to a time-division multiplexer), and finally;
- the packet exits the system via line 218 and is sent downstream on its journey to its eventual destination.
The packet de-concentration units 224 and the packet alignment units 226 and 234 do not use the data content of the packet; instead, they use the timing of the “envelope” of the arriving packet. A header reader unit 228 employs an optical tap to send a copy of the packet header 180 to the system logic control unit, where it is converted to electronic form. Control system 260 employs means and apparatus to read and process header information for subsequent management of all packets and their flow through the switching system components. Fixed-delay loop 602 in the header reader acts as an optical packet buffer (an optical FIFO) that delays a packet for a sufficient amount of time for control system 260/280 to complete all operations that determine the subsequent path of the packet. Packet re-sequencing units 230 and packet switches 232 are controlled by the system logic control unit (SLC) 260/280. The system control unit sends control information (which is based on current traffic rates, packet priority, and target output port status) to re-sequencing units 230 and to switches 232. Understanding of the operation of the intelligent switching system is achieved by understanding each of its component units and their collective functions. The component units will be described in the order in which they receive packets and control signals.
Alternate embodiments of the system are illustrated in
It is convenient for the header to be of a specific wavelength λo so that device 302 can passively strip off a portion of the light of wavelength λo from the packet. In an alternate embodiment, it may be convenient for each bit of the header to be a different wavelength (but requires that more wavelengths be broadcast). In the case where the header has multiple wavelengths, λo is the wavelength of the timing bit.
The time of arrival of the packet is the only control information that is used by the de-concentration unit. In order to delay the packets for the proper amount of time, and thus synchronizing their arrival with the control information, the packet detector contains a delay loop 276. Accordingly, the packet detector sends a signal, which indicates the precise arrival time of the packet at the de-concentration unit. This signal is the timing bit in the header of packet M; it is this bit that governs the timing of the control bit in line 242. In other embodiments, there is a plurality of lines 242 from the packet detector to the de-concentrating unit. Each of these lines carries a timing signal to various switches that are internal to the de-concentration unit. It is important that the signal on line 242 arrive precisely at the right time. In an alternative embodiment, the header (which includes the timing signal) is sent directly from the packet detector to the de-concentrator. Depending on the technology, it may be necessary that the de-concentrator have an optical to electronic conversion unit.
Refer to
The de-concentration unit of
Referring to
The purpose of the de-concentrator unit is to create ΔB, a large, regular gap between packets. Accordingly, slower and lower-cost switches are employed in the remainder of a packet's journey through the system.
Refer to
The
In another configuration (not illustrated), all four input lines for a unit could be managed by a single 4×32 switch. Using tunable lasers (or other demux-type node) for internal switching, the intelligent switching system could be constructed using three sets of the selected switch: one set for the alignment units, one set for the re-sequencing units, and one set for the packet switches. An alternate design for a packet alignment unit is illustrated in
-
- a timing bit (TB) 102 (or leading edge of the optical envelope) that is used to indicate that a packet is present and also to indicate the precise time of arrival of the packet;
- a QoS field 106 that is used by the system logic control unit (SLC) to assign a packet priority (PP) to the packet; and
- information that can be used to ascertain a target output port (TOP) 104 for the packet.
These three fields, TB, QoS, and TOP, are used by SLC to generate and apply its control signals. SLC immediately converts the packet header from optical to electronic form (unless O/E conversion has already been performed) and obtains the content of header fields. In case each of the heater bits is on a separate wavelength, each header bit can be dropped using a chromatic filter or similar device. Otherwise, single-wavelength, serial O/E conversion can be employed. The packet header may contain other fields that are used by various embodiments of the intelligent switch. In particular, they may contain multicast bits.
As illustrated in
Each request processor 710 controls the flow of packets into the packet switches. Based on information such as QoS and load on the target output port, a request processor selects an available time slot and returns it as TS 122 in an answer packet 140 (via the answer switch AS 712 and line 718) to the input port controller that sent the request. In some cases, it may be necessary to discard the packet. In one embodiment, during each request cycle, request packets are received for only one packet switch 232. Upon receipt of an answer packet by an input port controller, the IPC knows when to send its packet into the packet switch, and thus knows the required delay for the packet. When a packet is approved by a request processor, it also sends switch-setting information for the packet via line 720 to the switch controller SC 714, either directly or via an input port controller. SC collects switch setting information from all of the request processors and organizes it by switch injection time. Just prior to a set of packets arriving at switches 232, SC sends the appropriate switch-setting information on lines 250 to set the crossbar nodes 902.
Referring to
SLC 260 determines the delay time per packet for all packets, where one time unit MD2 consists of the time associated with one packet plus its minimum inter-packet gap on a “de-concentrated” line. The outcome of the SLC is the determination of how much time each packet must wait before it can enter packet switch 232, desirably avoiding collisions, while taking into account current traffic rates and QoS demands. Input port controller 704 is the final device in this process of determining the delay for a packet that has arrived at its associated input port. Importantly, the packet is moving through the FIFO during the time it takes to determine its delay value. Immediately before the packet exits FIFO 602, the input port controller informs the re-sequencing unit how long to delay the packet. Alternately stated, re-sequencing unit 230 can be thought of as a set of fixed delay lines terminating at the same point. For example, packets may enter the system in the order A, B, C, D, E, and F, and exit in an arbitrary sequence, such as C, F, B, D, A, and E In this example, packet A is delayed eight periods longer than packet F.
Referring to
Refer to
-
- optical crossbar switches;
- crossbar-like N×N switches in which each input port is capable of choosing one of N wavelengths to send its data and each output port is tuned to accept only one of the wavelengths, with each output port accepting a different wavelength; or
- optical MLML switches as described in the referenced patents.
MLML switches may be self-routing or may be optical slaves to electronic MLML networks within the switch controller 714 (as described in patent No. 2). In case an MLML switch is employed, it is useful to attach optical delay lines of various lengths to the outputs of the innermost rings. The delay lines for all of the nodes at a single angle are equal. In this way, all of the packets are realigned after emerging from the system composed of the MLML lo network and these delay lines.
If packets entering the system on lines 202 were spaced sufficiently far apart or if low-cost high-speed 1×2 switches are available, then the de-concentration unit 224 is not be required. An embodiment of the invention with this property is illustrated in
the de-concentrator unit 224;
the additional packet alignment unit 234; and
the packet concentrator unit 236.
Thus, packets exit this system directly from the packet switch 232 on lines 220.
Another embodiment, 205, of the invention, shown in
In another embodiment, the design given in
-
- All inter-unit signaling components and control units, including cabling, connectors, and circuit board components, employ low-cost, high-speed OTS (off the shelf) electronic transmission technologies wherever practical or economically warranted.
- There is only one fixed-delay loop FDL 276 per end-to-end path through the system, and O/E conversion of optical header contents to electronic form is performed early, and only once per packet, at OE unit 272.
- Packet header content is sent on electronic communication line 282 to the system logic control system (SLC) 280.
- SLC receives immediate notification of packet arrival and determines all timing, aligning, and re-sequencing settings for all packets.
- There is only one packet alignment device, 284, per path, which is similar in function to variable delay unit 520, except that control signal 288 is generated by input processor control unit (IPC) 724, taking into account factors already mentioned as well as end-to-end timing measurements for all paths and components the packet may use.
- Re-sequencing of packets is performed by re-sequencing unit (RS) 230, which is similar in function to the re-sequencing unit of
FIG. 8 . -
FIG. 9B illustrates optical crossbar switch 278. The switch is controlled directly by the set of IPCs. An IPC uses signal line 726 to control the single input port associated with that IPC. It sets one node, 902, on input line 212 to make an optical connection to one output line 214. (When there is no packet, no connection is made.) - IPC 724 can command its associated test-packet generator (TP) 296 to generate an optical test packet and inject it into the front end for testing the end-to-end operation of any optical path originating at its input port, and thus, obtain precise timing information for any such path. A command to the test-packet generator is sent over line 274 from the input port controller.
- Optical packet feedback tap (OFB) 292, located at an input port of the packet switch, informs IPC 724 the of successful transmission and precise arrival time of a packet through the series of 1×2 switches and delay lines between the system input from line 202 and the input into the data switch from line 212. Optical encoder (OE) 272 provides the precise time of arrival of a packet (including a test packet) entering the system. Signals from OFB and OE provide precise timing measurements of a packet that passes through the system, advantageously providing the control system and the IPC with information needed for fine tuning of timing during operation, and eliminating the need for additional alignment steps. Faults and failures in the optical plumbing can be identified in this manner as well. Test packets generated by optical packet generator 296 provide timing information during system setup, maintenance, and normal operation.
- OFB 292 signals the control system over electronic line 294. The signal shows of the successful end-to-end transmission and precise timing of normal packet traffic through the system, thus permitting fine-tuning of timing and alignment during normal operation. This process allows the system to adjust for temperature effects on optical fibers that occur during ongoing system operation, as well as make adjustments for other effects.
- OFB 298 is located at the final output of the switch, which advantageously informs the system logic control system of the successful switching and precise timing of a packet through the entire system, including packet switch 278. In one use of OFB 298, a “target” IPC (IPCT) sends an I/O message 160 to a “sending” IPC (IPCS), requesting that IPCS generate an optical test packet (TP) and send it to the output address of IPCT. IPCS uses OFB 292 to determine time, tIN, when TP enters the switch. IPCS sends an I/O message to IPCT, which includes the time (tIN) that TP entered the data switch (along with other information to identify S, T, the nature of the message, and the expected time packet TP will arrive at output T). IPCT uses OFB 298 to determine the precise time, tout, that TP exited the switch; it then determines the delay between ports S and T: tST=tOUT−tIN. This timing measurement is sent back to IPCS so that it can make fine-tuning adjustments when sending a packet to IPCT. Alternately, processor T can simply send the timing value back to IPCS by means of an I/O message. IPCS uses this value to determine tST. In the case where S=T, IPCS uses its connections to input OFBS 292 and output OFBS 298 to measures tSS.
- In an operation where the target address T is cycled through all port numbers, IPCS generates and updates an internal timing table for all outputs. By these means and methods, the timings and delays of all components in the system can be measured. An IPC uses this information to determine how to set packet alignment units in order to make fine-tuning adjustments. An IPC can generate a suite of test packets sent into a plurality of input ports to check overall system performance and to measure the timing parameters of individual components, fibers, and connections. It may initiate this process autonomously as part of its normal operation, or it may be commanded by the ECIU. The ECIU can command an input processor (S) to send a test packet to a target processor (T) to initiate the sequence just described; the result, tST, is sent back to the control system for ongoing maintenance and operations purposes.
- Other uses of OFB include component failure detection, and other operational and maintenance functions in conjunction with ECIU 254.
- Optical amplifier (OA) 286 amplifies the signal for purposes that include increasing signal strength for downstream transmission and improving the optical signal to noise ratio. Optical amplifiers are placed at a plurality of locations along the optical paths to appropriately maintain signal amplitude and signal to noise levels.
Referring to
-
- setting up and changing parameters for the operation of IPCs;
- setting up and changing algorithms for the operation of IPCs;
- receiving notification of normal operation and traffic conditions from IPCs and RPs on a timely or periodic basis;
- setting up and changing parameters for the operation of RPs;
- setting up and changing algorithms for the operation of RPs;
- receiving traffic-flow information from RPs during operation;
- receiving timely and urgent notification of exceptional operation or traffic conditions from IPCs and RPs, e.g. failure of a component such as a 1×2 optical switch, an optical fiber or connection, or an electronic line, connection or component;
- ECIU can command a specific IPC to generate test packets for testing, initialization, diagnosis, troubleshooting, and fine-tuning operations;
- any RP can send an I/O packet P to any IPC (where packet P is not an answer packet 140);
- any IPC, S, can send an I/O packet P to a target IPC, T, by sending the packet through an RP, which forwards P to IPC T; similarly, any RP can send an I/O packet to another RP by sending it to an IPC, which forwards P to the target RP.
One use for IPC-to-IPC communications is to generate an optical test packet and use it to gather timing information for paths from one port to another. One use for RP-to-IPC communication (in addition to its primary answer-packet function) is to inform an IPC of exceptional conditions such as excess traffic for the output address associated with the RP. In general, an IPC has greater processing capabilities than an RP. An IPC analyzes the traffic information and can inform the ECIU, which has yet greater processing and analysis capabilities and can use the information in managing the system. ECIU functions include operator interface, maintenance, diagnosis and troubleshooting, collecting and analyzing traffic data, putting ports online and offline, and managing user requirements such as QoS service for different traffic types and different ports. By these means and methods, any processing element in the system has a high-speed connection to any other, which is an advantage of the parallel, scalable nature of all communications in the system.
System 270 (
In yet other embodiments of systems 200 and 205, test-packet generator 296, optical feedbacks 292 and 298, and SLC 280 can be suitably incorporated for purposes and uses mentioned above, including system installation, setup, reconfiguration, operation, management, system analysis, diagnosis, and repair functions.
Other embodiments of the invention could combine the ideas taught in this patent with the ideas taught in referenced patents No. 8 and No. 10. For example, some of the input or output lines of the system could be electronic. In another embodiment, some of the data is switched optically, while other data is switched electronically. One skilled in the art will be able to see other variation of this scenario by combining ideas in the referenced patents.
Claims
1. A switching system for routing information packets, comprising:
- a plurality of input devices;
- a scheduling unit;
- a switching unit; and
- a plurality of variable delay line units, said scheduling unit controlling the amount of time that a packet spends in a said variable delay line unit before entering said switching unit.
2. A switching system in accordance with claim 1, wherein said scheduling unit sets the length of delay of said variable delay line unit based in part on a request from an input device.
3. A deconcentrator in a packet switching system for creating a minimum gap between packets, said deconcentrator having an input line carrying a plurality of incoming packets and a plurality of output lines carrying a plurality of output packets, said de-concentrator comprising:
- a plurality of 1×2 switches arranged in a tree structure, said tree structure having a plurality of levels Lo, L1,... LN-1 with 2J switches positioned at level J;
- a logic unit for setting the switches in the tree structure; and
- two integers M and N with o≦M≦N≦N with a switch positioned at level N being of lower cost than a switch positioned at level M.
4. A switching system having a plurality of incoming lines, a plurality of de-concentrating units, a plurality of incoming packet alignment units, a plurality of header reading units, a plurality of re-sequencing units, a plurality of packet switches, a plurality of outgoing packet alignment units and a plurality of packet concentrators and a switch logic controller, wherein:
- a packet entering an incoming control line passes through a de-concentrating unit, then an incoming packet alignment unit, then a re-sequencing unit, then a packet switch, then an outgoing packet alignment unit, then an outgoing packet alignment unit;
- two packets entering a said packet switch so as to be in said packet switch at the same time are destined for different output ports of said packet switch;
- the header reader sends packet header information to said switch logic controller;
- the switch logic controller sends information to the said re-sequencing units;
- the re-sequencing units contain variable length delay lines;
- the non-collision of packets in the packet switch unit is enabled by the variable amount of time that the packets spend in the packet re-sequencing units.
5. A switching system in accordance with claim 4 wherein the logic controller is electronic.
6. A switching system in accordance with claim 4 wherein optical packets enter the switch and optical packets exit the switch and the payloads of said packets remain in the optical domain and are never converted to the electronic domain.
7. A method of transparent packet switching comprising:
- detecting headers of arriving packets;
- sending the header information to at least one logic unit;
- receiving the packets at a de-concentrating units with a de-concentrating unit having more output lines than input lines;
- realigning the packets on the de-concentrator output lines;
- comparing the headers of the packets;
- utilizing header information for selecting a particular time for a packet to enter a switch.
8. The step of comparing according to claim 7, wherein the headers of the packets are compared based on quality of service and previous scheduling of packets to exit switch output ports.
9. The step of switching according to claim 7, wherein the switching is electronic.
10. The step of switching according to claim 7, wherein the switching is optical.
11. A transparent optical switching system consisting of a plurality of incoming lines, a plurality of outgoing lines, and a plurality of optical switching units PS1, PS2,... PSK wherein:
- data as optical packets enter and leave the transparent optical switching system and headers of said optical packets are never converted to electronics;
- the amount of time necessary to switch an optical switching unit PSJ exceeds the amount of time between packets entering the switch;
- the packets entering the transparent optical switching unit are de-concentrated an placed on de-concentrated lines;
- the amount of time between two packets on a de-concentrated line exceeds the amount of time necessary to set an optical switching unit PSJ;
- a packet entering the transparent optical switching system is passes through an optical switching unit PSJ to the target output port of the packet.
12. The transparent optical switching system in accordance with claim 11 wherein a packet alignment unit re-aligns the packets so that a group of packets simultaneously enter an optical switching unit PSJ.
13. The transparent optical switching system in accordance with claim 11 wherein there is a packet re-sequencing unit that re-sequences the packets so that two packets entering an optical switching PSJ at the same time are targeted to different output ports of PSJ.
Type: Application
Filed: Aug 31, 2005
Publication Date: Aug 3, 2006
Applicant:
Inventors: John Hesse (Moss Beach, CA), Coke Reed (Austin, TX), David Murphy (Austin, TX)
Application Number: 11/214,984
International Classification: H04L 12/56 (20060101); H04L 12/28 (20060101);