EPICURE Software Release Note 140.1<P> <b> EDDS Status Application</b>

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