top - download
⟦3f47d8192⟧ Wang Wps File
Length: 74577 (0x12351)
Types: Wang Wps File
Notes: CPS/SDS/030
Names: »1496A «
Derivation
└─⟦7955290a6⟧ Bits:30005803 8" Wang WCS floppy, CR 0106A
└─ ⟦this⟧ »1496A «
WangText
…00……00……00……00…I…02……00……00…I
H…08…H…0c…H…0f…H…02…H…07…G…0d…G…02…G…07…F…08…F…0c…F…0d…F
E…0a…E…0b…C…02…C…07…!…0b…!…0f…! …0b… …00… …05……1f……0b……1f……00……1f… …1e……08……1e……0c……1e……0d……1e……0f……1e…
…1e… …1d……0b……1d… …1c……0b……1c……0e……1c……0f……1c……05……1c……06……1b……0d……1b……0f……1b……00……1b……86…1 …02… …02… …02…
…02…CPS/SDS/030
…02…841012…02……02…
STORAGE AND RETRIEVAL
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS
1̲ ̲ ̲G̲E̲N̲E̲R̲A̲L̲
1.1 P̲U̲R̲P̲O̲S̲E̲ ̲A̲N̲D̲ ̲S̲C̲O̲P̲E̲
The Package Specification for Storage and Retrieval
Package (SAR) CPS/SDS/007 is written to fulfil the
following objectives:
1) To provide detailed definition of the package function
and software architecture.
2) To provide user operational and development personnel
details of the ongoing analysis.
3) To define in detail the interfaces with other packages
and to describe their facilities.
The specification contains a description of the package
to a level of a few software statements as lowest level.
Higher level design specification can be found in the
document system design listed in the next section,
applicable documents.
All interfaces and data are described in this specification
and contained in the software Interface Control Document
and Database Design Document respectively.
1.2 A̲P̲P̲L̲I̲C̲A̲B̲L̲E̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲S̲ ̲A̲N̲D̲ ̲P̲R̲O̲J̲E̲C̲T̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲
1.2.1 A̲p̲p̲l̲i̲c̲a̲b̲l̲e̲ ̲D̲o̲c̲u̲m̲e̲n̲t̲s̲
The following documents represent a baseline for this
specification:
(1.1) CPS/210/SYS/0001
CAMPS System Requirements
(1.2) CPS/SDS/001
CAMPS System Design Specification
(1.3) CPS/SDS/024
CAMPS System Function
(1.4) CPS/SDS/025
Message Management
(1.5) CPS/SDS/029
System Status and Control
(1.6) CPS/SDS/032
Logging
(1.7) CPS/SDS/033
Traffic Handling
(1.8) CPS/SDS/034
Message Distribution Package
(1.9) CPS/SDS/036
Terminal Package
(1.10) CPS/SDS/035
TEP Supervisor VDU Package
(1.11) CPS/SDS/039
TEP VDU User Package
1.2.2 P̲r̲o̲j̲e̲c̲t̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
Reference documents are as follows:
(2.1) CPS/230/ICD/0001
User Procedures and Associated Formats
(2.2) CPS/230/ICD/002
Supervisor Commands and Procedures
(2.3) CPS/ICD/009
Software Interface Control Document
(2.4) CPS/DBD/001
Database Design Document
1.3 T̲E̲R̲M̲S̲ ̲A̲N̲D̲ ̲A̲B̲B̲R̲E̲V̲I̲A̲T̲I̲O̲N̲S̲
1.3.1 T̲e̲r̲m̲s̲
Dump: Transferring messages and transactions
from on-line disk to off-line disk.
Off-Line Disk: Disk volume used for storage of messages
and transactions.
Cross Office
Delay: Time from the creation of a message
to the departure from the site or
time of reception on the site until
presentation on terminal position.
Interleaving: Interruption at SAR functions i.e.
off-line retrieval and dump.
1.3.2 A̲b̲b̲r̲e̲v̲i̲a̲t̲i̲o̲n̲s̲
ISQ Incoming Storage Queue
RRQ Retrieval request Queue
FIFO First In First Out
QEL Queue Element
OROF Off-Line Retrieval Off
ORON Off-Line Retrieval On
ORSU Off-Line Retrieval Suspended
VOCL Volume Control List
VOIL Volume Identification List
VONM Volume Naming
VODL Volume Deletion
SCQ Supervisor Command Queue
MAQ Mount Acknowledge Queue
DCQ Dump Command Queue
CIF CAMPS Information Field
APP Application
TD Terminal Designator
PD Preliminary Design
SP.PD Sub-Package Preliminary Design
MMS Message Management System
IS Intermediate Storage
PRI Primary
2̲ ̲ ̲S̲U̲M̲M̲A̲R̲Y̲ ̲O̲F̲ ̲R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲S̲
This chapter includes the requirements pertinent to
SAR at package level.
2.1 P̲A̲C̲K̲A̲G̲E̲ ̲D̲E̲S̲C̲R̲I̲P̲T̲I̲O̲N̲
2.1.1 G̲e̲n̲e̲r̲a̲l̲ ̲C̲o̲n̲c̲e̲p̲t̲
SAR provides functional capabilities for on-line storage
of all incoming and outgoing messages in an intermediate
storage (up to a few days depending on traffic and
assigned disk space and allowed fill level). After
that, the CIFs are kept for a period of at least 30
days on offline disk volumes (long term storage).
SAR supports retrieval of CIFs from the intermediate
storage within a specified time limit.
Retrieving off-line is possible within a time limit
to be specified measured from when off-line volume
is mounted. The functions carried out by SAR are then:
- Retrieve on-line
- Store on-line
- Store off-line
- Retrieve off-line
2.1.1.1 O̲n̲-̲L̲i̲n̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲
The on-line CIFs handled by SAR are on-line resident
24 hours or more. On-line storage is characterized
by the fact that no mounting of physical media is required
to retrieve the CIF. Actual time span for on-line storage
is in the order of days.
2.1.1.2 O̲f̲f̲-̲L̲i̲n̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲
An off-line storage process is carried out by dumping
CIF to an off-line volume, when they have been on-line
resident 24 hours or more. Off-line storage may require,
that a media must be loaded prior to retrieval.
2.1.1.3 S̲u̲b̲j̲e̲c̲t̲ ̲t̲o̲ ̲S̲t̲o̲r̲a̲g̲e̲
Data for storage and retrieval are operational and
service messages except for the categories: security
classification CTS, special handling ATOMAL and any
encrypted message. Further data messages are stored
only for reruns. The CIFs for on-line storage are
as follows:
First draft, Released messages, Incoming analysed +
possible corrected messages, Release notifications
and Comment submitted.
2.1.1.4 S̲t̲o̲r̲a̲g̲e̲ ̲a̲n̲d̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲K̲e̲y̲s̲
The CIFs for storage are catalogued under a combination
of the keys: TOC (time of occurrence), DTG (release),
ORIG. HQ., ITEM REF ID, CHANNEL ID, CHANNEL SERIAL
NUMBER, STATION ID, STATION SERIAL NUMBER, FILE TIME,
SICs. Retrieval of the CIFs is achieved by combining
the search keys depending on the category of CIF.
2.1.1.5 R̲e̲t̲r̲i̲e̲v̲a̲l̲
Retrieval of stored CIF using a combination of the
previous mentioned key can be achieved from both on-line
or off-line storage media.
2.1.1.5.1 O̲n̲-̲L̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
The on-line disk contains the on-line CIFs which can
be retrieved to a terminal position which has already
gained knowledge of the CIF by either having prepared
it or previously received it. Exception is that the
supervisor can retrieve all stored information.
2.1.1.5.2 O̲f̲f̲-̲L̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
The off-line CIFs reside on a number of off-line volumes
which are mounted when an off-line retrieval process
is in progress.
2.2 P̲A̲C̲K̲A̲G̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲S̲
The next two sub-sections 2.2.1 and 2.2.2 contain a
functional description under normal operations and
special circumstances respectively.
2.2.1 M̲a̲i̲n̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲
Main functions included in SAR are:
- on-line storage
- off-line storage (DUMP)
- on-line retrieval
- off-line retrieval - performing
supervisor
commands
- message deletion
2.2.1.1 O̲n̲-̲L̲i̲n̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲
Storage on-line means storage on intermediate storage
of CIFs which have completed processing. The six categories
of items for storage are stored according to the events
listed below:
Incoming Messages.
Storage after succesful passing analysis including
possible correction by message service.
Released Messages
Storage when the positive release decision has been
given by the releasing officer.
First Draft
Storage after completion of new message preparation
format A.
Comments
Storage after completion of new comment preparation
format G1.
Release Notifications
Storage after completion of the release decision
Log CIFs
Storage after completion of a log CIF, i.e. every 10
minutes or when log CIF gets full or when requested
by the supervisor.
The packages responsible for the above mentioned actions
initiate a storage process as described next.
During step 1a-d, the application modules request SAR
to initiate a storage process by queuing a request
in the incoming storage queue (ISQ). The on-line catalogue
is updated for each storage process with a new entry
(2) and upon this completion, SAR requests MMS to store
the respective item by issuing a STORE ITEM command
(3) with input parameter View Reference. The on-line
storage process is depicted overleaf in figure 2.2.1.1-1.
FIGURE 2.2.1.1-1
ONLINE STORAGE
2.2.1.2 O̲f̲f̲-̲L̲i̲n̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲ ̲(̲D̲u̲m̲p̲)̲
The communication during an off-line dump is carried
out as shown on figure 2.2.1.2-1. Incarnation is invoked
by either MMS (1a) Supervisor operator (2) or by SAR
itselft. MMS sends an intermediate storage warning
to SAR. Supervisor (TEP) sends a perform dump command
until time specified to SAR. SAR initiates the dump
when one of the catalogue files exceed a threshold
value. The on-line catalogue is consulted to determine
which CIFs to dump (3a) (3b) according to the TOC field
in each CIF entry. Dumping the CIFs are carried out
sectionwise through the following sequence of actions:
- Dump CIF command for MMS (3c)
- Dump CIF completion code for SAR (3d)
- Update off-line catalogue (3e)
- Update on-line catalogue (3f)
- Clear item command for MMS (3g)
Total completion of the dump process is acknowledged
to TEP (supervisor) report printer (3h).
FIGURE 2.2.1.2-1
OFFLINE STORAGE (DUMP)
2.2.1.3 R̲e̲t̲r̲i̲e̲v̲a̲l̲
Refer figure 2.2.1.3-1.
Retrieval of the previously stored information takes
place from either on-line volume or off-line by placing
a retrieve command in the retrieve request queue (RRQ)
of SAR, which then returns one out of three things
to the requesting application.
a) A view ref. referencing the retrieved CIF
b) Completion code telling the reason for improper
completion
c) Catalogue information for display
2.2.1.3.1 O̲n̲-̲L̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
a) R̲e̲t̲u̲r̲n̲i̲n̲g̲ ̲a̲ ̲V̲i̲e̲w̲ ̲R̲e̲f̲.̲
After reception and detection of an on-line retrieval
command (1a), the on-line catalogue is consulted
to determine the CIF-id and view-id corresponding
to the retrieval key parameters (1b). A RETRIEVE
CIF command with CIF-id and view-id as input parameter
is delivered to MMS (1c). MMS returns a view ref.
referencing the generated temporary CIF (1d) which
is handled further on by SAR to requestor after
security and access check (1e).
b) R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲C̲o̲m̲p̲l̲e̲t̲i̲o̲n̲ ̲C̲o̲d̲e̲s̲
Improper completion of a retrieval procedure can
be caused by:
- Not found referenced CIF
Completion code is returned through step 1e.
c) C̲a̲t̲a̲l̲o̲g̲u̲e̲ ̲D̲i̲s̲p̲l̲a̲y̲
In case that a catalogue display is required the
on-line catalogue is consulted. The entries fulfilling
the retrieval key parameters are returned through
step 1e.
2.2.1.3.2 O̲f̲f̲-̲L̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
According to the TOC retrieval parameter an off-line
retrieval process is initiated. This is serviced at
a lower priority level than on-line retrieval and will
result in three different actions.
a) O̲r̲d̲i̲n̲a̲r̲y̲ ̲O̲f̲f̲-̲L̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
Ordinary off-line retrieval is carried out by requesting
the supervisor to mount a specified volume (2a)
if it is not allready mounted. Determination of
volume is done by consulting a table containing
information about time intervals on off-line volumes.
As for off-line storage a completion code is returned
(2b) telling that the volume cannot be mounted.
When mounted,the offline volume directory is opened
by the I/O system by the command LOOK-UP (2C).
SAR consults the directory for determination of
view-id of wanted CIF (2d). A RETRIEVE CIF command
is handed by SAR to MMS (2e), which returns the
previously mentioned view ref. (2f). This again
is passed to the calling application via its delivery
queue (2g) by SAR.
b) O̲f̲f̲-̲L̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲C̲o̲m̲p̲l̲e̲t̲i̲o̲n̲ ̲C̲o̲d̲e̲s̲
If the off-line volume cannot intermediately be
mounted, the application is acknowledged by a completion
code in its delivery queue (2g).
This completion code can as well tell that referenced
CIF not found or off-line retrieval intermediately
impossible. The need for a reduction in time interval,
because interval covers 2 volumes, is also acknowledged
back via completion codes.
c) O̲f̲f̲-̲L̲i̲n̲e̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲ ̲D̲i̲s̲p̲l̲a̲y̲
As for on-line retrieval the catalogue entries
corresponding to the retrieval search keys are
returned (2g).
FIGURE 2.2.1.3-1
RETRIEVAL
2.2.1.4 P̲e̲r̲f̲o̲r̲m̲i̲n̲g̲ ̲S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
The supervisor operator or TEP is able to conduct SAR
by use of a number of commands. The commands are such
as:
- off-line retrieval off
- off-line retrieval on
- off-line retrieval suspend
- initialize off-line volume
- abandon dump
- delete volume table entry
- get volume contents
- mount results
- dump
Off-line retrieval off sets the off-line retrieval
in off mode and future off-line retrievals are responsed
that off-line retrieval is off.
Off-line retrieval on sets the off-line retrieval in
on mode after it has been either turned off or suspended.
Off-line retrieval suspend sets the off-line retrieval
in a suspend mode where off-line retrieval requests
are still been queued. A possible later off-line retrieval
on command initiates the off-line retrieval function
again.
Initialize off-line volume command, requests SAR to
create and initialize files used on the off-line volume.
2.2.1.5 M̲e̲s̲s̲a̲g̲e̲ ̲D̲e̲l̲e̲t̲i̲o̲n̲
SAR handles the deletion of released messages and first
draft the following way. TEP sends a retrieval request
of type deletion to SARs retrieval queue. SAR searches
through the catalogue to find a matching entry. If
match is found the deletion field of the entry is set
and completion code returned to requesters return queue.
The deletion search is performed the same way as the
retrievel search.
The first entry corresponding to deletion request keys
will be marked as deleted.
2.2.2 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲R̲e̲s̲p̲o̲n̲s̲i̲b̲i̲l̲i̲t̲i̲e̲s̲
Functional responsibilities included in the storage
and retrieval package are specified in the next paragraphs.
2.2.2.1 I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲,̲ ̲C̲l̲o̲s̲e̲ ̲D̲o̲w̲n̲,̲ ̲a̲n̲d̲ ̲R̲e̲s̲t̲a̲r̲t̲
2.2.2.1.1 I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲
Initialization is performed when a DEAD1, DEAD2 or
COLD startup command is received from SSC.
The SAR action taken is as follows:
- lookup of on-line catalogue files
- resetting of catalogue files
- load files with zeroes
- load memory resident catalogue header with initial
values
- copy catalogue header to disk
- resetting of volume table file
- initialization of coroutines
- initialization of semaphores
- initialization of operations.
After this initialization each of the incarnated coroutines
performs their own specific initiation before entering
their waiting points.
The startup actions for the different coroutines are
for:
O̲n̲-̲l̲i̲n̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲
- request 1 minute timeout
- initialization of storage counters
- copy disk resident catalogue header to memory
O̲n̲-̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
N/A
W̲i̲n̲d̲o̲w̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
N/A
O̲f̲f̲-̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
Offline retrieval is set off.
D̲u̲m̲p̲
N/A
S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
- Request of MMS threshold
- Off-line disk status is set mounted.
2.2.2.1.2 C̲l̲o̲s̲e̲-̲D̲o̲w̲n̲
Close-down of SAR is performed this way. SAR will operate
normally until close-down command from SSC is received.
SAR enters then a state where storage no longer is
possible.
2.2.2.1.3 R̲e̲s̲t̲a̲r̲t̲
For the WARM1 and WARM2 startup types the checkpointed
QEL's in ISQ are reestablished so all pending storage
requests will be performed.
The SAR actions taken are then:
- lookup of on-line catalogue files
- copy catalogue header to disk
- copy volume table file to disk
- initialization of coroutines
- initialization of semaphores
- initialization of operations.
The different coroutines actions are for:
O̲n̲-̲l̲i̲n̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲
- as for DEAD1, DEAD2 and COLD
The disk resident TOC ̲FILE ̲ON data area is supplied
with entries corresponding to the time interval missing.
As application time cannot go backwards exactly one
entry will be supplied for each minutes elapsed.
If CAMPs time is set forward entries will be supplied
corresponding to time adjusted.
O̲n̲-̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
N/A
W̲i̲n̲d̲o̲w̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
N/A
O̲f̲f̲-̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
As for DEAD1, DEAD2 and COLD
D̲u̲m̲p̲
If dump was in progress when close down command was
performed, copy of DUMP ̲DISK ̲COPSY file to SAR ̲TOC
̲FILEON will take place.
S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
As for DEAD1, DEAD2 and COLD
2.2.2.2 C̲h̲e̲c̲k̲p̲o̲i̲n̲t̲i̲n̲g̲ ̲a̲n̲d̲ ̲R̲e̲c̲o̲v̲e̲r̲y̲
2.2.2.2.1 C̲h̲e̲c̲k̲p̲o̲i̲n̲t̲i̲n̲g̲
Storage requests for SAR are checkpointed i.e. ISQ
QELs are checkpointed at their arrival to queue and
released when storage procedure has terminated.
2.2.2.2.2 R̲e̲c̲o̲v̲e̲r̲y̲
Recovery of SAR is requested by SSC. SSC specifies
which kind of recovery to be performed. Recovery actions
performed are described in CPS/SDS/001 figure 5.10.1.2.1.3-1.
2.2.2.3 E̲r̲r̲o̲r̲ ̲D̲e̲t̲e̲c̲t̲i̲o̲n̲ ̲a̲n̲d̲ ̲E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
2.2.2.3.1 E̲r̲r̲o̲r̲ ̲D̲e̲t̲e̲c̲t̲i̲o̲n̲
Errors detected by SAR are of the following types:
- Errors in storage keys during storage of messages
and transactions
- Disk write and read errors.
- Error code received during CSF section dump
- QMON delivery error
- Software errors
2.2.2.3.2 E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
The previous mentioned detected errors (refer 2.2.2.3.1)
are handled in the following way, described in the
same order as they are detected.
- Storage request and retrieval keys are delivered
to SSC error queue.
- Read error or write error on the mirrored online
disks is reported to SSCs error queue. All running
SAR function will be stopped immediately.
- Read error or write error on offline disk is reported
to SSCs error queue.
Currently running SAR function is terminated.
- Error handling, caused by failure in volume name
in CSF section dump command is to complete dump
as normal with a report to supervisors report printer.
Refer to 4.2.4.4 for details.
- Failure in delivery of CIF via QMON (security access
failure) will have the effect that delivery of
CIF is cancelled.
- Detection of a software error causes SAR to report
this to SSC. Subsequent reply acknowledges SAR
of what to do. The following actions may be taken
depending of answer:
- initialization subsequent to a switch-over
- continuing in dummy mode
2.2.2.4 I̲n̲t̲e̲g̲r̲i̲t̲y̲ ̲o̲f̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
During catalogue update, boundary and syntax check
is performed to ensure integrity of catalogues.
2.2.2.5 D̲a̲t̲a̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲
SAR performs data collection of the storage keys used
as entries in the catalogues. The storage request QEL
contains a reference to the CIF where the actual key
are fetched from.
2.2.2.6 S̲e̲c̲u̲r̲i̲t̲y̲
SAR security is related to the retrieval function.
The classification check of delivered classification
against CIF classification is performed by SAR. Failure
in security validation results in not found completion
code returned to requestor.
During catalogue search entries are filtered according
to classification delivered by the request. Entries
fulfilling retrieval key search are appended to a CIF.
CIF is sent with classification corresponding to highest
classification of the appended entries.
2.3 C̲H̲A̲R̲A̲C̲T̲E̲R̲I̲S̲T̲I̲C̲S̲
2.3.1 T̲i̲m̲i̲n̲g̲
2.3.1.1 R̲e̲s̲p̲o̲n̲s̲e̲ ̲T̲i̲m̲e̲ ̲t̲o̲ ̲Q̲u̲e̲r̲i̲e̲s̲
Response time for TEP requesting storage of first draft,
released messages, new comments and release notifications
is less than 100 msec.
Retrieval response time is for return of on-line/off-line
notification
- 100 msec for TOC/TOC-window retrieval
- 4 sec (maybe up to 30 sec) for DTG retrieval.
For TOC/TOC-window, this response time consists of
the following components:
- SAR reception of request 20msec
- FMS transfer of PRI or DTG catalogue
memory 50msec
- SAR consultation of volume table
and until QEL send 30msec
For DTG retrieval, this response time
consists of the following components:
- SAR reception of request 50msec
- FMS transfer of PRI or DIG catalogue 50msec
main memory max.
- SAR consultation of volume table
and until QEL send 1,5 sec
Return of on-line retrieval results:
- General: below 10 seconds
(in 90% of all cases) and
max 30 seconds (in 10% of all cases)
MMS 1 sec
- TOC-window search: 30 sec + 1 min. per busy hour
traffic scan
- Pending requests: time as specified above + time
to complete other requests.
Return of off-line retrieval results:
- General: less than 4 min.
- Pending requests: time as specified above + time
to complete other retrievals, on-line or off-line.
2.3.1.2 R̲e̲s̲p̲o̲n̲s̲e̲ ̲T̲i̲m̲e̲ ̲t̲o̲ ̲D̲u̲m̲p̲
Response time from intermediate threshold is exceeded
or the supervisor initiation of dump to dump completed
consists of following components:
- SAR detection of request,
MMS or supervisor, until
possible disk mount request 50 m sec
- physical disk mount 10 min
- check of mounted volume 5 m sec
- section dump SAR part 100 m sec
MMS part 11 sec
- complete SAR and MMS
dump, 24 hour traffic, max 45 min
- terminate dump 100 m sec
2.3.1.3 P̲r̲i̲o̲r̲i̲t̲i̲e̲s̲ ̲R̲e̲l̲a̲t̲e̲d̲ ̲t̲o̲ ̲I̲n̲p̲u̲t̲
Storage requests are serviced independently of other
SAR operations in a FIFO manner.
Retrieval Request
On-line retrieval requests are treated with higher
priority than off-line retrieval requests. On-line
requests are serviced as FIFO.
Off-line retrievals requests are serviced depending
on mounted volume.
All requests for the currently mounted volume is serviced
first. Dump and off-line retrievals are serviced in
the order in which requests are issued.
2.3.1.4 T̲r̲a̲f̲f̲i̲c̲ ̲L̲o̲a̲d̲
Traffic load related to each of the sub-packages are:
S̲t̲o̲r̲a̲g̲e̲
Main memory data size: 3k words
CPU time one storage: 2 m sec
I/Os: 2 per storage
O̲n̲-̲L̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
On-line catalogue size per day: 1 mega
byte
CPU time per retrieval: 100 m sec
I/Os per per retrieval max: 10
O̲f̲f̲-̲L̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
Off-line catalogue size per day: 1 mega
byte
CPU time per retrieval: 300 m sec
I/Os per retrieval max: 20
D̲u̲m̲p̲
CPU time per dump: 5 min
I/Os per dump: 10
S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲
CPU time per command max: 2 m sec
I/Os per command max: 1
Max. numbers of CIFs dumped covering a 24 hours period
are 4500 messages and transactions.
2.3.1.5 I̲n̲t̲e̲r̲l̲e̲a̲v̲i̲n̲g̲ ̲S̲A̲R̲
Interleaving storage has no effect as storage queue
is checkpointed and fully recovered.
On-line or off-line retrievals pending and ongoing
are cancelled if SAR is interleaved.
Interleaving dump will have the effect that last section
procedure in progress shall be re-initiated.
Interleaving supervisor commands cause the command
to be re-incarnated.
2.3.2 T̲h̲r̲o̲u̲g̲h̲p̲u̲t̲
The throughput of storage requests is in the order
of 50 storage requests per busy minute traffic load
or uptil 10.000 storage requests per 24 hours.
2.3.3 F̲l̲e̲x̲i̲b̲i̲l̲i̲t̲y̲
The requirements and limitations upon introducing new
storage key and types are:
A new record description shall be included. The length
shall be limited to two entries of length 64 bytes
each.
2.3.4 A̲c̲c̲u̲r̲a̲c̲y̲ ̲o̲f̲ ̲I̲n̲p̲u̲t̲ ̲D̲a̲t̲a̲
Input data delivered in conjunction with an on-line
storage are validated. Retrieval key parameters are
not checked by SAR, as TEP performs the parameter validation
during format validation.
3̲ ̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲
3.1 E̲Q̲U̲I̲P̲M̲E̲N̲T̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲
The Storage and Retrieval Package is fully on-line
resident in CAMPS processing units. One process includes
all SAR functions.
Main memory data area size is 8 k words.
On-line disk catalogue area size is 1 mega byte.
Off-line disk catalogue area size per volume is 8 mega
bytes.
Detailed memory layout can be found in 4.3.
3.2 S̲O̲F̲T̲W̲A̲R̲E̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲
3.2.1 S̲y̲s̲t̲e̲m̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲
SAR's system software environment consists of the following
components:
- DAMOS
- CAMPS System Functions
- Message Management System
- File Management System
3.2.2 D̲e̲v̲e̲l̲o̲p̲m̲e̲n̲t̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲
Development software is standard DAMOS and TOS (Terminal
Operating System) resident in a single CR80D configuration.
3.3 I̲N̲T̲E̲R̲F̲A̲C̲E̲S̲
3.3.1 E̲x̲t̲e̲r̲n̲a̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
Not applicable to SAR.
3.3.2 P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
Package interfaces are described next according to
function performed by SAR. Detailed description of
interface can be found in paragraph 4. Figure 3.3.2-1
shows the interface overview diagram. Numbers refer
to sub-sections below.
3.3.2.1 S̲t̲o̲r̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Applications contributing with storage keys during
storage of message and transactions are:
- traffic handling package (THP)
- terminal package (TEP)
- message distribution package (MDP)
Further log issues storage requests for storage of
log CIFs, so 4th contributer:
- log package (LOG)
3.3.2.2 O̲n̲-̲L̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
During on-line retrieval terminal package (TEP) issues
retrieval requests and receives the retrieval result.
3.3.2.3 O̲f̲f̲-̲L̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
TEP issues off-line retrieval requests and receive
the result again. In between a possible disk mount
communicaton has taken place. During this, SAR sends
mount request to TEP's report printer. Upon mount completion
or mount refuse, SAR is acknowledged by TEP.
3.3.2.4 D̲u̲m̲p̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The dump interface is to MMS CSF and TEP. MMS and TEP
initiate the dump procedure automatically or manually
respectively. During section dump communication to
MMS is achieved. A disk mount communication to TEP
may be carried out, as described under off-line retrieval.
TEP receives the dump completed report for the report
printer when dump is terminated.
3.3.2.5 S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Supervisor commands are received from TEP. A possible
answer is returned to TEP. SSC and close-down information
is interchanged too via this interface.
FIGURE 3.3.2-1
INTERFACE OVERVIEW DIAGRAM
3.4 F̲U̲N̲C̲T̲I̲O̲N̲S̲ ̲M̲A̲I̲N̲T̲A̲I̲N̲E̲D̲ ̲B̲Y̲ ̲O̲T̲H̲E̲R̲ ̲P̲A̲C̲K̲A̲G̲E̲S̲
The following functions are maintained by other packages
than SAR.
- Security classification check by QMON upon delivery
of retrieved CIF
- Checkpointing of storage requests by CSF
- Recovery functions by SSC upon restart
- Report collection or error report by SSC
- Error handling by SSC
4̲ ̲ ̲P̲A̲C̲K̲A̲G̲E̲ ̲D̲E̲S̲I̲G̲N̲
The package design of SAR is presented in chapter 4.
Section 4.1 presents the package overview and section
4.2 the subpackage specification.
4.1 P̲a̲c̲k̲a̲g̲e̲ ̲O̲v̲e̲r̲v̲i̲e̲w̲
SAR is an application package performing the storage
and retrieval of messages and transactions.
4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲
The main functions performed by SAR are:
- storage of messages and transactions on-line
- on-line retrieval of messages and transactions
- off-line retrieval of messages and transactions
- dump of messages and transactions to off-line disk
- performing supervisor commands.
Overleaf is shown an overview diagram of the functional
specifications.
SAR consists of five subpackages each performing one
of the above mentioned functions.
FIGURE 4.1.1-1
FUNCTIONAL SPECIFICATIONS
4.1.1.1 S̲t̲o̲r̲a̲g̲e̲ ̲o̲f̲ ̲M̲e̲s̲s̲a̲g̲e̲s̲
The storage of messages and transactions function is
performed by a STORE Subpackage. This coroutine identifies
the store subpackage.
Main functions performed by this coroutine are:
- waiting for storage requests in the incoming storage
queue.
- identification of QEL and pick up of retrieval
key for temporary storage.
- emptying of temporary storage when either a certain
time interval has elapsed or a certain number of
storage requests has been received.
- appending temporary storage area to on-line catalogue.
- actual storage of message text by request to message
management system (MMS).
4.1.1.2 O̲n̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
The on-line retrieval sub-package handles the retrieval
of message and transactions from the on-line disk.
Retrieval requests are received from the retrieval
requests queue (RRQ) and treated in an FIFO manner.
The retrieval requests are sorted in TOC + DTG retrievals,
TOC-window retrievals and OFFLINE retrievals and inserted
in corresponding list. Corresponding coroutines handling
the above mentioned retrieval types perform the 3 retrieval
types.
For online DTG retrieval which results in the not found
completion code, the request is inserted in the offline
list if DTG is contained in DTG intervals for the offline
volumes.
The message or transaction corresponding to the retrieval
keys is retrieved using MMS. Finally it is returned
to requestor via a queue element (QEL) referencing
the message or transaction. Marking the catalogue
entries as deleted is performed by the subpackage for
achieving the on-line message deletion function.
4.1.1.3 O̲f̲f̲-̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
Off-line retrieval requests inserted in the offline
list are handled by this subpackage, the same way as
on-line retrievals are handled by the on-line retrieval
subpackage. A number of additional facilities are performed
too. Mount requests for off-line disk are delivered
to supervisor's report printer. Reception of result
of mount request in form of a mount performed or mount
refused, is handled by the supervisor command sub-package,
which delivers the acknowledgement further on to the
off-line retrieval sub-package.
The off-line retrieval sub-package performs the same
deletion mechanism on off-line messages as the on-line
sub-package on on-line messages..
If offline retrieval is of type DTG retrieval and the
result shows not found, the request remains in the
offline list, if DTG is contained in the DTG interval
of the suceeding volume.
4.1.1.4 D̲u̲m̲p̲
Dump performs the transfer of messages and transactions
from on-line disk to the off-line. Incarnation is acheived
by either MMS, TEP, or SAR. MMS requests that, that
intermediate storage threshold is exceeded and complete
area shall be transferred to the off-line disk. TEP
command requests that storage area shall be emptied
until time specified in command. SAR initiates the
dump when catalogues exceed a certain threshold. The
dump requests, from either TEP or MMS, are received
by the supervisor command sub-package. This package
controls the initiation of dump and abandon of dump
as described later. During dump the on-line storage
area is gradually emptied as follows:
On-line catalogue is consulted for determination of
a number of messages and transactions to transfer.
MMS is requested to achieve the actual transfer. Off-line
catalogue is updated according to transferred messages
and transactions. Corresponding on-line entries are
removed. Finally, the on-line storage area is cleared
for the messages and transactions moved. This sequence
is repeated, until all messages and transactions belonging
to the dump time window are transferred.
After total dump procedure, MMS is advised that dump
is completed. A terminate dump command with dump file
ref. as parameter invokes this action.
Further a report to supervisors report printer is sent,
acknowledging that dump is performed until specified
time.
4.1.1.5 P̲e̲r̲f̲o̲r̲m̲ ̲S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
A number of supervisor utilities are performed by this
sub-package.
Off-line retrieval off (OROF) stops the off-line retrieval
function if the off-line retrieval has been in progress.
The off-line retrieval requests waiting are deleted
and requestors are given acknowledgement that off-line
retrieval is intermediately impossible.
Off-line retrieval on (ORON) informs SAR that off-line
retrieval shall be restarted.
Off-line retrieval suspended (ORSU) informs SAR that
off-line retrieval shall be stopped as for OROF, but
requests are still queued for later achievement.
Command VOLI causes the volume table to be returned
in a CIF to supervisors report printer queue SPIP ̲REPQ
Command VODL, "vol-id" deletes the specified entry
in the volume table.
Command close-down performs the necessary close-down
actions.
The VOLI and VODLcommands are valid for both the current
volume and all others.
Command ABOL interrupts the offload procedure whereafter
the catalogues will be rearranged to the same state
as before the dump command.
Initialize volume prepares the off-line dump volume
with new dump files and status information. The volume
in question is new volume to be used for dump.
4.1.2 S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲
SAR is mapped onto one process consisting of a number
of coroutines.
The on-line retrieval sub-package consists of 2 coroutines:
- the registration and TOC ̲DTG retrieval coroutine
and
- the TOC ̲WINDOW retrieval coroutine.
The off-line retrieval sub-package consists of one
coroutine.
The dump sub-package consists of only one coroutine.
The supervisor command sub-package consists of only
one coroutine.
Figure 4.1.2-1 depicts the overall software structure
of the package.
FIGURE 4.1.2-1
PACKAGE SOFTWARE STRUCTURE, COROUTINES
4.1.3 D̲a̲t̲a̲ ̲F̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲
Control of the package is achieved for monitoring the
different activities and for monitoring the different
coroutines access to shared data area. The control
logic following next will describe the shared data
area access and the activity control.
4.1.3.1 D̲a̲t̲a̲ ̲A̲r̲e̲a̲ ̲A̲c̲c̲e̲s̲s̲
Included in this category of data areas are:
- on-line catalogue
- volume table
4.1.3.1.1 O̲n̲-̲l̲i̲n̲e̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲
This on-line catalogue is shared between on-line storage
coroutine, TOC ̲DTG retrieval coroutine, TOC ̲WINDOW
coroutine and the dump coroutine.
Catalogue is protected by the two semaphores:
- ONLINE ̲CAT ̲SEM and
- ONL ̲CAT ̲HEADER ̲SEM
The ONLINE ̲CAT ̲SEM protects the on-line catalogue when
the retrieval coroutines searches the catalogue and
when the dump coroutine empties the on-line catalogue
during dump.
The ONL ̲CAT ̲HEADER ̲SEM protects the header of the on-line
catalogue. This area is accessed by the on-line storage
and by dump when the header information is updated
after every dump.
Figure 4.1.3.1.1-1 shows the involved coroutines and
actions causing the semaphore protection.
A copy of the on-line catalogue header resides in memory.
This memory header is copied to disk when modified
by the on-line storage subpackage or dump subpackage.
FIGURE 4.1.3.1.1-1
ON-LINE CATALOGUE CONTROL
Semaphore actions:
1: The ONLINE ̲CAT ̲SEM is reserved when the TOC ̲DTG
retrieval is initiated and released when the retrieval
is completed.
2: The ONLINE ̲CAT ̲SEM is reserved when the TOC ̲WINDOW
retrieval is initiated and released when the retrieval
is completed. The semaphore is initialized to the
value 2, so both retrieval can take place concurrently.
3: The ONLINE ̲CAT ̲SEM is reserved twice when the dump
coroutine consults the catalogue during each section
dump. Catalogue is released again after the up-date
of the on-line volume header.
4: The ONL ̲CAT ̲HEADER ̲SEM is reserved by dump coroutine
when the catalogue header information is updated
after the complete dump procedure. Semaphore is
released after the header update has completed.
5: The ONL ̲CAT ̲HEADER ̲SEM is reserved by the on-line
storage coroutine when the on-line catalogue header
information is updated, after the new entries have
been appended. Released again when pointers and
counters have been updated to reflect the extended
catalogue.
6: The ONL ̲CAT ̲HEADER ̲SEM is reserved by the TOC ̲WINDOW
coroutine before a TOC ̲WINDOW retrieval is initiated.
The header information can now be read so catalogue
addresses can be determined. Semaphores are released
again after this address determination.
7: The same procedure is valid for the TOC ̲DTG retrieval
coroutine as in action description 6.
4.1.3.1.2 V̲o̲l̲u̲m̲e̲ ̲T̲a̲b̲l̲e̲
The volume table is shared between the TOC ̲DTG retrieval
coroutine, TOC ̲WINDOW retrieval coroutine, off-line
retrieval coroutine, dump coroutine and the supervisor
command coroutine.
Volume table is protected by use of the semaphore
- VOLUME ̲TABLE ̲SEM
when the above mentioned coroutines access the table.
Figure 4.1.3.1.2-1 shows the semaphore and the involved
coroutines.
A copy of the volume table resides in memory.
This memory volume table is copied to disk when up-dated
by the dump subpackage.
FIGURE 4.1.3.1.2-1
VOLUME TABLE CONTROL
Semaphore actions:
1: The TOC ̲DTG retrieval coroutine reserves the VOLUME
̲TABLE ̲SEM while the coroutine accesses the table.
This happens if it shall be examined if a DTG shall
be inserted in the off-line retrieval list.
2: The retrieval registration coroutine reserves the
VOLUME ̲TABLE ̲SEM while the volume name related
to an off-line retrieval is determined.
3: The dump coroutine reserves the VOLUME ̲TABLE ̲SEM
after the dump procedure while the volume table
is updated to correspond to the new off load intervals.
4: The supervisor command coroutine reserves the VOLUME
̲TABLE ̲SEM when coroutine accesses the table during
command execution.
5: The off-line retrieval coroutine reserves the VOLUME
̲TABLE ̲SEM during access of table. Table is consulted
during DTG retrieval execution for examination
of possible relation to next older off-line volume.
4.1.3.2 A̲c̲t̲i̲v̲i̲t̲y̲ ̲C̲o̲n̲t̲r̲o̲l̲
The inter package coroutine control is described next
emphazising the inter sub-package control.
4.1.3.2.1 O̲f̲f̲-̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲R̲e̲g̲i̲s̲t̲r̲a̲t̲i̲o̲n̲
Activity control interface is between the on-line retrieval
registration coroutine and the off-line retrieval
coroutine. The on-line retrieval registration coroutine
uses 1 operation associated to the semaphores OFFL
̲IN ̲SEM and ONL ̲OFFL ̲RETR ̲EMPTY ̲SEM.
1: OFFL ̲IN ̲SEM is used to advice the off-line retrieval
coroutine that an off-line retrieval request is
queued for being performed. The associated operation
contains all relevant retrieval key information
to be used by the off-line retrieval coroutine.
2: ONL ̲OFFL ̲RETR ̲EMPTY ̲SEM returns the associated
used operations from the off-line retrieval coroutine
to the on-line registration coroutine.
Figure 4.1.3.2.1-1 presents the coroutines and involved
semaphores and associated operations.
FIGURE 4.1.3.2.1-1
OFF-LINE RETRIEVAL REGISTRATION
3: OFFL ̲RETR ̲COUNTER is incremented each time a new
off-line retrieval request is queued, by use of
a new operation, to the off-line retrieval coroutine.
The counter is decremented after an off-line retrieval
has been completed by the off-line retrieval coroutine.
4.1.3.2.2 I̲n̲t̲e̲r̲n̲a̲l̲ ̲D̲u̲m̲p̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
This activity control interface is between the supervisor
command coroutine, which receives the dump commands,
and the dump coroutine which executes the commands.
The semaphores DUMP ̲IN ̲SEM and SUPV ̲IN ̲SEM and associated
operation together with the DUMP ̲INTERRUPT ̲FLAG constitutes
the control elements during dump.
Figure 4.1.3.2.2-1 presents the control elements.
The semaphore DUMP ̲IN ̲SEM and associated operation
communicates the dump commands from supervisor command
coroutine to the dump coroutine.
The semaphore SUPV ̲IN ̲SEM and associated operation
returns the previous operation from dump coroutine
to the supervisor command coroutine for a possible
later dump command.
The DUMP ̲INTERRUPT ̲FLAG is in case of an abandon offload
command set before the previously mentioned abandon
dump command is sent to the dump coroutine. The dump
coroutine checks the DUMP ̲INTERRUPT ̲FLAG before each
section dump to see if the dump procedure shall be
interrupted. The flag is cleared by the dump coroutine
before the command completion code is returned to the
supervisor coroutine via the SUPV ̲IN ̲SEM semaphore
and associated operation.
FIGURE 4.1.3.2.2-1
DUMP COMMAND CONTROL
4.1.3.2.3 E̲x̲t̲e̲r̲n̲a̲l̲ ̲S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
The external supervisor commands are associated to
the semaphore SUPV ̲IN ̲SEM. Commands in question are
commands received from the supervisor command queue
SCQ and MMS return calls (intermediate storage threshold
exceeded).
1: When the result of a previous GET THRESHOLD WARNING
command to MMS is returned to the supervisor command
coroutine, the semaphore SUPV ̲IN ̲SEM is associated
to this operation.
2: External supervisor commands from TEP are associated
the semaphore SUPV ̲IN ̲SEM.
Figure 4.1.3.2.3-1 presents this external supervisor
command control.
FIGURE 4.1.3.2.3-1
EXTERNAL SUPERVISOR COMMAND CONTROL
4.1.3.2.4 I̲n̲t̲e̲r̲n̲a̲l̲ ̲O̲f̲f̲-̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲
The control elements pertinent between the supervisor
command coroutine and the off-line retrieval coroutine
are:
- OFFL ̲IN ̲SEM semaphore
- SUPV ̲IN ̲SEM semaphore
- OFFL ̲RETR ̲INTERRUPT ̲FLAG
- OFFL ̲REPORT ̲EMPTY ̲SEM
Control actions:
1: The supervisor command coroutine sets the OFFL
̲RETR ̲INTERRUPT ̲FLAG when an off-line retrieval
shall be either suspended or turned off. The flag
is set before the command is sent to the off-line
retrieval package.
2: Following commands are communicated between the
supervisor command coroutine and the off-line retrieval
sub-package:
- INT ̲OFFL ̲OFF
- INT ̲OFFL ̲SUSP
- INT ̲OFFL ̲ON
- INT ̲OFFL ̲MOUNT ̲REFUSED
The commands are communicated by reserving the semaphore
OFFL ̲IN ̲SEM with the associated operation which contains
the command.
FIGURE 4.1.3.2.4-1
OFF-LINE RETRIEVAL COMMAND CONTROL
3: When the internal command, as listed in 2, has
been executed by the off-line retrieval coroutine,
the operation is returned with a response. This
is achieved by reserving the semaphore SUPV ̲IN
̲SEM with the previously mentioned, described in
2, operation.
4: When a mount request has been routed to the report
printer by the off-line retrieval coroutine or
failure during off-line retrieval has been discovered,
a report is sent to the supervisor coroutine. The
semaphore SUPV ̲IN ̲SEM is reserved and an associated
operation contains the mount request condition.
5: The supervisor returns the empty operation by reserving
the semaphore OFFL ̲REPORT ̲EMPTY ̲SEM. The operation
in question is the mount request as described in
4.
4.1.3.2.5 P̲a̲c̲k̲a̲g̲e̲ ̲A̲c̲t̲i̲v̲i̲t̲y̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲
The previously described control events use shared
semaphores and operations. Figure 4.1.3.2.5-1 presents
the overall control logic elements.
Semaphore OFFL ̲IN ̲SEM is shared between the 3 coroutines
on-line retrieval registration, off-line retrieval
and supervisor commands. On-line retrieval registration
signals the semaphore each time a free operation is
filled with new off-line retrieval keys.
Supervisor command signals the semaphore each time
one of the internal off-line retrieval commands is
sent to the off-line retrieval coroutine.
Off-line retrieval waits for the semaphore being activated
either by an off-line retrieval or a supervisor internal
command. After execution of the retrieval or command
the semaphore is signalled and waited again. If the
semaphore during the retrieval has been signalled a
number of times from both on-line registration and
supervisor command coroutines the semaphore is waited
exactly the same number of times. If a command has
signalled the semaphore this is executed first, otherwise
the off-line retrieval is executed.
FIGURE 4.1.3.2.5-1
PACKAGE MAIN CONTROL
Semaphore SUPV ̲IN ̲SEM is shared between the coroutines:
off-line retrieval, supervisor commands, on-line storage,
dump and external supervisor commands. The main function
of the semaphore is to control the activity of the
supervisor coroutine, so only one activity can be performed
at a time.
Off-line retrieval coroutine returns a previously given
command operation via this semaphore. Off-line retrieval
coroutine signals that a mount request report has been
issued. Dump coroutine returns a previously given dump
command operation via this semaphore. MMS package signals
an external dump command. On-line storage sends a catalogue
threshold warning to supervisor command via this semaphore.
TEP package signals an external supervisor command
operation in SARs supervisor command Queue.
4.1.4 C̲o̲m̲m̲o̲n̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲
Common internal package data shared among the 5 SAR
sub-packages are:
- on-line catalogue
- off-line catalogue
- volume table
- off-line retrieval operations
- disk status
- flags
- counters
- supervisor command operation
- dump operation
- report operation
- constant definitions
- storage report operation
- on-line volume header
- common package types
- supervisor printer report
- coroutine records
- coroutine semaphores
- window list operations
- MMS operation
- supervisor queue operation
- common package other data
4.1.4.1 O̲n̲-̲l̲i̲n̲e̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲
This consists of three files, namely:
- SAR ̲TOC ̲FILEON
- SAR ̲DTG ̲FILEON
- SAR ̲PRI ̲FILEON
The following sections include the structure of the
on-line disk resident catalogues i.e. type definitions
of the data types. The memory resident copy of the
TOC ̲FIL ̲ON header is defined in 4.4.4.13
4.1.4.1.1 S̲A̲R̲ ̲T̲O̲C̲ ̲F̲I̲L̲E̲O̲N̲
This contains a description part and a data part. Refer
figure 4.1.4.1-1. The description part contains following
data:
- VOLUME ̲NAME is the volume name for the currently
mounted on-line volume.
- OLDEST ̲TOC contains the oldest TOC, i.e. smallest
TOC, for the stored message on the online disk.
- YOUNGEST ̲TOC contains the youngest. i.e. largest
TOC, for the stored messages on the on-line disk.
- OLDEST ̲DTC contains the oldest DTG, i.e. smallest
DTG, for the stored messages on the online disk.
- YOUNGEST ̲DTC contains the youngest DTG, i.e. largest
DTG, for the stored message on the on-line disk.
- MAX ̲NO ̲IN ̲TOC contains the maximum number of entry
numbers in the data part at TOC ̲FILE ̲ON.
- OLDEST ̲NON ̲CLEARED ̲DTG ̲PRI.PHYS ̲ENTRY ̲NO pointing
to the first entry in both DTG ̲FILE ̲ON and PRI
̲FILE ̲ON which are non cleared.
- OLDEST ̲NON ̲CLEARED ̲DTG ̲PRI.ABS ̲ENTRY ̲NO contains
the absolute number of the oldest non cleared entry
in both DTG ̲FILE ̲ON and PRI ̲FILE ̲ON.
- MAX ̲NO ̲IN ̲PRI ̲DTG contains the max number of entries
in DTG ̲FILE ̲ON and PRI ̲FILE ̲ON
- MAX ̲START ̲TIME identifies the time for the last
CLEAR function call, i.e. time for termination
of last dump shall be set before CLEAR call with
time returned in the last DUMP ̲CIF ̲SEQUENCE
FIGURE 4.1.4.1-1
- FIRST ̲STILL ̲FOR ̲RETR ̲DTG ̲PRI.PHYS ̲ENTRY ̲NO, pointing
to the first entry for retrieval in both DTG ̲FILE
̲ON and PRI ̲FILE ̲ON.
- FIRST ̲STILL ̲FOR ̲RETR ̲DTG ̲PRI.ABS ̲ENTRY ̲NO contains
the absolute number of the first entry for retrieval
in both DTG ̲FILE ̲ON and PRI ̲FILE ̲ON.
- LAST ̲LOADED ̲DTG ̲PRI.PHYS ̲ENTRY ̲NO, pointing at
the last loaded entry in both DTG ̲FILE ̲ON and PRI
̲FILE ̲ON.
- LAST ̲LOADED ̲DTG ̲PRI.ABS ̲ENTRY ̲NO contains the absolute
number of the last loaded entry in both DTG ̲FILE
̲ON and PRI ̲FILE ̲ON.
- OLDEST ̲NON ̲CLEARED ̲TOC.PHYS ̲ENTRY ̲NO pointing to
the last non cleared entry in both DTG ̲FILE ̲ON
and PRI ̲FILE ̲ON.
- OLDEST ̲NON ̲CLEARED ̲TOC.TOC contains the time of
the oldest non cleared entry in PRI ̲FILE ̲ON.
- FIRST ̲STILL ̲FOR ̲RETR ̲TOC.PHYS ̲ENTRY ̲NO, pointing
to the first data entry in TOC ̲FILE ̲ON which is
retrievable.
- FIRST ̲STILL ̲FOR ̲RETR ̲TOC.TOC contains the TOC time
of the oldest entry in the TOC ̲FILE ̲ON.
- LAST ̲LOADED .PHYS ̲ENTRY ̲NO, pointing to the last
loaded entry in TOC ̲FILE ̲ON data part.
- LAST ̲LOADED.TOC contains the TOC time of the youngest
entry in the TOC ̲FILE ̲ON data part.
Data definition of TOC ̲FILE ̲ON header description part.
TYPE VOLUME ̲ENTRY ̲TYPE=
RECORD
VOLUME ̲ID : VOLUME ̲NAME ̲TYPE
OLDEST ̲TOC : TIME ̲TYPE
YOUNGEST ̲TOC : TIME ̲TYPE
OLDEST ̲DTC : TIME ̲TYPE
YOUNGEST ̲DTG : TIME ̲TYPE
END
TYPE CAT ̲DESCR ̲TYPE=
RECORD
MAX ̲START ̲TIME : TIME ̲TYPE
MAX ̲NO ̲IN ̲PRI ̲DTG : LONG
MAX ̲NO ̲IN ̲TOC : LONG
OLDEST ̲NON ̲CLEAR-
ED ̲DTG ̲PRI : DTG ̲PRI ̲ENTRY ̲REF
FIRST ̲STILL ̲FOR ̲
RETR ̲DTG ̲PRI : DTG ̲PRI ̲ENTRY ̲REF
LAST ̲LOA-
DED ̲DTG ̲PRI : DTG ̲PRI ̲ENTRY ̲REF
OLDEST ̲NON ̲CLEAR-
ED ̲TOC : TOC ̲ENTRY ̲REF
FIRST ̲STILL ̲FOR ̲
RETR ̲TOC : TOC ̲ENTRY ̲REF
LAST ̲LOA-
DED ̲TOC : TOC ̲ENTRY ̲REF
END
TYPE DTG ̲PRI ̲ENTRY ̲REF=
RECORD
PHYS ̲ENTRY ̲NO : LONG
ABS ̲ENTRY ̲NO : LONG
END
TYPE TOC ̲ENTRY ̲REF=
RECORD
PHYS ̲ENTRY ̲NO ̲ LONG
TOC : TIME ̲TYPE
END
The data part of the TOC ̲FILE ̲ON has following data
definition.
TYPE TOC ̲FILE ̲DA-
TA ̲TYPE : ARRAY (1..MAX ̲NO ̲IN ̲TOC)
OF DTG
̲PRI
ENTRY
̲REF
The definition of the complete TOC ̲FILE ̲ON is then:
TYPE TOC ̲FILE ̲ON:
RECORD
VOLUME ̲ENTRY : VOLUME ̲ENTRY ̲TYPE
CAT ̲DESCR : CAT ̲DESCR ̲TYPE;
TOC ̲FILE ̲DATA : TOC ̲FILE ̲DATA ̲TYPE;
END;
4.1.4.1.2 S̲A̲R̲ ̲D̲T̲G̲ ̲F̲I̲L̲E̲O̲N̲
This file contains only a data part. Refer figure 4.1.4.1-1.
Data definitions of the data part is as follows:
TYPE INC ̲MSG ̲DTG ̲RECORD ̲TYPE:
RECORD
DTG : TIME ̲TYPE;
PLA ̲REF ̲NO : PLA ̲NUMBER ̲TYPE;
SPARE : INTEGER
END;
VAR DTG ̲FILE ̲ON:
ARRAY (1.. MAX ̲NO ̲IN ̲PRI ̲DTG) OF INC ̲MSG ̲DTG ̲RECORD
̲TYPE;
4.1.4.1.3 S̲A̲R̲ ̲P̲R̲I̲ ̲F̲I̲L̲E̲O̲N̲
Record definitions of the PRI ̲FILE ̲ON catalogue are
shown below. Number of entries in PRI ̲FILE ̲ON is contained
in the constant MAX ̲NO ̲IN ̲PRI ̲DIG.
…02…Figure 4.1.4.1.3-1 shows an overview diagram of the PRI ̲ FILE
̲ON
catalogue
entry.
TYPE PRI ̲FILE ̲ON=
ARRAY (1.. MAX ̲NO ̲IN ̲PRI ̲DIG ̲ON) OF PRI ̲ENTRY ̲TYPE
The PRI ̲ENTRY ̲TYPE has following type definition.
TYPE KIND ̲TYPE = ARRAY (1..2) OF BYTES
ENTRY ̲KIND ̲TYPE = (ORIGIN ̲ENTRY, CHN ̲STN ̲ENTRY,
SCD ̲ENTRY)
ENTRY ̲NEXT ̲TYPE = (NOT ̲CONTINUED, CONTINUED)
KIND : LSB (ENTRY ̲KIND ̲TYPE)
MSB (ENTRY ̲NEXT ̲TYPE)
TYPE PRI ̲ENTRY ̲TYPE:
RECORD
KIND:KIND ̲TYPE;
FILL:ARRAY(1..31) OF INTEGER
END;
FIGURE 4.1.4.1-1
The type definition of FILL each entry is as follows:
TYPE MAIN ̲ENTRY=
RECORD
HEADER : CAT ̲ENTRY ̲HEADER;
KEYS : ARRAY (1.. 12) OF INTEGER;
FILL : ARRAY (1.. 5) OF INTEGER;
END;
TYPE CAT ̲ENTRY ̲HEADER=
RECORD
ENTRY ̲KIND : SAR ̲STORAGE ̲TYPE;
CAMPS ̲TYPE : ARRAY(1..2) OF BYTES
"1: maintype
"2: flags
CLASSIFIC ̲CAT : CLASSIFICATION ̲TYPE;
SPEC ̲HANDL : SPEC ̲HAND ̲TYPE;
EXERCISE ̲INDIC : EXERCISE ̲INDICATOR ̲TYPE;
ITEM ̲REF : ITEM ̲REF ̲ID ̲TYPE;
VIEW ̲REF : VIEW ̲NAME;
TOC : TIME ̲TYPE;
DELETION ̲MARK : (NO ̲SET,SET)
NO ̲OF ̲SCDS : INTEGER
"total number of SCDs for
"catalogue entry
END;
The KEYS array is either one of the following types
TYPE CHANNEL ̲STATION ̲KEYS=
RECORD
MASK : BIT ̲MASK;
CHN ̲DESIGN : CHANNEL ̲DESIGNATOR ̲TYPE;
CHN ̲SER ̲NO : CHANNEL ̲SERIAL ̲NO ̲TYPE;
STATION ̲ID : STATION ̲ID ̲TYPE;
STATION ̲SER ̲NO : STATION ̲SERIAL ̲NO ̲TYPE;
FILE ̲TIME : TIME ̲TYPE;
END;
TYPE ORIGINATOR ̲KEYS=
RECORD
MASK : BIT ̲MASK;
DTG : TIME ̲TYPE;
PLA REF ̲NO : PLA ̲NUMBER ̲TYPE;
SICS : ARRAY (1..3) OF SIC ̲TYPE
ORIG ̲SCD : SCD ̲TYPE;
SPARE : INTEGER;
END;
A possible extension entry or SCD ̲ENTRY is defined
as follows:
TYPE SCD ̲ENTRY=
RECORD
KIND : KIND ̲TYPE;
NO ̲OF ̲SCDS : INTEGER; "Number of SCDs
"in this entry
SCDS : SCD ̲LIST;
END;
TYPE SCD ̲LIST=ARRAY(1..15) OF SCD ̲TYPE
4.1.4.2 O̲f̲f̲-̲l̲i̲n̲e̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲
The off-line catalogues on the off-line disks consists
of 4 files, namely:
- SAR ̲TOC ̲FILE
- SAR ̲DTG ̲FILE
- SAR ̲PRI ̲FILE
- SEGM ̲ID ̲TAB
4.1.4.2.1 S̲A̲R̲ ̲T̲O̲G̲ ̲F̲I̲L̲E̲
During off-line retrieval, the off-line catalogues
are transferred to memory and suppressed the header
part of HEAD ̲COPY Refer figure. 4.1.4.2-1
For definition of the header part and description of
parameters, refer section 4.1.4.1.
For definition of the volume entry part and description
of parameter, refer section 4.1.4.3.
The record definition of the memory resident off-line
catalogue header information is as follows:
VAR HEAD ̲COPY=
RECORD
VOLUME ̲ENTRY:VOLUME ̲ENTRY ̲TYPE;
CAT ̲DESCR:CAT ̲DESCR ̲TYPE
END
The type definition for the complete file is as for
the file SAR ̲TOC ̲FILEON. Refer to section 4.1.4.1.1
except for the number of data entries which corresponds
to entries in the off-line file.
FIGURE 4.1.4.2-1
OFF-LINE CATALOGUE MEMORY HEADER
4.1.4.2.2 S̲A̲R̲ ̲D̲T̲G̲ ̲F̲I̲L̲E̲
Type definition is as for the file SAR ̲DTG ̲FILEON,
except for the number of entries which corresponds
to the off-line file. Refer to section 4.1.4.1.2.
4.1.4.2.3 S̲A̲R̲ ̲P̲R̲I̲ ̲F̲I̲L̲E̲
Type definition is as for the file SAR ̲PRI ̲FILEON,
except for the number of entries which corresponds
to the off-line file. Refer to section 4.1.4.2.3.
4.1.4.2.4 S̲E̲G̲M̲ ̲I̲D̲ ̲T̲A̲B̲
The segment id table contains the segment identifies
for the off-line disk. A segment corresponds to the
CIF's off-loaded each time MMS or the supervisor initiates
an off-load command. The type definition for the fil
is as follows:
TYPE SEGM ̲TYPE =
RECORD
SEGM ̲START ̲TIMER : TIMER ̲TYPE
SEGM ̲END ̲TIME : TIME ̲TYPE
SEGM ̲NO : INTEGER
END
TYPE SEGM ̲ID ̲TAB =
RECORD
NO ̲OF ̲SEGMENTS : 1..MAX ̲NO ̲OF ̲SEGMENTS
SEGM ̲ARRAY : ARRAY (1..MAX ̲NO ̲OF ̲
SEGMENTS) OF SEGMENT
̲TYPE
END
4.1.4.3 V̲o̲l̲u̲m̲e̲ ̲T̲a̲b̲l̲e̲
This area resides in the VOLUME ̲FILE and consists of
a control area and a data area.
The control area holds the following locations:
- number of volumes in use, which is the number of
off-line volumes containing messages and transactions
controlled by SAR;
Overleaf is shown the layout of the VOLUME ̲FILE file.
The data area contains an entry for each volume controlled
by SAR. Each entry contains the following:
- volume-id which is an identification of the volume
related to the below mentioned entries;
- oldest TOC which is the time corresponding to the
first message or transaction stored on the volume;
- youngest TOC, which is the time corresponding to
the last message or transaction stored on the volume;
- oldest DTG, which is the DTG corresponding to the
oldest DTG message on the volume;
- youngest DTG, which is the DTG corresponding to
the youngest DTG message on the volume.
Note that TOC corresponds to time of cataloging while
DTG corresponds to time of release as in format line
5. Figure 4.1.4.3-2 shows the entry layout.
FIGURE 4.1.4.3-1
VOLUME FILE
FIGURE 4.1.4.3-2
VOLUME FILE ENTRY
VOLUME FILE DEFINITION
TYPE VOLUME ̲ENTRY ̲TYPE=
RECORD
VOLUME ̲ID : VOLUME ̲NAME;
OLDEST ̲TOC : TIME ̲TYPE;
YOUNGEST ̲TOC : TIME ̲TYPE;
OLDEST ̲DTG : TIME ̲TYPE;
YOUNGEST ̲DTG : TIME ̲TYPE;
END;
TYPE VOLUME ̲TABLE=
RECORD
NO ̲OF ̲VOLUME ̲IN ̲USE : 1.. MAX ̲VOLUME ̲NO
̲IN ̲USE;
VOLUME ̲ARRAY= ARRAY(1..MAX ̲VOLUME ̲NO ̲IN ̲USE)
OF VOLUME ̲ENTRY ̲TYPE;
END;
4.1.4.4 O̲f̲f̲-̲l̲i̲n̲e̲ ̲L̲i̲s̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲s̲
The 10 off-line list operations are used to queue off-line
retrieval requests to the off-line retrieval coroutine.
Following contents of the optional user data area are
listed below:
- operation number
- buffer reference
- volume name
- retrieval status
- mount status
Figure 4.1.4.4-1 presents the contents of the operation.
Record definition of the optional user data area is
as follows:
TYPE OFFL ̲LIST ̲OPER=
RECORD
COROUTINE ̲DATA :COROUTINE ̲OPERATION;
OPERATION ̲NO : REFERENCE ̲TYPE;
INDIC : SAR ̲OPR ̲TYPE;
BUFFER ̲REF : REFERENCE ̲TYPE;
VOLUME ̲NAME : VOLUME ̲NAME ̲TYPE;
RETR ̲STATUS : (OFFLINE ̲KNOWN,OFFLINE
̲
UNKNOWN);
MOUNT ̲STATUS : BOOLEAN;
INF : INTEGER
INFORMATION : ARRAY (1..3) OF INTEGER
END;
VAR OFFL ̲LIST ̲REFS=ARRAY(1..MAX ̲NO ̲OF ̲OFFL ̲LIST ̲ELEMENT)
OF OFFL ̲LIST ̲OPR
CONST MAX ̲NO ̲OF ̲OFFL ̲LIST ̲OPR=10
FIGURE 4.1.4.4-1
4.1.4.5 D̲i̲s̲k̲ ̲S̲t̲a̲t̲u̲s̲
Disk status area contains information about the off-line
volume. Information recorded is:
- off-line volume name
- mount indicator
- off-line TOC interval
- off-line DTG interval
Figure 4.1.4.5 presents the disk status data.
The record definition is as follows:
VAR DISK ̲STATUS
RECORD
STATE :(NOT ̲MOUNTED,MOUNTED);
VOLUME :VOLUME ̲ENTRY ̲TYPE;
END;
TYPE VOLUME ̲ENTRY ̲TYPE refer 4.1.4.3
F̲I̲G̲U̲R̲E̲ ̲4̲.̲1̲.̲4̲.̲5̲-̲1̲
4.1.4.6 F̲l̲a̲g̲s̲
Following flags are pertinent:
- OFFL ̲RETR ̲INTERRUPT ̲FLAG
̲ DUMP ̲INTERRUPT ̲FLAG
The record definition is as follows:
OFFL ̲RETR ̲INTERRUPT ̲FLAG : FLAG ̲TYPE;
DUMP ̲INTERRUPT ̲FLAG : FLAG ̲TYPE;
4.1.4.7 C̲o̲u̲n̲t̲e̲r̲s̲
The counter OFFL ̲RETR ̲COUNTER shared between the on-line
registration coroutine and the off-line retrieval coroutine,
keys the number of outstanding off-line retrievals.
Definition of counter is as follows:
OFFL ̲RETR ̲COUNTER=1...10;
4.1.4.8 S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
The supervisor command operation communicates commands
and responses between the supervisor command coroutine
and the off-line retrieval coroutine. The optional
user data area contains following information:
- operation indicator
- command type
Figure 4.1.4.8-1 presents the layout of the user optional
data area of the supervisor command operation.
Record definition is as follows:
VAR SUPV ̲OFFL ̲OPER=
RECORD
COROUTINE ̲DATA: COROUTINE ̲OPERATION;
SPACE: INTEGER;
INDIC: SAR ̲OPR ̲TYPE;
CMD: SAR ̲INTERNAL ̲COMMAND ̲TYPE;
END;
F̲I̲G̲U̲R̲E̲ ̲4̲.̲1̲.̲4̲.̲8̲-̲1̲
…02…TYPE SAR ̲OPR ̲TYPE (SUPV ̲OFFL ̲CMD ̲RESPONSE,
OFFL ̲REPORT ̲OPR,
SUPV ̲DUMP ̲OPR,
MMS ̲THRESHOLD,
ONL ̲OFFL ̲RETRIEVAL,
SUPV ̲INPUT ̲QUEUE ̲OPR,
STORAGE ̲REPORT ̲OPR)
THRESHOLD ̲WARNING,
PRI ̲DTG ̲ERR,
WINDOW ̲RETR);
TYPE SAR ̲INTERNAL ̲COM-
MAND ̲TYPE= (SUPV ̲DUMP ̲CMD ̲RESPONSE,
IDUMP ̲CMD,
TIME ̲DUMP,
INTERRUPT ̲DUMP,
DUMP ̲COMPL,
INT ̲OFFL ̲OFF,
INT ̲OFFL ̲ON,
INT ̲OFFL ̲SUSP,
INT ̲OFFL ̲MOUNT ̲REFUSED,
MOUNT ̲REPORT,
MOUNT ̲EMPTY ̲REPORT)
4.1.4.9 D̲u̲m̲p̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
This operation contains the command and responses communicated
between supervisor command coroutine and the dump coroutine.
Information included in the optional user data area
is:
- operation indicator
- command type
- command parameters
- response parameters
Figure 4.1.4.8-1 presents the layout of the operational
user data of the operation.
The record definition is as follows:
DUMP ̲RESPONSE ̲PARA=
RECORD
DUMPED ̲UNTIL: TIME ̲TYPE;
DUMP ̲RESULT: COMPLETION ̲CODE
END;
DUMP ̲CMD ̲PARA=
RECORD
TIME: TIME ̲TYPE;
VOLUME: VOLUME ̲NAME ̲TYPE
END;
VAR SUPV ̲DUMP ̲OPER=
RECORD
COROUTINE ̲DATA :COROUTINE ̲OPERATION
INDIC :SAR ̲OPR ̲TYPE;
CMD : SAR ̲INTERNAL ̲COMMAND
"=SUPV ̲DUMP ̲CMD ̲RESPONSE
COMMAND : DUMP ̲CMD ̲PARA;
INITIATOR : (COMMANDED, AUTOMATIC);
RESPONSE : DUMP ̲RESPONSE ̲PARA;
END;
F̲I̲G̲U̲R̲E̲ ̲4̲.̲1̲.̲4̲.̲8̲-̲1̲
4.1.4.10 R̲e̲p̲o̲r̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
Report operation is communicated between the supervisor
command coroutine and the off-line retrieval coroutine.
Contents of the operation are:
- operation indicator
- command type
Figure 4.1.4.10-1 presents the layout of the operation.
The record definition of the optional user data is
as follows:
VAR OFFL ̲REPORT ̲OPER=
RECORD
COROUTINE ̲DATA: COROUTINE ̲OPERATION
INDIC: SAR ̲OPR ̲TYPE;
"= OFFL ̲REPORT ̲OPR
REPORT: (DISK ̲FAILURE,
MOUNT ̲DISK ̲REPORT)
END;
F̲I̲G̲U̲R̲E̲ ̲4̲.̲1̲.̲4̲.̲1̲0̲-̲1̲
4.1.4.11 S̲A̲R̲ ̲C̲o̲n̲s̲t̲a̲n̲t̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲s̲
CONST MAX ̲NO ̲OF ̲TOC ̲DTG ̲REQUESTS = 5;
CONST MAX ̲NO ̲OF ̲TOC ̲WINDOW ̲REQUESTS = 5;
CONST MAX ̲VOLUME ̲NO ̲IN ̲USE = 5;
CONST MAX ̲NO ̲OF ̲OFFLINE ̲REQUESTS = 10;
CONST MAX ̲NO ̲OF ̲PRIENT = 34;
CONST MAX ̲NO ̲IN ̲TOC ̲FILE ̲ON =2160
CONST MAX ̲NO ̲IN ̲PRI ̲DIG ̲ON = 15.000
CONST INITIATE ̲DUMP ̲CMD ̲SIZE = 10
CONST SIZE ̲VOLUME ̲TABLE = 81
CONST MAX ̲SCDS ̲IN ̲ONE ̲ENTRY = 20
CONST MAX ̲NO ̲OF ̲PRI ̲BUF ̲ENTRIES = 20
CONST ONL ̲RETR ̲PRI ̲BUF ̲SIZE = 16
CONST ONL ̲RETR ̲DTG ̲BUF ̲SIZE = 16
CONST SIZE ̲CATAL ̲HEAD = 56
4.1.4.12 S̲t̲o̲r̲a̲g̲e̲ ̲R̲e̲p̲o̲r̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
This operation contains a report specifying that the
catalogue space threshold has been exceeded. Included
in the operation are:
- operation indicator
- command type
Figure 4.1.4.12-1 presents the layout of the operation.
Record definition of the data area is as follows:
VAR STORAGE ̲SUPV ̲REPORT ̲OPR=
RECORD
COROUTINE ̲DATA :COROUTINE ̲OPERATION;
INDIC : SAR ̲OPR ̲TYPE;
RESPONSE : STORE ̲CAT ̲THRESHOLD
̲
WARNING
END;
TYPE STORE ̲CAT ̲THRESHOLD ̲WARNING=
RECORD
ISSUED : BOOLEAN;
VALUE : INTEGER; "percent
"space
left
END;
F̲I̲G̲U̲R̲E̲ ̲4̲.̲1̲.̲4̲.̲1̲2̲-̲1̲
4.1.4.13 O̲n̲-̲L̲i̲n̲e̲ ̲V̲o̲l̲u̲m̲e̲ ̲H̲e̲a̲d̲e̲r̲
The on-line volume header is memory resident and contains
information about the on-line catalogue and on-line
volume.
Figure 4.1.4.13-1 shows the word level diagram of ONLINE
̲VOL ̲HEAD
Record definition is as follows:
TYPE VOLUME ̲CONTROL ̲HEADER=
RECORD
VOLUME ̲ENTRY :VOLUME ENTRY ̲TYPE
CAT ̲DESCR :CAT ̲DESCR ̲TYPE
FILL :ARRAY OF INTEGER UP
TO 1
SECTOR (=256 words)
END
VAR ONLINE ̲VOL ̲HEAD : VOLUME ̲CONTROL ̲HEADER
VOLUME ̲ENTRY ̲TYPE Refer 4.1.4.3
CAT ̲DESC ̲TYPE Refer 4.1.4.1.1
Fig. 4.1.4.13
4.1.4.14 C̲o̲m̲m̲o̲n̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲T̲y̲p̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲s̲
TYPE MATCH ̲TYPE =(NO ̲FIT, FIT)
identifies if fit or no fit has been obtained in
retrieval cases.
TYPE KEY ̲MATCH ̲TYPE=MATCH ̲TYPE
description, see above
SAR TYPE DECLARATIONS
The storage Type informing SAR of what message to be
stored. Is contained in 2 words in the stores QEL.
TYPE SAR ̲STORAGE ̲TYPE=
(SAR ̲INC ̲MSG ̲AFT ̲ANAL,
SAR ̲REC ̲MSG ̲AFT ̲ASSIGN ̲OF ̲TRANSM ̲KEYS,
SAR ̲INC ̲MSG ̲AFT ̲SELC ̲OF ̲NOM ̲DIST ̲LIST,
SAR ̲RELEASED ̲MSG.
SAR ̲COMMENT,
SAR ̲FIRST ̲DRAFT,
SAR ̲RELEASE ̲NOTIFICATION,
SAR ̲LOG ̲CIF);
Following next are the three record definitions for
the retrieval key buffers, sent by the application
to SAR during retrieval.
TYPE
SUPV ̲RETRIEVAL ̲RECORD ̲TYPE ̲1 =
RECORD
RETR ̲IDENT: SUPV ̲RETR ̲IDENTIFIER;
TOC 1: TIME ̲TYPE;
TOC 2: TIME ̲TYPE;
CLASSIFIC ̲CAT: CLASSIFICATION ̲TYPE;
SPEC ̲HANDL: SPEC ̲HAND ̲TYPE;
EXERC ̲INDIC: EXERCISE ̲INDICATOR ̲TYPE;
CHN ̲DESIGN: CHANNEL ̲DESIGNATOR ̲TYPE;
CHN ̲SER ̲NO: CHENNEL ̲SERIAL ̲NO ̲TYPE;
END
TYPE
SUPV ̲RETRIEVAL ̲RECORD ̲TYPE ̲2=
RECORD
RETR ̲IDENT: SUPV ̲RETR ̲IDENTIFIER;
TOC1: TIME ̲TYPE;
TOC2: TIME ̲TYPE;
CLASSIFIC ̲CAT: CLASSIFICATION ̲TYPE,
SPEC ̲HANDL: SPEC ̲HAND ̲TYPE
EXERC ̲INDIC: EXERCISE ̲INDICATOR ̲TYPE,
STATION ̲ID: STATION ̲ID ̲TYPE,
STATION ̲SER.NO: STATION ̲SERIAL ̲NO ̲TYPE
FILE ̲TIME: ATIME ̲TYPE;
END
TYPE
SUPV ̲RETRIEVAL ̲RECORD ̲TYPE ̲3 =
RECORD
RETR ̲IDENT: SUPV ̲RETR ̲IDENTIFIER;
TOC1: TIME ̲TYPE;
TOC2: TYPE ̲TYPE;
CLASSIFIC ̲CAT: CLASSIFICATION TYPE;
SPEC ̲HANDL: SPEC ̲HAND ̲TYPE;
EXERC ̲INDIC: EXERCISE ̲INDICATOR ̲TYPE;
DTG: TIME ̲TYPE;
PLA ̲REF ̲NO: PLA ̲NUMBER ̲TYPE;
ITEM ̲REF: ITEM ̲REF ̲ID ̲TYPE;
ORIGINATOR ̲SCD: SCD ̲TYPE;
SIC 1: SIC ̲TYPE;
SIC 2: SIC ̲TYPE;
SIC 3: SIC ̲TYPE;
END;
4.1.4.15 S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲P̲r̲i̲n̲t̲e̲r̲ ̲R̲e̲p̲o̲r̲t̲
This report is communicated between SAR i.e. Supervisor
Command Coroutined and TEPs Report Printer.
Contents of report are:
-Time stamp
-Text reference
-Report data
Record definition is as follows:
VAR SAR ̲REPORT ̲BUFFER:
REPORT ̲BUFFER ̲TYPE;
REPORT ̲BUFFER ̲TYPE Refer. CPS/DBD/001
Fig. 4.1.4.15
4.1.4.16 C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲R̲e̲c̲o̲r̲d̲s̲
The variable declarations for the SAR coroutines are
as follows:
VAR
ONL ̲STO ̲COROUTINE : COROUTINE ̲RECORD
DUMP ̲COROUTINE : COROUTINE ̲RECORD
TOC ̲DTG ̲COROUTINE : COROUTINE ̲RECORD
WINDOW ̲COROUTINE : COROUTINE ̲RECORD
OFFL ̲COROUTINE : COROUTINE ̲RECORD
SUPV ̲COROUTINE : COROUTINE ̲RECORD
The coroutine record is used by CSF to schedule the
different coroutines.
4.1.4.17 S̲A̲R̲ ̲C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲S̲e̲m̲a̲p̲h̲o̲r̲e̲s̲
Following semaphores are declaired in SAR:
VAR
ONLINE ̲CAT ̲SEM : COROUTINE ̲SEMAPHORE
ONL ̲CAT ̲HEADER ̲SEM : COROUTINE ̲SEMAPHORE
VOLUME ̲TABLE ̲SEM : COROUTINE ̲SEMAPHORE
ONL ̲OFFL ̲RETR ̲EMPTH ̲SEM : COROUTINE ̲SEMAPHORE
OFFL ̲IN ̲SEM : COROUTINE ̲SEMAPHORE
SUPV ̲IN ̲SEM : COROUTINE ̲SEMAPHORE
DUMP ̲IN ̲SEM : COROUTINE ̲SEMAPHORE
OFFL ̲REPORT ̲EMPTY ̲SEM : COROUTINE ̲SEMAPHORE
STORAGE ̲REPORT ̲EMPTY ̲SEM : COROUTINE ̲SEMAPHORE
SUPV ̲RESPONSE ̲SEM : COROUTINE ̲SEMAPHORE
WINDOW ̲OPR ̲EMPTY ̲SEM : COROUTINE ̲SEMAPHORE
WINDOW ̲IN ̲SEM : COROUTINE ̲SEMAPHORE
4.1.4.18 W̲i̲n̲d̲o̲w̲ ̲L̲i̲s̲t̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲s̲
A number of window list operations are used to queue
up window retrieval requests to the window retrieval
coroutine. The declaration is as follows:
TYPE
WINDOW ̲LIST ̲OPR =
RECORD
COR ̲DATA : COROUTINE ̲OPERATION
INDIC : SAR ̲OPR ̲TYPE
BUFFER ̲REF : BUFFER REFERENCE
W ̲RETR ̲TYPE : INTEGER
INF : INTEGER
INFORMATION : ARRAY (1..3) OF INTEGER
END
CONST WINDOW ̲LIST ̲LENGTH = 10
VAR
WINDOW ̲LIST: ARRARY (1..WINDOW ̲LIST ̲LENGTH) OF
WINDOW ̲LISE ̲OPR
4.1.4.19 M̲M̲S̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
This operation is returned from MMS when intermediate
storage (ITS) threshold is exceeded.
TYPE
SUPV ̲OPR ̲TYPE =
COROUTINE ̲DATA : COROUTINE ̲OPERATION
OPERATION : SAR ̲OPR ̲TYPE
END
VAR
MMS ̲OPER : SUPV ̲OPR ̲TYPE
4.1.4.20 S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲Q̲u̲e̲u̲e̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
This operation is associated to the SAR queue, where
the supervisor sends the command queue elements to
be performed by SAR.
VAR
SUPV ̲INPUT ̲QUEUE ̲OPER : SUPV ̲OPR ̲TYPE
4.1.4.21 C̲o̲m̲m̲o̲n̲ ̲P̲a̲c̲k̲a̲g̲e̲ ̲O̲t̲h̲e̲r̲ ̲D̲a̲t̲a̲
Following data definitions are as well related to the
common subpackage.
A number of file descriptor control block indexes,
identifying the open files used by SAR, are defined
as follows:
VAR
FILEDESCRROOT : FDCB ̲INDEX
ONL ̲SAR ̲DIR ̲FD : FDCB ̲INDEX
ONL ̲PRI ̲FD : FDCB ̲INDEX
ONL ̲TOC ̲FD : FDCB ̲INDEX
ONL ̲DTG ̲FD : FDCB ̲INDEX
ONL ̲VOL ̲TAB ̲FD : FDCB ̲INDEX
DISK ̲COPY ̲FD : FDCB ̲INDEX
MSG ̲DEL ̲FD : FDCB ̲INDEX
During disk accesses performed by the common subpackage
coroutine, a file address and a buffer list element
are used.
VAR
DTG ̲PRI ̲FIL ̲ADD : FILE ̲ADDRESS
PRI ̲BUFFER ̲BLE : BUFFER ̲LIST ̲ELEMENT
The CAMPS startup type is kept in:
VAR
START ̲UP : INTEGER
The process number related to SAR is kept in:
VAR
SAR ̲PR ̲NO : INTEGER
The startup time for the DEAD1, DEAD2 and COLD startup
types are kept in:
VAR
LOAD ̲IOC : TIME ̲TYPE
During initialization of catalogue files the sector
count is kept in:
VAR
SECTOR ̲COUNT : INTEGER
4.1.4.22 S̲A̲R̲ ̲F̲i̲l̲e̲ ̲N̲a̲m̲e̲s̲
Following SAR file names are declaired and initialized:
DIRECTORY ̲NAMES
VAR
SARDIRON ̲TEXT
SARDIR ̲TEXT : FILE ̲SYSTEM ̲NAME
INIT
SARDIRON ̲TEXT = SARDIRON
SARDIR ̲TEXT = SARDIR
EXPORT VAR
SARDIRON
SARDIR :INTEGER
INIT
SARDIRON = ADDRESS (SARDIRON ̲TEXT)
SARDIR = ADDRESS (SARDIR ̲TEXT)
Filenames for SAR online files:
VAR
SAR ̲TOC ̲FILEON ̲TEXT
SAR ̲PRI ̲FILEON ̲TEXT
SAR ̲DTG ̲FILEON ̲TEXT
DUMP ̲DISK ̲COPY ̲TEXT
SAR ̲DEL ̲FILE ̲TEXT
SAR ̲ONL ̲VOL ̲tab-text : FILE ̲NAME
INIT
SAR ̲TOC ̲FILEON ̲TEXT = SAR ̲TOC ̲FILEON
SAR ̲PRI ̲FILEON ̲TEXT = SAR ̲PRI ̲FILEON
SAR ̲DTG ̲FILEON ̲TEXT = SAR ̲DTG ̲FILEON
SAR ̲ONL ̲VOL ̲TAB ̲TEXT = SAR ̲ONL ̲VOL ̲TAB
SAR ̲DEL ̲FILE ̲TEXT = SAR ̲DEL ̲FILE
DUMP ̲DISK ̲COPY ̲TEXT = DUMP ̲DISK ̲COPY
EXPORT VAR
SAR ̲TOC ̲FILEON
SAR ̲PRI ̲FILEON
SAR ̲DTG ̲FILEON
DUMP ̲DISK ̲COPY
SAR ̲DEL ̲FILE
SAR ̲ONL ̲VOL ̲TAB : INTEGER
ININT
SAR ̲TOC ̲FILEON = ADDRESS(SAR ̲TOC ̲FILEON
̲TEXT)
SAR ̲PRI ̲FILEON = ADDRESS(SAR ̲PRI ̲FILEON
̲TEXT)
SAR ̲DTG ̲FILEON = ADDRESS(SAR ̲DTG ̲FILEON
̲TEXT)
SAR ̲ONL ̲VOL ̲TAB = ADDRESS(SAR ̲ONL ̲VOL ̲TAB
̲TEXT)
DUMP ̲DISK ̲COPY = ADDRESS(DUMP ̲DISK ̲COPY
̲TEXT)
SAR ̲DEL ̲FILE = ADDRESS(SAR ̲DEL ̲FILE ̲TEXT)
Filenames for SAR off-line files:
VAR
SAR ̲TOC ̲FILE ̲TEXT
SAR ̲PRI ̲FILE ̲TEXT
SAR ̲DTG ̲FILE ̲TEXT
SAR ̲DUMP ̲FILE ̲TEXT
CPS ̲HEADER ̲TEXT
SEGM ̲ID ̲TAB ̲TEXT : FILE ̲NAME
INIT
SAR ̲TOC ̲FILE ̲TEXT = SAR ̲TOC ̲FILE
SAR ̲PRI ̲FILE ̲TEXT = SAR ̲PRI ̲FILE
SAR ̲DTG ̲FILE ̲TEXT = SAR ̲DTG ̲FILE
SAR ̲DUMP ̲FILE ̲TEXT = SAR ̲DUMP ̲FILE
SEGM ̲ID ̲TAB ̲TEXT = SEGM ̲ID ̲TAB
CPS ̲HEADER ̲TEXT = CPS ̲HEADER
EXPORT VAR
SAR ̲TOC ̲FILE
SAR ̲PRI ̲FILE
SAR ̲DTG ̲FILE
SAR ̲DUMP ̲FILE
CPS ̲HEADER
SEGM ̲ID ̲TAB : INTEGER
INIT
SAR ̲TOC ̲FILE = ADDRESS(SAR ̲TOC ̲FILE ̲TEXT)
SAR ̲PRI ̲FILE = ADDRESS(SAR ̲PRI ̲FILE ̲TEXT)
SAR ̲DTG ̲FILE = ADDRESS(SAR ̲DTG ̲FILE ̲TEXT)
SAR ̲DUMP ̲FILE = ADDRESS(SAR ̲DUMP ̲FILE
̲TEXT)
SEGM ̲ID ̲TAB = ADDRESS(SEGM ̲ID ̲TAB ̲TEXT)
CPS ̲HEADER = ADDRESS(CPS ̲HEADER ̲TEXT)