Stephen T. Chou

Email: schou@cs.columbia.edu


Education:

Columbia University, New York, NY
Ph.D. candidate in Computer Science

Georgia Institute of Technology, Atlanta, GA
Master of Science in Computer Science, March 1994.

Carnegie Mellon University, Pittsburgh, PA
Bachelor of Science in Computer Engineering, May 1990.

 

Industry Experience:

Senior Software Engineer Jan 1994 - Aug 1999
Intel Corporation, Hillsboro, OR
 
Virtual PC May 1997 - Aug 1999
Microprocessor Research Labs, Intel Corporation, Hillsboro, OR
Participated in research and development of Virtual PC. Virtual PC is a functional simulator which models PC platform entirely in software with enough details to support the simulated execution of unmodified system binaries such as Windows 98 and NT. The application of the Virtual PC includes generation of execution traces for performance analysis, debugging, and system validation. In addition, it provides an environment for IA64 presilicon operating system and device driver development.
  • Implemented functional models of PC devices such as hard disks interrupt controller, and timer.
  • Designed and developed SoftLIT, a Virtual PC module that generates saved memory image, processor state dump and an external events for reconstructive instruction-level trace simulation. This allows VPC traces to be replayed on performance or RTL simulator.

 
Home Plug and Play Feb 1996 - May 1997
Intel Architecture Labs, Intel Corporation, Hillsboro, OR
Designed and developed Home Plug and Play Services to enable PC applications to communicate to home devices. This service can route control messages between devices of various home networks such as CEBus and X10.
  • Implemented a message dispatcher to route CEBus packets between software virtual devices and CEBus devices on the power line.
  • Designed a X-10 proxy to link Home PnP devices with X-10 devices by translating EIA 600.81 Common Application Language (CAL) commands into X-10.

 
InstantON Aug 1994 - Jan 1996
Intel Architecture Labs, Intel Corporation, Hillsboro, OR
Designed and developed InstantON service to make PC an always available, energy-efficient appliance by adding power management, scheduling and crash recovery capabilities.
  • Implemented InstantON Manager to display and schedule activities and logs.
  • Designed and implemented InstantON OCX based on Microsoft component object model (COM) to make InstantON services available for Visual Basic, and other OLE applications.

 
Plug and Play Jan 1994 - Aug 1994
Intel Architecture Labs, Intel Corporation, Hillsboro, OR
Participated in development of Plug and Play services for DOS and Windows 3.1. Plug and Play is system service that manages and configures PC system resources including DMA, IRQ, I/O, and memory.
  • Assisted in development of ISA Configuration Utility (ICU) to detect and resolve system resource conflict.
  • Implemented PCMCIA devices support to ICU for DOS and Windows.

 
Summer Intern May 1989 - Aug 1989
Microsoft Corporation, Redmond, WA
Developed I/O test suites for OS/2 release 1.2 API. Designed and implemented a multithread stress I/O testing suite.

 
 

Academic Research Experience:

Research Assistant Jan 2001 - May 2003 
Department of Electrical Engineering, Columbia University, New York, NY
Design and implement Genesis Kernel on Intel IXP1200 programmable router to support spawning of new network architectures and services.

 
 
Teaching Assistant Jan 2000 - Dec 2000 
Department of Computer Science, Columbia University, New York, NY
Serving as teaching assistant for CS 6118 Advanced Operating Systems and
CS 4119 Computer Networks

 
 
Research Assistant Sep 1993 - Jan 1994
College of Computing, Georgia Institute of Technology, Atlanta, GA
Assisted in development of User Interface Design Environment. UIDE is a model-based software which uses high-level, user-task oriented declarative representation as source of information to support automatic interface generation and control.

 
 
Research Programmer May 1990 - Sep 1992
School of Computer Science, Carnegie Mellon University, Pittsburgh, PA
Participated in research and development of Advance real-time kernel (ART) and Real-time Mach 3.0 microkernel on Sun 3, Sony NEWS, Decstation 5000, and Intel 386 platforms.
  • Designed and implemented thread schedulers, device drivers, network protocol stack, and new real-time synchronization primitives.
  • Studied system level priority inversion and evaluated real-time real-time scheduling and synchronization policies.
  • Developed a system capacity-based session reservation protocol and service for continuous media communication on ARTS over the FDDI Network.

 
