Netzwerke mit Alternativcomputern:

Abgeschlossene Datenbanken im Netz bilden

22.06.1984

Die Netzwerkkonzepte der Minicomputer-Hersteller Digital Equipment und Hewlett-Packard nimmt der schweizerische Unternehmensberater Ewald Maria Mund in seinem folgenden Beitrag unter die Lupe. Mund wählte diese beiden Konzepte für seine Betrachtungen aus, da sie am weitesten verbreitet seien und man gezwungen sei, zwischen den beiden Extremen "von nichts alles oder von allem nichts zu wissen" eine sinnvolle Wahl zu treffen. Der Autor beschreibt im wesentlichen die Benutzer- und Programmierschnittstellen. Übertragungsprotokolle und Transportfunktionen werden nur am Rande besprochen.

Zunächst ist festzuhalten, daß am Wort "Minicomputer" mittlerweile das Wort "Mini" wohl durch die zeitliche Entwicklung überholt wurde "Alternativcomputer" wäre ein besserer Ausdruck (auch wenn "alternativ" zumindest politisch eine Sinnverschiebung erfahren hat). Zum einen sind sogenannte Minicomputer keine Minicomputer mehr, denn es lassen sich heute zum Beispiel sowohl eine VAX 780 als auch eine HP 3000/68 auf bis zu 8 Megabyte ausbauen, und dies bei einer Geschwindigkeit der CPU, die einer IBM 43XX sicherlich zu schaffen macht. Zum anderen haben sich Digital Equipment als auch Hewlett-Packard von Anfang an als Alternative der Dezentralisierung der Datenverarbeitung verschrieben und somit "Alternativcomputer" und die dazugehörigen Netzwerke entwickelt.

Alternativcomputer lassen sich mehr oder weniger leistungsstark in einem Rechnernetz einsetzen. Die zu bewältigenden Aufgaben vor Ort diktieren die Mächtigkeit eines Rechners im Netz. Primäres Ziel von DEC-NET und HP-DSN ist es, Computer untereinander zu verbinden und dies auf recht hohem Niveau - zum Beispiel Remote file access und Remote files transfer - zwischen verschiedenen Rechnern im Netz möglichst einfach durchzuführen.

Netzwerke von "Alternativcomputern" sind daher rechner- und nicht terminalorientiert. Im Vergleich dazu ist es primäre Aufgabe von Mainframe-Netzwerken (IBM-SNA, Siemens-Transdate), Terminals an Rechner anzuschließen. Daher sind bei "Alternativcomputern" aufgrund ihrer Dezentralisierung Terminals im allgemeinen lokal angeschlossen (dies bedeutet aber nicht, daß sich Terminals bei "Alternativcomputern" nicht auch remote anschließen lassen). Es gibt aus diesem Grunde sowohl bei DEC-NET als auch bei HP-DSN keine Netzknotenrechner, die ausschließlich die Funktion haben, als Vermittlungsknoten für die Verbindung Host-Terminal zu fungieren.

Im einfachsten Fall nur ein Rechner

Die Konzeption von HP-DSN (Hewlett-Packard Distributed System Network) ergibt sich schon aus dem Namen: HP versteht unter "Distributed Systems (DS) die Möglichkeit, gleichartige Rechner, also Rechner der Familie HP 3000 als auch der Familie HP 1000, untereinander jeweils zu monogenen Netzen zu verbinden.

Diese monogenen Netzwerke (DS 3000 beziehungsweise DS 1000), die im einfachsten Fall jeweils nur aus einem Rechner bestehen können, lassen sich über HP-DSN zu einem heterogenen Netz, eben dem "Distributed System Network" verbinden.

Die Philosophie von DS 3000 ist denkbar einfach:

Terminals, Dateien, Datenbanken, Peripheriegeräte als auch die Programmausführung selbst werden rechnerunabhängig betrachtet. Dies bedeutet, daß erst zur Programmausführungszeit einem Programm durch Kommandos (JCL) mitgeteilt wird, wo sich die zu verarbeitenden Dateien, Datenbanken oder Terminals befinden, ob sie lokal oder remote an einem anderen System HP 3000 zur Verfügung stehen. Der Programmierer braucht also zur Programmerstellungszeit nicht zu wissen, wo die zu verarbeitende Datei, Datenbank ist: Er entwickelt sein Programm - unabhängig in welcher Programmiersprache - lokal, testet es und gibt es dann zur Verarbeitung frei. Damit können sogar Programme benutzt werden, die auf seinem System HP 3000 entwickelt wurden, als es DS 3000 noch nicht gab (vor 1977).

