SYSTEM AND METHODS OF USING IN-MEMORY REPLICATED OBJECT TO SUPPORT FILE SERVICES
First Claim
1. A method of storing persistent file handles in a storage system comprising a plurality of computing devices, comprising:
- receiving, at a server, a request to open a file, a copy of the file being stored on each of a plurality of storage devices each connected to or housed in at least one of the plurality of computing devices, wherein the server is running in a virtual computing instance that is running on a first computing device of the plurality of computing devices;
generating, by the server, a request to write a persistent file handle corresponding to the file to a file system stored on the plurality of computing devices;
sending the request from the server to a file server running on the first computing device;
translating, by the file server, the request to a block input/output (I/O) command to an in-memory object, the in-memory object representing at least a portion of the file system, a copy of the in-memory object being stored at each of the plurality of computing devices in volatile memory;
sending, by the file server, the block I/O command to a distributed storage module running on the first computing device;
replicating, by the distributed storage module, the block I/O command;
sending, by the distributed storage module, a copy of the block I/O command to a local storage module on each of the plurality of computing devices; and
performing, by the local storage module on the first computing device, the block I/O command to write the persistent file handle to the copy of the in-memory object stored in the volatile memory of the first computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are disclosed for using in-memory replicated object to support file services. Certain embodiments provide a method of storing persistent file handles in a storage system comprising a plurality of computing devices. The method may include requesting to write a persistent file handle corresponding to a file to a file system stored on the plurality of computing devices. The request may be translated to a block input/output (I/O) command to an in-memory object, the in-memory object representing at least a portion of the file system, a copy of the in-memory object being stored at each of the plurality of computing devices in volatile memory. The persistent file handle may then be written to the copy of the in-memory object stored in the volatile memory of each of the plurality of computing devices.
8 Citations
20 Claims
-
1. A method of storing persistent file handles in a storage system comprising a plurality of computing devices, comprising:
-
receiving, at a server, a request to open a file, a copy of the file being stored on each of a plurality of storage devices each connected to or housed in at least one of the plurality of computing devices, wherein the server is running in a virtual computing instance that is running on a first computing device of the plurality of computing devices; generating, by the server, a request to write a persistent file handle corresponding to the file to a file system stored on the plurality of computing devices; sending the request from the server to a file server running on the first computing device; translating, by the file server, the request to a block input/output (I/O) command to an in-memory object, the in-memory object representing at least a portion of the file system, a copy of the in-memory object being stored at each of the plurality of computing devices in volatile memory; sending, by the file server, the block I/O command to a distributed storage module running on the first computing device; replicating, by the distributed storage module, the block I/O command; sending, by the distributed storage module, a copy of the block I/O command to a local storage module on each of the plurality of computing devices; and performing, by the local storage module on the first computing device, the block I/O command to write the persistent file handle to the copy of the in-memory object stored in the volatile memory of the first computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable medium comprising instructions to be executed in a computer system, wherein the instructions when executed in the computer system perform a method of storing persistent file handles in a storage system comprising a plurality of computing devices, the method comprising:
-
receiving, at a server, a request to open a file, a copy of the file being stored on each of a plurality of storage devices each connected to or housed in at least one of the plurality of computing devices, wherein the server is running in a virtual computing instance that is running on a first computing device of the plurality of computing devices; generating, by the server, a request to write a persistent file handle corresponding to the file to a file system stored on the plurality of computing devices; sending the request from the server to a file server running on the first computing device; translating, by the file server, the request to a block input/output (I/O) command to an in-memory object, the in-memory object representing at least a portion of the file system, a copy of the in-memory object being stored at each of the plurality of computing devices in volatile memory; sending, by the file server, the block I/O command to a distributed storage module running on the first computing device; replicating, by the distributed storage module, the block I/O command; sending, by the distributed storage module, a copy of the block I/O command to a local storage module on each of the plurality of computing devices; and performing, by the local storage module on the first computing device, the block I/O command to write the persistent file handle to the copy of the in-memory object stored in the volatile memory of the first computing device. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system, wherein system software for the computer system is programmed to execute a method of storing persistent file handles in a storage system comprising a plurality of computing devices, the method comprising:
-
receiving, at a server, a request to open a file, a copy of the file being stored on each of a plurality of storage devices each connected to or housed in at least one of the plurality of computing devices, wherein the server is running in a virtual computing instance that is running on a first computing device of the plurality of computing devices; generating, by the server, a request to write a persistent file handle corresponding to the file to a file system stored on the plurality of computing devices; sending the request from the server to a file server running on the first computing device; translating, by the file server, the request to a block input/output (I/O) command to an in-memory object, the in-memory object representing at least a portion of the file system, a copy of the in-memory object being stored at each of the plurality of computing devices in volatile memory; sending, by the file server, the block I/O command to a distributed storage module running on the first computing device; replicating, by the distributed storage module, the block I/O command; sending, by the distributed storage module, a copy of the block I/O command to a local storage module on each of the plurality of computing devices; and performing, by the local storage module on the first computing device, the block I/O command to write the persistent file handle to the copy of the in-memory object stored in the volatile memory of the first computing device. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification