Abstract:
A transactional file system performs multiple file system operations as part of a user-level transaction. An application specifies that operations should be handled as part of a transaction, and the application is given a file handle associated with the transaction context. Operations are managed consistent with transactional behavior and data isolation is provided with multiple versions of a file and by tracking copies of pages that have changed. 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. Logging and recovery are also facilitated by logging page data 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 also provided until a transaction commits via isolation directories.
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.
Abstract:
A system to perform transacted remote file operations over a network includes a client and a server. The client and server each include a transaction manager (TM) and a file system (FS). The client also includes a redirector (RDR), while the server includes a server application (SRV). The RDR receives a request for a remote transacted file operation. In response, the RDR retrieves the transaction from the request. The RDR may use the TM to marshall the transaction for transmission to the server. The RDR sends the transaction to the server over the network. The SRV component receives the transaction, which the TM and FS of the server then use to perform the file operation. The server then returns the file operation result to the client via the network.
Abstract:
Systems and methods are provided for atomic transactions in a NoSQL database. A system writes a pending transaction identifier to write claim data for a first data item in a NoSQL database in response to a determination that the write claim data for the first data item includes a first previous transaction identifier included in last commit data for the first data item. The system writes the pending transaction identifier and a pending commit identifier to the last commit data for the first data item. The system writes a first value associated with a pending transaction to the first data item. The system aborts the pending transaction in response to a determination that the write claim data for the first data item does not include the first previous transaction identifier included in the last commit data for the first data item.
Abstract:
A communication control device includes a determining unit, a request unit, a storage control unit, and a recovery unit. The determining unit determines, based on a requested data operation and a schema of a table that stores therein data to be operated by the data operation, any one of a first operation method of storing state information indicating a state of the data operation and a second operation method of avoiding storing the state information as a method for the data operation. The request unit requests server devices to execute the data operation. The storage control unit stores, when the first operation method is determined, the state information in a storage unit upon execution of the data operation. The recovery unit recovers, when a failure occurs upon the execution of the data operation, from the failure by a recovery method suited to the operation method determined by the determining unit.
Abstract:
A method is now provided that improve backing up server data sets. Each server database transaction is registered to a central server repository prior to starting the database transaction, each database transaction comprising a plurality of writes to be executed for a database application on a database, and quiescing all database transactions registered to the central server repository to thereby wait for all ongoing writes of the database transactions registered to the central server repository to complete and to release control of the database.
Abstract:
A history preserving data pipeline computer system and method. In one aspect, the history preserving data pipeline system provides immutable and versioned datasets. Because datasets are immutable and versioned, the system makes it possible to determine the data in a dataset at a point in time in the past, even if that data is no longer in the current version of the dataset.
Abstract:
Various embodiments are provided for managing a global cache coherency in a distributed shared caching for a clustered file system (CFS). The CFS manages access permissions to an entire space of data segments by using the DSM module. In response to receiving a request to access one of the data segments, a calculation operation is performed for obtaining most recent contents of one of the data segments. The calculation operation performs one of providing the most recent contents via communication with a remote DSM module which obtains the one of the data segments from an associated external cache memory, instructing by the DSM module to read from storage the one of the data segments, and determining that any existing contents of the one of the data segments in the local external cache are the most recent contents.
Abstract:
A server computer system performs a first set of operations for a first transaction. The first transaction pertaining to data stored in a file system. The server computer system delays a second set of operations for the first transaction and identifies a second transaction pertaining to the data. In response to identifying the second transaction, the server computer system cancels the second set of operations for the first transaction, and cancels a first set of operations for the second transaction.
Abstract:
A storage system is described. The storage system includes an object store having a plurality of objects to implement a quota policy or a part of a relational database. The plurality of objects include a first plurality of immutable objects, a second plurality of immutable objects and a head object. The first plurality of immutable objects contain information kept within the database. The second plurality of immutable objects contain a hierarchy of pages for accessing the first plurality of immutable objects. The plurality of objects also include a mutable object that contains a mapping table that maps identifiers of the pages to identifiers of objects of the second plurality of immutable objects. The information is one of: quota policy information; information within a table of a relational database; a stripe of a thin provisioned file.