DE68926567T2 - Nachrichten- und Bildschirmübertragung für Rechner in einem mehrsprachigen Netzwerk - Google Patents

Nachrichten- und Bildschirmübertragung für Rechner in einem mehrsprachigen Netzwerk

Info

Publication number
DE68926567T2
DE68926567T2 DE68926567T DE68926567T DE68926567T2 DE 68926567 T2 DE68926567 T2 DE 68926567T2 DE 68926567 T DE68926567 T DE 68926567T DE 68926567 T DE68926567 T DE 68926567T DE 68926567 T2 DE68926567 T2 DE 68926567T2
Authority
DE
Germany
Prior art keywords
message
node
language
network
messages
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
DE68926567T
Other languages
English (en)
Other versions
DE68926567D1 (de
Inventor
Louis Ardon Winans
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE68926567D1 publication Critical patent/DE68926567D1/de
Publication of DE68926567T2 publication Critical patent/DE68926567T2/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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Machine Translation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Description

  • Die Erfindung bezieht sich allgemein auf Netzwerk-Übertragungssysteme und insbesondere auf das Bereitstellen eines Verfahrens zum Aussenden von Programm-zu-Benutzer-Übertragungen zur Betrachtung durch den Benutzer in der Sprache, für die sein Knoten aktiviert ist.
  • HINTERGRUND DER ERFINDUNG
  • In dem intensiven Wettbewerb, Computerprodukte weltweit zu vermarkten, wird die relative Benutzerfreundlichkeit von Hardware-und Softwareprodukten ein zunehmend wichtigerer Faktor beim Trennen der Gewinner von den Verlierern. In einem internationalen, mehrsprachigen Markt hat daher die Fähigkeit eines Produktes, mit den Benutzern in ihren eigenen, natürlichen Sprachen zu kommunizieren, angefangen, als eine Sache von großer Wichtigkeit in Erscheinung zu treten.
  • Grundlegend für diese Unterstützung der nationalen Sprache, abgekürzt als UNS, wie sie manchmal genannt wird, ist die Maßnahme zum Definieren des Textmaterials, in dem ein Programm mit den Benutzern kommuniziert, gewöhnlich in der Form von Nachrichten oder Bildschirmen, in getrennten Dateien oder Datensätzen, die leicht in andere Sprachen übersetzt werden können. Dieses Quellenobjekt wird dann verarbeitet,wenn nötig durch ein Spezialprogramm, um es in das Format des Objektcodes zur Benutzung durch das Programm umzuwandeln.
  • Die einfachste Form einer UNS-Unterstützung tritt bei einem Ein-Benutzer-Produkt auf, bei dem ein Sprachobjekt in den Speicher geladen wird und einen installationsspezifischen Standard ersetzt, wenn der Bernitzer eine Sprache auswählt. Das Programm benutzt dann den Inhalt des Sprachobjektes, wenn es mit dem Benutzer kommuniziert.
  • Eine höhere Stufe an Komplexität tritt in einem Multitasking- Produkt auf, das mehrere Benutzer gleichzeitig unterstützt, insbesondere wenn das Produkt interaktiv ist. In diesem Fall muß das Programm verfolgen, welches Sprachobjekt für jeden Benutzer zu benutzen ist, und es muß die Sprachobjekte wegen des Wirkungsgrades in einem umlagerbaren Speicher festhalten.
  • In jedem dieser Fälle ist die UNS-Funktion, die das Programm bereitstellen muß, ziemlich einfach. Eine Installation muß in der Lage sein, die Sprachobjekte, die sie für ihre Benutzer benötigt, - von dem Lieferanten des Produkts, einer dritten Seite oder der eigenen Übersetzung des Kunden - zu erhalten und diese Spracliobjekte für die Benutzung durch das Programm durch Produkt-"Freigabe" verfügbar zu machen. Jeder Benutzer muß dann in der Lage sein, die Sprache auszuwählen, von der er oder sie wünscht, daß das Programm sie für seine oder ihre Sitzung benutzt.
  • Im Falle eines Produktes für Netzwerkbetrieb jedoch ist die Lösung nicht so offensichtlich. Betrachte ein kleines Netzwerk, das aus den Knoten "E", "F" und "G" besteht, die sich in England, Frankreich und Deutschland befinden, und nimm an, daß jeder nur für seine eigene Sprache aktiviert ist.
  • Nimm an, daß die Übertragungsstrecke zwischen den Knoten "F" und "G" plötzlich funktionsunfähig wird, während ein englischsprechender Benutzer am Knoten "E" eine Anwendung am Knoten "G" mit Hilfe des Netzwerkes benutzt. Der Knoten "F" muß den Benuzter am Knoten "E" informieren, daß die Übertragungsstrekke funktionsunfähig geworden ist, aber der Knoten "F" ist für Englisch nicht aktiviert, und der Benutzer am Knoten "E" versteht kein Französisch.
  • Zweifellos muß der Knoten, an dem ein Benutzer in das Netzwerk eingibt, die Sprache unterstützen, die der Benutzer benutzen möchte, sonst wäre der Benutzer nicht in der Lage, die Sprache zu wählen. Wenn der Knoten die Sprache des Benutzers nicht unterstützt, kann der Benutzer anfordern, daß die Installation die Sprache installiert, und die Installation kann genauso antworten als sie es für ein nicht für den Netzwerkbetrieb geeignetes Produkt tun würde, selbst bis zu dem Punkt der Bereitstellung ihrer eigenen Übersetzung.
  • Anders als bei einem nicht für den Netzwerkbetrieb geeigneten Produkt schließt jedoch die Aufgabe des Bereitstellens von Programm-zu-Benutzer-Übertragungen für ein für den Netzwerkbetrieb geeignetes Produkt mehr als eine Installation ein, und ein großes Netzwerk kann aus Hunderten oder sogar Tausenden von Installationen bestehen, von denen jede es zu irgendeinem Zeitpunkt nötig liaben kann, mit deni Benutzer zu kommunizieren.
  • Die europäische Patentanmeldung: "Multi-lingual system across nodes", Veröffentlichungsnummer 0 150 273, Veröffentlichungsdatum der Anmeldung: 7.August 1985, beschreibt ein verteiltes interaktives Datenverarbeitungsysten. Die Fähigkeit dieses Systems, die gleichzeitige mehrsprachige Benutzung durch eine Anzahl von Benutzern zuzulassen, die unterschiedliche nationale Sprachpräferenzen aufweisen, wird bereitgestellt durch Festlegen einer Nachrichtenidentifikation für die auszusendende Nachricht und die Namen der Variablen in der Nachricht wie auch für ihren Inhalt. Dann wird ein SYSTEMSERVICE aufgerufen, der diese Informationen übernimmt und mit der Empfangsstation verbindet, wo diese Informationen durch Benutzen einer systeminhärenten ZUSAMMENSETZUNGS-Funktion dargestellt werden.
  • Die Erfindung, wie sie in den Ansprüchen niedergelegt ist, stellt in vorteilhafter Weise ein Übertragungsverfahren und ein Netzwerk-Computersystem bereit, das die oben angegebenen Erfordernisse erfüllt.
  • In Übereinstimmung mit Ausführungsbeispielen, die in den Figuren dargestellt und genauer in Verbindung mit der folgenden Beschreibung erklärt werden, wird die Erfindung erläutert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • FIG. 1 zeigt ein Muster eines Netzwerkpaketes von der Art, die in einem gegenwärtig bevorzugten Ausführungsbeispiel der Erfindung benutzt wird;
  • FIG. 2 ist ein Flußdiagramm für den Modul des Unterbrechungsbehandlungsprogramms;
  • FIG. 3 ist ein Flußdiagramm für die Befehlsverarbeitungstask;
  • FIG. 4 ist ein Flußdiagramm für die Benutzerschnittstellentask;
  • FIGN. 5, 6 und 7 sind ein kombiniertes Flußdiagramm für die Netzwerkverwaltungstask;
  • FIG. 8 ist ein Flußdiagramm für die Anwendungsschnittstellentask;
  • FIG. 9 ist ein Flußdiagramm für die Leitungssteuerungstask;
  • FIG. 10 ist ein Flußdiagramm für die Subroutine zur Disposition der Hauptnachricht;
  • FIG. 11 ist ein Flußdiagramm für die Druckertask;
  • FIG. 12 ist ein Flußdiagramm für die Subroutine zur Decodierung der Hauptnachricht;
  • FIG. 13 ist ein Flußdiagramm für die Subroutine zur Auflösung der interaktiven Nachricht;
  • FIG. 14 zeigt ein Muster eines Benutzer-Steuerblocks;
  • FIG. 15 zeigt ein Muster eines Zwischen-Steuerblocks und
  • FIG. 16 zeigt ein Muster eines Anwendungs-Steuerblocks.
  • GENAUE BESCHREIBUNG DES BEVORZUGTEN AUSFÜHRUNGSBEISLPIELES
  • Das Verfahren zum Bereitstellen der UNS-Unterstützung in einem Produkt für Netzwerkbetrieb, das in den folgenden Abschnitten beschrieben ist, zielt auf das Optimieren der Benutzerfreundlichkeit des Produktes sowohl für Endbenutzer als auch für Installationen. Es erfordert, daß jede Installation nur für die Sprachbedürfnisse von Benutzern empfindlich ist, die in das Netzwerk an seiner lokalen Stelle eingeben. Zur gleichen Zeit bewirkt es, daß es für jeden Benutzer in dem Netzwerk so scheint, daß jeder Knoten in dem Netzwerk seine oder ihre Sprache spricht, - d.h. als ob das gesammte Netzwerk ein einzelnes System wäre. Mit diesem Verfahren kann der Benutzer am Knoten "E" seine oder ihre Nachricht in Englisch empfangen, obgleich der aussendende Knoten "F" nur für Französisch aktiviert ist.
  • Der Kern dieses Verfahrens ist das, was wir als "codierte Nachricht" bezeichnen werden, die alle wesentlichen Bestandteile für den Aufbau einer Nachricht enthält mit Ausnahme des Sprachentextes. Das genaue Format der codierten Nachricht ist unwichtig, solange sie für das Produkt standardisiert ist und alle die Informationen enthält, welche von einem Knoten des Produktes zu einem anderen übertragen werden müssen, damit der letztere zusammen mit einem seiner lokalen Sprachobjekte in der Lage ist, die richtige Nachricht aufzubauen. Das folgende Musterformat macht von verschiedenen Feldern fester Länge Gebrauch, auf die wahlweise Felder fo].gen, die Werte beschreiben, durch die die Variablen der Nachricht zu ersetzen sind:
  • Felder fester Länge (immer vorhanden)
  • Nch# Ver# Modul #Vars
  • wobei: Nch# die Nummer der Nachricht
  • Ver# = die Versions-oder die Formatnummer der Nachricht
  • Modul = eine Zeichenkette, die den Programmodul identifiziert, der die Nachricht herausgibt (in den Nachrichtenformaten einiger Produkte benutzt)
  • #Vars = Anzahl der Substitutionswerte Substitutionswerte folgen, wenn sie vorhanden sind, benachbart aufeinander,jeder in dem folgenden Format:
  • #Chars/Markierungen Daten
  • wobei: #Chars = die Länge des Feldes (*)der Substitutionsdaten
  • Markierungen = ein Satz von Markierungen, der dazu dient, Substitutionsdaten zu identi- fizieren, deren Ausgabeform Sprachabhängigkeiten (*) aufweist
  • Daten = die Substitutionsdaten (in endgültiger Ausgabeform, wenn keine Sprachabhängigkeiten vorliegen)
  • * - abhängig von der Implementierung können #Chars und Markierungen ein einziges Feld sein, da Werte spezieller Länge benutzt werden können, um spezielle Datenarten anzugeben.
  • Laßt uns mit dem einfachen Fall beginnen, in dem das Produkt für Netzwerkbetrieb ein neues Produkt ist mit einer einzigen Version und noch keine Wartung vorgenommen wurde. Wenn der Knoten "F" eine Nachricht an einen lokalen Benutzer herausgeben würde, würde er einfach das Abbild des Objektcodes der Nachricht in der Sprache, die von dem Benutzer benutzt wird, suchen, die Nachricht aufbauen und sie dann dem Benutzer anzeigen. Während des Aufbauens der Nachricht würde er irgendwelche Substitutionsargumente in die Ausgabeform umwandeln und sie dann an den geeigneten Stellen in der Nachricht plazieren.
  • Wenn er jedoch eine Nachricht an einen fernen Benutzer am Knoten "E" herausgibt, würde der Knoten "F" stattdessen eine codierte Nachricht aufbauen. Der Knoten "E" würde beim Empfangen der codierten Nachricht das Abbild des Objektcodes der Nachricht in der Sprache, die von dem Benutzer benutzt wird, suchen, die Nachricht aufbauen und sie dann dem Benutzer anzeigen. Während des Aufbaus der Nachricht würde er die Substitutionswerte in der codierten Nachricht benutzen, um die Substitutionsvariablen in der Nachricht zu ersetzen.
  • In den meisten Fällen würde es für den herausgebenden Knoten, in diesem Fall den Knoten "F", sehr wirkungsvoll sein, die Nachrichtenargurnente in die Ausgabeform umzuwandeln, wenn die codierte Nachricht aufgebaut wird. Der empfangende Knoten könnte dann einfach die Argumente direkt in die Nachricht kopieren, während er die Nachricht aufbaut, wobei die Umwandlungen bereits vorgenommen wurden.
  • Es gibt jedoch einige Arten von Argumenten, deren Ausgabeform abhängig von der Sprache ist, in der der Wert ausgedrückt wird. Ein Beispiel dafür ist eine Zeitangabe und ein anderes, besonders in einem Produkt für Netzwerkbetrieb, der Text einer Nebennachricht.
  • In den meisten sprachabhängigen Argumenten ist es nur das Anzeigeformat, das sprachabhängig ist. Die Daten selbst, wie z.B. in dem Fall einer Zeitangabe, sind fest. Daher können die Rohdaten des Argumentes in die verschlüsselte Nachricht in einem festen Format mit einer Markierung plaziert werden, um den empfangenden Knoten auf die Art der Daten in dem Argument aufmerksam zu machen. Der empfangende Knoten kann durch Erkennen der Markierung dann das Argument gemäß der Konvention der Benutzersprache formatieren, wenn er dieses Argument für eine Nachrichtenvariable während des Nachrichtenaufbaus substituiert. Das genaue Format solcher Argumentdaten in einer codierten Nachricht ist unwichtig, solange es für das Produkt standardisiert ist.
  • In dem Fall eines Nachrichtenargumentes jedoch, das selbst eine andere Nachricht ist, muß das Abbild des Objektcodes der Nebennachricht lokalisiert werden, die Nachricht muß aufgebaut werden und die aufgebaute Nachricht muß für eine Variable in der Hauptnachricht substituiert werden. Dies alles muß am Ernpfangsknoten, in diesem Beispiel dem Knoten "E", passieren, um sicherzustellen, daß der gesamte Text in der Sprache des Benutzers vorliegt. In diesem Fall liegt der Datenteil des Argumentes in der codierten Nachricht selbst in dem Format einer anderen codierten Nachricht vor, und eine Markierung wird wie- der benutzt, um den empfangenden Knoten auf die Art der Daten aufmerksam zu machen. Dieser Aufbau trägt selbst leicht zu rekursiver Verarbeitung in dem Programm bei.
  • Nachrichten, die als Argumente in andere Nachrichten eingebettet sind, gehören gewöhnlich zu einer speziellen Klasse von Nachrichten, welche auf eine einzige Ausgangsleitung beschränkt sind, die ihrerseits in ihrer Länge begrenzt ist. Aber es sind wirkliche Nachrichten, und sie können ihre eigenen Substitutionsargumente aufweisen. Sie werden oft durch sich selbst in begrenzten Anzeigebereichen für Nachrichten von Menü-Bildschirmen angezeigt. Zur Erläuterung kann Knoten "F" die folgende Nachricht zu dem Benutzer am Knoten "E" senden:
  • Die Übertragungsstrecke F nach G ist ausgefallen.
  • Beim Empfangen der Übertragung kann der Knoten "E" dem Benutzer ein Menü anzeigen, bei dem die obige Nachricht in dessen Nachrichtenanzeigebereich angezeigt wird. Er kann dann die folgende Nachricht an den Systernoperator am Knoten "E" herausgeben, wobei die gleiche Nachricht als ein Argument darin benutzt wird:
  • DVMMSG999I Sitzung 45 hat geendet, weil "Die Übertragungsstrecke F nach G ausgefallen ist."
  • Wenn der Knoten "F" die codierte Form der Nachricht zum Knoten"E" sendet, kann der Knoten"E" die Nachricht an den Benutzer in der Sprache des Benutzers liefern und an den Operator in der Sprache des Operators. Es ist nur notwendig, daß jede eine Sprache benutzt, für die der Knoten "E" aktiviert ist.
  • Nun nimm an, daß der Lieferant des Produktes eine neue Version des Produktes liefert, in der neue Nachrichten definiert wurden. Wenn die Knoten "E", "F" und "G" alle gleichzeitig auf die neue Version übergehen, bleibt das Szenarium unverändert. Aber nimm an, daß der Knoten "F" zu der neue Version übergeht, während der Knoten "E" es nicht tut. Es gibt trotzdem kein Problem, wenn die Nachricht, die der Knoten "F" an den Knoten "E" sendet, eine ist, die in der ersten Version definiert wurde. Aber wenn die Nachricht eine neue ist, die in der neuen Version definiert wurde, ist der Knoten "E" nicht in der Lage, die codierte Nachricht zu "decodieren", weil diese Nachricht in seinen Sprachobjekten nicht definiert worden ist.
  • Diese Situation kann wie folgt behandelt werden:
  • 1. Ordne jeder Nachricht eine "Kompatibilitätsstufe" zu, die in einem Sprachobjekt definiert wurde, oder zumindest jeder Nachricht für "Netzwerkbetrieb", so daß die Stufe für alle Nachrichten die gleiche ist, die in einer bestimmten "Version" des Produktes definiert sind, und entweder höher oder niedriger für diejenigen ist, die in nachfolgenden "Versionen" definiert sind. (Nimm für Zwecke der Erläuterung an, daß die Stufe für Nachrichten, die in späteren Versionen hinzugefügt werden,auf eine größere Zahl erhöht wird.)
  • 2. Betrachte die höchste Kompatibilitätsstufe in den Sprachobjekten einer Installation - d.h. die Kompatibilitätsstufe derjenigen Nachrichten, die in der jüngsten "Version" des Produktes definiert wurden, - als die Kompatibilitätsstufe der Installation.
  • 3. Sorge für eine installationsspezifische "Netzwerk"-Sprache, die irgendeine Sprache sein kann, für die die Installation das Produkt aktiviert hat, die aber nicht die installationsspezifische Vorgabe für Benutzer sein muß, die an der lokalen Stelle in das Netzwerk eingeben.
  • Die genaue Art, in der die Kompatibilitätsstufe einer Nachricht in einem Quellenobjekt der Sprache zugeordnet wird, ist unwichtig, solange die Kompatibilitätsstufe mit dem Abbild des Objektcodes der Nachricht gespeichert ist und solange als die höchste Kompatibilitätsstufe, die irgendeiner Nachricht zugeordnet wird, in einem Feld für Zugriff durch das Programm plaziert wird, das das Sprachobjekt benutzt. Wenn das Programm, das das Quellenobjekt der Sprache verarbeitet, um den Objektcode zu erzeugen, entwickelt genug ist, um die Nachrichten in irgendeiner Reihenfolge zu verarbeiten, kann z.B. die Kompatibilitätsstufe für einen ganzen Satz neuer Nachrichten einfach durch Codieren einer Steuerleitung vor den Definitionen der neuen Nachrichten festgesetzt werden. Sonst müsste die Kompatibilitätsstufe für jede Nachricht einzeln festgesetzt werden.
  • Es ist physisch unmöglich, eine Nachricht in der Sprache eines Benutzers herauszugeben, wenn diese Nachricht nicht irgendwo in dem Netzwerk in der Sprache definiert ist. Die "Netzwerk"- Sprache ist ein Kompromiß, durch den Installationen sich auf eine gemeinsame Sprache einigen können, die zu verwenden ist, wenn diese Situation auftritt. Vermutlich ist die ausgewählte Sprache die am universellsten verstandene Sprache in dem Zusammenhang des Netzwerkes mit den am universellsten unterstützten Zeichensatz.
  • Wenn der Benutzer am Knoten "E" eine interaktive Sitzung mit einer Anwendung am Knoten "G" mittels des Netzwerkes beginnt, erstellt der Knoten "E" einen Steuerblock, der Informationen einschließt, die die Sprache des Benutzers identifizieren. Der Knoten "E" schickt dann ein Paket zum Sitzungsaufbau an den Knoten "F", in dem er unter anderem seine eigene Kompatibilitätsstufe plaziert hat. Der Knoten "F" speichert die Kompatibilitätsstufe des Knotens "E" zusammen mit anderen Dingen in seinem eigenen Steuerblock und schickt das Paket zum Knoten "G". Der Knoten "G" erstellt auch einen Steuerblock für die Sitzung und speichert die Kompatibilitätsstufe des Knotens des Benutzers, des Knotens "E", zusammen mit allem, was er sonst noch benötigt.
  • Wenn die Übertragungsstrecke zwischen den Knoten "F" und "G" funktionsunfähig wird, sucht der Knoten "F", nachdem er sieht, daß der Benutzer an einer fernen Stelle lokalisiert ist, die geeignete Nachricht in seiner eigenen Netzwerksprache und vergleicht die Kompatibilitätsstufe der Nachricht mit der Kompatibilitätsstufe der Installation des Benutzers. Wenn die Kompatibilitätsstufe der Nachricht höher ist als diejenige der Installation des Benutzers, baut der Knoten "F" die Nachricht in seiner Netzwerksprache auf und schickt sie zu dem Benutzer, da die Installation des Benutzers bezüglich dieser Nachricht die rückseitige Stufe ist. Sonst baut der Knoten "F" die codierte Nachricht auf und schickt sie zu dem Knoten "E". Eingeschlossen in dem Nachrichtenpaket, welches der Knoten "F" zu dem Knoten "E" schickt, ist eine Angabe, ob die Nachricht in dem Datenfeld des Paketes codiert ist.
  • Wenn die Nachricht, die der Knoten "F" zu dem Benutzer am Knoten "E" schickt, eine Nebennachricht als ein Substitutionsargument verlangt, muß der Knoten "F" auch die Nebennachricht anschauen und die gleiche Bestimmung vornehmen, ob der Knoten "E" für das Empfangen der codierten Form dieser Nachricht kompatibel ist, vorausgesetzt, daß die codierte Form der Hauptnachricht benutzt wird. Wenn der Knoten "E" für beide Nachrichten kompatibel ist, baut der Knoten "F" die codierte Nachricht, wie früher beschrieben, unter Benutzung einer Markierung auf, um den Knoten "E" auf das Vorliegen der eingebetteten codierten Nachricht aufmerksam zu machen.
  • Wenn der Knoten "E" für die Hauptnachricht kompatibel ist, aber nicht für die Nebennachricht, baut der Knoten "F" die Nebennachricht in seiner Netzwerksprache auf und schließt sie als das Argument in der codierten Hauptnachricht ein. In diesem Fall wird keine Markierung benötigt, da das Argument bereits in der Ausgabeform vorliegt. Wenn der Knoten "E" für die Hauptnachricht nicht kompatibel ist, baut der Knoten "F" die gesamte Nachricht in seiner Netzwerksprache auf. Er würde nie eine codierte Nachricht innerhalb einer Nachricht einbetten, die nicht codiert ist.
  • Nicht der gesamte Netzwerkverkehr muß interaktiv sein. Wenn der Benutzer am Knoten "E" gerade eine Nachricht oder eine Datei durch das Netzwerk zu einem Benutzer am Knoten "G" schickt, würden die Knoten, die den Verkehr behandeln, Steuerblöcke in der oben beschriebenen Weise nicht warten. In diesem Falle würden sowohl die Informationen, die die Sprache des Benutzers identifizieren,als auch die Kompatibilitätsstufe des Knotens "E" in dem Teil des Pakets (der Pakete) für die Steuerdaten gespeichert, das (die) durch das Netzwerk geschickt wurde(n). Jeder Knoten, der eine Nachricht an den Benutzer zurückschicken muß, würde die Kompatibilitätsstufe des Knotens "E" von einem dieser Pakete erhalten, und er würde die die Sprache identifizierende Information zu dem Knoten "E" in dem Paket zurückschicken, das die Nachricht enthält.
  • In jeder dieser Situationen würde nur der lokale Knoten des Benutzers von der Sprache, die von dem Benutzer benutzt wird, betroffen sein. Daher kann die Information, die die Sprache eines Benutzers identifiziert, eine einzelne Zahl sein, die der Sprache des Benutzers an seinem lokalen Knoten zugeordnet ist. Eine einzelne Zahl würde einen Minimalbetrag an Raum in den Steuerblöcken und Netzwerkpaketen erfordern, und es würde keine Rolle spielen, ob die gleiche Zahl für eine andere Sprache an einem anderen Knoten benutzt worden wäre.
  • Beachte, daß nur Benutzer, die in das Netzwerk an rückseitigen Knoten eingeben, einige ihrer Nachrichten in der Netzwerksprache anderer Knoten ansehen müßten, da jeder Knoten, der mit der jüngsten Freigabe des Produktes arbeitet, kompatibel für das Empfangen irgendeiner, in codierter Form vorliegenden Nachricht in dem Netzwerk wäre. Dieses Verfahren könnte daher einen Anreiz für alle Knoten liefern, zu der jüngsten Version des Produktes überzugehen.
  • Laßt uns jetzt Nachrichten betrachten, die dem Produkt für Netzwerkbetrieb zwischen Freigaben hinzugefügt wurden, wie z.B. durch Produktwartung oder Installationsmodifikation. Diesen Nachrichten könnte die Kompatibilitätsstufe zugeordnet werden, die für die Version des Produktes, das gewartet oder modifiziert wurde, zutrifft, und das würde immer gut funktionieren für Nachrichten, die genau an der lokalen Stelle herausgegeben würden. Es würde auch gut für Nachrichten für den Netzwerkbetrieb funktionieren, solange alle Installationen, auf denen diese Version des Produktes oder eine spätere Version läuft, die Wartung oder Modifikation für ihre Sprachobjekte installieren müssen.
  • Häufig jedoch wollen nicht alle Installationen eine Wartung anwenden, und es kann nicht erwartet werden, daß alle Installationen gewillt sind, Modifikationen anzuwenden, die von anderen Installationen geschrieben wurden. Ein Benutzer, der in das Netzwerk an einer Installation eingibt, die gewählt hat, solch eine Wartung oder solche Modifikationen ihrer Sprachobjekte nicht anzuwenden, würde niemals die hinzugefügten Nachrichten sehen, da sein oder ihr lokaler Knoten dem Rest des Netzwerkes als kompatibel für das Empfangen dieser Nachrichten in codierter Form erscheinen würde, obgleich diese Nachrichten in seinen Sprachobjekten nicht definiert wären.
  • In dem Fall, daß für die Wartung durch den Lieferanten des Produktes gesorgt wird, könnten diese Nachrichten mit dem Kompatibilitätsschema vermischt werden, so daß sie genauso arbeiten würden wie diejenigen, die in den Produktversionen definiert sind, - d.h. wenn der Lieferant willens war,Ersatz- Sprachobjekte zu verteilen, deren Inhalte kummulativ sind.
  • Zur Erläuterung wird angenommen, daß es zwei Versionen eines Produktes gibt, deren Nachrichten Kompatibilitätsstufen eins bzw. zwei zugeordnet sind. Der Lieferant entscheidet sich dann dafür, irgendeine neue Funktion für das Produkt durch sein Wartungs-Verteilungsverfahren zu verteilen, wobei der Grund dafür der ist, daß der Umfang der neuen Funktion nicht groß genug ist, um eine neue Version zu rechtfertigen. Durch Zuordnen einer Kompatibilitätsstufe von drei für die neuen Nachrichten verteilt der Lieferant vollständige Ersatzinvestitionen für die Sprachobjekte zusammen mit den Codeänderungen.
  • Eine Installation, die sich dafür entscheidet, die neue Funktion zu installieren, würde eine Kompatibilitätsstufe von drei haben und ihre Sprachobjekte würden alle Nachrichten der Kompatibilitätsstufe eins enthalten, alle Nachrichten der Kompatibilitätsstufe zwei und alle Nachrichten der Kompatibilitätsstufe drei. Das träfe zu, selbst wenn auf der Installation die erste Version des Produktes laufen würde. Sprachkompatibiltätsstufen sind funktionell unabhängig von den Stufen der Produktversionen. In der Tat würde Nachrichten, die in der nächsten Version des Produktes hinzugefügt würden, - Version drei in diesem Beispiel - eine Kompatibilitätsstufe von vier zugeordnet werden.
  • Die gerade beschriebene Situation ist jedoch atypisch, weil der Wartungsprozeß hauptsächlich dazu bestimmt ist, Codekorrekturen für Probleme zu liefern. Es könnte für einen Lieferanten mühsam sein, eine neue Kompatibilitätsstufe zuzuordnen und kummulative Sprachobjekte zu verteilen, wann immer eine Nachricht zu einer Version des Produktes in Verbindung mit einer Codekorrektur hinzugefügt wird, insbesondere, wenn die Wartungsorganisation des Lieferanten von seiner Entwicklungs- Organisation getrennt ist. Darüberhinaus wäre es tatsächlich unmöglich, daß eine Installationsrnodifikation in dieser Weise bearbeitet wird.
  • Diese Situation kann durch Festsetzen einer willkürlichen Grenze für die Kompatibilitätsstufen des Produktes behandelt werden und dann durch besonnenes Zuordnen einer Kompatibiltätsstufe, die außerhalb dieser Grenze liegt, zu jeder Nachricht, die dem Produkt zwischen den Versionen hinzugefügt wird, so daß keine ferne Stelle jemals kompatibel ist für das Empfangen der Nachricht in codierter Form. Wenn die höchste Kompatibilitätsstufe, die von dem Produkt unterstützt wird, z.B. 125 wäre, könnte eine Kompatibilitätsstufe von 126 jeder Nachricht zugeordnet werden, die dem Produkt zwischen den Versionen hinzugefügt wird, aber das Programm, das die Sprachquellenobjekte verarbeitet, würde die 126 nicht zählen, wenn es die Kompatibilitätsstufe der Installation bestimmt. Das Ergebnis wäre, daß jede Nachricht, die dem Produkt zwischen den Versionen hinzugefügt wird, stets an ferne Stellen in der Netzwerksprache des Knotens herausgegeben würde, welcher die Nachricht hinzufügte und sie herausgibt, weil die Kompatibiltätsstufe ferner Installationen stets kleiner wäre als 126.
  • Nachrichten, die dem Produkt durch Produktwartung hinzugefügt werden, könnten in dem Kompatibilitätsschema bei der nächsten Version des Produktes abgefangen werden, wobei das Kompatibilitätsscherna dadurch effektiv verwaltbar gehalten wird, daß es in den Händen der Entwicklungsorganisation des Produktes behalten wird. Während ein Knoten, der eine Nachricht herausgibt, die zu seinen Sprachobjekten zwischen Versionen hinzugefügt wurde, entweder durch Wartung oder Installationsmodifikation, verpflichtet wäre, immer diese Nachricht an ferne Stellen in seiner Netzwerksprache herauszugeben, wäre es ein Knoten, auf dem eine neuere Version laufen würde, in der die gleiche Nachricht in dem Kompatibilitätsschema eingeschlossen war, nicht.
  • Von den drei Alternativen - Hinzufügen der Nachrichten zu einer vorhandenen Kompatibilitätsstufe, Hinzufügen der Nachrichten zu einer neuen Kompatibilitätsstufe und Ersetzen der Sprachobjekte durch kummulative Sprachobjekte oder Hinzufügen der Nachrichten so, daß ferne Stellen für ihr Empfangen in codierter Form nicht kompatibel sind, - würde die beste von einem Produktlieferanten für das Hinzufügen von Nachrichten in Verbindung mit der Wartung zu benutzende von der Wartungsorganisation und den Strategien des Lieferanten abhängen. Die letzte der drei würde jedoch wahrscheinlich die beste sein für das Hinzufügen von Nachrichten in Verbindung mit Installationsmodifikationen.
  • Nimm jetzt an, daß eine oder mehrere Versionen eines Produktes für Netzwerkbetrieb vor der Version vorhanden waren, in der das Produkt begann,UNS zu unterstützen, und nimmm an, daß der Produktlieferant wünscht, daß die Vor-UNS- und UNS-unterstützenden Versionen des Produktes in dem gleichen Netzwerk koexistieren können. Diese Unterstützung kann vorgesehen werden, solange als die Architektur der Netzwerkpakete des Produktes sich den Informationserfordernissen sowohl der Vor-UNS-und der UNS-unterstützenden Versionen ohne Konflikte anpassen kann und ohne Änderungen des Vor-UNS-Codes zu erfordern. Betrachte das folgende:
  • 1. Ein UNS-unterstützender Benutzerknoten, wie z.B. der Knoten "E" in den Beispielen, muß in der Lage sein, andere UNS-unterstützende Knoten darauf aufmerksam zu machen, daß er in der Lage ist,UNS zu unterstützen. Eine Markierung, die nicht durch die Vor-UNS-Versionen benutzt wird, ist für diesen Zweck ideal, solange sie immer durch Vor-UNS-Versionen auf einen bekannten Wert initialisiert wird.
  • 2. Ein UNS-unterstützender Benutzerknoten muß in der Lage sein, die Kompatibilitätsstufe seiner Installation anderen UNS-unterstützenden Knoten mitzuteilen, und das benutzte Feld, ob neu oder alt, darf nicht mit den vorhandenen Verwendungen des gleichen Feldes durch Vor-UNS-Versionen in Konflikt geraten.
  • 3. In einigen Fällen muß ein UNS-unterstützender Knoten in der Lage sein, die die Sprache identifizierende Information für einen Benutzer in einem Netzwerkpaket zu speichern, so daß ein anderer UNS-unterstützender Knoten diese Information zu dem Knoten des Benutzers für den Fall zurückschicken kann, daß eine codierte Nachricht zurückgeschickt wird. Wie das früher erläutert wurde, tritt diese Forderung auf, wenn der Benutzer nicht in eine Sitzung einbezogen ist, sondern statt dessen eine Nachricht, eine Datei, einen Befehl oder ähnliche Daten zu einer fernen Stelle schickt und eine Antwort erhält oder nicht. Wieder dürfen die für diese Information benutzten Felder nicht mit vorhandenen Verwendungen der gleichen Felder durch Vor-UNS-Versionen in Konflikt geraten.
  • 4. Wenn ein UNS-unterstützender Knoten eine codierte Nachricht zu einem Knoten schickt, der auch UNS unterstützt, muß es möglich sein, anzugeben, daß die Nachricht codiert ist. Eine unbenutzte Markierung würde wieder ideal sein, vorausgesetzt sie wird stets auf einen bekannten Wert durch Vor- UNS-Versionen initialisiert, aber das könnte auch aus einem Feld in der codierten Nachricht bestimmt werden, nachdem zuerst überprüft wurde, daß die Daten lang genug sind, um eine codierte Nachricht darzustellen.
  • Laßt uns wie in den vorhergehenden Beispielen annehmen, daß die niedrigste Kompatibilitätsstufe, die durch das Produkt unterstützt wird, eins ist. Wenn der Benutzer am Knoten "E" eine interaktive Sitzung mit einer Anwendung am Knoten "G" mittels des Netzwerkes beginnt, sendet der Knoten "E" ein Sitzungsaufbaupaket zum Knoten "F". Angenommen der Knoten "F" unterstützt UNS, so prüft er zuerst die "UNS-Markierung" in dem Paket zum Sitzungsaufbau, um festzustellen, ob der Knoten des Benutzers, der Knoten "E",UNS unterstützt. Wenn er es tut, speichert er die Kompatibilitätsstufe des Knotens "E" in dem Steuerblock, den er für die Sitzung aufbaut und schickt dann das Paket zum Sitzungsaufbau zum Knoten "G". Die Ergebnisse sind so wie in früheren Beispielen beschrieben.
  • Wenn der Knoten "E" UNS jedoch nicht unterstützt, setzt der Knoten "F" eine Null in den Steuerblock, wo er sonst die Kompatibilitätsstufe des Knotens "E" gespeichert hätte, wobei er effektiv den Knoten "E" so behandelt, als hätte er eine Kompatibilitätsstufe von null. Er schickt dann das Paket zum Sitzungsaufbau wie vorher zum Knoten "G". Da null niedriger ist als die niedrigste Kompatibilitätsstufe irgendeiner Nachricht, wird irgendeine Nachricht, die zu einem Benutzer "E" durch einen UNS-unterstützenden Knoten geschickt wird, immer in der Netzwerksprache des UNS-unterstützenden Knotens vorliegen, da der Knoten "E" niemals erkannt wird als wäre er kompatibel, um irgendeine Nachricht in codierter Form zu empfangen.
  • Wenn der Knoten "F" jedoch ein Vor-UNS-Knoten ist, erstellt er einfach seinen Steuerblock und schickt das Paket zum Sitzungsaufbau zum Knoten "G". Er weiß nichts von der "UNS-Markierung" und erwartet keine Kompatibilitätsstufe. Irgendeine Nachricht, die er zu einem Benutzer an irgendeinem Knoten schickt, liegt in der Sprache vor, die er immer benutzt hat, und die Markierung, die UNS-unterstützende Knoten benutzen, um festzustellen, ob die Nachricht codiert ist, gibt ohne die Kenntnis des Vor-UNS-Knotens an, daß die Nachricht nicht in codierter Form vorliegt.
  • In den Fällen, in denen der Benutzer sich nicht in einer Sitzung befindet, z. B. wenn er eine Nachricht oder Datei einem anderen Benutzer an einer fernen Stelle schickt, würde ein UNS-unterstützender Knoten die "UNS-Markierung" nur prüfen, wenn er eine Nachricht zurück an den Benutzer herausgeben muß, und er würde immer die Nachricht in seiner Netzwerksprache herausgeben, wenn der Knoten des Benutzers UNS nicht unterstützen würde. Wenn ein Vor-UNS-Knoten eine Nachricht zurück an den Benutzer in der gleichen Situation herausgeben muß, würde er das einfach in der Sprache tun, die er immer benutzt hat.
  • Wenn das Produkt für Netzwerkbetrieb von Bildschirmen, wie z.B. Menü-Bildschirmen, Gebrauch macht, ist es gut möglich, daß seine Vor-UNS-Bildschirme für die UNS-unterstützenden Versionen neu entworfen werden müssen, um für den Erweiterungsplatz zu sorgen, der für die Übersetzung benötigt wird. Es ist auch wahrscheinlich, daß die Anzeigeflächen für die Nachricht auf diesen Bildschirmen in ihrer Größe erweitert werden müssen, um sie an die längeren Nachrichten anzupassen, die aus der Übersetzung folgen.
  • Wenn ein Produkt Bildschirmabbilder durch das Netzwerk schickt, kann das Verfahren, das hier für Nachrichten beschrieben wurde, ebensoleicht auf Bildschirmabbilder angewandt werden, einfach durch Zuordnen einer Bildschirmnummer zu jedem Bildschirmabbild, einer Versions- oder Formatzahl, falls nötig, und einer Kompatibilitätsstufe. Die codierte Form eines Bildschirmabbildes könnte nahezu identisch sein zu der codierten Form einer Nachricht, selbst bis zu dem Punkt( wo eine auf dein Bildschirm anzuzeigende Nachricht so gehandhabt werden kann wie die früher beschriebenen Nebennachrichten.
  • Aber wenn die Bildschirme des Produkts genau an der lokalen Stelle bearbeitet werden, was oft der Fall ist, insbesondere für Menü-Bildschirme, und wenn UNS-unterstützende Versionen des Produktes mit den Vor-UNS-Versionen koexistieren müssen, müssen die UNS-unterstützenden Versionen in der Lage sein, Nachrichten an Benutzer an Vor-UNS-Knoten herauszugeben, die in die Anzeigebereiche für Nachrichten von Vor-UNS-Bildschirmen passen.
  • Diese Situation kann aufgelöst werden durch Versorgen jedes UNS-unterstützenden Knotens mit einem Satz von was wir nennen werden "Gegenstücknachrichten", was unübersetzte Nachrichten sind, die in der Sprache ausgedrückt sind, die für die Vor- UNS-Nachrichten und Bildschirme benutzt wurde, und die in die Anzeigebereiche für Nachrichten von Vor-UNS-Bildschirmen paßt.
  • Es wurde früher erwähnt, daß eine spezielle Klasse von Nachrichten allgemein für das Anzeigen in den Nachrichtenanzeigebereichen der Bildschirme benutzt wird. Laßt uns annehmen, daß diesen Nachrichten interne Nachrichtennummern von 7000 bis 7999 zugeordnet wurden. Wenn der Knoten "F" die Nachricht 7050 an einen Benutzer am Knoten "E" herausgeben muß, und wenn der Knoten "E" ein UNS-unterstützender Knoten ist, wird der Knoten "F" die Nachricht 7050 entweder in codierter Form oder in seiner Netzwerksprache aussenden, abhängig davon, ob der Knoten "E" für das Empfangen der Nachricht 7050 in codierter Form kompatibel ist. In jedem Fall wird der Knoten "E" die Nachricht dem Benutzer in dem Nachrichtenanzeigebereich eines Bildschirms anzeigen, der die Sprache des Benutzers anzeigt, und die Nachricht wird passen, weil der Bildschirm für UNS- Unterstützung entworfen wurde.
  • Wenn jedoch der Knoten "E" ein Vor-UNS-Knoten ist, kann es sein, daß die Nachricht 7050 in der Netzwerksprache des Knotens "F" nicht in den Nachrichtenanzeigebereich des Vor-UNS- Bildschirmes paßt, der von dem Knoten "E" benutzt wird. Daher wird der Knoten "F" die "Gegenstücknachricht" anstelle der Nachricht 7050 herausgeben. Jede definierte Nachricht in dem Bereich 7000 bis 7999 würde eine Gegenstücknachricht haben, deren Bedeutung identisch ist mit der der Nachricht, für die sie das Gegenstück ist.
  • Gegenstücknachrichten sollten interne Nachrichtennummern zugeordnet werden, die leicht abgeleitet werden können. Wenn z.B. den Gegenstücknachrichten die internen Nachrichtennummern von 8000 bis 8999 zugeordnet würden, kann die Gegenstücknachricht für die Nachricht 7050 einfach durch Addieren von 1000 zu der Nachrichtennummer abgeleitet werden.
  • Da die Gegenstücknachrichten nicht übersetzt werden, wird nur ein Satz von ihnen an jeder Installation benötigt. Dies kann dadurch erreicht werden, daß man die Spezifikation einer Netzwerksprache zu einer "Umwandlungszeit"-Zeit erfolgen läßt, d.h. als eine Option für das Programm, das die Quellobjekte der Sprache verarbeitet, um sie in den Objektcode umzuwandeln. Das Programm könnte dann die Gegenstücknachrichten, die in diesem Beispiel von 8000 bis 8999 nummeriert sind, in den Objektcode einbeziehen, wenn es das Quellobjekt der Netzwerksprache "umwandelt," und sie ausschließen, wenn es das Quellobjekt irgendeiner Sprache "umwandelt", die nicht als die Netzwerksprache identifiziert wurde.
  • Es ist bisweilen für Lieferantenprogramme nützlich, in der Lage zu sein, ihre Nachrichten zu benutzergeschriebenen Anwendungen zu übertragen, wie z.B. Überwachungsprogramme oder Programme, die geschrieben wurden, um statistische Daten zu sammeln und über Befehle zu verarbeiten. Dies kann anstelle des Anzeigens der gleichen Nachrichten für die Benutzer oder als Ergänzung dazu erfolgen.
  • Das Problem mit dieser Art von Übertragungen besteht darin, daß die Benutzeranwendungen den Sprachtext der Nachrichten durchprüfen müssen, um die Informationen, die sie benötigen, zu erhalten, gewöhnlich in der Form von Substitutionswerten. Die Aufgabe ist schwierig genug, wenn die Nachrichten in einer einzigen Sprache vorliegen, aber sie ist sehr viel schwieriger, wenn das Produkt mehrere Sprachen unterstüzt.
  • Das Problem kann durch Benutzen codierter Nachrichten gelöst werden, um eine Schnittstelle mit diesen benutzergeschriebenen Anwendungen vorzusehen, die sprachunabhängig ist, solange die Eigenschaften der Übertragungseinrichtungen, die durch das zugrundeliegende Betriebssystem bereitgestellt werden, in Rechnung gestellt werden.
  • Wenn z.B. das einzige verfügbare Verfahren zum Übertragen sprachunabhängiger Nachrichten zu benutzergeschriebenen Anwendungen die normalen Nachrichtenanzeigeeinrichtungen des zu- grundeliegenden Betriebssystems sind, müssen die codierten Nachrichten vollständig aus anzeigbaren Zeichen bestehen. Dies deshalb, weil das zugrundeliegende Betriebssystem normalerweise alle nichtanzeigbaren Zeichen in Leerzeichen umwandelt, um Hardwarefehler zu vermeiden.
  • Betrachte zur Erläuterung die Zahl 21 als in einem Rechner dargestellt, der den EBCDIC-Standard benutzt:
  • Anzeigbare Form (hexadezimal): X'F2F1' (zwei Zeichen benötigt) Binäre Form (hexadezimal): X'15' (ein Zeichen benötigt)
  • Da die Programme normalerweise die binäre Form für interne Zahlen und Markierungen benutzen, müssen möglicherweise Umwandlungen stattfinden, wenn die codierte Nachricht durch das Lieferantenprogramm aufgebaut wird, und die Umwandlung muß möglicherweise durch die benutzergeschriebene Anwendung umgekehrt werden, abhängig von der verwendeten Programmiersprache.
  • Bisweilen jedoch liefert ein zugrundeliegendes Betriebssystem ein alternatives Verfahren, um Daten von einem Adreßraum zu einem anderen zu übertragen, und ein Lieferantenprodukt kann in der Lage sein, von dieser Alternative Gebrauch zu machen, um seine codierte Nachrichten zu benutzergeschriebenen Anwendungen zu übertragen. Das Merkmal Spezialnachricht, das durch das Betriebssystem für IBMs Virtuelle Maschine (VM) bereitgestellt wird, ist ein gutes Beispiel, obgleich sein Zweck, anders als sein Name andeutet, nichts mit Nachrichten zu tun hat. VMs Merkmal Spezialnachricht erlaubt es, das 129 Zeichen binärer Daten von einer virtuellen Maschine zu einem Programm übertragen werden, das auf einer anderen virtuellen Maschine läuft. Aber es hat eine kleine Eigenheit - sie besteht darin, daß das Zeichen X'15' so interpretiert wird, daß es bedeutet, daß ein Befehl geendet hat und ein anderer folgt. Jedes Auf- treten von X'15' müsste daher in ein besonderes Zeichen übersetzt werden, das sonst in einer codierten Nachricht nicht auftreten würde, um in der Lage zu sein, von diesem Merkmal, eine codierte Nachricht zu übertragen, Gebrauch zu machen.
  • Sagen wir, daß die Zahl 255 (X'FF',) nur innerhalb der Nachrichtenzahlen in den codierten Nachrichten des Produkts eines Lieferanten auftreten soll. Wenn das der Fall ist, könnte VM's Merkmal Spezialnachricht benutzt werden einfach durch Verdoppeln jedes Auftretens einer Nachrichtenzahl in der codierten Nachricht und dann durch Übersetzen jedes Auftretens von X'15' in X'FF'. Die benutzergeschriebene Anwendung würde dann zuerst jedes Auftreten von X'FF' bis X'15' zu übersetzen und dann jede Nachrichtenzahl durch zwei zu dividieren haben. Aber dieses Verfahren wäre weniger kompliziert als das, bei dem man anzeigbare Zeichen in binäre umwandeln müsste.
  • Die hier beschriebenen Verfahren sind nicht auf eine einzelne Komponente eines einzelnen Produktes beschränkt noch sind sie auf ein einzelnes Produkt beschränkt. Der Knoten des Benutzers, Knoten "E" in den Beispielen, könnte ebensogut eine Datenstation oder ein Tischcomputer sein, auf dem eine Anwendung läuft, deren Funktion es ist, Datenbankbefehle auf die Syntax zu überprüfen und sie in die interne Form für einen Datenbankverwaltungsprogramm zu bringen, das auf eineni Großrechner läuft, wie z.B. dem Knoten "G" in diesen Beispielen. Diejenigen Nachrichten, die das Datenbankverwaltungsprogramm möglicherweise an einen Benutzer über das Netzwerk herausgibt, könnten in den Sprachobjekten der Anwendung für den Tischrechner definiert sein zusammen mit den Nachrichten über Syntaxfehler der Anwendung für den Tischrechner, und sowohl die Syntaxprüfung der Befehle als auch Sprachbetrachtungen würden dadurch von dem Großrechner zu dem Tischrechner ausgeladen.
  • Laßt uns ein Modell eines kleinen Produktes für Netzwerkbetrieb betrachten, in dem die folgenden Komponenten unter der Steuerung eines Multitasking-Supervisors arbeiten:
  • 1. Netzwerkverwaltungstask
  • a. Verarbeitet Pakete zur Netzwerksteuerung, die Pakete zum Sitzungsaufbau, Pakete zum Sitzungsabschluß und nichtinteraktive Pakete einschließen, die entweder Befehle oder Nachrichten enthalten. (Die STEUER-Markierung wird stets in den Paketen zur Netzwerksteuerung gesetzt, um anzuzeigen, daß die Netzwerkverwaltungstask sie verarbeiten sollte.)
  • b. Erstellt Verbindungen während des Aufbaus einer interaktiven Sitzung, um den Datenfluß zu optimieren und die Notwendigkeit der Steuerung des Netzwerkverwaltungsprogramms während der Sitzung zu eliminieren, und erstellt einen Zwischen- oder Anwendungs-Steuerblock, der immer angewendet wird, wenn die Sitzung sich auf einen nichtlokalen Benutzer bezieht.
  • c. Kehrt das obige Verfahren während des Abschlusses einer Sitzung um.
  • d. Erstellt den Leitweg für Pakte, die nichtinteraktive Befehle oder Nachrichten enthalten, zu ihren Bestimmungsorten.
  • 2. Druckertask
  • a. Zeigt Nachrichten nichtinteraktiven Benutzern unter Benutzung der normalen Nachrichtenanzeigemerkmale des zugrundeliegenden Betriebssystems an.
  • b. Überträgt Daten zu benutzergeschriebenen Anwendungen unter Benutzung eines Spezialmerkmals, das sehr wahrscheinlich von dem zugrundeliegenden Betriebssystem bereitgestellt wird, wenn die SPEZIAL-Mar- kierung in dem Puffer gesetzt ist, der die Nachricht enthält.
  • 3. Befehlsverarbeitungstask
  • a. Verarbeitet Befehle, die von nichtinteraktiven Benutzern eingegeben werden
  • 4. Benutzerschnittstellentask
  • a. Steuert eine Anzeigeeinheit, durch welche interaktive Benutzer interaktive Sitzungen in dem Netzwerk erstellen und in Gang setzen.
  • b. zeigt einen Menü-Bildschirm an, verarbeitet Benutzerauswählvorgänge darauf und schafft das Paket zum Sitzungsaufbau, wenn ein Benutzer eine Sitzungsauswahl vorgenommen hat.
  • 5. Anwendungsschnittstellentask
  • a. Stellt die Schnittstelle zwischen dem Produkt für Netzwerkbetrieb und einer Anwendung bereit, die von einem interaktiven Benutzer benutzt wird.
  • b. Erstellt ein Sitzungsabschlußpaket, wenn die Anwendung ihre Verbindung mit dem Produkt für Netzwerkbetrieb im Hinblick auf einen Benutzer unterbricht, der auf ein normales Abmelden eines Benutzers folgt.
  • 6. Nachrichtenbearbeitungsprogramm
  • a. Aufgerufen als ein Unterprogramm, um die Disposition von Nachrichten aufzubauen und zu bearbeiten, die für die Anzeige bei nichtinteraktiven Benutzern bestimmt sind.
  • b. Aufgerufen als ein Unterprogramm durch die Druckertask, um eine codierte Nachricht, die von einer fernen Stelle empfangen wurde, für die Anzeige bei einem nichtinteraktiven Benutzer zu decodieren und sie in der Sprache des Benutzers für die Anzeige aufzubauen.
  • c. Aufgerufen als ein Unterprogramm, um eine Nachricht eines interaktiven Benutzers in einem Bereich aufzubauen, der durch die aufrufende Routine bereitgestellt wird.
  • 7. Task zur Steuerung der Übertragungsleitung
  • a. Steuert eine bestimmte Übertragungsleitung, die für das Kommunizieren mit einer anderen Installation des Produktes benutzt wird. (Die Gegenstücktask steuert die gleiche Übertragungsleitung an der anderen Installation.)
  • b. Erstellt ein Sitzungsabschlußpaket für jede interaktive Sitzung, die von der Übertragungsleitung Gebrauch macht, wenn festgestellt wird, daß die Leitung funktionsunfähig werden muß.
  • 8. Programmm zur Unterbrechungsbehandlung
  • a. In dem Modell eingeschlossen, hauptsächlich, um den Aufbau eines Befehlspuffers zu zeigen, wenn ein Befehl durch einen nichtineraktiven Benutzer eingegeben wird.
  • SPRACHENIDENTIFIZIERUNG:
  • Das Modellprodukt für den Netzwerkbetrieb nimmt das Vorhandensein einer Tabelle der unterstützten Sprachen an, die wie die folgende aussehen kann:
  • Anzahl der unterstützten Sprachen (n)
  • Adresse 1 Zeichenfolge, die die Sprache eins identifiziert
  • Adresse 2 Zeichenfolge, die die Sprache zwei identifiziert
  • Adresse n Zeichenfolge, die die Sprache n identifiziert
  • Es wird angenommen, daß diese Tabelle einen Eintrag für jede Sprache enthält, die durch das Modellprodukt für den Netzwerkbetrieb unterstützt wird, und daß es n Einträge gibt. Es wird auch angenommen, daß das Adreßfeld in jedem Eintrag entweder eine Null oder die Basisadresse des Sprachobjektes für die identifizierte Sprache enthält, wobei eine Null angibt, daß die Installation für diese Sprache nicht aktiviert ist. Die Zeichenfolge ist einfach eine Zeichenfolge, durch die Benutzer eine Sprache entweder auf einem interaktiven Menü-Bildschirm oder in der Syntax eines nichtinteraktiven Befehls angeben können. Mit dieser Tabelle kann die Basisadresse einer gegebenen Sprache schnell erhalten werden, wenn entweder die Sprachennummer oder die Zeichenfolge, die die Sprache identifiziert, bekannt ist. Es wird bei diesem Modell angenommen, daß die Basisadressen für die Standardsprache der Installation und ihre Ersatz-Netzwerksprache zusätzlich dazu, daß sie sich in der Tabelle befinden, an anderen Speicherstellen für ein wirksames Lokalisieren gespeichert sind.
  • INTERAKTIVE SITZUNGEN:
  • Wenn eine Anzeigeeinheit, die durch das modellierte Produkt für Netzwerkbetrieb gesteuert wird, eingeschaltet wird, erhält die Benutzerschnittstellentask für diese Anzeigeeinheit die Steuerung und zeigt ein Menü in der Standardsprache der Installation an. Der Benutzer kann dann die Sprache ändern oder eine Sitzung auswählen, in dem er Optionen in dem Menü benutzt. Die Benutzerschnittstellentask wartet einen Benutzersteuerblock, der unter anderem eine Zahl enthält, die eindeutig die Sprache identifiziert, die augenblicklich an der Anzeige benutzt wird.
  • Es wird das Flußdiagramm für die Benutzerschnittstellentask nach Fig. 4 betrachtet. Die Task löscht zuert einen Nachrichtenbereich, den sie in den Nachrichtenanzeigebereich auf dem Menü-Bildschirm kopiert, unmittelbar bevor sie ihn anzeigt. (Kasten 1). Beim Aufbau (Kasten 2) plaziert sie die Nummer der Standardsprache in den Benutzer-Steuerblock (Kasten3) , erhält einen Puffer zum Speichern des Bildschirmabbildes (Kasten 26) benutzt die Sprachennummer in dem Benutzer-Steuerblock, um die Sprache in der Tabelle der unterstützen Sprachen zu lokalisieren, lokalisiert das Bildschirmabbild für diese Sprache und kopiert es dann in dem Bildschirmpuffer (Kasten 18). Schließlich kopiert sie den Nachrichtenbereich, den sie im Kasten 1 löschte, in den Nachrichtenanzeigebereich des Bildschirmabbildes und zeigt das Menü (Kasten 19) an. Wenn die Benutzerschnittstellentask die Steuerung erhält, weil der Benutzer einen Wechsel auf dem Bildschirm (Kasten 5) vorgenommen hat, prüft sie zuerst, ob der Benutzer die Sprache geändert hat (Kasten 8). Wenn das der Fall ist und die angegebene Sprache verfügbar ist (Kästen 10 und 11) , speichert die Task die Nummer, die die Sprache identifiziert, in dem Benutzer-Steuerblock (Kasten 14). Die neue Sprache wird dann beim nächsten Mal benutzt, wenn das Menü angezeigt wird, da die Logik durch den Kasten 18 fließt.
  • Wenn der Benutzer eine Sitzung auswählt (Kasten 15) , erstellt die Benutzerschnittstellentask ein Sitzungsaufbaupaket, in das es die UNS-Markierung plaziert und die Kompatibilitätsstufe des lokalen Knotens sitzt (Kasten 16). Dann "schickt" sie das Paket zu dem Netzwerkverwaltungsprogramm, was einfach bedeutet, daß das Paket in eine Warteschlange eingereiht wird als ein Stück der Arbeit für das Netzwerkverwaltungsprogramm. Das Netzwerkverwaltungsprogramm wird eventuell durch den Multitaskingsupervisor in Gang gesetzt, um diesen Teil der Arbeit zu bearbeiten.
  • Angenommen, der oben beschriebene Benutzer befinde sich am Knoten "E" und habe eine Sitzung mit einer Anwendung am Knoten "G" ausgewählt. Es wird das Flußdiagramm nach Fig. 5 für das Netzwerkverwaltungsprogramm (1 aus 3) betrachtet. Die Task sieht, daß der Bestimmungsort des Paketes, Knoten "G" kein lokaler ist, da der lokale Knoten der Knoten "E" (Kasten 1) ist. Daher prüft sie, um sicher zu sein, daß Knoten "G" definiert ist - d.h., daß der Knoten ein Paket zu dem Knoten "F" zu schicken weiß, um es zu einem Bestimmungsort zu bringen, der "G" genannt wird (Kasten 3). Die Logik fließt dann durch die Kästen 4, 8, 9, 10 und 14, um am Kasten 15 anzukommen, wo die Task eine Verbindung erstellt zwischen der Benutzerschnittstellentask und der Task zur Leitungssteuerung, die den Informationsaustausch mit dem Knoten "F" bearbeitet, so daß diese zwei Tasks einander direkt zusenden können, während die Sitzung aktiv ist. Schließlich schickt sie die Task zur Leitwigssteuerung mit dem Sitzungsaufrufpaket (Kasten 19) ab.
  • Es wird das Flußdiagramm nach Fig. 9 für die Task zur Leitungssteuerung betrachtet. Die Task versucht, die Daten in dem Paket zum Knoten "F" (Kasten 2) zu übertragen, da der Bestimmungsort des Paketes der Knoten "G" - nicht der Knoten "E" -ist (Kasten 1). Bei Erfolg (Kasten 3) gibt sie einfach den Puffer frei, der für die Daten an der lokalen Stelle benutzt wurde (Kasten 4).
  • Inzwischen wird die Task zur Leitungssteuerung am Knoten "F" ausgewählt, um die eintreffenden Daten zu bearbeiten (Kasten 1) und erhält einen Puffer, um die Daten am Knoten "F" aufzunehmen, und versucht, sie zu empfangen (Kasten 8). Bei Erfolg (Kasten 9) sieht sie, daß die STEUER-Markierung in dem Paket gesetzt ist (Kasten 10), und sendet sie zu dem Netzwerkverwaltungsprogramm am Knoten "F" (Kasten 11).
  • Die Logik des Netzwerkverwaltungsprogramms nach Fig. 5 durchläuft am Knoten "F" die Kästen 1, 31 4, 8, 9, 10 und 14, um am Kasten 16 anzukommen, wo die Task einen Zwischen-Steuerblock aufgrund der Tatsache erstellt, daß der Knoten "F" weder der Ursprung noch der Bestimmungsort des Sitzungsaufrufpaketes ist. Sie plaziert eine Kompatibilitätsstufe von null in dem Steuerblock, die angibt, daß der Knoten des Benutzers UNS nicht unterstützt, und sie erstellt eine Verbindung zwischen den zwei Leitungsverstärkern - dem einen, der die Übertragungen mit dem Knoten "E" steuert, und dem anderen, der die Übertragungen mit dem Knoten "G" steuert. Jedoch ändert sie beim Feststellen, daß die UNS-Markierung in dem Paket gesetzt ist (Kasten 17), die Kompatibilitätsstufe in diejenige, die in dem Paket angegeben ist (Kasten 18). Schließlich schickt sie das Paket zu dem Leitungssteuerungsprogramm, das die Übertragungen mit dem Knoten "G" (Kasten 19) bearbeitet.
  • Die Leitungssteuerungsprogramme zwischen den Knoten "F" und "G" machen das gleiche, was vorher für die zwischen den Knoten "E" und "F" beschrieben wurde, so daß das Paket damit endet, daß es zu dem Netzwerkverwaltungsprogramm am Knoten "G" geschickt wird.
  • Das Netzwerkverwaltungsprograrnin am Knoten "G" stellt fest, daß es der Bestimmungsort des Sitzungsaufrufpaketes ist (Kasten 1) daher geht es weiter bei "A" in dem zweiten Flußdiagramm für das Netzwerkverwaltungsprogramm (2 von 3) nach Fig. 6. Seine Logik fließt dann durch die Kästen 1, 3 und 5, um am Kasten 6 anzukommen, wo sie prüft, um sicher zu sein, daß die Anwendung, die von dem Benutzer angefordert wurde, am Knoten "G" verfügbar ist.
  • Beim Feststellen, daß die angeforderte Anwendung verfügbar ist (Kasten 7), erstellt die Task einen Anwendungs-Steuerblock für die Sitzung (Kasten 9) als auch eine Verbindung zwischen dem eintreffenden Leitungssteuerungsprogramm und der Anwendungsschnittstellentask. Da der Benutzer nicht am Knoten "G" lokalisiert ist (Kasten 10) und die UNS-Markierung in dem Paket gesetzt ist (Kasten 12) , ändert sie die Kompatibilitätsstufe in dem Steuerblock in diejenige, die in dem Sitzungsaufrufpaket (Kasten 13) angegeben ist. Schließlich sendet sie das Paket zu der Anwendungsschnittstellentask (Kasten 14).
  • Es wird das Flußdiagramm nach Fig. 8 für die Anwendungsschnittstellentask betrachtet. Die Task stellt fest, daß ihr ein Sitzungsaufrufpaket (Kästen 1, 2 und 4) zugeschickt worden ist; daher erstellt sie die Verbindung mit der Anwendung (Kasten 5).
  • An diesem Punkt sind alle Verbindungen für die interaktive Sitzung erstellt, um ohne Steuerung durch das Netzwerkverwaltungsprogramm fortzufahren, und das Produkt für Netzwerkbetrieb würde einfach als ein Kabelkanal zwischen dem Benutzer und der Anwendung wirken. Der nächste Zeitpunkt, an dem das Produkt für Netzwerkbetrieb selbst mit dem Benutzer kommunizieren muß, ist der, wenn die Sitzung abgeschlossen wird, entweder aus normalen oder abnormalen Gründen.
  • Um die interaktive Sitzung abzuschließen, wird ein Sitzungsabschlußpaket in einer der oben für den Sitzungsaufruf beschriebenen ähnlichen Weise durch das Netzwerk geschickt, mit der Ausnahme, daß die Netzwerkverwaltungstasks an den verschiedenen Knoten ihre Verfahren bezüglich der Verbindungen und dem Erstellen des Steuerblocks umkehren würden. Ein Sitzungsabschlußpaket, das zu dem Benutzer geschickt wird, enthält sehr wahrscheinlich eine Nachricht, wogegen eines, das zu dem Anwendungsknoten geschickt wird, das nur benötigt würde, wenn die Sitzung abnormal abgeschlossen würde, sie nicht enthält.
  • NICHTINTERAKTIVE BEFEHLE:
  • Laßt uns jetzt die nichtinteraktive Situation betrachten. Es wird ein Blick auf das Flußdiagramm nach Fig. 2 für das Unterbrechungsbehandlungsprogramm geworfen. Wenn ein nichtinteraktiver Benutzer einen Befehl eingibt, erstellt das Unterbrechungsbehandlungsprogramm ein Programmpaket, dessen Datenfeld den Befehl enthält, der von dem Benutzer eingegeben wurde, und sendet es zu dem Befehlsverarbeitungsprogramm.
  • Es wird jetzt das Flußdiagramm in Fig. 3 für das Befehlsverarbeitungsprogramm betrachtet. Wenn der Befehl an der lokalen Stelle eingegeben wurde (Kasten 1) , prüft die Task zuerst den Befehlstext, um zu sehen, ob der Benutzer eine Sprache für irgendwelche Antworten auf den Befehl angegeben hat (Kasten 2). (Es wird angenommen, daß die Befehlssyntax dies zuläßt und auch die Angabe eines Knotennamens, wo der Befehl ausgeführt werden sollte.Außerdem könnte die Befehlssyntax, obwohl das in dem Flußdiagramm nicht dargestellt ist, die Spezifikation zulassen, daß die Antwort in einer sprachunabhängigen Form vorliegen sollte über spezielle Merkmale, von denen vorausgesetzt wird, daß sie durch das zugrundeliegende Betriebssystem in diesem Modell bereitgestellt werden.)
  • Wenn eine Sprache angegeben wurde (Kasten 3), wird sie in der Tabelle der unterstützten Sprachen aufgesucht, um festzustellen, ob die Installation für sie aktiviert ist (Kästen 4, 5 und 7). Wenn das der Fall ist, wird das SPRACHEN-Feld in dem Befehlspaket geändert, um die Nummer zu enthalten, die die vorn Benutzer angegebene Sprache identifiziert, die Sprachangabe wird aus dem Befehlstext entfernt, und das Längenfeld des wird aus dem Befehlstext entfernt, und das Längenfeld des Paketes wird entsprechend geändert (Kasten 9).
  • Als nächstes prüft die Task den Befehlstext auf eine Bestimmungsangabe, wobei der Benutzer einen Bestimmungsort eingegeben haben kann, wo der Befehl ausgeführt werden sollte (Kasten 10). Wenn das der Fall ist, wird das Feld für den Bestimmungsknoten in dem Paketvorsatz von dem Namen des lokalen Knotens in denjenigen, der in dem Befehl angegeben ist, geändert, und der Befehlstext und das Längenfeld des Paketes werden, wie das vorher für die Sprachangabe beschrieben wurde, angepaßt (Kästen 11 und 12). Das Bestimmungsfeld wird dann im Kasten 13 geprüft, und das Paket wird zu dem Netzwerkverwaltungsprogramm geschickt (Kasten 14) , wenn der Befehl an einer fernen Stelle auszuführen ist.
  • Sch].ießlich wird ein Befehl, der an der lokalen Stelle auszuführen ist, ausgeführt, solange er gültig ist (Kästen 15, 16 18 und 19). Beachte, daß jeder Befehl, der nicht von der lokalen Stelle herrührte (Kasten 1) , an der lokalen Stelle ausgeführt wird. Dies deshalb, weil dies nur in dem modellierten Produkt für Netzwerkbetrieb auftritt, wenn dem Befehlsverarbeitungsprogramm durch das Netzwerkverwaltungsprogramm ein Befehispaket geschickt wurde, das bereits als für die lokale Stelle bestimmt festgestellt wurde.
  • NACHRICHTENBEARBEITUNGSPROGRAMM (Aufbau und Disposition von Hauptnachrichten)
  • Laßt uns zuerst das modellierte Nachrichtenbehandlungsprogramm für nichtinteraktive Nachrichten betrachten und laßt uns sagen, daß seine Eingabe, wenn sie für den Aufbau und die Disposition solcher Nachrichten aufgerufen wird, aus dem folgenden besteht:
  • 1. Der Nummer der Nachricht plus ihrer Versions- oder Formatnummer.
  • 2. Einer Zeichenfolge, die den Namen des aufrufenden Moduls identifiziert.
  • 3. Der Anzahl der durchlaufenen Substitutionsargumente,
  • 4. Für jedes Substitutionsargument seiner Adresse plus einer Markierung, die seine Datenart angibt, wie z.B. die Nummer, Zeichen, Zeitangabe oder codierte Nachricht. (Ein Argument für die Zeitangabe würde in seiner sprachunabhängigen Form vorliegen, und das Argument einer codierten Nachricht würde benutzt werden, wenn eine Nebennachricht in der Hauptnachricht aufgerufen wird - d.h. das Argument der codierten Nachricht würde die Nebennachricht in ihrer codierten Form sein.)
  • 5. Der Adresse eines Puffers (Paketes), dessen Vorsatz alle die Informationen enthält, die er enthalten würde, wenn das Paket als ein Befehlspaket benutzt worden wäre.
  • Es wird das Flußdiagramm des Nachrichtenbearbeitungsprogramms in Fig. 10 zur Bearbeitung einer Hauptnachricht betrachtet. Das Nachrichtenbearbeitungsprogramm blickt zuerst auf den Knotennamen in dem Ursprungsfeld des 5. Eingangsargumentes, um zu bestimmen, ob die Nachricht zu einem lokalen oder einem fernen Benutzer gehen soll (Kasten 1). Wenn die Nachricht zu einem lokalen Benutzer geht, benutzt es die Sprachennummer für das SPRACHEN-Feld in dem gleichen Puffer, um die Sprache des Benutzers in der Tabelle der unterstützten Sprache festzustellen (Kasten 2) und erhält die Basisadresse der Sprache. Sonst benutzt es die Basisadresse der Netzwerksprache (Kasten3).
  • In jedem Fall lokalisiert es dann das interne Objektabbild der Nachricht (Kasten 4) und erhält unter der Annahme, daß die Nachricht in dem Sprachobjekte definiert ist (Kasten 5), einen Puffer und richtet ihn ein, die nichtinteraktive Nachricht zu enthalten (Kasten 6). Beim Erstellen des Puffervorsatzes kehrt das Nachrichtenbearbeitungsprogramm die Bestimmungs- und die Ursprungsfelder gegenüber dem, was sie in dem Eingangspuffer waren, um, der als ein Puffer eingerichtet wird, der einen nichtinteraktiven Befehl enthält.
  • Wenn die SPEZIAL-Markierung in dem Eingangspuffer gesetzt ist (Kasten 7), wird sie auch in dem Puffer gesetzt, damit er die Nachricht enthält (Kasten 12), und die Nachricht wird in ihrer codierten Form in dem Datenbereich des Puffers aufgebaut (Kasten 14). Sonst wird die Nachricht entweder in der Sprache aufgebaut, die in den Kästen 2 oder 3 (Kasten 11) bestimmt wurde oder sie wird in ihrer codierten Form aufgebaut (Kasten 14). Beachte, daß, wenn die Nachricht zu einem fernen Benutzer geht (Kasten 8) , das Nachrichtenbearbeitungsprogramm weiß, ob die ferne Stelle UNS durch das Setzen der UNS-Markierung in dem Feld MARKIERUNGEN des Eingangspuffers unterstützt (Kasten 9), und es setzt die CODIERT-Markierung (Kasten 13) und codiert die Nachricht nur (Kasten 10), wenn die Kompatibilitätsstufe der fernen Stelle (das KS-Feld in dem Puffer) zumindest so hoch ist wie die Kompatibilitätsstufe der Nachricht wie sie in ihrem Objektabbild angegeben wird.
  • Das Nachrichtenbearbeitungsprogramm setzt schließlich das LÄNGEN-Feld, das die Nachricht enthält (Kasten 15) und sendet sie entweder zu der Druckertask (Kasten 18) oder zu dem Netzwerkverwaltungsprogramm (Kasten 17), abhängig davon, ob die Nachricht zu einem lokalen oder einem fernen Benutzer geht (Kasten 16).
  • DRUCKERTASK:
  • Als nächstes wird das Flußdiagramm in Fig. 11 für die Druckertask betrachtet. Die Task prüft zuerst, um zu sehen, ob die eintreffende Nachricht in ihrer codierten Form vorliegt (Kasten 1), wie das durch das Setzen der CODIERT-Markierung in dem Paket angegeben ist. Wenn sie NICHT codiert ist, zeigt die Task entweder die Nachricht dem nichtinteraktiven Benutzer an (Kasten 5) oder schickt die Nachricht zu der benutzergeschriebenen Anwendung, unter Benutzung eines Merkmals, von dem angenommen wird, daß es durch das zugrundeliegende Betriebssystem um dieses Modells willen geliefert wird (Kasten 4), abbhängig von dem Setzen der SPEZIAL-Markierung in dem Nachrichtenpaket (Kasten 3). Sonst wird die Task das Paket, das die codierte Nachricht enthält, an das Nachrichtenbearbeitungsprogramm an seinem Eingabepunkt für das Decodieren der Hauptnachricht (Kasten 2) los.
  • NACHRICHTENBEARBEITUNGSPROGRAMM (Decodieren der Hauptnachricht)
  • Es wird das Flußdiagramm in Fig. 12 für den Eingabepunkt zum Decodieren der Hauptnachricht des Nachrichtenbearbeitungsprogramms betrachtet. Der einzige Eingang in das Nachrichtenbearbeitungsprogramm ist die Adresse des Paketes, das die codierte Nachricht enthält, da das Paket selbst alles andere, was bekannt sein muß, enthält. Das Nachrichtenbearbeitungsprogramm sieht sich einfach das Objektabbild der Nachricht an und baut die Nachricht in dem Datenfeld eines anderen Paketes auf, dessen Vorsatz identisch ist mit dem des Paketes, das die codierte Nachricht enthält, mit der Ausnahme, daß die CODIERT-Markierung nicht gesetzt ist. Dann schickt es das neue Paket zu der Druckertask zurück.
  • Wenn das Nachrichtenbearbeitungsprogramm in diesem Fall die Nachricht aufbaut, benutzt es die Substitutionsargumente, die in der codierten Nachricht vorgesehen sind.
  • NACHRICHTENBEARBEITUNGSPROGRAMM (interaktive Nachrichten):
  • Nachrichten, die auf dem Menü-Bildschirm dargestellt werden, sind einfacher als diejenigen, die nichtinteraktiven Benutzern angezeigt werden. Sagen wir, daß der Eingang zu dem modellierten Nachrichtenbearbeitungsprogramm für eine interaktive Nachricht aus folgendem besteht:
  • 1. Der Nachricht selbst in codierte Form,
  • 2. Der Adresse eines "Ziel"-Bereiches, wo die Nachricht in ihrer richtigen Form zu plazieren ist,
  • 3. Einer Angabe, ob die Nachricht zu einem lokalen oder fernen Benutzer geht,
  • 4. Einem Argument, das eines der folgenden ist, abhängig davon, ob die Nachricht zu einem lokalen oder einem fernen Benutzer geht:
  • a. Einer Sprachennummer in dem Fall eines lokalen Benutzers,
  • b. Einer Kompatibilitätsstufe oder null im Fall eines fernen Benutzers,
  • 5. Der Adresse eines Puffers, der ein Sitzungsabschlußpaket sein kann.
  • Sagen wir, daß die Ausgabe des modellierten Nachrichtenbearbeitungsprogramms, wenn es für eine interaktive Nachricht aufgerufen wird, die folgende ist:
  • 1. Die Nachricht in dem "Ziel"-Bereich in ihrer richtigen Form,
  • 2. Die Länge der in dem LÄNGEN-Feld des Eingangspuffers plazierten Nachricht,
  • 3. Die CODIERT-Markierung in dem Feld MARKIERUNGEN des Eingangspuffers, entweder gesetzt oder rückgesetzt
  • Es wird das Flußdiagramm in Fig. 13 des Nachrichtenbearbeitungsprogramms für eine interaktive Nachrichtenbearbeitung betrachtet. Das Nachrichtenbearbeitungsprogramm entnimmt die Eingabeargumente, bevor es den Ausgabe-"Ziel"-Bereich löscht. Daher könnte der "Ziel"-Bereich der gleiche Bereich sein, der benutzt wurde, um die Eingabeargurnente zu dem Nachrichtenbearbeitungsprogramm weiterzuleiten (Kasten 1).
  • Im Kasten 2 prüft das Nachrichtenbearbeitungsprogramm, ob die Nachricht zu einem lokalen oder einem fernen Benutzer geht. Für einen lolaken Benutzer weiß es, daß das 4. Eingabeargument eine Sprachennummer ist, und es benutzt dies, um die Sprache des Benutzers in der Tabelle der unterstützten Sprachen zu lokalisieren und seine Basisadresse zu erhalten im Kasten 3.
  • In dem Fall eines fernen Benutzers jedoch benutzt es statt dessen die Basisadresse der Netzwerksprache (Kasten 4). Dies sagt ihm, daß das 4. Eingabeargument als Kompatibilitätsstufe zu interpretieren ist, wobei null angibt, daß der ferne Knoten UNS nicht unterstützt. Wenn der ferne Knoten UNS nicht unterstützt (Kasten 5) , ändert es die Nachrichtennummer, die es von dem Argument der codierten Nachricht im Kasten 1 erhielt, in die der Gegenstücknachricht der Nachricht (Kasten 6), um sicherzustellen, daß es in den Anzeigebereich der Nachricht des Vor-UNS-Menüs am Knoten des Benutzers paßt.
  • In jedem Fall betrachtet es dann das interne Objektabbild der Nachricht in der geeigneten Sprache (Kasten 7). Unter der Annahme, daß die Nachricht in dem Sprachobjekt definiert ist (Kasten 8), baut es entweder die Nachricht in irgendeiner Sprache auf, die durch die Basisadresse angegeben wird (Kasten 13) oder kopiert die codierte Nachricht einfach in den "Ziel"- Bereich (Kasten 14), wobei die CODIERT-Markierung in dem Puffer entsprechend rückgesetzt oder gesetzt wird. Das einzige Mal, an dem sie die codierte Nachricht in den Platz kopiert, ist das, wenn die Nachricht zu einem fernen Benutzer an einem UNS-unterstützenden Knoten geht, dessen Kompatibilitätsstufe zumindest so hoch ist wie die Kompatibilitätsstufe der Nachricht, wie sie in dem Objektabbild der Nachricht angegeben ist.
  • NACHRICHTEN:
  • Sagen wir, daß ein Sitzungsaufrufpaket das Netzwerkverwaltungsprogramm am Knoten "G" erreicht hat, nur um herauszufinden, daß die durch den Benutzer angeforderte Anwendung nicht verfügbar ist. Es wird das Flußdiagramm in Fig. 6 für das Netzwerkverwaltungsprogramm (2 von 3) betrachtet. Die Task bestimmt dies im Kasten 7 und erstellt eine codierte Nachricht in Vorbereitung für das Aufrufen des Nachrichtenbearbeitungsprogramms für eine interaktive Nachrichtenverarbeitung.
  • Es wird das Flußdiagramm (3 von 3) in Fig. 7 des Netzwerkverwaltungsprogramms betrachtet. Beginnend bei "B", wird angenommen, daß der Argumentwert einer Nachricht für die Kompatibiltätsstufe anfangs null ist (Kasten 1), was einen Vor-UNS-Ursprungsknoten angibt. Es wird dann auf die Kompatibilitätsstufe geändert, die in dem Sitzungsaufrufpaket angegeben ist, wenn die UNS-Markierung gesetzt ist, was anzeigt, daß der Knoten des Benutzers UNS unterstützt (Kasten 3). Das Sitzungsaufrufpaket selbst wird dann in ein Sitzungsabschlußpaket geändert (Kasten 4).
  • Wenn der Benutzer an dem lokalen Knoten lokalisiert wäre (Kasten 5), würde die codierte Nachricht selbst in den Datenbereich des Paketes kopiert, ihre Länge in das LÄNGEN-Feld des Paketes plaziert und die CODIERT-Markierung gesetzt (Kasten 8). Dann würde das Paket zu der Benutzerschnittstellentask geschickt (Kasten 9).
  • Für einen fernen Benutzer jedoch wird das Nachrichtenbearbeitungsprogramm aufgerufen, die interaktive Nachricht in dem Datenbereich des Paketes aufzubauen (Kasten 6). Die Paketadresse wird als das 5. Argument an das Nachrichtenbearbeitungsprogramm geliefert und die bestimmte Kompatibilitätsstufe (oder null) wird als das 4. geliefert. Daher plaziert das Nachrichtenbearbeitungsprogramm die Nachricht in dem Datenbereich des Pakets in der richtigen Form, die Länge der Nachricht wird sich in dem LÄNGEN-Feld des Paketes befinden, und die CODIERT-Markierung wird ricitig gesetzt oder rückgesetzt Das Paket wird dann einfach zu em Leitungssteuerungsprogramm geschickt, das die Übertragungen zurück zum Knoten des Benutzers handhabt (Kasten 7). Jede er Netzwerkverwaltungstasks führt natürlich Löschoperatione auf der Verbindung durch, die für die Sitzung erstellt wurde, und schickt das Paket zu dem nächsten Bestimmungsort, und es wird schließlich zu der Benutzerschnittstellentask geschickt die die Anzeigeeinheit des interaktiven Benutzers handhabt.
  • Es wird wieder das Flußdiagramm in Fig. 4 für die Benutzerschnittstellentask betrachtet. 5 ist am Kasten 4 bestimmt worden, daß das Paket ein Sitzu gsabschlußpaket 4 ist, und es wird am Kasten 21 festgestellt, daß es eine Nachricht enthält. Wenn die Nachricht codiert ist, wie das durch das Setzen der CODIERT-Markierung angegeben is (Kasten 22), wird das Nachrichtenbearbeitungsprogramm aufgerufen, um die interaktive Nachricht in dem Nachrichtenber ich aufzubauen, der in dem Kasten 1 gelöscht wurde. Diesmal jedoch wird die Sprachennummer in dem Benutzer-Steuerblock als das 4. Argument benutzt, und die Nachricht wird in der Sprache aufgebaut, welche auch immer der Benutzer benutzte.
  • Es wird das Flußdiagramm in Fig. 9 für die Leitungssteuerungstask betrachtet. Wenn die Übertragungsleitung als funktionsunfähig festgestellt wird (entweder Kasten 3 oder 9) werden die ursprünglichen Felder des Puffers geändert, daß sie das lokale System angeben, um das Nachrichtenbearbeitungsprogramm zu veranlassen, die Hauptnachricht zu einem lokalen Operator zu senden, und das Nachrichtenbearbeitungsprogramm wird für den Aufbau und die Anordnung dieser Nachricht aufgerufen (Kasten 15). Beachte, daß die Benutzeridentifizierung dann geändert werden könnte, die SPEZIAL-Markierung könnte gesetzt sein, sogar die Sprachennummer könnte geändert sein, und das Nachrichtenbearbeitungsprogramm könnte erneut aufgerufen werden, wieviele Male auch immer nötig sind, um die Nachricht zu allen betroffenen Benutzern zu schicken.
  • Dann wird als Vorbereitung eine codierte Fehlernachricht erstellt für das Aufrufen des Nachrichtenbearbeitungsprogramms, um eine interaktive Nachricht in die Datenbereiche des Sitzungsabschlußpaketes zurückzuschicken (Kasten 16). Die Task geht dann durch alle Steuerblöcke, die mit dem speziellen Leitungssteuerungsprogramm verbunden sind, erstellt ein Sitzungsabschlußpaket für jeden, ruft das Nachrichtenbearbeitungsprogramm für jeden für einen Benutzerknoten bestimmten auf und schickt es zu dem Netzwerkverwaltungsprogramm (Kästen 17, 18, 19, 20 und 21).
  • Im Kasten 20 weiß das Nachrichtenbearbeitungsprogramm, ob der Benutzer ein lokaler oder ferner ist, da das eines seiner Eingabeargumente ist. Das Argument, das entweder eine Sprachen- nummer oder eine Kompatibilitätsstufe (oder null) ist, wird von dem Steuerblock erhalten, der der Sitzung zugeordnet ist, entweder ein Benutzer-Steuerblock, ein Zwischen-Steuerblock oder ein Anwendungs-Steuerblock, von denen Beispiele in Fig. 14, in Fig. 15 oder in Fig. 16 gezeigt wurden.
  • Wenn das Leitungssteuerungsprogramm bestimmt, daß die Leitung funktionsunfähig ist, während sie versucht, einen nicht interaktiven Befehl zu übertragen (Kasten 6), ruft sie das Nachrichtenbearbeitungsprogramm auf, eine Hauptnachricht zurück zu dem nichtinteraktiven Benutzer zu schicken (Kasten 7) , wobei sie den Befehispuffer selbst als das 5. Argument für das Nachrichtenbearbeitungsprogramm benutzt.
  • Zusammenfassend wurde ein Verfahren zum Bereitstellen von UNS- Unterstützung in Produkten für Netzwerkbetrieb beschrieben, das die Benutzerfreundlichkeit für Endbenutzer dadurch optimiert, daß es ihnen ein Abbild des Netzwerks als ein Einzelsystem bietet, die Benutzerfreundlichkeit für Installationen optimiert durch Bewahren ihrer Unabhängigkeit von anderen Installationen hinsichtlich der Spachunterstützung und die Menge der Daten minimiert, die durch das Netzwerk übertragen werden müssen, um Nachrichten und Schirmbilder zu Benutzern an fernen Stellen zu übertragen. Es sorgt für die Koexistenz verschiedener Produktversionen, einschließlich Vor-UNS-Versionen in dem gleichen Netzwerk und für das Hinzufügen von Bildschirmen oder Nachrichten zwischen Versionen durch Service oder Installationsmodifikation. Außerdem sorgt es für eine sprachunabhängige Nachrichtenschnittstelle zwischen einem Lieferantenprodukt und benutzergeschriebenen Anwendungen. Die Anwendbarkeit des Verfahrens wird nur durch die Fantasie des Lieferanten begrenzt.

