Claims
- 1. In a computer network, a method comprising:
receiving an I/O request initiated from an application program directed to a file on a WebDAV server; communicating with the WebDAV server to determine whether the request can be handled, and if so, downloading the file to a local cache and returning a file handle corresponding to the file in the local cache to the application program; providing access to the file in the local cache via the file handle; and receiving a request to close the file via the file handle, and when received, uploading the file from the local cache to the WebDAV server.
- 2. The method of claim 1 wherein receiving an I/O request initiated from an application program comprises, receiving a Universal Resource Identifier corresponding to a file on the WebDAV server.
- 3. The method of claim 1 wherein receiving an I/O request initiated from an application program comprises, receiving a filename and an identifier previously mapped to a share on the WebDAV server.
- 4. The method of claim 1 wherein communicating with the WebDAV server to determine whether the request can be handled, comprises, issuing an HTTP OPTIONS request, and evaluating a response therefrom.
- 5. The method of claim 1 wherein communicating with the WebDAV server to determine whether the request can be handled, comprises, issuing a WebDAV PROPFIND request directed to a share on the WebDAV server, and evaluating a response therefrom.
- 6. The method of claim 5 wherein the WebDAV server returns property information in response to the WebDAV PROPFIND request directed to the share, and further comprising, maintaining the property information in a local data structure.
- 7. The method of claim 1 wherein communicating with the WebDAV server to determine whether the request can be handled, comprises, issuing a WebDAV PROPFIND request directed to the file on the WebDAV server, and evaluating a response therefrom.
- 8. The method of claim 7 wherein the WebDAV server returns property information in response to the WebDAV PROPFIND request directed to the file, and further comprising, maintaining the property information in a local data structure.
- 9. The method of claim 1 wherein communicating with the WebDAV server to determine whether the request can be handled, comprises:
a) issuing an HTTP OPTIONS request, evaluating a corresponding response, and determining that the server is a WebDAV server; b) issuing a WebDAV PROPFIND request directed to a share on the WebDAV server, evaluating a corresponding response, and determining that the share exists on the WebDAV server, the response including share property information; and c) issuing a WebDAV PROPFIND request directed to the file, evaluating a corresponding response, and determining that the file exists, the response including file property information.
- 10. The method of claim 9 further comprising, maintaining the share property information and the file property information in at least one local data structure.
- 11. The method of claim 1 wherein communicating with the WebDAV server indicates that the request can be handled, and further comprising, communicating with at least one other local component to indicate that at least this request can be handled.
- 12. The method of claim 1 further comprising, determining that the file is encrypted on the WebDAV server, and wherein downloading the file to a local cache comprises, communicating with the file system to create an image of the file in the local cache that is also encrypted.
- 13. The method of claim 12 further comprising, communicating with the file system to open the image of the file such that the file system will transparently decrypt file data on read requests and will transparently encrypt file data on write requests to the file.
- 14. The method of claim 12 wherein uploading the file from the local cache to the WebDAV server comprises, communicating with the file system to read data from the local image of the file such that the file will be uploaded as the encrypted image thereof.
- 15. A computer-readable medium having computer-executable instructions for performing the method of claim 1.
- 16. A computer-implemented method, comprising:
receiving at a local application programming interface layer an application request that relates to a Uniform Resource Identifier; providing information corresponding to the request to a local WebDAV-related mechanism; and determining at the WebDAV-related mechanism whether a server identified via the application request comprises a WebDAV-enabled server, and if so, handling the request.
- 17. The method of claim 16 wherein the application request includes the Universal Resource Identifier.
- 18. The method of claim 16 wherein the application request includes an identifier that has been previously mapped to at least part of the Universal Resource Identifier.
- 19. The method of claim 16 wherein providing information corresponding to the request to a local WebDAV-related mechanism comprises polling a set of at least one redirector.
- 20. The method of claim 16 wherein providing information corresponding to the request to a local WebDAV-related mechanism comprises polling a set of at least one network provider.
- 21. The method of claim 16 wherein the application request comprises an I/O request directed to a file, and wherein handling the request comprises creating a local file corresponding to the I/O request.
- 22. The method of claim 21 wherein handling the request further comprises, downloading at least some file data from the WebDAV server to the local file.
- 23. The method of claim 21 wherein handling the request further comprises, returning a file handle corresponding to the local file to the application.
- 24. The method of claim 16 wherein the application request comprises a networking request to browse a network share on the WebDAV server, and wherein handling the request includes enumerating information of the network share.
- 25. The method of claim 16 wherein determining at the WebDAV-related mechanism whether the server identified via the application request comprises a WebDAV-enabled server includes, issuing an HTTP OPTIONS request to the server, and evaluating a corresponding response.
- 26. The method of claim 25 wherein the application program's request indicates a share on the WebDAV server, and further comprising, issuing a WebDAV PROPFIND request directed to the share on the WebDAV server.
- 27. The method of claim 26 wherein the application program's request further indicates a file on the share on the WebDAV server, and further comprising, issuing a WebDAV PROPFIND request directed to the file.
- 28. The method of claim 16 wherein the wherein the application request comprises an I/O request directed to an encrypted file, and further comprising, automatically decrypting the data locally when downloading the encrypted file from the WebDAV server and automatically encrypting the data locally when uploading the encrypted file to the WebDAV server.
- 29. The method of claim 16 wherein the application request comprises an I/O request directed to a file that is encrypted on the WebDAV server, and wherein handling the request comprises, creating a local file corresponding to the I/O request, and downloading an image of the file on the WebDAV server to the local file, wherein the local file is written by a local file system such that the image corresponds to the encrypted image on the WebDAV server.
- 30. The method of claim 29 further comprising, communicating with the file system to open the local file such that the file system will transparently decrypt file data read on read requests and will transparently encrypt file data written on write requests.
- 31. The method of claim 30 further comprising, detecting a request to close the local file, closing the local file, communicating with the file system to open the local file such that the file will not be decrypted when read, and uploading the file to the WebDAV server as an encrypted file.
- 32. A computer-readable medium having computer-executable instructions for performing the method of claim 16.
- 33. In a computer network, a system comprising,
an application program that issues WebDAV-related requests, including at least one request having an identifier corresponding to a WebDAV server; a WebDAV-request handling mechanism, the WebDAV-request handling mechanism configured to communicate with a network server to obtain capability information thereof, and to evaluate the capability information to determine whether the network server comprises a WebDAV-enabled server; and when the capability information indicates that the network server is WebDAV-enabled, the WebDAV-request handling mechanism locally handling each request corresponding to the WebDAV server that can be handled locally, and communicating with the WebDAV server to handle requests that cannot be handled locally.
- 34. The system of claim 33 wherein the identifier corresponding to a WebDAV server issued by the application comprises a Universal Resource Identifier.
- 35. The system of claim 33 wherein the identifier corresponding to a WebDAV server issued by the application comprises an identifier previously mapped to a share on the WebDAV server.
- 36. The system of claim 33 wherein the WebDAV-request handling mechanism receives requests from the application via an application programming interface.
- 37. The system of claim 33 wherein the application program issues I/O requests directed to a WebDAV file, and wherein the WebDAV-request handling mechanism receives the I/O requests from a manager component.
- 38. The system of claim 33 wherein the application program issues I/O requests directed to a WebDAV file, and wherein the WebDAV-request handling mechanism:
a) creates a local representation of the file; b) determines whether the file exists on the WebDAV server, and if so, downloads at least some of the data from the WebDAV server file to the local representation of the file; c) returns a file handle corresponding to the local representation of the file to the application program; d) receives I/O read and write requests associated with the file handle and handles the I/O read and write requests via the local representation of the file; and e) receives an I/O close request associated with the file handle, and handles the I/O close request by closing the local representation of the file and uploading at least part of the local representation of the file to the WebDAV server.
- 39. The system of claim 38 wherein the WebDAV file is encrypted, and wherein WebDAV-request handling mechanism creates the local representation of the file by:
a) requesting the file system to create a local file that is opened such that transparent encryption and decryption are not enabled therefor, b) downloading at least some of the encrypted file data by requesting the file system to write to the local file without translation thereof, and c) requesting the file system to close the local file.
- 40. The system of claim 39 wherein the WebDAV-request handling mechanism handles I/O read and write requests from the application by requesting the file system to reopen the local file such that reads therefrom are decrypted and writes thereto are encrypted.
- 41. The method of claim 40 wherein when the WebDAV-request handling mechanism handles the I/O close request, and before uploading the file, the WebDAV-request handling mechanism closes the local representation of the file, and reopens the local file by requesting the file system to open the file such that reads therefrom are not decrypted.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present invention claims priority to U.S. Provisional Patent Application Serial No. 60/268,311 filed Feb. 13, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60268311 |
Feb 2001 |
US |