Visual Proxy: Exploiting OS Customizations without Application Source Code

M. Satyanarayanan, Jason Flinn, and Kevin R. Walker

Abstract

Performance and functionality enhancements are often made available to applications through extensions to an operating system's API. Recent examples include API extensions for search latency, application-specific conflict resolution, mobility, informed prefetchin, consistency management, and low-overhead transactions. Unfortunately, source code to some of the most popular and important applications is often not available under acceptable licensing terms. How then can such applications benefit from the new performance or functionality enhancements?

In this paper, we describe a solution to this problem that appears promising for a broad class of interactive applications that rely on graphical user interfaces (GUIs). We call our solution a visual proxy: "proxy" because it involves redirection through an interposing layer of code; and "visual" because this proxy is located at the front end of a GUI-based application and modifies its visual appearance.