Claims (20)

1. Verfahren zum Übertragen in einem mehrsprachigen Netzwerk, wobei das Verfahren folgende Schritte einschließt:
Bestimmen der Sprachfähigkeiten jedes Knotens in dem Netzwerk,
Umwandeln der auszusendenden Nachricht in ein standardisiertes, programmlesbares Format durch den Ursprungsknoten oder einen Zwischenknoten in dem Netzwerk,
Übertragen von Programmnachrichten zu dem Benutzer an einem bestimmten Knoten in dem standardisierten, programmlesbaren Format,
Decodieren der Nachricht an dem bestimmten Knoten, der die Nachricht empfängt, und
Anzeigen der Nachricht in der Sprache, für die der Knoten aktiviert ist.
2. Verfahren nach Anspruch 1, bei dem der Übertragungs schritt das Übertragen einer Programmnachricht einschließt, die frei von jeglichem Sprachentext ist.
3. Verfahren nach Anspruch 1 oder 2, bei dem das standardisierte. programmiesbare Format sowohl Felder mit fester Länge einschließt, die immer vorhanden sind, als auch wahlweise Felder für variable Substitutionswerte.
4. Verfahren nach Anspruch 3, bei dem bestimmte Felder sprachenabhängig sind und bei dem der Anzeigeschritt das Umwandeln der Nachricht in die Ausgabeform an dem bestimmten Knoten einschließt, der die Nachricht empfängt.
5. Verfahren nach Anspruch 3, bei dem keines der Felder sprachabhängig ist und die Nachricht an einem Ursprungsknoten, der die Nachricht sendet,in die Ausgabeform umgewandelt wird.
6. Verfahren nach irgendeinem der Ansprüche 1 bis 4, bei dem die Programmnachricht eine Hauptnachricht und eine Nebennachricht einschließt, die eine Variable in der Hauptnachricht ist.
7. Verfahren nach irgendeinem der Ansprüche 1 bis 6, bei dem der Übertragungsschritt das Übertragen von Nachrichten in einer interaktiven Sitzung zwischen Benutzern einschließt, die für verschiedene nationale Sprachen an ihren entsprechenden Knoten aktiviert sind.
8. Verfahren nach irgendeinem der Ansprüche 1 bis 6, bei dem der Übertragungsschritt das Übertragen von Nachrichten in einem nichtinteraktiven Modus zwischen Benutzern einschließt, die für verschiedene nationale Sprachen an ihren entsprechenden Knoten aktiviert sind.
9. Verfahren nach Anspruch 1 oder irgendeinem der Ansprüche 2 bis 8, das weiter einschließt die Schritte des Aufrechterhaltens einer Kompatibilitätsidentifizierung für jeden Knoten in dem Netzwerk, um anzugeben, welche Sammlung von Nachrichten an den Knoten geliefert wurden, und, wenn eine zu sendende Nachricht nicht in der Sammlung der Nachrichten eingeschlossen ist, die an einem Bestimmungsknoten geliefert werden, des Aufbauens und Übertragens der Nachricht in einer bestimmten Netzwerksprache zu dem Bestimmmungsknoten für das Anzeigen in der Netzwerksprache.
10. Verfahren nach Anspruch 1 oder irgendeinem der Ansprüche 2 bis 9, bei dem das mehrsprachige Netzwerk einige Knoten ein-schließt, die NSÜ unterstützen und andere Knoten, die NSÜ nicht unterstützen, und bei dem eine Programmnachricht, die von den anderen Knoten ausgesandt wird, in ihrer eigenen nationalen Sprache aufgebaut wird, und eine Programmnachricht, die von dem einen der durch NSÜ unterstützten Knoten zu den anderen gesandt wird, in einer bestimmten Netzwerksprache aufgebaut ist,
wodurch es ermöglicht wird, daß nicht-NSÜ-Knoten und NSÜ- unterstütze Knoten zufriedenstellend in dem gleichen Netzwerk koexistieren können.
11. Verfahren nach Anspruch 1 oder irgendeinem der Ansprüche 2 bis 10, bei dem ein Knoten für eine Anzahl nationaler Sprachen aktiviert wird und mehrere lokale Benutzer aufweist, die in der Lage sind, eine der nationalen Sprachen für das Anzeigen von Programmnachrichten auszuwählen und bei dem der Übertragungsschritt das Übertragen von Programmnachrichten zwischen lokalen Benutzern einschließt, die verschiedene nationale Sprachen gewählt haben.
12. Netzwerk-Computersystem zum Bereitstellen einer Übertragung in einem mehrsprachigen Übertragungsnetzwerk,
wobei das Netzwerk-Computersystem einschließt:
Speichermittel zum Verfolgen der nationalen Sprachen, für die jeder Knoten in dem System aktiviert ist,
Abfühlmittel zum Bestiminen der Bestimmung einer Programmnachricht, die für einen bestimmten Knoten bestimmt ist.
Umwandlungsmittel zum Umwandeln der in einem standardisierten, programmierbaren Format durch den Ursprungsknoten oder einen Zwischenknoten in dem Netzwerk auszusendenden Nachricht,
Übertragungsmittel zum Übertragen der Nachricht in einem geeigneten Format und Identifizierungs- und Steuerinformation enthaltend,
Empfangsmittel zum Bestimmen der Natur der Nachricht und
Anzeigemittel zum Anzeigen der Nachrichten am Empfangsknoten in der Sprache des Knotens.
13. System nach Anspruch 12, bei dem die Programmnachrichten auch Bildschirmabbilder einschließen.
14. System nach Anspruch 12 oder 13, das weiter umfaßt ein Netzwerk, das vielfache Knoten aufweist, die nicht alle für die gleiche nationale Sprache aktiviert sind, und bei dem jeder einzelne Knoten seine eigene Speichereinrichtung besitzt zum Angeben ausgewählter Sprachen, die an dem einzelnen Knoten aktiviert sind, und zum Speichern einer bestimmten Sammlung von Nachrichten in den ausgewählten nationalen Sprachen.
15. System nach Anspruch 12, 13 oder 14, bei dem die Übertragungseinrichtung einige Nachrichten in codierter Form aussendet und bei dem jeder einzelne Knoten seine eigene Empfangseinrichtung aufweist zum Dekodieren und Anzeigen von Nachrichten, die in einer der ausgewählten nationalen Sprachen zu einem Benutzer an dem individuellen Knoten geschickt wurden oder zum Verarbeiten und erneuten Aussenden der codierten Nachrichten zu einem anderen Bestimmungsknoten in dem Netzwerk.
16. System nach Anspruch 15, bei dem die Knoten in dem Netzwerk einen Leitrechner mit mehreren Benutzern umfassen.
17. System nach Anspruch 15, bei dem die Knoten in dem Netzwerk eine Prozessoreinheit, wie z.B eine Datenstation oder einen Mikrocomputer, umfassen.
18. System nach Ansprch 15, 16 oder 17, bei dem die Knoten in dem Netzwerk ein Anwendungsprogramm umfassen und bei dem das System weiter eine Schnittstelle mit dem Anwendungsprogramm einschließt, die sprachunabhängig ist.
19. System nach Anspruch 14, bei dem die Speichereinrichtung auch Mittel zum Speichern und Lokalisieren von Gegenstücknachrichten fester Länge aufweist, die den Nachrichten entsprechen und die gleiche Bedeutung aufweisen wie jede der Programmnachrichten, so daß Knoten, die die NSÜ nicht unterstützen, die Gegenstücknachrichten an Stelle der Programmnachrichten empfangen können.
20. System nach Anspruch 14, bei dem eine unterschiedliche Kompatibilitätszahl jeder unterschiedlichen Sammlung von Programmnachrichten zugeordnet ist, die zu jedem Knoten in dem Netzwerk geliefert wird, und bei dem die Übertragungseinrichtung eine Nachricht in einer vorher festgelegten Netzwerksprache aufbaut und überträgt, wenn ein Vergleich der Kompatibilitätszahlen angibt, daß die Programmnachricht nicht in der Sammlung von Nachrichten eingeschlossen ist, die an den Bestimmungsknoten geliefert werden.
DE68926567T 1988-12-29 1989-12-28 Nachrichten- und Bildschirmübertragung für Rechner in einem mehrsprachigen Netzwerk Expired - Fee Related DE68926567T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US29192388A 1988-12-29 1988-12-29

