-
Technischer
Bereich
-
Die vorliegende Erfindung befasst
sich mit der Weglenkung digitaler Nachrichten in einem Paketkommunikationsnetz
und im Besonderen mit der Verwendung flexibler Weglenkungssteuerungsformate
sowie mit den im Netzwerk verteilten Bearbeitungsfunktionen zur Änderung
oder Erweiterung der mit den digitalen Nachrichten verbundenen Weglenkungsinformationen
an einer oder mehreren Zwischenstellen auf einem Weg mit mehreren
Knoten innerhalb des Kommunikationsnetzes.
-
Hintergrund
der Erfindung
-
Die Weglenkung von Nachrichten ist
eine Funktion, die es einem Netzwerkbenutzerprogramm (oder Agent)
ermöglicht,
Nachrichten an ein anderes Benutzerprogramm zu senden. Systeme zur
Paketkommunikation halten für
die Dauer einer Sitzung keine Übertragungsfunktionen
bereit, sondern sie reservieren lediglich einzelne Links auf dem Übertragungspfad
und dies nur für
die Dauer eines Pakets. Es ist daher notwendig, einen Mechanismus
zur Weglenkung digitaler Pakete durch das Paketnetz bereit zu stellen.
Alle Netzwerke zur Paketkommunikation verwenden einen Kopfbereich,
der dem Datenpaket vorangeht und der genügend Informationen enthält, um die
Weglenkung dieses Pakets vom Ursprung zum Zielort des Pakets zu
steuern.
-
Viele Weglenkungsmechanismen wurden
in Verbindung mit den Paketnetz-Technologien nach Stand der Technik
entwickelt. Das Automatic Network Routing (ANR) beispielsweise macht
im Kopfbereich des Pakets die vorherige Berechnung des gesamten
Weges vom Ursprungsort bis zum. Zielort sowie die Identifikation eines
jeden Links auf diesem Weg erforderlich. An jedem Zwischenknoten
entlang des Weges wird die Identifikation des vorherigen Links vom
Kopfbereich getrennt, um die Identifikation des nächsten Links
auf dem Weg bereit zu stellen. Anders wird beim Rundsenden von Nachrichten
beziehungsweise beim selektiven Rundensenden (Multi-Casting) eine
einzelne Identifikation eines Baumes im Kopfbereich zum selektiven Rundsenden
verwendet und es werden an jedem Zwischenknoten die Baum-Kennungen
zur Auswahl des ausgehenden Links oder der Links eingesetzt, die
im Multicast-Baum enthalten sind. Wieder andere Weglenkungsmechanismen
verwenden die Zielortadresse im Kopfbereich, um unter Verwendung
einer Weglenkungstabelle den nächsten
Link auf dem Weg auszuwählen.
-
Ein andere Technik zur Weglenkung
besteht darin, „selbstleitende
Pakete" zu verwenden,
die eine Liste der physischen Portadressen weiterleiten, zur Verwendung
durch die nachfolgenden Knoten bei der Weiterleitung der Pakete.
Jeder Zwischenknoten liest die Ausgangsportadresse, an die das Paket
weitergeleitet werden soll. Die europäische Patentanmeldung
EP 0 608 653 von International
Business Machines legt eine Methode zur Weiterleitung der „selbstleitenden
Pakete" offen, bei
der die Bearbeitungszeit in den Zwischenknoten reduziert wird und
bei der der Ursprungsknoten beim Eintritt fehlerhafter Bedingungen
eine entsprechende Mitteilung erhält. In jedem Knoten lautet
der gelesene Code von der vom Paket weitergegebenen Weglenkungsliste
XORed mit der Adresse des Eingangsports zum Erhalt der Adresse des
Ausgangsports. Die Weglenkungscodes werden ebenfalls im Knoten und
den darauffolgenden Knoten in der Weglenkungsliste neu angeordnet.
Ein Richtungsanzeiger wird ebenfalls angeordnet und an die nächsten Knoten
zusammen mit dem Paket weitergegeben.
-
Es ist zu beachten, dass diese Weglenkungsschemata
nach Stand der Technik die vorherige Definition des Weges erfordern,
entweder für
die ANR-Link-Kennungen, die Multicast-Baum-Definiton oder für den Inhalt der Weglenkungstabelle.
-
In vielen Anwendungen wird die Bestimmung
der Links auf einem Weg vom Ursprung zum Ziel zurückgehalten,
bis das Paket im Netzwerk gestartet wird. Eine alternative Weglenkung
bei einem Ausfall eines Links oder zur Vermeidung einer Überlastung
von Links sind zwei mögliche
Situationen, in denen ein Zurückhalten der
Weglenkung wünschenswert
sein kann. Zusätzlich
zur alternativen Weglenkung kann es wünschenswert sein, eine andere
Zwischenbearbeitung eines Pakets während der Übertragung vom Ursprung zum
Ziel vorzunehmen. Es kann beispielsweise wünschenswert sein, den Daten
für die Übertragung über bestimmte
Links ein neues Format zu geben, und es kann ebenfalls wünschenswert
sein, den Eingang in fremde Netzwerke an den Gateways dieser fremden
Netzwerke zu protokollieren und zu authentifizieren zum Zweck einer
separaten Rechnungsstellung und für die Netzwerkunterstützung von
verschiedenen Netzwerkeigentümern.
Letztlich können Adressverzeichnisse
entlang des Weges verwendet werden, um Zielnamen oder Zieladressen
hinsichtlich des Inhalts der Daten aufzulösen, beispielsweise zur Weglenkung
von kostenfreien Telefonnummern oder zur Weglenkung von Kreditkartentransaktionen
auf der Basis von Kreditkartennummern. Flexible Wege, wie sie zuvor
beschrieben wurden, sind wichtig für eine Vielzahl an Echtzeitanwendungen.
Unglücklicherweise sind
alle Schemata zur Bereitstellung von Weglenkungsflexibilität nach Stand
der Technik anwendungsabhängig
und erfordern somit separate Weglenkungsmechanismen für unterschiedliche
Transaktionscodes oder unterschiedliche Benutzeridentifikationen.
Da keine Obergrenze für
die Anzahl an solchen lenkbaren Datenobjekten besteht, kann die
Komplexität
der Weglenkungsmechanismen ebenfalls ins Grenzenlose wachsen.
-
Zusammenfassung
der Erfindung
-
In Übereinstimmung mit dem Ausführungsbeispiel
der vorliegenden Erfindung wird eine universelle Weglenkungsflexibilität für alle möglichen
Pakettypen der Datenpakete durch das Einfügen eines „Naming and Addressing Parameter
String (NAPS)" in
den Kopfbereich eines jeden Pakets, durch das Einfügen von „Routing
Services (RS)"-Modulen
in alle Knoten sowie durch das Einfügen von „Routing Application Programs (RAPs)" in ausgewählte Knoten
im Netzwerk bereit gestellt. Im gezeigten Ausführungsbeispiel umfasst der Weglenkungs-Kopfbereich
eine NAPS-Struktur, die eine oder mehrere Nachrichten-Weglenkungs-Adressen enthält, von
denen jede wiederum eine Identifikation eines Zwischen- oder Zielknotens,
eine Identifikation eines Anwendungs- oder Routing-Agent-Programms
sowie einen benutzerspezifischen Parameter umfassen kann, der an
das Agent-Programm weitergegeben wird, um die Zielinformationen,
beispielsweise eine Verzeichniskennung, korrekt verarbeiten zu können. Die
RS empfangen die Nachricht an einem Knoten und führen die generische NAPS-Verarbeitung
durch, die in allen Knoten gleich ist. Die RS empfangen eine Nachricht, analysieren
die obersten NAPS-Elementfelder und senden die Nachricht an einen
anderen Knoten, wenn es sich bei dem Zielknoten um einen entfernten
Knoten handelt, oder sie senden die Nachricht an ein lokales Anwendungs-Agent-Programm
oder an ein lokales RAP, wenn es sich bei dem Zielknoten um den
Nachrichten empfangenden Knoten handelt. Die RS verfügen über Suchtabellen
zur Unterstützung
der NAPS-Verarbeitung. Eine Zielknotentabelle (Destination Node
Table =DNT) wird verwendet, um den nächsten Knoten auf dem Weg zum
angegebenen Zielknoten auszuwählen.
Eine Tabelle mit Lokalen Agents (Local Agent Table = LAT) gibt ihrerseits
alle lokalen Agents an, die mit dem lokalen Knoten verbunden sind.
Ein RAP hingegen ist ein spezieller Agent-Typ, der eine spezielle
Logik ausführt,
die den NAPS aktualisiert und die Nachricht an die RS weitergibt,
damit diese zur Verarbeitungsstelle weitergeleitet wird, wobei es
sich bei Verarbeitungsstelle um ein Anwendungs-Agent-Programm oder
ein weiteres RAP handeln kann. Die Knoten des Netzwerks, die RS
und RAPs enthalten, werden Nachrichtenweglenkungs (Message Routing)-Knoten
genannt und dazu verwendet, die Weglenkungsflexibilität zu bieten,
die Gegenstand der vorliegenden Erfindung ist.
-
Es ist zu beachten, dass Paketnetzwerke,
die wie oben beschrieben mit NAPS, RS und RAPs ausgestattet sind, Weglenkungsflexibilität für alle Typen
von Datenpaketen bereit stellen ohne die Notwendigkeit zur Gestaltung
und Implementierung separater Flexibilität für die vielen Klassen an Datenpaketen.
Diese Flexibilität
kann daher von allen Benutzern des Netzwerks in Anspruch genommen
werden, um genau die Weglenkungsverarbeitung zu implementieren,
die für
die vom Benutzer verwendeten Pakete erforderlich ist. Dieser anwendungsunabhängige Aspekt
der flexiblen Weglenkungsmechanismen der vorliegenden Erfindung
ist von besonderer Bedeutung bei der Reduzierung der Kosten und
des Umfangs der Netzwerkarchitektur. Der einzelne NAPS/RS/RAPs Mechanismus
der vorliegenden Erfindung kann auf eine beliebig große Zahl
an verschiedenen Datenpaketklassen angewendet werden, indem es dem
Benutzer ermöglicht
wird, signifikante Variablen in der weglenkungsbearbeitenden Funktion
anzugeben.
-
In Übereinstimmung mit einer Eigenschaft
der vorliegenden Erfindung wird die Bearbeitungsfunktion von einer
Bearbeitungstabelle gesteuert, die spezifische Richtlinien zur Bearbeitung
eines bestimmten NAPS enthält.
In Übereinstimmung
mit dieser Eigenschaft der vorliegenden Erfindung wird der Mechanismus
zur Weglenkungsbearbeitung von einer oder mehrerer solcher Tabellen
gesteuert, die die für
eine Umwandlung des aktuellen NAPS in den gewünschten RAPs notwendigen Bearbeitungsschritte
aufführen.
-
Es wird deutlich, dass die Bereitstellung
eines standardmäßigen Kopfbereichs
sowie Möglichkeiten
zur Bearbeitung des Kopfbereichs in mindestens einigen der Zwischenknoten
ein Zurückhalten
der Weglenkung erlaubt, um nicht nur Link-Ausfälle oder -Überlastungen zu berücksichtigen,
sondern auch eine datenabhängige
Weglenkung, weglenkungsabhängige
Datenverarbeitung und eine administrative Bearbeitung an den Grenzen
zwischen den Netzwerken zu ermöglichen.
-
Kurzbeschreibung
der Zeichnungen
-
Ein umfassendes Verständnis der
vorliegenden Erfindung kann unter Berücksichtigung der folgenden detaillierten
Beschreibung zusammen mit den begleitenden Zeichnungen erzielt werden,
wobei
-
1 ein
allgemeines Blockdiagramm eines Paketkommunikationsnetzwerks einschließlich der
universell flexiblen Weglenkungsmechanismen (Routing Application
Programs = RAPs) der vorliegenden Erfindung zeigt;
-
2 eine
grafische Darstellung eines Naming and Addressing Parameter String
(NAPS) in Übereinstimmung
mit der vorliegenden Erfindung zeigt, der in den RAPs aus 1 bearbeitet werden könnte;
-
3 ein
detailliertes Flussdiagramm der NAPS-Verarbeitung zeigt, wie sie
in den Routing Application Programs aus 1 stattfindet;
-
4 ein
detailliertes Flussdiagramm des Prozesses zeigt, wie er im NAPS-Editor
aus 3 stattfindet;
-
5 ein
detailliertes Flussdiagramm des NRPS-Aktualisierungsprozesses zeigt, wie
er in allgemeiner Form in 4 gezeigt
wird;
-
6 ein
allgemeines Blockdiagramm eines Paketkommunikationssystems zeigt,
einschließlich
mehrerer separat verwalteter Paketnetzwerke und unter Verwendung
der Bearbeitungsfunktionen für
die Zieladresse der vorliegenden Erfindung.
-
Für
ein leichteres Verständnis
werden zur Bezeichnung gleicher Elemente in verschiedenen Figuren die
gleichen Nummerierungen verwendet.
-
Detaillierte
Beschreibung
-
In 1 wird
ein allgemeines Blockdiagramm eines Paketkommunikationssystems gezeigt,
einschließlich
einer Nachrichten erstellenden Stelle 10, einem Übertragungsnetzwerk 13 und
einer Nachrichten empfangenden Stelle 24. Die Nachrichten
erstellende Stelle 10 umfasst einen Nachrichten erstellenden
Agent 12 und einen Knoten zur Weglenkung von Nachrichten 11.
Bei dem Nachrichten erstellenden Agent 12 handelt es sich
um ein Computerprogramm, das die Verwendung des Übertragungsnetzwerks 13 anfordert,
um eine Nachricht an einen Ziel-Agent 23 (ein anderes Computerprogramm
an entfernter Stelle) zu übertragen. Ähnlich umfasst
der Zielort 24 einen Knoten zur Weglenkung von Nachrichten
E (22) sowie einen Ziel-Agent zur Weglenkung von Nachrichten 23.
Aus Sicht der Funktion zur Weglenkung von Nachrichten handelt es
sich bei einem Nachrichten lenkenden Agent um jedes beliebige Proaramm,
das die Nachrichtenlenkungsfunktion verwendet. Normalerweise umfassen
Nachrichtenlenkungs-Agents wie 12 und 23 einen
Ressourcen-Manager, der neben der Weglenkung von Nachrichten noch
viele weitere Services bietet, beispielsweise eine Nachrichten-Warteschlange.
-
Das Paketkommunikationssystem aus 1 umfasst eine Vielzahl
an Nachrichtenlenkungsknoten A – I,
die durch Übertragungs-Links
miteinander verbunden sind. So ist Knoten A (11) mit den
Knoten B (14) und G (15) verbunden, Knoten B ist
mit den Knoten C (18) und E (22) verbunden, Knoten
G ist verbunden mit dem Knoten H (16), Knoten H ist verbunden
mit den Knoten C (18) und I (21), und Knoten I
ist mit Knoten E (22) verbunden. Die Zwischenverbindungen
der Nachrichtenweglenkungsknoten A bis I ist nur eine Form der Darstellung;
es können
noch sehr viel mehr Knoten in das Paketnetzwerk eingefügt werden,
die untereinander über
eine Vielzahl an Übertragungs-Links
verbunden sind. In Übereinstimmung
mit der bekannten Paketnetzwerk-Technologie verwenden die Knoten
A bis I Informationen in den Kopfbereichen der im Netzwerk gestarteten
Pakete, um das Paket zum entsprechenden Zielknoten zu leiten. Bei
den Nachrichten lenkenden Netzwerken, wie hier Netzwerk 13,
handelt es sich um unverbundene Netzwerke, in denen eine Vielzahl
an Nachrichten von vielen verschiedenen Ursprüngen simultan auf einer gegebenen
Verbindung zwischen einem Knotenpaar fließen können. Die Funktion des Knotens
ist es, jede der Nachrichten, die von einem verbundenen Knoten erhalten
wurden, zum Endziel weiterzuleiten.
-
Einer oder mehrere der Nachrichten
lenkenden Knoten A bis I aus 1 ist
mit einem Routing Agent Program (RAP) verbunden. Das Routing Agent
Program 17 ist beispielsweise mit Knoten H (16)
verbunden, während
das Routing Agent Program 19 mit dem Knoten C (18)
verbunden ist. In Übereinstimmung
mit der vorliegenden Erfindung werden die RAPs 17 und 19 verwendet,
um die Kopfbereiche der im Netzwerk 13 gestarteten Pakete
zu verarbeiten, um wiederum beim Bestimmen des tatsächlichen
Endzielorts des angehängten
Pakets Unterstützung
zu bieten, unter Verwendung der im Kopfbereich des Pakets gefundenen
Informationen. Das Ziel der Routing Agent Programs ist es, die Auswahl
des Nachrichtenziels so lange zurück zu halten, bis sich die
Nachricht tatsächlich
auf dem Pfad zum Zielknoten befindet. Eine solche Weglenkungsflexibilität ist wichtig
für eine
Vielzahl von Echtzeit-Anwendungen, wie beispielsweise die folgenden:
Weglenken
einer Nachricht zu einer Zwischenstelle zur weiteren Adressauflösung, beispielsweise
durch Aufrufen eines Verzeichnisses zur Auflösung eines Namens in eine Adresse
oder zur Bestimmung des Zieles basierend auf dem Dateninhalt (beispielsweise
eine kostenlose Rufnummer oder eine Kreditkartennummer).
Auswahl
eines alternativen Zielortes im Falle eines Ausfalls des ursprünglich ausgewählten Zielknotens
oder Systems.
Auswahl eines Zielortes zum Ausgleich von Überlastungen.
Ausführen von
Umwandlungen der Nachrichtendaten, möglicherweise zur Übertragung
auf ein bestimmtes Medium.
Protokoliieren und Authentifizieren
der Nachricht an den Gateways zwischen den verschiedenen Netzwerken, die
sich möglicherweise
im Besitz verschiedener Unternehmen befinden.
-
Um den universellen und flexiblen
Mechanismus zum Zurückhalten
der Weglenkung der vorliegenden Erfindung zu implementieren, wird
ein Naming and Addressing Parameter String (NAPS) mit einem oder
mehreren Adress-Elementen in den Kopfbereich jeder im Netzwerk gestarteten
Nachricht eingefügt.
Die NAPS-Struktur wird weiterhin verwendet, um sowohl die Quelladresse
als auch die Zieladresse im Kopfbereich anzugeben. Die gewünschte Flexibilität wird durch
Interaktion dieses NAPS mit den RAPs implementiert. Weiterhin können die
RAPs für
die folgenden Aktionen verwendet werden:
Bearbeiten des Ziel-NAPS
zum Ändern
des Endziels oder nur des nächsten
Knotens auf dem Weg.
Erweitern der NAPS-Informationen durch
vom Benutzer gestellte Erweiterungen, wie beispielsweise Verzeichniskennungen
oder Kennungen zum Prüfen
der Benutzersicherheit zum Ermitteln, ob eine Nachricht einen gegebenen
Netzwerk-Gateway passieren darf. Eine bestimmte RAP-Adresse kann
beispielsweise einfach in die Weglenkung eingefügt werden, um die entsprechende
NAPS-Verarbeitung sicherzustellen.
Speichern von Listen mit
Zielorten Ermittlung des Pfads und der an der Nachricht auszuführenden
Zwischenverarbeitung (des NAPS oder der Daten selbst), auf dem Weg
zum Zielort.
Steuern der Knotenschaltungsoperation zur Ermittlung,
wann, wo und wie eine bestimmte Nachricht von einer Stelle zur nächsten geschaltet
werden soll.
-
Diese Funktionen werden hier im Folgenden
beschrieben.
-
Der NAPS kann formal wie folgt definiert
werden:
-
Die Bezeichnungen in der oben genannten
Definition des NAPS dienen nur Darstellungszwecken und repräsentieren
nicht die architektonische Form des NAPS. Die eckigen Klammern begrenzen
die NAPS-Komponenten, ein Komma trennt die NAPS-Elemente und die
runden Klammern zeigen, dass ein Element optional ist. Die tatsächliche
Kodierung des NAPS ist in Gänze
optional und kann beispielsweise mit der Hilfe der ISO Abstract
Syntax Notation One (ASN.1) vorgenommen werden. In der obigen Definition
wird eine Nachrichtenweglenkungs-Adresse aus den folgenden drei
Bestandteilen definiert:
<naps-element> | gibt
den Zielknoten der Nachricht an. |
<agent-name> | gibt
den Agent an, der die Nachricht am Zielknoten erhalten soll. |
<agent-parm> | gibt
die Parameter an, die an den empfangenden Agent geleitet werden,
wie beispielsweise einen Verzeichnisnamen. |
-
Der NAPS wird rekursiv definiert
und ermöglicht
so die Spezifikation einer Folge von aufeinanderfolgenden Zwischenstellen
zur Nachrichtenverarbeitung, wodurch eine sehr leistungsfähige Funktion
zum Benennen und Adressieren bereit gestellt wird.
-
2 zeigt
eine grafische Darstellung einer Paketnachricht mit einem Paket-Kopfbereich 30 und
einem dem Kopfbereich 30 zugeordneten Datenblock 37.
Der Kopfbereich 30 wiederum umfasst eine Vielzahl an Nachrichten-Weglenkungsadressen 34 bis 36,
die jeweils ein Feld mit der Knotenidentifikation 31, ein
Feld mit dem Namen des Agents 32 und ein Feld mit den Parametern
des Agents 33 umfassen. Die meisten Netzwerkprotokolle
gestatten eine Ziel- und eine Ursprungsadresse pro Nachricht. Die
Methode und Vorrichtung zur Weglenkung von Nachrichten der vorliegenden
Erfindung jedoch ermöglichen
es sowohl der Ziel- als auch der Ursprungsadresse, eine recht hohe
Anzahl an Adresselementen zu umfassen. Obwohl jedes NAPS-Element
aus drei Komponenten (NodeName, AgentName und AgentParm) bestehen
kann, können
diese Komponenten auch gleich Null sein, wobei die Auswirkung dieses
Umstands noch zu beschreiben ist.
-
Bevor mit einer detaillierteren Beshriebung
der Erfindung fortgefahren wird, ist es zunächst sinnvoll, die Bezeichnungskonventionen
zu beschreiben, die zur Bezeichnung der Knoten- und Agentnamen im
NAPS verwendet werden könnten.
Solche Knoten und Agents können
beispielsweise über
globale Namen verfügen, die
innerhalb des ganzen Netzwerks eindeutig sind, in dem sie benutzt
werden. Zu diesem Ziel können
diese Namen den vorhandenen Bezeichnungskonventionen des entsprechenden
Netzwerks folgen. Viele vorhandene Netzwerkarchitekturen, wie etwa
IBMs SNA, ARPAs TCP/IP und ISOs X.400 E-Mails verfügen über eine bereits
bestehende Benennungs-Hierarchie, die es den Administratoren ermöglicht,
global eindeutige Namen zu erstellen, indem sie die Namen von Unternehmens-
oder Geschäftseinheiten
registrieren und durch Anhängen
der Namen der Untereinheiten an den registrierten Namen neue Namen
erstellen. Ein Unternehmen trägt beispielsweise
den Namen „ABC,
Inc." und der Netzwerkadministrator
für die
Abteilung „DE" der ABC, Inc. hat die
strukturierte Netzwerkkennung USABCxx registriert, mit IBM als zuständige Registrierungsstelle
für SNA-Netzwerkkennungen.
Die Geschäftsführung der
ABC, Inc. hat die Netzwerkkennung USABCDE zur Verwendung durch die
Abteilung DE zugeteilt. Entsprechend den SNA-Benennungsregeln ist
die Abteilung DE berechtigt, im Netzwerk verwendbare Namen zu erstellen,
in der Form von USABCDE.xxxxxxxx, wobei es sich bei „xxxxxxxx" um einen Namen handelt,
der den Regeln für
LU-Namen entspricht. Der Benutzer kann nicht nur global eindeutige
Namen für
die SNA-LUs, PUs und Steuerstellen erstellen, sondern er kann auch
globale Namen für
ihre Nachrichtenweglenkungs-Ressourcen erstellen, unter Verwendung
der folgenden Form:
„(SNA,
USABCDE.xxxxxxxx)"
-
Auf der anderen Seite würde eine
Registrierung im Internet die Generierung globaler Namen in der folgenden
Form gestatten:
„(IP,
xxxxxxxx.DE.ABC.com)"
unter
der Annahme, dass es sich um ein kommerzielles Unternehmen mit ANSI
handelt und dass der Netzwerkadministrator des Unternehmens der
Abteilung die Kennung DE zugeordnet hat. Ein Benutzer kann natürlich eine
längere
Zeichenfolge als seinen globalen Namen registrieren. Zu diesem Zweck
unterstützen
die Nachrichtenweglenkungs-Ressourcen
der vorliegenden Erfindung Namen, die mit den Net BIOS und MQ-Series
Architekturen anwendbar sind, sowie undefinierte Zeichenfolgen.
Da letzerer Namensstil nicht von jeder internationalen Hierarchie
von Benennungsstellen unterstützt
wird, kann keine globale Eindeutigkeit sichergestellt werden.
-
Logische Links zwischen zwei MR-Knoten
werden als „pipe" bezeichnet. Pipes
können
unter Verwendung logischer Verbindungen implementiert werden, die
von vorhandenen Kommunikations-Subsystemen bereitgestellt werden,
wie etwa den SNA-Sitzungen, OSI-Zuordnungen oder TCP/IP-Verbindungen.
Jeae Nachricht mit einem Format wie aus 2 kann eine Bit-Zeichenfolge enthalten, die die Nachrichtenklasse
der Nachricht wiedergibt. Die Nachrichtenklasse spezifiziert die
für die
Nachricht erforderlichen Weglenkungseigenschaften (beispielsweise
SICHER oder EILIG) und agiert als ein Filter zur Sicherstellung,
dass ein ausgewählter
Pfad den Anforderungen der Nachricht genügt.
-
Die Leistungsfähigkeit der Nachrichtenweglenkungstechnologie,
wie sie in den 1 und 2 beschrieben wurde, liegt
in der Fähigkeit,
Nachrichten zu lenken, wenn selbst der Ersteller der Nachricht die
Identität oder
den Ort des endgültigen
Empfängers
der Nachricht nicht kennt. Diese Fähigkeiten werden durch den NAPS
sowie durch die folgenden drei Tabellen implementiert:
-
Tabelle
1
Tabelle Lokaler Agent (Local Agent Table)
-
Tabelle
2
Tabelle Zielknotenweglenkung (Destination Node Routing Table)
-
Tabelle
3
Tabelle NAPS-Bearbeitung
-
In den Tabellen 1, 2 und 3 hat das
Feld NodeName die Form eines oben beschriebenen globalen Namens
und sollte nominal der Name eines bestehenden Nachrichtenweglenkungsknotens
im Netzwerk sein. In der Wirklichkeit kann es Sich bei diser Namen
um einen beliebigen Namen handeln und er wird, wie im Folgenden
beschrieben wird, in Verbindung mit den Weglenkungsalgorithmen aus
den 3 bis 6 verarbeitet. Reale globale
MR-Namen sollten jedoch unter allen Knoten, die Nachrichten an diesen
Knoten senden, eindeutig sein. Dies geschieht am einfachsten, indem
ein Name ausgewählt
wird, der global eindeutig unter allen Knotennamen weltweit ist,
wie oben beschrieben.
-
Das Feld AgentName hat ebenfalls
die Form eines globalen Namens und ist nominal der Name eines vorhandenen
Nachrichtenweglenkungs-Agents, kann jedoch in der Realität gleich
Null sein oder eine Klasse oder einen Satz an Agents oder etwas
anderes repräsentieren.
Dies wird in Verbindung mit dem Weglenkungsalgorithmus in 3 erklärt. Der Agentname muss unter
allen Agents eindeutig sein, die sich auf diesem Knoten befinden.
Weiterhin sollten Agentnamen, die Klassen oder Sätze von Agents repräsentieren,
unter all jenen Knoten unzweideutig sein, auf denen sich andere
Agents befinden, die sich auf diesen Agentnamen beziehen könnten. Die
Passport Credit Card Company kann sich beispielsweise dazu entschließen, den
Agentnamen „Passport
Authorize" für einen
Satz an Anwendungen zur Genehmigung von Kreditkarten zu verwenden,
die über
mehrere Netzwerke verteilt sind. Zur gleichen Zeit könnte der
Server U.S. Customs den gleichen Agentnamen für eine Anwendung verwenden,
die die Erneuerung von Pässen
genehmigt. Die Netzwerkadministratoren sind dafür verantwortlich, dass eine
Nachricht, die an eine der Anwendungen gesendet wird, keinesfalls bei
einer anderen Anwendung landen kann. Die Verwendung von einem der
oben beschriebenen Standards zur globalen Namensgebung in Netzwerkarchitekturen
sichert eine globale Eindeutigkeit. Das Feld ÄgentParm dient der Verwendung
durch Agents, um kleinere Datenmengen untereinander weiterzuleiten.
Die Routing Agent Programs (RAPs) können die Felder AgentParm untersuchen
und sogar verändern.
Es ist zu beachten, dass nur Agents und RAPs das Feld AgentParm
nutzen können,
die in Kenntnis des anderen konstruiert wurden, und dass generische
RAPs das Feld AgentParm weder untersuchen noch nutzen würden.
-
Die Komponente jedes Message Routing
(MR)-Knotens, die die Nachrichtenweglenkung (Message Routing) ausführt, wird
Routing Services (RS)-Komponente genannt. Die Routing Services erhalten
Nachrichten aus den folgenden drei Quellen:
Anwendungs-Agents,
die Nachrichten erstellen;
Routing Agents, die Nachrichten
erstellen oder Nachrichten umleiten, die sie in der Übertragung
erhalten haben; und
Pipes, die Nachrichten von anderen MR-Knoten
erhalten haben.
-
Die RS verarbeiten jede der oben
genannten Nachrichten auf die gleiche Art, unabhängig vom Nachrichtenursprung,
wie im Flussdiagramm in 3 gezeigt.
In 3 der Zeichnungen
wird der Weglenkungsalgorithmus der vorliegenden Erfindung gezeigt,
der in jedem MR-Knoten aus 1 implementiert
ist, und der im Startfeld 70 beginnt und anschließend in
Feld 71 fortfährt,
wo er eine Nachricht von einem lokalen oder von einem entfernten
Agent des Netzwerksystems erhält.
Die RS aus 3 arbeiten
nur im oberen Element des Ziel-NAPS im Kopfbereich der Nachricht.
Im Entscheidungsfeld 73 wird das Feld NodeName (Tabelle
2) in diesem oberen Element des Ziel-NAPS untersucht. Dieses Feld NodeName
kann einen der vier Werte enthalten:
Es kann gleich Null sein.
Es
kann sich um den Namen dieses MR-Knotens handeln.
Es kann sich
um den Namen eines anderer. MR-Knotens an einer anderen Stelle im
Netzwerk handeln.
Es kann sich um einen Pseudo-Knotennamen
handeln, dessen Verwendungsart im Folgenden beschrieben wird.
-
Wenn der Wert des Feldes NodeName
gleich Null ist (was der Fall wäre,
wenn die Nachricht von einem lokalen Agent oder einem lokalen Routing
Agent Program (RAP) empfangen wurde; was jedoch niemals der Fall
sein kann, wenn diese Nachricht von einer Pipe empfangen worden
wäre),
gehen die RS davon aus, dass die Nachricht von einem Agent oder
RAP auf diesem Knoten stammt. Wie später beschrieben werden wird, kann
dies nicht der Fall sein. Wenn das Feld NodeName im obersten Element
des NAPS-Stapels entweder den Namen dieses Knotens enthält oder
gleich Null ist, wird im Entscheidungsfeld 73 davon ausgegangen, dass
der Ziel-Agent dieser Knoten ist und der Prozess geht zu Entscheidungsfeld 75 über, um
die Tabelle Lokaler Agent (Tabelle 1 oben) zu durchsuchen. Bei der
Tabelle Lokaler Agent handelt es sich um eine Liste aller Agents
und Routing Agent Programs (RAPS), die aktiv in diesem Knoten ausgeführt werden.
Wenn eine Übereinstimmung
eines Eintrags mit dem Feld AgentName gefunden wird, wird zu Feld 84 übergegangen,
wo die Nachricht in die Warteschlange des in der Tabelle Lokaler
Agent angegebenen Agents oder RAPs gestellt ward. Dann wird in Feld 85 fortgefahren,
um eine Benachrichtigung an das aufrufende Programm zu senden und
der Prozess aus 3 wird
in Feld 86 beendet. Wenn der Name in der Tabelle Lokaler
Agent nicht gefunden werden kann, wie in Entscheidungsfeld 75 festgestellt
wurde, oder wenn der Agentname im NAPS gleich Null ist, wird in
Feld 76 mit dem Versuch fortgefahren, das Adresselement
oben im NAPS zu bearbeiten. Dieser Bearbeitungsprozess wird detailliert
in Verbindung mit 4 beschrieben.
-
Im Feld NodeName im obersten Element
der eingehenden Nachricht enthält
der NAPS den Namen eines anderen MR-Knoten oder er enthält den Namen
eines Pseudo-Knotens, wie in Entscheidungsfeld 73 festgestellt,
und es wird in Entscheidungsfeld 74 mit dem Versuch fortgefahren,
die Identität
der Pipe zu ermitteln, die zum Weiterleiten der Nachricht auf ihrem
Weg zum genannten Identifikationsknoten zu verwenden ist. Zu diesem
Ziel wird die Tabelle Zielknoten (Tabelle 2) durchsucht, unter Verwendung
des Knotennamens im Feld NodeName und der Nachrichtenklasse der
Nachricht. Wenn keine geeignete Pipe gefunden werden kann, wie in
Entscheidungsfeld 78 festgestellt, wird in Feld 76 mit
dem Versuch fortgefahren, den NAPS zu bearbeiten, wie in Verbindung
mit den 4 und 5 beschrieben wird. Wenn
die Suche nach einer geeigneten Pipe erfolgreich verlaufen ist,
wie in Entscheidungsfeld 78 festgestellt, wird in Feld 8u fortgefahren,
um die Nachricht zur Übertragung
in die Warteschlange der ermittelten Pipe zu stellen. Feld 81 wird
dann erreicht, um eine Benachrichtigung an das aufrufende Programm
zu senden. Das Endfeld 86 wird dann erreicht, um den Prozess von 3 zu beenden.
-
Wenn das Feld zur Adressbearbeitung 76 aufgrund
einer erfolglosen Suche entweder im Feld 74, 75 oder 78 erreicht
wird, werden die Prozesse der 4 und 5 verwendet, um den Ziel-NAPS
zu bearbeiten. Das Entscheidungsfeld 77 wird dann erreicht,
um festzustellen, ob die Adresse im Feld 76 tatsächlich aktualisiert wurde.
Wenn dies der Fall ist, wird noch einmal zum Feld 73 zurückgekehrt,
um den neu bearbeiteten NAPS erneut zu analysieren. Wenn keine Bearbeitung
im jüngsten
Versuch im Feld 76 stattgefunden hat, wie in Entscheidungsfeld 77 ermittelt
wurde, wird Entscheidungsfeld 79 erreicht, um den zu verwendenden
Typ der Fehlerausgabe, synchron oder asynchron, zu ermitteln. Das
Programm, das den Prozess von 3 aufruft,
gibt an, ob es eine synchrone oder eine asynchrone Fehlerausgabe
wünscht.
Eine asynchrone Fehlerausgabe stellt die Nachricht in Feld 83 in
die Warteschlange eines speziellen Agents namens „Error
Handler". Der Error Handler
wiederum sendet eine negative Benachrichtigung an den Absender am
Ursprungsknoten. Es ist zu beachten, dass anschließend in
Feld 85 fortgefahren wird, um ein OK an den RS-Aufrufer
zu senden, da die Zuständigkeit
für die
Nachricht an den Error Handler übertragen
worden ist und der Aufrufer nicht reagieren muss. In beiden Fällen endet
der Prozess von 3 im
Endfeld 86.
-
Die Bearbeitungsfunktion von Feld 76 in 3 kann einfach oder sehr
kompliziert gestaltet sein. Während
in Verbindung mit den 4 und 5 ein sehr einfacher Editor
beschrieben wird, ist es offensichtlich, dass auch sehr viel kompliziertere
Editoren verwendet werden können,
je nach Bedarf der verschiedenen Benutzer im Netzwerk. Ein solcher
Editor muss mindestens in der Lage sein, ein NAPS-Element aus dem
Zieladressenstapel zu entfernen, wenn es nicht länger benötigt wird, er muss in der Lage
sein, ein neues NAPS-Element
in den Zieladressenstapel einzufügen,
um neue Weglenkungsinformationen bereit zu stellen und die bestehenden
Weglenkungsinformationen zu sichern, zur Bearbeitung an einer anderen
Stelle in der Weglenkung entlang des Pfades, und er muss in der
Lage sein, ein oder mehrere NAPS-Elementfelder zu ersetzen, um die erforderlichen
Informationen zu ändern
oder zu korrigieren. Ein solcher Editor wird in den 4 und 5 gezeigt.
-
In 4 wird
das Flussdiagramm eines NAPS-Editors gezeigt, der auf der Grundlage
einer Tabelle arbeitet, wie sie als Tabelle 3 gezeigt wird. Das
Flussdiagramm in 4 führt die
Suchen in der Tabelle aus, die erforderlich sind, um die Editor-Funktionen
zu steuern, während 5 ein Flussdiagramm des
Prozesses zeigt, mit dem die Bearbeitung tatsächlich ausgeführt wird.
Das Flussdiagramm aus 4 startet
im Startfeld 90, um dann in Feld 91 fortzufahren,
um die Felder aus dem obersten NAPS-Element der Zieladresse zu extrahieren.
Der Ausgabezeiger wird dann auf Null gestellt, was der verwendete
Ausgabewert ist, wenn der Bearbeitungsversuch erfolglos war. Es
wird dann in Feld 93 fortgefahren, um die Bearbeitungstabelle
(Tabelle 3 oben) zu durchsuchen, unter Verwendung der Werte NodeName
und AgentName aus dem NAPS als erste Suchschlüssel. Der Bereich NodeName
des Suchschlüssels
wird zunächst
konstant gehalten, während
der Bereich AgentName in Feld 93 durchsucht und mehr und
mehr generalisiert wird, indem nacheinander immer mehr allgemeine
Platzhalterwerte ersetzt werden, bis entweder ein übereinstimmender
Eintrag gefunden wird oder bis alle Platzhalter verwendet wurden,
wie in Feld 94 ermittelt wird. Diese Prozedur setzt voraus,
dass es sich bei dem Agentnamen um eine Sequenz aus Unterzeichenfolgen
handelt, die durch Perioden voneinander getrennt sind, das heißt um einen
globalen Namen in einem der oben beschriebenen globalen Standardformate.
Wenn eine Übereinstimmung
gefunden wurde, wird Feld 99 erreicht, um den Ziel-NAPS
zu aktualisieren. Wenn keine Übereinstimmung
mit dem Feld AgentName gefunden wurde, wie in Entscheidungsfeld 94 ermittelt,
wird Feld 95 erreicht, wo der Wert des Feldes NodeName
in der Bearbeitungstabelle gesucht wird. Die Suche in Feld 95 wird
ebenfalls immer mehr generalisiert, indem nach und nach alle Platzhalterwerte
ersetzt werden, bis entweder ein übereinstimmender Eintrag gefunden
wird oder bis alle Platzhalter verwendet wurden, wie in Entscheidungsfeld 96 ermittelt.
Auf jeder Suchebene in Feld 95 wird der Wert AgentName
auf den ursprünglichen
Wert zurückgesetzt.
Wenn ein Bearbeitungstabelleneintrag im Entscheidungsfeld 96 gefunden wurde,
wird in Feld 99 fortgefahren, um den Ziel-NAPS zu aktualisieren,
wie in Verbindung mit 5 beschrieben
wird. Wenn der Ziel-NAPS in Feld 99 aktualisiert wurde,
wird in Feld 97 fortgefahren, um den Ausgabezeiger auf
den neuen, in Feld 99 erstellten NAPS zu setzen. Der Prozess
in 4 endet in Feld 98.
Es ist zu beachten, dass in dem Falle, dass keine NAPS-Bearbeitung
aufgrund der erfolglosen Suche nach einem Bearbeitungstabelleneintrag
stattfindet, die initialisierte Null ausgegeben wird, die einen
Fehler in der Weglenkung signalisiert.
-
Die Prozedur zum Aktualisieren des
Ziel-NAPS in Feld 99 in 4 wird
detailliert in 5 gezeigt.
In 5 wird ein Flussdiagramm
der Prozedur zum Aktualisieren des Ziel-NAPS mit Bezug auf Feld 99 in 4 gezeigt. Die Prozedur
startet in Feld 100 und fährt in Feld 101 fort,
um die Ausgabe des Zielelements auf einen Nullwert festzulegen.
Es wird dann in Feld 102 fortgefahren, um die aus der Bearbeitungstabelle
(Tabelle 3) im Prozess aus 4 erhaltenen
Werte NewNodeName und NewAgentName zu testen, die dazu mit den Werten NodeName
und AgentName im obersten NAPS-Element des Nachrichten-Kopfbereichs
verglichen werden. Dieser Test verhindert eine unendliche Wiederholung
des Editors aufgrund von Fehlern in der Bearbeitungstabelle. Wenn
diese Werte übereinstimmen,
wird in Feld 105 fortgefahren, um die Nullwerte (initialisiert
in Feld 101) an das aufrufende Programm auszugeben, was
einen Bearbeitungsfehler angibt.
-
Wenn sich die Werte der Bearbeitungstabelle
NewNodeName und NewAgentName von den Werten im obersten NAPS-Element
unterscheiden, wie in Entscheidungsfeld 103 ermittelt,
wird in Feld 104 fortgefahren, um die in der Bearbeitungstabelle
angegebene Bearbeitungsaktion auszuführen. Wie in 5 gezeigt, umfassen diese Bearbeitungsaktionen
mindestens das Entfernen, Verschieben und Ersetzen des obersten NAPS-Elements. Andere
Bearbeitungsaktionen sind natürlich
ebenfalls möglich
und sollten für
Fachleute auf der Hand liegen. Diese Bearbeitungsaktionen werden
von der Bearbeitungstabelle gesteuert und können vom Netzwerkadministrator,
vom Ursprungsbenutzer oder vom Zielbenutzer des Netzwerks angegeben
werden.
-
Wenn eine Bearbeitungsaktion Öffnen in
der Bearbeitungstabelle angegeben wird, wird in Feld 108 das
oberste Element im NAPS-Stapel
entfernt und der Ausgabezeiger auf ein neues oberstes Element gerichtet.
Wenn sich keine weiteren NAPS-Komponenten im Stapel befinden, wird
die Nachricht als unzustellbar betrachtet und es wird in Feld 105 ein
Nullzeiger gesetzt, der einen Bearbeitungsfehler anzeigt. Wenn aus
den Werten in den Feldern NewNodeName, NewAgentName und NewAgentParm
des NAPS-Bearbeitungstabelleneintrags
ein neues NAPS-Element erstellt wird, wird in Feld 105 fortgefahren,
in dem das neue NAPS-Element
auf den NAPS-Stapel im Kopfbereich der Nachricht verschoben wird.
Diese neuen Werte im NAPS-Elementfeld können gleich Null sein, oder
es kann sich um ein Steuerzeichen handeln, das zum Replizieren des vorigen
Wertes in diesem Feld verwendet wird. Der Ausgabezeiger wird in
Feld 105 gesetzt, um auf das neu verschobene NAPS-Element
zu verweisen. Wenn ein oder mehrere Felder des obersten NAPS-Elements
ersetzt werden müssen,
werden in Feld 109 die gewünschten NAPS-Elementfelder
ersetzt. Wie zuvor können ein
Nullwert oder ein Ersetzungssymbol als Ersatzwert für jeden
Feldwert verwendet werden. Der Ausgabezeiger wird erneut in Feld 105 gesetzt,
um auf das oberste NAPS-Element zu verweisen. Der Prozess von 5 endet im Ausgabefeld 107.
-
Der Betrieb der NAPS-Bearbeitungsfunktion
in den RAPs der vorliegenden Erfindung wird detailliert in Verbindung
mit dem Paketkommunikationssystem aus 6 dargestellt.
Das System aus 6 wurde
für eine
Anwendung zur Genehmigung von Kreditkarten entwickelt, die zwischen
eine Vielzahl an Einzelhändlernetzwerken 122 und 127 und
einer Vielzahl an Banknetzwerken 129 und 130 geschaltet
ist, unter Verwendung eines Backbone-Kreditkarten-Netzwerks 124.
Die Nachrichten-Weglenkungsknoten 121, 123, 125, 126, 128, 131 und 133 dienen
nicht nur als Weglenkungs-Bearbeitungs-RAPS, sondern mit Ausnahme
von Knoten 133 ebenfalls als Verbindungsknoten innerhalb
der Netzwerke; sie werden von den beiden Netzwerken gemeinsam genutzt.
Es sollte klar sein, dass jedes der Netzwerke 122, 124, 127, 129 und 130 eine
Vielzahl an anderen internen Knoten umfasst, die eine Vielzahl an
Benutzern miteinander verbinden, mit dem Ziel der Übertragung von
Intra-Netzwerk-Informationen,
wie es den Fachleuten bekannt ist. Als Beispiel wird hier von einem
Ursprungsbenutzer 120 ausgegangen, einem Kassen-Terminal
(Point of Sale = POS) in einem Einzelhandelsgeschäft, der
eine Nachricht mit der Anforderung für eine Genehmigung zur Belastung
eines Kontos an die Bank ausgibt, die die Kreditkarte des Kunden
ausgegeben hat. Diese Anforderungsnachricht wird an den Zielbenutzer
in der Bank 132 weitergegeben, der eine Genehmigung (oder
Sperre) der Kreditnachricht zurück
an den Ursprungsbenutzer 120 ausgibt.
-
Beginnend beim Ursprungsbenutzer
120 in
dem Falle, dass ein Kunde einen Kauf in einem Einzelhandelsgeschäft bezahlen
möchte,
zieht der Verkäufer
am Kassen-Terminal die Kreditkarte durch das Lesegerät und der
Kassen-Terminal erstellt eine Genehmigungsnachricht, die durch das
Netzwerk
122 gesendet wird. Diese Nachricht könnte natürlich zufällig bei
einer IMS-Anwendung
in einem Mainframe-Computer der Bank ankommen, die wiederum das
Banknetzwerk
130 innehat. Der Kassen-Terminal wird als
MR-Kundenknoten bezeichnet und gibt an, dass der Kassen-Terminal
nichts über
Weglenkungsnachrichten weiß,
sich jedoch auf den benachbarten MR-Knoten
121 verläßt, um diese
Funktion bereit zu stellen. Zur näheren Erklärung wird davon ausgegangen,
dass der globale Knotenname des Kassen- oder POS-Terminals (SNA, USSEERAW.POS234X1) lautet.
Die vom POS-Terminal
erstellte Nachricht lautet wie folgt, wobei all jene Details weggelassen
wurden, die nicht dieses Beispiel betreffen:
-
Wenn diese Nachricht an den Eingangsknoten
121 weitergegeben
wird, untersucht der Knoten
121 zuerst das Feld NodeName
des obersten Elements des Ziel-NAPS (Feld
73,
3). Wie oben ersichtlich
wird, ist dieses Feld gleich Null, weshalb der Knoten.
121 die
Tabelle Lokaler Aktiver Agent nach einem aktiven Agent oder einem
Routing Agent Program mit dem Namen (IP,Autohrize.Passport.com)
durchsucht. Da keine Übereinstimmung
eines Eintrags mit diesem Agentnamer. vorliegt, wird die Nachricht
zur NAPS-Bearbeitung (Feld
76,
3) weitergegeben. Der Ziel-NAPS-Bearbeitungsprozess
verschiebt ein weiteres Element aus den Ziel-NAPS, das den Knotennamen „(SNA,
USSEERAW.AWSRV193)" enthält, den
globalen Namen des Routing Server-Knotens
133 innerhalb
des Netzwerks
122, der an den Nachrichtweglenkungsknoten
123 weitergibt.
Wenn die Bearbeitung abgeschlossen ist, erscheint die Nachricht
wie folgt:
-
Der interne Nachrichtenweglenkungsknoten 133 innerhalb
des Netzwerks 122 wird ebenfalls versuchen, diese Nachricht
zu leiten. Wenn das Feld mit dem Zielknotennamen untersucht wurde
(Feld 73, 3), ist
dieser Knoten der Zielknoten („ON
ME," Feld 73, 3) und das Feld mit dem
Agentnamen wird untersucht. Wie oben gezeigt, ist das Feld mit dem
Agentnamen gleich Null. Der Knoten 133 versucht deshalb,
das oberste NAPS-Element zu bearbeiten, wie im Flussdiagramm von 3 gezeigt. Die Bearbeitungstabelle
im Knoten 133 wird konsultiert und der folgende Eintrag
gefunden:
-
Tabelle
4
Bearbeitungstabelle
-
Die Eintrag führt dazu, dass das oberste
Element des NAPS aufgerufen und entfernt wird (Feld 108, 5) und das nächste NAPS-Element
an die Stelle rückt.
Bei diesem nächsten
Element handelt es sich natürlich
um das ursprüngliche
NAPS-Element, das
an die Nachricht angehängt
ist. Der Weglenkungsknoten 133 wird nun versuchen, die
Nachricht entsprechend dem NAPS-Element („Ja" in Feld 77, 3) weiterzuleiten. Da das mit dem Knotennamen
des neuen NAPS immer noch gleich Null ist, durchsucht der Weglenkungsknoten 133 die
Tabelle mit den Agents (Feld 75 in 3) nach dem Agent oder dem Routing Agent
Program (RAP) mit der Bezeichnung (IF,Authorize.Passport.com). Da
kein solcher Eintrag besteht, wird der NAPS zur Bearbeitung an den
Editor weitergeleitet. Es wird folgender Eintrag in der Bearbeitungstabelle
gefunden:
-
Tabelle
5
Bearbeitungstabelle
-
Dieser Eintrag führt dazu, dass ein neues NAPS-Element
auf der NAPS-Stapel mit den genannten Feldwerten verschoben wird.
Der Kopfbereich der Nachricht sieht wie folgt aus:
-
Wenn der Nachrichtenweglenkungskneten 133 versucht,
diese Nachricht erneut weiterzuleiten, wird er feststellen, dass
sie für
einen anderen Knoten bestimmt ist und wird deshalb seine Zielknotentabelle
(Tabelle 2 oben) konsultieren. Die Zielknotentabelle wiederum wird
die Pipe zum nächsten
benachbarten angeben und die Nachrichten für diesen Knoten in die Warteschlange
stellen. Bei dem nächsten
Knoten kann es sich um (IP,GWSEERS9.Passport.com) handeln oder nicht.
Wenn dies nicht der Fall ist, werden die Routing Services (RS) an
diesem Knoten ebenfalls erkennen, dass die Nachricht für einen
anderen Knoten bestimmt ist und werden ihre Zielknotentabelle konsultieren
und die Nachricht in der Pipe in die Warteschlange stellen, die
in dieser Tabelle angegeben ist, um die Nachricht zum nächsten benachbarten
Knoten über
diese Pipe zu transportieren. Diese Schritte werden wiederholt,
bis die Nachricht letztlich an Knoten 123 angekommen ist,
angegeben als (IP,GWSEERS9.Passport.com), bei dem es sich um das
Gateway zwischen dem Händlernetzwerk 122 und dem
Kreditkarten-Backbone-Netzwerk 124 handelt.
-
An Knoten
123 erkennen die
RS, dass die Nachricht für
diesen Knoten bestimmt ist und sie versuchen, die Nachricht an einen
Agent oder RAP mit Namen (IP,Gateway.Passport.com) zu leiten. Dieses
Mal wird festgestellt, dass ein RAP mit diesem Namen existiert und
aktiv ist und die Nachricht wird in diesem RAP in die Warteschlange
gestellt. Wenn die Nachricht an das RAP geliefert wurde, das als „(IP,Gateway.Passport.com)" identifiziert wurde,
entfernt das RAP zuerst das erste Element vom Stapel des Ziel-NAPS,
so dass die Nachricht wieder genauso erscheint, wie sie ursprünglich erstellt
wurde. Dieses RAP untersucht das Feld AgentParm des neuen obersten
NAPS-Elements, um
die Kreditkartennummer zu ermitteln. Unter Zuhilfenahme eines Übersetzungsalgorithmus
der Kreditkartengesellschaft wird die Kreditkartennummer in den
Namen der Bank übersetzt,
die das Kreditkartenkonto innehat. In diesem Fall handelt es sich
bei der Bank, die das Banknetzwerk
130 betreibt um die
Bank, die auch das Kreditkartenkonto innehat. Die Bearbeitungsfunktionen
bei diesem RAP verschieben dann ein neues Zielelement aus den Stapel
des Ziel-NAPS und sie verschieben ein neues Quellelement auf den
Stapel des Quell-NAPS, was zu einer wie folgt aussehenden Nachricht
führt:
-
Das neue Element auf dem Stapel des
Ziel-NAPS leitet die Nachricht an ein RAP auf einem Gateway-Knoten
weiter, den die BANC-TWO innehat, das heißt Knoten 125. Das
neue Element auf dem Stapel des Ursprungs-NAPS unterstützt die
Weiterleitung der Antwortnachricht. Wenn die Weglenkungsknoten im
Netzwerk 124 versuchen, die Nachricht erneut weiterzuleiten,
wird nun festgestellt, dass die Nachricht für einen anderen Knoten bestimmt
ist. Durch Konsultieren ihrer Zielknotenweglenkungstabellen können diese
Knoten ermitteln, welche Pipe die Nachricht in die Warteschlange
zum Transport zum nächsten
Knoten auf dem Weg stellen soll. Schließlich wird die Nachricht an
Knoten 125 empfangen, der im Ziel-NAPS als (IP,GWPassport3.Banc-Two.com)
angegeben wird.
-
Wenn die Nachricht den Knoten
125 erreicht,
leiten die Routing Services die Nachricht an das RAP namens „(IP,Gateway.Banc-Two.com)" weiter. Dieses RAP
entfernt das oberste Element vom Stapel des Ziel-NAPS und untersucht
das darauffolgende Element. Es stellt dann fest, dass das ursprüngliche
Feld AgentName eine Transaktion zur Kreditgenehmigung angefordert
hat. Weiterhin wird dann das Feld AgentParm untersucht, um zu bestätigen, dass
es sich bei der angefragten Bank um die Banc-Two handelt, dies wiederum durch Übersetzen
der Kreditkartennummer. Es kann davon ausgegangen werden, dass die
Banc-Two ihren Betrieb dezentral ausführt und eine Reihe von verschiedenen
Kreditkarten-Datenbanken umfasst. Es ist daher für das RAP erforderlich zu ermitteln,
an welche Computer- Datenbank
die Nachricht zu leiten ist. Das RAP ändert dann das verbleibende
Element des NAPS-Stapels und schiebt nun ein anderes Element auf
den ursprünglichen
NAPS-Stapel, so dass die Nachricht nun wie folgt lautet:
-
Wenn ein Weglenkungsknoten innerhalb
des Netzwerks
130 versucht, diese Nachricht zu leiten,
wird an diesem Knoten ermittelt, dass die Nachricht für einen
anderen Knoten bestimmt ist. Durch Konsultieren seiner Zielknoten-Weglenkungs-Tabelle
wird die Nachricht entsprechend der in dieser Tabelle gefundenen
Pipes weitergeleitet. Die Nachricht wird dabei über das Netzwerk
130 weitergeleitet,
bis sie Knoten
131 erreicht hat, identifiziert als (SNA,USBTWOAW.REGION12).
An Knoten
131 wird die Nachricht an den Zielbenutzer
132 geleitet,
der in der Nachricht als (UNDEF,CCAUTH) identifiziert wird. Der
Benutzer-Agent
132 ist zuständig für die Genehmigung aller Kreditkarten-Transaktionen
von allen Kreditkarten-Händlern,
die mit der BANC-TWO verbunden sind. Der Benutzer-Agent
132 führt die
angeforderte Genehmigung aus und erstellt eine Antwortnachricht,
die an den Ursprungs-POS-Terminal zurückgesendet wird. In diesem
Prozess wird der Ziel-NAPS-Stapel der eingehenden Nachricht zum
Ursprungs-NAPS-Stapel der Antwortnachricht verschoben, der Ursprungs-NAPS-Stapel
der eingehenden Nachricht wird zum Ziel-NAPS-Stapel der Antwortnachricht verschoben
und die Antwort wird im Feld AgentParm des untersten Elements des
sich daraus ergebenden Ziel-NAPS-Stapels platziert. Die Antwortnachricht
wird wie folgt aussehen:
MessageClass=CCAUTH
DestinationNAPS
-
Diese Nachricht wird an Knoten 131 weitergegeben,
an dem das Routing Program das Feld NodeName untersuchen wird und
feststellen wird, dass die Nachricht für einen anderen Knoten bestimmt
ist, indem es seine Zielknoten-Weglenkungstabelle konsultiert und
die Nachricht für
die entsprechende Pipe in die Warteschlange stellt. Die Nachricht
nimmt ihren Weg durch das Netzwerk der Bank 130, bis sie
Knoten 125 erreicht, der als (IP,GWPassport3.Banc-Two.com)
angegeben wurde. An diesem Knoten wird die Nachricht zur NAPS-Bearbeitung
weitergegeben (da der Agentname Null ist), und ein entsprechender
Eintrag in der Bearbeitungstabelle führt dazu, dass der oberste
Eintrag des Ziel-NAPS-Stapels entfernt wird. Die Nachricht wird dann
durch das Kreditkarten-Netzwerk 124 zum Knoten 123,
angegeben als (IP,GWSEERS9.Passport.com), geleitet. An Knoten 123 wird
die Nachricht erneut zur NAPS-Bearbeitung übermittelt, und in Reaktion
auf einen entsprechenden Eintrag in der NAPS-Bearbeitungstabelle wird dieser Eintrag
vom, Ziel-NAPS-Stapel entfernt, um den unteren NAPS-Eintrag freizulegen.
Unter Verwendung dieses Ziels wird die Nachricht dann über das Händler-Netzwerk 122 über Knoten 133 an
Knoten 121, angegeben als (SNA,USSEERAW.POS234X1), geleitet.
Die Nachricht wird dann an den Point-of-Sale-Benutzer 120 geleitet,
angegeben als (SNA,USSEERAW.CCTRANS), wo die Nachricht im Feld AgentParm
dem Verkäufer
angezeigt wird.
-
Es ist ersichtlich, dass in dem beschriebenen
Beispiel in Verbindung mit 6 NAPS-Stapel
verwendet werden, um sowohl die Ursprungsadresse als auch die Zieladresse
für Benutzernachrichten
darzustellen, die über
eine Vielzahl unterschiedlicher Paketkommunikationsnetzwerke geleitet
werden sollen. Routing-Programme an den Zwischenknoten in den verschiedenen
Netzwerken bearbeiten die NAPS-Elemente, um das Weiterleiten der
Nachricht an die entsprechende Zieladresse sicherzustellen, auch
wenn die Ursprungsstation die Adresse des endgültigen Ziels nicht kennt. Es
wird ein Nicht-Adressfeld
(AgentParm) in das NAPS-Element eingefügt um bei der Weiterleitung
und der Verarbeitung der Nachricht Unterstützung zu bieten.