top - download
⟦e5f28ca5e⟧ Wang Wps File
Length: 18331 (0x479b)
Types: Wang Wps File
Notes: Spelunked
Names: »~ORPHAN33.00«
Derivation
└─⟦7985b6947⟧ Bits:30005810 8" Wang WCS floppy, CR 0117A
└─ ⟦this⟧ »~ORPHAN33.00«
WangText
/…00……00……00……00…!…02……00……00…!
…08… …0b… …0d… …0e…
…07……1f……0c……1f……01……1f…
…1f……06……1e……08……1e……0e……1e……05……1d……0d……1d……0e……1d……0f……1d……00……1d……01……1d……02……1c……08……1c……0e……1c… …1c……06……1c……07……1b……0b……1b……0f……1b…
…1a……08……1a……0d……1a……0e……1a……05……1a……07……19……86…1 …02… …02… …02…
…02…CPS/SDS/026
…02…BMN/840105
TABLE MANAGEMENT
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 purpose of Table Management Package (TMP) is to
provide search and update tools to the packages which
want to access the data base contaiing tables, system
parameters and global number series.
Furthermore, TMP will control that no package accesses
other data than it is allowed to access.
This document describes TMP down to a level where all
functions performed by TMP and all comonents to be
implemented inside TMP are defined.
This description is a further detailed description
of TMP functions than the one in CPS/SDS/001
In this specification is given a description of general
interfaces and general data structures.
For more detailed data and interface description refer CPS/DBD/001
and CAMPS SW Interface Control Document.
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̲
- CPS/DBD/001 reference (a) see also
ec. 4.1.6
- CPS/ICD/009 reference (b)
- CSS/006/PSP/0044 reference (c)
- CPS/210/SYS/0001 reference (d)
- CPS/ICD/002 reference (e)
- CPS/SDS/001 reference (f)
- CSS/2100/PSP/0019
1.2.2 P̲r̲o̲j̲e̲c̲t̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
N/A.…86…1 …02… …02… …02… …02…
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̲
S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲
Group of modules having the same access rights.
K̲e̲y̲
Field value used to identify a record.
T̲a̲b̲l̲e̲
List of same typerecords.
1.3.2 A̲b̲b̲r̲e̲v̲i̲a̲t̲i̲o̲n̲s̲
CSF CAMPS System Functions
GSN Global Serial Number
ID Identification
MDP Message Distribution Package
FMS Storage and File Management
SSC Sytem Status and Control
SyncEl Synchronization Element
TEP Terminal Package
THP Traffic Handling Package
TMP Table Management Package…86…1 …02… …02…
…02… …02…
2̲ ̲ ̲S̲U̲M̲M̲A̲R̲Y̲ ̲O̲F̲ ̲R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲S̲
2.1 T̲M̲P̲ ̲D̲E̲S̲C̲R̲I̲P̲T̲I̲O̲N̲
TMP receives function requests from application packages
and SSC and returns answers by means of system call
monitor in CSF pacage.
TMP reads from disk and writes to disk via FMS.
Ref. fig. 2.1-1.…86…1 …02… …02… …02… …02…
Fig. 2.1-1…01…Package Interrelationship…86…1 …02… …02… …02… …02…
2.2 T̲M̲P̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲S̲
2.2.1 T̲M̲P̲ ̲N̲o̲r̲m̲a̲l̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲
The normal TMP functions are:
- Search In Tables
- Update Of Tables
- Reorganization Of Tables
- Back-up/Reload Of TMP Data
Global Serial Number Management
- System Parameter Management
2.2.1.1 S̲e̲a̲r̲c̲h̲ ̲I̲n̲ ̲T̲a̲b̲l̲e̲s̲
One or more records from a table are identified after
a key value and delivered to caller. More than one
key to the same table may be specified at a time
Only the record fields requested by caller are delivered.
2.2.1.2 U̲p̲d̲a̲t̲e̲ ̲O̲f̲ ̲T̲a̲b̲l̲e̲
One record is inserted in a table or removed from a
table.
One or more records is changed.
2.2.1.3 R̲e̲o̲r̲g̲a̲n̲i̲z̲a̲t̲i̲o̲n̲ ̲O̲f̲ ̲T̲a̲b̲l̲e̲s̲
All tables are reorganized o unused records are removed
and records in overflow area are put in their appropriate
place.
2.2.1.4 B̲a̲c̲k̲-̲u̲p̲/̲R̲e̲l̲o̲a̲d̲ ̲O̲f̲ ̲T̲M̲P̲ ̲D̲a̲t̲a̲
Tables are backed up by copying them to an offline
volume, or they are reloaded by copying them back in
their apprpriate position at the on-line volume.
2.2.1.5 G̲l̲o̲b̲a̲l̲ ̲S̲e̲r̲i̲a̲l̲ ̲N̲u̲m̲b̲e̲r̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲
The GSN is maintained in a way, so that they may be
read or updated by other packages.
The read may cause the GSN being read to be incresed
by one.
2.2.1.6 S̲y̲s̲t̲e̲m̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲
A system parameter may be read or updated.
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̲
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̲
In initialization TMP reloads all MP data and copies
the memory resident data into memory. Then coroutines
are initialized and TMP will then wait for further
requests.
2.2.2.1.2 C̲l̲o̲s̲e̲ ̲D̲o̲w̲n̲
TMP has no responsibility of its own by close down.
2.2.2.1.3 R̲e̲s̲t̲a̲r̲t̲
By restart TM will read memory resident data into memory
and initialize coroutines.
Then a consistency check of disk resistent data is
made and TMP will then wait for further requests.
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̲
TMP performs no check pointing.
All data except global number series will be copied
to disk each time they are updated so they will always
b recoverable.
All requests to TMP where TMP has not yet returned
an answer may be lost by system failure.
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̲
If input data in a TMP request are syntactically illegal
or inconsistent, the requesting proess is retired by
using a Kernel call.
2.2.2.4 I̲n̲t̲e̲g̲r̲i̲t̲y̲ ̲o̲f̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
When no system failure occur TMP ensures that all requests
will return an answer to the calling process. TMP also
ensures that no request may cause damage in the TMP
process
Inconsistence in TMP data caused by update may result
in no more output to processes requesting search than
a completion code.
Inconsistence in TMP data may only be coursed by a
misused update function.
The updated part of a table is writtenin a safety copy
at disk before the original table is updated.
2.2.2.5 D̲a̲t̲a̲ ̲C̲o̲l̲l̲e̲c̲t̲i̲o̲n̲
TMP is collecting statistics on table level…86…1
…02… …02… …02… …02… …02…
2.2.2.6 S̲e̲c̲u̲r̲i̲t̲y̲
TMP ensures that no subprocess reads or updates data
not defined at system generation time.
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̲
The access times specifid here are maximum time per
key.
When more than one key is given by one request, the
mean time per key will be less than access time by
one key.
The total access time is the sum of the time used by
FMS and the time used by TMP.
The disk acceses and access times are:
NO OF FMS TMP
PROCES-
DISK
ACCESSES
SING
TIME
- Parameter read or GNS access 0 0,5
ms
- Search in memory resident tables 0
30 ms
- Update of memory ables 4 40
ms
- Search in disk tables 1
40 ms
- Search in disk tables via reference 2
50 ms
- Update of disk tables 5
50 ms
2.3.2 T̲h̲r̲o̲u̲g̲h̲p̲u̲t̲
The throughput may be icreased by having the disk search
coroutine in two incarnations.
The throughput will increase about 50%.
2.3.3 F̲l̲e̲x̲i̲b̲i̲l̲i̲t̲y̲
The number of data groups or the number of entries
in one data group may increase without affecting the
TMP Software.
The only difference is that more storageis needed.
2.3.4 A̲c̲c̲u̲r̲a̲c̲y̲
Any deviation from defined parameters will result in
the calling process being retired.…86…1 …02… …02… …02…
…02…
3̲ ̲ ̲E̲N̲V̲I̲R̲O̲N̲M̲E̲N̲T̲
3.1 E̲Q̲U̲I̲P̲M̲E̲N̲T̲
TMP executes in one processing unit consisting of more
than one CPU.
3.2 S̲O̲F̲T̲W̲A̲R̲E̲
3.2.1 S̲y̲s̲t̲e̲m̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲
TMP uses the KERNEL, FMS, and CSFsystem software packages.
TMP must be controlled by an operating system, for
instance COPSY within SSC, defining the control parameters
used by TMP.
3.2.2 D̲e̲v̲e̲l̲o̲p̲m̲e̲n̲t̲ ̲S̲u̲p̲p̲o̲r̲t̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲
The software used for development of this package is
contined in Support Software Package.
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̲
N/A
3.3.2 P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
SSC, TEP, THP, STP, and MDP interfaces to TMP by requesting
search and update functions.
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̲
TMP is supportedby Coroutine Monitor and System Call
Monitor in the CSF package.…86…1 …02… …02… …02… …02…
4̲ ̲ ̲T̲M̲P̲ ̲D̲E̲S̲I̲G̲N̲
4.1 T̲M̲P̲ ̲O̲V̲E̲R̲V̲I̲E̲W̲
Table Management Package performs search and update
functions at tables, system parameters, and GSN.
The functions in TMP will be as general s possible
so it may be possible to add further tables to the
TMP data without the processing modules should be changed.
4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
TMP functional description starts with a description
of data organization and access methods sed by TMP.
This is followed by a general description of the functions
performed by TMP.
Finally, the functions are split into subpackages which
again is split into modules.
4.1.1.1 T̲a̲b̲l̲e̲ ̲O̲r̲g̲a̲n̲i̲z̲a̲t̲i̲o̲n̲ ̲a̲n̲d̲ ̲A̲c̲c̲e̲s̲s̲ ̲M̲e̲t̲h̲o̲d̲s̲
4.1.1.1.1 T̲a̲b̲l̲e̲ ̲O̲r̲g̲n̲i̲z̲a̲t̲i̲o̲n̲
All tables consist of a list of similar type records.
Ref. fig. 4.1.1.1-1. A table may be organized direct
or sequential.
Direct organization means that the records are identified
alone by their position in the table.
Sequential oranization means that the records are sorted
in accordance with a primary key which also identifies
the record. The primary key field in a record must
be unique in one table. The records may also be searched
by a secondary key, but a secondary keymay identify
more than one record in one table.
Refer fig. 4.1.1.1-2. Sequential organization may
be expanded to index sequential organization which
means that the table is split into a number of same
length blocks which are rferred in another sequential
table containing a reference to last primary key in
each block. Ref. fig. 4.1.1.1-3.
Sequential organization has also an incarnation called
Secondary Key Organization. This type may be used
if a table is often accesed using a unique secondary
key. The secondary keys are put in sorted order in
a reference table where each secondary key has a reference
to the physical position of the record (ref. figure
4.1.1.1-4).
In the following the reference table will b called
the Inverse Table.
4.1.1.1.2 R̲e̲c̲o̲r̲d̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲
Each record in a table consists of one or more fields.
The first field in some record types is reserved for
TMP control data. The second field will contain the
primary key if the record as any.
The rest of the fields may contain data of various
kind.
All records known by TMP have from one to sixteen fields
of various length and are defined by a record description.
(Ref. figure 4.1.1.-5).
4.1.1.1.3 F̲i̲e̲l̲d̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲
There exst two field types. Simple fields and repeated
fields.
The simple field consists of one information field.
The repeated field consists of a defined number of
identical subfields. The first byte in a repeated field
will tell how many of the subfelds are used. (Ref.
figure 4.1.1.1-5).
4.1.1.1.4 T̲a̲b̲l̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
For each logical table one TABLE ̲DESCRIPTION are defined.
Logical Table means a table accessed by other processes
than TMP.
All Logical Tables aredefined in CPS/DBD reference
(a).
TABLE ̲DESCRIPTION defines all parameters nessecary
by performing a search or an update access, and further
it contains an part used when collecting TMP statistics.
One Physical Table may be referenced from morethan
one TABLE ̲DESCRIPTION. This makes it possible that
two applications searching in same physical table may
get different output because they are accessing two
different Logical Tables.
The two Logical Tables may have defined that the same
paraeters should be formattet in two ways or they may
have defined different subsets of the maximum available
output as output from actual table.
By secondary Key Organized Tables, the TABLE ̲DESCRIPTION
defining the Inverse Table will have a referenc to
associated normal Logical Table.
This means that searching in Inverse Table are consisting
of two parts.
First a physical reference to Normal Table entry is
found in the Inverse Table and then the output is delivered
in accordance with the efinitions in TABLE ̲DESCRIPTION
of the Normal Table.
In special cases an connection between two different
tables may be defined, so the output from the one table
is automatically used as input for a search in the
other table.
In this case the frst level table has a reference to
the second level table in its TABLE ̲DESCRIPTION.
A search will then start searching in first level table
and generate an intermediate output in TMPS own data
area.
This output is then used as input for a searc generating
the final output in accordance with the conventions
of second level table…86…1 …02… …02… …02… …02…
Fig. 4.1.1.1-1…01…Functional Description…86…1 …02… …02… …02… …02…
Fig. 4.1.1.1-2…01…Functional Description…86…1 …02… …02… …02… …02…
Fig. 4.1.1.1-3…01…Functional Description…86…1 …02… …02… …02… …02…
Fig. 4.1.1.1-4…01…Functional Description…86…1 …02… …02… …02… …02…
Fig. 4.1.1.1-5…01…Functional Description
4.1.1.2 T̲a̲b̲l̲e̲ ̲S̲e̲a̲r̲c̲h̲
When TMP performs a search, it gets its input from
a data structure in the data area of the requesting
application process.
The segments containing this stucture and the area
where output shall be delivered are mapped into TMP
process during the search.
The data structure contains the following information.
- Table ID.
- Output Address
- Output Buffer Length
- Search Mask
- Read Mask
- Numbe of Keys
- List of Keys
Table ID. is a reference to the table description containing
information necessary for this search.
Output address is a reference to the area where output
shall be delivered.
Output buffer length tells how much the ouput data
may fill.
Search Mask specifies which fields to be searched for.
Read Mask specifies which fields shall be delivered
by output.
Number of keys specifies how many input key values
are specified in key list.
List of keys is a list offield values used by search.
Before search TMP checks the input keys for inconsistency
and perhaps sorts them via a pointer ARRAY in TMP data
area.
The output is delivered in the same order as input
Keys were sorted. Each Key has a pointer refeencing
its associated output.
An application process may by request specify if the
first level output shall be used as input for search
of a second level output.
The input parameters for a one level search ad a two
level search differs in the way that two different
table IDs are used.
The table ID for a two level search will contain a
reference to the table where the second level information
is held.
4.1.1.3 T̲a̲b̲l̲e̲ ̲U̲p̲d̲a̲t̲e̲
Table update will updat one record specified by a primary
key or it may update one or more fields of the same
value to one new value in a table.
The single record update may remove a record, insert
a record or change the data fields.
The data fields to be changed maybe all, or some specified
fields of same type which shall be set to the same
value or it may be all fields of a special value set
to another value.
The data field update may update the specified fields
in all records in a table to a specified vale, or update
only the specified fields having a special value to
a new value.
4.1.1.4 T̲M̲P̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲
The interface functions receive requests from application
processes and pass them on to TMP process which performs
the real processin.
The interface functions will also ensure that the application
processes get the responses sent by TMP process each
time a request is completed.
The interface functions will ensure that no unknown
request is passed on to TMP process.
4.1.1.5 S̲y̲s̲t̲e̲m̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲s̲ ̲a̲n̲d̲ ̲G̲l̲o̲b̲a̲l̲ ̲N̲u̲m̲b̲e̲r̲ ̲S̲e̲r̲i̲e̲s̲
System parameters and GSN can be read and updated.
A GSN may be read in the special way that it is increased
by one just befoe read. If maximum value is exceeded
by the increase, the GSN value becomes one.
All accesses are performed by the application processes
by using monitor procedure calls.
Parameter update and GSN indicator update are performed
by TMP process a a normal table update.
4.1.1.6 B̲a̲c̲k̲-̲u̲p̲ ̲a̲n̲d̲ ̲R̲e̲l̲o̲a̲d̲
Back-up copies a TMP file from the on-line to SYS ̲GEN
volume.
Reload copies a TMP file from SYS ̲GEN to the on-line
volume.
After reload, the new copied file is read into memory,
if it norally resides here.
4.1.1.7 R̲e̲o̲r̲g̲a̲n̲i̲z̲e̲
Reorganize removes unused records from a table and
puts records from an overflow area in their appropriate
position. Reorganize may be stopped by a request from
the Supervisor.
4.1.1.8 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲B̲r̲e̲a̲k̲o̲w̲n̲
To break this package down in subpackages, the functions
described in this chapter are split into three main
groups.
Each group is a subpackage containing functions with
common characteristics. The functions mapped on each
subpackage is shwn at fig. 4.1.1.8-1.
The three subpackages are at the second level…86…1
…02… …02… …02… …02…
In the following all TMP modules are grouped in subpackages
and listed.
Search Subpackage
- Search Communication
- Sort Key
- General Search
- Memory Table Search
- Dik Table Search
- Special Search
Update Subpackage
- Update Communication
- Search
- Update Record
- Update Disk
- Support
- Start Up
TMP Monitor
- Process Functions
- Monitor Functions
- Main Functions
Fig. 4.1.1.7-1…01…Functional Breakdown…86…1 …02… …02… …02… …02…
4.1.1.8.1 T̲a̲b̲l̲e̲ ̲S̲e̲a̲r̲c̲h̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲
This subpackage receives search requests from a SyncEl.
and generates the output which contains the wanted
information.
4.1.1.8.1.1 S̲e̲a̲r̲c̲h̲ ̲C̲o̲