My Research Interests

Within computer science, I'm most fascinated by topics that fall under the large umbrella of "networking": distributed and collaborative computing, the design of network protocols and software, and operating system issues. More recently, my work has focused on applications in wireless and embedded systems---the integration of networked sensors with the physical world.

Originally traditional networks really caught my attention because of the way they bind everything together. With networks, people can exchange ideas, software, or anything else with people around the corner as easily as people around the globe. Networks can be used to join computers together, allowing them to solve problems as a group much faster than any individual computer ever could. And in the networked world of a college campus or the Internet, there is no concept of "here" and "there" -- everything is accessible from everywhere. Networked computers can tell you the news of wars on another continent or how many Cokes are left in the soda machine. Of course, asking your computer to tell you how many Cokes are left in the machine will never replace the experience of walking to the machine and finding a friend there who wants to chat. The network should never replace human interaction, but only augment it.

My Current Job

In May of 2003, I received my Ph.D. in computer science from UCLA, and since then have continued working there as part of CENS in a postdoc-ish staff researcher position.

Broadly speaking, CENS explores the architectural challenges posed by massively distributed, large scale, physically-coupled, and usually untethered and small-form-factor computing systems. Through simulation, prototype implementations, and ultimately fielded systems, CENS explores such issues as data diffusion protocols, localization, time synchronization, low-power wireless communications, and self-configuration.

My work has fallen primarily in two areas. The first is time synchronization, which is a crucial problem in sensor networks, but is actually much more difficult in that domain than in traditional areas such as the Internet. I've also been exploring programming models that make it easier to deal with the complexity inherent to building complex systems that must be robust enough to adapt to changes in their environments without a user around to fix problems.

Working in sensor networks is exciting because it's still such a wide open field compared to the traditional Internet space. Everyone knows what the Internet is now, and tons of people are doing research in it. It's too crowded; for research to be original, it often has to be so esoteric that it is almost irrelevant. Sensor networks feels more like uncharted territory.

Previous Jobs I've Held

Graduate Student

From 1998 to 2003, I was a graduate (Ph.D.) student in computer science---originally at USC and ISI in beautiful Marina del Rey, California. In 2000, I moved with my advisor (Prof. Deborah Estrin) and several of her other Ph.D. students to the UCLA Computer Science Department. We formed the new Laboratory for Embedded Collaborative Systems, or LECS, which has since become the CENS Systems Lab.

Trying to have my cake and eat it too

While I was a graduate student, I also involved myself in quite a few other things. Probably too many... but there are just so many tempting and fun opportunities out there!

My main outside work at the time was as a part-time engineer for a startup called Sensoria. They fit nicely with my thesis because the work is very complementary; in fact, Sensoria and our ISI lab have collaborated on projects in the past as part of DARPA's SensIT program. Sensoria is building embedded systems products and applications similar in concept (and often similar in detail) to much of the sensor-network research that comes out of our embedded systems labs at ISI and UCLA. It's nice to get the best of both worlds: working both in graduate research on problems with a 5-10 year horizon, and at a startup where fast turnaround on ideas and instant gratification is the norm.

Internet designer-at-large

From time to time I work with various companies in the traditional Internet space. Even though it's crowded, I still enjoy it because it feels more familiar to me---more like "home", so to speak. I'm on the technical advisory board of a startup called Coulera. I also worked as a consultant to Network Appliance and Akamai, helping them to define (and write) open standards for the Internet such as iCAP and NECP.

"Computer Engineer" (how generic can you get?)

From June of 1996 until July of 1998, I was officially a "Computer Engineer" employed by the Division of Computer Research and Technology, which is part of the National Institutes of Health. I did high-level software architecture design and lower-level coding, but my job often required me to do a lot of technical and academic writing, UNIX system administration, network administration (our testbed ATM switches), and system integration.

I was involved in a lot at the NIH. My official project was the Radiology Consultation Workstation, an ATM-based telemedicine environment to support remote consultation with voice, full-motion NTSC video, and diagnostic quality digital images with a shared cursor and tracing tools. (I have several papers describing the system.) I also taught C++ classes there, and wrote various network utilities for the NIH network people.

Ruthless Entrepreneur

In high school and through college, I co-owned a company called The Whitman Group, along with my friend Josh Adler. Our most exciting and successful project was a computer dating service called Scholastic Matchmakers. (Much earlier, in high school, we had a somewhat whimsical and humbling experience writing a piece of software called The Capital Search.)

Teaching Assistant and Instructor

I love teaching. It can be very satisfying to successfully organize a body of knowledge and present it in such a way that someone else can understand it.

While I was an undergraduate at Johns Hopkins, I was a teaching assistant for the semester-long C and C++ classes about 5 times, from 1994-1996. While working at the NIH from 1996-1998, I was the instructor for a 4-day C++ seminar three times a year. After returning to school in Fall of 1998 to pursue a Ph.D., I was the teaching assistant for Undergraduate Operating Systems for two semesters.

Computer Systems Manager

During my last year and a half as an undergraduate at Hopkins, I worked part-time as the Computer Systems Manager for the Department of Cognitive Science, maintaining their UNIX workstations, PC's, and networks, as well as providing user support for 30-odd users. I was solely responsible for providing all of the Department's computer support and administration for most of the time I worked there.

I learned a great deal about UNIX system administration from this job; unfortunately, it was also the most thankless job in the Universe. This is one of the precious few jobs in which your employer shouldn't notice your job if you're doing it correctly, and therefore thinks you aren't doing anything. You come in at 3AM to fix something so that no one ever realizes that it broke, and nary a word is said; your boss walks in one day and can't log in to his workstation, and all Hell breaks loose.

Research Assistant

Earlier in my undergraduate career, I worked as a programmer for the Department of Psychology. I wrote DOS-based software that was used in experiments involving human subjects. Most of the software was written for graduate students doing research in visual perception, attention, and memory. I also developed programming libraries with functions useful in experimentation software, and helped some of the more computer-literate graduate students debug the software they were writing on their own.

Back to my home page

jelson at circlemud dot org
Last updated: 25 June 2003