Diese Rechnerunabhängigkeit von Kommandos und Programmausführung, von Dateien, von Peripheriegeräten sowie von Datenbanken erreicht HP im wesentlichen durch die Implementierung folgender Eigenschaften:

- Virtuelles Terminal, Remote command processing

Nachdem der Anwender durch die Eingabe eines "DSLINE"

-Kommandos dem System mitgeteilt hat, mit welchem Rechner er arbeiten möchte, und das System die Verbindung mit dem gewünschten Rechner hergestellt hat, wird sein Terminal durch die Eingabe des Kommandos "Remote ein logisches Endgerät oder - in HP-Terminologie und wie wir bei DEC-NET noch sehen werden - für das Remote System ein virtuelles Terminal, das nun genauso arbeitet wie ein lokales System.

- Remote file access und Transfer

Lediglich durch die Zugabe eines Knotennamens innerhalb einer Dateianweisung der Job-control-Sprache wird dem System und damit dem ausführenden Programm mitgeteilt, wo sich die zu verarbeitende Datei befindet. Bleibt noch zu erwähnen, daß bei dieser Konzeption sämtliche Dateizugriffsarten (sequentiell, random, indexsequentiell) genauso unterstützt sind wie beim lokalen System. Das gleiche gilt für die verschiedenen Satzarten mit fester, variabler und undefinierter Satzlänge. Aus diesen Eigenschaften heraus erlaubt DS 3000, mit dem gleichen Kopierprogramm lokale und Remote-Dateien von einem zum anderen Rechner zu kopieren; es entsteht kein zusätzlicher Softwareaufwand für den Anwender.

- Device sharing

Da Peripheriegeräte für moderne Rechner durch entsprechende Dateibehandlungssysteme selbst als Dateien mit bestimmten Eigenschaften aufgefaßt werden, ergibt sich die Rechnerunabhängigkeit von Peripheriegeräten selbst für den Hersteller automatisch. Insbesondere gilt dies auch für Drucker, die "gespoolt" sind. Diese Rechnerunabhängigkeit von Peripheriegeräten erlaubt vielfältige Anwendungen. Überbrückung von Ausfall von Peripheriegeräten, bessere Ausnutzung wenig genutzter, aber notwendiger Peripheriegeräte wie Magnetbänder, Plotter, Laserprinter. Zusätzlich ist innerhalb von DS 3000 Remote-Sicherung des Systems möglich, was allerdings nur bei schnellen Übertragungsleitungen einen Sinn ergibt.

- Remote data base access and transfer

Was für Dateien recht ist, ist für Datenbanken billig. Um auf eine Remote-Datenbank zugreifen zu können, muß lediglich der Knotennamen zum Datenbanknamen hinzugefügt werden. Die Philosophie von Hewlett-Packard (ähnlich wie bei dem System VAX 7XX von Digital Equipment) ist, Daten nicht in einer Datenbank auf mehreren Systemen zu verteilen, sondern sie jeweils in abgeschlossenen Datenbanken je System zu speichern und auf diese Datenbanken ohne zusätzlichen Softwareaufwand rechnerunabhängig zuzugreifen. Die Eigenschaften Remote command processing, Remote file access und Transfer erlauben ein Remote-Job-Entry-System für HP 3000 sowie für DEC-Systeme untereinander. Hierbei kann die Eingabe zur Verarbeitung als auch deren Ausgabe von und zu jedem Rechner gesteuert werden. Um IBM-Terminologie zu benützen: Die Eigenschaften des IBM-Produktes "Power VSE" stellen sich ebenfalls als ein Nebenprodukt von DS 3000 heraus.

Wenn mehrere Rechner innerhalb eines Netzes verbunden sind, ergibt sich automatisch der Wunsch, daß Programme auf verschiedenen Systemen miteinander kommunizieren möchten. Hierzu gibt es beim System HP 3000 zwei Möglichkeiten.

- Master-Slave-Konzept (synchrones Verfahren)

