[I’ve been spending the last week trying to contextualize some work I’ve been doing so that we can publish it in a journal. Since I knew nothing about the field earlier, I figure writing it out in somewhat simpler terms would help clarify the big concepts for me. Read on at your peril.]
One of the biggest engineering challenges in computer networks for the future is increasing the total available bandwidth to be shared by users. Soon broadband-at-home will be severely limited by the fact that all of the users have to share some portion of cable, and not all of the data can go on that cable at the same time. Some future internet applications may require guaranteed data rates, which would be bad news at the current rate. Fiber optic cable can theoretetically support data rates up to hundreds of gigbits per second using wavelength-division multiplexing (WDM), a technology in which different wavelengths of light share the cable in a noninterfering way. In order to harness the speed of fiber optics, technologies are needed to provide optical routing for traffic control, because transforming the optical data to electronic data essentially slows it down to the data rate for electronic communications.
The central feature of all-optical networks is that the data, which is broken up into short bursts called packets, cannot be stores. There does not exist a feasible method for trapping light, holding it indefinitely, and then re-accessing it and sending it along. An optical packet switch is a method for doing traffic control. It accepts packets from other places along several inputs, and can send them along different outputs, depending on the destination of the packet. The largest traffic problem occurs when two or more inputs have packets destined for the same output. This is called packet contention, and is easily solved in electronic networks by storing one of the packets in random-access memory (RAM) until the other one goes through. However, as we mentioned before, there is no such thing as optical RAM.
There are three major ways of dealing wih packet contention. The first is to somehow convert one of the packets into a different wavelength and then send both along the output. This is not necessarily a good idea because it may be that different wavelengths are reserved by scheduling algorithms. Another is deflection routing, where you pick one packet to forward correctly and send the others on different outputs. This is basically giving the responsibiity of getting the packet to its correct destination on to another node in the network. As in real life, passing the buck is not a good idea. The last idea is to mimic an electronic buffer, or queue, and make the other packets wait in line until they can get out the correct output. These are usually designed using fiber optic delay lines, which are just long lengths of fiber that take a fixed time for light to traverse.
There are many different schemes for designing optical buffers with fiber delay lines. Most of them assume that at every time step, a packet can always exit the output, so they just have to make all the packets wait different amounts of time before switching them to the output. Others try to take into account the content of the data in their design. Optical burst switches assume that there are actually two contending streams of packets, so that the contention will extend over time. This might happen if two video streams are trying to use the same link. In this case, it may be best to make one stream wait while the other one goes through, which would require buffering the whole stream.
One of the projects I’ve been working on is a design for such an optical buffer for bursts. It uses delay lines of different lengths that feed back into a switch that basically “juggles” the packets that are waiting until the output is free. This is more flexible, since we can juggle the packets until the node at the other end of the network asks for a packet. We can also do things like sort the packets that are waiting in the event that they arrived out of order. And hopefully our work is sufficiently novel that it could get accepted at GLOBECOM and also some journal.