Using log objects in object storage for durability of file objects in volatile memory
First Claim
1. A system, comprising:
- an object storage system configured to store data objects via an application-level network protocol; and
a file gateway implemented by one or more computing devices comprising one or more processors and volatile system memory, wherein the file gateway comprises;
a file system interface configured to receive, from one or more clients over a network, file system operations;
an object storage interface configured to store data objects to the object storage system via the application-level network protocol; and
a file-object manager configured to;
in response to receiving by the file system interface a file system operation for a file;
call the object storage interface to store a log object into a file system log in the object storage system, wherein the log object indicates the file system operation for the file; and
create or update, based on the file system operation for the file, a file object in a file object construction buffer in the volatile system memory, wherein the file object corresponds to the file, and wherein the file-object manager does not have access to local persistent storage; and
in response to a determination to evict the file object, call the object storage interface to store the file object into a file object store in the object storage system.
1 Assignment
0 Petitions
Accused Products
Abstract
A file system interface receives, from one or more clients, file system operations over a network. In response to receiving a file system operation for a file, a file-object manager calls an object storage interface to store, via an application-level network protocol, a log object indicating the file system operation into a file system log in the object storage system and creates or updates a file object in a file object construction buffer in volatile system memory. To evict the file object, the file-object manager calls the object storage interface to store the file object into a file object store in the object storage system. The file-object manager does not have access to local persistent storage. After power failure, the file-object manager calls the object storage interface to retrieve log objects from the file system log and replays file system operations to restore file objects in the volatile system memory.
13 Citations
20 Claims
-
1. A system, comprising:
-
an object storage system configured to store data objects via an application-level network protocol; and a file gateway implemented by one or more computing devices comprising one or more processors and volatile system memory, wherein the file gateway comprises; a file system interface configured to receive, from one or more clients over a network, file system operations; an object storage interface configured to store data objects to the object storage system via the application-level network protocol; and a file-object manager configured to; in response to receiving by the file system interface a file system operation for a file; call the object storage interface to store a log object into a file system log in the object storage system, wherein the log object indicates the file system operation for the file; and create or update, based on the file system operation for the file, a file object in a file object construction buffer in the volatile system memory, wherein the file object corresponds to the file, and wherein the file-object manager does not have access to local persistent storage; and in response to a determination to evict the file object, call the object storage interface to store the file object into a file object store in the object storage system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method, comprising:
-
performing, by one or more computing devices; receiving, via a file system interface, file system operations from one or more clients over a network; and in response to receiving, via the file system interface, a file system operation for a file; calling, by a file-object manager, an object storage interface to store a log object into a file system log in an object storage system, wherein the log object indicates the file system operation for the file; and creating or updating, based on the file system operation for the file, a file object in a file object construction buffer in a volatile system memory, wherein the file object corresponds to the file. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium storing program instructions that, when executed by a computing device, cause the computing device to implement:
-
receiving, via a file system interface, file system operations from one or more clients over a network; and in response to receiving, via the file system interface, a file system operation for a file; calling, by a file-object manager, an object storage interface to store a log object into a file system log in an object storage system, wherein the log object indicates the file system operation for the file; and creating or updating, based on the file system operation for the file, a file object in a file object construction buffer in a volatile system memory, wherein the file object corresponds to the file. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification