Computer program, computer, and messaging system for returning a data item to a requestor
AssigneeInternational Business Machines Corporation
InventorStephen James Todd
Life of this patent
Estimating the term…
Abstract
The invention relates to an apparatus and a system for returning a data item to a requestor. (The requestor may for example be a systems application.) A request is received to access a data item having data contents of uncertain state (i.e. because the data item is pending completion of a transaction.) The apparatus or system obtains the data item contents and an indication of the state (e.g. delete_on_commit) of the data item contents. This information is then returned to the requestor.
Claims14
A computer for returning a data item to a requestor, the computer comprising:
- an in-memory cache;
- a requestor comprising system management software that, when run on the computer,
- performs:
- 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, and, 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 control of each of the queue managers, that, when run on the computer, performs:
- 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 contents 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 inprocess 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 hacked out, wherein the data item is inprocess 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.
A computer program for returning a data item to a requestor, comprising:
- program code stored in an in-memory cache that, when run on a computer, is adapted lo perform:
- 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;
- and
- 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 control of each of the queue managers, that, when run on the computer, performs:
- 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 inprocess 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 inprocess 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.
A computer for returning a data item to a requestor, the system comprising:
- an in-memory cache;
- a messaging system having a queue manager and a queue for holding messages;
- a database store comprising records wherein the database store persists copies of messages on the queue as database records;
- and
- in response to the queue failing, a database manager performing:
- receiving from the requestor a request to access a data item represented as a data record in the database store, the data record having data record contents being of uncertain state, wherein the data record has data record contents being of uncertain state when the request is pending completion of a unit of work within a commit or an abort;
- obtaining the contents of the data record from the database store and an indication of state of the data item contents stored in the failed queue;
- and
- returning the data record contents and the indication of state from the database store to the requestor.
A messaging system for returning a message to a requestor, the messaging system comprising:
- an in-memory cache;
- at least one queue for receiving messages;
- a queue manager;
- a requestor adapted to receive a request from an application that asks where a message is and that provides an identifier of the message, wherein the requestor comprises system management software, to determine a route that should have been taken by the message using configuration information, wherein the route includes the queue manager, and to ask the queue manager included in the determined route whether the message exists on the at least one queue managed by the queue manager;
- and
- where, the queue manager performs:
- receiving a request to access the message from the requestor, the message having message contents being of uncertain state, wherein an identifier of the message 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 message and an indication of the state of the message;
- and
- returning the message 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, where delete_on_commit indicates that the message is deleted from the queue when a transaction commits and wherein insert_on_commit indicates that the message is inserted into the queue when the transaction commits, and wherein the indication of state indicates whether the data item is inprocess 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 inprocess 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.
Dependencies are inferred from the claim text.