×

System and method for supporting resource enlistment synchronization

  • US 8,327,375 B2
  • Filed: 12/06/2010
  • Issued: 12/04/2012
  • Est. Priority Date: 02/28/2003
  • Status: Active Grant
First Claim
Patent Images

1. A system for supporting resource enlistment synchronization, comprising:

  • one or more micro-processors;

    an application server with a plurality of threads, running on the one or more micro-processors;

    a transaction manager that manages a plurality of transactions, wherein each transaction is associated with at least one said thread, and the transaction manager operates to be associated with each of the plurality of threads;

    a plurality of wrapper objects, wherein each wrapper object wraps a resource object of a plurality of resource objects, wherein the transaction manager maintains and communicates with each wrapper object of the plurality of wrapper objects to manage resource object enlistment requests from different said threads associated with different transactions;

    wherein the transaction manager maintains an enlistment data structure to manage resource object enlistment for the plurality of transactions, and wherein the enlistment data structure maintains a mapping between the plurality of resource objects and the plurality of transactions;

    wherein when the wrapper object receives a delist call from the transaction manager, the wrapper object sends an end call to the resource object to end work performed by the resource object associated with the thread and release the lock on the resource object; and

    wherein, upon receiving a request from a thread of the plurality of threads to enlist a resource object of the plurality of resource objects in a transaction, the transaction managerfirst checks with a wrapper object that wraps the resource object to see if there is a lock being held on the resource object by another said thread in another said transaction,if there is a lock, then allows the thread to wait and signal the thread once the lock is freed by the another said thread in the another said transaction,if there is no lock, then grants a lock to the thread and holds the lock until an owner of the thread delists the resource object, wherein the wrapper object is used to access the resource object for the thread.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×