Joseph Pasquale

My research is in the general areas of operating systems, networks, and distributed systems, broadly focusing on performance, reliability and security of Internet-scale systems with highly decentralized control. With my graduate students, our work ranges from the experimental to the theoretical (though generally weighted towards the former), bringing to bear on a problem any and all tools to help us gain insight on solving it: measurement of actual or prototyped systems, analytic modeling, simulation, etc. We typically design and implement system software that hypothetically solves the problem, and then we test whether it does and evaluate its goodness in terms of performance, reliability, etc. Finally, we generally take an end-to-end approach to our designs, analyses, and implementations.

Some of our "firsts" include:

Our research group has made fundamental contributions in performance and quality-of-service of Internet-scale systems, primarily in the areas of (see papers for most recent work):

Our papers in these areas are categorized below.

Protocol Support for IoT (Internet of Things)

Protocol Support for IoT (Internet of Things): Some of our most recent work focuses on supporting IoT (Internet of Things) environments. In fact, much of our earlier work, especially our research on thin-client computing (see below), applies to this area. Our latest work has focused on improving CoAP, the "Constrained Application Protocol," which is an IoT messaging protocol that is gaining in popularity and importance. Our novel contributions include applying CoAP to work in Content-Centric Networks and to improving CoAP's congestion control function.

Durability in Peer-to-Peer Systems

Long-Running Replicated Systems: Our work in this area focuses on achieving durability (longevity) of software objects (e.g., storage files, computational processes, network streams) that are expected to significantly outlive the hardware that supports them. In these works, we have so far addressed questions of optimality of number of replicas, rates of observation (to detect failures), and storage distribution.

Packet Scheduling for QoS

Stratified Round Robin: First packet scheduling algorithm to provide all three of the following properties simultanouesly: strong fairness, bounded delay, low quasi-constant complexity (making it uniquely amenable to highly efficient and practical implementations). QoS for wireless networks: Extensions of our results on supporting end-to-end delay bounds and bandwidth isolation to the domain of integrated wireless/wired networks. Fundamental results in deadline-based packet scheduling: These include three major results: (1) the first exposition and proof of the definitive set of necessary conditions that define the core properties of all deadline-based service disciplines; (2) Leave-in-Time, the first service discipline to use VirtualClock at its core and exploit its end-to-end delay bound property; (3) the first proof that VirtualClock supports an end-to-end delay bound (solving a 6-year open problem).

Agent-based Middleware for Wireless Thin-Client Computing

Support for Internet-of-Things: protocols that support IoT (Internet-of-Things) environments. Support for Wearable I/O Devices: cloud-based architectures that support wearable thin-client I/O devices and their applications, e.g., augmented reality. Server Middleware: Server architecture that supports hosting of remote agents with performance isolation. Web Customization: Remote agent Web middleware architecture for thin clients that supports Web content customization. Agent Behaviors: A major problem with agent-based programming is complexity; this work defines canonical behaviors (e.g., cache, filter, monitor, multi-request/collate) of remote agents, and shows how they can be expressed in the form of simple programming templates. The Extended Client/Server Model: How to extend the client/server model to support intermediary agents (dynamically-deployed proxies).

High-Performance File and Network I/O

TCP/IP performance: First detailed performance measurement studies of widely-deployed TCP/IP implementations that showed the potentials and limitations of various software optimizations as they relate to delay vs. throughput, and thus which are worth implementing and which are not. Operating system structures for high throughput I/O: Addressed the critical problem of moving high volume data at high rates (e.g., video) between devices and processes, and showed how to achieve this with operating system abstractions that can be implemented efficiently (minimizing memory copying).

Multimedia Multicasting

Multicast Routing for Multimedia: First to develop algorithms (centralized and distributed) for determining multicast routes that simultaneously minimize bandwidth and meet a delay bound (delay-constrained minimal Steiner trees). Filter propagation: Forerunner of the active networks concept, proposing that the network act as a distributed processor, and more specifically, how a multimedia multicast network can be programmed to optimally filter media streams.

Decentralized Control in Large Distributed Systems

Fundamental Problems: This work shows why uncertainty regarding state and uncertainty regarding action are fundamental problems that are inherent in distributed systems, and suggests approaches for dealing with them, the most powerful being the use of randomization. Load Balancing: Studies of load balancing using highly decentralized control algorithms and how the various fundamental problems reduce potential performance.