Algorithms and Architectures for Routing and Switching.
The performance and scalability of the devices which enable data communications are cornerstones of today's information economy. These devices - routers and switches - are really just specialized computing devices which run a restricted class of algorithms. My main research interest is in studying the architectural features and behavior of these devices and the algorithms they execute. Some of the current questions that need answering include:
The graduate students that I am working with are grappling with such issues using a combination of optimization, discrete event simulation, behavioral simulation, experimental measurement and prototyping. As a group, we are exploring an area on the frontiers of data networking, computer architecture and embedded computing.
The current trend in the network core is to "run fast by running simple" - the core devices are becoming little more than forwarding engines. That is certainly a pragmatic approach, but it does not serve to push the envelope on device architectures as aggressively as the contrarian position: "Let's see how much functionality we can carry in core devices."
Secondarily, I am interested in looking at "architecture in the large" - multi-machine architectures for supporting internet services such as mail and streaming media. I am most interested in design algorithms for such networks. My experience as the architect for a large regional ISP taught me that the internet industry faces huge challenges in delivering exponential growth yearly: there is an insatiable demand for scalability, performance and adaptability.
In my previous life at TRLabs, I developed a variety of algorithms for transport network design and optimization, and applied these algorithms to studies of national transport networks. I also contributed to the review and revision of one specialized network protocol used by the medical imaging community.