A method for accessing a file in a directory structure associated with an application, the method comprising: (a) intercepting, by a filter driver executing on a computing machine, a first request for access to a file by a first application executing within a first isolation environment (556, 8200) including an application isolation layer and a user isolation layer; (b) redirecting, by the filter driver, the first request to the first isolation environment (556, 8200); (c) determining, by the filter driver, that the file does not exist in the first isolation environment and that the file is in an enumeration of a directory structure including a plurality of application files residing on a remote machine; (d) redirecting, by the filter driver, the first request to a second isolation environment including an application isolation layer and a user isolation layer, responsive to the determination that the file is identified in the enumeration of the directory structure; (e) determining, by the filter driver responsive to the determination that the file is identified in the enumeration of the directory structure, that the file does not exist in the second isolation environment and, in response, retrieving, by a transceiver on the computing machine, the file from the remote machine and storing the retrieved file in the second isolation environment; (f) responding, by the filter driver, to the first request with the retrieved file; (g) intercepting, by the filter driver, a second request to access the file made by a second application executing in a third isolation environment; (h) redirecting, by the filter driver, the second request to the second isolation environment, responsive to the determination that the file is identified in the enumeration and that the second isolation environment contains the retrieved file; and (i) providing, by the second isolation environment, the second application with access to the retrieved file. (a) intercepting, by a filter driver executing on a computing machine, a first request for access to a file by a first application executing within a first isolation environment (556, 8200) including an application isolation layer and a user isolation layer; (b) redirecting, by the filter driver, the first request to the first isolation environment (556, 8200); (c) determining, by the filter driver, that the file does not exist in the first isolation environment and that the file is in an enumeration of a directory structure including a plurality of application files residing on a remote machine; (d) redirecting, by the filter driver, the first request to a second isolation environment including an application isolation layer and a user isolation layer, responsive to the determination that the file is identified in the enumeration of the directory structure; (e) determining, by the filter driver responsive to the determination that the file is identified in the enumeration of the directory structure, that the file does not exist in the second isolation environment and, in response, retrieving, by a transceiver on the computing machine, the file from the remote machine and storing the retrieved file in the second isolation environment; (f) responding, by the filter driver, to the first request with the retrieved file; (g) intercepting, by the filter driver, a second request to access the file made by a second application executing in a third isolation environment; (h) redirecting, by the filter driver, the second request to the second isolation environment, responsive to the determination that the file is identified in the enumeration and that the second isolation environment contains the retrieved file; and (i) providing, by the second isolation environment, the second application with access to the retrieved file.