ATOMIC TRANSACTION FILE MANAGER
First Claim
1. In a computing system configured to modify files, a method of ensuring atomicity for multiple writes across one or more documents without regard to any particular document format type and without creating complex code for syncing document fields, the method comprising:
- receiving a file transaction initialization for making multiple writes to one or more files located within a first directory of a file system;
identifying the file transaction as requiring atomic consistency across the multiple writes to the one or more files such that the multiple writes either succeed or fail as a whole even with a hardware failure, software failure, or both; and
based on the required atomic consistency, automatically creating a temporary directory folder different from the first directory, the temporary directory created for saving in-memory data for the one or more files in order to make the multiple writes thereto.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments provide developers with easy to use file atomicity mechanisms and undo/redo functionality that are not tied to any particular document format by using modern file systems. More specifically, a transaction file manager is configured to automatically utilize a directory name change operation to ensure the atomicity of file modifications (i.e., a change to one file is either consistently applied across all files within the directory, or not at all) without regard to any particular file format. Further, to support versioning of changes to multiple files, embodiments also keep the order of sets of changes by using a sortable directory naming mechanism within the transaction file manager. Most modern file system will allow for these two things, thus providing a system that atomically applies changes across arbitrary sets of files using any file format, while also providing multilevel undo/redo functionality.
22 Citations
20 Claims
-
1. In a computing system configured to modify files, a method of ensuring atomicity for multiple writes across one or more documents without regard to any particular document format type and without creating complex code for syncing document fields, the method comprising:
-
receiving a file transaction initialization for making multiple writes to one or more files located within a first directory of a file system;
identifying the file transaction as requiring atomic consistency across the multiple writes to the one or more files such that the multiple writes either succeed or fail as a whole even with a hardware failure, software failure, or both; and
based on the required atomic consistency, automatically creating a temporary directory folder different from the first directory, the temporary directory created for saving in-memory data for the one or more files in order to make the multiple writes thereto. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a computing system configured to modify files, a method of providing for multiple levels of undo/redo functionality for changes to the one or more documents without regard to any particular document format type by using a sortable directory mechanism, the method comprising:
-
receiving user input requesting an undo/redo change to a set of files, wherein the set of files are atomically maintained such that a change to one file must either be consistently applied to each file within the set, or not at all;
accessing a set of directories related to the set of files, wherein each of the set of directories includes an atomic set of the files that were committed to permanent storage such that each directory within the set represents a version of writes that were atomically maintained across the set of files; and
based on the user input, selecting a chosen directory from the set of directories for accessing a particular version of the set of files in order to apply multiple-levels of the undo/redo changes as desired. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. In a computing system configured to modify files, a method of ensuring atomicity across multiple writes to a set of documents in order to protect against hardware or software failures by rolling back to a previous version of the set of documents based on a transaction that only partially completed, without creating complex code for syncing document fields, the method comprising:
-
receiving an initialization of a file transaction for a set of files, which are atomically maintained such that a change to one file must either be consistently applied to each file within the set, or not at all;
based on the initialization, accessing a storage that includes a temporary directory and a first directory for different versions of the set of files, wherein the temporary directory was automatically created from a previous file transaction initialization that made at least one change to at least one file from the set of files, and wherein the first directory includes a copy of the set of files without the at least one change to any file within the set;
identifying that the file transaction abnormally terminated, which indicates that at least one of the files from the set of files within the temporary directory does not include the at least one change such that the at least one change has not been consistently applied to each of the files within the set; and
using the first directory for the file transaction such that the set of files rolls-back to the version without the at least one change to any file within the set. - View Dependent Claims (18, 19, 20)
-
Specification