IP Library Granted Patent US 7,185,005
Granted Patent B1
US 7,185,005 · App. 09/853,823 · Granted Feb 27, 2007

Nested transactions in a file system

Assignee: Oracle International Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,185,005
App. No.
09/853,823
Granted
Feb 27, 2007
Kind
B1
Abstract

Techniques are provided for performing operations in an electronic file system as nested transactions. According to one aspect of the invention, a command to perform one or more file system operations is received. In response to the command, a plurality of operations, including the one or more file system operations, are performed. Performing the plurality of operations includes: (1) performing a first subset of the plurality of operations as part of a first transaction; and (2) performing a second subset of the plurality of operations as part of a second transaction that is nested in the first transaction.

Claims (56)

1. A method for performing operations in an electronic file system, the method comprising the steps of:

receiving a command to perform one or more file system operations, wherein said command expressly identifies said one or more file system operations;

in response to said command, translating a plurality of operations including said one or more file system operations into database commands; and

a database server executing said database commands, wherein the step of executing includes:

performing a first subset of said database commands that corresponds to a first subset of said plurality of operations as part of a first transaction; and

performing a second subset of said database commands that corresponds to a second subset of said plurality of operations as part of a second transaction that is nested in said first transaction,

wherein each of said one or more file system operations is included in one of the first subset of said plurality of operations and the second subset of said plurality of operations.

2. The method of claim 1 wherein the step of executing further includes the step of performing a third subset of said database commands that corresponds to a third subset of said plurality of operations as part of a third transaction that is nested in said second transaction.

3. The method of claim 1 wherein the second subset of operations are operations that are triggered by an operation that belongs to said first subset of operations.

4. The method of claim 3 wherein:

the one or more file system operations include an operation on a folder; and

the second subset of operations includes operations associated with one or more documents within the folder.

5. The method of claim 1 wherein:

the step of receiving the command is performed by an entity that resides external to said database server; and

the method further comprises said entity sending said database commands to said database server.

6. The method of claim 5 wherein the step of performing said second subset includes:

the entity sending to the database server a savepoint command for the database server to establish a savepoint; and

after the entity sends to the database server a savepoint command, the entity sending to the database server said second subset of said database commands for performing said second subset of said plurality of operations.

7. The method of claim 6 further comprising the entity responding to a failure of an operation in said second subset of said plurality of operations by sending to the database server a command to roll back to said savepoint.

8. The method of claim 5 further comprising the entity maintaining a transaction list by performing the steps of:

adding an entry to the tail of the transaction list when the entity sends a savepoint command to the database server to start a nested transaction; and

when an operation fails, determining the savepoint to roll back to based on the entry at the tail of the transaction list; and

removing the entry from the tail of the transaction list when the nested transaction fails or completes successfully.

9. The method of claim 5 further comprising the steps of:

the entity determining whether all operations that are to be performed as a nested transaction are read only;

if all operations that are to be performed as the nested transaction are read only, then sending commands to perform the operations without first sending a command to establish a savepoint; and

if all operations that are to be performed as the nested transaction are not read only, then sending a command to establish a savepoint prior to sending commands to perform the operations.

10. The method of claim 1 wherein said one or more file system operations include one of an operation for copying a file and an operation for copying a folder.

11. A computer-readable medium carrying instructions for performing operations in an electronic file system, the computer-readable medium comprising instructions for performing the steps of:

receiving a command to perform one or more file system operations, wherein said command expressly identifies said one or more file system operations;

in response to said command, translating a plurality of operations including said one or more file system operations into database commands; and

a database server executing said database commands, wherein the step of executing includes:

performing a first subset of said database commands that corresponds to a first subset of said plurality of operations as part of a first transaction; and

performing a second subset of said database commands that corresponds to a second subset of said plurality of operations as part of a second transaction that is nested in said first transaction,

wherein each of said one or more file system operations is included in at least one of the first subset of said plurality of operations and the second subset of said plurality of operations.

12. The computer-readable medium of claim 11 wherein the step of executing further includes the step of performing a third subset of said database commands that corresponds to a third subset of said plurality of operations as part of a third transaction that is nested in said second transaction.

13. The computer-readable medium of claim 11 wherein the second subset of operations are operations that are triggered by an operation that belongs to said first subset of operations.

14. The computer-readable medium of claim 13 wherein:

the one or more file system operations include an operation on a folder; and

the second subset of operations includes operations associated with one or more documents within the folder.

15. The computer-readable medium of claim 11 wherein:

the step of receiving the command is performed by an entity that resides external to said database server; and

the computer-readable medium further comprises instructions for performing the step of said entity sending said database commands to said database server.

16. The computer-readable medium of claim 15 wherein the step of performing said second subset includes:

the entity sending to the database server a savepoint command for the database server to establish a savepoint; and

after the entity sends to the database server a savepoint command, the entity sending to the database server said second subset of said database commands for performing said second subset of said plurality of operations.

17. The computer-readable medium of claim 16 wherein the entity responds to a failure of an operation in said second subset of said plurality of operations by sending to the database server a command to roll back to said savepoint.

18. The computer-readable medium of claim 15 further comprising instructions for causing the entity to maintain a transaction list by performing the steps of:

adding an entry to the tail of the transaction list when the entity sends a savepoint command to the database server to start a nested transaction; and

when an operation fails, determining the savepoint to roll back to based on the entry at the tail of the transaction list; and

removing the entry from the tail of the transaction list when the nested transaction fails or completes successfully.

19. The computer-readable medium of claim 15 further comprising instructions for performing the steps of:

the entity determining whether all operations that are to be performed as a nested transaction are read only;

if all operations that are to be performed as the nested transaction are read only, then sending commands to perform the operations without first sending a command to establish a savepoint; and

if all operations that are to be performed as the nested transaction are not read only, then sending a command to establish a savepoint prior to sending commands to perform the operations.

20. The computer-readable medium of claim 11 wherein said one or more file system operations include one of an operation for copying a file and an operation for copying a folder.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2003
From: ORACLE CORPORATION
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 013944/0938 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2001
From: LONG, DAVID; PITFIELD, DAVID B.
To: ORACLE CORPORATION
Reel/Frame 011999/0475 →
Continuity (1)
Provisional Application 6020419600 · May 12, 2000