Publications (2)

Publication Number Publication Date
DE68926567D1 DE68926567D1 (de) 1996-07-04
DE68926567T2 true DE68926567T2 (de) 1997-01-09

Family

ID=23122454

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68926567T Expired - Fee Related DE68926567T2 (de) 1988-12-29 1989-12-28 Nachrichten- und Bildschirmübertragung für Rechner in einem mehrsprachigen Netzwerk

Country Status (7)

Country Link
US (1) US5307265A (de)
EP (1) EP0376316B1 (de)
JP (1) JPH02220166A (de)
AT (1) ATE138746T1 (de)
BR (1) BR8906096A (de)
CA (1) CA2003418A1 (de)
DE (1) DE68926567T2 (de)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2662831B1 (fr) * 1990-05-29 1992-08-07 Cit Alcatel Procede de gestion d'un reseau de bases de donnees.
JP2503142B2 (ja) * 1991-04-18 1996-06-05 インターナショナル・ビジネス・マシーンズ・コーポレイション ソフトウェアモジュ―ル能力の自動決定方法及び装置
US5428772A (en) * 1991-10-01 1995-06-27 Prime Computer, Inc. Data processing system providing user interaction in multiple natural languages
JPH05151254A (ja) * 1991-11-27 1993-06-18 Hitachi Ltd 文書処理方法およびシステム
US5689671A (en) * 1991-11-27 1997-11-18 Icl Systems Ab System for reducing quantity of data transmitted to a user unit by transmitting only an identifier which points to pre-stored information in the user unit
US5551018A (en) * 1993-02-02 1996-08-27 Borland International, Inc. Method of storing national language support text by presorting followed by insertion sorting
US6496793B1 (en) * 1993-04-21 2002-12-17 Borland Software Corporation System and methods for national language support with embedded locale-specific language driver identifiers
US5442782A (en) * 1993-08-13 1995-08-15 Peoplesoft, Inc. Providing information from a multilingual database of language-independent and language-dependent items
US5774879A (en) * 1993-12-27 1998-06-30 First Data Corporation Automated financial instrument processing system
CA2138830A1 (en) * 1994-03-03 1995-09-04 Jamie Joanne Marschner Real-time administration-translation arrangement
US5493606A (en) * 1994-05-31 1996-02-20 Unisys Corporation Multi-lingual prompt management system for a network applications platform
JP3367298B2 (ja) * 1994-11-15 2003-01-14 富士ゼロックス株式会社 言語情報提供装置、言語情報提供システムおよび言語情報提供方法
US5987402A (en) * 1995-01-31 1999-11-16 Oki Electric Industry Co., Ltd. System and method for efficiently retrieving and translating source documents in different languages, and other displaying the translated documents at a client device
US5724503A (en) * 1995-03-31 1998-03-03 Sun Microsystems, Inc. Method and apparatus for interpreting exceptions in a distributed object system
US5828992A (en) * 1995-12-11 1998-10-27 Unova Ip Corp. Automated control system with bilingual status display
US5812964A (en) * 1996-04-29 1998-09-22 Informix Software, Inc. Multi-valued localized strings
US5818442A (en) * 1996-04-30 1998-10-06 Intel Corporation Method and apparatus for modeling business card exchanges in an international electronic conference
US5787452A (en) * 1996-05-21 1998-07-28 Sybase, Inc. Client/server database system with methods for multi-threaded data processing in a heterogeneous language environment
US6015087A (en) * 1996-10-04 2000-01-18 First Data Corporation Apparatus and method for leasing documents of value
US6256774B1 (en) * 1996-12-06 2001-07-03 Sun Microsystems, Inc. Methods, systems, and computer program products for storing, loading, analyzing, and sharing references to recently used objects
US6381567B1 (en) * 1997-03-05 2002-04-30 International Business Machines Corporation Method and system for providing real-time personalization for web-browser-based applications
US6073090A (en) * 1997-04-15 2000-06-06 Silicon Graphics, Inc. System and method for independently configuring international location and language
US6119079A (en) * 1997-04-24 2000-09-12 Hewlett-Packard Company Method and structure for tokenized message logging system
US6058166A (en) * 1997-10-06 2000-05-02 Unisys Corporation Enhanced multi-lingual prompt management in a voice messaging system with support for speech recognition
US6219632B1 (en) * 1997-11-20 2001-04-17 International Business Machines Corporation System for the facilitation of supporting multiple concurrent languages through the use of semantic knowledge representation
US6233317B1 (en) 1997-12-11 2001-05-15 Unisys Corporation Multiple language electronic mail notification of received voice and/or fax messages
US6092036A (en) * 1998-06-02 2000-07-18 Davox Corporation Multi-lingual data processing system and system and method for translating text used in computer software utilizing an embedded translator
US6018742A (en) * 1998-07-07 2000-01-25 Perigis Corporation Constructing a bifurcated database of context-dependent and context-independent data items
US6442516B1 (en) * 1999-01-29 2002-08-27 International Business Machines Corporation Software tool to perform concurrent national language translation builds
US6321190B1 (en) 1999-06-28 2001-11-20 Avaya Technologies Corp. Infrastructure for developing application-independent language modules for language-independent applications
US6292773B1 (en) 1999-06-28 2001-09-18 Avaya Technology Corp. Application-independent language module for language-independent applications
US7359863B1 (en) 1999-09-30 2008-04-15 Computer Sciences Corporation Condition component framework for reinsurance
US7693731B1 (en) 1999-09-30 2010-04-06 Computer Sciences Corporation Business process framework for reinsurance
US6757023B2 (en) * 1999-10-14 2004-06-29 Mustek Systems Inc. Method and apparatus for displaying and adjusting subtitles of multiple languages between human-machine interfaces
US7571107B1 (en) 2000-06-23 2009-08-04 Computer Sciences Corporation System and method for externalization of rules for assessing damages
US7343307B1 (en) 2000-06-23 2008-03-11 Computer Sciences Corporation Dynamic help method and system for an insurance claims processing system
US7398219B1 (en) * 2000-06-23 2008-07-08 Computer Sciences Corporation System and method for displaying messages using a messages table
US7095426B1 (en) 2000-06-23 2006-08-22 Computer Sciences Corporation Graphical user interface with a hide/show feature for a reference system in an insurance claims processing system
US7430515B1 (en) 2000-06-23 2008-09-30 Computer Sciences Corporation System and method for externalization of formulas for assessing damages
US7430514B1 (en) 2000-06-23 2008-09-30 Computer Sciences Corporation System and method for processing insurance claims using a table of contents
US7418400B1 (en) 2000-06-23 2008-08-26 Computer Sciences Corporation Internet-enabled system and method for assessing damages
US6934908B2 (en) * 2001-10-17 2005-08-23 International Business Machines Corporation Uniform handling of external resources within structured documents
US20040088199A1 (en) * 2002-10-31 2004-05-06 Childress Allen B. Method of forming a business rule
US20040085357A1 (en) * 2002-10-31 2004-05-06 Childress Allen B. Method of generating a graphical display of a business rule and associated business rule elements
US7676387B2 (en) * 2002-10-31 2010-03-09 Computer Sciences Corporation Graphical display of business rules
US7689442B2 (en) * 2002-10-31 2010-03-30 Computer Science Corporation Method of generating a graphical display of a business rule with a translation
US7451148B2 (en) * 2002-10-31 2008-11-11 Computer Sciences Corporation Method of modifying a business rule while tracking the modifications
US20040088195A1 (en) * 2002-10-31 2004-05-06 Childress Allen B. Method of modifying a business rule
US20040111254A1 (en) * 2002-12-05 2004-06-10 International Business Machines Corporation User defined text NLS enablement
JP4121382B2 (ja) * 2003-01-07 2008-07-23 株式会社リコー 情報提供装置、情報表示装置、情報提供システム、及び情報提供方法
US7231342B2 (en) 2003-01-09 2007-06-12 International Business Machines Corporation Method, system, and computer program product in a logically partitioned data processing system for displaying messages in a management console's native language
US20040215494A1 (en) * 2003-04-24 2004-10-28 Wahlbin Stefan L. Method and system for determining monetary amounts in an insurance processing system
US7895064B2 (en) * 2003-09-02 2011-02-22 Computer Sciences Corporation Graphical input display in an insurance processing system
US20050138207A1 (en) * 2003-12-17 2005-06-23 International Business Machines Corporation Method and apparatus for transporting language-independent messages through generic management frameworks
US20050204332A1 (en) * 2004-03-15 2005-09-15 Ramco Systems Limited Method and system for developing large web-based multi-language applications
US7869989B1 (en) * 2005-01-28 2011-01-11 Artificial Cognition Inc. Methods and apparatus for understanding machine vocabulary
DE102006009430B3 (de) * 2006-02-24 2007-08-02 Act Aviation Centre Of Technology Gmbh Verfahren und Kommunikationsanordnung zur Datenübermittlung zwischen mindestens zwei Teilnehmern eines Transportgut- oder Personen-Tranportprozesses
EP1923789A1 (de) * 2006-11-16 2008-05-21 Nagracard S.A. Verfahren zur steurung der Ausführung eines Programms durch einen Mikrocontroller
US20080294455A1 (en) * 2007-05-23 2008-11-27 General Electric Company System and method for communicating in a multilingual network
US8010389B2 (en) * 2007-06-04 2011-08-30 Computer Sciences Corporation Multiple policy claims processing
US8000986B2 (en) 2007-06-04 2011-08-16 Computer Sciences Corporation Claims processing hierarchy for designee
US8010390B2 (en) * 2007-06-04 2011-08-30 Computer Sciences Corporation Claims processing of information requirements
US8010391B2 (en) 2007-06-29 2011-08-30 Computer Sciences Corporation Claims processing hierarchy for insured
US8055496B2 (en) * 2007-11-01 2011-11-08 Microsoft Corporation Ensuring product correctness in a multilingual environment
US20090187431A1 (en) * 2008-01-18 2009-07-23 Frank Scalet Adjusting general damages values using equalization values

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5282047A (en) * 1975-12-29 1977-07-08 Fujitsu Ltd Controlling for message transmission
US4365315A (en) * 1980-09-08 1982-12-21 Kearney & Trecker Corporation System for multilingual communication of computer-specified aural or visual control messages in an operator-designated language
US4456969A (en) * 1981-10-09 1984-06-26 International Business Machines Corporation System for automatically hyphenating and verifying the spelling of words in a multi-lingual document
US4615002A (en) * 1983-03-30 1986-09-30 International Business Machines Corp. Concurrent multi-lingual use in data processing system
JPS60103848A (ja) * 1983-11-08 1985-06-08 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 複数言語が使用できるノ−ド間メツセ−ジ伝送方法
US4731735A (en) * 1985-09-30 1988-03-15 International Business Machines Corporation Multilingual processing for screen image build and command decode in a word processor, with full command, message and help support
JPS6333050A (ja) * 1986-07-28 1988-02-12 Nec Corp システムデイスプレイ装置
US4864503A (en) * 1987-02-05 1989-09-05 Toltran, Ltd. Method of using a created international language as an intermediate pathway in translation between two national languages
JPS63205747A (ja) * 1987-02-13 1988-08-25 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 通信方法及びデータ処理システム

