DE3650305T2 - Anordnung zur Steuerung eines Rechnersystems durch ein anderes Rechnersystem. - Google Patents

Anordnung zur Steuerung eines Rechnersystems durch ein anderes Rechnersystem.

Info

Publication number
DE3650305T2
DE3650305T2 DE19863650305 DE3650305T DE3650305T2 DE 3650305 T2 DE3650305 T2 DE 3650305T2 DE 19863650305 DE19863650305 DE 19863650305 DE 3650305 T DE3650305 T DE 3650305T DE 3650305 T2 DE3650305 T2 DE 3650305T2
Authority
DE
Germany
Prior art keywords
call
protocol
program
data
optional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19863650305
Other languages
English (en)
Other versions
DE3650305D1 (de
Inventor
Jeanne Marie Quint
Isabel Barbara Tomaszewski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WANG LABORATORIES Inc BILLERICA MASS US
Original Assignee
Wang Laboratories Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of DE3650305D1 publication Critical patent/DE3650305D1/de
Application granted granted Critical
Publication of DE3650305T2 publication Critical patent/DE3650305T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Communication Control (AREA)

Description

  • Anordnung zur Steuerung eines Rechnersystems durch ein anderes Rechnersystem
  • Die vorliegende Erfindung betrifft Digitalrechnersysteme, insbesondere Einrichtungen und Verfahren zur Steuerung von Digitalrechnersystemen.
  • Mit dem umfassender werdenden Einsatzbereich und der größer werdenden Zahl der Spielarten von Digitalrechnersystemen hinsichtlich Größe und Funktion hat auch die Notwendigkeit zum Zusammenwirken zwischen Rechnersystemen zugenommen und bildet derzeit eine beherrschende Überlegung bei der Auslegung von Rechnersystemen. Traditionell gab es zwei Modelle des Zusammenwirkens. Bei dem einen, dem Einzelsystem-Modell, werden alle miteinander zusammenwirkenden Systeme als Komponenten eines einzigen Systems behandelt. Üblicherweise arbeitet eines der miteinander zusammenwirkenden Systeme als koordinierende Zentraleinheit CPU, und die anderen der miteinander zusammenwirkenden Systeme arbeiten als Peripheriegeräte für das CPU-System. Bei dem anderen, dem Netzwerk-Modell sind alle miteinander zusammenwirkenden Systeme zu einem Netzwerk verbunden und statt eines der miteinander zusammenwirkenden Systeme definiert das Netzwerk die Art und Weise, in der das Zusammenwirken stattfindet.
  • a. Das Einzelsvstem-Modell
  • In Fig. 1 zeigt das einzige System 101 ein derzeitiges Beispiel des Einzelsystem-Modells. Eine CPU 103, üblicherweise ein Kleinrechner oder eine Großrechenanlage, ist mit einer Gruppe persönlicher Rechner 105 verbunden. Jeder persönliche Rechner 105 weist seine eigene CPU und seinen eigenen Speicher auf und ist in der Lage, Programme selber auszuführen. Wenn jedoch die CPU 103 und der PC 105 zusammenwirken, behandelt die CPU 103 den PC 105 als Koprozessor, als interaktives Endgerät, als Quelle für Stapelverarbeitungsaufträge oder als Quelle oder Ziel für Dateiübertragungen.
  • Die CPU 103 und der PC 105 können als Koprozessoren nur dann dienen, wenn beide Systeme denselben Befehlsvorrat ausführen und dasselbe Betriebssystem aufweisen. In diesem Falle können die Systeme in dem Maße in Wechselwirkung treten, daß der PC 105 ein Programm von der CPU 103 empfangen und ausführen kann, und umgekehrt. Ein Beispiel eines solchen Systems ist die Verbindung eines IBM-PC XT/370 mit einer Großrechenanlage IBM 370. Der PC XT 370 ist in der Lage, den Befehlsvorrat der IBM 370 auszuführen und folglich kann der PC XT 370 ein Programm ausführen, z.B. einen Kompilierer, der in der Großrechenanlage IBM 370 verfügbar ist.
  • Bei den anderen Anordnungen können die CPU 103 und der PC 105 verschiedene Befehlssätze ausführen und sie weisen verschiedene Betriebssysteme auf. Wirkt der PC 105 als interaktives Endgerät, arbeitet er mit Steuerung durch ein Programm in der CPU 103. Abhängig von diesem Programm gibt die CPU 103 Daten an den PC 105 ab und empfängt Daten vom PC 105. Bei dieser Anordnung unterscheidet sich der PC 105 funktionell nicht von irgendeinem anderen an die CPU 103 angeschlossenen Endgerät. Weil der PC 105 funktionell ein Endgerät ist, besteht bei dieser Betriebsart keine direkte Wechselwirkung zwischen einem auf dem PC 105 ablaufenden Programm und der CPU 103. Allenfalls kann ein auf dem PC 105 ablaufendes Programm Daten benutzen, die der PC 105 als Endgerät empfängt, und Daten abgeben, die der als Endgerät arbeitende PC 105 an die CPU 103 liefert.
  • Wirkt der PC 105 als Quelle für Stapelverarbeitungsaufträge, erzeugt er eine Datei, die ein auf der CPU 103 ablauffähiges Programm und die für die Ausführung des Prografls erforderlichen Daten enthält, und überträgt dann die Datei an die CPU 103. Die CPU 103 führt dann das Programm aus und bringt das Ergebnis zum PC 105 zurück. Bei dieser Anordnung besteht während der Ausführung des Stapelverarbeitungsprogramms keine Wechselwirkung zwischen dem PC 105 und der CPU 103.
  • Schließlich kann der PC 105 Quelle oder Ziel von Dateien für die CPU 103 sein. Dabei geht es im allgemeinen um eine Übertragung ganzer Dateien zwischen den Systemen. Beispielsweise kann ein Benutzer des PC 105 eine Dokumentendatei erstellen und die gesamte Dokumentendatei dann an die CPU 103 übertragen, und ein anderer Benutzer kann zu einem späteren Zeitpunkt die Dokumentendatei von der CPU 103 an den PC 105 zu einer weiteren Aufbereitungssitzung übertragen. Auch hier besteht keine Wechselwirkung zwischen der CPU 103 und dem PC 105, die über die für die Übertragung des Dokuments erforderliche hinausgeht. Jedoch können in einigen Fällen spezielle Datensätze aus einer Datei in der CPU 103 an den PC 105 übertragen werden. Ein Beispiel eines Systems mit einer CPU 103 und PC-Rechnern 105 mit verschiedenen Befehlssätzen, in dem der PC 105 wie vorstehend beschrieben arbeitet, ist der an einen 370er IBM-PC angeschlossene IBM-PC 3270. Ein Beispiel eines Systems, in dem ein PC 105 einzelne Datensätze aus einer Datei empfängt, ist ein persönlicher IBM-Rechner, der an einen IBM-System-38-Rechner angeschlossen ist, der die Übertragung zwischen dem persönlichen IBM-Rechner und dem IBM- System 38 durchführt.
  • Von den vorstehend genannten Systemen ist das einzige, das ein weitgehendes Zusammenwirken zwischen dem PC 105 und der CPU 103 ermöglicht, das, in dem sowohl der PC 105 als auch die CPU 103 denselben Befehlsvorrat ausführen kann. In den anderen Fällen arbeitet der PC 105 entweder als mit der CPU 103 verbundenes E/A-Gerät oder als bloße Datenquelle oder bloßes Datenziel. Die Nachteile der Anordnungen nach dem Stand der Technik sind offensichtlich. Erstens legt die Forderung, daß der PC 105 denselben Befehlsvorrat wie die CPU 103 ausführen muß, damit die beiden Systeme wirkungsvoll zusammenwirken können, enge Beschränkungen auf die Konstruktionen der CPU 103 und des PC 105 und auf das zugehörige System auf. Zweitens kann der PC 105 bei zwei unterschiedlichen Systemen nicht gleichzeitig seine eigene, lokale Intelligenz und die größere Leistung der CPU 103 benutzen. Wenn der PC 105 auf die CPU 103 Zugriff hat, arbeitet er als Endgerät oder als Dateiquelle oder -ziel und nutzt seine eigene Verarbeitungsleistung nicht wirkungsvoll aus. Andererseits, wenn der PC 105 ein Programm selber ausführt, hat er keinen wirkungsvollen Zugriff auf die CPU 103. Der Benutzer des Systems 101 hat somit die Wahl zwischen einer Belastung der CPU 103 mit Aufgaben, die vom PC 105 wirkungsvoller durchgeführt werden könnten, und der Belastung des PC 105 mit Aufgaben, die von der CPU 103 wirkungsvoller durchgeführt werden könnten.
  • b. Das Netzwerk-Modell
  • Das bis jetzt verfügbare wirkungsvollste Mittel zur Erzielung eines Zusammenwirkens zwischen verschiedenen Rechnersystemen war das Netzwerk. Ein übliches herkömmliches Netzwerk ist die IBM-Systemnetzwerkarchitektur (SNA), wie sie in Svstems Network Architecture Concepts and Products (Systemnetzwerkarchitektur - Konzepte und Produkte), GC 30-3072-1, 2. Ausg. IBM, Februar 1984 beschrieben ist. Das Netzwerk 107 besteht aus einer gewissen Vielzahl von Rechnersystemen 111, die durch ein Netzwerksystem 117 miteinander verbunden sind. Die Kommunikation zwischen zwei an das Netzwerksystem 117 angeschlossenen Rechnersystemen 111 geschieht über Netzwerkprotokolle 113, die bei Benutzung des Netzwerks durchzuführende Operationen festlegen. Wenn das Rechnersystem 1 111 zur Ausführung einer Operation Ressourcen benötigt, die im Rechnersystem 2 111 verfügbar sind, leitet das Rechnersystem 1 111 ein Netzwerkprotokoll 113 dem Netzwerksystem 117 zu. Das Protokoll 113 wird von einer mit dem System 1 111 verbundenen logischen Einheit (LU) 115 empfangen. Die LU 115 ist die Schnittstelle des Netzwerksystems 117 zu einzelnen Rechnersystemen 111. Die LU 115 leitet dann das Protokoll 113 über das Netzwerksystem 117 zur LU 115 für das Rechnersystem 2 111, und das Rechner- System 2 111 führt dann die durch das Protokoll 113 vorgeschriebene Operation aus. Erfordert die Operation das Zurückschreiben von Daten an das System 1 111, sendet das System 2 111 ein Rückkehrprotokoll, wie gerade beschrieben.
  • Die Arten des Zusammenwirkens, die im Netzwerk 107 stattfinden können, sind vollkommen durch das Netzwerksystem 117 bestimmt. Das Netzwerksystem 117 definiert die Form und die Semantik der Netzwerkprotokolle 113. Wenn das System 2 111 eine Operation ausführt, für die kein Netzwerkprotokoll 113 existiert, kann folglich das System 1 111 nicht das Netzwerksystem 117 benutzen, um das System 2 111 zu veranlassen, diese Operation für es auszuführen. Der Vorteil, daß das Netzwerksystem 117 die Protokolle definiert, besteht darin, daß das Verhalten des Netzwerksystems 117 nicht durch die Art der mit ihm verbundenen Rechnersysteme beeinflußt wird; der Nachteil ist, daß Merkmale der angeschlossenen Rechnersysteme, für die keine Systemprotokolle vorhanden sind, für andere angeschlossene Rechnersysteme einfach nicht verfügbar sind. Ein anderer Nachteil des Zusammenwirkens über das Netzwerksystem 117 besteht in dem relativ hohen Gesamtaufwand. Alle Formen des Zusammenwirkens, gleichgültig wie einfach, müssen vom Netzwerksystem 117 bearbeitet werden. Insbesondere hat der hohe Gesamtaufwand bei Netzwerksystemen des SNA-Typs ihre Anwendung dort untersagt, wo nur eine kleine Anzahl Systeme zusammenwirken brauchen.
  • Der Stand der Technik hat somit enges Zusammenwirken zwischen Systemen geschaffen, welche in der Lage sind, denselben Befehlsvorrat auszuführen, hat Systeme geschaffen, die "zusamenwirken", indem sie eines der Rechnersysteme als Komponente des anderen behandeln, und hat Netzwerke geschaffen, die das Zusammenwirken von Systemen nur nach der Definition des Netzwerks ermöglichen. Es besteht jedoch Bedarf am engen Zusammenwirken zwischen Maschinen mit verschiedenen Befehlssätzen ohne die Beschränkungen und den Aufwand eines Zusammenwirkens über ein Netzwerk.
  • Zur Überwindung solcher, durch übermäßigen Gesamtaufwand auferlegter Beschränkungen sind andere Formen der Softwareübertragung entwickelt worden. Solche Übertragungstechniken umfassen die sogenannten "Prozeduraufrufe" und "Nachrichten". Während die Semantik des Prozeduraufrufs seit einiger Zeit bekannt ist, ist die Technik der Nachrichtenübertragung in jüngerer Zeit entwickelt und im einzelnen von John A. Stankovic in einem Artikel "Software Communication Mechanismus: Procedure Calls versus Messages" (Softwareübertragungsmechanismus: Prozeduraufruf gegen Nachrichten) in COMPUTER, Bd. 15, Nr. 4, April 1982, S. 19 bis 25, IEEE beschrieben worden. Parameter können entweder durch Bezugnahme (gemeinsamer Speicher für die Parameter verfügbar) oder durch Wert für die Parameter übertragen werden, die nicht im gemeinsamen Speicher vorhanden sind.
  • Ein Verfahren zur Ausführung einer Folge miteinander in Beziehung stehender Aktionen in mehreren unabhängigen Digitalprozessoren, die einen Fernaufruf eines aufrufbaren Programms ausführen, ist Gegenstand der Europäischen Patentanmeldungs- Veröffentlichung 0 132 158 durch Unisys Corporation.
  • Die vorliegende Erfindung betrifft somit ein Verfahren zum Ausführen eines Fernaufrufs gemäß Anspruch 5 und ein Digitaldaten-Verarbeitungssystem gemäß Anspruch 1, bei dem eine Ziel-Datenverarbeitungseinrichtung durch eine Nachrichtenübertragungseinrichtung mit einer Quellen-Datenverarbeitungseinrichtung verbunden ist, und die Quellen-Datenverarbeitungseinrichtung eine Fernaufruf-Bereitstellungseinrichtung zum Bereitstellen eines Fernaufrufs für ein aufrufbares Programm in der Ziel-Datenverarbeitungseinrichtung aufweist, und die Ziel-Datenverarbeitungseinrichtung eine Fernaufruf- Empfangseinrichtung zum Empfangen des Fernaufrufs und zum Ausführen eines Aufrufes und zum Ausführen eines Aufrufes für das aufrufbare Programm aufweist.
  • Gemäß weiteren Merkmalen der Erfindung bildet das Programm im ersten Rechnersystem eine als Rückkehrprotokoll bezeichnete "Nachricht", die von der benannten Routine zurückgeschriebene Daten enthält. Das erste Rechnersystem sendet das Rückkehrprotokoll über die Datenübertragungseinrichtung an das zweite Rechnersystem, wo das Programm im ersten Rechnersystem die im Protokoll zurückgebrachten Daten aus dem Protokoll erhält. Zusätzlich kann das Aufrufprotokoll Argumente enthalten, die beim Aufrufen der benannten Routine zu benutzen sind. Jedes der miteinander zusammenwirkenden Rechnersysteme kann Aufrufprotokolle senden und Rückkehrprotokolle empfangen.
  • Es ist somit eine Aufgabe der Erfindung, ein verbessertes Digitaldaten-Verarbeitungssystem zur Steuerung eines Rechnersystems durch ein anderes Rechnersystem zu schaffen, so daß die Digitalrechnersysteme zusammenwirken können und ein Rechnersystem Routinen in einem anderen Rechnersysteme aufrufen kann.
  • Eine andere Aufgabe der Erfindung besteht darin, in einem solchen System eine Steuereinrichtung zu schaffen, die von einem Rechnersystem erzeugte Protokolle, die in einem anderen Rechnersystem aufzurufende Routinen benennen, und Protokolle zum Zurückschreiben von von einem Aufruf erzeugten Daten an ein anderes Rechnersystem umfaßt, und speziell Aufrufprotokolle umfaßt, die Daten enthalten, die bei einem Aufruf der im Aufrufprotokoll benannten Routine zu benutzen sind.
  • Eine Einrichtung in einem Digitaldaten-Verarbeitungssystem zur Steuerung eines ersten, auf aufrufbare Programme ansprechenden Rechnersystems durch ein zweites Rechnersystem, das mit dem ersten Rechnersystem durch eine Nachrichtenübertragungseinrichtung verbunden ist, und zur Lösung der der Erfindung zugrundeliegenden Schwierigkeiten ist zusammen mit Weiterentwicklungen und Alternativen in den beigefügten Ansprüchen definiert.
  • Weitere Aufgaben und Vorteile der Erfindung ergeben sich für den Fachmann nach Kenntnisnahme der detaillierten Beschreibung einer bevorzugten Ausführungsform und der Zeichnungen. In den Zeichnungen ist:
  • Fig. 1 ein Blockschaltbild mit einer Darstellung des herkömmlichen Zusammenwirkens zwischen Systemen;
  • Fig. 2 ein Blockschaltbild mit einer Darstellung zusammenwirkender Systeme gemäß der Erfindung;
  • Fig. 2A eine schematische Darstellung der allgemeinen Form von Aufruf- und Rückkehrprotokollen in der vorliegenden Erfindung;
  • Fig. 3 eine schematische Darstellung miteinander zusammenwirkender Systeme unter Anwendung von Aufrufprotokollen;
  • Fig. 4 ein Blockschaltbild einer bevorzugten Ausführungsform;
  • Fig. 5 eine detaillierte schematische Darstellung der Anforderung 429 in einer bevorzugten Ausführungsform;
  • Fig. 6 eine detaillierte schematische Darstellung von E/A- Strukturen im VS 401 in einer bevorzugten Ausführungsform;
  • Fig. 7 ein Blockschaltbild von MP 435 in einer bevorzugten Ausführungsform;
  • Fig. 7A ein Blockschaltbild von IP 414 in einer bevorzugten Ausführungs form;
  • Fig. 8 ein Flußdiagramm der AS-E/A-Schleife in einer bevorzugten Ausführungsform;
  • Fig. 9 eine detaillierte Darstellung des Blocks 803 aus dem Flußdiagramm gemäß Fig. 8;
  • Fig. 10 und 10A detaillierte Flußdiagramme von CPR 751 im IP 435;
  • Fig. 11 ein Flußdiagramm eines üblichen Bearbeitungsprogramms der Ebene 767 in einer bevorzugten Ausführungsform;
  • Fig. 12 eine Darstellung der Datenstrukturen für vsopen (vsEröffne) in einer bevorzugten Ausführungsform;
  • Fig. 13 eine Darstellung des ERÖFFNE-Aufrufprotokolls in einer bevorzugten Ausführungsform;
  • Fig. 13a eine Darstellung des ERÖFFNE-Rückkehrprotokolls in einer bevorzugten Ausführungsform;
  • Fig. 14 eine Darstellung der Datenstrukturen für die ERÖFF- NE-Operation im VS 401 in einer bevorzugten Ausführungsform; und
  • Fig. 15 ein Flußdiagramm der ERÖFFNE-Routine der Ebene 769 in einer bevorzugten Ausführungsform.
  • Die Bezugszeichen in den Zeichnungen besitzen drei Ziffern. Die höchstwertige Ziffer ist die Nummer der Zeichnung, in welcher das mit dem Bezugszeichen bezeichnete Bauelement zum ersten Mal erscheint; das Bezugszeichen 215 bezieht sich somit auf ein in Fig. 2 oder 2A dargestelltes Bauelement.
  • DETAILLIERTE BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Die nachstehende detaillierte Beschreibung einer bevorzugten Ausführungsform der Erfindung beginnt mit einer allgemeinen Gesamtdarstellung der Erfindung, zeigt dann, wie die Erfindung in einer speziellen Gruppe zusammenwirkender Rechnersysteme verwirklicht wird, und gibt schließlich Beispiele von Operationen an, die in den zusammenwirkenden Rechnersystemen unter Anwendung der Erfindung ausgeführt werden.
  • 1. Gesamtdarstellung der Erfindung - Fig. 2. 2A und 3
  • Wie in der Kurzdarstellung der Erfindung angegeben, ermöglicht die vorliegende Erfindung das Zusammenwirken von zwei Rechnersystemen auf der Ebene der Aufruf- und Rückkehroperationen. Die Aufruf- und Rückkehroperationen sind in der Fachweit bekannt. In der Aufrufoperation führt eine rufende Routine genannte Routine Befehle aus, welche die Abarbeitung der rufenden Routine unterbricht, indem sie den gegenwärtigen Zustand der Abarbeitung der rufenden Routine sichert und eine Abarbeitung einer anderen, aufgerufene Routine genannten Routine beginnt. In der Rückkehroperation führt die aufgerufene Routine Befehle aus, die ihre eigene Abarbeitung beenden und den gesicherten Zustand der rufenden Routine wiederherstellt, wodurch die unterbrochene Abarbeitung der rufenden Routine fortgesetzt wird. Außerdem kann die rufende Routine Parameter genannte Daten im Speicher in einen Speicherplatz bringen, der sowohl der rufenden als auch der aufgerufenen Routine bekannt ist. Mittels der Parameter kann die rufende Routine Daten zur Benutzung durch die aufgerufene Routine bereitstellen und die aufgerufene Routine kann die Ergebnisse ihrer Operation an die rufende Routine zurückgeben. Die Maschinen- Befehlsvorräte einiger Rechner enthalten Aufruf- und Rückkehrbefehle, welche die vorstehend beschriebenen Operationen ausführen. Jedoch können die Operationen an einem beliebigen System ausgeführt werden, indem Operationen wie Laden, Speichern und Verzweigen angewandt werden, derart, daß die für Aufruf und Rückkehr notwendigen Funktionen ausgeführt werden.
  • In der heutigen Programmierpraxis werden Aufruf und Rückkehr verwendet, um große Programme aus Unterprogrammen zu konstruieren. Aufruf und Rückkehr sind besonders vorteilhaft, weil sie die rufende Routine von der detaillierten Implementierung der aufgerufenen Routine trennen. Alles was der rufenden Routine bekannt sein muß, um die von der aufgerufenen Routine bereitgestellten Funktion zu benutzen, ist die Schnittstelle der aufgerufenen Routine, das heißt die Mittel, die vom System benutzt werden, um die aufgerufene Routine zu identifizieren (gewöhnlich die Adresse der aufgerufenen Routine im Speicher), die von der aufgerufenen Routine benötigten Parameter und die Wirkung der Abarbeitung der aufgerufenen Routine. Jede aufgerufene Routine kann von jeder rufenden Routine aufgerufen werden, der die Schnittstelle bekannt ist, und so lange, wie sich die Schnittstelle nicht verändert, werden rufende Routinen nicht durch Änderungen an der aufgerufenen Routine beeinflußt.
  • Die Erfindung ermöglicht die gegenseitige Kommunikation zwischen Rechnersystemen über Aufrufschnittstellen. In ihrer allgemeinsten Form ermöglicht es die Erfindung, daß eine an einem System abgearbeitete rufende Routine eine aufgerufene Routine an einem anderen System aufruft. Die Erfindung kann zum Aufrufen jeder beliebigen Routine benutzt werden, die im System verfügbar ist, ist jedoch insbesondere zum Aufrufen von Systemroutinen geeignet. Systemroutinen sind solche, die von auf dem System ablaufenden Anwendungsprogrammen-aufgerufen werden können, wenn sie die Benutzung von Systemressourcen benötigen. Zu den durch Systemroutinen zugänglichen Ressourcen zählen die Funktionen, die das Betriebssystem des Systems bereitstellt, jene, die sein Dateisystem bereitstellt und jene, die sein Datenbanksystem bereitstellt. Somit ermöglicht es die Kommunikation mittels Aufrufschnittstellen, daß ein an einem System ablaufendes Programm auf die Systemressourcen eines anderen Systems bequem zugreifen kann.
  • Eine Kommunikation unter Benutzung der Aufrufschnittstelle ist besonders nützlich, wenn die miteinander in Verbindung tretenden Maschinen verschiedene Befehlsvorräte oder verschiedene Betriebssysteme besitzen. Die weiter oben für die Aufrufschnittstelle beschriebenen Eigenschaften werden beibehalten, und folglich braucht eine rufende Routine in einem System, die eine aufgerufene Routine in einem anderen System aufruft, nur die Schnittstelle der aufgerufenen Routine kennen und braucht keine Kenntnis spezieller Merkmale der aufgerufenen Routine oder des Systems haben, in der die aufgerufene Routine abgearbeitet werden wird. Die Kommunikation zwischen verschiedenen Systemtypen wird zunehmend wichtig, wenn kleine Systeme, wie persönliche Rechner, zu großen Systemen zusammengeschlossen werden. In einer solchen Umgebung ermöglicht es die Erfindung, daß der persönliche Rechner vollen Zugriff auf die Einrichtungen des großen Systems hat. Beispielsweise sind Größe und Komplexität des Dateisystems bei einem typischen persönlichen Rechner begrenzt; wenn jedoch der persönliche Rechner mit einem Kleinrechner oder einem Großrechner verbunden ist, ermöglicht es die Erfindung, daß der persönliche Rechner jede Funktion nutzen kann, die das Dateisystem des Kleinrechners oder des Großerechners bereitstellt.
  • Fig. 2 zeigt ein Blockschaltbild zweier zusammenwirkender Rechnersysteme, in denen die Erfindung ausgeführt ist. Die Rechnersysteme 231 und 233 können ähnliche oder verschiedene Rechnersysteme sein. Jedes enthält einen Speicher (203 bzw. 219) zum Speichern von Daten und Programmen und eine CPU (201, 221) zur Bearbeitung der Daten mit Steuerung durch die Programme. Für die vorliegende Erfindung ist es unerheblich, ob das eine oder das andere der Rechnersysteme mehr als einen Speicher oder mehr als eine CPU enthält. Die Systeme 231 und 233 sind durch eine Datenübertragungseinrichtung (DT) 213 verbunden. Die DT 213 umfaßt die physikalischen Mittel für die Übertragung von Daten von dem einen zum anderen System und die zur Steuerung der physikalischen Mittel notwendigen Programme. Auch hier ist die genaue Art der DT 213 für die vorliegende Erfindung unerheblich. Wenn beispielsweise die zwei Systeme eng miteinander verbunden sind, kann sie eine Einrichtung zum Austauschen von Nachrichten zwischen Prozessoren der Systeme sein. Bei weniger eng verbundenen Systemen können verschiedene asynchrone und synchrone Datenübertragungssysteme verwendet werden, und die physikalischen Mittel zum Übertragen der Daten können beliebige Mittel sein, die Darstellungen von Daten von dem einen zum anderen System übertragen.
  • Die Erfindung umfaßt Bauelemente in beiden Systemen 233 und 231. Die Bauelemente verbindende Pfeile zeigen Datenfluß zwischen ihnen an. Die tatsächliche Datenbewegung wird von der CPU 201 oder 221 je nach Befehlen in den Programmkomponenten durchgeführt. Im System 233 ist ein Programm MP 227 vorhanden, das Aufrufprotokolle erzeugt, ein Speicher 225 für die Parameter für den Aufruf und ein Protokollpufferspeicher 223 zum Speichern des Aufrufprotokolls, bis es über die DT 213 an das System 231 ausgegeben wird. Im System 231 ist ein Programm IP 211 vorhanden, das die vom MP 227 erzeugten Aufrufprotokolle auslegt und den Aufruf im System 231 ausführt, ein Protokollpufferspeicher 209 zum Speichern der vom System 233 empfangenen Protokolle, und ein Parameterspeicher 207 zum Speichern der Parameter für den Aufruf. Die Erfindung arbeitet folgendermaßen: Das rufende Programm 229 bringt Parameter für die Routine, das es im System 231 aufrufen will, in den Speicher 225 und ruft dann MP 227 auf. Je nach Implementierung kann die aufzurufende Routine entweder in den Parametern oder im Aufruf an MP 227 benannt werden. Das MP 227 benutzt den Inhalt des Speichers 225 zur Bildung des eigentlichen Aufrufprotokolls, bringt das Protokoll in den Protokollpufferspeicher 223 und führt jede Operation aus, die im System 233 erforderlich ist, um die DT 213 zu veranlassen, das Protokoll an das System 231 zu übertragen. Das rufende Programm 229 wird weiter abgearbeitet, nachdem das MP 227 das Rückkehrprotokoll vom System 231 in Prot 223 empfängt, Daten aus dem Rückkehrprotokoll in Aufrufparameter 225 bringt und zurückspringt.
  • Die Abarbeitung des IP 211 im System 231 ist unterbrochen, bis die DT 213 angibt, daß sie ein Aufrufprotokoll vom System 233 empfangen hat. Die DT 213 bringt das Aufrufprotokoll in den Protokollspeicher 209, und das IP 211 benutzt die Daten im Aufrufprotokoll, um Parameter für den Aufruf im Speicher 207 zu erstellen und dann das aufgerufene Programm 205 aufzurufen. Wenn das aufgerufene Programm 205 eine Rückkehroperation ausführt, befinden sich die zurückgeschriebenen Werte im Speicher 207. Das IP 211 benutzt diese Werte zur Bildung eines Rückkehrprotokolls, bringt das Rückkehrprotokoll in den Speicher 209 und veranlaßt die DT 213 zur Übertragung des Rückkehrprotokolls an das System 233. Wenn die DT 213 im System 233 das Rückkehrprotokoll empfängt, speichert sie es im Protokollspeicher 223 und veranlaßt die Fortsetzung der Abarbeitung des MP 227. Das MP 227 übernimmt die durch das Rückkehrprotokoll zurückgeschriebenen Werte, bringt sie in den Parameterspeicher 225 und springt zurück. Das rufende Programm 229 holt sich dann die zurückgeschriebenen Werte aus Aufrufparameter 225.
  • Fig. 2A zeigt verallgemeinerte Darstellungen von Aufrufprotokollen 215 und Rückkehrprotokollen 217. Zwar ist die genaue Form eines bestimmten Aufruf- oder Rückkehrprotokolls von der aufgerufenen Prozedur und von der Implementierung der vorliegenden Erfindung abhängig, doch enthält ein Aufrufprotokoll 215 im allgemeinen wenigstens einen Identifizierer für die aufzurufende Routine, der in Fig. 2A als RI 235 dargestellt ist, und die Aufrufparameter CPAR 239. Bei einigen Ausführungsformen wird das Aufrufprotokoll einen die Länge des Protokolls vorschreibenden Wert, hier CPL 237, enthalten. Bei anderen kann das Ende des Protokolls durch einen Abschlußwert markiert sein. Das Rückkehrprotokoll 217 hat die gleiche allgemeine Form: RI 235 gibt die Routine an, deren Parameterwerte zurückgegeben werden; RPL 241 gibt die Länge des Rückkehrprotokolls an; und RPAR 243 enthält die Rückkehrparameterwerte. Auch hier kann ein Abschlußwert verwendet werden, um das Ende des Rückkehrprotokolls anzuzeigen.
  • Ein wichtiger Vorteil der Erfindung besteht darin, daß aus der Sicht des rufenden Programms 229 kein Unterschied zwischen einem Aufruf einer Routine im System 233 und dem Aufruf der Routine im System 231 besteht. In beiden Fällen bringt das rufende Programm 229 die Parameter in den Speicher, spezifiziert den Speicherplatz der aufgerufenen Routine und unterbricht die Abarbeitung. Führt das aufgerufene Programm eine Rückkehr aus, wird die Abarbeitung des rufenden Programms 229 fortgesetzt, und die vom aufgerufenen Programm empfangenen Daten stehen in den Parametern zur Verfügung. Die einzige praktische Unterscheidung zwischen den beiden Aufrufen liegt darin, daß der Aufruf der Routine im System 231 mehr Zeit benötigt.
  • Die vorstehende Beschreibung befaßte sich nur mit Aufrufen vom System 233 an Routinen im System 231. Es ist jedoch auch möglich, die Erfindung für Aufrufe in beiden Richtungen zu verwenden. Eine solche Form der Erfindung ist in Fig. 3 dargestellt. Fig. 3 zeigt die Speicher (305, 343) der beiden Systeme (301, 303). Gemäß Fig. 3 umfaßt jedes System Bauelemente für die Bereitstellung von Aufrufen an und Empfangen von Aufrufen vom anderen System, und eine DT 325 umfaßt einen Pfad für Aufrufe von 301 an 303 und einen anderen für Aufrufe von 303 an 301. Das System 301 benutzt MP 317, einen Parameterspeicher 321 und einen Protokollspeicher 323, um aus einem vom rufenden Programm 319 empfangenen Aufruf ein Aufrufprotokoll 215 für das System 303 zu machen, und das System 303 benutzt IP 327, einen Protokollspeicher 341 und einen Parameterspeicher 339, um abhängig von dem vom System 301 empfangenen Protokoll das aufgerufene Programm 337 aufzurufen. Vom aufgerufenen Programm 337 zurückgegebene Daten gehen über das weiter oben beschriebene Rückkehrprotokoll 217 an das System 301 zurück. Das System 303 benutzt MP 329, einen Parameterspeicher 333 und einen Protokollspeicher 331, um aus einem vom rufenden Programm 335 empfangenen Aufruf ein Aufrufprotokoll 215 für das System 301 zu machen, und das System 301 benutzt IP 315, einen Protokollspeicher 309 und einen Parameterspeicher 307, um das aufgerufene Programm 311 aufzurufen. Auch hier werden vom aufgerufenen Programm 311 zurückgeschriebene Daten an das System 303 über ein weiter oben beschriebenes Rückkehrprotokoll 217 zurückgegeben. Durch den vorstehend beschriebenen Austausch von Aufrufen können die Systeme 301 und 303 gemeinsam eine Aufgabe ausführen, die von keinem allein ausgeführt werden könnte. Wenn beispielsweise die Aufgabe zwei Datenbänke betrifft, von denen die eine dem System 303 und die andere dem System 301 zur Verfügung steht, kann jedes System je nach Bedarf auf die Datenbank des anderen zugreifen.
  • 2. Ein erfindungsgemäßes System - Fig. 4
  • Eine bevorzugte Ausführungsform der vorliegenden Erfindung ist in einem VS-Rechner-System (VS) und einem Persönlichen- Rechner-System (PC) implementiert, die beide von der Wang Laboratories, Inc. hergestellt werden. Das PC muß eine 928-Datenübertragungsplatte enthalten. PC und VS sind durch ein Koaxialkabel verbunden.
  • Fig. 4 ist ein Blockschaltbild der vorstehend genannten Implementierung. Im Blockschaltbild führen Bauelemente, die mit Bauelementen in Fig. 2 gleichnamig sind, dieselben Funktionen aus. Somit verarbeitet IP 414 wie IP 211 Aufrufprotokolle. Wie in Fig. 2 zeigen mit durchgezogenen Linien gezeichnete Pfeile einen Datenfluß zwischen Bauelementen der Erfindung an. Mit gestrichelten Linien gezeichnete Pfeile geben an, daß die den Ausgangspunkt des Pfeils bildende Datenstruktur einen Zeiger enthält, der die Datenstruktur bestimmt, auf die der Pfeil gerichtet ist.
  • Das VS-System 401 ist ein Kleinrechner, der als Hauptkomponenten eine CPU 403, einen Speicher 402 und einen oder mehrere E/A-Prozessoren 413 umfaßt. Die CPU 403 führt allgemeine Datenverarbeitungsoperationen aus, wogegen die E/A-Prozessoren 413 mit Steuerung durch die CPU 403 E/A-Operationen an E/A-Geräten ausführen. Jeder E/A-Prozessor 413 ist mit wenigstens einem E/A-Gerät verbunden, und Eingänge/Ausgänge für ein Gerät werden unter Benutzung des ihm zugeordneten E/A- Prozessors 413 ausgeführt.
  • Die Arbeitsweisen der CPU 403 und eines IOP 413 sind folgendermaßen koordiniert: Befehle in dem die E/A-Operation ausführenden Programm müssen zuerst veranlassen, daß die CPU 403 ein E/A-Befehlswort (IOCW) 412 in einen Speicherbereich 410 für Ein-/Ausgänge bringt. In einer bevorzugten Ausführungsform ist der Speicherbereich 410 in den ersten 64K des VS- Speichers 402 angeordnet. Das IOCW 412 für eine bestimmte E/A-Operation schreibt die auszuführende Operation und den Speicherplatz im Speicher 402 vor, der die Daten bereitstellen oder empfangen soll. Sodann muß der Befehl die CPU 403 veranlassen, eine E/A-Befehlsadresse (IOCA) 416 in einen Speicherplatz zu bringen, der für die IOCA des in der Operation zu benutzenden Gerätes reserviert ist. Die IOCA 416 enthält die Adresse des IOCW 412. Sodann veranlassen die Programmbefehle, daß die CPU 403 die Adresse des IOCA 416 in ein Register in der CPU 413 bringt. Schließlich enthält das Programm einen E/A-Start-Befehl (510), der das Register angibt, das die Adresse der IOCA 416 enthält. Abhängig vom SIO-Befehl führt der IOP 413, der mit dem Gerät verbunden ist, dem die IOCA 416 zugeordnet ist, die im IOCW 412 vorgeschriebene E/A- Operation unter Benutzung des darin spezifizierten Speicherplatzes, in diesem Fall Prot 407, aus. Am Ende der E/A-Operation schreibt der IOP 413 ein E/A-Zustandswort (IOSW) in den Speicherplatz 0 im VS-Speicher 402 ein und sendet eine Unterbrechung 415 an die CPU 403. Nach Empfang der Unterbrechung 415 führt die CPU 403 ein E/A-Unterbrechungsprogramm aus, welches IOSW 411 überprüft, um zu bestimmen, welches Gerät eine E/A-Operation beendet hat und welches der Zustand der Operation ist, und führt alle weiteren Schritte aus, die zur Beendigung der Operation notwendig sind.
  • Bei der hier beschriebenen Implementierung haben IOSW 411 und IOCW 412 die in Fig. 6 im einzelnen dargestellten Inhalte. Das IOSW 411 ist 6 Byte lang. Die Felder sind folgende:
  • GS 601 enthält einen Gesamtzustandscode für die E/A-Operation.
  • ERR 605 enthält einen Fehlercode, wenn GS 601 anzeigt, daß in der E/A-Operation ein Fehler unterlaufen ist.
  • Rcode 607 ist in der vorliegenden Implementierung ein geräteabhängiger Code, der angibt, daß die E/A-Operation Teil eines Aufrufs von einem System an ein anderes ist.
  • DD 609 enthält weitere geräteabhängige Codes.
  • RBC 611 ist ein Wert, der angibt, wieviele Byte in der E/A-Operation noch zu übertragen sind.
  • In einer vorliegenden Ausführungsform umfaßt IOCW 412 folgende Felder:
  • CM 613 - ein Code, der die auszuführende Operation angibt.
  • Daddr 615 - die Adresse im VS-Speicher 402 der Quelle oder des Ziels der in der E/A-Operation zu übertragenden Daten.
  • DLEN 617 - die Länge der zu übertragenden Daten.
  • Status 619 - ein Code, der den Zustand der E/A-Operation angibt.
  • Das PC 421 umfaßt eine PC-CPU 423, einen PC-Speicher 422 und eine 928-Platte 424. Wie im US-Patent Nr. 4,145,739, Dunning et al, Distributed Data Processing System (Verteiltes Datenverarbeitungssystem), erteilt am 20. März 1979, beschrieben wird, führt die 928-Platte 424 Ein-/Ausgänge für eine Arbeitsstation in einem verteilten Datenverarbeitungssystem aus. Im PC 421 arbeitet die 928-Platte 424 als spezialisierter IOP, welcher es dem PC 421 ermöglicht, als Arbeitsstation benutzt zu werden. Die 928-Platte 424 umfaßt einen Z80-Mikroprozessor 425 und einen gemeinsamen Speicher 426. Der gemeinsame Speicher 426 ist sowohl durch die PC-CPU 423 als auch durch den Z80 425 adressierbar. Die 928-Platte 424 ist über ein Koaxialkabel 417 mit dem IOP 413 im System 401 verbunden. Mit Steuerung durch das PC 421 empfängt der Z80 425 Daten vom Koaxialkabel 417 und bringt sie in den gemeinsamen Speicher 426 oder gibt Daten aus dem gemeinsamen Speicher 426 an das Koaxialkabel 417 aus.
  • Bei der hier beschriebenen Ausführungsform der Erfindung bilden der IOP 413 und die Speicherung im Speicher 402, die er für ein- und auszugebende Daten und für Steuerdaten benutzt, zusammen mit der 928-Platte 424 eine Datenübertragungseinrichtung (DT) 404. Die 928-Platte 424 erscheint dem IOP 413 als Gerät, an das er in der weiter oben beschriebenen Weise Daten ausgeben und von dem er Daten empfangen kann. In der 928-Platte 424 enthält der gemeinsame Speicher 426 an reservierten Speicherplätzen Daten, die benutzt werden, um die Operation des der 928-Platte 424, dem Z80 425 und der PC-CPU 423 zugeordneten IOP 413 zu koordinieren. Die Koordinierung zwischen dem IOP 413 und dem Z80 425 wird durch ein Semafor (SEM) 427 ausgeführt. Das SEM 427 ist eine Speicheradresse, die vom IOP 413 oder dem Z80 425 gelesen und gesetzt werden kann. Der in ihm enthaltene Wert gibt an, ob zwischen dem IOP 413 und dem Z80 425 Daten übertragen werden und, wenn ja, den aktuellen Zustand der E/A-Operation. Die Koordinierung zwischen dem Z80 425 und der PC-CPU 423 wird durch Req 429 ausgeführt, welche die Art der E/A-Operation vorschreibt, deren Ausführung die PC-CPU 423 vom Z80 425 verlangt, den Speicherplatz und die Größe der Daten im gemeinsamen Speicher 426, und den Zustand der Operation.
  • Fig. 5 ist eine detaillierte Darstellung der Req 429. RCode 501 ist ein Byte, das die Art der auszuführenden E/A-Operation angibt; Status 503 enthält Zustandscodes für die Operation; Byte Ct 505 enthält die Anzahl der in der Operation zu übertragenden Byte; Buff Addr 507 enthält die Adresse des Nachrichtenpufferspeichers Mess Buf 432, den Bereich im gemeinsamen Speicher 426, der die gesendeten oder empfangenen Daten enthält. In diesem Fall sind die Daten Aufrufprotokolle 215, die aus Prot 431 in den Mess Buf 432 kopiert werden, wenn ein Aufrufprotokoll 215 gesendet wird, und Rückkehrprotokolle 217, die aus dem Mess Buf 432 in Prot 431 kopiert werden, wenn ein Rückkehrprotokoll empfangen wird.
  • Beim Übertragen von Protokollen 215 und 217 über die DT 404 arbeiten das VS 401, der Z80 425 und das PC 421 in Wechselwirkung folgendermaßen zusammen: Wenn PC 421 ein Aufrufprotokoll 215 an VS 401 senden will, bringt es ein Aufrufprotokoll 215 in Mess Buf 432. Ferner setzt es die Felder der Req 429 folgendermaßen: Rcode 501 gibt die allgemeine Art des zu sendenden Aufrufprotokolls 215 an, Byte Ct 505 die Länge des Aufrufprotokolls und die Adresse Buff Addr 507 den Speicherplatz in Mess Buf 432. Nach dem Setzen des RCode 501 antwortet Z80 425 durch Erstellen eines IOSW 411 unter Benutzung des Wertes von Rcode 501 aus Req 429 in RCode 607, durch Setzen des Status 503 so, daß er angibt, daß eine Anforderung an den IOP 413 gesandt worden ist, und durch Setzen von SEM 427 so, daß es angibt, daß an der 928-Platte 424 Daten für den IOP 413 anstehen. Der IOP 413 fragt das SEM 427 periodisch ab, und wenn angegeben wird, daß an der 928-Platte 424 Daten anstehen, übernimmt der IOP 413 die Daten, in diesem Fall das IOSW 411. Der IOP 413 bringt das IOSW an den Speicherplatz 0 im VS-Speicher 402 und sendet eine Unterbrechung an die CPU 403. Die CPU 403 führt das IP 414 aus, das auf die Unterbrechung durch Lesen des Rcode 607 antwortet. Wenn Rcode 607 angibt, daß ein Aufrufprotokoll 215 empfangen werden soll, führt IP 414 eine Lese-E/A-Operation aus, welche die 928- Platte 424 spezifiziert. Wie weiter oben beschrieben, erstellt es dabei ein IOCW 412 für die Operation. Der der 928- Platte 424 zugeordnete IOP 413 reagiert auf das IOCW 412 für die Leseoperation, indem er durch Setzen des SEM 427 seine Bereitschaft anzeigt, Daten von der 928-Platte 424 zu empfangen. Auf die Änderung im SEM 427 antwortet der Z80 425 dann durch Übertragen der in Byte Ct. 505 der Req. 429 spezifizierten Bytezahl aus dem in der Buff Addr. 507 angegebenen Speicherplatz, d.h. aus dem Mess. Buff. 432. Er setzt dann Status 503 so, daß angezeigt wird, daß das Aufrufprotokoll 215 angenommen worden ist. Wenn der IOP 413 das Protokoll 215 empfängt, bringt er es in Prot 407, wie im UFB 409 für die der 928-Platte 424 entsprechenden Datei vorgeschrieben ist. Das Programm IP 414 liest dann das Protokoll 215 aus Prot 407 aus und führt den Aufruf aus. Beim Rücksprung des aufgerufenen Programms bildet IP 414 ein Rückkehrprotokoll 217, speichert es in Prot 407 und führt eine Schreiboperation an der 928-Platte aus. Der IOP 413 führt die Schreiboperation durch Setzen des SEM 427 aus, derart, daß das Vorliegen von Daten angezeigt wird, die vom VS 401 an den Z80 425 zu übertragen sind. Der Z80 425 reagiert auf SEM 427 durch den Empfang der Daten vom VS 401. Wenn der Z80 425 die Daten empfängt, bringt er sie in den Mess Buff 432, wie in Req 429 vorgeschrieben. Nach dem Empfang aller Daten setzt der Z80 425 das SEM 427 so, daß dem VS 401 angezeigt wird, daß der Datenempfang beendet ist, und Status 503 so, daß dem PC 421 angezeigt wird, daß er das Rückkehrprotokoll 217 empfangen hat. Mit Steuerung durch das MP 435 hat das PC 421 den Status 503 periodisch abgefragt, um festzustellen, ob ein Rückkehrprotokoll 217 empfangen worden ist. Wenn dies durch den Wert von Status 503 bestätigt wird, verarbeitet das MP 435 das Rückkehrprotokoll 217 in Prot 431.
  • Wenn die DT 404 in der eben beschriebenen Weise arbeitet, arbeiten die übrigen Bauelemente der Erfindung in derselben Weise, wie hinsichtlich der Fig. 2 beschrieben wurde: Das im PC 421 abgearbeitete rufende Programm 437 speichert Parameter für den Aufruf in Params 433 und ruft das MP 435 auf; das MP 435 benutzt die Parameter zur Erstellung eines Aufrufprotokolls 215 für den vorgeschriebenen Aufruf, bringt es in Prot 431 und kopiert es in den Mess Buf 432. Die DT 404 überträgt das Protokoll 215 in das VS 401 in der vorstehend beschriebenen Weise. Das IP 414 liest das Protokoll 215 aus Prot 407, erstellt Params 418 für den Aufruf und ruft das aufgerufene Programm 419 auf. Beim Rücksprung aus dem aufgerufenen Programm 419 erstellt IP 414 ein Rückkehrprotokoll 217 aus den Daten in Params 418 und bringt das Rückkehrprotokoll 217 in Prot 407. Die DT 404 Überträgt das Rückkehrprotokoll 217 an den Mess Buf 432 im PC 421; das MP 435 kopiert das Protokoll 217 aus dem Mess Buf 432 in Prot 431, bringt die zurückgeschriebenen Daten in Params 433 und springt zum rufenden Programm 437 zurück.
  • 3. MP 435 und IP 414 in einer bevorzuaten Ausführungsform - Fig. 7 und 7A
  • Fig. 7 ist ein Funktionsblockschaltbild des MP 435 in einer bevorzugten Ausführungsform. Das MP 435 hat zwei Ebenen: die Ebene 709 und die Ebene 711. Die Routinen der Ebene 709 erstellen Aufrufprotokolle 215 und empfangen Rückkehrprotokolle 217; die Routine der Ebene 711 sendet Aufrufprotokolle 215 an das VS 401 und empfängt Rückkehrprotokolle 217 vom VS 401. Die Routinen in der Ebene 709 entsprechen den an das VS 401 zu richtenden Aufrufen; diese Routinen sind bei einer gegenwärtigen Ausführungsform in als Server genannte Gruppen unterteilt. Eine Gruppe, die in Fig. 7 als PC-Benutzerserver 710 dargestellt ist und UCR-Routinen 701 0 bis n enthält, besteht aus Routinen, die systemexterne Routinen im VS-System 401 aufrufen; die übrigen Gruppen, die als PC-Systemserver 711 A bis N bezeichnet sind und Routinen SCRA 703 0 bis n bis SCRN 705 0 bis N enthalten, entsprechen verschiedenen Sätzen Systemroutinen im VS-System 401. Die Zahl der Routinegruppen und die Zahl der Routinen in jeder Gruppe sind abhängig von der Implementierung, von der Zahl der bereitzustellenden systemexternen Routinen, der Art der bereitzustellenden Systemdienstprogramme und von der Zahl der für jede Gruppe Dienstprogramme vorgesehenen Routinen. Alle Routinen in der Ebene 709 weisen die für UCRO 701 dargestellten Ein- und Ausgänge auf: jede empfängt einen Aufruf, erzeugt ein Aufrufprotokoll 215 und verarbeitet das in Antwort auf das Aufrufprotokoll empfangene Rückkehrprotokoll.
  • Wenn ein Programm im PC 421 eine Routine im VS 401 aufrufen soll, ruft es die entsprechende Routine in der Ebene 709 auf, wobei es von der Routine des VS 401 benötigte Parameter als Parameter an die entsprechende Routine in der Ebene 709 bereitstellt. Die Routine in der Ebene 709 erstellt das geeignete Aufrufprotokoll 215, gibt es in Prot 431 und ruft den Aufrufprotokollsender (CPS) 707 auf, wobei sie als Parameter einen Code angibt, der die allgemeine Art des auszuführenden Aufrufs angibt, Zeiger zu Speicherplätzen in Prot 431 für das durch die Routine in der Ebene 709 bereitgestellte Aufrufprotokoll 215 und das zurückzuschreibende Rückkehrprotokoll 217, einen die Länge des Aufrufprotokolls 215 angebenden Wert und einen Zeiger zu einem Speicherplatz, in dem die Länge des Rückkehrprotokolls 217 gespeichert werden kann. Der CPS 707 liest dann die Buff Addr 507 in Req 429, um den Speicherplatz des Mess Buff 432 zu bestimmen, bringt das Aufrufprotokoll in den Mess Buff 432 und setzt Req 429 so, daß RCode 501 die allgemeine Art des auszuführenden Aufrufs angibt und Byte Ct 505 die Länge des Aufrufprotokolls 215 enthält. Das den RCode 501 enthaltende IOCW 411 und das Aufrufprotokoll 215 werden dann in der weiter oben beschriebenen Weise übertragen, und der CPS 707 führt eine Schleife aus, welche den Wert von Status 503 kontinuierlich überprüft. Wenn Status 503 angibt, daß das VS 401 Daten an das PC 421 gesandt hat, kopiert der CPS 707 das Rückkehrprotokoll 217 in den im Aufruf an den CPS 707 spezifizierten Antwortpufferspeicher, und kehrt zurück. Die Routine in der Ebene 709, welche den CPS 707 aufgerufen hatte, bringt dann die im Rückkehrprotokoll 217 zurückgeschriebenen Daten in die Form, die für die Routine geeignet ist, von der die Routine in der Ebene 709 aufgerufen wurde, und springt zurück.
  • Für das Programm IP 414 im VS 401 zeigt Fig. 7A ein Blockschaltbild der Struktur dieses Programms. IP 414 umfaßt drei Ebenen: 765, 767 und 769. Die Ebene 769 umfaßt die Routinen, welche die tatsächlichen Aufrufe an Benutzer- und Systemroutinen ausführen. Die Ebene 767 umfaßt die Routine 753, die ein allgemeines Bearbeitungsprogramm für Aufrufprotokolle ist, die Benutzerdienstprogramme benennen, und die Routinen 755 bis 757, von denen jede ein allgemeines Bearbeitungsprogramm für Aufrufprotokolle 215 ist, die zu einem Satz Systemdienstprogramme gehörende Routinen benennen. Jede Routine 753 und die Routinen der Ebene 769, die von ihr aufgerufen werden, bilden einen VS-Server. Somit bilden das Benutzer-Bearbeitungsprogramm 753 und die Benutzer rufenden Routinen 759 einen VS-Benutzerserver 711, wogegen das System-Bearbeitungsprogramm A 755 und die Routinen der Ebene 769, die von ihm aufgerufen werden, einen VS-Systemserver 773 bilden. Bei einer gegenwärtigen Ausführungsform entspricht jedem PC-Server ein VS-Server.
  • Die Ebene 765 umfaßt die das Aufrufprotokoll empfangende Routine (CPR), die den Rcode 607 und das Aufrufprotokoll 215 empfängt und deren Verarbeitung beginnt. Wie an den Pfeilen in Fig. 7A zu erkennen, empfängt jede Routine in der Ebene 767 den Speicherplatz eines Aufrufprotokolls 215 von der CPR 751 und schreibt an sie den Speicherplatz eines Rückkehrprotokolls 217 zurück. Jede Routine der Ebene 769 kann auf die benannten Speicherplätze zugreifen.
  • Die allgemeine Arbeitsweise des IP 414 ist folgende: Wie weiter oben beschrieben, beginnt die Übertragung eines Aufrufprotokolls 215 mit der Übertragung eines den Rcode 607 enthaltenden IOSW 411 aus Req 429. Die CPR 751 ermittelt aus dem Rcode 607, welcher VS-Server aufgerufen wird. Sie führt dann die Leseoperation aus, woraus sich, wie weiter oben beschrieben, die Übertragung des Aufrufprotokolls 215 aus dem PC 421 an das VS 401 ergibt, und ruft danach in der Ebene 767 die Bearbeitungsroutine auf, die dem vom Rcode 607 bestimmten VS- Server entspricht. Die Bearbeitungsroutine der Ebene 767 bestimmt dann aus dem Aufrufprotokoll, welcher Aufruf auszuführen ist, und ruft in der Ebene 769 die Routine auf, welche den Aufruf tatsächlich ausführt. Diese Routine benutzt das Aufrufprotokoll 215 zur Erstellung der Parameter für den Aufruf und führt den Aufruf aus. Nach dem Aufruf erstellt die Routine in der Ebene 769 das geeignete Rückkehrprotokoll 217, und nach Rücksprung von dieser Routine kehrt das Bearbeitungsprogramm der Ebene 767 zurück und die CPR 751 führt die Schreiboperation an der 928-Platte 424 aus, wodurch das Rückkehrprotokoll 217 an das PC 421 übertragen wird.
  • 4. Detaillierte Arbeitsweise des IP 414 - Fig. 8 bis 11
  • Fig. 8 bis 11 sind detaillierte Flußdiagramme der Arbeitsweise des IP 414 und seiner Bauelemente in der Ausführungsform entsprechend Fig. 4. Fig. 8 ist die vom Systemprogramm im VS 401 ausgeführte Schleife, welche Arbeitsstations-Ein-/Ausgänge für das PC 421 durchführt. Das Programm wird so lange abgearbeitet, wie das VS 401 läuft, und führt zwei Operationen aus: Zuerst wartet es, bis PC 421 über RCode 429 (Block 801) eine Anmeldungforderung stellt, und antwortet dann, wenn PC 421 die Forderung stellt, durch die Ausführung jeder Verarbeitung, die während der Anmeldung erforderlich ist (Block 803). Wenn sich das PC 421 abmeldet, geht das Programm in den Wartezustand bei Block 801 zurück.
  • Weiter mit Fig. 9, die eine Einzelheit aus dem Block 803 darstellt: Bei seiner Anmeldung spezifiziert das PC 421 die Art der Wechselwirkung, in die es mit dem VS 401 treten will. Es kann die Wechselwirkung entweder in Antwort auf eine Anfrage seitens VS 401 bestimmen oder über eine Nachricht, die es bei seiner Anmeldung an das VS 401 sendet. Wie im Block 901 dargestellt, bestimmt das Programm in beiden Fällen die Art der Wechselwirkung und wenn, wie im Block 903 dargestellt, diese Art ein Aufruf vom PC 421 an VS 401 ist, ruft das Programm die Routine CPR 751 auf. Andernfalls ruft es eine äquivalente Routine für einen beliebigen anderen gewünschten Dialogverkehr auf (Block 905).
  • Fig. 10 und 10A sind ein Flußdiagramm der CPR 751. Der Kontrollfluß in CPR 751 wird durch den Wert von RCode 607 im IOSW 411 gesteuert. Bei einer gegenwärtigen Ausführungsform kann Rcode 607 u.a. folgende Aktionen vorschreiben:
  • 1. Weiterhin das Rückkehrprotokoll aus der vorhergehenden Anforderung senden.
  • 2. Ein Systembild-Bearbeitungsprogramm aufrufen.
  • 3. Ein Betriebssystemprogramm aufrufen.
  • 4. Ein Dateisystemprogramm aufrufen.
  • 5. Ein Verknüpfungssystemprogramm aufrufen.
  • 6. Ein Programm aufrufen, das von einem von vier VS- Benutzerservern 771 angefordert wurde.
  • 7. Weiterhin das aktuelle Aufrufprotokoll empfangen.
  • 8. Abmelden.
  • Jeder der vorstehend genannten Aktionen 2 bis 5 entspricht ein VS-Systemserver 773. Die Verknüpfungsystemprogramme ermöglichen es dem PC 421, sich als Endgerät für das VS 401 anzumelden. Die Aktionen 1 und 7 ermöglichen die Benutzung von Aufruf- und Rückkehrprotokollen, die mehr Daten enthalten, als jeweils im Mess Buff 432 oder Prot 407 gespeichert werden können. Ein Beispiel eines solchen Aufrufprotokolls 215 ist das Schreib-Datei-Protokoll, bei dem das Protokoll die Daten enthält, die in die Datei geschrieben werden. In ähnlicher Weise enthält das Rückkehrprotokoll 217 für die Lese-Datei-Operation die aus der Datei gelesenen Daten. Bei einer gegenwärtigen Ausführungsform können Benutzer bis zu vier VS-Benutzerserver 771 vorsehen. Die die VS-Benutzerserver 771 bildenden Routinen sind mit dem Betriebssystem des VS 401 statisch verknüpft. Bei anderen Ausführungsformen können mehr oder weniger Benutzerserver 771 vorgesehen sein, und es kann möglich sein, die Benutzerserver mit dem Betriebssystem dynamisch zu verknüpfen.
  • Wie in Fig. 10 und 10A erkenntlich, ist die CPR 751 als Schleife implementiert, welche die Verarbeitung von Aufrufprotokollen 215 fortsetzt, bis Rcode 607 angibt, daß sich das PC 421 abmelden will. Nach dem Aufruf 1001 führt die CPR 751 zuerst die Aktionen aus, die zur Eingabe/Ausgabe an der 928- Platte 424 notwendig sind (Block 1003). Danach erwartet die CPR 751 eine Anforderung seitens des PC 421 (Block 1005). Wie weiter oben erläutert, hat die Anforderung bei einer gegenwärtigen Ausführungsform die Form eines IOSW 411, das von der 928-Platte 424 an den IOP 413 gesandt wird. Die CPR 751 liest den Rcode 609 aus dem IOSW 411 aus (Block 1007).
  • Die weitere Verarbeitung ist vom Wert des Rcode 609 abhängig. Ist der Wert 1, der ein neues Aufrufprotokoll angibt (Block 1009), macht die CPR 751 den für die Verarbeitung des letzten Aufrufprotokolls reservierten Speicher frei (Block 1010). Der nächste Schritt ist der Entscheidungsblock 1011. Wenn Rcode 609 angibt, daß weitere Daten aus PC 421 zu empfangen sind, führt die CPR 751 eine Lese-Operation an der 928-Platte 424 aus (Block 1013) und verzweigt zum Block 1005, an dem sie das Eintreffen der aus dem PC 421 ausgelesenen Daten erwartet. Der Rcode 609, der angibt, daß aus PC 421 weitere Daten zu empfangen sind, wird vom MP 435 ausgegeben, wenn entweder der Mess Buff 432 im PC 421 oder der Prot 407 im VS 401 zu klein ist, um das gesamte Protokoll zu halten.
  • Als nächstes kommt der Entscheidungsblock 1011. Wenn Rcode 609 angibt, daß weitere Daten an den PC 421 zu senden sind, führt die CPR 751 eine Schreib-Operation an der 928-Platte 424 aus (Block 1017) und springt erneut auf Block 1005. Der Rcode 609, der angibt, daß weitere Daten zu senden sind, wird vom PC 421 gesendet, wenn ein Rückkehrprotokoll für einen Aufruf mehr Daten enthält, als in Prot 407 oder dem Mess Buff 432 gespeichert werden können.
  • Wird am Entscheidungsblock 1015 nicht verzweigt, geht die Verarbeitung mit dem Entscheidungsblock 1019 weiter. Schreibt der Rcode 609 eine Abmeldung vor, springt das Programm zum Block 1021, führt die letzte, für die Abmeldung notwendige Verarbeitung aus und springt zurück (Block 1023). Wird am Entscheidungsblock 1019 nicht verzweigt, geht die Verarbeitung mit dem Block 1025 weiter, in dem das Aufrufprotokoll 215 aus dem PC 421 in Prot 407 eingelesen wird. Die CPR 751 bestimmt dann anhand des Rcode 609, welcher VS-Server zu benutzen ist, und ruft die Bearbeitungsroutine der Ebene 767 für diesen Server auf (Block 1027). Wenn die Routine zurückspringt, ist das Rückkehrprotokoll 217 zur Abgabe an das PC 421 bereit und wird von der CPR 751 gesendet (Block 1029), die auf den Block 1005 springt, um auf die nächste Anforderung vom PC 421 zu warten.
  • Fig. 11 ist ein Flußdiagramm für eine übliche Routine der Ebene 767. Die Verarbeitung durch die Routine beginnt mit dem Aufruf 1101 und geht weiter mit der Zuweisung von Speicherplatz für Params 418, wie es für die vom VS-Server behandelte Aufrufklasse erforderlich ist, zu der die Bearbeitungsroutine der Ebene 767 gehört (Block 1103). Als nächstes bestimmt die Routine die Art des auszuführenden Aufrufs anhand des RI 235 im Aufrufprotokoll 215 (Block 1105). Danach ruft sie die diesen Aufruf aus führende Routine der Ebene 769 auf (Block 1107), und wenn diese Routine zurückspringt, springt die Routine der Ebene 767 zurück (Block 1109).
  • Die von einer bestimmten Routine der Ebene 769 ausgeführten Operationen sind in hohem Maße von der Art des ausgeführten Aufrufs abhängig. Im allgemeinen benutzt eine Routine der Ebene 769 die Informationen im Aufrufprotokoll, um die Parameter des von ihr ausgeführten Aufrufs zu erstellen, führt den Aufruf aus und bildet beim Rücksprung vom Aufruf das Rückkehrprotokoll. Eine beispielhafte Beschreibung einer Routine der Ebene 769 folgt nachstehend.
  • 5. Implementierung des OPEN(ERÖFFNE)-Systemaufrufs - Fig. 12 bis 15
  • Der OPEN(ERÖFFNE)-Systemaufruf im VS 401 ist ein Dateisystemaufruf, der eine Datei für die Benutzung durch ein Programm vorbereitet. Logisch betrachtet definiert der OPEN-Systemaufruf die Art und Weise, in der die Datei vom Programm benutzt werden wird. Physikalisch gesehen stellt der OPEN-Systemaufruf eine Beziehung zwischen einem Benutzer-Dateiblock (UFB) und einer Datei her. Der UFB enthält Werte, welche die Art und Weise bestimmen, in welcher die Datei benutzt werden kann, und die Adresse eines Bereiches im Speicher 402 für die von der Datei zu empfangenden oder an sie ausgegebenen Daten. Weil der UFB für die Datei vorhanden sein muß, bevor der OPEN-Systemaufruf ausgeführt werden kann, beinhaltet das Eröffnen einer Datei im VS 401 stets zwei Operationen: die Erstellung des UFB für die Datei und dann die Ausführung der Eröffnungsoperation.
  • Der Aufruf im PC 421, aus dem sich ein OPEN-Systemaufruf im VS 401 ergibt, ist der Funktionsaufruf vsopen (VSEröffne). Der Aufruf hat ein einziges Argument: ein Zeiger auf Params 435, die für vsopen eine Datenstruktur enthalten, deren Inhalt die Parameter sind, die zum Erstellen des UFB und Ausführen des OPEN-Systemaufrufs erforderlich sind. Ist der Aufruf erfolgreich, hat vsopen den Booleschen Wert T; andernfalls hat er den Booleschen Wert F. Fig. 12 zeigt die im vsoden benutzte Datenstruktur. Der Parameterzeiger Param ptr 1201 verweist auf den Parameterblock 1202, der Platz für die folgenden Informationen hat:
  • FU 1203 enthält den Dateizeiger, einen Identifizierer für die Datei im VS 401, beim Rücksprung von vsopen.
  • OM 1207 gibt die Betriebsart für die Dateieröffnung an. Beispiele für Betriebsarten zur Eröffnung einer Datei sind die Eröffnung für Eingaben, die Eröffnung für Ausgaben oder die Eröffnung für beide.
  • FO 1209 gibt die Organisationsweise der Datei an, d.h. wie ihr Inhalt angeordnet ist.
  • DT 1211 gibt die Geräteart an, mit der die Datei verwendet werden kann. Beispielsweise hat eine Datei, die auf einen Drucker auszugeben ist, den Druckgeräte-Typ.
  • FN ptr 1212 ist ein Zeiger auf FN 1214, der den Namen der zu eröffnenden Datei enthält.
  • OP ptr 1213 ist ein Zeiger für die Eröffnung des Parameterblocks 1215, der die Parameter für den UFB für die Datei enthält.
  • PLN 1221 schreibt die Länge des Eröffne-Parameterblocks 1215 vor.
  • AK ptr 1223 ist ein Zeiger auf einen Pufferspeicher für Informationen über Alternativtasten, der Alternativtasten für die durch das Rückkehrprotokoll zurückgeschriebene Datei enthält.
  • Ret ptr 1225 ist ein Zeiger auf einen Rückkehrcodebereich 1228, der zum Speichern von Zustandscodes und der im Rückkehrprotokoll zurückgeschriebenen Grundtaste benutzt wird.
  • Jeder Parameter im Eröffne-Parameterblock 1215 wird mittels eines wahlweisen Datenelementes 1218 spezifiziert. Jedes wahlweise Datenelement (OI) 1218 enthält ein Identifizierungskennzeichen 1217, das die Parameterart und einen Datenelementwert (IV) 1219 angibt, der den Wert des Parameters enthält. Die Bezeichnung der Parameter mittels der OI 1218 ermöglicht es, unnötige Parameter im Eröffne-Parameterblock 1215 wegzulassen und den Parametern in Block 1215 eine beliebige Reihenfolge zu geben.
  • Der vsopen benutzt die Informationen im Parameterblock 1202 und Eröffne-Parameterblock 1215, um das Aufrufprotokoll für OPEN in Prot 431 zu erstellen. Fig. 13 zeigt das OPEN-Aufrufprotokoll. Das OPEN-Aufrufprotokoll 1301 umfaßt drei Hauptteile: einen Kopf 1313, Muß-Daten 1315, die für jeden OPEN- Aufruf erforderlich sind, und Wahl-Daten 1331, deren Inhalt von der Art der zu eröffnenden Datei abhängig sind. Alle Aufrufprotokolle für Systemaufrufe umfassen in einer gegenwärtigen Ausführungsform den Kopf 1313 und die Muß-Daten 1315, und alle Kopfteile enthalten einen den Systemaufruf spezifizierenden Code, Byte, die vom PC 421 gelieferte und vom VS 401 nicht geänderte Steuerdaten enthalten, und einen Wert, der die Bytezahl in der dem Kopfteil folgenden Nachricht vorschreibt. Der weitere Inhalt des Kopfteils ist von der Art des Systemaufrufs abhängig.
  • Im Kopf 1313 des Aufrufprotokolls für den OPEN-Systemaufruf ist das erste Feld ein Routineidentifizierer (RI) 1303, der den vom VS 401 auszuführenden Systemaufruf bezeichnet; danach kommen Anforderungsmerker (RF) 1305, die in der gegenwärtigen Ausführungsform nicht benutzt werden, aber bei anderen Ausführungsformen als Modifikatoren für RT 1303 benutzt werden können. CTL INFO 1307 enthält nur vom PC 421 benutzte Informationen; sie werden vom VS 401 nicht modifiziert und im Rückkehrprotokoll in das PC 421 zurückgebracht. FH 1309 enthält einen Nulldateizeiger. LCM 1311 schreibt die Länge der dem Kopf 1313 folgenden Aufrufnachricht vor.
  • Die Muß-Daten 1315 enthalten OM 1317, das die Betriebsart vorschreibt, in der die Datei im VS 401 zu eröffnen ist; FO 1319 schreibt die Organisationsart für die Datei vor; DT 1321 bezeichnet das Gerät, dem die Datei zugeordnet ist. LN 1323 bestimmt die Länge des folgenden Feldes FN 1325, das den Dateinamen enthält. Im VS 401 weist ein Dateiname stets drei Teile auf: eine Datenträgernummer, eine Bibliothek und ein Dateiname.
  • Wie weiter oben angedeutet ändert sich der Inhalt der Wahl- Daten 1331 von OPEN-Aufruf zu OPEN-Aufruf, je nach der Art der zu eröffnenden Datei. Die Wahl-Daten 1331 enthalten wahlweise Datenelemente (OI) 1330, die je zwei Teile umfassen: ein Identifizierungskennzeichen 1327, das die Wertigkeit der Daten angibt, und ein Datenelementwert 1329, der die Daten selbst ist. Die Verwendung des Identifizierungskennzeichens 1327 ermöglicht es, OI 1330 bei den Wahl-Daten 1331 wegzulassen oder in ihnen in beliebiger Reihenfolge zu erscheinen.
  • Beim Vergleich des OPEN-Aufrufprotokolls 1301 mit den Datenstrukturen für vsoden in Fig. 12 ist zu erkennen, daß vsopen das Protokoll 1301 in Prot 431 folgendermaßen erstellt: Er stellt zuerst den passenden Wert für die OPEN-Operation in RI 1303 bereit; dann setzt er FH 1309 auf den Nullwert, kopiert OM 1207, FO 1209 und DT 1211 aus dem Parameterblock 212 in die entsprechenden Felder im Protokoll 1301, benutzt FN ptr 1212 für die Auffindung von FN 1214, speichert den Inhalt von FN 1214 in FN 1325, berechnet die Länge des Dateinamens bei dessen Abspeicherung, und bringt die Länge in LN 1323. vsopen beendet das Protokoll 1301 durch Benutzung von OP ptr 1213 zur Auffindung des Eröffne-Parameterblocks 1215 und durch Kopieren jedes darin enthaltenen OI 1218 in ein OI 1330 im Protokoll 1301. Schließlich benutzt er PLN 1221 zum Berechnen von LCM 1311. Nachdem das Protokoll 1301 auf diese Weise gebildet ist, ruft vsopen CPS 707 auf, der, wie weiter oben angegeben, das Protokoll aus Prot 431 in den Mess Buf 432 kopiert und das Protokoll 1301 an das VS 401 sendet.
  • Wie weiter oben erläutert, geht bei einer gegenwärtigen Ausführungsform dem Protokoll 1301 der Rcode 501 voraus, der angibt, daß das Protokoll 1301 ein Dateisystem-Protokoll ist. Folglich wählt und ruft die CPR 751 das Systembearbeitungsprogramm der Ebene 767 für das Dateisystem auf. Dieses Bearbeitungsprogramm bestimmt aus RI 1303, daß ein OPEN-Aufruf erforderlich ist und ruft in der Ebene 769 die Routine für OPEN auf. Fig. 14 zeigt die Datenstrukturen, die von dieser Routine benutzt werden. UFB 1407 ist der Benutzerdateiblock für die zu eröffnende Datei; er wird in Params 418 erstellt; Eröffne-Argument 1401 ist das im VS-OPEN-Systemaufruf benutzte Argument; es besteht aus zwei Teilen: einem Byte, in dem VS 401 einen Fehlercode zurückschreibt, und einem UFB-Zeiger 1405, der auf UFB 1407 verweist.
  • Fig. 15 ist ein Flußdiagramm für die OPEN-Routine der Ebene 769. Die Routine setzt zuerst die Felder im UFB 1407 aus dem Protokoll 1301 und führt dann den VS-OPEN-Systemaufruf aus. Wie Block 1503 zeigt, setzt die Routine zuerst die Felder des UFB 1407 aus den Muß-Daten 1315 des Protokolls 1301. Sodann beginnt sie eine Schleife (Blöcke 1505 und 1507), in der sie die Wahl-Daten 1331 von Anfang bis Ende mit Steuerung durch LCM 1311 abarbeitet. Für jedes OI 1330 wird ein Identifizierungskennzeichen geholt, um zu bestimmen, welche Wertart im Datenelementwert 1329 folgt, und sodann wird der Datenelementwert 1329 in das durch das Identifizierungskennzeichen 1327 geforderte Feld des UFB 1407 gebracht. Sind keine OI 1330 mehr zu verarbeiten, führt die OPEN-Routine der Ebene 769 den VS-System-OPEN-Aufruf aus, unter Benutzung des OPEN- Arguments 1401 (Block 1509). Bei Rückkehr des System-OPEN- Aufrufs erstellt die OPEN-Routine der Ebene 769 das Rückkehrprotokoll und springt zurück.
  • Das Rückkehrprotokoll für OPEN ist in Fig. 13A dargestellt. Das Rückkehrprotokoll 1332 weist zwei Teile auf: einen Kopf 1351 und speicherplatzabhängige Rückkehrdaten 1353. Alle Rückkehrprotokolle für Systemaufrufe in der vorliegenden Erfindung umfassen wenigstens den Kopfteil, und der Kopfteil enthält wenigstens einen den Systemaufruf bezeichnenden Identifizierer, die Steuerinformationen und einen die Länge des übrigen Teils des Rückkehrprotokolls angebenden Wert. Die Wertigkeit der Daten in den speicherplatzabhängigen Rückkehrdaten 1353 wird durch ihren Speicherplatz bestimmt und folglich werden in System-Rückkehrprotokollen keine OI verwendet.
  • Im OPEN-Rückkehrprotokoll 1332 beginnt der Kopf 1351 mit RI 1303, der denselben Wert wie im Aufrufprotokoll 1301 hat und dadurch das Rückkehrprotokoll 1332 als das dem Aufrufprotokoll 1301 entsprechende Rückkehrprotokoll kennzeichnet. Stat 1 1333 und Stat 2 1335 sind Zustandswerte, die von der OPEN- Routine der Ebene 769 zurückgeschrieben werden; CTL INFO 1307 wird gegenüber dem Aufrufprotokoll 1301 unverändert zurückgeschrieben. Ist der System-0PEN-Aufruf erfolgreich, enthält FN 1337 den Dateiidentifizierer für die eröffnete Datei. LRM 1339 schreibt die Länge der Rückkehrnachricht vor; OM 1341 gibt die Betriebsart an, in welcher die Datei eröffnet wurde, FO 1343 die Dateiorganisation, und FN ist der Dateiname. IXL 1347 ist die Länge des nächsten Feldes Index Info 1349, das Informationen enthält, welche für das Auffinden einzelner indizierter Datensätze in der Datei erforderlich sind. Der genaue Inhalt von Index Info 1349 ist von der Art der zu eröffnenden Datei abhängig. Wie weiter oben angegeben, wird das Rückkehrprotokoll 1332 durch die CPR 751 an das PC 421 zurückgegeben, wo es vom CPS 707 empfangen wird.
  • vsopen empfängt das Rückkehrprotokoll 1332 vom CPS 707. Bei einer gegenwärtigen Ausführungsform ist der CPS 707 als Funktion implementiert, die einen Wert zurückschreibt, der den Zustand des vom Aufrufprotokoll ausgeführten Aufrufs angibt. vsopen bringt zuerst den vom CPS 707 zurückgeschriebenen Wert zusammen mit Stat 1 1333 und Stat 2 1335 aus dem Rückkehrprotokoll 1332 in den Rückkehrcodebereich 1228. Sie überprüft dann die Werte, um festzustellen, ob die OPEN-Operation erfolgreich war. Wenn nein, schreibt vsopen den Wert F zurück; wenn ja, aktualisiert vsopen FH 1203, OM 1207, FO 1209 und FN 1214 nach den entsprechenden Werten des Rückkehrprotokolls 1332. Sodann schreibt sie einen Teil des Index Info 1349 in den Rückkehrcodebereich 1228 und den übrigen Teil in den Alternativtasten-Informationspufferspeicher 1225 und schreibt T zurück.
  • Dem Fachmann leuchtet es ohne weiteres ein, daß die-Vorrichtung und die Verfahren, die bei der Ausführung des OPEN-Systemaufrufs im VS 401 aus dem PC 421 auch bei anderen Systemaufrufen verwendet werden können. Bei einer gegenwärtigen Ausführungsform werden die nachstehend angegebenen Systemaufrufe ausgeführt:
  • A. Dateisystem-Aufrufe
  • ERÖFFNE
  • SCHLIESSE (Schließen einer geöffneten Datei)
  • LESE (Lesen von Daten aus einer Datei)
  • SCHREIBE (Schreiben von Daten in eine Datei)
  • NEUSCHREIBE (Neuschreiben eines Teils einer Datei)
  • ENTFERNE (Entfernen eines Teils einer Datei).
  • B. Betriebssystem-Aufrufe
  • HERSTELLE VERBINDUNG und LÖSE VERBINDUNG (Anschließen und Trennen von Plattenlaufwerken)
  • ENTNEHME (Auszug von Daten aus den vom Betriebssystem gepflegten Systemsteuerblöcken)
  • VERKNÜPFE (Benutzung des Betriebssystems zum Aufrufen eines Programms)
  • VERBRINGE PARAMETER (in ein mit LINK aufgerufenes Programm)
  • SCHÜTZE (Änderung des Schutzes einer Datei)
  • LESEFDR (Anforderung von Informationen über eine Datei)
  • LESEDIV (Anforderung von Informationen über ein Datenträger-Inhaltsverzeichnis)
  • UMBENENNEN (Umbennung einer Datei)
  • DURCHSTREICHE (Entfernung einer Datei oder Bibliothek)
  • SETZE (Setzen von Betriebssystemkonstanten)
  • VORLEGE (Vorlage eines Stapelverarbeitungsauftrags)
  • ZEIT (Beschaffung von Systemuhrzeit und -datum)
  • ERSTELLE (Erstellung eines Anschlusses für Inter-Task- Nachrichten)
  • ÜBERSENDE (Senden einer Inter-Task-Nachricht)
  • ZERSTÖRE (Aufhebung eines Anschlusses für Inter-Task- Nachrichten)
  • ÜBERPRÜFE (Warten auf eine Inter-Task-Nachricht und Wiedergewinnung derselben)
  • WEITERE DATEN (wird benutzt, wenn ein einziger Aufruf oder ein einziges Rückkehrprotokoll nicht alle erforderlichen Daten übertragen kann)
  • Alle vorstehend angegebenen Systemaufrufe können unter Benutzung von den für OPEN beschriebenen Aufruf- und Rückkehrprotokollen ähnlichen Protokollen ausgeführt werden. Wenn ein Aufrufprotokoll nur eine kleine, festgesetzte Menge Informationen enthält, kann es speicherplatzabhängige Daten enthalten, ähnlich denen im OPEN-Rückkehrprotokoll 1332, anstelle der Wahl-Daten 1331.
  • 6. Aufrufen von Routinen unter Benutzung von Aufruf- und Rückkehrprotokollen für PUTPARM und LINK
  • Systemroutinen und systemexterne Routinen können unter Benutzung von Aufrufprotokollen für die Systemaufrufe PUTPARM (Verbringe Parameter) und LINK (Verknüpfe) aufgerufen werden. Bei PUTPARM und LINK wird ein Aufrufprotokoll für PUTPARM zuerst benutzt, um die Parameter für die aufzurufende Routine bereitzustellen, und dann wird ein Aufrufprotokoll für LINK zum Aufrufen der Routine benutzt. Beide Aufrufprotokolle, PUTPARM und LINK, schreiben die Routine vor, für die Parameter bereitzustellen sind, oder die aufzurufen ist. Der systemaufruf PUTPARM liefert Parameter für die bezeichnete Routine, und der Systemaufruf LINK ruft die bezeichnete Routine auf. In Anbetracht der Unterschiede bei den Funktionen der Systemaufrufe ist die Arbeitsweise der vorliegenden Erfindung mit diesen Aufrufprotokollen im allgemeinen die gleiche wie für OPEN beschrieben wurde.
  • Das Aufrufprotokoll für den Systemaufruf PUTPARM setzt sich aus einem Kopf und aus speicherplatzabhängigen Daten zusammen. Der Kopf enthält den Anforderungscode, ein Zustandsbyte, acht Byte Steuerinformationen und zwei Byte zur Angabe der Nachrichtenlänge. Der speicherplatzabhängige Teil enthält ein Byte, das Putparm-Operationen bezeichnet, acht Byte für den Namen des Programms, für das die Parameter bestimmt sind, ein Byte für eine Programmfunktionstaste, und für jeden in PIT- PARM spezifizierten Parameter eine Feldspezifikation, bestehend aus einem Feldtyp, der die Datenart des Parameters bezeichnet, ein den Parameter bezeichnendes Kennwort, einen Feldlängenbezeichner, einen Datenlängenbezeichner und das die Daten enthaltende Feld. Das PUTPARM-Rückkehrprotokoll enthält den PUTPARM-Anforderungscode, ein Zustandsbyte, das angibt, ob der Systemaufruf erfolgreich war, und einen Fehlercode im entgegengesetzten Fall, die acht Byte Steuerinformationen und zwei Byte zur Angabe der Länge des Nachrichtenhauptteils, die in diesem Fall auf 0 gesetzt sind.
  • Das LINK-Aufrufprotokoll umfaßt einen Kopf mit dem Identifizierer für den LINK-Systemaufruf, ein Zustandsbyte, Steuerinformationen und einen die Länge der Nachricht bestimmenden Wert. Der übrige Teil des Protokolls sind speicherplatzabhängige Daten, die angeben, ob das Programm aus einer Systembibliothek oder einer Benutzerbibliothek stammt, verschiedene Verknüpfungsoptionen und den mit Datenträger:Bibliothek.Datei angegebenen Programmname. Das LINK-Rückkehrprotokoll besteht nur aus dem Kopf, der den Identifizierer für den LINK-Systemaufruf enthält, einem Zustandsbyte mit Werten, die angeben, ob die Operation erfolgreich war und, wenn nicht, welcher Fehler vorlag, die Steuerinformationen und den Wert, der die Länge des übrigen Nachrichtenteils angibt und in diesem Fall 0 ist.
  • 7. Vom Benutzer erstellte Aufruf- und Rückkehrprotokolle
  • Ein Benutzer des Rechnersystems, in dem die vorliegende Erfindung verwirklicht ist, kann seine eigenen Aufruf- und Rückkehrprotokolle definieren und die vorliegende Erfindung dazu benutzen, unter Verwendung seiner eigenen Aufruf- und Rückkehrprotokolle Prozeduren im VS 401 aufzurufen. Hierzu muß der Benutzer seinen eigenen PC-Benutzerserver 710 für das MP 435 im PC 421 und seinen eigenen VS-Benutzerserver 771 für das IP 414 im VS 401 schreiben. Der CPS 707 wird Benutzer- Aufrufprotokolle vom PC 421 an das VS 401 übertragen, und die CPR 751 wird die Aufrufprotokolle empfangen und die passende, vom Benutzer bereitgestellte Routine in der Ebene 767 aufrufen.
  • Beginnend mit der Routine in der Ebene 709 im PC-Benutzerserver 710: Wie in der Beschreibung von vsopen angegeben, erstellt eine Routine der Ebene 709 ein Aufrufprotokoll 215 und ruft dann den CPS 707 auf, wobei als Parameter ein Wert für Rcode 501 und Werte verwendet werden, welche die Speicherplätze und Längen der Pufferspeicher für das Aufrufprotokoll 215 und das Rückkehrprotokoll 217 bezeichnen. Eine Benutzerroutine der Ebene 709 tut genau das gleiche: sie erstellt ein Aufrufprotokoll 215, das die Werte enthält, die von der im VS 401 aufzurufenden Benutzerroutine benötigt werden. Statt jedoch für RCode 501 einen Wert vorzusehen, der einen VS-Systemserver 773 bezeichnet, gibt sie einen der Werte an, die in einer gegenwärtigen Ausführungsform zur Bezeichnung eines VS-Benutzerservers 771 benutzt werden kann.
  • Zu diesem Zweck stehen derzeit vier Werte des RCode 501 zur Verfügung. Somit kann ein Benutzer vier VS-Benutzerserver 771 schreiben. Wenn die CPR 751 einen Wert für Rcode 501 empfängt, der einen der VS-Benutzerserver 771 bezeichnet, liest die CPR 751 das vom Benutzer erstellte Protokoll in Prot 407 ein und ruft für den bezeichneten Benutzerserver 771 die Bearbeitungsroutine der Ebene 767 auf. Der Inhalt der Bearbeitungsroutine der Ebene 767 kann veränderlich sein; jedoch werden bei einer gegenwärtigen Ausführungsform die Namen und Parameter der Bearbeitungsroutinen der Ebene 767 in den VS- Benutzerservern 771 durch das Betriebssystem des VS 401 definiert. Die Namen sind USER00 bis USER03 (Benutzer00 bis Benutzer 03), und die Parameter sind ein Wert, der die Länge der Eingabedaten angibt, die Adresse im VS 401, bei der die Eingabedaten gespeichert werden, ein Wert, der die Länge der Ausgangsdaten angibt, und die Adresse im VS 401, an der die Ausgangsdaten gespeichert sind. Die CPR 751 gibt die ersten beiden Parameter aus, wenn sie die Benutzer-Bearbeitungsroutine der Ebene 767 aufruft; die Länge schreibt die aktuelle Größe von Prot 407 vor, und die Adresse ist die Adresse von Prot 407; die Benutzer-Bearbeitungsroutine der Ebene 767 setzt die Werte der zweiten zwei Parameter so, daß sie die Größe und den Speicherplatz des Rückkehrprotokolls bezeichnen.
  • Prot 407 enthält selbstverständlich das vom PC 421 empfangene Benutzer-Aufrufprotokoll. Die Benutzer-Bearbeitungsroutine der Ebene 767 wird im allgemeinen das Benutzer-Aufrufprotokoll in der gleichen Weise behandeln wie die System-Bearbeitungsroutinen der Ebene 767: sie wird nach dem Aufrufprotokoll bestimmen, welche Routine aus der Gruppe Benutzerroutinen, die dem bezeichneten VS-Benutzerserver 771 zugeordnet sind, aufzurufen ist und ruft dann eine Routine der Ebene 769 im VS-Server 771 auf, um den eigentlichen Aufruf auszuführen. Die Routine der Ebene 769 wird dann das Benutzer-Aufrufprotokoll lesen, Params 418 für den Aufruf erstellen, den Aufruf ausführen, und nach Rücksprung der aufgerufenen Routine das Benutzer-Rückkehrprotokoll erstellen und den Speicherplatz und die Länge des Benutzer-Rückkehrprotokolls an die Routine der Ebene 767 zurückschreiben, welche diese Daten an die CPR 751 zurücksendet. Die CPR 751 sendet dann das Benutzer-Rückkehrprotokoll an das PC 421 zurück, in welchem es vom CPS 707 in Prot 431 gebracht wird. Die Routine der Ebene 769 im PC- Benutzerserver, die den CPS 707 aufgerufen hat, verarbeitet dann das Rückkehrprotokoll.
  • Wenngleich die genaue Form der vom Benutzer erstellten Aufruf- und Rückkehrprotokolle und die von Routinen in den PC- Benutzerservern 710 und VS-Benutzerservern 771 ausgeführten Aktionen voin Benutzer bestimmt werden, führen diese Protokolle und Routinen Funktionen aus, die denen analog sind, die von den für den System-OPEN-Aufruf beschriebenen Protokollen und Routinen ausgeführt werden, und ein Fachmann kann aus der vorstehendem Beschreibung bequem bestimmen, wie er seine PC- Benutzerserver 710 und VS-Benutzerserver 771 schreiben und seine eigenen Protokolle definieren kann.
  • 8. Schlußfolcrerung
  • In der vorstehenden Beschreibung wird dargestellt, wie durch Wechselwirkung zwischen Rechnersystemen unter Benutzung von Aufruf- und Rückkehrprotokollen bedeutende im Stand der Technik bestehende Schwierigkeiten überwunden werden; es sind die allgemeinen Grundsätze offenbart, die bei der Gestaltung von Rechnersystemen einbezogen sind, bei denen ein erstes Rechnersystem ein Protokoll liefert, das einen vom zweiten Rechnersystem auszuführenden Aufruf bezeichnet, und das zweite System den Aufruf ausführt und ein Rückkehrprotokoll liefert; und es ist eine bevorzugte Ausführungsform der Erfindung offenbart. Die Offenbarung der bevorzugten Ausführungsform hat im einzelnen dargelegt, wie ein PC-Rechner der Wang Laboratories, Inc. ein Aufrufprotokoll erstellen und es einem VS- Rechner der Wang Laboratories, Inc. zuleiten kann, wie der VS-Rechner der Wang Laboratories, Inc. das Aufrufprotokoll auslegt, den Aufruf ausführt und an den PC-Rechner ein Rückkehrprotokoll liefert, und wie der PC-Rechner das Rückkehrprotokoll auslegt. Wie in der detaillierten Offenbarung dargelegt, kann die Erfindung zum Aufrufen sowohl von Systemals auch von Benutzerroutinen benutzt werden.
  • Wie in der Beschreibung angegeben, kann die Erfindung in jedem beliebigen System, das mehr als eine Verarbeitungseinheit aufweist, ausgeführt werden und ist in keiner Weise auf Rechner der Wang Laboratories, Inc., auf die speziellen, in der bevorzugten Ausführungsform verwendeten Übertragungsgeräte, auf die speziellen, hier beschriebenen Protokolle oder auf die speziellen Programme, die sie erzeugen und auslegen, beschränkt. Die hier offenbarte bevorzugte Ausführungsform ist somit in jeder Hinsicht als erläuternd und nicht einschränkend zu betrachten.

Claims (5)

1. Digitaldaten-Verarbeitungssystem mit einer Ziel-Datenverarbeitungseinrichtung (231), die durch eine Nachrichtenübertragungseinrichtung (210) mit einer Quellen-Datenverarbeitungseinrichtung (233) verbunden ist, und bei dem die Quellen-Datenverarbeitungseinrichtung (233) eine Fernaufruf- Bereitstellungseinrichtung (227) zum Bereitstellen eines Fernaufrufs für ein aufrufbares Programm (205) in der Ziel- Datenverarbeitungseinrichtung (231) aufweist und die Ziel- Datenverarbeitungseinrichtung (231) eine Fernaufruf-Empfangseinrichtung (211) zum Empfangen des Fernaufrufs und zum Ausführen eines Aufrufes für das aufrufbare Programm (205) aufweist,
und das ein Aufrufprotokoll (215) aufweist, das von der Fernaufruf-Bereitstellungseinrichtung (227) in der Quellen-Datenverarbeitungseinrichtung (233) erzeugt, durch die Nachrichtenübertragungseinrichtung (210) zur Ziel-Datenverarbeitungseinrichtung (231) übertragen und von der Fernaufruf-Empfangseinrichtung (211) empfangen wird,
und das Aufrufprotokoll (215) einen Programmidentifizierer (RI 235) und Aufrufparameter (CPAR 239) zum Spezifizieren des aufrufbaren Programms (205) umfaßt,
dadurch gekennzeichnet, daß
jedes Aufrufprotokoll (215) einen Wahl-Teil (1331) enthalten kann, der ein oder mehrere wahlweise Datenelemente enthält, wobei das Datenelement nicht in jedem Aufruf für das aufrufbare Programm erforderlich ist, sondern von der Fernaufruf-Empfangseinrichtung beim Ausführen des Aufrufes benutzt wird, wenn die wahlweisen Datenelemente im Protokoll vorhanden sind,
- jedes wahlweise Datenelement einen Parameterwert und ein Datenelement-Identifizierungskennzeichen, das die Verwendung des Parameterwertes im Aufruf vorschreibt, enthält,
- die Fernaufruf-Empfangseinrichtung den Parameterwert jedes wahlweisen Datenelementes im Aufruf entsprechend dem Identifizierungskennzeichen des wahlweisen Datenelementes benutzt.
2. Digitaldaten-Verarbeitungssystem nach Anspruch 1, bei dem im Wahl-Teil keine erforderliche Reihenfolge der wahlweisen Datenelemente besteht.
3. Digitaldaten-Verarbeitungseinrichtung nach Anspruch 1, ferner mit einem Längenspezifizierer zum Vorschreiben der Länge des Aufrufprotokolls.
4. Digitaldaten-Verarbeitungssystem nach Anspruch 1, ferner mit einem Muß-Datenteil, der für jeden Aufruf für das aufrufbare Programm (205) erforderlich ist.
5. Verfahren zum Ausführen eines Fernaufrufs für ein aufrufbares Programm in einem Digitaldaten-Verarbeitungssystem, das mit einem oder mehreren wahlweisen Argumenten aufgerufen werden kann, die nicht bei jedem Aufruf des Programms erforderlich sind, mit den Arbeitsschritten:
- in einer Quellen-Datenverarbeitungeinrichtung, von welcher der Fernaufruf ausgeht, das Erstellen einer Aufrufnachricht, einschließlich eines Progammidentifizierers und Aufrufparameter, die das auf rufbare Programm vorschreiben,
- das Senden der Aufrufnachricht über eine Nachrichtübertragungseinrichtung an eine Ziel-Datenverarbeitungseinrichtung, in der das aufrufbare Programm eingerichtet ist, und
- das Autrufen des auf gerufenen Programms im Zielsystem, ferner gekennzeichnet durch die Arbeitsschritte:
- Einsetzen in das aufrufbare Programm eines wahlweisen Datenelementes, das jedes im Aufruf verwendete wahlweise Argument darstellt, und für jedes wahlweise Datenelement eines Datenelementwertes, der den Wert des durch das wahlweise Datenelement dargestellten wahlweisen Argumentes darstellt, und eines Datenelement-Identifizierungskennzeichens, das vorschreibt, welches wahlweise Argument der Datenelementwert darstellt, und
- in der Ziel-Datenverarbeitungseinrichtung das Ansprechen auf die Aufrufnachricht durch das Aufrufen des aufrufbaren Programms unter Verwendung jedes der wahlweisen Datenelemente als wahlweises Argument und des Datenelementwertes jedes wahlweisen Datenelements zu Bildung des wahlweisen Argumentes, das vom Datenelement-Identifizierungskennzeichen des wahlweisen Datenelementes vorgeschrieben ist.
DE19863650305 1985-03-05 1986-03-05 Anordnung zur Steuerung eines Rechnersystems durch ein anderes Rechnersystem. Expired - Fee Related DE3650305T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US70832785A 1985-03-05 1985-03-05

Publications (2)

Publication Number Publication Date
DE3650305D1 DE3650305D1 (de) 1995-06-01
DE3650305T2 true DE3650305T2 (de) 1996-01-11

Family

ID=24845358

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863650305 Expired - Fee Related DE3650305T2 (de) 1985-03-05 1986-03-05 Anordnung zur Steuerung eines Rechnersystems durch ein anderes Rechnersystem.

Country Status (5)

Country Link
EP (1) EP0193933B1 (de)
JP (1) JP2809389B2 (de)
AU (1) AU589400B2 (de)
CA (1) CA1245770A (de)
DE (1) DE3650305T2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1244142A (en) * 1985-06-17 1988-11-01 William E. Hammer Distributed data management mechanism
CA1244555A (en) * 1985-06-17 1988-11-08 Walter H. Schwane Process transparent multi storage mode data transfer and buffer control
FR2633414B1 (fr) * 1988-06-27 1993-07-09 Bull Sa Systeme informatique a interconnexion centrale
US5124909A (en) * 1988-10-31 1992-06-23 Hewlett-Packard Company Software program for providing cooperative processing between personal computers and a host computer
JPH0433139A (ja) * 1990-05-30 1992-02-04 Fujitsu Ltd ファィルアクセス方式
AU628753B2 (en) * 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
AU639802B2 (en) * 1990-08-14 1993-08-05 Oracle International Corporation Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
JPH04149658A (ja) * 1990-10-08 1992-05-22 Canon Inc 情報処理装置
JP4806840B2 (ja) * 2000-08-11 2011-11-02 ソニー株式会社 携帯電話機
US9942377B2 (en) 2000-08-11 2018-04-10 Drnc Holdings, Inc. Portable telephone

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5965331A (ja) * 1982-10-05 1984-04-13 Hitachi Ltd インタ−フエイス装置
US4564901A (en) * 1983-07-21 1986-01-14 Burroughs Corporation Method of performing a sequence of related activities via multiple asynchronously intercoupled digital processors
JPS6063648A (ja) * 1983-09-16 1985-04-12 Sumitomo Electric Ind Ltd オンラインパ−ソナルコンピユ−タによる汎用デ−タベ−ス処理方式

Also Published As

Publication number Publication date
DE3650305D1 (de) 1995-06-01
EP0193933A2 (de) 1986-09-10
JPS61204760A (ja) 1986-09-10
CA1245770A (en) 1988-11-29
AU589400B2 (en) 1989-10-12
EP0193933B1 (de) 1995-04-26
AU5364286A (en) 1986-09-11
EP0193933A3 (en) 1989-05-24
JP2809389B2 (ja) 1998-10-08

Similar Documents

Publication Publication Date Title
DE68919631T2 (de) Verfahren zur Verarbeitung von Programmteilen eines verteilten Anwendungsprogramms durch einen Hauptrechner und einen intelligenten Arbeitsplatz in einer SNA LU 6.2-Netzwerkumgebung.
DE3879947T2 (de) Verteilte dateiserver-architektur.
DE69220093T2 (de) Verarbeitungsnetzwerk für verteilte anwendungsprogramme.
DE68919976T2 (de) Verfahren zur Herstellung von aktuellen Terminaladressen für Systemanwender die verteilte Anwendungsprogramme in einer SNA LU 6.2-Netzwerkumbegung verarbeiten.
DE69724877T2 (de) Verfahren und Vorrichtung zum Betrieb einer Aggregation von Serverrechnern mittels eines Doppelzweck-Proxy-Servers
DE68925866T2 (de) Computersystem mit Verarbeitungsrechner
DE69429686T2 (de) Transaktionsverwaltung in objektorientiertem System
DE3688893T2 (de) Datentransfer und Puffersteuerung mit mehrfachen prozesstransparenten Speicherbetriebsarten.
DE69024753T2 (de) Tragbarer, Ressourcen teilender Datei-Server, der gemeinsame Routines benutzt
DE3689990T2 (de) Flexible Datenübertragung für nachrichtenorientierte Protokolle.
DE69814900T2 (de) Verfahren und system zur unterstützung verteilter software- entwicklung ohne bewusstsein der verteilten charakteristik der software
DE69329577T2 (de) Verfahren und system für implementierung-unabhängige schnittstellenspezifikation
DE3786069T2 (de) Virtueller Programmablauf auf einem Mehrfachverarbeitungssystem.
DE69129479T2 (de) Verteiltes Rechnersystem
DE3852324T2 (de) Verfahren und System zur Netzwerkverwaltung.
DE68919632T2 (de) Verfahren für die Ausführungsablauffolgeplanung von verteilten Anwendungsprogrammen an voreinstellbaren Zeiten in einer SNA LU 6.2-Netzwerkumgebung.
DE69606184T2 (de) Klient-server-brücke
DE68922769T2 (de) Verfahren zum Erzeugen eines temporären Anhaltens von Tasken, die in einem virtuellen Datenverarbeitungssystem ablaufen.
DE3200761C2 (de)
DE69730276T2 (de) Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes
DE69230093T2 (de) Multiprozessorsystem
DE69824879T2 (de) Verteilter web- anwendungs- server
DE68925474T2 (de) Verriegelungsrechnersysteme
DE69628965T2 (de) Verfahren und Gerät zum Verwalten von Beziehungen zwischen Objekten in einer verteilten Objektumgebung
DE3789175T2 (de) Programmverwaltung für mehrere zentrale Verarbeitungseinheiten.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: WANG LABORATORIES, INC., BILLERICA, MASS., US

8339 Ceased/non-payment of the annual fee