Software engineering of the micro/mini computer subnet in computer networks

A software design of a micro/mini subnet of a campus computer network is described. Software engineering aspects of this design include: identification of terminal, data management and communications functions which are appropriate for micro/mini implementation; logical and physical placement of micro/mini facilities; central versus autonomous operating system control; number and type of protocol layers. The practicality of distributing the above functions at the micro/mini level in a computer network is assessed.


Introduction
With advances in small computer technology and the concomitant diseconomies of scale which can occur in centralized, large-scale computer operations, organizations are increasingly looking to a more decentralized form of computing to satisfy their processing needs, centralization is distributed processing. Our purpose is to describe a methodology for the functional and software design of the micro/mini subnet of a distributed computer network. First we describe computer network characteristics and structure, contrasting distributed networks with centralized networks. This is followed by a description of the design methodology. Next the methodology is applied to the preliminary design of a campus micro/mini subnet. Finally, some conclusions are offered concerning the practicality of distributing certain functions at the micro/ mini level in a computer network.
One form of de-Unfortunately, there is a lack of agreement concerning the definition and characteristics of distributed Differences of opinion on technical and semantical points obfuscate discussions regarding the merits and applicability of distributed systems. stems from an insistence on requiring all network functions to be distributed in order for a network to qualify as a distributed ~y s t e m .~ The types of networks to be described would not qualify as distributed by that definition. However, since the systems possess a number of distributed properties and are fundamentally different from centralized networks, the distributed network classification seems appropriate. following: Some o f the disagreement These properties are the . More than one processing node. . More than one communications node. . Several levels of processing complexity.
. Inter connection of nodes at the same and different 1 eve1 s.
. In certain cases, assignment of a proces!;ing or data base function to more than one pi'ocessinq node. each of which executes in a different nolie.
. More than one autonomous operating system, Computer Network Characteristics and Structur?
Computer networks possess both logical and physical characteristics. The former is exempl ified by the functions and services provided by the network, especially in terms of the user view o f the network, while the latter is illustrated by number and types of nodes, network topology, geographic location of nodes and channel bandwidth. A logical characteristic which exerts considerable influence on network performance and re1 iabil ity is the degree of autonomous control exercised in the network over communications, data base management, language translation, program execution and resource assignment. spectrum are centralized control at a single node versus control which is distributed across several nodes.4 '5'6 '7 This characteristic, along with the logical entities, i.e. processes and process protocols, define the logical structure of the network. The physical structure of the network, consisting of node and link capacities, and network topology are derived from the logical structure. A1 though logical and physical structures may be analogous, this is not always the case. For example, a network could operate with a centralized control located at a single node, but the physical structure of the network could be highly distributed on both a functional and geographical basis. The converse can also be true in that a single computer installation at one location could operate with distributed processing and data base functions across several hardware components w.ithin the one complex. It should be noted that. certain logical functions and resources may be central?zed, such as control , while others are distributed, for example, processing and data management.
The opposite ends of this is not the complex connectivity problem which characterizes the design of nation-wide computercommunication networks. used in small networks are also considerably simplified as compared to their large network counterparts. In a large network with many different hosts, operating systems and varieties of communication formats, it is desirable to separate communications from the user and his host, both logically and physically as, for example, in the ARPANET and other systems.17 This approach allows user-to-user communication, such as file transfer, to be controlled by user level protocols without having to be concerned with the actual physical flow of data on the communications subnet. In addition, the logical and physical separation of the communications subnet from host activities improves system reliability because the effects of a host or communications processor failure are minimized.
The protocols which are An aspect of network communications that is critical for both single and multiple site networks is the transfer and storage of files.18 It is critical from the standpoint of the high communication load imposed on the system, as compared to interactive message transfer, and from the standpoint of cataloging, maintaining and synchronizing multitudinous data bases. This is of particular concern in distributed systems where several nodes may catalog and store data bases and where numerous transfers of files between nodes may occur.19 In a centralized system there is a natural repository for files and their catalogit is the central node. In a distributed system there is no natural storage location; in fact, the concept of distribution encourages the decentralization of data base management. In a system with distributed data bases there is the problem of whether the cataloging function should be centralized or decentralized. If the former i s used, catalog redundancy is eliminated but it is necessary to forward all file access requests and new and deleted catalog entries to one node, thus increasing the communication load. If the latter is employed, it will be necessary to carry duplicate catalog entries, if the user is to be given the flexibility of using, or possibly storing, files at any node. This problem will be addressed in the next section.

Design of Campus Computer Subnet
The above design methodology will now be applied to the design o f the micro/mini subnet o f the NPS Computer Network. A topological diagram of the proposed system i s shown in Figure 3.

Function Assignment for Processing Nodes and Communication Links
In the case of the NPS Computer Network, topology will be determined primarily by the desired location of local nodes to support RJE and interactive terminals. The physical location of processing nodes is immaterial to the user and is not important from a functional design standpoint. Thus, the major design problem is to assign functions and determine capacities for nodes and links.
An objective o f the network is to make available to the user a variety of processing and datt. management capabilities, in terms of computer hardware, software and communications facilities. Two operational modes are envisioned: one in which the user specifies the processing node or serv-ice by means of commands from an interactive terwinal 0by control cards via an RJE; in the second mode the system selects a node based on the type of servi:e requested and distribution of load on the #system. The latter mode would probably be the most highly used. In order to implement this type of operation, a front end processor, which we will call the Work Assiqnment Node (WAN) would be required at each user terminal cluster location for making processing assignments and for initiating the tranzfer of a job to the assigned node. the WAN may assign the job to itself. posed in which mini and micro computers serve i l l one or more of the following capacities: gent terminal , communications switcher process scheduler, and 1/0 r 2 2 r 2 3 ' 2 4 A major concern, as discussed earlier, is whether system-wide status information mu!;t be available to all nodes or whether each node or cluster of nodes could operate primarily with lxal status information and in ignorance of much of the remaining network's operation. To adhere to a principle of distributed computinglocal autonomy and at the same time not impose an excessive status information communications load on the network, the following approach would be used:  if the node is capable of processing thc job and the user has not designated a processing node.
. If the job is too large for local processing, the WAN requests permission from a larger node to transmit the job to that node for processing . . Data retrieval and file updates can be tlirected to any node from any terminal by rieans of a WAN. . Distribute operating system control among nodes, rather than concentrate control (it a master node. . Provide autonomy of operation at each node. This means that each node would be able to function at i t s own level or a lower ledel without assistance from a higher level (a micro-based terminal could perform text editing without assistance from a maxi computer).
. Only involve a node with another node when it is necessary to communicate requests and status information between nodes and to transfer files.
. Provide for logically disconnecting and isolating nodes from the rest of the network for purposes of: (1) reducing system load when network services are not required by these nodes ( 2 ) providing experimental ,