EPICURE Software Release Note 140.1
EDDS Status Application
EPICURE Software Release Note 140.1
EDDS Status Application
David M. Kline
The EPICURE Distributed Database System uses both a centralized
and distributed methodology to provide a simple and consistent interface for
EPICURE control processes and applications. A set of services are available to
system programmers, operators, and experimenters to facilitate device
retrieval for data acquisition, report generation, and modification. The
application was written to control, monitor, and display
particular aspects of the database system at various acquisition rates. It
helps system programmers and operators to diagnose problems, control server
processes, and display status and statistics maintained by the database
system. Users can access the application from the account
menu by selecting number 93, or highlighting the entry ``EDDS Database
Status'', and depressing the key.
This document focuses on the application displays and menus which provide the
features outlined above.
Background
EPICURE Software Release Note #102 provides a detailed description of the
components which comprise the EPICURE database system. This section,
provides a synopsis of the server processes which implement the system.
consists of several VAX-based processes which divide the database
into functional entities. The process is responsible for
synchronizing read/write access to the central database and initiating the
derivation of the database. The process is a
subprocess of the and is spawned when
database builds are requested. It reads the central database, derives an
database, and synchronizes the distribution to remote
destinations which need local copies. The process maintains the
consistency of the database between local and remote
versions. It periodically scans remote processes, requests the
database serial numbers and build dates, and compares those values with the
master
versions. When an inconsistency is found, the server responds either by
restarting the process, or by distributing a new version of the
database. The process maps the
database into process space . Accessing the
database through the memory management subsystem offers the most
efficient method of obtaining device information. Applications
and other EPICURE server processes primarily use the for data
acquisition requests.
The process provides services that applications use to match
devices with a potentially complex search criteria
. Information on devices which satisfy the conditions is returned to
the application
and can be used to generate reports or by other database utilities. The server
accomplishes this by inserting every device residing in the central database
into a cache located in virtual memory. Searching for devices here is similar
to that in the
because the paging subsystem is used. The cache is
allocated at server initialization and is one contiguous block of memory. The
pages are locked into the process working set to prevent them from being
released to the operating system free pools. The server employs the
``principle of locality'' since the references to devices are sequential and
``stable over time''.
The remainder of the document describes the application's status displays and
menu structure, and how users can control particular aspects of the database
system.
Introduction
The application uses VAX C as the implementation
language
and EPICURE services
to
manipulate and process menus. A Motif based screen interface may be
implemented at some later date. The services were chosen to
implement the application
because: the underlying complexities with system services are
hidden; support to control popup and pulldown menus is
provided; and compatability with various versions,
processors, and terminal types is provided.
The reader should be aware that in order to access database server command
functions (see below), specific privileges need to be assigned to their
account. Privileges are implemented as resource identifiers and
are authorized by the EPICURE system manager. Each database server process
has its own resource identifier to enable access to command functions. This
creates a reasonable granularity that provides a method of preventing users
from affecting multiple database servers and disrupting operations.
The application begins by determining whether the user has authorization to
access any of the server's command functions. The EPICURE library routine
accesses the system file,
verifies whether the user has particular resource identifiers, and places the
information into an internal data structure. This structure is also accessed by
other modules of the application. If the user is authorized to access any of
the database server command functions, they are asked for the
account password (see figure 1). The password is used to connect and invoke
remote command procedures which provide some of the functionality listed in
the menu, e.g. to restart the , or to
initiate an distribution from the .
After user authorization has been determined, services are
initialized. The menu bar appears and a message box displays indicating
that the application is initializing (see figure 2). Upon completion, another
message box appears introducing the user to the application and telling the
user to depress the
key for assistance (see figure 3). At this
point, the user can make selections from the menu bar to monitor and control
different database server processes. The next section describes the menu bar
options in more detail.
The basic screen consists of a time and date stamp in the upper right
hand corner, the application title in the center at the top, and a menu bar
(see figure 3). The menu bar consists of the options. They provide
pulldown menus listing the functionality that can be performed by the
individual database servers. The menu bar was designed for ease of use by
selecting options from left to right. For example, the first option chosen is
, second is , and third is , and so forth.
The menu appears on the menu bar only if the user is privileged
to access any of the server command functions. For users who don't have any
command access privileges, the menu bar consists of the above mentioned options
excluding the menu. The menu bar is activated by either
depressing the key or by clicking the mouse button one (MB1)
twice over the desired option.
Menu Bar Options
This section provides further discussions pertaining to the options provided by
the menu bar. The purpose of the menu bar options are to provide a flexible
method of selecting particular status and control functions supported by
the individual database servers. The contents of the menu bar depends on
whether the user is privileged. If the user has authorization for any of the
command features, the menu is included. If the commands menu
is included and the user selects an option for which he doesn't hold the
necessary authorization, a message box appears indicating the condition.
As mentioned above, the menu bar consists of the options. The menu contains a
list of the servers the user may select to monitor and control (see figure 4).
For
example, one would select the item to access status and control
features implemented by the process. A selection must be made
from this menu before the user may continue. The menu
contains options which change depending on the server process selected from the
menu. Its contents lists the status and statistics that are
maintained by and retrievable from the particular server.
The menu provides the user with the ability to stop, start, and
modify the acquisition
rate at which the data is collected from the server. Other utility options
available under this menu include the
options (see figure 5). A
complete description of all these options is provided in the section entitled
``Monitor Menu''.
The menu provides options which allow one to manage and initiate
pages. Pages are lists of node names where various database server processes
are executing. They are setup and maintained by the user, and are stored in the
user's directory. Not all options are available to every
database server since not all can execute on multiple nodes. The ones
which can are the and processes. The options
to manage pages are (see
figure 6). Also, the option is used to initiate pages given the
selections made at the and menus. Page oriented
displays contain control buttons that can move through multiple windows of
servers or one line at a time. The buttons supported are . Descriptions of these options and control buttons are provided in a
later section.
As mentioned earlier, the menu is available to users who hold
the rights identifiers to access command functions supported by the database
servers. In addition, the contents of the menu depends on the selections made
at the and menus. Its contents lists command features
which are accessible to authorized users. A later section describes these
options.
The and menus are components of the menu bar setup by
the services. Consult the section ``Print and Exit'' for
additional information pertaining to these menus.
An additional feature provided for displays which support page functions
is the implementation of a ``floating menu''. This menu allows the user to
add, remove, or clear the or processes
which are currently being monitored. To invoke this menu, the user places
the mouse locator or the cursor anywhere within the display and either double
clicks mouse button one (MB1) or presses the key (see
figure 53).
The following sections describe additional details pertaining to the available
pulldown menus.
View Menu
The menu lists the database server processes which users can monitor
and control. The are the
options available and represent individual components of the database system.
The subprocess isn't listed in the menu, however it can be monitored
and controlled by selections made at the and
menus. This menu is the first selection made by the user to begin monitoring
or controlling database servers.
Display Menu
The purpose of the menu is to list the status and statistics
retrievable from the database server selected at the menu. The items
listed represent specific types of information that can be retrieved and
displayed. For privileged users, additional items are listed which
correspond to items supported on the menu. For example, the
process of shutting down multiple processes is initiated by
an option on the menu, and can be monitored by a corresponding
option on the menu. The menu also supports the
control buttons. The buttons are activated either
by placing the mouse locator and clicking mouse button one (MB1) twice; or
moving the cursor over the desired direction and depressing the
key. The button moves forward through
pages of servers, whereas moves backwards. The button moves
the display forward one line, whereas the moves the display backwards
one line. The control buttons are
supported only by server processes which can be run on multiple
nodes; these are the and processes.
Furthermore, the current position of the page and line number is indicated
in the upper right hand corner of the display (below the menu bar).
A menu option be chosen after a menu
selection. If not, a message box notifies the user of the requirement. The user
acknowledges the message by clicking MB1 twice or depressing
the key. The remainder of this section lists the menu
options that are available given the option chosen at the menu.
- EDBServer:
- Below lists the options which compose the menu
when the option is selected from the menu. They
represent displays that show the information that is maintained by the server
processes. The options supported by the menu can be used to
manage and initiate pages monitoring server activities. Consult the section
``DB Page'' menu for additional information.
- Serial numbers:
- This display shows the current server status, serial
numbers and build date information for the database (see
figure 7).
- Accumulators:
- The accumulators maintained by the can be
viewed by this display. The data are presented in a tabular format and
represent the current usage (see figure 8).
- Usage graph:
- The current number of users logged into the
processes is displayed in graphical form. The data are
presented in both tabular and bar graph form for each of the server processes.
The data represent the current load on the server processes (see figure 9).
- Shutdown:
- The completion status of requests to shutdown server
processes is displayed. The node names entered from the menu
option are listed, followed by the completion status. This
option is available only to users (see figure 10).
- Restart:
- This display is similar to the option but
the status of restart requests are displayed (see figure 11).
- Remap:
- This display is similar to the option but
the status of remap requests are displayed (see figure 12).
- Exit:
- This option exits the menu.
- CDBServer:
- When the option is selected from the
menu, the following options comprise the menu. Each
option represents the particular part of the and
process that can be acquired.
- Current logins:
- The maintains and displays a current
list of who is logged in, their authorization, source node name, and what time
they logged in (see figure 13).
- Counters/Access:
- Particular accumulators and counters are maintained
by the server and are displayed. Access times of particular server functions
are maintained and displayed as well (see figure 14).
- General status:
- Overall status is maintained and displayed by the
server describing the current number of users logged in, central database
status, server uptime, and other information pertaining to device modification
and device counts are displayed (see figure 15).
- Build info:
- Information specific to database
builds are maintained by both and processes and
are displayed. Some of the information includes the build phase, number of
devices built, serial numbers and dates, and completion status (see figure 16).
- DMQ:
- The is maintained by the
server and indicates which devices have been modified since the last database build
. The subprocess
uses this information to construct the database.
The list consists of the device name, device-index, and the operation
that was performed on the device, such as add, modify, delete, or rename.
In addition, the control buttons are provided and allow users to view multiple
pages of devices (see figure 17).
- NRQ:
- When database builds are executing, the
server must defer any accesses to the central database. During this time,
requests for device modifications are received as a network message and
placed into the . When the database build
is complete, the server reads the and executes the requests as
received normally. The contents of the queue can be monitored and
displayed when this option is selected. It contains counters used to facilitate
maintaining the queue, database operation, device-index and name, and other
information relevant to the request message (see figure 18).
- Exit:
- This option exits the menu.
- DSDServer:
- The options that compose the menu when the
option is selected from the menu are described in
this section. The options allow users to acquire and display the status of the
internal lists and accumulators maintained by the server.
- Current logins:
- Similarly to the , the
maintains a current list of who is currently logged into the server (see figure
19).
- General status:
- The server collects and maintains information relevant
to monitoring remote , databases, and
other accumulators which help track server usage patterns (see figure 20).
- Destinations:
- The server maintains a list of node or VAXcluster names
which are sent databases. The number of
servers and other status relevant to distributing them is
collected and maintained. In addition, the option calculates a distribution
error rate (in percentage) and displays it next to the corresponding
destination node name (see figure 21).
- Server status:
- Local and remote processes are monitored
by the server periodically for database serial numbers
and build dates. The information is collected and placed into an internal list
that can be retrieved and displayed (see figure 22).
- Server counters:
- In addition to server status, the
collects the internal counters and accumulators maintained by the
processes (see figure 23).
- Con/Rst/Rmp status:
- The current status of a connection, and restart or
remap commands can be viewed from this display (see figure 24).
- Exit:
- This option exits the menu.
- DBRPTServer:
- The menu option causes another
list of options to be displayed. Every display, except those which comprise the
option, are and offer options supported by
the menu, including the control buttons. Consult section ``DB
Page'' for information pertaining to page functions. Below describes the
options:
- General status:
- A display showing overall information
about local and remote processes. Similarly to the
options, the control buttons are available and allow users to
move through the list of node names (see figure 25).
- Cmd freq #1 and #2:
- The server collects and maintains counters for
each of the functions it supports. These values are retrieved and
displayed either by the or options
(see figures 26-27).
- Specific info:
- Information about a specific process
can be collected and displayed. The application asks the user for a specific
node name, and displays another menu listing more options. The following
describes these options (see figures 28-33).
- Current logins:
- Similarly to the other processes, the
processes maintain an internal list of who is currently logged in along with
other pertinent data (see figure 30).
- Prop frequency:
- The collects information about each
search request for device properties and attributes. This display indicates
the number of times the requests have been processed (see figure 31).
- General status:
- Overall status about the specific server is collected
and displayed (see figure 32).
- Select server:
- This option provides the user with the ability to
modify which servers are being monitored. When this option is selected, a
dialog box asks the user for a node name. When monitoring begins, a connection
is attempted to the server executing on the specified node, and the requested
information is displayed (see figure 33).
- Exit:
- This option exits the menu.
- Shutdown:
- Privileged users can request that the server be shutdown
(see figure 34).
- Restart:
- Privileged users can request that the server be restarted
(see figure 35).
- Exit:
- This option exits the menu.
Monitor Menu
The menu provides the options. These provide control to initiate
and terminate data collection at the default or specified acquisition rate, and
utilities that refresh the current display and show the selections chosen. The
options are described in more detail below:
- Stop:
- This option stops collecting and displaying data. The current
display is cleared and a message box appears indicating that monitoring is
terminated (see figure 5).
- Start:
- This option initiates monitoring at the selected acquisition
rate (see figure 5).
- Acquisition Rate:
- The acquisition rate to collect server data can be
modified. Another menu appears displaying other acquisition rates that the
user selects from. The new rate is activated by selecting the
option (see figure 36).
- Redraw Screen - (CTRL/W):
- The user can refresh the display by depressing
or selecting this option (see figure 5).
- Show Settings:
- This option displays the current and previous settings of
the options which have been selected. The display overlays the current display
showing the acquisition rate and and menu options.
In addition, the user authorization for each of the database server processes
is shown. The user is returned to the current display by acknowledging the
dialog box or automatically after one minute (see figure 37).
- Exit:
- This option exits the menu.
DB Page Menu
The purpose of the menu is to manage and initiate pages. Pages
are lists containing node names where or
processes can execute. The application maintains separate lists for each of
the servers listed above; and pages from one server are not accessible to the
other. For example, pages defined for the can't be used by
the . But, pages defined for the particular server are
accessible to all menu options. For example, the same page
can be used with the and menu options. Pages can be maintained while the application
collects information from other database servers, such as the
and processes; however, pages can not be initiated. The correct
and menu options be selected
to initiate them. Valid options include the and
menu options and their associated
menu options. If a page is initiated from a or
display, a message box appears indicating the error.
Users define pages by first selecting the appropriate and
menu options and activating the monitor.
Node names are entered by placing the cursor or the mouse locator under the
node name field in the designated area depicted by the underline characters.
The user enters the node name and depresses the key. The
application accepts the input, capitalizes the characters, attempts to connect
to the server, and begins collecting data at the acquisition rate specified
from the menu. The user is allowed to enter ten (10) node names
per screen however, if more are required, the control buttons can be used to
advance to the next screen. When the user is done entering node names, the
option (see below) is selected and a dialog box appears asking for
the page name. The page is defined and entered into index files maintained by
the application in the user's directory. The page is now
available to the user at any time and will remain defined until explicitly
deleted. If a page name wasn't entered, or there wasn't a response within
one minute, the dialog box disappears and the page is not saved.
Generally, the menu options are processed similarly between one another and
message boxes appear to instruct the user how to proceed. If a menu
option hasn't been selected, a menu appears asking to select between the
or processes, since individual index files
are maintained for each server and the application has no knowledge of which
one to access. If a selection was made from the menu, however, that
one will be used to determine which pages are accessed. The remainder of this
section describes the menu options in detail:
- Copy:
- Pages can be copied from either the same or different
menu options. To illustrate, a page from can be copied into
itself, or to the (see figure 38).
- List:
- This option allows a page to be displayed without being executed.
All defined pages are listed and the user can select which page to view. The
nodes for that page are presented as a menu. The user
select the option to terminate the menu. The user is
returned to the page list and can select another page. Otherwise, the
option can be selected to exit the option (see figure
39).
- Modify:
- This option allows the page contents to be modified without
executing the page. The user selects the page name from the list. A menu is
displayed containing all the nodes which comprise the page. The user can either
remove a node name from the list, or select the option to add a node
name to the page (see figure 40).
- Save:
- This option uses the current settings to define a
new page. The user is queried for the page name. If a key is
depressed or no response occurs within one minute, no page is defined.
Otherwise, the page is defined and entered into the directory
of the user (see figure 41).
- Delete:
- Pages can be removed by this option. The user is presented the
list of defined pages and can select which one(s) to delete (see figure 42).
- Rename:
- A page can be renamed by this option. The user is
presented a list of the available pages. A dialog box appears and asks the
user for the new name. If a key is depressed or no response
occurs within one minute, the page is not renamed. Otherwise, the page is
renamed (see figure 43).
- Display:
- This option activates the page. A menu of the defined pages
is displayed. The user then selects the page and the application places its
contents on the display and the monitor is started (see figure 44).
- Exit:
- This option exits the menu.
Commands
The purpose of the menu is to provide users
with remote command functions that control database server processes. The
particular database server is selected from the menu. Generally, the
menu is similar to the menu because the
contents of the menu is determined by what was selected from the
menu. In addition, command functions can be executed on a collection of nodes
or executed immediately depending on the selection made from the
menu. Furthermore, the options listed for the given database server
depend on its supported functionality. This section lists the available
options given the selection made from the menu.
- EDBServer:
- The options below comprise the menu when the
option is selected from the menu. The available
options are all processed in the same way; the differ only in the
command message that is sent. Therefore, the general processing will be
described here, and specifics relevant to each option will be deferred to
the section describing the option.
The general options available are: . The
intention is to create a of names which will be sent the
associated message selected from the menu. The user begins by
selecting the desired option. Another menu appears and lists categories which
group node names and other functions that can be performed. Node names are
grouped into categories that relate to arrangement, configuration, or
functionality. The categories provided are (see figure 45). Other options are available to
manipulate the and are described below:
- <all>:
- Every node name from all the categories are inserted into the
.
- <clear>:
- All node names are removed from the .
- <delete>:
- Individual node names are removed from the .
- <view>:
- The entire is displayed.
- <name>:
- Individual node names are entered into the .
- <shutdown>:
- This option asks the user whether they would like to
continue shutting down the servers. If no response is detected within one
minute, the operation is canceled and the user is returned to the menu.
Otherwise, the command message is sent to all servers that are in the
.
- Exit:
- This option exits the menu.
Selecting a category displays another menu listing the associated node names.
For example, selecting lists . Additional options are listed that facilitate the
construction of the list and are . The
functionality is consistent with the ones described above except that they
pertain only to the nodes listed in the menu (see figures 46-47). The
remainder of this section describes the specific functionality of the options.
- Shutdown:
- The command message is sent to all node names
contained in the . This method is preferred over using the
VMS DCL ``stop/id='' command.
- Restart:
- The server restart command procedure is initiated on node names
which are contained in the .
- Remap:
- Nodes contained in the are sent the
command message. The message requests servers remap their
database into virtual memory.
- Exit:
- This option exits the menu.
- CDBServer:
- The supports command functions such as
requesting database builds, managing central database
resources, and others which facilitate server operations. The
menu contains these options when is selected from the
menu (see figure 48). This section describes the options providing
command functionality for authorized users.
- Request build:
- The user selects this option when an
database build needs to be performed. The user is asked
for the type of database to build by a menu displaying
the and
menu options. If the is selected, a confirmation dialog box
is displayed. If no response occurs within one minute, the build request is
canceled and the user returns to the menu. If the option is selected,
the request is immediately sent to the server.
- Lock builds:
- Build requests are locked (disabled) by this option.
The request is immediately sent to the server.
- Unlock builds:
- Build requests are unlocked (enabled) by this option.
The request is immediately sent to the server.
- Lock CDB:
- The user locks (disables) modifications to the central
database. The request is immediately sent to the server.
- Unlock CDB:
- Modifications to the central database are unlocked (enabled).
The request is immediately sent to the server.
- Send message:
- A brief message can be sent to all users logged into the
. The option queries the user for the message. If no response
occurs within one minute, a message box appears indicating that no message was
entered. Otherwise the request is sent immediately to the server.
- Shutdown:
- A menu appears asking the user when to send the
command request and displays the options . If
is selected, the request is immediately sent to the server. If
is selected, another menu appears displaying
possible delay times (in minutes) before the request is sent. When selected,
a confirmation dialog box appears and if no response occurs within one minute,
the request is cancelled and the user exits the menu. The option
provides the user with the ability to terminate any outstanding
requests. If no request is pending, a message box appears stating
``Shutdown not in progress''.
- Restart:
- The user can request that the restart command
procedure be initiated. A dialog box appears asking the user to confirm the
request. If a response doesn't occur within one minute, the request is
cancelled and the user exits the menu. Otherwise, the application initiates
the command procedure to restart the server.
- Exit:
- This option exits the menu.
- DSDServer:
- The process supports command functions which
manage databases, and restart send commands to remote
processes (see figure 49). This section lists and describes
the menu options composing the menu when the
option is selected from the menu.
- Send database:
- Sending databases is one of the
responsibilities of the and can be initiated by this command.
A menu appears asking the user which types of database to send to remote
destinations. After that has been determined, another menu appears listing
supported destinations and other control options. Similarly to the
, the user constructs a
containing names of nodes that will be sent the specified database type.
Additional options are included to manipulate the list (see figure 50).
These are described below:
- <all>:
- This option inserts all destinations into the
.
- <clr>:
- The contents of the is cleared.
- <del>:
- Individual node names are removed from the
.
- <name>:
- Node names can be manually entered into the
.
- <send>:
- This option asks the user to confirm sending
databases to the nodes specified in the . If no
response occurs within one minute, the request is cancelled and the user is
returned to the menu.
- Exit:
- This option exits the menu.
- Send remap message:
- This option operates similarly to the
options, except that the
request
to remap the is initiated through the
process. The user selects the option to
initiate the request to the processes. The return status from
the requests is available by selecting the
menu option.
- Send restart message:
- This option operates similarly to the
options, except that the
request
to restart the processes is initiated through the
process. The user selects the
option to initiate the restart of the processes.
The return status from the restarts can be monitored by viewing the
display.
- Toggle monitoring:
- This option enables and disables monitoring
processes. The state of this option can be viewed by selecting
the option.
- Shutdown:
- This option allows the user to shutdown the server. A dialog
box appears asking the user to confirm the request. If a response doesn't
occur within one minute, the request is canceled and the menu exits. Otherwise,
the request is sent to the server.
- Restart:
- The server can be restarted from this option. A dialog box
appears asking the user to confirm the restart request. If a response doesn't
occur within one minute, the request is canceled and the menu exits. Otherwise,
the procedure to restart the server is initiated.
- Exit:
- This option exits the menu.
- DBRPTServer:
-
The process supports a minimal set of command functions which
allows users to shutdown and restart the server. This section describes those
options that compose the menu:
- Shutdown:
- This option operates similarly to the
options. The user selects the
option to initiate the request to the processes. The return
status from the requests can be monitored by selecting the menu
option (see figure 51).
- Restart:
- This option operates similarly to the option.
The user selects the option to restart the
processes. The return status from the restarts can be monitored by selecting
the menu option (see figure 51).
- Exit:
- This option exits the menu.
Print and Exit
Both the and menu bar options are part the of standard
services. When the option is selected,
services display a menu listing all the line printers that the screen can
be output to. The user can select the printer or leave the menu by selecting
the option. When the user wants to exit the application, either the
option is selected or is depressed. When
is used, a dialog box appears asking the user to confirm the action, if no
response occurs within one minute the request is canceled (see figure 52).
Appendix A: Display Figures
This page was intentionally left blank.
Keywords: EPICURE, database, EDDS
Distribution:
Normal
Security, Privacy, Legal
rwest@fsus04.fnal.gov