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.
  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:

Past Projects

In my previous life, I did research on graphical user interface, software visualization and computer graphics. (Links to more cool computer graphics projects of mine will be added later.)

Work Experience