Browse Prior Art Database

Queueing Problem Avoidance Using a Finite Resource List

IP.com Disclosure Number: IPCOM000102669D
Original Publication Date: 1990-Dec-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 4 page(s) / 104K

Publishing Venue

IBM

Related People

Bate, GP: AUTHOR [+3]

Abstract

Disclosed is a program that allows one system level program to provide information to another without the usual queueing and locking problems.

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

Queueing Problem Avoidance Using a Finite Resource List

       Disclosed is a program that allows one system level
program to provide information to another without the usual queueing
and locking problems.

      This program requires that there be a single program providing
update information to a finite set of resources. All resources are
represented in storage and each resource has a single data area.
Only one program may process the work queue which is used to identify
which elements have recently changed state.  Any number of tasks or
programs may view the current state of each element or resource and
reflect the number of state changes.

      The unique characteristic of this program is that the state of
each element in the set reflects the current status known to the
providing program, regardless of the receiving program's ability to
process the information.

      The completeness of the data in an element is guaranteed by a
unique identifier being stored when the data update begins and then
stored in a second location at the end of the update.  The user of
the data is expected to copy the data to a local area and verify the
check- words after copying.

      The provider only POSTS the receiver to indicate that an
element has changed if no other elements are already on the queue of
changed elements.

      In an MVS/XA* environment, cross memory services are used to
communicate between the two programs which are running in different
address spaces.  The data may be in either program's address space or
in a data space in MVS/ESA*.

      In a VM environment, common storage is used to store and access
data by programs which are running in separate VM machines.

      Data Structures and Initial Values
      The pointers and save areas used to implement the
      queueing of changed resources in this technique are:
      HEAD      Pointer to the first element that should be
                processed by the receiver.  A zero value
                indicates no items are to be processed.
      SAVE_HEAD Save area for HEAD pointer, initialized to
           zero.
      TAIL      Pointer to the last element that was updated
                by the provider, initialized to the address
    ...