Hierbei startet ein Masterprogramm ein Slave-Programm auf der Remote-Seite und tauscht mit diesem Programm Daten aus. Der Vorteil dieses Verfahrens liegt darin, daß das Slave-Programm automatisch auf der Remote-Seite gestartet wird (synchron mit dem Master-Programm) und anschließend auch wieder auf Wunsch des Master-Programms beendet wird. Der Nachteil hierbei ist, daß dazu der Programmierer spezielle Aufrufe von Unterprogrammen in sein Programm plazieren muß.

- Kommunikation über "Message-Dateien" (asynchrones Verfahren)

Hierbei kommunizieren zwei (oder mehrere) Programme über eine Message-Datei. Dies erfolgt - und darin liegt der Vorteil - über die normalen Read- und Write-Anweisungen der entsprechenden Programmiersprache (Cobol, Fortran, RPG), was bedeutet, daß sich der Programmierer auch hier keine besonderen Kenntnisse aneignen muß; vielmehr können bestehende Programme ohne Neuübersetzung durch Verwendung eines Job-Control-Kommandos auf Message-Dateien zugreifen. Der Nachteil besteht allerdings darin, daß jedes Programm für sich (asynchron) zu starten ist.

Zentrale Kontrolle und Programmpflege

Insbesondere bei monogenen Netzwerken ist eine umfassende Kontrolle dezentral installierter Systeme möglich. Diese zentrale Kontrolle kann soweit gehen, daß man dem lokalen Benutzer genau vorschreiben kann, welches Programm er ausführen und auf welche Daten er wie zugreifen darf. Dezentrale Datenverarbeitung bedeutet somit nicht Verlust der zentralen Kontrolle.

Das DS-3000-Transportsystem unterstützt alle Arten von Leitungen wie Wähl- und Standleitungen bis zu einer Geschwindigkeit von 56 Kilobit pro Sekunde (V.35). Das gleiche gilt für X.25- und X.21-(Skandinavien)Netzwerke. DS 3000 ist "multileaving"; dies bedeutet, daß mehrere Benutzer in verschiedenen Richtungen jegliche Funktionen wie Remote File Access oder Remote Data Base Access anwenden können. Zu X.25 ist zu bemerken, daß Hewlett-Packard kein "User Interface" anbietet. Somit können über X.25 lediglich HP-Systeme angeschlossen werden, also keine Fremdsysteme. Die Unterstützung wird erweitert durch X.25 Pad Cluster Controllers, die eine kostengünstige Alternative zum Anschluß von Terminals via X.25-Netzwerken bietet.

Die Benutzung von Ethernet (IEEE 802.3) als (lokales) Transportsystem soll im Laufe des Jahres 1984 freigegeben werden (im Gespräch mit Hewlett-Packards-Entwicklungsingenieuren kann man jedoch den Eindruck gewinnen, daß man weniger an Ethernet als vielmehr an die Zukunft von PBX als integriertes lokales Transportsystem glaubt. Man wartet jedoch auf eine Standardisierung auf dieser Ebene).

DS 1000 stellt das zweite monogene Netzwerk innerhalb von HP-DSN dar. Es hat im wesentlichen die gleichen Eigenschaften wie DS 3000 mit gewissen Einschränkungen als auch zusätzlichen Möglichkeiten. Nachstehend sind daher nur die Unterschiede zu DS 3000 beschrieben.

Remote file access und Transfer wird voll unterstützt, allerdings mit Einschränkungen. Der Programmierer muß von Anfang an wissen, daß er Remote file access durchführen will. Für alle Remote-Aktivitäten stellt DS 1000 bestimmte Calls (Aufrufe von Unterprogrammen mit Parameter) zur Verfügung, die sich von den lokalen Calls im wesentlichen durch einen zusätzlichen Parameter nämlich den Knotennamen, unterscheiden. Ist sich ein Programmierer unschlüssig, ob eine bestimmte Dateimanipulation lokal oder remote auszuführen ist, so empfiehlt Hewlett-Packard, Remote file access calls zu benützen und als Knotennummer 0 anzugeben. Dies bedeutet dann immer einen Zugriff auf das lokale System. Remote file access calls werden beim System HP 1000 in den Programmiersprachen Assembler, Fortran und Pascal unterstützt. DS 1000 besitzt somit nicht die schöne Eigenschaft wie DS 3000, lediglich durch JCL-Kommandos Remote file access calls herbeizuführen.