Programmer June 1988 - May 1989
Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA
Assisted development of a rapid prototyping system based on an user interface management system. This system, Serpent, aids development of active prototypes, which use a variety of interaction technologies such as X-Window. Implementation of the dialogue manager, ported Serpent to SunOS, and improved X-Window interface.

 
 

Publications:

  • Stephen T. Chou, Angelos Stavrou, John Ioannidis, and Angelos D. Keromytis, gore: Routing-Assisted Defense Against DDoS Attacks, 8th Information Security Conference (ISC'05), September 2005. [pdf]
  • M. E. Kounavis, A. T. Campbell, S. T. Chou, and J. Vicente, Programming the Datapath in Network Processor-based Routers, Software Practice and Experience, Vol. 39, 2005. [pdf]
  • M. E. Kounavis, A. T. Campbell, S. T. Chou, and J. Vicente, Programming Environment for Network Processors", Network Processor Conference West, San Jose, CA, October 2002 [pdf]
  • A. T. Campbell, S. T. Chou, M. E. Kounavis, V. D. Stachtos and J. Vicente, NetBind: A Binding Tool for Constructing Data Paths in Network Processor-Based Routers, Fifth Internation Conference on Open Architectures and Network Programming (OPENARCH'02), New York, NY, June 6, 2002. [pdf]
  • S. T. Chou, M. E. Kounavis, A. T. Campbell, and J. Vicente, Genesis Kernel on IXP1200, Dagstuhl Semniar on Concepts and Applications of Programmable and Active Networking Technologies, Wadern, Germany, February 13-15, 2002. [abstract] [slides]
  • M. E. Kounavis, S. T. Chou, V. D. Stachtos, and A. T. Campbell Routelets and Network Processors, Next Generation Network Programming (OPENSIG'01), London, UK, September 24-25, 2001. [pdf]
  • A. T. Campbell, S. T. Chou, M. E. Kounavis and V. D. Stachtos Implementing Routelets: Virtual Router Support for the IXP1200 Network Processor, IXA Univeristy Program Workshop, Portland, Oregon, June 21-22, 2001. [pdf]
  • M. E. Kounavis, A. T. Campbell, S. Chou, F. Modoux, J. Vicente, H. Zhuang, The Genesis Kernel: A Programming System for Spawning Network Architectures, IEEE Journal on Selected Areas in Communications, Vol. 19, No. 3, pg. 511-526 March 2001. [pdf]
  • Stephen T.-C. Chou, Hideyuki Tokuda, System Support for Dynamic QOS Control in Continuous Media Communication in Proceeding of Third International Workshop on Network/System Support for Audio and Video, San Diego, Nov 1992.
  • Hideyuki Tokuda, Yoshito Tobe, Stephen T.-C. Chou, Jose M. F. Moura, Continuous Media Communication with Dynamic QOS Control Using ARTS with FDDI Network in Proceeding of SIGCOMM 92 Symposium on Communication Architectures and Protocols, Baltimore, Aug, 1992.
  • Stephen T.-C. Chou, Hideyuki Tokuda. Real-Time Communication with Deadline-based Scheduling. In Proceeding of Ninth IEEE Workshop on Real-Time Operating Systems and Software, Pittsburgh, May 1992.
  • Yoshito Tobe, Stephen T.-C. Chou, Hideyuki Tokuda, QOS Control for Continuous Media Communications in Proceeding of International Networking Conference (INET) '92, Kobe, Japan, May 1992.
  • Yoshito Tobe, Stephen T.-C. Chou, Hideyuki Tokuda, QOS Control with ARTS and FDDI in IPSJ SIGNOTE, Feb 1992.

  •  

     

Patents:

  • Method and Apparatus for Providing Unattended On-demand Availability of A Computer System, US Patent No. 5832283
  • Method and Apparatus for Task Scheduling across Multiple Execution Sessions, US Patent No. 5902352
  • Method and system for adding a device entry to a device tree upon detecting the connection of a device, US Patent No. 6041364
  • Computer system with unattended on-demand availability, US Patent No. 6065123