Storage area network file system
First Claim
1. A system handling read and write file requests from an application, the read and write requests relating to real-data, the system comprising:
- a) a client computer;
b) a server computer;
c) a local area network;
d) a SAN-attached storage device for storing the real-data, the SAN-attached storage device being connected to the client computer and the server computer via a storage area network;
e) client programming on the client computer that receives read and write file requests from the application, wherein the client programmingi) categorizes each file request into either a SAN file request or a LAN file request in part by comparing a file attribute received from the SAN-attached storage device via the storage area network with a second file attribute received from the server via the local area network,ii) submits LAN write file requests and the related real-data to the server via the local area network, andiii) handles SAN read requests and receives real-data relating to SAN read requests directly from the SAN-attached storage device; and
f) server programming on the server computer, wherein the server programmingi) receives the LAN write requests and the related real-data from the client computer, andii) submits real-data related to the LAN write requests to the SAN-attached storage device for storage.
0 Assignments
0 Petitions
Accused Products
Abstract
A shared storage distributed file system is presented that provides applications with transparent access to a storage area network (SAN) attached storage device. This is accomplished by providing clients read access to the devices over the SAN and by requiring most write activity to be serialized through a network attached storage (NAS) server. Both the clients and the NAS server are connected to the SAN-attached device over the SAN. Direct read access to the SAN attached device is provided through a local file system on the client. Write access is provided through a remote file system on the client that utilizes the NAS server. A supplemental read path is provided through the NAS server for those circumstances where the local file system is unable to provide valid data reads. Consistency is maintained by comparing modification times in the local and remote file systems. Since writes occur over the remote file systems, the consistency mechanism is capable of flushing data caches in the remote file system, and invalidating metadata and real-data caches in the local file system. It is possible to utilize unmodified local and remote file systems in the present invention, by layering over the local and remote file systems a new file system. This new file system need only be installed at each client, allowing the NAS server file systems to operate unmodified. Alternatively, the new file system can be combined with the local file system.
-
Citations
29 Claims
-
1. A system handling read and write file requests from an application, the read and write requests relating to real-data, the system comprising:
-
a) a client computer; b) a server computer; c) a local area network; d) a SAN-attached storage device for storing the real-data, the SAN-attached storage device being connected to the client computer and the server computer via a storage area network; e) client programming on the client computer that receives read and write file requests from the application, wherein the client programming i) categorizes each file request into either a SAN file request or a LAN file request in part by comparing a file attribute received from the SAN-attached storage device via the storage area network with a second file attribute received from the server via the local area network, ii) submits LAN write file requests and the related real-data to the server via the local area network, and iii) handles SAN read requests and receives real-data relating to SAN read requests directly from the SAN-attached storage device; and f) server programming on the server computer, wherein the server programming i) receives the LAN write requests and the related real-data from the client computer, and ii) submits real-data related to the LAN write requests to the SAN-attached storage device for storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system of networked computing devices comprising:
-
a) a storage area network; b) a client computer running an application; c) a server computer; d) a SAN-attached storage device connected to the server computer and the client computer via the storage area network; e) logic that determines whether file requests are SAN file requests to be serviced directly via the storage area network or are server file requests to be serviced through the server computer; f) client programming on the client computer that receives file requests from the application, wherein the client programming i) services SAN file requests directly across the storage area network by (1) retrieving metadata relating to the file request directly from the SAN-attached storage device, (2) interpreting the metadata retrieved from the SAN-attached storage device, and (3) initiating real-data transfer between the client computer and SAN-attached storage device; ii) submits server file requests to the server; and g) server programming on the server computer, wherein the server programming services server file requests received from the client computer. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for handling file requests for an application comprising:
-
a) determining whether each file request is a local file request to be handled via a local file system, or whether the file request is a remote file request to be handled by a remote file system using a server computer in part by comparing a modification time received from the local file system with a second modification time received from the remote file system; b) submitting local file requests to the local file system, with real-data relating to the local file requests not passing through the server computer; and c) submitting remote file requests to the remote file system, with real-data relating to the remote file requests passing through the server computer. - View Dependent Claims (21, 22, 23)
-
-
24. A method for handling file requests for an application executing on a client computer comprising:
-
a) retrieving at the client computer metadata relating to the file requests via a local data-path; b) analyzing the metadata at the client computer; c) determining whether each file request is a local file request to be handled via the local data-path, or whether the file request is a remote file request to be handled by a remote data-path passing through a server computer; d) submitting local file requests to local programming executing on the client computer, with real-data relating to the local file requests not passing through the server computer; and e) submitting remote file requests to remote programming, with real-data relating to the remote file requests passing through the server computer.
-
-
25. The method of 24, wherein the local data-path is the path from the client computer to a SAN-attached storage device via a storage area network.
-
26. The method of 24, wherein the remote data-path is the path from the client computer to a SAN-attached storage device via a local area network, the server computer, and a storage area network.
-
27. A client computer handling read and write file requests from an application, the read and write requests relating to real-data, the client computer comprising:
-
a) a local area network connection connecting the client computer to a local area network and to a server computer via the local area network; b) a storage area network connection connecting the client computer to a storage area network and to a SAN-attached storage via the storage area network, with the server computer also being connected to the storage area network; c) client programming on the client computer that receives read and write file requests from the application, wherein the client programming i) categorizes each file request into either a SAN file request or a LAN file request in part by comparing a file attribute received from the SAN-attached storage device via the storage area network with a second file attribute received from the server via the local area network, ii) submits LAN write file requests and the related real-data to the server via the local area network so that the server computer submits the real-data related to the LAN write requests to the SAN-attached storage device for storage, and iii) handles SAN read requests and receives real-data relating to SAN read requests directly from the SAN-attached storage device without sending any real-data over the local area network.
-
-
28. A client computer running an application comprising:
-
a) a local area network connection connecting the client computer to a local area network and to a server computer via the local area network; b) a storage area network connection connecting the client computer to a storage area network and to a SAN-attached storage device via the storage area network, with the server computer also being connected to the storage area network; c) client programming on the client computer that receives file requests from the application, wherein the client programming i) receives file requests from the application wherein some file requests are SAN file requests to be serviced directly via the storage area network and other file requests are server file requests to be serviced through the server computer ii) services SAN file requests directly across the storage area network by (1) retrieving metadata relating to the file request directly from the SAN-attached storage device, (2) interpreting the metadata retrieved from the SAN-attached storage device, and (3) initiating real-data transfer between the client computer and SAN-attached storage device; and ii) submits server file requests to the server for processing by the server wherein real data is directly handled by the server in its communication between the client computer and the SAN-attached storage device.
-
-
29. A client computer running an application comprising:
-
a) a local area network connection connecting the client computer to a local area network and to a server computer via the local area network; b) a storage area network connection connecting the client computer to a storage area network and to a SAN-attached storage device via the storage area network, with the server computer also being connected to the storage area network; c) client programming on the client computer that receives file requests from the application, wherein the client programming i) receives file requests from the application wherein some read file requests are SAN file requests to be serviced directly via the storage area network and other read file requests and all write file requests are server file requests to be serviced through the server computer ii) services SAN file requests directly across the storage area network by initiating real-data transfer between the client computer and SAN-attached storage device without real data passing through the server; and iii) submits server file requests to the server for processing by the server wherein real data is directly handled by the server in its communication between the client computer and the SAN-attached storage device.
-
Specification