Abstract:
PROBLEM TO BE SOLVED: To reduce flows among many processes relating to the processings of respective transactions and to provide high flexibility for the processing method of the respective transactions. SOLUTION: This server processing method to be used in a client/server computing system for processing the transaction is provided with a stage for receiving (81) a command for reporting the start of the transaction from a client process, the stage for deciding (82) whether or not a local transaction preparation means is present and the stage for transferring (84) the command to the other server in the case that the local transaction preparation means is not present and locally preparing (83) transaction state data in the case that the local transaction preparation means is present.
Abstract:
PROBLEM TO BE SOLVED: To reduce the maintenance code for completely cleaning up a list at the time of transaction completion by maintaining a mapping list which correlates transactions to a server for maintaining the affinity of the transaction not in each server group but at a central position. SOLUTION: A server 31 accesses a mapping table 312 by using a server group identification included in a demand received from a server E and reads that a server C is arranged in a list regarding a server group 1. The server 31 returns the identification of the server C to the server E. Thus, the server E can designate that the server C should be contacted. Next, the server E transmits transactions to the server C. Thus, since the server C is always selected regarding specific transactions, the affinity of the transactions is maintained.
Abstract:
PROBLEM TO BE SOLVED: To reduce many inter-process flows related to the processing of respective transactions and to reduce the overhead of a client process following the preparation of respective transactions. SOLUTION: A client processor to be used for a client/server calculation system for processing each transaction issues a start command in order to inform the start of a transaction and transmits a substantial transaction command to a remote server. The transaction command includes a transaction context having a specific value for indicating that a transaction has been started but a transaction object 332 expressing the transaction is not prepared yet. When the remote server prepares the object 332, the client processor receives a corrected transaction context from the remote server.
Abstract:
A client processing apparatus in a client/server computing system which carries out transactions, issues a begin command 41 to signify the beginning of a transaction, sends to a remote server a substantive transactional command 42 including a transaction context having a specific value which indicates that a transaction has been started but transaction objects which represent the transaction have not yet been created, and receives a modified transaction context from said remote server 44 once said remote server has created said transaction objects 43.
Abstract:
Transaction processing in a distributed (client/server) computing system. A transaction is created by setting up transaction state objects in a server process (22, figs. 2 and 3). Whereas normally, Control, Terminator and Coordinator objects (221-223, fig. 2) would be instantiated, according to the invention only the Control and Terminator objects (221, 222, fig. 3) are instantiated, 42. The Coordinator object coordinates the transaction with respect to a plurality of resources according to the two phase commit protocol, and is created at a later stage in the transaction, 44, only in response to a predetermined trigger event, such as the server receiving a request to update a local resource, 43, or another server process being called by the transaction, 45. Since the Coordinator object is thus only created if, and when, needed by the transaction, processor cycles are saved; this also prevents the transaction from having to be logged to storage (225, fig. 2) when such logging is unnecessary for the presently executing transaction.
Abstract:
A client processing apparatus, in a client/server computing system which carries out transactions, has: means for issuing a begin command to signify the beginning of a transaction; means for sending a command to an object in a remote server, the command including a transaction context having a specific value which indicates that a transaction has been started but transaction objects which represent the transaction have not yet been created; and means for receiving a modified transaction context from the remote server once the remote server has created the transaction objects.
Abstract:
A server in a client/server computing system for carrying out transactions, receives 81 a command from a client process to create the transaction objects for a transaction which the client has started; the server then determines 82 whether it has a local transaction factory. If so, it creates 83 the required transaction objects, representing transaction state data, locally (ie within the server).But, if the server has no local transaction factory, it forwards 84 the client's command to another server. The transaction factory is an interface object which is supplied by the Common Object Request Broker Architecture (CORBA) Object Transaction Service (OTS) implemented in a server. The transaction may be the withdrawal of cash from a bank account. The system designer may wish to maintain transaction objects on the same server as the resource objects, in order to reduce the number of cross-process calls.
Abstract:
In a client/server system where a client sends a work request to a server which includes a group of workload managed server processes each of which is capable of performing the work request, a server apparatus running a server process has: a data storage unit storing mapping data which maps a particular server process to each of a plurality of groups of workload managed server processes; a means for receiving from a client a request for the identity of the mapped server process corresponding to a particular group of workload managed server processes, the particular group being specified in the request; a means for accessing the data storage unit to determine, for the particular group specified in the received request, the identity of the mapped server process; and a means for returning the identity of the mapped server process to the client; wherein the request received from the client is associated with an entity whose lifetime is coupled to the lifetime of the server process. The advantage is that by maintaining a dynamic process mapping list in a central location only for a finite time the risk of a system crash wiping out the mapping list data is greatly reduced.