The characteristics and services associated with each structure
support certain types of uses and offer certain unique functions:
- Cache structure
- Allows high-performance sharing of frequently-referenced data.
Cache structure services, accessed through the IXLCACHE macro, allow
you to:
- Store and access data in the cache structure.
- Automatically notify affected users when you change shared data
in the cache system. The system keeps track of which users are using
a particular piece of data and notifies those users when an update
to the data makes their locally-cached version obsolete.
- Determine whether your copy of shared data is valid by checking
system-maintained validity indicators for your locally-cached copies
of shared data.
Certain functions provided by cache structure services depend
on the level of a coupling facility in which the cache structure is
allocated.
- List structure
- Enables users to share information organized as entries on a set
of lists or queues. Connections could use a list structure, for example,
to distribute work or maintain shared status information.
List
structure services, accessed through the IXLLIST, IXLLSTC, IXLLSTE,
and IXLLSTM macros, allow you to:
- Read, write, move, and delete list entries in a variety of ways,
with and without serialization.
- Monitor list transitions from empty to non-empty without accessing
the coupling facility and checking the lists directly.
- Define a lock table of exclusive locks as part of the list structure.
You can use the lock table to serialize access to lists, list entries,
or any other resources in the list structure.
Certain functions provided by list structure services
depend on the level of a coupling facility in which the list structure
is allocated.
Note: As of OS/390® Release
9, functional enhancements will be made to the IXLLSTC, IXLLSTE,
and IXLLSTM macros only. The IXLLIST macro will be maintained, but
will not be updated with any new support.
- Lock structure
- Allows users to create a customized set of locks and locking protocols
for serializing user-defined resources, including list or cache structure
data.
You can implement a serialization mechanism with any scope
you require, thereby reducing contention for resources. For instance,
rather than serializing at a data set level, you can use the lock
structure to serialize access at the record or field level.
Lock
structure services, accessed through the IXLLOCK macro, allow you
to:
- Associate user-specified data with each lock. IXLLOCK supports
shared and exclusive lock states. However, you can use the user-specified
data to create additional lock states to tailor the locks to your
application's needs.
- Implement customized locking protocols for your user-defined lock
states.
- Resolve lock contention according to your own protocol by providing
exits to handle contention resolution. The system assists in contention
resolution by supplying your exit with information about the cause
of the contention.
- Recover locks as part of an overall recovery mechanism to recover
for the failure of another connector.
Certain functions provided by lock structure services
depend on the level of a coupling facility in which the lock structure
is allocated.