<p>A method of delivering messages between application programs is provided which ensures that no messages are lost and none are delivered more than once. The method uses asynchronous message queuing. One ore more queue manager programs (100) is located at each computer of a network for controlling the transmission of messages to and from that computer. Messages to be transmitted to a different queue manager are put onto special transmission queues (120). Transmission to an adjacent queue manager comprises a sending process (130) on the local queue manager (100) getting messages from a transmission queue and sending them as a batch of messages within a syncpoint-manager-controlled unit of work. A receiving process (150) on the receiving queue manager receives the messages and puts them within a second syncpoint-manager-controlled unit of work to queues (180) that are under the control of the receiving queue manager. Commitment of the batch is coordinated by the sender transmitting a request for commitment and for confirmation of commitment with the last message of the batch, commit at the sender then being triggered by the confirmation that is sent by the receiver in response to the request. The invention avoids the additional message flow that is a feature of two-phase commit procedures, avoiding the need for resource managers to synchronise with each other. It further reduces the commit flows by permitting batching of a number of messages.</p>
申请公布号
WO9510805(A1)
申请公布日期
1995.04.20
申请号
WO1993GB02086
申请日期
1993.10.08
申请人
INTERNATIONAL BUSINESS MACHINES CORPORATION;CLARKE, PAUL;JOHNSON, PETER;KINGSTON, WILLIAM;DREW, ROBIN, MILES;BLACK, GEORGE;MELI, ROGER
发明人
CLARKE, PAUL;JOHNSON, PETER;KINGSTON, WILLIAM;DREW, ROBIN, MILES;BLACK, GEORGE;MELI, ROGER