I am a passionate software engineer, a full-stack web developer, a proponent of agile methodologies, and currently a Senior Software Engineer at HomeAway.com, Inc. where I work on the Order Management team.


I received my B.S. in Electrical Engineering from the University of Texas in 2006, and my M.S.E from the same in 2008.

I completed my Ph.D. in 2012 on the topic of adaptive middleware for DTNs, specifically in using context to adapt routing algorithms. During my Ph.D. I worked on a middleware for delay-tolerant networks which enabled nodes to opportunistically and automatically make use of delay-tolerant networking protocols and routing algorithms given challenged networking conditions, while at the same time operate on a standard TCP/IP stack depending on network conditions. The middleware also collected and analyzed ‘lightweight’ network context in order to inform that decision. I worked on a variation of my dissertation research during an internship at Deutsche Telekom Labs which led to a granted European Union patent on the topic of adaptive content delivery for cellular networks. While at the University of Texas, I also collaborated with researchers at the Laboratory for Telecommunication Sciences on a novel routing algorithm using network coding, for which we published the first real-world (non-simulated) implementation.

This website is more-or-less a repository of my PhD research and a place to post other interesting projects. For further details about my qualifications, please see my LinkedIn profile.


Overview of Research

For my PhD I worked on a middleware for delay-tolerant networks which enabled nodes to opportunistically and automatically make use of delay-tolerant networking protocols and routing algorithms given challenged networking conditions, while at the same time operate on a standard TCP/IP stack when conditions allow. Dubbed MaDMAN (Middleware for Delay-Tolerant Mobile Ad-Hoc Networks), the middleware collected network and application context to determine the best combination of protocols and stacks to use for any given connection, and seamlessly migrated application sessions between stacks and protocols without dropping the connections.

For more information on this project, please visit the MaDMAN Project Site.


Code for "A Framework for Evaluating DTN Mobility Models"

Unfortunately, due to some IT restructuring at the University of Texas, the link in the paper is no longer valid. The code for our statistics package to evaluate mobility models (see paper below) has been relocated here:
Mobility Statistics Module for OMNeT++


Featured Academic Projects

MaDMAN : Middleware for Delay-Tolerant Mobile Ad-Hoc Networks

The MaDMAN (Middleware for Delay-Tolerant Mobile Ad-Hoc Networks) project focuses on delay-tolerant networks (DTNs), or environments of mobile, intermittently connected nodes. We are working on an adaptive middleware which will allow applications in these environments to automatically adapt their communications to suite their changing environment.

The following architecture diagram illustrates our general concept. In it, the Device has access to multiple independent "network stacks", possibly utilizing different transport, network, link, and physical protocols. The Middleware multiplexes application-layer connections across these stacks in response to changing network conditions, and migrates active connections between stacks as the situation demands.

MaDMAN Middleware Architecture

For more information about the MaDMAN middleware and links to download our code releases, please see the MaDMAN Project Website.

Pharos Testbed

I was also involved with the Pharos Mobile Computing Testbed, a modular testbed at the University of Texas comprised of mobile, autonomous robots (such as the one pictured below). Pharos provides a platform for running real-world pervasive computing experiments on heterogeneous mobile devices.

Pharos Mobile Testbed Robot

Passive Context Sensing for Context-Aware Mobile Computing

As computing devices and their users become increasingly mobile, the demand for information about the application's environment, or context, becomes significantly important to the efficient and robust operation of mobile and pervasive computing systems. Applications must be able to adapt themselves to changing conditions to satisfy users' demands and expectations and to ensure that the application's resource usage matches the environment's capabilities. Sensing context using traditional means incurs network communication, which competes with the applications using the network and expends valuable network resources, especially communication bandwidth and battery power. This project explores passively sensing context metrics. This results in measurements that are basically approximations of actual context, but can be collected with zero cost in terms of network communication. This project develops a model of passive context sensing and a general framework for building and deploying passively sensed context metrics.

PCS Suite

The Passive Context Sensing Suite We have built a collection of passive context sensing modules implemented in C++ for the Click Modular Route . It is available to download: Click PCS Suite.

Please note that the code is a prototype, and as such it might not be stable under all platforms or experimental setups.

The Honeynet Project

Honeynet Project Logo

During my undergraduate studies, I took part in the University of Texas Honeynet Project (now defunct, then a part of the international Honeynet Research Alliance).

We helped develop and test some of the early open-source contributions of the Honeynet Project, an international security research organization which gathers data about malicious hackers, their tools, methodologies, and motivations.