About Me
I am a professor in the Department of Computer Science and UMIACS, studying Internet topology, reliability, and performance through measurements. I received my Ph.D from the University of Washington in 2004. My advisors were David Wetherall and Tom Anderson, and my thesis work won the SIGCOMM 2014 Test-of-time paper award. I received my Bachelor's degree in Computer Engineering from UC San Diego in 1997.
I was the co-chair of the departmental undergraduate honors program from 2012 to 2015, redesigning the key introduction to research class and writing a new honors web service (though only logged-in students can see the cool parts). I was the information services director (web-monkey and spam-sender) for ACM SIGCOMM 2007–2013. I am the Associate Chair of Facilities for our department, helping to ensure the design of the Iribe Center meets our needs.
In my spare time, I've 3-d printed a silverware tray, converted PWM daytime running light power to run LED lights in my CR-V, and wedged arduinos into otherwise blinkenlight-deprived toys. I write code using Rails. I commute by bike because two metro trains and a campus shuttle are too much.
Research Projects
- ThunderPing (does residential Internet failure correlate with weather),
- Bond Breaker (can you identify your friends securely),
- BattOr (measure phone power consumption while mobile),
- Maranello (partial packet recovery at 802.11 speed),
- WiFidelity (understanding traces of wireless network traffic),
- Sidecar (measurement traffic in TCP),
- Scriptroute (flexible network measurement),
- Peerwise (overlays based on mutual advantage),
- Rocketfuel (ISP network mapping), or
- Tulip (Internet path diagnosis).
Publications
- Advancing the art of internet edge outage detection. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (IMC), Boston, November 2018.
- Internet anycast: Performance, problems, and potential. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 59–73, Budapest, August 2018. DOI:10.1145/3230543.3230547.
- Successfully engaging early undergraduates in cs research: (abstract only). In Proceedings of the 49th ACM Technical Symposium on Computer Science Education, SIGCSE '18, pages 1050–1050. ACM, 2018. DOI:10.1145/3159450.3162365.
- Identifying and analyzing broadband internet reverse DNS names. In Proceedings of the International Conference on emerging Networking EXperiments and Technologies (CoNEXT), pages 35–40, Seoul, 2017. DOI:10.1145/3143361.3143392.
- Finding similar people to guide life choices: Challenge, design, and evaluation. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI), 2017. DOI:10.1145/3025453.3025777.
- EventAction: Visual analytics for temporal event sequence recommendation. In IEEE Conference on Visual Analytics Science and Technology (IEEE VAST 2016), Baltimore, October 2016. DOI:10.1109/VAST.2016.7883512.
- Reasons dynamic addresses change. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (IMC), Santa Monica, California, November 2016. DOI:10.1145/2987443.2987461.
- Identifying and aggregating homogeneous IPv4 /24 blocks with Hobbit. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (IMC), Santa Monica, California, November 2016. DOI:10.1145/2987443.2987448.
- Timeouts: Beware surprisingly high delay. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (IMC), pages 303–316, Tokyo, October 2015. DOI:10.1145/2815675.2815704.
- Ting: Measuring and exploiting latencies between all Tor nodes. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (IMC), pages 289–302, Tokyo, October 2015. DOI:10.1145/2815675.2815701.
- Alibi routing. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 611–624, London, August 2015. DOI:10.1145/2785956.2787509.
- Timeouts: Beware surprisingly high delay: Collect everything, assume nothing. AIMS 2015: Workshop on Active Internet Measurements, Apr 2015.
- RevCast: Fast, private certificate revocation over FM radio. In Proceedings of CCS'14: 2014 ACM SIGSAC Conference on Computer and Communications Security, pages 799–810, 2014. DOI:10.1145/2660267.2660376.
- UAv6: Alias resolution in IPv6 using unused addresses. In Proceedings of Passive \& Active Measurement (PAM), pages 136–148, April 2014. DOI:10.1007/978-3-319-15509-8_11.
- D-mystifying the d-root address change. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (IMC), Barcelona, October 2013.
- Pingin' in the rain. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (IMC), Berlin, November 2011. DOI:10.1145/2068816.2068819.
- Making currency inexpensive with iOwe. In Workshop on the Economics of Networks, Systems and Computation, San Jose, June 2011.
- The effect of packet loss on redundancy elimination in cellular wireless networks. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (IMC), pages 294–300, Melbourne, Australia, November 2010. DOI:10.1145/1879141.1879179.
- Don't love thy nearest neighbor. In Proceedings of the International Workshop on Peer-to-Peer Systems (IPTPS), San Jose, CA, April 2010.
- Maranello: Practical partial packet recovery for 802.11. In Proceedings of the ACM/USENIX Symposium on Networked Systems Design and Implementation (NSDI), San Jose, CA, April 2010.
- Temporal summaries: Supporting temporal categorical searching, aggregation and comparison. In Proceedings of the IEEE Information Visualization Conference (InfoVis), pages 1049–1056, Atlantic City, NJ, October 2009.
- Identifying close friends on the Internet. In Proceedings of the ACM Workshop on Hot Topics in Networks (HotNets), New York, October 2009.
- Triangle inequality variations in the Internet. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (IMC), pages 177–183, Chicago, November 2009. DOI:10.1145/1644893.1644914.
- Temporal summaries: Supporting temporal categorical searching, aggregation and comparison. IEEE Transactions on Visualization and Computer Graphics, 15(6):1049–1056, November/December 2009. DOI:10.1109/TVCG.2009.187.
- Systems-compatible incentives. In Proceedings of the International Conference on Game Theory for Networks, pages 100–106, May 2009.
- Stay or go? Participation in under-provisioned video streams. In Joint Workshop on The Economics of Networked Systems and Incentive-Based Computing (NetEcon+IBC), Palo Alto, July 2009.
- Persona: An online social network with user-defined privacy. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 135–146, Barcelona, August 2009. DOI:10.1145/1592568.1592585.
- Triangle inequality and routing policy violations in the internet. In Proceedings of Passive \& Active Measurement (PAM), pages 45–54, Seoul, April 2009. DOI:10.1007/978-3-642-00975-4_5.
- Symbiotic relationships in Internet routing overlays. In Proceedings of the ACM/USENIX Symposium on Networked Systems Design and Implementation (NSDI), pages 467–480, Boston, MA, April 2009.
- Fighting spam with the NeighborhoodWatch DHT. In Proceedings of the IEEE Joint Conference of the IEEE Computer and Communications Societies (INFOCOM), pages 1755–1763, Rio de Janeiro, Brazil, April 2009. DOI:10.1109/INFCOM.2009.5062095.
- Fixing Ally's growing pains with velocity modeling. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (IMC), pages 337–342, Vouliagmeni, Greece, October 2008. DOI:10.1145/1452520.1452560.
- Measurement manipulation and space selection in network coordinates. In Proceedings of the 28th International Conference on Distributed Computing Systems (ICDCS 2008), pages 361–368, Beijing, June 2008. DOI:10.1109/ICDCS.2008.27.
- Discarte: A disjunctive internet cartographer. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 303–314, Seattle, WA, August 2008. DOI:10.1145/1402958.1402993.
- BitTorrent is an auction: Analyzing and improving BitTorrent's incentives. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 243–254, Seattle, WA, August 2008. DOI:10.1145/1402958.1402987.
- Motivating participation in internet routing overlays. In Joint Workshop on The Economics of Networked Systems and Incentive-Based Computing (NetEcon+IBC), pages 91–96, Seattle, WA, August 2008. DOI:10.1145/1403027.1403048.
- On the fidelity of 802.11 packet traces. In Proceedings of Passive \& Active Measurement (PAM), pages 132–141, Cleveland, OH, April 2008. DOI:10.1007/978-3-540-79232-1_14.
- PeerWise discovery and negotiation of faster paths. In Proceedings of the ACM Workshop on Hot Topics in Networks (HotNets), Atlanta, November 2007.
- Boycotting and extorting nodes in an internetwork. In Joint Workshop on The Economics of Networked Systems and Incentive-Based Computing (NetEcon+IBC), San Diego, CA, June 2007.
- Accountability as a service. In Proceedings of the USENIX Workshop on Steps to Reducing Unwanted Traffic in the Internet (SRUTI), Santa Clara, CA, June 2007.
- Touring the Internet in a TCP sidecar. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (IMC), pages 339–344, Rio de Janeiro, Brazil, October 2006. DOI:10.1145/1177080.1177093.
- A structural approach to latency prediction. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (IMC), pages 99–104, Rio de Janeiro, Brazil, October 2006. DOI:10.1145/1177080.1177092.
- A platform for unobtrusive measurement on PlanetLab. In Proceedings of the USENIX Workshop on Real, Large Distributed Systems (WORLDS), Seattle, WA, November 2006.
- Decentralized message ordering for publish/subscribe systems. In Proceedings of ACM/IFIP/USENIX 7th International Middleware Conference (Middleware), pages 162–179, Melbourne, Australia, November 2006.
- Using PlanetLab for network research: Myths, realities, and best practices. ACM SIGOPS Operating Systems Review, 40(1):17–24, January 2006. DOI:10.1145/1113361.1113368.
- Community-oriented network measurement infrastructure (CONMI) workshop report. ACM SIGCOMM Computer Communication Review, 36(2):41–48, April 2006. DOI:10.1145/1129582.1129594.
- Using PlanetLab for network research: Myths, realities, and best practices. In Proceedings of the USENIX Workshop on Real, Large Distributed Systems (WORLDS), San Francisco, CA, December 2005.
- Efficient discovery of network topology and routing policy in the Internet. PhD thesis, University of Washington, 2004.
- Measuring ISP topologies with Rocketfuel. IEEE/ACM Transactions on Networking, 12(1):2–16, February 2004. DOI:10.1109/TNET.2003.822655.
- User-level Internet path diagnosis. In Proceedings of the ACM Symposium on Operating Systems Principles (SOSP), pages 106–119, Bolton Landing, NY, October 2003. DOI:10.1145/945445.945456.
- Reverse-engineering the Internet. In Proceedings of the ACM Workshop on Hot Topics in Networks (HotNets), pages 3–8, Cambridge, MA, November 2003. DOI:10.1145/972374.972376.
- Scriptroute: A public Internet measurement facility. In Proceedings of the USENIX Symposium on Internet Technologies and Systems (USITS), pages 225–238, Seattle, WA, March 2003.
- Robust ECN signaling with nonces. IETF RFC 3540, June 2003.
- Quantifying the causes of path inflation. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 113–124, Karlsruhe, Germany, August 2003. DOI:10.1145/863955.863970.
- Adaptive computing on the Grid using AppLeS. IEEE Transactions on Parallel and Distributed Systems, 14(4):369–382, April 2003. DOI:10.1109/TPDS.2003.1195409.
- Inferring link weights using end-to-end measurements. In Proceedings of the ACM SIGCOMM Internet Measurement Workshop (IMW), pages 231–236, Marseille, France, November 2002. DOI:10.1145/637201.637237.
- Measuring ISP topologies with Rocketfuel. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 133–146, Pittsburgh, PA, August 2002. DOI:10.1145/633025.633039.
- Writing programs that run EveryWare on the computational grid. IEEE Transactions on Parallel and Distributed Systems, 12(10):1066–1080, October 2001. DOI:10.1109/71.963418.
- Robust congestion signaling. In Proceedings of the IEEE International Conference on Network Protocols (ICNP), pages 332–341, Riverside, CA, November 2001. DOI:10.1109/ICNP.2001.992914.
- Receiver based management of low bandwidth access links. In Proceedings of the IEEE Joint Conference of the IEEE Computer and Communications Societies (INFOCOM), volume 1, pages 245–254, Tel Aviv, Israel, March 2000. DOI:10.1109/INFCOM.2000.832194.
- Predicting the CPU availability of time-shared UNIX systems. Cluster Computing: The Journal of Networks, Software Tools and Applications, 3(4):293–301, December 2000. DOI:10.1023/A:1019052825453.
- A protocol independent technique for eliminating redundant network traffic. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 87–95, Stockholm, Sweden, August 2000. DOI:10.1145/347059.347408.
- The network weather service: A distributed resource performance forecasting service for metacomputing. Future Generation Computer Systems, 15(5–6):757–768, October 1999. DOI:10.1016/S0167-739X(99)00025-4.
- Running EveryWare on the computational grid. In Proceedings of the 1999 ACM/IEEE conference on Supercomputing (SC'99), Portland, OR, November 1999. DOI:10.1145/331532.331538.
- Predicting the CPU availability of time-shared UNIX systems. In Proceedings of High Performance Distributed Computing Conference (HPDC), pages 105–112, August 1999. DOI:10.1109/HPDC.1999.805288.
- Application level scheduling of gene sequence comparison on metacomputers. In Proceedings of the 12th ACM International Conference on Supercomputing (ICS), pages 141–148, Melbourne, Australia, July 1998. DOI:10.1145/277830.277860.
- Implementing a performance forecasting system for metacomputing: The network weather service. In Proceedings of the 1997 ACM/IEEE conference on Supercomputing (SC'97), pages 1–19, San Jose, CA, November 1997. DOI:10.1145/509593.509600.
- Educational materials to assist in motivating functional programming. In Proceedings of Possibly Computer Science (PoCSi), May 2003. (PoCSi is a joke conference at the University of Washington).
- Educational materials to assist in instruction of information hiding basics. In Proceedings of Possibly Computer Science (PoCSi), 2002. (PoCSi is a joke conference at the University of Washington).
Software
- Scriptroute
-
Network measurement system isolating advanced logic in Ruby from
privileged operation in C.
Project page Rubygems (client) - Undns
-
Parses router host names to extract geographic location and other
apparent information within the name.
SVN repository Rubygems - Sidecar
-
TCP Sidecar is a technique and associated API for embedding measurement
probes into non-measurement TCP streams.
Project page - swish-e gem
-
Ruby gem for accessing the swish-e text indexing system
Github Rubygems
Graduate Students
- Rob Sherwood
- Cristian Lumezanu
- Dave Levin
- Aaron Schulman
- Youndo Lee
- Ramakrishna Padmanabhan
- Zhihao Li
Courses
Honors Computer Systems (CMSC 216H): Spring 2018 (also S '17)
Students in 216H implement original projects using the adafruit circuit playground
arduino board and explore program profiling and optimization as topics beyond the
non-honors course.
Computer networks (CMSC 417): Spring 2014 (also S '06, F '06, S '08, F '10).
Students in my 417 typically implement a bittorrent client and interpret packet traces.
Operating systems (CMSC 412): Fall 2015 (also F '08, F '09, S '11, S '13, F '14).
Students in my 412 implement features in
GeekOS
including fork, pipes, signals, paging, and a file system.
Computer systems (CMSC 216): Fall 2013.
I helped design this course that combines C and assembly skills with fundamentals of computer systems, and built short videos covering common errors in dynamic memory allocation and object sizes.
Ruby on Rails (CMSC 389R): Winter 2011.
I built a short, one credit course on Rails, using the Agile Web Development book.
Graduate operating systems (CMSC 818s): Fall 2011
Graduate computer networks (CMSC 711): Spring 2010 (also S '05, S '07, S '09).
Grad networks relies on critical thinking around seminal papers.
UW CSE 461 (undergrad senior-level computer networks) course web when I lectured Autumn 1999 and Autumn 2000.
I am particularly proud of programming assignment 3.
Contact
Email (preferred)
nspring@cs.umd.eduSnail mail
4133 A. V. Williams1870's tech
Office: 301-405-2909.I do not check office voicemail nearly as often as email.
Fax: 301-405-6707.