Bleibt noch zu erwähnen, daß das I/0-Mapping bei DS 1000 das Zuordnen von Knotennamen dynamisch erlaubt, so daß die Möglichkeit besteht, innerhalb des Netzes auf jeden Knoten zuzugreifen, ohne ein Programm zu recompilieren.

Remote data base access auf Datenbank "Image 1000" ist ähnlich möglich wie Remote file access. Auch hier hat der Programmierer bei den entsprechenden Calls lediglich einen Knotennamen mitanzugeben. Interprogrammkommunikation ist identisch mit dem Master-Slave-Verfahren von DS 3000. Die Möglichkeit von Message-Dateien entfällt.

Für Kenner des Systems HP 1000 sei darauf hingewiesen, daß sämtliche Exec-Calls, wie Programm schedule, Time request, Partition status Program status und I/0-Funktionen ebenfalls remote unterstützt sind.

Suche nach dem billigsten Weg

Obwohl die Systeme HP 3000 und 1000 verschiedene Rechnersysteme sowohl in der Hardware als auch in der Software darstellen, sind mit der Ausnahme von Remote data base access zwischen den verschiedenen HP-Systemen alle anderen Remote-Funktionen durchführbar, allerdings mit einem geringen zusätzlichen Softwareaufwand. Möchte ein HP-3000-Programmierer auf Daten des Systems HP 1000 zugreifen, so muß er in seinem Programm die entsprechenden 1000-Calls einbauen. Dies bedeutet, daß in diesem Fall der Programmierer des Systems 3000 über Kenntnisse der HP 1000 verfügen muß. Umgekehrt verlangt der Zugriff auf Daten des HP 3000 von einem System 1000 aus Kenntnisse insbesondere des Dateisystems des 3000-Rechners.

Es befinden sich somit zum Beispiel in einem Fortran-Programm auf dem System HP 1000 Calls für die Dateimanipulation des Systems HP 3000. Eine Ausnahme bildet dabei die Interprogrammkommunikation mit Hilfe des Master-Slave-Konzepts. Hierbei gibt es keinen Unterschied, ob die Kommunikation mit einem gleichartigen Rechner oder einem andersartigen Rechner stattfindet. Mit Interprogrammkommunikation läßt sich der Mangel von Remote data base access ausgleichen, da mit diesem Hilfsmittel, wenn auch mit gewissem Softwareaufwand, Datenaustausch zwischen den Datenbanken möglich ist. Durch diese Verbindungsmöglichkeiten der Systeme HP 1000 und HP 3000 wird HP-DSN zu einem heterogenen Netzwerk.

Die Tischrechnersysteme HP98XX als auch das Mini-Datenbanksystem HP 250 und der "Personal Computer" HP 125 erlauben eine einfache Verbindung zum System HP 3000. Hierbei wird allerdings nur Remote command processing (virtuelles Terminal) und Remote file transfer in beide Richtungen unterstützt. Der Vollständigkeit wegen ist zu erwähnen, daß alle Systeme (Ausnahme HP 125) File transfer via Schnittstelle IBM 2780/3780 erlauben. Dies gilt vorweg auch für alle Systeme der DEC-NET-Familie.

Ein kleines Beispiel macht den Unterschied zwischen DEC-NET und HP-DSN leichter verständlich:

Zwei Personengruppen, zum Beispiel Italiener und Franzosen, treffen sich. Damit eine Unterhaltung miteinander stattfinden kann, muß man sich vorher auf eine gemeinsame Sprache einigen. Hierzu gibt es mehrere Möglichkeiten, aus denen zwei herausgenommen seien:

1. Alle Personen benutzen ausschließlich beispielsweise die englische Sprache. Dies gilt auch dann, wenn sich Franzose mit Franzose und Italiener mit Italiener unterhalten. Dieses Prinzip umgesetzt verfolgt das DEC-NET-Konzept.

2. Redet Italiener mit Italiener (Kommunikation HP 3000 mit HP 3000), so spricht man italienisch (normale HP-3000-Calls); redet Franzose mit Franzose (Kommunikation HP 1000 mit HP 1000), so spricht man französisch (HP-3000-Programme enthalten HP-1000-Calls).

