Sam Liang
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
Professor David
Cheriton.
Research Projects
I have been working on TCP-RTM (Real Time Mode), which extends TCP to
support
real time applications, such as audio/video streaming. We
recently
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
Transport
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
Rai.
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
of
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
can
support video delivery smoothly, it's a big win, as it leverages the
existing Infrastructure to meet a lot of common
requirements, without
the need to rebuild these functionalities for a new
protocol.
A major advantage of using TCP-RTM is to stream real-time
multimedia
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
results.
- 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
over IP.
The kernel modification is under net/ipv4/, after you untar
tcpm-smo.tar.gz, search for "RTM and CONFIG_TCP_MULTICAST.
User-Level TCP-RTM/SMO
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
require kernel-level
modification to deploy TCP-RTM.
There are a number of attempts to do user-level TCP, for example:
http://www.usenix.org/events/usits99/full_papers/savage/savage_html/node15.html
http://www.cs.northwestern.edu/~pdinda/minet/
Past Projects
In my previous life, I did research on graphical user interface,
software
visualization and computer graphics.
- If you have a VRML plugin installed in your browser, you can view
this Macarena
dancer.
- With a QuickTime plugin, you can get a panoramic view of the Stanford
Robotics Lab.
- Based on data obtained by a laser scanner, I reconstructed the
interior
of a corner of the robotics lab. Click here to see some cool
picture.
- My "Real-time
Ray Tracer" won an Honorable Mention Award in the annual Stanford
Rendering
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
page
doesn't capture the excitement of the actual animation. If you are
interested,
ask me to show you the actual animation. It's reall cool!
(Links to more cool computer graphics projects of mine will be added
later.)
Work Experience
- 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
X/Motif programs.
Education
- Ph.D in EE, Stanford University
- MS in EE, Stanford University.
- MS in CS, University of Arizona.
- BS in CS, Beijing University.