Controlling execution of transactions
First Claim
1. An apparatus for controlling execution of a plurality of transactions in each of which one or more processes provided by providers are performed in response to a request of a requester, whereinthe requester comprises:
- a first storage for storing therein first history information showing a provider requested to perform each process in each of the plurality of transactions, wherein the first storage stores therein the first history information on each of the plurality of transactions in association with first identification information for identifying the each of the transactions and second identification information for identifying a transaction executed before or after the each of the transactions;
a specifying unit for specifying a requested provider based on the first history information in response to a request for re-execution of a specific transaction out of the plurality of transactions, the requested provider having been requested to perform, and having performed, each process in each of transactions after the specific transaction, wherein the specifying unit specifies a transaction executed after the specific transaction, based on the first and second identification information;
an acquisition unit for acquiring third identification information for identifying a first transaction out of the plurality of transactions;
a transmitter for transmitting, to the requested provider, a request for the process in the first transaction together with the third identification information, anda cancellation instruction unit for instructing the requested provider which is specified by the specifying unit, to cancel the requested processes in all the transactions executed after the specific transaction, and whereineach of the plurality of providers comprises;
a second storage for storing therein second history information showing a status before performing a new cycle of the process in a corresponding one of the transactions in response to the request of the requester;
a cancellation unit for cancelling the process in the corresponding one of the transactions based on the second information in response to the cancellation instruction from the cancellation instruction unit, the transactions having been executed in response to other requests of the requester after the specific transaction;
a receiver for receiving, from the requester, the request for the process together with the third identification information; and
a processor for;
storing fourth identification information for identifying a second transaction in association with the process in the second transaction to be executed;
performing the process in the first transaction when information that the process in the second transaction has been completed is stored in association with the fourth identification information;
storing the third identification information in association with the process in the first transaction; and
upon completion of the process in the first transaction, storing information that the process in the first transaction has been completed, in association with the third identification information.
1 Assignment
0 Petitions
Accused Products
Abstract
A requester includes a business process history DB having recorded therein GBPIDs, input messages, and provider names, and each of providers includes a log DB having recorded therein log data containing DBPIDs and images before updates of the DB. Moreover, in the requester, an UNDO information creator and a REDO information creator refer to the business process history DB to respectively create UNDO information and REDO information for the provider in charge of the business process of a GBPID after the modification REDO. Furthermore, in the provider, an UNDO processor and a REDO processor refer to the log DB to respectively perform UNDO and REDO processes.
61 Citations
10 Claims
-
1. An apparatus for controlling execution of a plurality of transactions in each of which one or more processes provided by providers are performed in response to a request of a requester, wherein
the requester comprises: -
a first storage for storing therein first history information showing a provider requested to perform each process in each of the plurality of transactions, wherein the first storage stores therein the first history information on each of the plurality of transactions in association with first identification information for identifying the each of the transactions and second identification information for identifying a transaction executed before or after the each of the transactions; a specifying unit for specifying a requested provider based on the first history information in response to a request for re-execution of a specific transaction out of the plurality of transactions, the requested provider having been requested to perform, and having performed, each process in each of transactions after the specific transaction, wherein the specifying unit specifies a transaction executed after the specific transaction, based on the first and second identification information; an acquisition unit for acquiring third identification information for identifying a first transaction out of the plurality of transactions; a transmitter for transmitting, to the requested provider, a request for the process in the first transaction together with the third identification information, and a cancellation instruction unit for instructing the requested provider which is specified by the specifying unit, to cancel the requested processes in all the transactions executed after the specific transaction, and wherein each of the plurality of providers comprises; a second storage for storing therein second history information showing a status before performing a new cycle of the process in a corresponding one of the transactions in response to the request of the requester; a cancellation unit for cancelling the process in the corresponding one of the transactions based on the second information in response to the cancellation instruction from the cancellation instruction unit, the transactions having been executed in response to other requests of the requester after the specific transaction; a receiver for receiving, from the requester, the request for the process together with the third identification information; and a processor for; storing fourth identification information for identifying a second transaction in association with the process in the second transaction to be executed; performing the process in the first transaction when information that the process in the second transaction has been completed is stored in association with the fourth identification information; storing the third identification information in association with the process in the first transaction; and upon completion of the process in the first transaction, storing information that the process in the first transaction has been completed, in association with the third identification information. - View Dependent Claims (2, 3, 4)
-
-
5. A method for controlling execution of a plurality of transactions in each of which one or more processes provided by providers are performed in response to a request of a requester, the method comprising:
-
the requester storing first history information showing a provider that was requested to perform each process in each of the plurality of transactions, wherein storing the first history information includes storing, for each of the plurality of transactions, first identification information for identifying the each of the transactions and second identification information for identifying whether a transaction was executed before or after the each of the transactions; each of the plurality of providers storing second history information showing a status before performing the process in a corresponding one of the transactions in response to the request of the requester; in response to a request for re-execution of a specific transaction out of the plurality of transactions, the requester specifying, based on the first history information, a provider which has performed each process in transactions after the specific transaction, and the requester specifying a transaction executed after the specific transaction, based on the first and second identification information; the requester instructing all the requested providers specified to cancel the processes in all the transactions executed after the specific transaction; and upon receipt of the cancellation instruction, each of the plurality of providers cancelling, based on the second history information, the process, which has been performed in response to the request of the requester, in a corresponding one of the transactions executed after the specific transaction; the requester acquiring third identification information for identifying a first transaction out of the plurality of transactions; the requester transmitting, to the requested provider, a request for the process in the first transaction together with the third identification information; and each of the plurality of providers; receiving, from the requester, the request for the process together with the third identification information; storing fourth identification information for identifying a second transaction in association with the process in the second transaction to be executed; performing the process in the first transaction when information that the process in the second transaction has been completed is stored in association with the fourth identification information; storing the third identification information in association with the process in the first transaction; and upon completion of the process in the first transaction, storing information that the process in the first transaction has been completed, in association with the third identification information. - View Dependent Claims (6, 7, 8)
-
-
9. An apparatus for controlling execution of a plurality of transactions in each of which one or more processes provided by providers are performed in response to a request of a requester wherein
the requester comprises: -
a first history information storage for storing therein history information including a first transaction ID of each of the plurality of transactions, a second transaction ID of a transaction executed immediately before each of the transactions, and a provider ID of a provider which has been requested to perform a process in each transaction; a first management information storage for storing therein management information for managing a latest transaction ID of a latest transaction; a specifying unit for specifying a provider ID of a requested provider in response to a request for re-execution of a specific transaction out of the plurality of transactions, the requested provider having been requested to perform, and having performed, each process in each of transactions after the specific transaction, the provider ID being specified by tracing history information from history information including the latest transaction ID as the first transaction ID, to history information including a transaction ID of the specific transaction as the first transaction ID, through history information including the second transaction ID as the first transaction ID; a cancellation instruction unit for instructing all the providers with the provider IDs specified by the specifying unit to cancel the requested processes in all the transactions executed after the specific transaction; and a re-execution instruction unit for instructing all the providers with the provider IDs specified by the specifying unit to re-execute the requested processes in all the transactions executed after the specific transaction, and each of the plurality of providers comprises; a second history information storage for storing therein history information including a first log ID of a log of a process, which has been performed in response to the request of the requester, in a corresponding one of the plurality of transactions, a second log ID of a log of a process immediately before the process, a third transaction ID of a transaction in which the process is performed, and status information showing a status before performing the process; a second management information storage for storing therein management information for managing a latest log ID of a latest log; a cancellation unit for cancelling, by use of the status information, the process in the corresponding one of the transactions in response to the cancellation instruction from the cancellation instruction unit, the transactions having been executed in response to other requests of the requester after the specific transaction, and the process being canceled by tracing history information from history information including the latest log ID as the first log ID, to history information including a transaction ID of the specific transaction as the third transaction ID through history information including the second log ID as the first log ID; and a re-execution unit for, upon receipt of the re-execution instruction from the re-execution instruction unit, re-executing the process with a certain transaction ID in the corresponding one of the transactions executed in response to a certain request from the requester after the specific transaction, after executing a process which has been performed with an older transaction ID than the certain transaction ID in response to a request different from the certain request.
-
-
10. An apparatus for controlling execution of a plurality of transactions in each of which one or more processes provided by providers are performed in response to a request of a requester, wherein
the requester comprises: -
a first storage for storing therein first history information showing a provider requested to perform each process in each of the plurality of transactions; a specifying unit for specifying a requested provider based on the first history information in response to a request for re-execution of a specific transaction out of the plurality of transactions, the requested provider having been requested to perform, and having performed, each process in each of transactions after the specific transaction; a cancellation instruction unit for instructing the requested provider which is specified by the specifying unit, to cancel the requested processes in all the transactions executed after the specific transaction; and a re-execution instruction unit for instructing all the requested providers specified by the specifying unit to re-execute all the processes of the transactions executed after the specific transaction; and wherein each of the plurality of providers comprises; a second storage for storing therein second history information for each of the plurality of transactions in association with identification information identifying the each of the transactions and the order of the each of the transactions, the second history information including a status before performing a new cycle of the process in a corresponding one of the transactions in response to the request of the requester; a cancellation unit for cancelling the process in the corresponding one of the transactions based on the second information in response to the cancellation instruction from the cancellation instruction unit, the transactions having been executed in response to other requests of the requester after the specific transaction; and a re-execution unit for re-executing the process in the corresponding one of the transactions executed after the specific transaction, upon receipt of the re-execution instruction from the re-execution instruction unit, without changing an order relation between the process executed in response to the request for the corresponding transaction and other processes executed in response to other requests different from the request; and wherein the apparatus comprises a server for independently supplying the providers the identification information identifying the each of the transactions and the order of the each of the transactions and the status before performing a new cycle of the process in a corresponding one of the transactions, so that the re-execution unit specifies the order relation between the process executed in response to the request for the corresponding transaction and the other processes executed in response to the other requests different from the request without a re-execution dependency arising between the re-execution unit and the requester.
-
Specification