|
Claims  |
|
|
We claim:
1. A method of operating a file sharing system including a central data
access system, a plurality of application support processors connected to
the data access system, and a data storage system also connected to the
data access system and holding a data base, the method comprising the
steps of:
forming a plurality of directories from data in the data base;
acquiring at least one of the directories in at least one of the
application support processors;
for each directory acquired by at least one application support processor,
establishing a directory gate block;
for each application support processor that has acquired at least one
directory
(i) establishing a local control structure,
(ii) establishing a directory acquired block for each directory acquired by
the application support processor, and identifying in each directory
acquired block, a location of the directory gate block established for the
directory for which the directory acquired block was established,
(iii) arranging in a local chain, directory acquired blocks established for
the application support processor,
(iv) identifying a first of the directory acquired blocks in said local
chain, in the local control structure, and
(v) identifying each successive directory acquired block in said local
chain in a prior directory acquired block in the chain;
using the application support processors to activate the data access system
to make changes to the database;
for each directory acquired by at least one application support processor,
(i) storing in the data access system, records of changes to the database
that affect the directory,
(ii) arranging records of said changes in a record chain,
(iii) identifying a location of a first of the records in the record chain,
in the directory gate block established for the directory, and
(iv) identifying a location of each successive record in the record chain,
in a prior record in the chain; and
periodically transmitting to the application support processors, records of
changes to the data base that affect the directories acquired by the
application support processors to update the acquired directories, the
transmitting step including the step of, for each application support
processor that has acquired at least one directory,
(i) periodically checking the directory acquired blocks established for the
application support processor to identify all the directories acquired by
that application support processor, and
(ii) transmitting to the application support processor records of changes
to the database that affect the directories acquired by the application
support processor.
2. A file sharing system, comprising:
a file access processor for processing requests, and including a central
data access system, and a storage access system for accessing a database,
the storage access system being connected to the central data access
system to transmit data to and to receive data from the central data
access system,
the central data access system including
(i) means to form a plurality of directories from data in the database, and
(ii) means to change data in the database;
a plurality of application support processors connected to the central data
access system to transmit data to and to receive data from the central
data access system, each application support processor including
(i) means to receive input from a user and to transmit the input to the
central data access system, and
(ii) a cache to acquire and hold directories formed by the data access
system;
for each directory acquired by at least one application support processor,
the central data access system further including (iii) a directory gate
block;
the central data access system further including (iv) means to form a
multitude of directory change request blocks, each formed directory change
request block holding information describing a change in the database that
affect one of the directories, the formed directory change request blocks
holding information describing changes that affect a given directory being
grouped in a chain, with a first directory change request block in the
chain being identified by the directory gate block established for the
given directory, and each subsequent directory change request block in the
chain being identified by a prior directory change request block in the
chain;
for each application support processor that has acquired at least one
directory, the central data access system further including
(v) a local control structure, and
(vi) a directory acquired block for each directory copied by the
application support processor, directory acquired blocks being grouped in
a local chain, a first directory acquired block in the local chain being
identified by the local control structure, each subsequent directory
acquired block in the local chain being identified by a prior directory
acquired block in the chain, to help identify all the directories copied
by the application support processor.
3. A method of maintaining updated file characteristics in a file sharing
system wherein a plurality of application support processors each have
their own local cache structure for holding copies of all directories
which they have acquired, comprising the following steps:
creating a change request block for globally holding updated information
identifying and describing a change in a database that applies to a
directory;
establishing a directory acquired block in a local structure for each
application support processor whenever a directory is acquired by the
application support processor to identify each directory which is
acquired;
checking periodically to identify all the directories acquired by each
application support processor;
keeping track of those change request blocks which relate to a particular
directory; and
transmitting the updated information in all of those change request blocks
to the local cache structure for every application support processor which
has acquired that particular directory.
4. A method according to claim 3 further including the step of periodically
removing the records of changes in the change request blocks that affect a
particular directory and that have been transmitted to all of the
application support processors that have acquired the particular
directory.
5. A method according to claim 4, further including the step of storing
consecutive control numbers identifying every one of the changes that
affect each directory.
6. A method according to claim 5, wherein the removing step includes the
steps of:
for each directory acquired by each application support processor,
recording a highest numbered record of changes that affect the directory
that have been transmitted to the application support processor; and
for each directory, periodically removing the records of changes that
affect the directory and that are identified by a control number equal to
or less than said highest numbered record.
7. A method according to claim 6, wherein the step of recording the highest
numbered record of changes that affect a directory and that have been
transmitted to an application support processor includes the step of
recording said highest numbered record in the directory acquired block
established for the directory and the application support processor.
8. A method according to claim 3, further including the steps of, for each
directory acquired by at least one application support processor,
arranging in a participating chain, the directory acquired blocks
established for the directory,
identifying a first of the directory acquired blocks in said participating
chain, in a directory gate block established for keeping track of change
request blocks for the directory; and
identifying each successive directory acquired block in said participating
chain, in a prior directory acquired block in the participating chain.
9. A method according to claim 3 further including for each directory the
steps of arranging the change request blocks in a record chain,
identifying the location of a first change request block in a directory
gate block established for the directory, identifying the location of each
successive record in the record chain through other records in the chain,
and identifying in each directory acquired block a location of the
directory gate block established for the same directory.
10. A method according to claim 9, wherein:
for each directory acquired by at least one application support processor,
a step of arranging records of changes that affect the directory includes
the step of identifying consecutively stored records of changes that
affect the directory by consecutive numbers; and
for each directory acquired by each application support processor, the step
of maintaining the register of the records of changes that affect the
directory and that have been transmitted to the application support
processor includes the step of recording a highest numbered record of
changes that affect the directory and that have been transmitted to the
application support processor.
11. A method according to claim 10, wherein for each directory acquired by
each application support processor, the step of recording the highest
numbered record of changes that affect the directory and that have been
transmitted to the application support processor, includes the step of
recording in the directory acquired block established for the directory a
control number indicating said highest numbered record transmitted, and
wherein said method further includes the step of keeping in the directory
gate block established for the directory a different control number
indicating a lowest numbered record awaiting to be transmitted.
12. A method according to claim 3 further including the steps of, for each
directory acquired by each application support processor, maintaining a
register of the records of changes that affect the directory and that have
been transmitted to the application support processor, and transmitting to
the application support processor only the records of changes that affect
the directory and that were not previously transmitted to the application
support processor.
13. A method according to claim 3 wherein said creating step further
includes determining the identity of a directory for which updated
information in a new change request block has been received, and then
searching a directory hash table to locate any other change request blocks
having additional updated information for the same directory.
14. A method according to claim 3 wherein the file sharing system includes
global and local control structures, and further including latching
various control structures to prevent processing on behalf of one
application support processor from changing control structures being used
on behalf of another application support processor.
15. A file sharing system for maintaining updated file characteristics
wherein a plurality of application support processors each have their own
local cache structure for holding copies of all directories which they
have acquired, comprising:
global control means for creating a change request block holding updated
information from a database applicable to a directory;
a local control structure associated with each application support
processor and which is connected with said global control means, said
local control structure including a directory acquired block for each
directory acquired by the application support processor;
monitor means in communication with said global control means and said
local control structure for listing all the directories acquired by each
application support processor, and for keeping track of all change request
blocks relating to a particular directory; and
data transfer path means between said global control means and the
application support processors and through said local control structure
and activated by said monitor means, for transmitting the updated
information in change request blocks to every application support
processor which has acquired that particular directory.
16. A file sharing system according to claim 15, wherein:
all of the directory acquired blocks established for a given directory are
grouped in a participating chain;
a first of the directory acquired blocks in the participating chain is
identified by the directory gate block established for a given directory;
and
each subsequent directory acquired block in the participating chain is
identified by a prior directory acquired block in the participating chain.
17. A file sharing system according to claim 16, further including means to
remove directory change request blocks describing changes that affect a
given directory and that have been transmitted to all the application
support processors that have acquired the given directory.
18. A file sharing system according to claim 15 wherein each directory
acquired block includes means forming a chain with every other such
directory acquired blocks for the given directory as well as means
identifying the location of a directory gate block established for keeping
track of change request blocks for the given directory.
19. A file sharing system according to claim 17, wherein the means to
remove the directory change request blocks includes means to identify the
directory change request blocks describing changes that affect a given
directory and that have been transmitted to all the application support
processors that have acquired the given directory.
20. A file sharing system according to claim 19, wherein:
the directory change request blocks describing changes that affect each
acquired directory are numbered consecutively within the chain formed by
the directory change request blocks; and
the directory acquired block established for a given directory and a given
application support processor includes means identifying the number of the
highest numbered directory change request block describing changes that
the given directory and that has been transmitted to the given application
support processor.
21. A file sharing system according to claim 20, wherein the means to
identify the directory change request blocks further includes means to
scan the directory acquired blocks established for the given directory for
the lowest number of said highest numbered directory change request
blocks.
22. A file sharing system according to claim 20, wherein the directory gate
block for each acquired directory further includes:
means identifying a lowest numbered directory change request block holding
changes that affect the directory; and
means identifying the highest numbered directory change request block
holding changes that affect the directory.
23. A file sharing system according to claim 20, wherein each directory
change request block holding a change that affects a given directory
includes:
means identifying the given directory;
means identifying the change that affect the given directory.
24. A file sharing system according to claim 23, wherein selected directory
change request blocks further include means identifying the application
support processors authorized to receive data in the selected directory
change request blocks.
25. A file sharing system of claim 16 wherein said global control means
includes a directory hash table for locating any directory gate block
established for a given directory.
26. A file sharing system of claim 15 which further includes latching means
coupled to said global control means and said local control structure for
preventing one application support processor from interfering with control
blocks which are being processed by another application support processor. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
This invention generally relates to cache management in a file sharing
system, and more particularly, to a cache management system especially
well-suited to update directories acquired by application support
processors of the file sharing system.
A file sharing system includes a central file access processor and a
plurality of application support processors. The file access processor
manages access to a database, may be used to form directories from data in
that database, and allows the support processors to acquire those formed
directories. A group of application support processors may operate
asynchronously, sharing the set of file resources managed by a file access
processor, and the application support processors also maintain local
caches in which various acquired directories may be stored. These local
caches improve the performance of the application support processors by
reducing the need to communicate with the file access processor for
information about files in the file access processor.
Generally, a file access processor includes a service system, a data access
system, and a storage access system. The service system provides a variety
of services for the processor, including the initial receipt of requests,
forwarding responses for file access, and dispatching an activation of the
data access system. The data access system processes individual requests
and maintains a set of catalogues that contain control and descriptive
information concerning the set of files managed by the file access
processor. These catalogues include data file control, security,
integrity, concurrency, inter-relationship, recovery, status, and other
control information. The storage access system manages the data blocks
that comprise the data files, the set of records that comprise the
catalogues, the set of locks that permit concurrency, and the grouping of
work items that represent recovery units.
A group of application support processors may each acquire the same
directory from the file access processor, and a user at a first of these
support processors may make several changes to the directory. It is
desirable that these changes themselves be transmitted to the other
support processors that have acquired the same directory in order to keep
these directory copies current Moreover, it is important that the
recording, storing and transmission of directory change data be done in an
efficient and effective manner.
SUMMARY OF THE INVENTION
An object of this invention is to provide cache management support for a
file sharing system.
Another object of the present invention is to provide methods and systems
for updating directories acquired by application support processors
serviced by a central file access processor.
A further object of this invention is to store changes made to a directory
by an application support processor serviced by a file access processor,
and to transmit those changes automatically to other application support
processors that have acquired that same directory.
These and other objectives are obtained with a file sharing system
including a file access processor and a plurality of application support
processors; and the file access processor, in turn, includes a central
data access system and a storage access system. The file access processor
is provided for processing requests; and the storage access system is
provided for accessing a database. The central data access system includes
means to form a plurality of directories from data in the database and
means to change data in that database. The application support processors
are connected to the central data access system to transmit data to and to
receive data from the central data access system; and each application
support processor includes means to receive input from a user and to
transmit the input to the central data access system, and a cache to
acquire and hold directories formed by the data access system.
For each directory acquired by at least one application support processor,
the central data access system further includes a directory gate block,
and a multitude of directory change request blocks. Each directory change
request block holds information identifying and describing a change in the
database that applies to the directory; and the directory change request
blocks are grouped in a chain, with a first directory change request block
in the chain being identified by the directory gate block, and each
subsequent directory change request block in the chain being identified by
a prior directory change request block in the chain.
For each application support processor that has acquired at least one
directory, the central data access system further includes a local control
structure established for the support processor, and a directory acquired
block for each directory acquired by the application support processor.
The directory acquired blocks are grouped in a local chain, with a first
directory acquired block in this chain being identified by the local
control structure established for the application support processor, and
each subsequent directory access block in the local chain being identified
by a prior directory acquired block in the chain. Preferably, all of the
directory acquired blocks established for a given directory are grouped in
a participating chain. A first of the directory acquired blocks in the
participating chain is identified by the directory gate block established
for the given directory, and each subsequent directory acquired block in
this chain is identified by a prior directory acquired block in the
participating chain.
Periodically, records of changes to the database that apply to acquired
directories, are transmitted to the application support processors that
have acquired those directories to update these directory copies. More
specifically, the data acquired blocks established for each application
support processor are periodically checked to identify all the directories
acquired by the application support processor, and records of changes that
apply to those directories are then transmitted to that processor.
Further benefits and advantages of the invention will become apparent from
a consideration of the following detailed description given with reference
to the accompanying drawings, which specify and show preferred embodiments
of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram generally outlining a file access processor,
several systems thereof, and its relationship to a group of application
support processors.
FIG. 2 is a block diagram showing the transmission of certain data from the
file access processor to a pair of application support processors.
FIG. 3 is a block diagram illustrating cache data flow in a data access
system.
FIG. 4 is a block diagram showing cache control structures of this
invention, and in particular, showing a multitude of Directory Gate Blocks
chained to a Directory Hash Table.
FIG. 5 also shows cache control structures, and in particular, illustrates
a multitude of Directory Change Request Blocks, Directory Gate Blocks, and
Directory Acquired Blocks.
FIG. 6 illustrates the contents of several cache control structures.
FIGS. 7 and 8 are flow charts showing the ACQUIRE and NOTIFY operations,
respectively, of the cache control system of this invention.
FIGS. 9 and 10 illustrate the RETRIEVE operation of the cache control
system.
FIGS. 11 and 12 are flow charts illustrating the CLEAN-UP and RELEASE
operations, respectively, of the cache control system of this invention.
FIG. 13 depicts the PURGE operation of the cache control system.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 illustrates file sharing system 10 comprising a central file access
processor 12 and a multitude of application support processors 14. The
file access processor includes service system 16, data access system 18
and storage access system 20. A File Access Processor 12 services requests
from a set of Application Support Processors 14 which can exist in a
global network, with each Application Support Processor sharing access to
data in files stored by and managed by one or more File Access Processors
12. Each Application Support Processor 14 also maintains an internal cache
of file information to improve performance by reducing communications with
the File Access Processor 12 for information about files.
File Access Processor 12 manages access to a set of data files and
information about files held in file directories. File directories allow
for grouping and managing file collections, relate to each other
hierarchically, and may be shared. The File Access Processor also
maintains therein a set of catalogs, which are repositories of internal
information in the File Access Processor for its own internal use, and
which are not directly available and accessible to Application Support
Processors, as are the data files and directories.
The Service System 16 provides environmentally dependent services for the
processor 12, including the initial receipt of requests, forwarding
requests for file access, and dispatching an activation of the Data Access
System 18. The Data Access System 18 processes individual requests, and
maintains a set of catalogs that contain control and descriptive
information concerning the set of directories and files managed by the
File Access Processor 12. The Storage Access System 20 manages the data
blocks that comprise the data files, which may form a database stored in
an external data storage medium 22. The Storage Access System also manages
the set of records that comprise the catalogs, the set of locks that
permit concurrency, and the grouping of work items that represent recovery
units.
The Data Access System has a number of subcomponents including the Session
Management Subcomponent 24, the Request Management Subcomponent 26, the
Space Management Subcomponent 30, the Catalog Management Subcomponent 32,
and the Cache Management Subcomponent 34. The Session Management
Subcomponent receives requests through the Service System and it is the
focal point of control and includes a set of fundamental services for
response formulation. Session Management determines which Request
Management Subcomponent routine should be invoked to service a request and
passes control to Request Management; and at the end of request
processing, Request Management passes control back to the Session
Management Subcomponent to finish request processing and to forward the
requested response.
Session Management Subcomponent includes a number of service routines. A
start-up routine 36 is used to initialize Data Access System control
structures, and a storage Pool routine 40 is used to maintain and dispense
working storage for control structures. A response routine 42 is employed
to assist Request Management Subcomponent routines build response
messages, and to assemble the response and cache update information into a
properly formatted response message. A work routine 44 is utilized to
coordinate and initiate processing required when a logical group of
requests are "committed" or "rolled back", i.e. manage activities at
designated points of recovery.
The Work routine invokes the Catalog Management Subcomponent to accomplish
catalog updates based upon Work Request Blocks (WRBs) built by Request
Management, and the Work routine invokes the Space Management Subcomponent
to coordinate the update of the Space Catalog. The Work routine also
invokes the Storage Access System to commit changes to file blocks and
catalogs, and invokes the Cache Management Subcomponent 34 to store cache
notification information.
The Session Management Subcomponent further includes a Terminate routine 46
to clean up control structures at the conclusion of an activation of the
Data Access System, and a WRB Condense routine 50, which supports
reduction of multiple changes to the same catalog entry into a single
change. The Data Access System utilizes several catalogs for managing file
and directory information, and each entry in the Object Catalog, for
example, contains descriptive and control information about a particular
file. Work Request Blocks (WRBs) are used to save catalog change
information from the time of file request processing until the time that
the work unit is committed. When multiple WRBs exist for the same catalog
entry, they are condensed into a single WRB.
The Request Management Subcomponent 26 includes routines for each type of
request the Data Access System is designed to process As illustrated is
FIG. 1, Request Management includes nine routines R1 through R9, although
a typical Request Management subsystem has thirty to forty routines.
Request Management utilizes the Catalog Management Subcomponent to access
catalogs, uses the Space Management Subcomponent 30 to manage logical
space, and employs the Cache Management Subcomponent for cache control
processing. In addition, Request Management builds and maintains WRBs
(Work Request Blocks), which go the the Work routine at commit
time----that is, at the successful completion of a work unit----to drive
catalog and cache updates. The Request Management Subcomponent 26 utilizes
the Storage Access System 20 directly to engage or disengage one or more
logical locks that represent commitments against files and catalogs; and
Request Management invokes the Storage Access System to add, delete, and
update data blocks associated with particular files according to the
requirements of the current request.
The Catalog Management Subcomponent assembles the control structures
required to invoke the Storage Access System 20 to access the set of
catalogs that the Data Access System 18 utilizes for control information
for its set of directories and files. The Space Management Subcomponent
manages the logical space for an Application Support Processor represented
by a FSCB (File Space Control Block), a local representation of the Space
Catalog entry for the Application Support Processor. Requests that affect
logical space consumption due to changes in the storage consumed by files
accomplish space accounting though the Space Management Subcomponent. The
Space Management Subcomponent also uses the Catalog Management
Subcomponent 32 to access the Space Catalog. The Cache Management
Subcomponent is invoked by the Work routine of the Session Management
Subcomponent at the successful completion of a work unit to update the
cached data maintained by the Data Access System 20, using information in
WRBs built by the Request Management Subcomponent.
A Cache Management System which provides a local cache structure for
maintaining updated file characteristics in a file sharing system is
described in detail below. Other features of such a file sharing system
are disclosed in the following related copending applications which are
owned by the assignee of the subject application and were all filed on the
same Oct. 19, 1987 filing data: Ser. No. 110,463 relates to space
management; Ser. No. 110,362 relates to a locking protocol; and Ser. No.
110,370 relates to the data access system managing requests for shared
access to data files. All three of the above-identified applications are
incorporated herein by reference.
The purpose of the Cache Management is to collect a set, or cache, of
directory change information, representing changes to file descriptions
and characteristics, and periodically to distribute that change
information to the Application Support Processors to update their local
caches. This cache management improves the performance of the File Sharing
System by reducing the need of the Application Support Processors to go to
the File Access Processor for file information.
The Application Support Processors permit directories to be acquired in
their local caches, and a local cache is kept for a particular directory
whenever an Application Support Processor acquires that directory. When
acquiring a directory, an Application Support Processor obtains all
information about that directory and its files from the File Access
Processor, and this information is used initially to load the Application
Support Processor's local cache. Concurrently, the File Access Processor
is notified that the Application Support Processor requires notification
of all future changes that affect the acquired directory, and this change
notification requirement remains in effect until the acquired directory is
explicitly released from the local cache of the Application Support
Processor.
Preferably, information for updating the local cache of an Application
Support Processor is transmitted to that Processor along with normal
response information that is transmitted to the Application Support
Processor in response to an activation of the File Access Processor by the
Application Support Processor----that is, in response to a request or
inquiry from the Support Processor. Information for updating the local
caches includes such items as changes to file names, file lengths, file
status, and authorization to access a file. The cache change information
is transmitted to the Application Support Processors in the form of
individual records called Cache Notification Records (CNRs). This is
illustrated in FIG. 2.
In order to manage cache notification information for Application Support
Processors, the Data Access System performs several functions. First, Data
Access System records which directories have been acquired by particular
Application Support Processors, and this is done by means of an ACQUIRE
operation, discussed in detail below. Second, as part of a NOTIFY
operation, also discussed in detail below, the Data Access System
recognizes changes in directory and file data that affect the central
cache, records these directory changes, and accumulates the change
information until the appropriate time for sending it to the interested
Application Support Processors to update their local caches. Third, in a
RETRIEVE operation, the Data Access System sends the change information,
in the form of CNRs 56, to the interested Application Support Processors;
and in a CLEAN-UP operation, the Data Access System periodically removes
from its own memory the records of change information that all interested
Application Support Processors have received. Both the RETRIEVE and
CLEAN-UP operations are described in detail below. Fourth, if an
Application Support Processor releases a previously acquired directory,
the Data Access System automatically invokes a RELEASE operation and
terminates the requirement that this Application Support Processor receive
notification of future changes to this directory.
The Request Management Subcomponent of the Data Access System processes
individual requests from the Application Support Processors. More
specifically, the Request Management Subcomponent recognizes particular
requests that cause a directory to be acquired by an Application Support
Processor and invokes Cache Management to put that Application Support
Processor on the list of those to be notified of future changes to that
directory. The Request Management Subcomponent also recognizes particular
requests that affect directories that were acquired by any application
support processor; and generally, these requests also cause changes to
various system catalogs such as the Directory Catalog, the Object Catalog,
and the Authorization Catalog.
In addition, the Request Management Subcomponent builds a Work Request
Block (WRB) 58 identifying and describing the catalog change and adds to
the WRB additional information for Cache Management. The Work Request
Blocks are used to hold this information until the end of the group of
requests that comprises a work unit, whereupon the catalogues are updated
and Cache Management is invoked to accumulate and store information
identifying and describing the changes.
FIG. 3 summarizes this flow of information within the Data Access System as
indicated by processing steps (1) to (9). The Request Management
Subcomponent builds WRBs; and at the completion of the work unit, the Work
Routine of Session Management gains control of the Data Access System for
managing the sequence of operations that are necessary for proper
processing of the work unit.
To elaborate, the Work Routine routes the WRBs to Catalog Management, which
in turn transmits the change information to the Storage Access System to
update the catalogues. The Work Routine also routes the WRBs to Cache
Management so that the change information in the WRBs may be saved for
later transmission to the Application Support Processors. If the
information in a WRB describing a change to a directory is to be saved,
Cache Management creates a Directory Change Request Block (DCRB) using
information from the WRB, and the DCRB holds data identifying and
describing a directory change until all Application Support Processors
that have acquired that directory have been notified of the change. At the
conclusion of processing each normal request from an Application Support
Processor, Cache Management is invoked to retrieve and to transmit to that
Application Support Processor, records of changes to all the directories
that have been acquired by that Support Processor.
The retrieval of the records of the directory changes is accomplished by
processing DCRBs that pertain to directories that have been acquired by a
subject Application Support Processor. The DCRBs that are retrieved
include not only those that were built as a result of the current work
unit, but also those built as a result of other, prior activations of the
Data Access System by other Application Support Processors. Thus, the set
of DCRBs is global to all the Application Support Processors that share
the File Access Processor. Once the set of DCRBs that apply to the subject
Application Support Processor is determined, Cache Notification Records
(CNRs) are built to hold information identifying and describing the
directory changes, and these CNRs are packaged with the current request
response information for transmission to the Application Support
Processor.
The DCRBs pertaining to each directory are periodically checked to
determine which of these DCRBs have been transmitted to all of the
Application Support Processors that have acquired the directory. Those
DCRBs that have been transmitted to all of these application support
processors are removed from the Data Access System and this is
accomplished through a periodic Cache Management operation called
CLEAN-UP.
When a particular Application Support Processor is no longer interested in
being notified of changes to a particular directory, the Application
Support Processor is removed from a list maintained by Cache Management
for that directory. This occurs explicitly when a Cache Release request is
processed by the Request Management Subcomponent, and this can be done by
a RELEASE operation, which is discussed in greater detail below. In
addition, if a particular Application Support Processor is terminated for
any reason, that Processor is removed, by means of a PURGE operation, from
all the lists of Application Support Processors that receive change
records.
Cache Management is further described below in terms of the control
structures utilized to record directory changes and to control the
transmission of those records to the Application Support Processors, and
| | |