Method and apparatus for implementing a file system
First Claim
Patent Images
1. A file system comprising:
- one or more front-end elements that provide access to the file system;
one or more back-end elements that communicate with the one or more front-end elements and provide persistent storage of data; and
a persistent log that stores file system operations communicated from the one or more front-end elements to the one or more back-end elements;
wherein the file system treats the file system operations as complete when the operations are stored in the log, thereby allowing the file system to continue operating without waiting for the operations to be applied to the one or more local file systems.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for efficiently implementing a local or distributed file system is disclosed. The system may include a distributed virtual file system (“dVFS”) that utilizes a persistent intent log (“PIL”) to record transactions to be applied to the file system. The PIL is preferably implemented in stable storage, so that a logical operation may be considered complete as soon as the log record has been made stable. This allows the dVFS to continue immediately, without waiting for the operation to be applied to a local or real file system. The dVFS may further incorporate replication to one or more remote file systems as an integral facility.
86 Citations
47 Claims
-
1. A file system comprising:
-
one or more front-end elements that provide access to the file system;
one or more back-end elements that communicate with the one or more front-end elements and provide persistent storage of data; and
a persistent log that stores file system operations communicated from the one or more front-end elements to the one or more back-end elements;
wherein the file system treats the file system operations as complete when the operations are stored in the log, thereby allowing the file system to continue operating without waiting for the operations to be applied to the one or more local file systems. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An apparatus for implementing a file system including a plurality of front-end elements that provide access to the file system and one or more back-end elements that communicate with the front-end elements and provide persistent storage of data, the apparatus comprising:
-
a persistent log that stores file system operations communicated from the one or more front-end elements to the one or more back-end elements; and
a process that allows the file system to continue operating once the operations are stored in the log without waiting for the operations to be applied to the one or more back-end elements. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method for implementing a file system having one or more front-end elements that provide access to the file system, and one or more back-end elements that communicate with the one or more front-end elements and provide persistent storage of data, the method comprising:
-
storing operations in a persistent log, wherein the operations comprise file system operations communicated from the one or more front-end elements to the one or more back-end elements; and
allowing the file system to continue operating once the operations are stored in the log without waiting for the operations to be applied to the one or more back-end elements. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
Specification