Patent ID: 7478115
Filing Date: 2009-01-13
Classification: G06F,Y10S

Abstract:
1. A method for performing a database and filesystem coordinated transaction, the method comprising: receiving in a database resource manager a command from a client to initiate the transaction; initiating the transaction with the database resource manager; sending a first reply from the database resource manager to the client indicating successful initiation of the transaction; receiving in the database resource manager from the client a set of at least one database modification; delaying the initiating the transaction by the database resource manager with a transaction manager until the database resource manager receives an indication that the transaction involves both database data and filesystem data; if the database resource manager does not receive the indication that the transaction involves both database data and filesystem data, processing the transaction without enlisting the transaction manager; sending a second reply from the database resource manager to the client indicating that at least one database modification has been successfully made; receiving in the database resource manager from the client a request for a transaction handle that is used to make at least one filesystem modification; sending a command from the database resource manager to the transaction manager to initiate the transaction with the transaction manager only after the request for the transaction handle is received in the database resource manager; receiving in the database resource manager from the transaction manager the transaction handle; sending from the database resource manager to the client a cookie for obtaining the transaction handle; receiving in a filesystem resource manager from the client a set of at least one filesystem modification; in response to receiving the set of the at least one filesystem modification, enlisting the filesystem resource manager in the transaction with the transaction manager; sending from the transaction manager to the filesystem resource manager an acknowledgment that the filesystem resource manager has successfully enlisted in the transaction; sending a third reply from the filesystem resource manager to the client indicating that the at least one filesystem modification has been successfully made; submitting an out-of-band filesystem modification within the transaction directly from the client to the filesystem resource manager; sending an in-band filesystem modification within the transaction from the client to the database resource manager, which submits the in-band filesystem modification to the filesystem resource manager on behalf of the client; receiving in the database resource manager a request from the client to commit the transaction; enlisting the database resource manager in the transaction with the transaction manager; sending from the transaction manager to the database resource manager an acknowledgment that the database resource manager has successfully enlisted in the transaction; sending a command from the database resource manager to the transaction manager to commit the transaction; receiving in the database resource manager from the transaction manager a notification that the transaction has been committed or rolled back; and sending the notification that the transaction has been committed or rolled back from the database resource manager to the client.