Browse Prior Art Database

Knowledge Based System Software Cache

IP.com Disclosure Number: IPCOM000121207D
Original Publication Date: 1991-Aug-01
Included in the Prior Art Database: 2005-Apr-03
Document File: 3 page(s) / 107K

Publishing Venue

IBM

Related People

Litz, SH: AUTHOR

Abstract

Disclosed is a method of using the built-in functions available in a Knowledge-Based System (KBS) to implement a read-only software cache within a KBS application program.

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

Knowledge Based System Software Cache

      Disclosed is a method of using the built-in functions
available in a Knowledge-Based System (KBS) to implement a read-only
software cache within a KBS application program.

      A software program that does numerous reads of secondary
storage will suffer from performance degradation due to the large
number of I/O (usually DASD) operations that are performed.  When a
high percentage of secondary storage reads consist of the same group
of records, it is often desirable to add a read-only software cache
to the program to increase its performance.  The software cache keeps
the most frequently used records in the program's internal memory in
order to reduce the number of secondary storage reads.  However,
designing, coding, and debugging such a software cache can be a
fairly involved undertaking when using conventional procedural coding
techniques.

      When an application is running within a KBS program that has
built-in functions available to match KBS objects and their time
stamps, it is relatively easy to implement a read-only software cache
within an application.  Each element of the KBS software cache is
represented by a KBS class member.  A specific cache element may
easily be created, discarded, or located using KBS built-in
functions, so that no memory management programming routines need to
be written to add, remove or find a particular cache element in the
cache.  The KBS automatically associates a time stamp with each KBS
class member that shows when each class member was created or updated
in relation to all other class members.  In addition, when a cache
element is read, its time stamp may be updated through use of either
a KBS built-in function or by simply making an assignment to one of
the cache element's attributes which then makes the cache element the
most recent one in the KBS.  This makes it possible to locate the
least-recently-used cache element to be replaced when the cache is
full by using built-in KBS functions to get the cache element with
the oldest time stamp.

      A KBS software cache may be built using various types of cache
element replacement strategies.  The following design describes how
to build a KBS read-only software cache using a least-recently-used
replacement strategy:
      1.   KBS class members are used to represent cache elements so
that each cache element contains a time stamp automatically managed
by the KBS.  The time stamp indicates when the cache element was last
updated in relation to all the other cache elements.  Each cache
element also contains the data and a key for locating the
corresponding record in the secondary storage.
      2.   Whenever the application program needs to read a record
from...