Also Published As

Publication number Publication date
JPH02220166A (ja) 1990-09-03
EP0376316B1 (de) 1996-05-29
US5307265A (en) 1994-04-26
ATE138746T1 (de) 1996-06-15
BR8906096A (pt) 1990-07-31
CA2003418A1 (en) 1990-06-29
EP0376316A2 (de) 1990-07-04
DE68926567D1 (de) 1996-07-04
EP0376316A3 (de) 1992-04-01

Similar Documents

Publication Publication Date Title
DE68926567T2 (de) Nachrichten- und Bildschirmübertragung für Rechner in einem mehrsprachigen Netzwerk
DE69630480T2 (de) Verfahren, Vorrichtung und Datenstrukturen zur Objektverwaltung
DE68919976T2 (de) Verfahren zur Herstellung von aktuellen Terminaladressen für Systemanwender die verteilte Anwendungsprogramme in einer SNA LU 6.2-Netzwerkumbegung verarbeiten.
DE3382775T2 (de) Elektronisches Dokumentenverteilnetzwerk mit gleichmässigem Datenstrom.
DE69730690T2 (de) Verfahren und apparat zum dynamischen austausch von objekt-nachrichten zwischen objekt-modellen
DE69534411T2 (de) Offenes Transaktionverwaltungszugriffsystem und Verfahren
DE69127919T4 (de) Gerät und Verfahren zur Durchführung einer anwendungsbestimmten Operation auf Daten als Teil einer systembestimmten Operation auf die Daten
DE68925474T2 (de) Verriegelungsrechnersysteme
DE60038705T2 (de) Verfahren und vorrichtung für die aktivitäts-basierte zusammenarbeit eines rechnersystems, ausgestattet mit einem kommunikations-manager
DE69734432T2 (de) Verfahren und Vorrichtung zur Absendung von Clientverfahrenanrufen in einem Server Rechnersystem
DE69216130T2 (de) Verfahren und Vorrichtung zur verbesserten Verteilung von elektronischen Mitteilungen
DE68919631T2 (de) Verfahren zur Verarbeitung von Programmteilen eines verteilten Anwendungsprogramms durch einen Hauptrechner und einen intelligenten Arbeitsplatz in einer SNA LU 6.2-Netzwerkumgebung.
DE68919975T2 (de) Verfahren für die simultane Ablaufverwaltung eines verteilten Anwenderprogramms in einem Hostrechner und in einer grossen Anzahl von intelligenten Benutzerstationen in einem SNA-Netzwerk.
DE69637436T2 (de) Objektorientiertes Kommunikationssystem mit Unterstützung für mehrere entfernte Maschinentypen
DE3689990T2 (de) Flexible Datenübertragung für nachrichtenorientierte Protokolle.
DE69032191T2 (de) Anordnung und Verfahren zur Realisierung von Hochleistungskommunikation zwischen Softwareprozessen
DE68927508T2 (de) Zeitweilige Zustandsbewahrung für einen verteilten Dateidienst
DE3789575T2 (de) Verteiltes Dialogverarbeitungsverfahren in einem komplexen System mit mehreren Arbeitsplätzen und mehreren Gastrechnern und Vorrichtung dafür.
DE60108884T2 (de) Methode und gerät zur bearbeitung von kommunikationsanfragen durch einen server ohne kontextumschaltung
DE69735348T2 (de) Skalierbare und erweiterbare Systemverwaltungsarchitektur mit datenlosen Endpunkten
DE3852324T2 (de) Verfahren und System zur Netzwerkverwaltung.
DE60126016T2 (de) Serverseitige Kontrollobjekte zur Verarbeitung von kundenseitigen Benutzerschnittstellenelementen
DE69824879T2 (de) Verteilter web- anwendungs- server
DE69814900T2 (de) Verfahren und system zur unterstützung verteilter software- entwicklung ohne bewusstsein der verteilten charakteristik der software
DE69838257T2 (de) Verfahren zum erweitern der hypertext markup sprache (html) zur unterstützung von unternehmungsanwendungsdatenbindung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee