sliang .at. dsg .dot. stanford .dot. edu
I finished my Ph.D degree from Stanford
University. I conducted computer network research in the Distributed System Group, led by
I have been working on TCP-RTM (Real Time Mode), which extends TCP to
real time applications, such as audio/video streaming. We
submitted a paper to ICNP 2002, titled "TCP-RTM: Using
TCP for Real Time Applications".
I have also extended TCP to support multicast applications, either
reliable or semi-reliable (with TCP-RTM). A paper on this topic is
published in InfoCom
2002, titled "TCP-SMO:
Extending TCP for Medium
Scale Multicast Applications".
Ph.D dissertation: "Unifying the
Layer of a Packet-Switched Internetwork".
Before focusing on TCP, I made WRAP, an important component of the TRIAD
project, work, based on the initial implementation by Chetan
Now you can use WRAP to communicate with a host in a different address
realm. In TRIAD, a host is identified by its name, instead
IP address, which is not unique across address realms, and TCP checksum
is based on the names of the endhosts.
Running TCP-RTM/SMO over HTTP
A lot of Internet architecture is optimized for HTTP, such as
firewalls, DOS prevention, authentication, etc. If TCP and HTTP
support video delivery smoothly, it's a big win, as it leverages the
existing Infrastructure to meet a lot of common
the need to rebuild these functionalities for a new
A major advantage of using TCP-RTM is to stream real-time
streams over HTTP. HTTP runs on TCP, traditionally, it's not fit to
stream real time voice or video over HTTP, due to the concern of
potential long delay introduced by TCP's full reliability. However,
with RTM, this concern is elimintated.
Source Code for TCP-RTM and TCP-SMO
The TCP-RTM and SMO extensions are implemented in linux kernel
2.2. You are welcome to download the source code below, port it
to the latest linux kernel, or other platforms, and make further
enhancements. The source code is under GNU General Public License.
Please share with us your questions, comments, new experiment
The kernel modification is under net/ipv4/, after you untar
tcpm-smo.tar.gz, search for "RTM and CONFIG_TCP_MULTICAST.
- tcp-smo.tar.gz: the implementation
of RTM and SMO in linux kernel.
- tcpm-tools.tar.gz: some testing
tools, such as the sender and receiver programs.
- phoneserver.pdf: a report to
evaluate the quality improvement when using RTM to support voice
Another issue to investigate is to implement TCP-RTM on the client side
on the user-level.
If we can do it on the user-level on the client side, then it does not
modification to deploy TCP-RTM.
There are a number of attempts to do user-level TCP, for example:
In my previous life, I did research on graphical user interface,
visualization and computer graphics.
(Links to more cool computer graphics projects of mine will be added
- If you have a VRML plugin installed in your browser, you can view
- With a QuickTime plugin, you can get a panoramic view of the Stanford
- Based on data obtained by a laser scanner, I reconstructed the
of a corner of the robotics lab. Click here to see some cool
- My "Real-time
Ray Tracer" won an Honorable Mention Award in the annual Stanford
Competition. We all know that ray tracing is very time consuming, doing
it in real-time is hard to believe. The mpeg movie in the web
doesn't capture the excitement of the actual animation. If you are
ask me to show you the actual animation. It's reall cool!
- Senior Software Engineer and Architect, Tropos Networks. Wireless
mesh networks, Metro-Wifi networks.
- Senior Software Engineer.
Worked on VLSI CAD systems.
- Member of Technical Staff, Silicon Graphics Inc.
Worked on SGI's C++ debugger, and in particular a special debugger for
- Ph.D in EE, Stanford University
- MS in EE, Stanford University.
- MS in CS, University of Arizona.
- BS in CS, Beijing University.