Applications and operating systems can be augmented with extra functionality by injecting additional middleware into the boundary layer between them, without tampering with their binaries. Using this scheme, we separate the physical resource bindings of the application and replace it with virtual bindings. This is called virtualization. We are developing a virtualizing Operating System (vOS) residing on top of Windows NT, that injects all applications with the virtualizing software. The vOS makes it possible to build communities of systems that cooperate to run applications and share resources completely non-intrusively while retaining complete application binary compatibility. In this paper, we describe a prototype system that virtualizes the application’s window, making it possible to relocate the window to remote machines without the application’s awareness. The prototype copies, or clones a window of an application onto a display on a remote machine and then, using API interception, applies the application semantics to the clone window in terms of data and message flow. The virtualization of the application‘s window is one of the steps towards making all system resources virtualizable and any application movable between systems. This research is part of a larger project called Computing Communities (CC) which is building large unions of distributed machines supporting shared resource management using legacy applications.
[1]
David A. Solomon,et al.
Inside windows nt second edition
,
1998
.
[2]
Helen Custer,et al.
Inside Windows NT
,
1992
.
[3]
Richard N. Taylor,et al.
Using off-the-shelf middleware to implement connectors in distributed software architectures
,
1999,
Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).
[4]
Philip A. Bernstein,et al.
Middleware: a model for distributed system services
,
1996,
CACM.
[5]
R. M. Balzer,et al.
Mediating connectors
,
1999,
Proceedings. 19th IEEE International Conference on Distributed Computing Systems. Workshops on Electronic Commerce and Web-based Applications. Middleware.
[6]
Galen C. Hunt,et al.
Detours: binary interception of Win32 functions
,
1999
.
[7]
Partha Dasgupta,et al.
Transparent Distribution Middleware for General Purpose Computations
,
1999,
PDPTA.
[8]
Michael B. Jones,et al.
Interposition agents: transparently interposing user code at the system interface
,
1994,
SOSP '93.