Transactional file system
First Claim
12. A computer-readable medium having computer-executable instructions, which when executed perform steps, comprising:
- opening a file in association with a first transaction; and
maintaining data at a file system level while the first transaction has not committed to isolate changes to the file made in association with the first transaction from being accessed by a second transaction.
2 Assignments
0 Petitions
Accused Products
Abstract
A transactional file system wherein multiple file system operations may be performed as part of a user-level transaction. An application specifies that the operations on a file, or the file system operations of a thread, should be handled as part of a transaction, and the application is given a file handle associated with a transaction context. For file system requests associated with a transaction context, a component within the file system manages the operations consistent with transactional behavior. The component, which may be a resource manager for distributed transactions, provides data isolation by providing multiple versions of a file by tracking copies of pages that have changed, such that transactional readers do not receive changes to a file made by transactional writers, until the transactional writer commits the transaction and the reader reopens the file. The component also handles namespace logging operations in a multiple-level log that facilitates logging and recovery. Page data is also logged separate from the main log, with a unique signature that enables the log to determine whether a page was fully flushed to disk prior to a system crash. Namespace isolation is provided until a transaction commits via isolation directories, whereby until committed, a transaction sees the effects of its own operations not the operations of other transactions. Transactions over a network are also facilitated via a redirector protocol.
-
Citations
19 Claims
-
12. A computer-readable medium having computer-executable instructions, which when executed perform steps, comprising:
-
opening a file in association with a first transaction; and
maintaining data at a file system level while the first transaction has not committed to isolate changes to the file made in association with the first transaction from being accessed by a second transaction. - View Dependent Claims (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15)
-
-
13-1. The computer-readable medium of claim 12 wherein maintaining the data comprises maintaining information from which a read-only version of the file is preserved for the second transaction.
-
16. In a computing environment, a method comprising:
-
opening a past version of a file for read-only access, including opening a current version of the file and accessing a change data structure that contains information for locating file data for the past version when corresponding file data in the current version has changed;
opening the file for read-write access in association with a transaction; and
updating the change data structure when changes are written to the current version of the file so that the past version is preserved for the read-only access. - View Dependent Claims (17, 18, 19)
-
Specification