WO2004077270A2 - Systems and methods for transaction chaining - Google Patents

Systems and methods for transaction chaining Download PDF

Info

Publication number
WO2004077270A2
WO2004077270A2 PCT/US2004/005624 US2004005624W WO2004077270A2 WO 2004077270 A2 WO2004077270 A2 WO 2004077270A2 US 2004005624 W US2004005624 W US 2004005624W WO 2004077270 A2 WO2004077270 A2 WO 2004077270A2
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
workflow
tasks
atomically
processed
Prior art date
Application number
PCT/US2004/005624
Other languages
French (fr)
Other versions
WO2004077270A3 (en
Inventor
Albert Gondi
Michael Douglas Blow
Pal Takacsi-Nagy
Original Assignee
Bea Systems Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bea Systems Inc. filed Critical Bea Systems Inc.
Publication of WO2004077270A2 publication Critical patent/WO2004077270A2/en
Publication of WO2004077270A3 publication Critical patent/WO2004077270A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing

Definitions

  • the present invention relates to the filtering of messages in a subscription- based messaging model.
  • BACI GROUNB i a normal transaction management approach
  • a first transaction for a first application is "followed" by a second transaction for either the first application or for a second application.
  • Any resources that the first application is holding against a database or resource manager are deleted when the first transaction completes. Further, any context for the first transaction is deleted upon completion.
  • all resources for that transaction must be re-established, including any resources used for the first transaction. This can be inefficient if any of those resources are being used by multiple transactions.
  • a transaction management engine such as a business process management (BPM) engine, can allow an application to define transaction demarcations in order to ensure that portions of a workflow are processed atomically.
  • BPM business process management
  • Figure 1 is a diagram showing a workflow that can be used in accordance with one embodiment of the present invention.
  • Figure 2 is a diagram of another workflow that can be used in accordance with one embodiment of the present invention.
  • Figure 3 is a code example showing transaction demarcations within a workflow that can be used with the diagram of Figure 2.
  • Figure 4 is a chart showing an execution path that can be used with the diagram of Figure 2.
  • Transaction managers can be used to provide atomicity for a transaction.
  • the "atomicity" of a transaction refers to the fact that a transaction should be done as a single "atomic" unit of work, such that the entire transaction either commits or fails. If a transaction includes multiple updates to a database table, for example, a transaction manager can be used to ensure that either all of the updates get committed to the database, or that none of the updates get committed. Ensuring atomicity through a transaction manager can be substantially more complicated, however, as a transaction manager can be responsible for managing multiple, distributed transactions on a number of databases distributed throughout a system or across a network or server cluster.
  • Systems and methods in accordance with the present invention provide a transaction manager with the ability to manage a "chained" transaction, or a transaction chain.
  • a transaction manager can maintain certain resources, or can maintain a transaction context, for subsequent transactions.
  • a transaction management engine such as a business process management (BPM) engine, can allow an application to define transaction demarcations. For example, two tasks can be completed in a business process that transfers money between accounts. First, a specific amount of money needs to be deducted from a first account. Second, that money needs to be transferred into a second account. Assuming that these are separate items of work, it can be desirable to bracket these two activities in a transaction to be an atomic work item, such that either both work items process or neither of them process. It would be undesirable to deduct money from the first account if the money did not actually get added to the second account, and it would not be desirable to add money to the second account if that money was not actually taken out of the first account.
  • BPM business process management
  • Systems and methods in accordance with one embodiment of the present invention utilize an entity bean to implement this BPM, which can take advantage of transaction bracketing.
  • entities bean By utilizing an entity bean, transactions can be managed by an EJB container. When demarcating a transaction boundary for application activities within BPM, the transaction can simply continue to process normally until a transaction bracket is encountered. When a bracket is encountered, a persistent message is queued to the system, such as a JMS message. The queued JMS message allows the system to store context for the transaction. This allows the system to know that, upon the next transaction invoke, the system should start with the next activity within the transaction boundary. In other words, the system is processing the first transaction, then queuing a context that can be picked up and used by the next transaction.
  • An inbound message bean, or message-drive bean can be created if this context is persisted through JMS.
  • the MDB can pull this JMS message from the queue and invoke the BPM with the appropriate message. That message can include information about the next activity that to be executed as part of the transaction, allowing the transaction to maintain context.
  • a mechanism such as a J2EE API could be used for suspending and resuming transactions.
  • the system could suspend the first transaction, process those tasks included within the brackets in the new transaction, commit the new transaction, and resume the original transaction.
  • a problem with such an approach exists, however, as the original transaction can fail after being resumed.
  • the system has then processed an activity beyond the execution path, with no way to automatically undo or rollback the successfully committed transaction when the original transaction rolls back.
  • activities two and three can be bracketed to be done atomically, or as a single unit of work.
  • the user can place an opening transaction tag before activity two and a closing transaction tag after activity three. These tags can indicate that the second and third activities should be done atomically, such that both activities succeed or neither succeeds.
  • the transaction can be paused to start a new transaction, in order to implement a new transaction block. If the new transaction fails, since the JMS message is in the first queue, the JMS message can be resent. This can ensure that the transaction manager always continues from the correct location. Since the JMS message is queued, an obj ect is only sent to get that message if the transaction commits. If the queued JMS message and the transaction roll back, the system is basically one step behind and can again attempt to go forward along the path of execution. An example of one such execution path is given in Figure 4.
  • a transaction manager can be configured to control the number of retries, or the period of time for retrying a transaction.
  • Attributes in the workflow can be used to specify, for example, a retry count.
  • the transaction itself can also have a retry count. If a JMS message is queued and the message does not commit, the system can generate a callback due to the failure, and that message can have a retry count. So even if the first attempt failed, the user can indicate how many times the message should be retried.
  • JWS Java Web service
  • a workflow When a workflow is implemented in J2EE as an entity bean with container- managed transactions, it can be desirable to have a mechanism to demarcate parts of the workflow as atomic units of work. In other words, it is desirable to commit the existing container-initiated transaction and start a new transaction in order to perform the next unit of work.
  • An example of such a workflow is shown in Figure 2, where once the workflow is started 200, a message is received 202 to execute the first transaction 204, followed by a message 206 to execute the second transaction 208. After executing the transactions, or failing to execute the transactions, a reply 210 can be sent that can indicate an end 212 to the workflow. Committing the existing transaction and having the ability to do the next unit of work in a new transaction can be treated as a single operation.
  • a JMS message can be queued to the workflow as part of the existing transaction. If the existing transaction commits, the transaction ensures that the workflow will be invoked, due to the queued JMS message, in a different transaction that can allow the workflow to perform the next unit of work in the newly initiated transaction. When the unit of work is completed, the workflow can queue another JMS message. If this transaction commits, the transaction can ensure that the unit of work has executed in a transaction. When the workflow is invoked again, due to the second JMS message, the workflow can continue its operation in a different transaction.
  • a transaction can have a tag called ⁇ transaction>.
  • a user can include tasks to be performed atomically within the transaction tags. The implication is that all the tasks to be performed should be executed under a single transaction. For example, consider the following workflow: ⁇ process>
  • the methods methodl and method2 will be executed in a second transaction, demarcated by the opening and closing ⁇ transaction> tags. Yet another transaction can be used to execute someOtherMethod. When the workflow encounters a
  • the workflow can queue a JMS message containing the information as to the next activity that needs to be executed. Queuing a JMS message as part of an existing transaction also ensures that the workflow will continue only if that transaction commits. The next unit of work is then "chained" to the previous work in the process.
  • the ⁇ transaction> tags ensure that methodl and method2 can be executed atomically. Without such a mechanism, there is no way to demarcate methodl and method2 as a single unit of work using J2EE transactional APIs. It is not possible to simply suspend the current transaction, start a new transaction to do the unit of work, and resume the original transaction, as there will be problems if the new transaction commits and the original transaction rolls back.
  • Transaction blocks not only can ensure that all operations within a transaction block are performed atomically, but a transaction block can also provide a timeout value for the operations to complete. A transaction block can also provide for retrying the operations in case of failures or timeouts.
  • a user can set separate timeout and retry values for each transaction within a workflow.
  • the timeout value is set to 30 seconds with a retry count of 3
  • the timeout value is 20 seconds and the retry count is 2.
  • Atomic transactions are known as "all-or-notl ing" transactions. Actions taken prior to committing an atomic transaction are considered to be tentative or pending, and not persistent or visible to other activities.
  • the application can make a request to a coordination component to determine an outcome for the transaction.
  • the coordination component can determine whether any of the units of work failed, such as by asking the processes doing those units of work to "vote" or reply whether or not the work items processed successfully. If all the processes vote indicate successful execution, the coordination component can commit all the actions taken. If a process indicates an aborted execution, or does not responds to the request, the coordination component can abort all actions and roll back the transaction.
  • a commit operation makes the tentative actions persistent and visible to other transactions, while a rollback makes the tentative actions appear as if the actions never happened.
  • Atomic transactions can provide consistent failure and recovery semantics, so applications do not need to deal with the mechanics of determining a mutually agreed outcome decision or to figure out how to recover from a large number of possible inconsistent states.

Abstract

A transaction management engine, such as a business process management (BPM) engine, can allow an application to define transaction demarcations in order to ensure that portions of a workflow are processed atomically (104). In one such system, a JMS message is queued to the workflow as part of an existing transaction (100). If that transaction commits (106), the queued JMS message ensures that the workflow will be invoked in a new transaction that allows the workflow to perform the next unit of work in the newly initiated transaction (108). When the unit of work is completed, the workflow queues another JMS message. If this transaction commits, the transaction ensures the unit of work has executed in a transaction. When the workflow is invoked again due to the second JMS message, the workflow can continue its operation in a different transaction. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.

Description

SYSTEMS AND METHODS FOR TRANSACTION CHAINING
CLAIM OF PRIORITY This application claims priority to U.S. Patent Provisional Application
60/449,925 entitled "SYSTEMS AND METHODS FOR TRANSACTION CHAINING," by Gondi et al., filed February 25, 2003.
This application claims priority to U.S. Patent Utility Application No.
10/ , entitled "SYSTEMS AND METHODS FOR TRANSACTION CHAINING;' by Gondi et al., filed February 24, 2004 (Attorney Docket No. BEAS-01392US1).
COPYRIGHT NOTICE
A portion of the disclosure of this patent document contains material which is subj ect to copyright protection. The copyright owner has no obj ection to the facsimile reproduction by anyone of the patent document of the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
CROSS-REFERENCED CASES
The following applications are cross-referenced and incorporated herein by reference:
U.S. Provisional Patent Application No. 60/376,906 entitled "COLLABORATIVE BUSINESS PLUG-IN FRAMEWORK," by Mike Blevins, filed May 1, 2002;
U.S. Provisional Patent Application No. 60/377,157 entitled "SYSTEM AND METHOD FOR COLLABORATIVE BUSINESS PLUG-L S" by Mike Blevins, filed May 1, 2002.
U.S. Provisional Patent Application No. 60/450,074 entitled "SYSTEMS AND METHODS UTILIZING A WORKFLOW DEFINITION LANGUAGE" by Pal Takacsi-Nagy, filed February 25, 2003. FIELD OF THE INVENTION
The present invention relates to the filtering of messages in a subscription- based messaging model.
BACI GROUNB i a normal transaction management approach, a first transaction for a first application is "followed" by a second transaction for either the first application or for a second application. Any resources that the first application is holding against a database or resource manager are deleted when the first transaction completes. Further, any context for the first transaction is deleted upon completion. When the second transaction begins, all resources for that transaction must be re-established, including any resources used for the first transaction. This can be inefficient if any of those resources are being used by multiple transactions.
BRIEF SUMMARY Systems and methods in accordance with one embodiment of the present invention overcome deficiencies in existing transaction management systems by taking advantage of transaction chaining. A transaction management engine, such as a business process management (BPM) engine, can allow an application to define transaction demarcations in order to ensure that portions of a workflow are processed atomically.
Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a diagram showing a workflow that can be used in accordance with one embodiment of the present invention.
Figure 2 is a diagram of another workflow that can be used in accordance with one embodiment of the present invention.
Figure 3 is a code example showing transaction demarcations within a workflow that can be used with the diagram of Figure 2. Figure 4 is a chart showing an execution path that can be used with the diagram of Figure 2.
DETAILED DESCRIPTION Transaction managers can be used to provide atomicity for a transaction. The "atomicity" of a transaction refers to the fact that a transaction should be done as a single "atomic" unit of work, such that the entire transaction either commits or fails. If a transaction includes multiple updates to a database table, for example, a transaction manager can be used to ensure that either all of the updates get committed to the database, or that none of the updates get committed. Ensuring atomicity through a transaction manager can be substantially more complicated, however, as a transaction manager can be responsible for managing multiple, distributed transactions on a number of databases distributed throughout a system or across a network or server cluster.
Systems and methods in accordance with the present invention provide a transaction manager with the ability to manage a "chained" transaction, or a transaction chain. When allowing for a transaction chain, a transaction manager can maintain certain resources, or can maintain a transaction context, for subsequent transactions. A transaction management engine, such as a business process management (BPM) engine, can allow an application to define transaction demarcations. For example, two tasks can be completed in a business process that transfers money between accounts. First, a specific amount of money needs to be deducted from a first account. Second, that money needs to be transferred into a second account. Assuming that these are separate items of work, it can be desirable to bracket these two activities in a transaction to be an atomic work item, such that either both work items process or neither of them process. It would be undesirable to deduct money from the first account if the money did not actually get added to the second account, and it would not be desirable to add money to the second account if that money was not actually taken out of the first account.
Systems and methods in accordance with one embodiment of the present invention utilize an entity bean to implement this BPM, which can take advantage of transaction bracketing. By utilizing an entity bean, transactions can be managed by an EJB container. When demarcating a transaction boundary for application activities within BPM, the transaction can simply continue to process normally until a transaction bracket is encountered. When a bracket is encountered, a persistent message is queued to the system, such as a JMS message. The queued JMS message allows the system to store context for the transaction. This allows the system to know that, upon the next transaction invoke, the system should start with the next activity within the transaction boundary. In other words, the system is processing the first transaction, then queuing a context that can be picked up and used by the next transaction.
An inbound message bean, or message-drive bean (MDB), can be created if this context is persisted through JMS. The MDB can pull this JMS message from the queue and invoke the BPM with the appropriate message. That message can include information about the next activity that to be executed as part of the transaction, allowing the transaction to maintain context.
If a J2EE-compliant system is being utilized, a mechanism such as a J2EE API could be used for suspending and resuming transactions. When encountering a transaction bracket, the system could suspend the first transaction, process those tasks included within the brackets in the new transaction, commit the new transaction, and resume the original transaction. A problem with such an approach exists, however, as the original transaction can fail after being resumed. The system has then processed an activity beyond the execution path, with no way to automatically undo or rollback the successfully committed transaction when the original transaction rolls back. In an example shown in Figure 1 , there are three activities 104, or operations, to be performed under a single transaction. Since all three activities are under a single transaction, if the execution of any activity fails for any reason, the transaction rolls back 112 and begins again at the first activity. If the operations succeed 106, the transaction can be committed 108. This can be guaranteed by the transaction semantics. Using a system in accordance with the present invention, activities two and three can be bracketed to be done atomically, or as a single unit of work. In order to bracket activities two and three, the user can place an opening transaction tag before activity two and a closing transaction tag after activity three. These tags can indicate that the second and third activities should be done atomically, such that both activities succeed or neither succeeds.
When a message is queued as part of the transaction, the transaction can be paused to start a new transaction, in order to implement a new transaction block. If the new transaction fails, since the JMS message is in the first queue, the JMS message can be resent. This can ensure that the transaction manager always continues from the correct location. Since the JMS message is queued, an obj ect is only sent to get that message if the transaction commits. If the queued JMS message and the transaction roll back, the system is basically one step behind and can again attempt to go forward along the path of execution. An example of one such execution path is given in Figure 4. A transaction manager can be configured to control the number of retries, or the period of time for retrying a transaction. Attributes in the workflow can be used to specify, for example, a retry count. The transaction itself can also have a retry count. If a JMS message is queued and the message does not commit, the system can generate a callback due to the failure, and that message can have a retry count. So even if the first attempt failed, the user can indicate how many times the message should be retried. These transactions can be implemented as an annotation of a Java Web service (JWS) file in the workflow language (WFL).
When a workflow is implemented in J2EE as an entity bean with container- managed transactions, it can be desirable to have a mechanism to demarcate parts of the workflow as atomic units of work. In other words, it is desirable to commit the existing container-initiated transaction and start a new transaction in order to perform the next unit of work. An example of such a workflow is shown in Figure 2, where once the workflow is started 200, a message is received 202 to execute the first transaction 204, followed by a message 206 to execute the second transaction 208. After executing the transactions, or failing to execute the transactions, a reply 210 can be sent that can indicate an end 212 to the workflow. Committing the existing transaction and having the ability to do the next unit of work in a new transaction can be treated as a single operation.
In order to achieve atomicity, a JMS message can be queued to the workflow as part of the existing transaction. If the existing transaction commits, the transaction ensures that the workflow will be invoked, due to the queued JMS message, in a different transaction that can allow the workflow to perform the next unit of work in the newly initiated transaction. When the unit of work is completed, the workflow can queue another JMS message. If this transaction commits, the transaction can ensure that the unit of work has executed in a transaction. When the workflow is invoked again, due to the second JMS message, the workflow can continue its operation in a different transaction.
A transaction can have a tag called <transaction>. A user can include tasks to be performed atomically within the transaction tags. The implication is that all the tasks to be performed should be executed under a single transaction. For example, consider the following workflow: <process>
<invoke someMethod/> <transaction> <invoke method 1>
<invoke method2> </transaction>
<invoke someOtherMethod/>
</process> hi the above example, someMethod will be executed in a first transaction.
The methods methodl and method2 will be executed in a second transaction, demarcated by the opening and closing <transaction> tags. Yet another transaction can be used to execute someOtherMethod. When the workflow encounters a
<transaction> tag, the workflow can queue a JMS message containing the information as to the next activity that needs to be executed. Queuing a JMS message as part of an existing transaction also ensures that the workflow will continue only if that transaction commits. The next unit of work is then "chained" to the previous work in the process.
The <transaction> tags ensure that methodl and method2 can be executed atomically. Without such a mechanism, there is no way to demarcate methodl and method2 as a single unit of work using J2EE transactional APIs. It is not possible to simply suspend the current transaction, start a new transaction to do the unit of work, and resume the original transaction, as there will be problems if the new transaction commits and the original transaction rolls back. Transaction blocks not only can ensure that all operations within a transaction block are performed atomically, but a transaction block can also provide a timeout value for the operations to complete. A transaction block can also provide for retrying the operations in case of failures or timeouts. For example, as shown in Figure 3, a user can set separate timeout and retry values for each transaction within a workflow. In the first transaction, the timeout value is set to 30 seconds with a retry count of 3, while in the second transaction the timeout value is 20 seconds and the retry count is 2. Atomic transactions
Atomic transactions are known as "all-or-notl ing" transactions. Actions taken prior to committing an atomic transaction are considered to be tentative or pending, and not persistent or visible to other activities. When an application finishes, the application can make a request to a coordination component to determine an outcome for the transaction. The coordination component can determine whether any of the units of work failed, such as by asking the processes doing those units of work to "vote" or reply whether or not the work items processed successfully. If all the processes vote indicate successful execution, the coordination component can commit all the actions taken. If a process indicates an aborted execution, or does not responds to the request, the coordination component can abort all actions and roll back the transaction. A commit operation makes the tentative actions persistent and visible to other transactions, while a rollback makes the tentative actions appear as if the actions never happened. Atomic transactions can provide consistent failure and recovery semantics, so applications do not need to deal with the mechanics of determining a mutually agreed outcome decision or to figure out how to recover from a large number of possible inconsistent states. The foregoing description of preferred embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations will be apparent to one of ordinary skill in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalence.

Claims

CLAIMSWhat is claimed is:
1. A method for ensuring atomicity in a workflow, comprising: demarcating tasks in a workflow to be processed atomically.
2. A method according to claim 15 further comprising: committing the tasks if all tasks to be processed atomically are successfully processed.
3. A method according to claim 1 , further comprising: aborting the tasks if any of the tasks to be processed atomically are not successfully processed.
4. A method for ensuring atomicity in a workflow, comprising: queuing a message to a workflow when starting an atomic unit of work in a first transaction; invoking the workflow in a second transaction if the first transaction commits, the message causing the workflow to be invoked; allowing the workflow to perform the next unit of work in the second transaction; and queuing another message such that when the second transaction commits and the workflow is subsequently invoked, the workflow can continue its operation in a new transaction.
5. A computer-readable medium, comprising: means for demarcating tasks in a workflow to be processed atomically; and means for atomically processing those tasks.
6. A computer program product for execution by a server computer for ensuring atomicity in a workflow, comprising: computer code for demarcating tasks in a workflow to be processed atomically; and computer code for atomically processing those tasks.
7. A system for ensuring atomicity in a workflow, comprising: means for demarcating tasks in a workflow to be processed atomically; and means for atomically processing those tasks.
8. A computer system comprising: a processor; object code executed by said processor, said object code configured to: demarcate tasks in a workflow to be processed atomically; and atomically process those tasks.
9. A computer data signal embodied in a transmission medium, comprising: a code segment including instructions to demarcate tasks in a workflow to be processed atomically; and a code segment including instructions to atomically process those tasks.
PCT/US2004/005624 2003-02-25 2004-02-25 Systems and methods for transaction chaining WO2004077270A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US44992503P 2003-02-25 2003-02-25
US60/449,925 2003-02-25
US10/785,702 US7584474B2 (en) 2003-02-25 2004-02-24 Systems and methods for transaction chaining
US10/785,702 2004-02-24

Publications (2)

Publication Number Publication Date
WO2004077270A2 true WO2004077270A2 (en) 2004-09-10
WO2004077270A3 WO2004077270A3 (en) 2005-04-14

Family

ID=32930530

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/005624 WO2004077270A2 (en) 2003-02-25 2004-02-25 Systems and methods for transaction chaining

Country Status (2)

Country Link
US (1) US7584474B2 (en)
WO (1) WO2004077270A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110264348A (en) * 2019-05-07 2019-09-20 北京奇艺世纪科技有限公司 A kind of processing method, device and the storage medium of cochain of trading
US11379260B2 (en) 2019-09-04 2022-07-05 Oracle International Corporation Automated semantic tagging

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600124B2 (en) * 2003-11-18 2009-10-06 Oracle International Corporation Method of and system for associating an electronic signature with an electronic record
US7694143B2 (en) * 2003-11-18 2010-04-06 Oracle International Corporation Method of and system for collecting an electronic signature for an electronic record stored in a database
US20050108211A1 (en) * 2003-11-18 2005-05-19 Oracle International Corporation, A California Corporation Method of and system for creating queries that operate on unstructured data stored in a database
US7966493B2 (en) * 2003-11-18 2011-06-21 Oracle International Corporation Method of and system for determining if an electronic signature is necessary in order to commit a transaction to a database
US8782020B2 (en) * 2003-11-18 2014-07-15 Oracle International Corporation Method of and system for committing a transaction to database
US7650512B2 (en) 2003-11-18 2010-01-19 Oracle International Corporation Method of and system for searching unstructured data stored in a database
US8806490B1 (en) * 2004-12-08 2014-08-12 Cadence Design Systems, Inc. Method and apparatus for managing workflow failures by retrying child and parent elements
US7979870B1 (en) 2004-12-08 2011-07-12 Cadence Design Systems, Inc. Method and system for locating objects in a distributed computing environment
US8108878B1 (en) 2004-12-08 2012-01-31 Cadence Design Systems, Inc. Method and apparatus for detecting indeterminate dependencies in a distributed computing environment
US8244854B1 (en) 2004-12-08 2012-08-14 Cadence Design Systems, Inc. Method and system for gathering and propagating statistical information in a distributed computing environment
US7933947B2 (en) * 2004-12-28 2011-04-26 Sap Ag Connection manager that supports failover protection
US8140678B2 (en) * 2004-12-28 2012-03-20 Sap Ag Failover protection from a failed worker node in a shared memory system
US8856068B2 (en) * 2005-04-12 2014-10-07 International Business Machines Corporation Replicating modifications of a directory
US7496705B2 (en) * 2005-11-17 2009-02-24 Bea Systems, Inc. Method and computer readable medium for suspended state resource adapter
US7882503B2 (en) * 2005-11-17 2011-02-01 Oracle International Corporation Production redeployment
US7788660B2 (en) * 2005-11-17 2010-08-31 Bea Systems, Inc. Resource adapter classloading
US20070150586A1 (en) * 2005-12-28 2007-06-28 Frank Kilian Withdrawing requests in a shared memory system
US8707323B2 (en) 2005-12-30 2014-04-22 Sap Ag Load balancing algorithm for servicing client requests
US20070214457A1 (en) * 2006-03-10 2007-09-13 Prabhakar Goyal System and method for automated recovery of data in a batch processing system
US8538931B2 (en) * 2006-04-28 2013-09-17 International Business Machines Corporation Protecting the integrity of dependent multi-tiered transactions
US7996837B2 (en) 2006-05-03 2011-08-09 Oracle International Corporation Recovery mechanism for transactions
US7940916B2 (en) * 2006-08-28 2011-05-10 Avaya Inc. Orchestration engine as an intermediary between telephony functions and business processes
US20080127343A1 (en) * 2006-11-28 2008-05-29 Avaya Technology Llc Self-Operating Security Platform
US9009452B2 (en) * 2007-05-14 2015-04-14 International Business Machines Corporation Computing system with transactional memory using millicode assists
US8688920B2 (en) * 2007-05-14 2014-04-01 International Business Machines Corporation Computing system with guest code support of transactional memory
US8117403B2 (en) * 2007-05-14 2012-02-14 International Business Machines Corporation Transactional memory system which employs thread assists using address history tables
US8321637B2 (en) * 2007-05-14 2012-11-27 International Business Machines Corporation Computing system with optimized support for transactional memory
US8095741B2 (en) * 2007-05-14 2012-01-10 International Business Machines Corporation Transactional memory computing system with support for chained transactions
US8095750B2 (en) * 2007-05-14 2012-01-10 International Business Machines Corporation Transactional memory system with fast processing of common conflicts
US8171475B2 (en) 2007-08-29 2012-05-01 International Business Machines Corporation Intelligent retry method using remote shell
US8837491B2 (en) 2008-05-27 2014-09-16 Glue Networks Regional virtual VPN
US9063806B2 (en) * 2009-01-29 2015-06-23 Oracle International Corporation Flex integration with a secure application
US9684736B2 (en) * 2009-01-29 2017-06-20 Oracle International Corporation Communication handler for flex integration with a secure application
US9659335B2 (en) * 2009-01-29 2017-05-23 Oracle International Corporation Sample management for a sales call
US20100191560A1 (en) * 2009-01-29 2010-07-29 Oracle International Corporation Pharmaceutical Sample Management for a Sales Call
US20100195808A1 (en) * 2009-01-30 2010-08-05 Oracle International Corporation Adding Contacts During Personalized Content Delivery and Analytics
US8762883B2 (en) * 2009-01-30 2014-06-24 Oracle International Corporation Manipulation of window controls in a popup window
US9760381B2 (en) * 2009-01-30 2017-09-12 Oracle International Corporation Configurable toolbar
US8762448B2 (en) * 2009-01-30 2014-06-24 Oracle International Corporation Implementing asynchronous processes on a mobile client
US8452640B2 (en) * 2009-01-30 2013-05-28 Oracle International Corporation Personalized content delivery and analytics
US8566524B2 (en) 2009-08-31 2013-10-22 International Business Machines Corporation Transactional memory system with efficient cache support
US8375095B2 (en) 2009-12-22 2013-02-12 Microsoft Corporation Out of order durable message processing
US10078674B2 (en) * 2010-06-04 2018-09-18 Mcl Systems Limited Integrated workflow and database transactions
US9870384B2 (en) * 2012-03-30 2018-01-16 International Business Machines Corporation Database system transaction management
US9760528B1 (en) 2013-03-14 2017-09-12 Glue Networks, Inc. Methods and systems for creating a network
US9928082B1 (en) 2013-03-19 2018-03-27 Gluware, Inc. Methods and systems for remote device configuration
US9569224B2 (en) 2014-05-06 2017-02-14 Oracle International Corporation System and method for adaptively integrating a database state notification service with a distributed transactional middleware machine
US9524186B2 (en) * 2014-04-28 2016-12-20 Oracle International Corporation System and method for supporting common transaction identifier (XID) optimization based on resource manager (RM) instance awareness in a transactional environment
US9785412B1 (en) 2015-02-27 2017-10-10 Glue Networks, Inc. Methods and systems for object-oriented modeling of networks
US9311144B1 (en) * 2015-05-08 2016-04-12 Xactly Corporation Processing virtual transactions of a workflow in atomic manner in a workflow management computer system
CN110300958B (en) * 2017-01-13 2023-04-18 甲骨文国际公司 System and method for conditional call path monitoring in a distributed transactional middleware environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009405A (en) * 1996-08-01 1999-12-28 International Business Machines Corporation Ensuring atomicity for a collection of transactional work items in a workflow management system
US20040019684A1 (en) * 2002-05-02 2004-01-29 Timothy Potter Systems and methods for application view transactions

Family Cites Families (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US546562A (en) * 1895-09-17 Karl hermann albert stitz
US5469562A (en) 1992-06-26 1995-11-21 Digital Equipment Corporation Durable atomic storage update manager
US5944794A (en) * 1994-09-30 1999-08-31 Kabushiki Kaisha Toshiba User identification data management scheme for networking computer systems using wide area network
US5604860A (en) * 1994-10-27 1997-02-18 Xerox Corporation Feature library and stored customized control interfaces
US5630131A (en) * 1994-11-14 1997-05-13 Object Technology Licensing Corp. Method and apparatus for importing and exporting archive files for a graphical user interface
US5680610A (en) * 1995-01-19 1997-10-21 Unisys Corporation Method and apparatus for testing recovery scenarios in global transaction processing systems
US5966535A (en) * 1995-12-07 1999-10-12 At&T Corporation Method and apparatus for generating program code for world wide web service applications
SE517033C2 (en) 1995-12-08 2002-04-02 Ericsson Telefon Ab L M System platform for communication systems
GB2308468A (en) * 1995-12-20 1997-06-25 Ibm Data processing systems and methods providing interoperability between data processing resources
EP0888585A1 (en) * 1996-03-19 1999-01-07 Massachusetts Institute Of Technology Computer system and computer implemented process for representing software system descriptions and for generating executable computer programs and computer system configurations from software system descriptions
JP3672208B2 (en) * 1996-07-02 2005-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーション Hierarchical transaction processing method
US6012083A (en) * 1996-09-24 2000-01-04 Ricoh Company Ltd. Method and apparatus for document processing using agents to process transactions created based on document content
US5946316A (en) * 1997-01-17 1999-08-31 Lucent Technologies, Inc. Dynamic distributed multicast routing protocol
WO1998040850A2 (en) * 1997-03-13 1998-09-17 Whitney Mark M A system for, and method of, off-loading network transactions from a mainframe to an intelligent input/output device, including off-loading message queuing facilities
US6023578A (en) * 1997-05-09 2000-02-08 International Business Macines Corporation Systems, methods and computer program products for generating an object oriented application for an object oriented environment
US5987376A (en) * 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
US6366663B1 (en) * 1997-07-21 2002-04-02 Mci Communications Corporation System for achieving local number portability
US6222533B1 (en) 1997-08-25 2001-04-24 I2 Technologies, Inc. System and process having a universal adapter framework and providing a global user interface and global messaging bus
US6070184A (en) * 1997-08-28 2000-05-30 International Business Machines Corporation Server-side asynchronous form management
US6016495A (en) * 1997-09-19 2000-01-18 International Business Machines Corporation Object-oriented framework mechanism for providing persistent storage
US6470386B1 (en) 1997-09-26 2002-10-22 Worldcom, Inc. Integrated proxy interface for web based telecommunications management tools
US6334114B1 (en) * 1997-10-31 2001-12-25 Oracle Corporation Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
US6067623A (en) * 1997-11-21 2000-05-23 International Business Machines Corp. System and method for secure web server gateway access using credential transform
US6029000A (en) * 1997-12-22 2000-02-22 Texas Instruments Incorporated Mobile communication system with cross compiler and cross linker
FI106831B (en) * 1998-01-14 2001-04-12 Nokia Networks Oy Access control procedure for a mobile telephone system
US6480206B2 (en) * 1998-02-24 2002-11-12 Sun Microsystems, Inc. Method and apparatus for an extensible editor
US6311327B1 (en) * 1998-03-02 2001-10-30 Applied Microsystems Corp. Method and apparatus for analyzing software in a language-independent manner
US6148336A (en) * 1998-03-13 2000-11-14 Deterministic Networks, Inc. Ordering of multiple plugin applications using extensible layered service provider with network traffic filtering
US6721740B1 (en) 1998-05-29 2004-04-13 Sun Microsystems, Inc. Method and apparatus of performing active update notification
US6219666B1 (en) * 1998-07-13 2001-04-17 Oracle Corporation Autonomous transactions in a database system
US6343265B1 (en) * 1998-07-28 2002-01-29 International Business Machines Corporation System and method for mapping a design model to a common repository with context preservation
WO2000014618A2 (en) * 1998-08-24 2000-03-16 Fujitsu Limited Workflow system and method
US6963914B1 (en) 1998-09-01 2005-11-08 Lucent Technologies Inc. Method and apparatus for retrieving a network file using a logical reference
US6212546B1 (en) * 1998-10-01 2001-04-03 Unisys Corporation Providing a modular gateway architecture which isolates attributes of the client and server systems into independent components
US6243778B1 (en) * 1998-10-13 2001-06-05 Stmicroelectronics, Inc. Transaction interface for a data communication system
US6367068B1 (en) * 1998-11-13 2002-04-02 Microsoft Corporation Dynamic parsing
US6637020B1 (en) * 1998-12-03 2003-10-21 International Business Machines Corporation Creating applications within data processing systems by combining program components dynamically
US6240335B1 (en) * 1998-12-14 2001-05-29 Palo Alto Technologies, Inc. Distributed control system architecture and method for a material transport system
US6018730A (en) * 1998-12-22 2000-01-25 Ac Properties B.V. System, method and article of manufacture for a simulation engine with a help website and processing engine
WO2000045260A1 (en) 1999-01-29 2000-08-03 Fujitsu Limited Compiler, compiling method, and storage medium stored with program therefor
US6360358B1 (en) * 1999-03-11 2002-03-19 Microsoft Corporation Maintenance of code knowledge for up-to-date access thereof
US6243737B1 (en) * 1999-04-09 2001-06-05 Translink Software, Inc. Method and apparatus for providing direct transaction access to information residing on a host system
AU4482000A (en) * 1999-04-23 2000-11-10 Sony Electronics Inc. Method of and apparatus for implementing and sending an asynchronous control mechanism packet
US6789054B1 (en) * 1999-04-25 2004-09-07 Mahmoud A. Makhlouf Geometric display tools and methods for the visual specification, design automation, and control of adaptive real systems
US6377939B1 (en) * 1999-05-04 2002-04-23 Metratech Pipelined method and apparatus for processing communication metering data
US6292932B1 (en) 1999-05-28 2001-09-18 Unisys Corp. System and method for converting from one modeling language to another
US7472349B1 (en) * 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US6594700B1 (en) 1999-06-14 2003-07-15 International Business Machines Corporation System and method for implementing a universal service broker interchange mechanism
US6408311B1 (en) * 1999-06-30 2002-06-18 Unisys Corp. Method for identifying UML objects in a repository with objects in XML content
US6330569B1 (en) 1999-06-30 2001-12-11 Unisys Corp. Method for versioning a UML model in a repository in accordance with an updated XML representation of the UML model
US6880126B1 (en) * 1999-08-03 2005-04-12 International Business Machines Corporation Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data
US7200563B1 (en) * 1999-08-20 2007-04-03 Acl International Inc. Ontology-driven information system
US7206805B1 (en) * 1999-09-09 2007-04-17 Oracle International Corporation Asynchronous transcription object management system
US7051316B2 (en) * 1999-10-05 2006-05-23 Borland Software Corporation Distributed computing component system with diagrammatic graphical representation of code with separate delineated display area by type
US6748420B1 (en) 1999-11-23 2004-06-08 Cisco Technology, Inc. Methods and apparatus for providing shared access to an application
US6678518B2 (en) 1999-12-09 2004-01-13 Nokia Corporation Dynamic content filter in a gateway
US20020010781A1 (en) * 1999-12-30 2002-01-24 Tuatini Jeffrey Taihana Shared service messaging models
US6609115B1 (en) 1999-12-30 2003-08-19 Ge Medical Systems Method and apparatus for limited online access to restricted documentation
US6584454B1 (en) 1999-12-31 2003-06-24 Ge Medical Technology Services, Inc. Method and apparatus for community management in remote system servicing
WO2001052090A2 (en) * 2000-01-14 2001-07-19 Saba Software, Inc. Method and apparatus for a web content platform
US6643652B2 (en) * 2000-01-14 2003-11-04 Saba Software, Inc. Method and apparatus for managing data exchange among systems in a network
AU2001227857A1 (en) 2000-01-14 2001-07-24 Saba Software, Inc. Method and apparatus for a business applications management system platform
AU2001238380A1 (en) * 2000-02-16 2001-08-27 Bea Systems Inc. Open market collaboration system for enterprise wide electronic commerce
AU2001245976A1 (en) * 2000-03-29 2001-10-08 Nextset Software Inc. System and method of providing an asynchronous interface between a client system and an enterprise javabeans-enabled server
US7146422B1 (en) 2000-05-01 2006-12-05 Intel Corporation Method and apparatus for validating documents based on a validation template
US6625602B1 (en) * 2000-04-28 2003-09-23 Microsoft Corporation Method and system for hierarchical transactions and compensation
US6918053B1 (en) * 2000-04-28 2005-07-12 Microsoft Corporation Compensation framework for long running transactions
US6516322B1 (en) * 2000-04-28 2003-02-04 Microsoft Corporation XML-based representation of mobile process calculi
US6918084B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages
US6850979B1 (en) 2000-05-09 2005-02-01 Sun Microsystems, Inc. Message gates in a distributed computing environment
US6971096B1 (en) * 2000-05-19 2005-11-29 Sun Microsystems, Inc. Transaction data structure for process communications among network-distributed applications
US6832238B1 (en) * 2000-05-24 2004-12-14 Sun Microsystems, Inc. Local transaction management
AU2001264944A1 (en) * 2000-05-25 2001-12-03 Transacttools, Inc. A method, system and apparatus for establishing, monitoring, and managing connectivity for communication among heterogeneous systems
US6687848B1 (en) 2000-05-31 2004-02-03 Sun Microsystems, Inc. Techniques for preventing information loss in a business to business message in an enterprise computer system
US7127704B2 (en) 2000-06-02 2006-10-24 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
US6993743B2 (en) * 2000-06-03 2006-01-31 Sun Microsystems, Inc. Method and apparatus for developing enterprise applications using design patterns
US6874143B1 (en) 2000-06-21 2005-03-29 Microsoft Corporation Architectures for and methods of providing network-based software extensions
US6836883B1 (en) 2000-06-21 2004-12-28 Microsoft Corporation Method and system for compiling multiple languages
US20020194267A1 (en) * 2000-06-23 2002-12-19 Daniel Flesner Portal server that provides modification of user interfaces for access to computer networks
US6721779B1 (en) 2000-07-07 2004-04-13 Softwired Ag Messaging proxy system
US20020143960A1 (en) * 2000-08-02 2002-10-03 Erez Goren Virtual network generation system and method
US6684388B1 (en) 2000-08-22 2004-01-27 International Business Machines Corporation Method for generating platform independent, language specific computer code
FR2813471B1 (en) * 2000-08-31 2002-12-20 Schneider Automation COMMUNICATION SYSTEM FOR AUTOMATED EQUIPMENT BASED ON THE SOAP PROTOCOL
WO2002019097A1 (en) * 2000-09-01 2002-03-07 International Interactive Commerce, Ltd. System and method for collaboration using web browsers
US6823495B1 (en) * 2000-09-14 2004-11-23 Microsoft Corporation Mapping tool graphical user interface
US6560769B1 (en) 2000-09-28 2003-05-06 Unisys Corporation Computer-implemented method for generating a UML representation from JAVA source code
US7069507B1 (en) 2000-09-29 2006-06-27 Microsoft Corporation Event routing model for an extensible editor
WO2002041149A2 (en) * 2000-10-27 2002-05-23 Eternal Systems, Inc. Fault tolerance for computer programs that operate over a communication network
US6889244B1 (en) 2000-10-31 2005-05-03 Hewlett-Packard Development Company, L.P. Method and apparatus for passing messages using a fault tolerant storage system
IE20010964A1 (en) 2000-11-03 2002-05-29 Wilde Technologies Ltd A software development process
AU2002239620A1 (en) * 2000-11-06 2002-05-27 Terry Bernard Young Electronic markets business interchange system and metheo
JP3621641B2 (en) * 2000-11-20 2005-02-16 株式会社東芝 Managing transaction processing
US7275220B2 (en) * 2000-12-22 2007-09-25 Epic Systems Corporation System and method for a seamless user interface for an integrated electronic health care information system
US7174534B2 (en) * 2001-01-22 2007-02-06 Symbol Technologies, Inc. Efficient system and method for running and analyzing multi-channel, multi-modal applications
US20020161826A1 (en) * 2001-01-25 2002-10-31 Carlos Arteaga System and method for remote communication transactions
US6973657B1 (en) * 2001-01-30 2005-12-06 Sprint Communications Company L.P. Method for middle-tier optimization in CORBA OTS
US7957999B2 (en) * 2001-02-13 2011-06-07 American Express Travel Related Services Company, Inc. Electronic acquisition system and method
US7111243B1 (en) * 2001-03-02 2006-09-19 Oracle International Corporation Customization of tab-order functionality in internet applications
US7184967B1 (en) * 2001-03-06 2007-02-27 Microsoft Corporation System and method utilizing a graphical user interface of a business process workflow scheduling program
GB0107882D0 (en) * 2001-03-29 2001-05-23 Ibm Parsing messages with multiple data formats
US6983328B2 (en) * 2001-05-18 2006-01-03 Hewlett-Packard Development Company, L.P. Trusted internet clipboard
US20020194244A1 (en) * 2001-06-01 2002-12-19 Joan Raventos System and method for enabling transaction-based service utilizing non-transactional resources
US7594267B2 (en) * 2001-06-14 2009-09-22 Cisco Technology, Inc. Stateful distributed event processing and adaptive security
US6687702B2 (en) * 2001-06-15 2004-02-03 Sybass, Inc. Methodology providing high-speed shared memory access between database middle tier and database server
US6976086B2 (en) 2001-06-18 2005-12-13 Siemens Business Services, Llc Systems and methods to facilitate a distribution of information via a dynamically loadable component
US6754884B1 (en) * 2001-07-02 2004-06-22 Bea Systems, Inc. Programming language extensions for processing XML objects and related applications
US7117504B2 (en) 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US6915519B2 (en) 2001-07-12 2005-07-05 International Business Machines Corporation Pluggable JMS providers in a J2EE server
US20030018661A1 (en) * 2001-07-19 2003-01-23 Darugar Parand Tony XML smart mapping system and method
US7054858B2 (en) 2001-08-01 2006-05-30 Oic Acquisition Corporation System and method for retrieval of objects from object to relational mappings
US20030028579A1 (en) * 2001-08-06 2003-02-06 Kulkarni Vinay Vasant Process for component-based application development
US7367028B2 (en) * 2001-08-14 2008-04-29 National Instruments Corporation Graphically deploying programs on devices in a system
AU2002332556A1 (en) * 2001-08-15 2003-03-03 Visa International Service Association Method and system for delivering multiple services electronically to customers via a centralized portal architecture
US7356837B2 (en) * 2001-08-29 2008-04-08 Nader Asghari-Kamrani Centralized identification and authentication system and method
US7107578B1 (en) 2001-09-24 2006-09-12 Oracle International Corporation Techniques for debugging computer programs involving multiple programming languages
AU2002343424A1 (en) * 2001-09-28 2003-04-14 Bluesocket, Inc. Method and system for managing data traffic in wireless networks
CA2358681C (en) * 2001-10-12 2008-01-15 Ibm Canada Limited-Ibm Canada Limitee Resource adapter and integrated development environment
US7552222B2 (en) * 2001-10-18 2009-06-23 Bea Systems, Inc. Single system user identity
US8156471B2 (en) * 2001-11-09 2012-04-10 Oracle International Corporation Multi-language execution method
US7155705B1 (en) 2001-11-26 2006-12-26 Cisco Technology, Inc. Techniques for binding an application with a data exchange format based on tags in comments
US7039671B2 (en) * 2001-11-30 2006-05-02 Sonic Software Corporation Dynamically routing messages between software application programs using named routing nodes and named message queues
US6950872B2 (en) * 2001-12-19 2005-09-27 Sun Microsystems, Inc. Methods and systems for facilitating message exchange between networked computing entities
US7240331B2 (en) * 2002-01-16 2007-07-03 Xerox Corporation Bi-valuation of programming statements
US6922827B2 (en) 2002-02-22 2005-07-26 Bea Systems, Inc. Iterative software development environment with prioritized build rules
US6804686B1 (en) 2002-04-29 2004-10-12 Borland Software Corporation System and methodology for providing fixed UML layout for an object oriented class browser
US6988099B2 (en) * 2002-06-27 2006-01-17 Bea Systems, Inc. Systems and methods for maintaining transactional persistence
US7434207B2 (en) * 2002-07-02 2008-10-07 Microsoft Corporation Floating debugger
US7720910B2 (en) * 2002-07-26 2010-05-18 International Business Machines Corporation Interactive filtering electronic messages received from a publication/subscription service
US7043722B2 (en) * 2002-07-31 2006-05-09 Bea Systems, Inc. Mixed language expression loading and execution methods and apparatuses
KR100501410B1 (en) 2002-11-27 2005-07-18 한국전자통신연구원 System and method of generating EJB component from reusable business logic in servlet
US7076772B2 (en) 2003-02-26 2006-07-11 Bea Systems, Inc. System and method for multi-language extensible compiler framework
US7096422B2 (en) * 2003-02-28 2006-08-22 Microsoft Corporation Markup language visual mapping
US7260599B2 (en) 2003-03-07 2007-08-21 Hyperspace Communications, Inc. Supporting the exchange of data by distributed applications
US7739223B2 (en) * 2003-08-29 2010-06-15 Microsoft Corporation Mapping architecture for arbitrary data models
US6859180B1 (en) 2003-09-15 2005-02-22 The United States Of America As Represented By The Secretary Of The Navy Gravity-actuated submarine antenna

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009405A (en) * 1996-08-01 1999-12-28 International Business Machines Corporation Ensuring atomicity for a collection of transactional work items in a workflow management system
US20040019684A1 (en) * 2002-05-02 2004-01-29 Timothy Potter Systems and methods for application view transactions

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110264348A (en) * 2019-05-07 2019-09-20 北京奇艺世纪科技有限公司 A kind of processing method, device and the storage medium of cochain of trading
CN110264348B (en) * 2019-05-07 2021-08-20 北京奇艺世纪科技有限公司 Processing method, device and storage medium for transaction uplink
US11379260B2 (en) 2019-09-04 2022-07-05 Oracle International Corporation Automated semantic tagging
US11645108B2 (en) 2019-09-04 2023-05-09 Oracle International Corporation Automated semantic tagging
US11709703B2 (en) 2019-09-04 2023-07-25 Oracle International Corporation Automated semantic tagging
US11861394B2 (en) 2019-09-04 2024-01-02 Oracle International Corporation Automated semantic tagging

Also Published As

Publication number Publication date
WO2004077270A3 (en) 2005-04-14
US20040187127A1 (en) 2004-09-23
US7584474B2 (en) 2009-09-01

Similar Documents

Publication Publication Date Title
US7584474B2 (en) Systems and methods for transaction chaining
JP4159175B2 (en) Compensated resource manager
US6988099B2 (en) Systems and methods for maintaining transactional persistence
US9223823B2 (en) Transaction log management
JP2644188B2 (en) Fault tolerant transaction-oriented data processing system and method
US5923833A (en) Restart and recovery of OMG-compliant transaction systems
US8103714B2 (en) Transactional quality of service in event stream processing middleware
US8271448B2 (en) Method for strategizing protocol presumptions in two phase commit coordinator
US20190235974A1 (en) Transaction processing system, recovery subsystem and method for operating a recovery subsystem
US20020035590A1 (en) Guaranteed end-to-end transaction execution in a client/server environment
JPH09251412A (en) Method for committing distributed database transaction
US7047441B1 (en) Recovery guarantees for general multi-tier applications
US9104471B2 (en) Transaction log management
GB2402769A (en) Maintaining resource integrity without a unified transaction manager in a software environment
US6061708A (en) System and method for supporting mixed-phase transactions in an object-oriented environment
WO1993018454A1 (en) Distributed transaction processing system
EP0839350B1 (en) Optimized synchronisation procedure
US20140108492A1 (en) Request-response operation for asynchronous messaging
CN112148436B (en) Decentralised TCC transaction management method, device, equipment and system
US8336053B2 (en) Transaction management
US7552072B2 (en) Compensation of data item processing
US6256641B1 (en) Client transparency system and method therefor
EP1197856A2 (en) Guaranteed end-to-end transaction execution in a client/server environment
Pleisch et al. Replicated Invocation
Kolltveit et al. Techniques for achieving exactly-once execution semantics and high availability for multi-tier applications

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase