The present invention relates to a system and method for optical communications, and, in particular, to a system and method for multi-wavelength encoding.
Data centers route massive quantities of data. Currently, data centers may have a throughput of about 5-7 terabytes per second, which is expected to drastically increase in the future. Electrical packet switches are used to route data packets in these data centers. Electrical packet switches switch or route packets based on a packet header with inter-stage buffering. The buffering can overflow, causing packet loss and the need for packet retransmission.
Racks of servers, storage, and input-output functions may contain top of rack (TOR) packet switches which combine packet streams from their associated servers and/or other peripherals into a lesser number of very high speed packet streams per TOR switch. These packet streams are routed to the packet switching core switch resource. Also, TOR switches receive the returning switched streams from that resource and distribute them to servers within their rack. There may be 4×40 Gb/s streams from each TOR switch to the core switching resource, and the same number of return streams. There may be one TOR switch per rack, hundreds to ten thousands of racks, and hence hundreds to ten thousands of TOR switches in a data center.
There has been a massive growth in data center capabilities, leading to massive electronic packet switching structures, which are becoming more complex, difficult and expensive to implement. There is a desire for alternative to this approach, such as photonic packet switching.
An embodiment method for multi-wavelength encoding includes receiving an input packet stream having an address and data and encoding the address of the input packet stream producing an encoded address including a first group of symbols including a first selected symbol, where the first group of symbols has more than two symbols. The method also includes generating a first wavelength in accordance with the first selected symbol and generating an output optical packet stream having the data of the input optical packet and the first wavelength, where the first wavelength corresponds to the first selected symbol. Additionally, the method includes modulating the first wavelength with the input optical packet stream.
An embodiment method for decoding multi-wavelength addresses includes splitting an input optical packet stream having a plurality of wavelengths to a first optical stream and a second optical stream and separating the first optical stream into a first group of optical streams by wavelength, where the first group of optical streams is more than two optical streams. The method also includes detecting optical power in the first group of optical streams producing a plurality of symbols, where optical power is detected in the first optical stream of the first group of optical streams.
An embodiment system for multi-wavelength encoding addresses of an input packet stream includes a packet stream address reader configured to determine the address of an input optical packet of the input packet stream and a first encoder coupled to the packet stream address reader, where the first encoder is configured to encode the address a first including a first group of symbols including a first selected symbol, and where the first group of symbols has more than two symbols. The system also includes a first plurality of switches coupled to the first group of symbols and a first plurality of wavelength sources coupled to the first plurality of switches. Additionally, the system includes a first optical modulator coupled to the first plurality of switches and the input optical packet, where the first plurality of switches is configured to couple a first wavelength source of the first plurality of wavelength sources to the first optical modulator, and where the first wavelength source corresponds to the first selected symbol.
An embodiment system for multi-wavelength decoding addresses of an input optical packet stream includes a splitter configured to split the input optical packet stream into a first optical stream and a second optical stream and a first optical filter configured to separate by wavelength the first optical packet stream to produce a first group of optical streams including more than two optical streams. The system also includes a first plurality of optical detectors coupled to the first optical filter configured to detect power in the first group of optical streams and detect power in the first optical stream of the first group of optical streams. Additionally, the system includes a switch coupled to the first plurality of optical detectors configured to switch the second optical stream with the first group of optical streams.
The foregoing has outlined rather broadly the features of an embodiment of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of embodiments 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 embodiments disclosed may be readily utilized as a basis for modifying or designing other structures or processes 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.
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawing, in which:
Corresponding numerals and symbols in the different figures generally refer to corresponding parts unless otherwise indicated. The figures are drawn to clearly illustrate the relevant aspects of the embodiments and are not necessarily drawn to scale.
It should be understood at the outset that although an illustrative implementation of one or more embodiments are provided below, the disclosed systems and/or methods may be implemented using any number of techniques, whether currently known or in existence. The disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
Photonic packet switches are a family of network communication elements that can be used as the core switch in a data center, or used in any other packet switching environment. In a photonic packet switch, packets are switched by photonic devices, without converting them to electrical signals. Packet switches switch streams of packets by switching each packet independently towards its destination.
There are several methods of wavelength-based address coding, and various implementations to achieve those codings. The destination address of each packet is encoded by illuminating a combination of wavelengths at the transmitter, with several schemes. In one example, binary coding is used. To encode a symbol, one of two wavelengths is selected. For example, the first wavelength is selected for a “0,” and the second wavelength is selected for a “1,” or vice versa. The address may be encoded with two wavelengths per symbol.
In another example, an address is encoded as n digits with a base m. One of several wavelengths is selecting. The number of candidate wavelengths is m*n. This leads to the address being expressed in ternary, quaternary or higher level coding of optical carrier wavelength into address. The address space, is 3n, 4n or in the general case mn. There is an increased address space for a given total number of selected wavelengths, or a reduction in the number of selected wavelengths for any given address space, thereby increasing the bit-rate per optical carrier. This scheme may increase or decrease the number of candidate wavelengths for a given address space, depending on the exact scenario.
In an additional example, n wavelengths are selected from M candidates, without assigning them to groups. This gives a large address space and/or reduces the number of candidate wavelengths and reduces the number of lit wavelengths. The maximum address space is M!/((M−n)!*n!).
In another example, the address is encoded into k groups of (n/k from M/k wavelengths), which results in [Select n/k from M/k] over 1/kth of the address lines, repeated k times. These examples may be combined.
In one embodiment, the selected wavelengths are used only for address signaling, and do not carry the data payload. In another embodiment, the selected wavelengths are used for address signaling, while some or all of the wavelengths also carry the data payload.
The packet stream data and the packet address information are then passed to lookup wavelength module 284. Lookup wavelength module 284 is a packet address and wavelength value mapper, which sets the wavelengths to encode the packet address for the corresponding packet. The wavelengths are different for each packet, based on its address. In one example, the symbols in the address are mapped to one of two wavelength values, depending on whether that bit is a “0” or a “1.” One of the wavelengths is selected if the bit is a “0” and the other wavelength is selected if the bit is a “1.” Therefore, for a ten bit address, ten separate operations occur, each selecting one of two wavelength values based on the value of the bit. Hence, for a ten bit address, there are twenty wavelengths selected from.
The selected wavelengths are fed, along with the packet, to transmitting module 288. Transmitting module 288 contains a bank of modulators. In an example, the packet is inverse multiplexed, resulting in an inverse multiplexed stream for each selected wavelength. In another example, the packet stream bypasses the inverse multiplexing function, with the full bandwidth stream fed into a single electro-optic modulator, creating an optical copy of the packet for each stream.
The packet stream is then split by optical splitter 290 into two streams. One packet stream is fed to optical filters 294, which may be ring resonators. Optical filters 294 separate the optical carriers according to wavelength. These individual optical carriers are fed to optical receivers 292, which measure the presence or absence of optical power at the filtered frequency. The outputs of optical receiver 292 are fed in pairs to logical gates 296, which provides a “1” for power detected on a first input and no power detected on a second input, or a “0” for no power detected on the first input and power detected on the second input. The pair of wavelengths going into one of logical gates 296 is a pair of wavelengths that encode an address bit.
Delay module 298 delays the other packet stream. Optical switches 301 route this optical packet stream to one of the two output ports based on the output from logical gates 296. The output of the first of optical switches 301 connected to inputs on one of two next stage switches, where the process continues in stages. Optical switches 301 as illustrated are 1:2 switches, but larger switches may be used.
Additional packet address decoders are disclosed by the U.S. Provisional Patent Application Ser. No. 61/591,628 entitled “Spectral Encoding of an Optical Label or Destination” filed on Jan. 27, 2012, U.S. patent application docket number 4194-52800 entitled “Optical Switching Device Using Spectral Trigger” filed on ______, and U.S. Provisional patent application docket number 4194-52701 entitled “Spectral Encoding of an Optical Label or Destination,” filed on ______, which applications are hereby incorporated herein by reference.
Parallel structures 300 include logical buffer gate 306 in parallel with logical inverter 308. Logical buffer gate 306 and logical inverter 308 drive optical switches 304 based on the symbol value. In an example, optical switches 304 are small on/off optical switches. Optical switches 304 open a connection to one of wavelength optical sources 302. One of a pair of wavelength optical sources 302 is connected to optical modulator 422 based on the symbol value.
In an example, inverse multiplexing is used. There are n optical modulators 422 in parallel. The packet stream is fed to inverse multiplexer 420, which may be a packet edge synchronized inverse multiplexer. Inverse multiplexer 420 converts the packets in the packet stream to packet fragments in n lower speed data streams at a rate of 1/n of the input to the inverse multiplexer for the n output lines, which are fed to n optical modulators 422. These n data streams are fed to the n optical modulators 422 to create n different optical carriers. These n optical carriers in combination contain both the routing information and the wavelength, and the packet data.
In another example, inverse multiplexing is not used. There is one optical modulator 423. The selected optical carriers may be combined optically into a multi-carrier optical signal which is modulated with the packet data at the full data rate in optical modulator 423, which is a broadband optical modulator. Optical modulator 423 modulates the set of optical signals at the original data rate.
In m-ary coding, wavelengths may each be selected from one of more than two candidate wavelengths. Selecting a given number of active wavelengths from more candidate wavelengths increases the address space. For a given required address space, the number of active optical carriers can be reduced, thereby increasing the bit rate per optical carrier.
As an example, for an address field of 5,000 the values of m, n shown in
With or without inverse multiplexing, the entire optical packet stream bandwidth is carried on one fiber and fed through one switch as a multi-wavelength signal. The output is amplified by optical amplifier 424. The far end optical conversion, not pictured, involves optically demultiplexing the carriers and sending the carriers into separate optical receivers. With inverse multiplexing, an array of n receivers may feed an inverse-inverse multiplexer to reinstate the original packet stream. Without inverse multiplexing, the receivers generate a version of the entire packet stream at full bandwidth. If the link budget across the switch is marginal for the high speed signal, each of the replicated copies may have a high error rate. The high error rate may be drastically reduced by applying combinational techniques, such as majority decision making.
The packet address enters encoder 412, which maps the binary addresses of the packets to another numerical base.
These active lines activate optical switches 414, which are small fast optical on/off switches, such as integrated Mach-Zehnder switches. These switches have to be fast to set up the optical carrier during the inter-packet gap between the packets of the packet stream, which is about 1 ns for a 100 Gb/s stream or 2.5 ns for a 40 Gb/s stream. Optical switches 414 are coupled to wavelength generators 413. Thus, optical switches 414 couple the selected source, and hence the selected wavelength, encoding one m-ary symbol into an optical carrier. One optical switch and one wavelength generator per group is activated. Therefore, n optical carriers carry the packet data plus packet address information in an address field of m″. For an n symbol m-ary address, the total number of candidate optical carriers is m*n.
The selected wavelengths are then amplified by optical amplifiers 418, for example to offset the loss from optical combiners. With inverse multiplexing, the selected wavelengths are fed to optical modulators 422. The outputs of optical modulators 422 are then combined to produce a multi-carrier optical signal with n optical carriers containing inverse multiplexed packet data at 1/n of the original data rate and an address field of m″. Without inverse multiplexing, the selected wavelengths are fed to optical modulator 423.
By manipulation of m, an arbitrarily large address field may be created by a given value of n. Alternatively, for a given size address field, the bit rate reduction per optical carrier may be varied by the choice of m and n.
An embodiment of the m-ary coding approach and its implementation is for the case of m=2k where k is an integer.
The outputs of encoders 432 are fed to optical switches 414. The output of an encoder is fed to a group of optical switches. Optical switches 414 select one wavelength generator 413 to be connected in each group. The output may be amplified by optical amplifier 418, and then fed to optical modulators 422 or optical modulator 423.
As in multi-wavelength modulator 410, the input packet stream is fed to packet address reader 416, which packet addresses to encoders 432. When inverse multiplexing is used, the packet stream is fed to inverse multiplexer 420, and the outputs are fed to optical modulators 423. However, when inverse multiplexing is not used, the packet stream is fed to optical modulator 422. The output of optical modulator 423 or optical modulators 422 are fed to optical amplifier 424.
The output of multi-wavelength modulator 410 or multi-wavelength modulator 430 is fed to photonic switching fabric 112, where it undergoes packet level photonic switching. The routing through photonic switching fabric 112 is determined by the packet address carried by the selected wavelengths.
The multi-wavelength encoded address may be decoded by a decoder, for example multi-wavelength decoder 480, illustrated in
Gates 486 receive a strobe line and word line to determining if a valid address is present. The decoded binary symbols are fed to the multi-stage switch, and set up the crosspoints to enable the connection through the switch. To turn a 1×2n score switch into a 2n×2n multiport switch additional decoded signaling routing from multiple input ports is needed.
The balance of the optical power from the splitter is passed to optical delay 488, a short optical delay. Optical delay 488 allows time for address decoding. In an example, the delay is tens of nanoseconds. The delayed packets are passed to optical switches 490. As pictured, optical switches 490 are 1×2 switch stages. Alternatively, more complex switches, such as 1×16 optical switches 492 may be used.
Optical receivers 484 pass the address words to decoder 485. For a chain of 1×2 switching stages, as pictured, decoder 485 is an m-ary to binary decoder. The first switching stage is driven by the most significant bit of the binary address, while the last stage is driven by the least significant bit. Alternatively, decoder 485 decodes to another form. As an example, the decoder could provide a quaternary output or a paired binary bits output for use with a 1:4 switching stage. In an embodiment, where the switch stage sizing matches the coding base, for example when the coding base is 6 and 1×6 switches are used, the switch stage may be driven directly from the optical receivers without decoder 485. Decoder 485 may be implemented by a dedicated logic function. Alternatively, decoder 485 may be created by the use of a read-only memory (ROM) which is encoded to act as a lookup table.
The remaining portion of the optical power is fed to optical delay 488, then to optical switches 490 or optical switches 492. Optical switches 490 or optical switches 492 switch the data signal from optical delay 488 using the addresses from decoder 502.
In another example, instead of selecting n of m candidate wavelengths in a group, more than one wavelength may be selected from a field of M candidate wavelengths. For M candidate wavelengths, there are M ways to select the first wavelength, M−1 ways to select the second wavelength, and (M−(n−1)) ways to select the nth wavelength. When the order of selecting is not important, there are M!/n! combinations. When the order of selection is not important, as in selecting wavelengths, the number of combinations is given by:
For n=10 and M=20, the number of addresses in the address field is 184,756. Further, for 20 candidate wavelengths and using n=3, there are 1,140 addresses in the address field. Hence, a slightly larger address field than the original solution provided may be created with only three active carrier wavelengths instead of 10.
Encoder 441 activates a specific n of its M output lines, causing a corresponding n of M associated optical switches 414 to be activated. Optical switches 414 then connect a specific n of M wavelength generators 413 optical combiner 442. For example, optical combiner 442 is a wavelength division multiplexing (WDM) multiplexer. The address then passes through optical amplifier 418 to offset the loss on the optical combiner, then to optical modulator 422. The composite group of n optical carriers transmits the packet address information, encoded by the selection of the wavelengths of each of its n constituent carriers. Optical modulator 422 modulates the packet stream from packet address reader 416 and the selected n wavelengths. A multi-carrier optical signal carrying the packet data and the packet routing is output from multi-wavelength encoder 440. While
The input optical signal is split, with a portion of the power going to filters 482, which may be optical ring resonator tuned filters, as pictured. Alternatively, filters 482 may be an AWG WDM demultiplexer. The filtered wavelengths go to optical receivers 484, which determine whether optical power is present at the filtered wavelengths, and then to decoder 512. Decoder 512 is an n from M to binary decoder. Optionally, decoder 512 also includes a binary to switch driver decoder. The outputs wavelengths are tested by gates 486 and strobe lines to determine if a valid address is present.
The other portion of the input optical packet is sent through optical delay 488 to optical switches 490 or optical switches 492, where it is switched with the address from decoder 512.
The n from M code, where there are always n active carriers generated from a field of M, can be generated by a look up table, or logically or by a combination of a look up table and logic. However for large values of n, the encoding may be complex. The complexity may be reduced by dividing the candidate wavelengths into two groups of n/2. In each group, n/2 wavelengths are selected from M/2 candidate wavelengths. However this does somewhat reduce the address space. With n=10 and M=40, there are 848 million addresses. By treating the 10 selected wavelengths as two groups of 5 wavelengths selected out of 20 candidate wavelengths per group and using two 5 out of 20 encoders and decoders, about 240 million addresses are achieved. Alternatively, for selecting 4 wavelengths out of 40 candidate wavelengths, there are 91,360 address locations. By sub-dividing that into two 2 out of 20 encoders and decoders, there are still 36,100 address locations available.
In another example, more than two sub-blocks may be combined. More generally, encoding may be for sets of n/k from M/k encoders and decoders.
The addresses are fed to optical switches 414, which are coupled to wavelength generators 413. Optical switches 414 connect the selected wavelength generators to optical combiner 442, which may be a WDM multiplexer. These addresses are modulated with the input packet stream from packet address reader 416 in optical modulator 422, creating an optical packet stream that contains the data and the address.
The other portion of the optical power goes to optical delay 488, then to switch 260. Switch 260 may be a single switch, or a sequence of switches. Switch 260 modulates the selected wavelengths with the data.
Then, optionally, in step 524, the input photonic packet is inverse multiplexed. For example, if an address is encoded with n symbols, n inverse multiplexed streams, each with a data rate of 1/n, are produced by inverse multiplexing.
Meanwhile, in step 528, the address is encoded. In one example, the address is encoded using m-ary coding, where 1 of m wavelengths are selected for each of n groups. Alternatively, any n wavelengths of M candidate wavelengths are selected. In another example, k sets of n/k wavelengths of M/k candidate wavelengths are selected. An encoder converts a binary form of the address to the desired form. The encoded address then couples the appropriate wavelength generator to one or more optical modulator. The wavelength coding is generating. For example, this may be performed by connecting wavelength optical sources using optical switches based on the coding. A selection of m of n wavelength optical sources may be selected. Alternatively, n of M wavelength optical sources may be connected.
Finally, the optical stream containing the optical data modulates the generated wavelengths in step 532. The output may be amplified. The output signal contains the data and the address encoded in the wavelengths.
The other portion of the optical signal is filtered in step 546 by a series of filters, where there is one filter for each wavelength. The filtering may be performed by optical ring resonator tuned filters or an AWG WDM demultiplexer. Then, in step 548, the output optical energy filtered by the wavelengths is detected to determine if there is optical power for each wavelength.
Next, in step 550, the detected optical energy may be optionally decoded. Finally, in step 552, the optical data is switched with the optical addresses, producing the decoded signal.
While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.
In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.
This application claims the benefit of U.S. Provisional Application Ser. No. 61/735,842 filed on Dec. 11, 2012, and entitled “System and Method for Multi-Wavelength Signaling in a Photonic Packet Switch,” which application is hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61735842 | Dec 2012 | US |