Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Updating Data Shared by Distributed Applications Using Queueing

IP.com Disclosure Number: IPCOM000123460D
Original Publication Date: 1998-Nov-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 1 page(s) / 49K

Publishing Venue

IBM

Related People

Capps, CL: AUTHOR [+2]

Abstract

Applications running on different machines may wish to update shared data. It is possible for an application to update the data while another application is working with the data. There must be a method by which one application can work with or update the data without the possibility of influence by another application.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 69% of the total text.

Updating Data Shared by Distributed Applications Using Queueing

   Applications running on different machines may wish
to update shared data.  It is possible for an application to update
the data while another application is working with the data.  There
must be a method by which one application can work with or update the
data without the possibility of influence by another application.

   Our implementation is built on top of IBM's MQSeries, a
messaging and queueing product.  MQSeries maintains a collection of
data areas (called queues), on which blocks of data may be placed
(called messages).  Applications on multiple machines may access a
shared queue, putting messages onto the queue and getting messages
off of the queue.  MQSeries provides syncpoint control, which in our
implementation serves to ensure the following:
  1.  When an application removes a message from the queue,
      it is no longer available for other applications.
  2.  If the application that removed the message crashes,
      the message will be automatically replaced on the queue.

   Our implementation creates a "System Lock" queue on which
we place exactly one "system lock" message.  When an application
would like exclusive access to the data area (for reading, writing),
it attempts to get the "system lock" message.  If the attempt is
successful, the application proceeds with its update of the data
area.  When completed, the application returns the message to the
"system...