New ProductsThe data does not change its organizationwhen passing through the collect, store, and distributefunctions. It may change its form (e.g.,from binary to text) , but that is relatively minor.Within that portion of the monitor, the functions '·can be viewed as simple database actions (i.e.,read a record, wdte a record, etc.). As with adatabase, deciding how to organize the data isthe most important decision in the design of thesystem.We found we could organize the data so thatany record could be identified with three keys:the component, the informatiOti."type, and thetime of collection.ComponentsIn a logical sense, components are the variouspieces of the network that must be representedin NMCC. Fundamentally, a DECnet networkconsists of computer systems and the communicationsfacilities (wires) that join them. Thosesystems and wires are the main components modeledby the monitor, and, since it also has to manageitself, some of the monitor's components areincluded as well. In that way, we unified twoseparate functions within a single concept. Figure3 shows the component hierarchy that isbuilt into the monitor. The hierarchical relationshipshown in this Bachman diagram reflects thenaming relationships between the components.Each component located below other componentsin the hierarchy is considered to be part ofthose components. For example, a circuitlocated below a system is part of that system.Information TypeAll the component attributes collected and displayedby the monitor could be viewed as a singledata record. For practial reasons, however,the attributes are distinguished by a number ofdifferent information types'. The <strong>Digital</strong> NetworkArchitecture (DNA) structure that underlies allDNANETWORKMANAGEMENT..-· ·.-· ··.... .: ... ..., _:...... .. (. .. · .NICE•PROTOCOL••DNANETWORKMANAGEMENTFigure ,2NMCC DECnet Monitor, Top Level Structure<strong>Digital</strong> <strong>Technical</strong>journal 131No. 3 <strong>September</strong> 1986
Th e NMCCjDECnet Monitor DesignFigure 3Component HierarchyDECnet products provides three of these informationtypes:• Characteristics parameters that control thebehavior of the DECnet network• Status parameters that reflect the dynamicstate of the DECnet network• Counters that are incremented when animportant event occurs (e.g., a data packet isreceived)In addition, reference information provided byusers and definition information used in namingare two more information types. The NMCC systemstores data from all five types. From thatstored data, NMCC can compute three moreinformation types: statistical, topological, andsummary information .Time of CollectionThe monitor collects and stores historical data.This third key, the time of collection, is used todistinguish historical records. While data alwayshas a value, the monitor can collect only samplesof it.By examining the attributes of' the variousinformation types, we found that the data itselfcould also be classified. For example , parametricdata is fa irly constant over a period of time.Rather than store the values found in each sampletogether with the time the sample was collected,we store the values found plus the timesthose values were first and last seen, thus savingstorage space. Counters change much more frequentlythan parameters, however, and, in fact,more frequently than they can be sampled. Inthis case each sample taken is stored with a timestamp, indicating the time of collection. Thelocal clocks of the systems monitored cannot beused for the time stamps since they are not synchronized,nor can they be guaranteed to run atthe correct rate. Thus NMCC uses its own timestamps, calibrated in Universal Coordinate Time(Greenwich Mean Time) , which are generatedwithin the kernel.Request /Response OperationWithin the data model, only a few simple functionsare needed to operate on the data. Thosefunctions create and delete components, readcollections of records (defined by their keys) ,write records, and set one or more parameterswithin records.Each function can be modeled as a requestissued by the client software wanting that func-'tion performed, fo llowed by one or moreresponses to that client from the server performingthe function. This interaction is shown inFigure 4.News FunctionOnce each record has been appropriately timestamped, it is easy to access historical informationin the database . To support a real-time operation,changes in the data displayed have to becommunicated from the kernel to the user interface.To accomplish that transfer, we defined aspecial time value called "current." Reading thedatabase with the time key of current causes thedata responses to be returned in two phases. Inthe first phase, the most recent data is read fromthe on-line database. In the second phase, the132<strong>Digital</strong> TecbnicalJournalNo. 3 <strong>September</strong> 1986