A method of serving target directory information, in a computing environment comprising a server computer hosting the target directory, a client computer communicably linkable to the server computer, the client computer hosting an application and a directory cache, the method comprising the steps of:
- receiving from the application a benign request for information relating to a target file potentially contained in the target directory;
- inspecting the directory cache to determine whether a valid enumeration of the contents of the target directory is cached in the directory cache;
- forwarding the request for information to the server if it is determined that a valid enumeration of the contents of the target directory is not cached in the directory cache;
- inspecting the directory cache to determine whether a valid entry for the target file is contained in the enumeration of the contents of the target directory, if it is determined that a valid enumeration of the contents of the target directory is cached in the directory cache;
- returning to the application an indication that the target file does not exist in the target directory if it is determined that a valid entry for the target file is not contained in the enumeration of the contents of the target directory;
- and
- if it is determined that a valid entry for the target file is contained in the enumeration of the contents of the target directory, serving the request for information from the directory cache if the valid entry for the target file contains sufficient information to satisfy the request, and otherwise sending the request to the server and passing a response from the server to the application,
- wherein the directory cache also contains partially valid and invalid enumeration of the contents of the target directory.