3. Spricht Franzose zu Italiener (HP 1000 zu HP 3000), so spricht er italienisch (HP-1000-Programme enthalten HP-3000-Calls). Dieses Prinzip entspricht HP-DSN.

Aus diesem Vergleich geht hervor, daß DEC-NET von Anfang an als heterogenes Netz konzipiert wurde, selbst, wenn sich innerhalb dieses Netzes nur gleichartige Systeme wie PDP 11/70 befinden. Ausnahme davon bildet das System VAX/VMS.

Im folgenden sind die Eigenschaften von DEC-NET gemäß Phase IV beschrieben. Innerhalb von DEC-NET lassen sich folgende Rechner integrieren; System PDP8, alle Modelle PDP 11/XX, System VAX, System DEC20, die zum größten Teil alle folgende Kommunikationsmöglichkeiten unterstützen.

Mit dem Terminal communication utility (TLK) erlaubt DEC-NET jedem Terminalbenutzer (Ausnahme VAX/VMS), Meldungen an jedes andere Terminal eines Rechners im Netz zu senden. Ganz allgemein ist mit diesem Hilfsprogramm ein Dialog mit einem anderen beliebigen Partner innerhalb des Netzes möglich. Es ist nicht mit "Remote command processing" zu verwechseln; vielmehr stellt TLK eine Art Telefonsystem dar, wobei man als Telefonnummer zuerst die Vorwahlnummer (Knotennummer des Rechners) und anschließend die Telefonnummer selbst (Terminalnummer) wählt. TLK stellt dann die Verbindung her. Kommunikation mit dem Remote-Rechner selbst (also die Eingabe von Kommandos für den Remote-Rechner) ist nicht möglich sondern nur ein Gespräch mit dem dortigen Terminalbenützer (lokale Gespräche mit TLK sind ebenfalls möglich). Das nächste Hilfsprogramm, RMT, erlaubt ebenfalls Telefongespräche.

Unter dem Hilfsprogramm Network command terminal facility (RMT) ist genau das gleiche zu verstehen wie unter "Remote command processing" oder "virtuelles Terminal" innerhalb von HP-DSN. Es erlaubt dem Terminalbenutzer, sich an jedes System von DEC-NET (bei VAX/VMS; Set Host) anzumelden und dort Kommandos einzugeben. Da DEC-NET ein heterogenes System darstellt, sind gewisse terminalspezifische Funktionen wie Benutzung von Blockmode nicht überall unterstützt. Ist ein Benutzer remote angemeldet, so kann er dort jedem anderen Benutzer eine Meldung schicken. Insofern unterstützt RMT (und auch HP-DSN) einen "Telefondienst". Allerdings muß man sich bei Benützung von RMT (wie auch bei HP-DSN) zuerst beim Remote-System mit einem" Logon" anmelden, was nicht allen Benützern erlaubt ist (Eingabe von Paßwörtern verlangt).

Der Remote file transfer innerhalb von DEC-NET geschieht mit den beiden Hilfsprogrammen Network file transfer utility (NFT) und File transfer spooler utility (FTS).

Zusätzlich gibt es folgende Möglichkeiten: Löschen von Remote-Dateien, Anlisten aller Remote-Dateien mit Namen (List remote mode directories) und eine Art Remote job entry zwischen DEC-NET-Rechnern.

NFT und FTS unterscheiden sich im wesentlichen dadurch, daß bei FTS angegeben werden kann, wann die entsprechende Aktion durchzuführen ist. FTS erlaubt somit Filetransfer in "Unattended mode", da bei FTS alle Aufgaben zuerst in eine Warteschlange gelangen, während die Aktionen bei NFT sofort durchgeführt werden. Es besteht somit bei FTS auch die Möglichkeit abzufragen, wie weit die Aufgaben schon durchgeführt wurden oder auch Aufgaben aus dieser Warteschlange herauszunehmen. Bei beiden Hilfsprogrammen muß sich der Benützer auf dem Remote-System durch Angabe eines "Account-Namens" und eines möglichen Paßwortes zu erkennen geben (Datenschutz).

