Associate Professor Philip Levis

Office: 412 Gates Hall, Stanford University, Stanford, CA, 94305
Phone: +1 650 725 9046
email: pal at cs stanford edu, but I receive more email than I can handle. Please don't be offended if I don't reply.

Biography

I'm an Associate Professor in the Computer Science and Electrical Engineering Departments of Stanford University. I research the design and implementation of software systems where computers touch the physical world, such as embedded systems, wireless networks, 3D virtual worlds, and physical simulation. I adore excellent engineering and have a self-destructive aversion to low-hanging fruit. I head the Stanford Information Networking Group (SING), whose members only sometimes put up with me.

Education and Job Opportunties in STEM, 2008

Research Projects

  • Full duplex wireless: redesigning the entire stack
  • Meru: scaling virtual worlds to infinity
  • Powernet: a quantitative approach towards green IT
  • MNet: a network architecture for sensor networks
  • Wireless measurement: quantitatively determining the gap between theory and practice
  • Cinder: rethinking the handset operating system

Engineering Efforts

  • TinyOS: an operating system for mote-class networks
  • RPL: the sensornet routing protocol for the Internet

Current Courses

CS144: Introduction to Computer Networking
CS244E/EE384E: Wireless Networking
CS303: Designing Computer Science Experiments
CS344E: Wireless Networking Research
CS344c: Cloud Simulation Research

Past Courses

CS67N: The Computer of History, the Computer of Fiction
CS340V: Networked Systems for Virtual Worlds
CS240E: Low-Power Sensing Systems
EE108A: Digital Systems Design

Advisees, Past and Present (Ph.D.)

  • Kannan Srinivasan: quantifying wireless networks (EE 2010), now at Ohio State
  • Jung Woo Lee: mesh routing to a mobile node (EE 2010), now at Marvell Technology Group
  • Jung Il Choi: network protocol isolation (EE 2011), Kumu Networks
  • Mayank Jain: wireless physical/link boundary (EE 2011), Kumu Networks
  • Ewen Cheslack-Postava: planetary-scale virtual worlds (CS)
  • Maria Kazandjieva: designing a green IT infrastructure (CS)
  • Tahir Azim: geometric services for virtual worlds (CS)
  • Behram Mistree: distributed scripting (EE)
  • Jae-Young Kim: full duplex link layers (EE)
  • Omid Mashayekhi (EE)
  • Chinmayee Shah (EE)

Advisees, Past and Present (M.S.)

  • Bhupesh Chandra: virtual world scripting (CS)
  • Arjun Roy: mobile phone operating systems (CS)

Selected Publications (full list)

You can generally find more up-to-date and detailed information on the SING website.

  • Philip Levis.
    Experiences from a Decade of TinyOS Development. In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI).
  • Maria Kazandjieva, Brandon Heller, Omprakash Gnawali, Philip Levis, and Christos Kozyrakis.
    Green Enterprise Computing Data: Assumptions and Realities. In Proceedings of the Third International Green Computing Conference (IGCC 2012).
  • Ewen Cheslack-Postava, Tahir Azim, Behram F. T. Mistree, Daniel Reiter Horn, Jeff Terrace, Philip Levis, and Michael J. Freedman.
    A Scalable Server for 3D Metaverses. In Proceedings of the USENIX Annual Technical Conference (ATC '12).
  • Mayank Jain, Jung Il Choi, Taemin Kim, Dinesh Bharadia, Siddharth Seth, Kannan Srinivasan, Philip Levis, Sachin Katti and Prasun Sinha.
    Practical, Real-time, Full-Duplex Wireless. In Proceedings of the 17th Annual International Conference on Mobile Computing and Networking (Mobicom 2011).
  • Omprakash Gnawali, Rodrigo Fonseca, Kyle Jamieson, David Moss, and Philip Levis.
    Collection Tree Protocol. In Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems (SenSys), 2009.
  • Yang Chen, Omprakash Gnawali, Maria Kazandjieva, Philip Levis, and John Regehr.
    Surviving Sensor Network Software Faults. In Proceedings of the 22nd ACM Symposium on Operating System Principles (SOSP), 2009.

TinyOS Programming Manual

I've recently written a short book on programming TinyOS. Unlike the tutorials, which are a brief introduction to get you started, or TEPs, which describe parts of TinyOS 2.0, Programming TinyOS digs into nesC and how you can use it to build TinyOS applications. Except for a few fictional components in the beginning, almost every concept has a TinyOS 2.0 implementation as an example. A second version of the text, co-written with David Gay, is available for purchase as of April 2009. We tried to keep the cost down by making it softcover and having very tiny royalties. Unfortunately, though, TinyOS programming is not a blockbuster topic, so the book is a bit pricier than I'd like. Oh well. You can download the first half of the published version for free. The first half covers the basics: this version does not include advanced topics like asynchronous code, writing generics, or the hardware abstraction architecture.

Some Talks

  • "Full Duplex Wireless."
    Princeton University CS Colloquium, October 12, 2012.
  • "Experiences from a Decade of TinyOS Development."
    OSDI, October 9, 2012.
  • "The Collateral Damage of Internet Censorship by DNS Injection."
    SIGCOMM, October 9, 2012.
  • "Sirikata."
    ISTC-VC Virtual Worlds Workshop, August 18, 2011.
  • "Evaluating Green Computing Techniques with Dense, Long-term Power Sensing."
    CS Faculty Lunch, November 30, 2010.
  • "Wireless Routing."
    CS Faculty Lunch, February 16, 2010.
    These are a variant that are intended to be standalone; the talk slides did not include explanatory text.
  • "IP and Low-Power Wireless: Madness, the Future, or Both?"
    HotNets V, Nov. 29, 2006.
  • "T2: What the Second Generation Holds"
    CS294-11, Berkeley, 6 October 2005.

Program Committees and Editorial Boards

2013: NSDI, SOSP
2012: CCR, SenSys
2011: CCR, IP+SN, MobiSys, HotPower, SOSP, SenSys (co-chair)
2010: TOSN, CCR, NSDI, MobiSys, DMSN
2009: TOSN, IPSN (co-chair, IP track), SenSys, SOSP, HotPower (co-chair)
2008: TOSN, MODUS, IPSN, ICDCS, NSDR, SIGCOMM, OSDI
2007: IPSN, EmNets (co-chair), SIGCOMM, DMSN, SenSys, MidSens
2006: NetDB, IPSN, DCOSS, SenSys, RTSS

Quote

"Solving a problem simply means representing it so as to make the solution transparent."

- Herbert Simon, Sciences of the Artificial