Patent ID: 7461068

Claim:
A method for returning a data item to a requestor, the method comprising the steps of: receiving a request from an application that asks where a data item is and that provides an identifier of the data item; determining a route that should have been taken by the data item using configuration information, wherein the route includes one or more queue managers; for each of the one or more queue managers included in the determined route, asking that queue manager whether the data item exists on a queue managed by the queue manager; and under the control of each of the queue managers, receiving a request to access the data item from the requestor, the data item having data item contents being of uncertain state, wherein an identifier of the data item is provided by the requestor, wherein the data item has data item contents being of uncertain state when the request is pending completion of a unit of work with a commit or an abort; and in response to the requestor comprising system management software, and, in response to determining that the data item is on the queue managed by the queue manager, obtaining the data item contents and an indication of the state of the data item contents; and returning the data item and associated indication of the state to the requestor, wherein the indication of state includes at least one of delete_on_commit and insert_on_commit, wherein delete_on_commit indicates that the data item is deleted from the queue when a transaction commits and wherein insert_on_commit indicates that the data item is inserted into the queue when the transaction commits; and wherein the indication of state indicates whether the data item is in process or indoubt, wherein the data item goes indoubt when the queue manager has reached a prepared state until the transaction is one of committed and backed out, wherein the data item is in process before the data item is indoubt, and wherein, when the data item is inprocess, the system management software is capable of communicating with a resource manager to force the transaction to back out.