Abstract:
Disclosed is apparatus for processing business data processing activities, the apparatus comprising: an activity instance; and a descriptor for the activity instance associated uniquely with the activity instance; wherein the descriptor includes parameters for determining lifecycle behaviors of said activity instance. The descriptor may be programmable to modify the lifecycle behaviors according to a use made of said activity instance. The use of the activity instance may be responsive to a request by a client. It may also be responsive to a request by an activity instance. The descriptor may be programmable to modify the lifecycle behaviors according to a position in a system hierarchy of the activity instance.
Abstract:
A transactional adapter for an object-oriented data processing system maintains a tree of transactions corresponding to messages between objects. A message is transformed into a child transaction, but only when any access restrictions are met. Until then it is held in a “pending” set which is part of the parent transaction's state definition. When a child commits, its parent maintains the access restrictions imposed by the child if the parent is recoverable and discards them otherwise.
Abstract:
An apparatus for scheduling and dispatching client requests for execution by a server object in a heterogeneous object-oriented client/server computing environment, the apparatus comprising: a request-holding buffer having an input connected to a communications channel which channels the client requests to the apparatus, and an output; a plurality of parallel execution threads connected to the output of the buffer; and a scheduling means for distributing client requests stored in the buffer to the plurality of execution threads, characterized in that: the scheduling means places client requests held in the buffer in priority order based on a priority determining rule which takes into account the state of the plurality of execution threads and the nature of each of the held requests.
Abstract:
A system and method for efficiently employing procedural transaction managers from an object oriented transaction processing system. Implementation classes are introduced to bridge selected functions from an object oriented transaction processing system into a procedural system. Bridging allows both the reuse of existing procedural transaction managers and interoperation between procedural and object transactions systems which eases migration to new object oriented systems. Implementation classes include methods necessary to manage information necessary to use a procedural transaction API and to manage information returned by the procedural API.
Abstract:
A system and method for reducing message traffic during two phase commitment in a distributed transaction processing system. Transactional objects manage transactions in a distributed system. A coordinator object is responsible for ensuring data consistency by enforcing atomic transaction changes. Any change to one or more resources by a transaction is either made at all or none of the resources. Distributed transactions use interposition to create subordinate coordinator for domains other than the primary domain. Each subordinate coordinator controls transaction commitment of all resources within that domain via a single message sequence per coordinator. Dynamic registration of subordinate coordinator resources ensures that the subordinate coordinator is not added to the commit tree of the root coordinator unless it has recoverable resources. Dynamic registration minimizes the size of the commit tree thereby minimizing the number of messages transmitted during commitment processing.
Abstract:
A server concurrency control technique for use in a client/server computing system where a client sends a request to a server for access to a server resource involves receiving client requests of a plurality of lock requester types at a lock requester interface; comparing each of said requests against a lock requester set which has a lock requester type representation corresponding to a lock requester type of previously received client requests which are presently holding locks to server resources; and as a result of the comparing step, determining whether a newly received client request conflicts with previously received client requests which are currently holding locks to server resources.
Abstract:
A concurrency control mechanism for a client/server computing system analyzes each client request to determine whether it can be given concurrent access to a server's resources, along with other client requests which are presently accessing the server's resources. Each client request triggers the setting up of a lock request mode which contains conflict resolution logic based on the particulars of the corresponding request. When a new request comes in, the new request's newly created lock request mode is compared to the lock request modes of the previous requests which are currently accessing the server's resources and the conflict resolution logic is carried out to determine whether the new request should be also allowed access.
Abstract:
An apparatus for dispatching client requests within a server computer system, wherein the client requests are issued from at least one client computer system on a different platform from said server computer system and are passed through a communications channel to said server computer system, the apparatus comprising: a buffer having an input connected to said communications channel and an output; a plurality of parallel execution threads connected to said output of said buffer; and a scheduling means for distributing client requests stored in said buffer to said plurality of execution threads in a manner such that related client requests are sent to the same execution thread.
Abstract:
Disclosed is data processing apparatus comprising: means for receiving inputs indicative of results from one or more participants of said one or more sets of data processing tasks; means for mapping each of said inputs to a corresponding mapped value by accessing a mapping table; outcome processor means for accepting the mapped values as inputs and determining an outcome for said one or more sets of data processing tasks; and means, responsive to said means for determining, for transmitting an indicator of said outcome to said one or more participants; wherein the inputs and mapped values of the mapping table are programmably changeable to thus provide a high degree of flexibility with respect to said inputs.
Abstract:
An apparatus for dispatching client requests for execution by a server object in a heterogeneous object-oriented client/server computing environment, the apparatus has: a request-holding buffer having an input connected to a communications channel which channels the client requests to the apparatus, and an output; a plurality of parallel execution threads connected to the output of the buffer; and a semantic concurrency control means for examining the semantics of a request in the buffer and the semantics of each request presently being executed on any of the plurality of parallel execution threads, and for delaying the request from being dispatched from the buffer to an execution thread if the examined semantics of the requests indicate that such dispatch would cause conflicting access to the server object's resources.