Transactional file system
First Claim
1. A method for maintaining files on a computer system, comprising:
- calling, by an application on a first computer system, a method of a transaction coordinator associated with a file system of the first computer system that requests that a transaction be initiated to be associated with a plurality of file system requests by the application;
generating a transaction object that represents the transaction and assigning a context to the transaction which uniquely identifies the transaction;
receiving a first file system request of the transaction at the file system of the first computer system, the first request specifying the transaction context to indicate to the file system that the first request is part of the transaction;
performing the first file system request at the file system of the first computer system as part of the transaction;
receiving a second file system request of the transaction at the file system of the first computer system, the second request specifying the transaction context to indicate to the file system that the second request is also part of the transaction;
detecting, at a redirector of the file system of the first computer system, that the second request corresponds to a remote file that is stored on a second computer system to which the first computer system is connected via a network;
redirecting the second request to an agent of a file system of the second computer system including sending the transaction object to the agent;
performing the second file system request at the file system of the second computer system;
maintaining the transaction object within the file system of the second computer system indicating that the remote file is being accessed within the transaction; and
when the transaction commits, committing the first file system request at the file system of the first computer system and the second file system request at the file system of the second computer system.
2 Assignments
0 Petitions
Accused Products
Abstract
A transactional file system wherein multiple file system operations may be performed as a transaction. An application specifies that file system-related operations are to be handled as 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 file system component manages operations consistent with transactional behavior. Transactions over a network are facilitated. Remote files may be accessed within a transaction via a redirector protocol. A redirector on a client computer system communicates with an agent on a server computer system to relay and maintain transactional information on both systems.
-
Citations
18 Claims
-
1. A method for maintaining files on a computer system, comprising:
-
calling, by an application on a first computer system, a method of a transaction coordinator associated with a file system of the first computer system that requests that a transaction be initiated to be associated with a plurality of file system requests by the application; generating a transaction object that represents the transaction and assigning a context to the transaction which uniquely identifies the transaction; receiving a first file system request of the transaction at the file system of the first computer system, the first request specifying the transaction context to indicate to the file system that the first request is part of the transaction; performing the first file system request at the file system of the first computer system as part of the transaction; receiving a second file system request of the transaction at the file system of the first computer system, the second request specifying the transaction context to indicate to the file system that the second request is also part of the transaction; detecting, at a redirector of the file system of the first computer system, that the second request corresponds to a remote file that is stored on a second computer system to which the first computer system is connected via a network; redirecting the second request to an agent of a file system of the second computer system including sending the transaction object to the agent; performing the second file system request at the file system of the second computer system; maintaining the transaction object within the file system of the second computer system indicating that the remote file is being accessed within the transaction; and when the transaction commits, committing the first file system request at the file system of the first computer system and the second file system request at the file system of the second computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer readable medium storing computer executable instruction which when executed by a processor perform acts for maintaining files on a computer system, comprising:
-
calling, by an application on a first computer system, a method of a transaction coordinator associated with a file system of the first computer system that requests that a transaction be initiated to be associated with a plurality of file system requests by the application; generating a transaction object that represents the transaction and assigning a context to the transaction which uniquely identifies the transaction; receiving a first file system request of the transaction at the file system of the first computer system, the first request specifying the transaction context to indicate to the file system that the first request is part of the transaction; performing the first file system request at the file system of the first computer system as part of the transaction; receiving a second file system request of the transaction at the file system of the first computer system, the second request specifying the transaction context to indicate to the file system that the second request is also part of the transaction; detecting, at a redirector of the file system of the first computer system, that the second request corresponds to a remote file that is stored on a second computer system to which the first computer system is connected via a network; redirecting the second request to an agent of a file system of the second computer system including sending the transaction object to the agent; performing the second file system request at the file system of the second computer system; maintaining the transaction object within the file system of the second computer system indicating that the remote file is being accessed within the transaction; and when the transaction commits, committing the first file system request at the file system of the first computer system and the second file system request at the file system of the second computer system. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computing system comprising:
-
a first computer system comprising a processor and memory; a second computer system comprising a processor and memory, wherein the first computer system is connected to the second computer system over a network, and wherein the first and second computer systems communicate over the network to perform the following method; calling, by an application on a first computer system, a method of a transaction coordinator associated with a file system of the first computer system that requests that a transaction be initiated to be associated with a plurality of file system requests by the application; generating a transaction object that represents the transaction and assigning a context to the transaction which uniquely identifies the transaction; receiving a first file system request of the transaction at the file system of the first computer system, the first request specifying the transaction context to indicate to the file system that the first request is part of the transaction; performing the first file system request at the file system of the first computer system as part of the transaction; receiving a second file system request of the transaction at the file system of the first computer system, the second request specifying the transaction context to indicate to the file system that the second request is also part of the transaction; detecting, at a redirector of the file system of the first computer system, that the second request corresponds to a remote file that is stored on the second computer system; redirecting the second request to an agent of a file system of the second computer system including sending the transaction object to the agent; performing the second file system request at the file system of the second computer system; maintaining the transaction object within the file system of the second computer system indicating that the remote file is being accessed within the transaction; and when the transaction commits, committing the first file system request at the file system of the first computer system and the second file system request at the file system of the second computer system.
-
Specification