Da DEC-NET ein heterogenes System ist, stellt Remote file access ein gewisses Problem dar, denn die Dateistrukturen sehen auf den verschiedenen Systemen jeweils verschieden aus. DEC-NET erlaubt den Dateizugriff quasi als kleinsten gemeinsamen Nenner auf sequentielle Dateien. Sequentielle Dateien lassen sich nur sequentiell lesen und schreiben, das sequentielle Erweitern (Append) ist möglich. Weiterhin können sequentielle Dateien erstellt und gelöscht werden. Alle diese Funktionen sind im allgemeinen in Assembler, Fortran und Cobol möglich.

Bei der Interprogrammkommunikation innerhalb von DEC-NET - dort Intertask-Kommunikation genannt - gibt es keinen Unterschied zwischen synchroner oder asynchroner Kommunikation. Das lokale Programm versucht eine Verbindung mit dem Remote-Programm aufzunehmen. Falls sich dieses Remote-Programm noch nicht aktiv im Remote-Rechner befindet, wird es von der DEC-NET-Software automatisch gestartet. Das Remote-Programm kann wie bei HP-DSN die Verbindungen mit dem lokalen Programm akzeptieren oder ablehnen. All dies hat der Programmierer vorher im Programm vorzusehen. Zusätzlich zu HP-DSN gibt es innerhalb der Intertask-Kommunikation bei DEC-NET die Möglichkeit, "Interruptmessages" zu senden. Diese Messages werden von der DEC-NET-Software mit größerer Priorität über das Netz geschickt.

Allerdings wird das Empfängerprogramm bei der Ankunft einer Interruptmessage nicht unterbrochen; vielmehr ist es Aufgabe des Programmes selbst, "gelegentlich" abzufragen, ob Interruptmessages angekommen sind. Kommunikation via Messagefile gibt es innerhalb von DEC-NET nicht (Ausnahme VAX/VMS).

Auf der einen Seite stellt die Familie VAX 7XX mit dem Betriebssystem VMS ein ganz normales System innerhalb der Familie der DEC-NET-fähigen Rechner dar und unterstützt alle obigen Möglichkeiten von DEC-NET.

Zusätzlich können aber Rechner der Familie VAX ein eigenes homogenes Rechnerverbundsystem bilden. Dieses besitzt nun genau die gleichen Eigenschaften wie das homogene Rechnerverbundsystem DS 3000 innerhalb von HP-DSN. Selbst die Interprogrammkommunikation über Messagefiles (in der VAX-Terminologie werden diese Files "Mailboxes" genannt) ist die gleiche. Zusätzlich verfügt das VAX-Netzwerk über die Möglichkeit eines automatischen und, bei Ausfall einer Leitung, alternativen Routings.

Eine weitere Feinheit des VAX-Netzwerkes sei noch am Rande erwähnt: möchte ein Programm des VAX-Systems auf eine sequentielle Datei eines anderen Nicht-VAX-Systems (zum Beispiel PDP 11) innerhalb von DEC-NET zugreifen, so muß der Programmierer hierzu nicht die entsprechenden DEC-NET-Calls innerhalb eines Programms einbauen. Vielmehr übersetzt das Betriebssystem des Systems VAX diese Dateizugriffe automatisch in jene Aufrufe, die zum Zugriff auf eine Datei notwendig sind (DAP-Calls).

War vor der Einführung von DEC-NET Phase IV lediglich DDCMP als Link Level Protokoll unterstützt und dadurch die Benutzung von X.25-Netzwerken auf im wesentlichen Pad-Funktionen beschränkt, so stellt die Unterstützung von Ethernet als integrierendes Netzwerk mit all ihren "DEC-NET-Router Server" und insbesondere den Gateways zu X.25- und SNA-Netzwerken einen gewaltigen Sprung nach vorn dar.

Es würde den Rahmen dieses Aufsatzes sprengen, alle Transportmöglichkeiten von DEC's lokalem Netzwerk zu beschreiben. Wir wollen lediglich festhalten, daß die Kommunikation mit anderen Systemen, insbesondere mit Systemen, die über X.25-Netze erreichbar sind, oder aus einer anderen Rechnerkultur wie SNA stammen, über sogenannte Router oder Gateways erfolgt. Diese Gateways und Routers stellen Partner im lokalen Netzwerk dar, und diese übernehmen auch die Umsetzung von Ethernet (CSMA/CD) zu X.25- oder SNA-Netzwerken.