WORK IN PROGRESS
System management is the task of installing, administering, and maintaining a communications system. Customer and technician access to software-based administration and maintenance capabilities in the System 75 office communication system occurs through an on-line video display terminal called the System Access Terminal (SAT). With the SAT, the user may install, test, rearrainge, and change equipment and services. The SAT hides the internal complexity of the system while presenting all the capabilities in a simple manner as possible. A layered software archtiecture is to used to preform data view mapping from the user view the internal data representation.
An intergral part of System 75’s enriched feature set is its capabilitiy of allowing the user to install, test, rearrainge, and change equipment and services, and select a large number of per-user and system feature options. The user accomplishes this by entering and modifying data in the system’s distributed translation database. Also avaliable are system-generated measurement reports, translation data backup on cartridge tape, and bulk data transfer (translation data and program updates ) to AT&T Information Services Operation Support Centers.
One objective of the system management task of System 75 is to allow customer participation by providing an interface that can be used by customer personnell as well as AT&T Information Systems technicians. This interface hides the internal complexity of the system while presenting all the capabilities in as a simple manner as possible.
This article discusses the key concept of this user interface an the layered archtiecture that makes reliabile translation database management as possible.
II. TERMINAL USER INTERFACE
2.1 System access
System 75 operations and training are simpltied by providing a single system-management user interface. Customer and local technican access occures through an on-line video display terminal called the System Access Terminal (SAT) . The SAT (the 513 or 515 BCT) may be
- Directly connected to an RS-232C EIA port,
- Switched through a Digital Communications Protocl (DCP) dial-up port, or
- Switched through a modem dial-up port for off-premises access (Fig. 1)
The local SATs operate at 9600 baud while the remote SAT – connected via a Direct Distance Dialing (DDD) line – operates at 1200 baud. In addition to the SAT interface, a 1200-baud, X.25, host-to-host interface is provided to accomodate the remote AT&T Information Systems Operations Support Center.
2.2. Terminal user access
Access security, an important aspect of any shared access system is maintained through the use of login names and passwords. Repeated invalid passwords will cause the system to drop the line and increment a security violation count.
Multi user access is also important. System 75 allows two SAT users and one remote operations host to be logged in at the same time. user convention is managed on a per-command basis and only one user at a time may execute a command that changes the database. This eliminates the confusion that exist when two users interact with the same data. These design requirements gratefully simplified the architecture and implementation.
2.3. Terminal interface screen layout
A simple, consistent, easy-to-understand screen layout is an essential element of a good user interface. The System 75 terminal interface is divided into four regions (Fig 2):
- A command path or command history line
- A 20-liine command output or activity window
- A help/error message line
- A command line
2.4. Command entry
Command organization is another important aspect of a good user interface. Upon logging in, the System 75 user is placed in a single-level command entry state. All commands are directly accessible from this state. There is no tree structure to traverse or mode keys to depress to move among administrative and maintenance commands.
Commands are logically devided into ten “administratable” categrories. Each user login name is allowed or denied permission to execute commands on a per-command category basis. Confusion is eliminated because a user only see those commands that he has permission to execute. As the need and desire for customer participation inceases, the customer may be given permission to execute more commands.
The commands uitilize English-like phrases. The format is action, object, qualifier* For example, the command to add station set with the extension number of 3621 is:
*Museum Note, take that unix nerds!
add station 3621
where add is the action to be performed, station is the object being acted on and 3621 is the qualifier. Complete or partial commands may be entered providing the user enough characters of a parameter to disginuish it from other legal parameters. For the example above, the cpommand could be entered as:
a s 3621
The systme prompts the user with an on-line message and, at any time, the user may request assistance by depressing the help key. The response from the system depends on the parpameter type to be entered; if the action or ojbect, then the list of valid actins or objects is displayed if a qualifier, a message is displayed describing the format and type of data to be entered. For an example, if the command was
add station 20
the system would respond with the message
20 is an invalid entry. Please Press Help.
If the help key were depressed, the system would respond with the message
where 100-8000 are valid extension numbers. This sort of prompting gratefully reduces training time and paper documentation. Other actions include display, change and remove.
2.5 Command output
Three basic types of output appear in the activity window
- A status report
- A data entry form, and
- A restricted form
A status report is produced when a display command is entered, a data entry form is produced when an add or change command is entered. In the data entry form state, the user may modify the data and then store away the changes by depressing the enter key. In the restricted form state, the user is prohibited from modifying the data on the screen. the data are displayed only to allow the user to verify that the correct data are being removed. The user may depress the cancel key to abort any operation.
2.5.1 Data entry form state
The data entry form state allows formatted, forms-based data entry. Forms are associated with a specific task. For example, the station form is used to display the precise data required to add a station set (Fig. 3). Fields are added or removed from the form dynamically, as required. When the data entry form stat is invoked, a form appears in the activity window with data fields defaulted to the most commonly used values. The command entered and the number of form pages appear in the command history line.
Standard cursor control keys (arrow, next/previous field, clear feiald, next/previous page, and refresh screen) allow the user to move about the form in a prescribed way. In the station form, the next field key moves the cursor left to right in the upper part of the form. This guides the user to complete the form in an orderly manner. However, the arrow keys provide the flexibility to move the cursor in any desired direction.
2.5.2 Data validation
In some systems, data are validated only after all data have been entered. Where possible, System 75 performs validation immediately as data are entered or change (see Section 3.4). This allows immediate response to many user errors, thereby decreasing the overall user time required to enter and validate a given form.
2.6 Special commands
Two special commands were added to assist the user in adding objects to the system. One handlesthe case where the user wants to add an object and does not know the next avaliable qualifier. For this case, the add object next command is provided. For example, if add station next is entered the system searches the database, selects the next avaliable extension number, and invokes the data entry form with the selected extension number.
The duplicate station command speeds the addition of a station by copying data from an existing station. For example if duplicate station 3261 is entered, the system invokes the data entry form state and isplays a station form with data identical to those of station 3261, except that the extension, poer, and name fields are blank. These differenting fields may then be entered to create the new station.
In summary, the SAT provides a simple, easy-to-understand user interface that may be used by the AT&T Information Systems technican and trained customer personnel.
III. SYSTEM MANGEMENT ARCHITECTURE AND DESIGN
The system management software provides four functions all of which are avaliable through the SAT:
- Measurement collection and reporting
- Maintenance testing and reporting
- Translation data backup on tape
- Translation database management
The measurement collection and reporting cabiblity provides hourly traffic data on engineered resources e.g. trunk groups, which are made avaliable though formatted reports. Maintenance reporting and testing capablilities include the demand testing of circuit packs and terminal equipment and the display of system error and alarm logs. Translation data backup on tape provides system translation data backup on a secondary storage medium. Underlying all system managmenet functions is trnaslation database management. The remainder of this article concentrates on this topic, and the software designed to support it.
Translation database management software provides four important functions: data view mapping, database validation, form trancactions, and concurrency control. Data view mapping allows a user to display and change all translation data related to a single task (e.g. station installation ), while hiding the complexities of the internal data organization. Database validation ensures that the data entered into the system are individually correct and consistent with respect to other data. For example, validation ensures that the exntesions assigned to stations are consistent with the dialing plan. Tranactions ensure that all the translation data entered on a system form are ether valid and accepted or inconsistent and rejected. Concurrency control allows htere to be multiple SAT users and, at another level, ensures that the switch services software will not use critical data tat are being changed. before describing how these functions are accomplished, we provide a brief overview of the systems management software structure. The software consists of three layers:
- User interface and control
- Command execution and validation
- Data access and storage
The user interface and control layer provides users with links to the system ether the SAT or the X.25 remote link. The command execution and validation layer and the data access and storage layer provide a single, record-based interface to the user interface and control laywer, independently of the access method. Figure 4 shows a block diagram of the essential software layers and components.
The command execution and validation layer consists of four software modules, each of which supports the different logical functions describved above: (1) measurement collection and storage, (2) administration datbase update/validation, (3) maintainance command exectution, and (4) translation backup on tape.
The data access and storage layer consists of the administration datavase access module and all the processes which store translation data.
3.1 Data view mapping.
Translation data in System 75 are distributed. They are contained in the local data space of the processes that access them in order to meet real-time requirements for voice and data switching. This results in fragmentation of logically related data. System management software maps the data entered on forms (the logical view of translation data) into the internal view of data as required by the switch services architechture.
3.1.1 Low-level view of data.
The administrative database access module distributes and retrieves translation data using a record-based interface. This is acomplished by a set of C language library functions that are supported by each process storing translation data. This interface is akin to the data manipulation of database management systems. At an abstract level, however, this interface is designed to be less powerful than a true database management systems (e.g. relational manipulations on inetnal tables are not supported.) the reason for this choice of the design is to reduce complexity and generality of access methods, thereby increasing the speed of data retrieval.
A simplified view of low-level data view mapping is shown in Fig. 5. It consists of two parts: mapping extrenal identifers to internal identifiers and distributing data values to the process storing translation data. This concept is illustrated by lookingat some of the data associated with a station set (see Fig. 6). The external identifier for a station is its extension i.e. the number dialed to cal the station. Some of the data associated with this station are the typ (digital) name of hte person assigned to the station (John Doe), and various buttons.
The internal identifier for hte station is an ordered pair (TYPE, INDEX) where TYPE=STATION identifies the station table. This internal identifier is generated by finding the fdirst empty slot in the station table., The internal identifer is then to be used as a key to identify other data for the station in the button table and the miscellanous data table. The mapping from the extension-to-internal identifer table is used whenever a station extension is dialed.
In summary, the mapping between internal and external identifiers is accomplished completely within the data access and storage layer.