-
Technisches
Gebiet
-
Die
vorliegende Erfindung bezieht sich allgemein auf das Gebiet von
Datenkommunikationen und bezieht sich insbesondere auf ein System
und ein Verfahren zum Verfolgen einer Transaktion über ein Mehrsprungnetz
bzw. -netzwerk.
-
Hintergrund
der Erfindung
-
Mit
dem Anbruch des Informationszeitalters wird eine Datenübertragung über viele
existierende Datenkommunikationsnetze erzielt. Diese Netze werden
unter Verwendung verschiedener Netztechnologien erzeugt, die sich
konstant mit einer auftretenden, technischen Innovation entwickeln.
Gegenwärtig
erstrecken sich Datenautobahnen, wie z.B. das Internet, um die ganze
Welt. Einzelne Personen können
auf diese Netze zugreifen, indem sie einen Zugriff von einem vieler
existierender Dienstanbieter erwerben.
-
Weitere
Dienstanbieter können
spezialisierte Dienste zusätzlich
zu einem Zugang zu Netzen bereitstellen. Spezielle Datenübertragungen
können z.B.
ermöglicht
werden, bei denen derartige Dienstanbieter, basierend auf der Natur
der Datenübertragung
und basierend darauf, ob dies erfolgreich war, mit Klienten abrechnen.
Beim Durchführen
dieser Datenübertragungen
kann der Dienstanbieter ein Datenkommunikationsprotokoll verwenden,
das keine Verfolgung einer bestimmten Datenübertragung durch das Datenkommunikationsnetz
ermöglicht. Insbesondere
kann es in dem Fall, in dem Daten in Paketen übertragen werden, z.B. auch
wünschenswert
sein, keinen weiteren Mehraufwand zu Zwecken einer Verfolgung von
Datenübertragungen
zu dem Datenpaket hinzuzufügen.
Folglich sind derartige Kommunikationsprotokolle in Situationen,
in denen ein Verfolgen einer Übertragung
eines Datenpakets nötig
ist, das unter verschiedenen Knoten eines Datenkommunikationsnetzes
springt, nicht nützlich.
-
Die
US 5 905 736 offenbart ein
Verfahren für das
Abrechnen von Transaktionen über
das Internet. Es offenbart ebenso ein System, das eine Anzahl von Vorrichtungen
aufweist, die eingesetzt werden können, um eine Datenübertragungstransaktion über das
Internet auszuführen.
Das System umfaßt
ferner einen Abrechnungsserver, der eine Aufzeichnung in sich speichert,
die das bevorzugte Zahlungsverfahren des Systembenutzers für unterschiedliche
Typen eines Erwerbs aufzeichnet, sowie eine Aufzeichnung aller Erwerbungen,
die durch einen Benutzer während
eines Verbindungszeitraums mit dem System durchgeführt wurden.
-
Die
WO 99/23558 offenbart ein Verfahren und eine Vorrichtung zum Ausführen einer
Transaktion in einer staatenlosen Web-Umgebung. Ein Transaktionsverwalter
koordiniert eine Transaktion auf eine derartige Weise, daß Zustandsinformationen
für eine
Transaktion beibehalten werden, jedoch nicht durch den Transaktionsverwalter.
Der Transaktionsverwalter erzeugt eine global eindeutige Transaktions-ID,
wenn eine neue Transaktion beginnt.
-
Die
EP 0 971 519 A1 offenbart
ein System, das den Transport von Daten zwischen zwei gesicherten
Systemen verwaltet. Während
eines Sendens und Empfangs werden Informationen in einer Datenbank
registriert, um jeden Vorgang, der bei dem Datenaustausch eingebunden
ist, zu identifizieren.
-
Zusammenfassung
der Erfindung
-
Angesichts
des Vorangegangenen werden ein System und ein Verfahren zum Verfolgen
einer Datenübertragungstransaktion über ein
Mehrsprungnetz bereitgestellt, wie in den beigefügten Ansprüchen beansprucht wird. Das
System umfaßt
eine Anzahl von Vorrichtungen, die eine Datenübertragungstrans aktion über das
Mehrsprungnetz ausführen.
Die Datenübertragungstransaktion
kann in einem oder mehreren Übertragungssegmenten
auftreten. Die Anzahl von Vorrichtungen umfaßt im allgemeinen eine Ursprungsvorrichtung
und eine Zielvorrichtung. Das System umfaßt ebenso eine Dienstvorrichtung, die
in Kommunikation mit der Anzahl von Vorrichtungen steht.
-
Die
Dienstvorrichtung erzeugt einen global eindeutigen Transaktionsidentifizierer,
der jeder Datenübertragungstransaktion
zugeordnet ist, die über das
Mehrsprungnetz ausgeführt
wird. Da es kein Feld gibt, das in den übertragenen Daten enthalten
ist, das ein Verfolgen der Datenübertragungstransaktion
ermöglicht,
wird eine Verfolgungstabelle in der Dienstvorrichtung beibehalten,
um die Datenübertragungstransaktion
von der Ursprungsvorrichtung zu der Zielvorrichtung zu verfolgen.
Die Verfolgungstabelle ist dem global eindeutigen Transaktionsidentifizierer
zugeordnet und umfaßt
Informationen von den verschiedenen Vorrichtungen, die bei der Datenübertragungstransaktion über das
Mehrsprungnetz beinhaltet sind.
-
Die
vorliegende Erfindung kann auch als ein Verfahren zum Verfolgen
einer Datenübertragungstransaktion über ein
Mehrsprungnetz betrachtet werden. Diesbezüglich weist das Verfahren folgende Schritte
auf: Durchführen
einer Datenübertragungstransaktion
unter einer Anzahl von Vorrichtungen in dem Mehrsprungnetz, wobei
das Datenübertragungssegment
zumindest ein Übertragungssegment über das
Mehrsprungnetz aufweist, wobei die Vorrichtungen eine Ursprungsvorrichtung
und ein Zielvorrichtung umfassen; Erzeugen eines global eindeutigen
Transaktionsidentifizierers, der der Datenübertragungstransaktion zugeordnet
ist, in einer Dienstvorrichtung, wobei die Dienstvorrichtung in Kommunikation
mit den Vorrichtungen steht, und Beibehalten einer Verfolgungstabelle
in der Dienstvorrichtung zum Verfolgen des Fortgangs der Datenübertragungstransaktion
durch das Mehrsprungnetz von der Ursprungsvorrichtung zu der Zielvorrichtung, wobei die
Verfolgungstabelle dem global eindeutigen Transaktionsidentifizierer
zugeordnet ist.
-
Weitere
Merkmale und Vorteile der vorliegenden Erfindung werden für Fachleute
auf diesem Gebiet nach einer Durchsicht der folgenden Zeichnungen
und der detaillierten Beschreibung ersichtlich werden. Es ist beabsichtigt,
daß alle
derartigen, zusätzlichen
Merkmale und Vorteile hierin innerhalb des Schutzbereichs der vorliegenden
Erfindung enthalten sind.
-
Kurze Beschreibung
der mehreren Ansichten der Zeichnungen
-
Die
Erfindung ist Bezug nehmend auf die folgenden Zeichnungen besser
verständlich.
Die Komponenten in den Zeichnungen sind nicht notwendigerweise maßstabsgetreu,
wobei statt dessen eine klare Darstellung der Prinzipien der vorliegenden
Erfindung hervorgehoben wird. Ferner bezeichnen in den Zeichnungen
gleiche Bezugszeichnen in den mehreren Ansichten entsprechende Teile.
-
1 ist ein Blockdiagramm
eines Mehrsprungnetzes gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung;
-
2A ist ein Flußdiagramm
einer Berichtslogik, die in einer Nicht-Dienstvorrichtung des Mehrsprungnetzes
aus 1 ausgeführt wird;
-
2B ist ein Flußdiagramm
einer Hochfahr-Teilroutine der Berichtslogik aus 2A;
-
2C ist ein Flußdiagramm
einer Nachrichtenschaffungs-Teilroutine
in der Berichtslogik aus 2A;
-
2D1 und 2D2 sind Flußdiagramme einer Empfangs-Teilroutine
der Berichtslogik aus 2A, und
-
3 ist ein Flußdiagramm
einer Verfolgungslogik, die in einer Dienstvorrichtung des Mehrsprungnetzes
aus 1 ausgeführt wird.
-
Detaillierte
Beschreibung der Erfindung
-
Bezug
nehmend auf 1 ist ein
Mehrsprungnetz 100 gemäß einem
Ausführungsbeispiel der
vorliegenden Erfindung gezeigt. Das Mehrsprungnetz 100 umfaßt eine
Dienstvorrichtung 103, eine Ursprungsvorrichtung 106,
eine erste Zwischenvorrichtung 109a, eine zweite Zwischenvorrichtung 109b und
eine Zielvorrichtung 113. Die Vorrichtungen 106, 109a, 109b und 113 weisen
im allgemeinen Knoten in dem Mehrsprungnetz 100 auf, obwohl
viel mehr derartige Vorrichtungen in dem Mehrsprungnetz 100 vorliegen
können.
Die Vorrichtungen 106, 109a, 109b und 113 sind
gezeigt, um einen Kontext für
eine Erklärung
der verschiedenen Ausführungsbeispiele
der vorliegenden Erfindung zu liefern.
-
Die
Dienstvorrichtung 103 umfaßt einen Prozessor 116 und
einen Speicher 123, die elektrisch mit einer lokalen Schnittstelle 126 gekoppelt
sind. Die lokale Schnittstelle 126 kann z.B. einen Datenbus
und einen Steuerbus aufweisen. Die Dienstvorrichtung 103 kann
z.B. einen Schalter, ein Computersystem, einen Server oder ein weiteres, ähnliches
System aufweisen.
-
Die
Ursprungs-, Zwischen- und Zielvorrichtung/en 106, 109a, 109b und 113 umfassen
Prozessoren 133a–d und
Speicher 136a–d,
die elektrisch mit jeweiligen, lokalen Schnittstellen 139a–d gekoppelt
sind, wie dies gezeigt ist. Alle Vorrichtungen 106, 109a, 109b und 113 stehen
miteinander als Knoten in dem Mehrsprungnetz 100 in elektrischer
Kommunikation. Jede der Vorrichtungen 106, 109a, 109b und 113 steht
ebenso in elektrischer Kommunikation mit der Dienstvorrichtung 103,
wie dies gezeigt ist.
-
Die
Dienstvorrichtung 103 umfaßt außerdem eine Verfolgungslogik 143,
die auf dem Speicher 123 gespeichert ist und durch den
Prozessor 116 ausgeführt
wird. Ebenso auf dem Speicher 123 gespeichert ist eine
Verfolgungstabelle 146, die durch die Dienstvorrichtung 103 beibehalten
wird, wenn dieselbe die Verfolgungslogik 143 ausführt, um
den Fortgang einer Datenübertragungstransaktion
durch das Mehrsprungnetz 100 zu verfolgen. Die Vorrichtungen 106, 109a, 109b und 113 umfassen
alle eine Berichtslogik 149, die auf den Speichern 136a–d gespeichert
ist und durch die Prozessoren 133a–d ausgeführt wird. Die
Berichtslogik 149 ermöglicht
es, daß die
Vorrichtungen 106, 109a, 109b und 113 Informationen
an die Dienstvorrichtung 103 senden und von derselben empfangen,
um die Verfolgungsfunktionalität
der Dienstvorrichtung 103 zu ermöglichen, wie noch erläutert wird.
Die Ursprungs-, Zwischen- und Zielvorrichtung/en 106, 109a, 109b und 113 können physisch
tatsächlich
als Knoten in dem Mehrsprungnetz 100 austauschbar sein.
Die bestimmten Bezeichnungen "Ursprung", "Zwischen" und "Ziel" werden lediglich
verwendet, um einen Kontext zur Erleichterung der Erläuterung
der Funktionsweise des Mehrsprungnetzes 100, wie dies hierin
beschrieben ist, zu liefern.
-
Das
Mehrsprungnetz 100 wird verwendet, um Datenübertragungstransaktionen
unter den Daten unter den Vorrichtungen 106, 109a, 109b und 113 in
dem Mehrsprungnetz 100 in einer oder mehreren Segmentübertragungen
zu ermöglichen.
Es wird angemerkt, daß die
Segmentübertragungen
gemäß eines
Paketschaltprotokolls erzielt werden, das Zielinformationen in einem
Anfangsblock der Datennutzlast verwendet, um die Datennutzlast durch
das Mehrsprungnetz 100 zu führen. Dies wird durchgeführt, während gleichzeitig
der Fortgang der Datenübertragungstransaktionen
zum Zweck einer Abrechnung für
die Datenübertragung
und weiteren Zielen überwacht
wird. Die Dienstvorrichtung 103 steht im allgemeinen unter
der Steuerung eines Dienstanbieters, der das Mehrsprungnetz 100 verwaltet,
usw.
-
Die
Abrechnungsfunktionen sowie weitere Funktionen werden ohne ein Einführen eines
neuen Mehraufwandes in die Anfangsblöcke oder Datennutzlast der
Datenpakete oder Nachrichten erzielt, die durch die Vorrichtungen
in dem Mehrsprungnetz 100 übertragen werden. Das Datenkommunikationsprotokoll
z.B., das durch die Vorrichtungen 106, 109a, 109b und 113 verwendet
wird, kann ein Protokoll sein, wie z.B. JetSendTM,
durch die Hewlett Packard Company ausgedacht, einem Unternehmen
des US-Bundesstaats Delaware, das seinen Hauptgeschäftsort in
Palo Alto, Kalifornien hat. Weitere, ähnliche Protokolle können ebenso
verwendet werden.
-
Als
nächstes
wird die allgemeine Funktionsweise des Mehrsprungnetzes 100 beschrieben.
Zu Beginn erzeugt die Ursprungsvorrichtung 106 Daten oder
Daten, die durch eine Vorrichtung erzeugt werden, die mit der Ursprungsvorrichtung 106 verbunden
ist, werden an dieselbe geliefert. Beim Hochfahren richten die Ursprungsvorrichtung 106 sowie
die Zwischen- und Zielvorrichtung/en 109a, 109b und 113 Datenkommunikationen
mit der Dienstvorrichtung 103 ein und empfangen einen jeweiligen
Sitzungsidentifizierer S1–S4
von der Dienstvorrichtung 103. Die Sitzungsidentifizierer
S1–S4
können
z.B. eine Internetprotokoll-Adresse oder eine weitere, ähnliche
Bezeichnung usw. sein.
-
Die
Ursprungsvorrichtung 106 beginnt eine erste Segmentübertragung
der Datenübertragungstransaktion
durch ein Erzeugen eines Auftragsidentifizierers JX und ein darauffolgendes Übertragen
des Auftragsidentifizierers J1 an die Dienstvorrichtung 103 mit
einer Anforderung nach einem global eindeutigen Transaktionsidentifizierer-Schlüssel TX,
mit dem die Datenübertragungstransaktion
verfolgt werden soll. Die Dienstvorrichtung 103 spricht
durch ein Erzeugen eines global eindeutigen Transaktionsidentifizierers
TX und ein Übertragen
desselben an die Ursprungsvorrichtung 106 an. Die Ursprungsvorrichtung 106 überträgt außerdem ihren
Sitzungsidentifizierer S1 an die erste Zwischenvorrichtung 109a.
Die erste Zwischenvorrichtung 109a überträgt den Sitzungsidentifizierer
S1, der von der Ursprungsvorrichtung 106 empfangen wurde,
gemeinsam mit einer Gültigkeitsanforderung
VAL an die Dienstvorrichtung 103. Die Dienstvorrichtung 103 validiert
den Sitzungsidentifizierer S1 für
die erste Zwischenvorrichtung 109a. Die Ursprungsvorrichtung 106 beginnt dann
mit einer Datenübertragung
der Datennutzlast an die Zwischenvorrichtung 109a gemeinsam
mit dem Auftragsidentifizierer J1, der durch die Ursprungsvorrichtung 106 erzeugt
wurde. Die Auftragsidentifizierer JX sind im allgemeinen jeder Segmentübertragung
der Datenübertragungstransaktion
zugeordnet, wie noch dargestellt wird.
-
Auf
ein Erzeugen des Transaktionsidentifizierers T1 hin erzeugt die
Dienstvorrichtung 103 ebenso eine Verfolgungstabelle 146,
die dem Transaktionsidentifizierer T1 zugeordnet ist. Die Verfolgungstabelle 146 wird
dann verwendet, um den Fortgang der Datenübertragungstransaktion durch
das Mehrsprungnetz 100 zu verfolgen. Die Dienstvorrichtung 103 plaziert
den Auftragsidentifizierer J1 und den Sitzungsidentifizierer S1
in der Verfolgungstabelle 146 als den Anfangspunkt, von
dem die Datennutzlast übertragen
wurde, d.h. die Ursprungsvorrichtung 106.
-
Auf
ein Empfangen des Sitzungsidentifizierers S1 und des Auftragsidentifizierers
J1 von der Ursprungsvorrichtung 106 hin überträgt die Zwischenvorrichtung 109a dieselben
an die Dienstvorrichtung 103 gemeinsam mit einer Anforderung
(T?) nach dem zugeordneten Transaktionsidentifizierer T1. Wenn der
Sitzungsidentifizierer S1 und der Auftragsidentifizierer J1 mit
der Anforderung empfangen werden, findet die Dienstvorrichtung 103 die
Verfolgungstabelle, in der der gleiche Sitzungsidentifizierer S1
und der Auftragsidentifizierer J1 gespeichert sind. Eine Zuordnung
zwischen dem Transaktionsidentifizierer T1 für die bestimmte Tabelle und
dem empfangenen Sitzungsidentifizierer S1 und dem Auftragsidentifizierer
J1 wird aufgestellt. Die Dienstvorrichtung 103 überträgt dann
den Transaktionsidentifizierer T1 an die Zwischenvorrichtung 109a,
wie dies gezeigt ist.
-
Danach
prüft die
Zwischenvorrichtung 109a die Datennutzlast, die von der
Ursprungsvorrichtung empfangen wurde, und realisiert, daß dies nicht
das letztendliche Ziel ist. Die Zwischenvorrichtung 109a überträgt dann
ihren Sitzungsidentifizierer S2 an die zweite Zwischenvorrichtung 109b.
Die zweite Zwischenvorrichtung 109b überträgt dann den Sitzungsidentifizierer
von der Zwischenvorrichtung 109a gemeinsam mit einer Validierungsanforderung
VAL an die Dienstvorrichtung 103. Die Dienstvorrichtung 103 validiert
den Sitzungsidentifizierer S2 und informiert danach die zweite Zwischenvorrichtung 109b über denselben.
-
Die
erste Zwischenvorrichtung 109a erzeugt dann einen Auftragsidentifizierer
J2 und überträgt denselben
gemeinsam mit der Datennutzlast an die zweite Zwischenvorrichtung 109b.
Die erste Zwischenvorrichtung 109a überträgt dann ihren Sitzungsidentifizierer
S2 sowie den Auftragsidentifizierer J2 und den Transaktionsidentifizierer
T1 an die Dienstvorrichtung 103 mit Instruktionen, daß die Dienstvorrichtung 103 die
Verfolgungstabelle mit diesen Informationen aktualisieren soll.
Die Dienstvorrichtung 103 plaziert den Sitzungsidentifizierer
S2 und den Auftragsidentifizierer J2 in die Verfolgungstabelle,
wie gezeigt ist. Auf diese Weise verfolgt die Dienstvorrichtung 103 die
Vorrichtungen 106 und 109a, die in der Datenübertragungstransaktion und
entsprechenden Vorgängen
verwendet werden.
-
Auf
ein Empfangen des Sitzungsidentifizierers S2 und des Auftragsidentifizierers
J2 hin überträgt die zweite
Zwischenvorrichtung 109b dieselben an die Dienstvorrichtung 103 gemeinsam
mit einer Anforderung (T?) nach dem zugeordneten Transaktionsidentifizierer,
der derselben zugeordnet ist. Die Dienstvorrichtung 103 schlägt dann
den Sitzungsidentifizierer S2 und den Auftragsidentifizierer J2
in der Verfolgungstabelle 146 nach und identifiziert den zugeord neten
Transaktionsidentifizierer T1. Die Dienstvorrichtung 103 überträgt dann
den Transaktionsidentifizierer T1 an die zweite Zwischenvorrichtung 109b gemäß ihrer
Anforderung. Es wird angemerkt, daß der Sitzungsidentifizierer
S2 und der Auftragsidentifizierer J2 im allgemeinen in einer einzelnen
Verfolgungstabelle 146 erscheinen, wobei die Dienstvorrichtung 103 mehrere
derartige Tabellen umfaßt.
So durchsucht die Dienstvorrichtung 103 alle Tabellen 146 nach
dem Paar.
-
Die
zweite Zwischenvorrichtung 109b prüft die Datennutzlast, die von
der ersten Zwischenvorrichtung 109a empfangen wurde, und
richtet auf ein Realisieren hin, daß dies nicht die Zielvorrichtung
für diese
Daten ist, Datenkommunikationen zu der Zielvorrichtung 113 ein.
Insbesondere wird der Sitzungsidentifizierer S3 der zweiten Zwischenvorrichtung 109b an
die Zielvorrichtung 113 zur Validierung auf eine ähnliche
Weise wie bei den vorherigen Vorrichtungen übertragen. Die zweite Zwischenvorrichtung 109b erzeugt
dann einen Auftragsidentifizierer J3, um die Datennutzlast an die
Zielvorrichtung 113 zu übertragen.
Wie dies der Fall bei der ersten Zwischenvorrichtung 109a war, überträgt auch
die zweite Zwischenvorrichtung 109b den Sitzungsidentifizierer
S3 und den Auftragsidentifizierer J3 an die Dienstvorrichtung 103 gemeinsam
mit dem Transaktionsidentifizierer T1, so daß die Dienstvorrichtung 103 dieselben
in die Verfolgungstabelle 146 einschließen kann.
-
Danach überträgt die zweite
Zwischenvorrichtung 109b den Auftragsidentifizierer J3
gemeinsam mit der Datennutzlast an die Zielvorrichtung 113. Auf
ein Empfangen des Auftragsidentifizierers J3 von der zweiten Zwischenvorrichtung 109b hin überträgt die Zielvorrichtung 113 den
Sitzungsidentifizierer S3 und den Auftragsidentifizierer J3 an die
Dienstvorrichtung 103 mit einer Anforderung (T?) nach dem zugeordneten
Transaktionsidentifizierer. Wieder überträgt die Dienstvorrichtung 103 den
Transaktionsidentifizierer T1, ansprechend auf die Anforderung an
die Zielvorrichtung 113.
-
Die
Zielvorrichtung 113 prüft
dann die Datennutzlast, die sie von der zweiten Zwischenvorrichtung 109b empfangen
hat, und realisiert, daß sie
das letztendliche Ziel der Daten ist. Die Zielvorrichtung 113 überträgt dann
ihren Sitzungsidentifizierer S4, den Transaktionsidentifizierer
T1 und ein Endsignal END an die Dienstvorrichtung 103.
Das Endsignal END von der Zielvorrichtung 113 informiert
die Dienstvorrichtung 103, daß die Zielvorrichtung 113 tatsächlich das
letztendliche Ziel der Datennachricht ist, die von der Ursprungsvorrichtung 106 gesendet
wurde, und daß keine
weitere Datensegmentübertragungen durchzuführen sind.
-
Auf
ein Empfangen des Endsignals END von der Zielvorrichtung hin prüft die Dienstvorrichtung 103 die
Verfolgungstabelle 146, um die verschiedenen Segmentübertragungen
zu identifizieren, die von Vorrichtung zu Vorrichtung in dem Verlauf
der Datenübertragungstransaktion
aufgetreten sind, und kann Abrechnungsinformationen und weitere
Informationen hieraus erzeugen.
-
Bezug
nehmend auf 2A ist ein
Flußdiagramm
der Berichtslogik 149 gezeigt, die durch die Prozessoren 133a–d der
Vorrichtungen 106, 109a, 109b und 113 ausgeführt wird.
Beginnend bei Block 203 bestimmt die Berichtslogik 149,
ob eine Vorrichtung bei der Dienstvorrichtung 103 angemeldet
wurde. Falls dies der Fall ist, fährt die Logik 149 mit
Block 206 fort, bei dem eine Hochfahr-Teilroutine ausgeführt wird.
Wenn bei Block 203 kein Anmelden auftritt, fährt die
Logik 149 mit Block 209 fort.
-
In
Block 209 bestimmt die Logik 149, ob eine Datennutzlast
entstanden ist, die an eine bestimmte Zielvorrichtung 113 übertragen
werden muß.
Falls dies der Fall ist, bewegt sich die Logik 149 zu Block 213,
bei dem eine Nachrichtenschaffung-Teilroutine ausgeführt wird.
Falls in Block 209 keine Nachrichtenschaffung vorliegt,
fährt die
Logik 149 mit Block 216 fort. In Block 216 bestimmt
die Logik 149, ob eine Segmentübertragung von einer weiteren
Vorrichtung in dem Mehrsprungnetz 100 empfangen werden
soll. Falls eine derartige Segmentübertragung empfangen werden
soll, bewegt sich die Logik zu Block 219, bei dem eine
Empfangs-Teilroutine
ausgeführt
wird. Andernfalls kehrt die Logik 149 zurück zu Block 203. Deshalb
führt die
Logik 149 gemäß dem Flußdiagramm
aus 2A eine Aufgabe,
falls dies nötig
ist, basierend auf dem Zustand der bestimmten Vorrichtung, sowie
der Wechselwirkung mit weiteren Vorrichtungen durch.
-
Bezug
nehmend auf 2B ist die
Hochfahr-Teilroutine 206 gezeigt, die durch die Logik 149 ausgeführt wurde,
wie Bezug nehmend auf 2A erläutert wurde.
Beginnend mit Block 243 bewirkt die Teilroutine 206,
daß sich
die Vorrichtung bei der Dienstvorrichtung 103 unter Verwendung
eines geeigneten Händeschüttelns oder
weiterer Kommunikationen, basierend auf einem vorbestimmten Protokoll,
anmeldet. Danach empfängt
die Vorrichtung in Block 246 ihre Sitzungsidentifizierung
SX von der Dienstvorrichtung 103. Danach endet die Teilroutine 206, und
die Logik 149 kehrt zu dem Flußdiagramm aus 2A zurück.
-
Bezug
nehmend auf 2C ist die
Nachrichtenschaffungs-Teilroutine 213 gezeigt.
Die Teilroutine 213 beginnt bei Block 263, bei
dem eine Kommunikationsverbindung mit der nächsten Vorrichtung eingerichtet
wird und danach der Sitzungsidentifizierer der gegenwärtigen Vorrichtung
zur Validierung an die nächste
Vorrichtung übertragen
wird. Es wird angemerkt, daß die
nächste
Vorrichtung entweder eine Zwischenvorrichtung 109 oder
eine Zielvorrichtung 113 sein könnte. Die Teilroutine 213 fährt dann
mit Block 266 fort, bei dem ein Auftragsidentifizierer
erzeugt und mit dem Transaktionsidentifizierer gemeinsam mit einer
Anforderung nach dem Transaktionsidentifizierer an die Dienstvorrichtung 103 übertragen wird.
Ebenso wird der Auftragsidentifizierer an die nächste Vorrichtung übertragen.
Die Teilroutine 213 bewegt sich dann zu Block 269,
bei dem die Übertragung
der Datennutzlast an die nächste
Vorrichtung eingeleitet wird. Dann empfängt bei Block 273 die
gegenwärtige Vorrichtung
einen Transaktionsidentifizierer TX von der Dienstvorrichtung 103, ansprechend auf
die vorherige Anforderung. Als nächstes
erfaßt
in Block 276 die gegenwärtige
Vorrichtung, ob die Übertragung
der Daten an die nächste
Vorrichtung abgeschlossen ist oder nicht. Falls dies nicht der Fall
ist, bleibt die Teilroutine 213 bei Block 276.
Sobald die Übertragung
bei Block 276 abgeschlossen ist, fährt die Teilroutine 213 mit
Block 279 fort, bei dem Meßinformationen in bezug auf
die übertragenen
Daten an die Dienstvorrichtung 103 gesendet werden. Danach endet
die Nachrichtenschaffung-Teilroutine 213 und die Logik 149 kehrt
zurück
zu Block 216 des Flußdiagramms
aus 2A.
-
Bezug
nehmend auf 2D1 ist
die Empfangs-Teilroutine 219 gezeigt, die in Block 219 (2A) ausgeführt wird.
Die Empfangs-Teilroutine 219 wird ausgeführt, wenn
eine bestimmte Vorrichtung 106, 109a, 109b oder 113 eine
Datennutzlast von einer vorherigen Vorrichtung empfangen soll. Beginnend
mit Block 303 richtet die Teilroutine 219 eine Kommunikationsverbindung
zu der übertragenden Vorrichtung
ein. Danach wird in Block 306 der Sitzungsidentifizierer
SX der übertragenden
Vorrichtung empfangen. Als nächstes
validiert die gegenwärtige Vorrichtung
den Sitzungsidentifizierer SX mit der Dienstvorrichtung 103 in
Block 309. Dann wird ein Auftragsidentifizierer JX von
der übertragenden
Vorrichtung in Block 313 empfangen.
-
Danach
sendet in Block 316 die gegenwärtige Vorrichtung den Auftragsidentifizierer
JX und den Sitzungsidentifizierer SX, die von der übertragenden Vorrichtung
empfangen werden, an die Dienstvorrichtung 103 mit einer
Anforderung nach dem Transaktionsidentifizierer, der dem Auftragsidentifizierer JX
und dem Sitzungsidentifizierer SX zugeordnet ist. Dann beginnt in
Block 319 die gegenwärtige
Vorrichtung mit einem Empfangen der Datennutzlast von der übertragenden
Vorrichtung. Danach wird in Block 323 der Transaktionsidentifizierer,
der von der Dienstvorrichtung 103 angefordert wurde, empfangen.
-
Dann
bestimmt in Block 326 die gegenwärtige Vorrichtung, ob die Übertragung
der Daten von der übertragenden
Vorrichtung abgeschlossen ist. Falls dies nicht der Fall ist, bleibt
die Teilroutine 219 bei Block 326. Sobald die Übertragung
in Block 326 abgeschlossen ist, fährt die Teilroutine 219 mit
Block 329 fort, bei dem Meßinformationen in bezug auf
die Übertragung
der Daten an die Dienstvorrichtung 103 gesendet werden,
die gerade abgeschlossen wurde. Danach geht die Teilroutine 219 zu
einem Verbindungselement A.
-
Bezug
nehmend auf 2D2 ist
der zweite Abschnitt der Teilroutine 219 gezeigt. Von dem
Verbindungselement A fährt
die Teilroutine 219 mit Block 333 fort, bei dem
die Vorrichtung bestimmt, ob sie das letztendliche Ziel der Datennutzlast,
die gerade empfangen wurde, ist oder nicht. Falls dies der Fall ist,
fährt die
Teilroutine 219 mit Block 336 fort, in dem die
Vorrichtung den gegenwärtigen
Empfangs-Sitzungsidentifizierer
SX + 1 und Transaktionsidentifizierer TX an die Dienstvorrichtung 103 gemeinsam mit
einem Zielindikator (Endsignal END) überträgt. Ein Zielindikator informiert
die Dienstvorrichtung 103, daß die gegenwärtige Vorrichtung
das letztendliche Ziel der Daten ist, die über das Mehrsprungnetz 100 übertragen
werden. Danach endet die Teilroutine 219, und die Berichtslogik
kehrt zurück
zu Block 203, wie in 2A gezeigt
ist.
-
Andererseits
muß, wenn
in Block 333 die gegenwärtige
Vorrichtung nicht das letztendliche Ziel der übertragenden Daten ist, dieselbe
die Daten in einer Segmentübertragung
an die nächste
Vorrichtung 109a, 109b oder 113 auf dem
Weg zu ihrem Zielort übertragen,
wodurch die Datenübertragungstransaktion
abgeschlossen wird. Die Vorrichtung, zu der die nächste Segmentübertragung
gerichtet ist, ist eine Funktion von Adressierungsinformationen,
die die Datennutzlast gespeichert hat, sowie des verwendeten Datenprotokolls.
In einem derartigen Fall fährt
die Teilroutine 219 mit Block 339 fort, bei dem
eine Kommunikationsverbindung mit der nächsten Vorrichtung eingerichtet
wird. Danach wird der Sitzungsidentifizierer SX + 1 der gegenwärtigen Vorrichtung
zur Validierung an die nächste
Vorrichtung übertragen.
Die Teilroutine 219 bewegt sich zu Block 343,
bei dem ein Auftragsidentifizierer JX + 1 erzeugt und dann an die nächste Vorrichtung übertragen
wird. Danach beginnt bei Block 346 die gegenwärtige Vorrichtung
mit einer Übertragung
der Datennutzlast an die nächste Vorrichtung 109a, 109b oder 113.
-
Sobald
die Übertragung
der Datennutzlast begonnen hat, überträgt bei Block 349 die
gegenwärtige
Vorrichtung den Sitzungsidentifizierer SX + 1 und den Auftragsidentifizierer
JX + 1 der gegenwärtigen Vorrichtung
gemeinsam mit dem zuvor empfangen Transaktionsidentifizierer T1
an die Dienstvorrichtung 103. Ebenso übertragen wird eine Zuordnungsanforderung,
die die Dienstvorrichtung 103 auffordert, den Sitzungsidentifizierer
SX + 1 und den Auftragsidentifizierer JX + 1 dem Transaktionsidentifizierer
T1 zuzuordnen, indem derselbe in der Verfolgungstabelle 146 (1) gespeichert wird, die
demselben zugeordnet ist. Die Teilroutine 219 bewegt sich
weiter zu Block 353, bei dem bestimmt wird, ob die Datenübertragung
zu der nächsten
Vorrichtung abgeschlossen ist. Falls dies nicht der Fall ist, bleibt die
Teilroutine 219 bei Block 353. Sobald die Übertragung
der Daten bei Block 353 abgeschlossen ist, bewegt sich
die Teilroutine 219 zu Block 356, bei dem Meßinformationen
in bezug auf die Daten, die an die nächste Vorrichtung übertragen
werden, an die Dienstvorrichtung 103 gesendet werden. Danach
endet die Empfangs-Teilroutine 219 und die Berichtslogik 149 (2A) bewegt sich zu Block 203 (2A).
-
Bezug
nehmend auf 3 ist ein
Flußdiagramm
der Verfolgungslogik 143 gezeigt, die durch den Prozessor 116 der
Dienstvorrichtung 103 ausgeführt wird. Die Verfolgungslogik 143 behält im wesentlichen
die Verfolgungstabelle 146 (1)
durch ein Kommunizieren mit den Vorrichtungen 106, 109a, 109b und 113 bei,
wie zuvor erläutert
wurde. Dann, beginnend mit Block 403, bestimmt die Dienstvorrichtung 103,
ob eine bestimmte Vorrichtung 106, 109a, 109b oder 113 Datenkommunikationen
einrichtet oder sich das erste Mal bei der Dienstvorrichtung 103 anmeldet.
Falls dies der Fall ist, fährt
die Verfolgungslogik 143 mit Block 406 fort, bei
dem die Dienstvorrichtung 103 der bestimmten Vorrichtung 106, 109a, 109b oder 113 einen
Sitzungsidentifizierer SX zuweist. Von Block 403 oder 406 fährt die
Verfolgungslogik 143 mit Block 409 fort, bei dem
die Verfolgungslogik 143 einen Versuch einer Validierung durch
eine der Vorrichtung 106, 109a, 109b oder 113 erfaßt. Wenn
ein Validierungsversuch erfaßt
wird, fährt
die Verfolgungslogik 143 mit Block 413 fort, bei dem
der Sitzungsidentifizierer, der von der bestimmten Vorrichtung 106, 109a, 109b oder 113 empfangen wird,
entsprechend validiert wird. Wenn in Block 409 kein Validierungsversuch
erfaßt
wird, oder sobald eine Validierung in Block 413 erfolgreich
ist, fährt
die Verfolgungslogik 143 mit Block 416 fort. Die
Validierung beinhaltet ein Bestätigen,
daß der
bestimmte Sitzungsidentifizierer SX einer angemeldeten Vorrichtung 106, 109a, 109b oder 113 zugewiesen
ist.
-
In
Block 416 bestimmt die Dienstvorrichtung 103,
ob eine neue Datenübertragungstransaktion eingeleitet
werden soll, wie durch ein Empfangen eines Auftragsidentifizierers
von einer bestimmten Vorrichtung 106, 109a, 109b oder 113 gemeinsam
mit einer Anforderung nach einem neuen, global eindeutigen Übertragungsidentifizierer
TX angezeigt wird. Falls dies der Fall ist, fährt die Verfolgungslogik 143 mit
Block 419 fort, bei dem ein neuer, global eindeutiger Transaktionsidentifizierer
erzeugt und an die bestimmte Vorrichtung gesendet wird. Dann bewegt sich
die Verfolgungslogik 143 zu Block 423, bei dem eine
neue Verfolgungstabelle 146 erzeugt und dem neu erzeugten
Transaktionsidentifizierer TX zugewiesen wird. Falls in Block 416 keine
Transaktion stattfindet, oder sobald die neue Verfolgungstabelle 145 in
Block 423 erzeugt wurde, bewegt sich die Verfolgungslo gik 143 zu
Block 426, bei dem die Verfolgungslogik 143 bestimmt,
ob ein existierender Transaktionsidentifizierer durch eine bestimmte
Vorrichtung 106, 109a, 109b oder 113 angefordert
wurde.
-
Falls
in Block 426 eine Transaktionsidentifiziereranforderung
empfangen wurde, bewegt sich die Verfolgungslogik 143 zu
Block 149, bei dem die Verfolgungslogik 143 die
bestimmte Verfolgungstabelle 143 findet, die den gegenwärtigen Sitzungs- und
Auftragsidentifizierer hält,
um dem Transaktionsidentifizierer zu identifizieren, der denselben
zugeordnet ist. Die Verfolgungslogik 143 bewegt sich dann
zu Block 433, bei dem der Transaktionsidentifizierer, der
dem Sitzungs- und dem Auftragsidentifizierer zugeordnet ist, wie
auf Anforderung an die bestimmte Vorrichtung übertragen wird. Falls in Block 426 kein
Transaktionsidentifizierer angefordert wird, oder sobald der Transaktionsidentifizierer
in Block 433 an die angeforderte Vorrichtung übertragen
wurde, fährt
die Verfolgungslogik 143 mit Block 436 fort.
-
In
Block 436 bestimmt die Dienstvorrichtung 103,
ob eine bestimmte Vorrichtung 106, 109a, 109b oder 113 eine
Zuordnungsanforderung übertragen hat,
die einen Sitzungsidentifizierer, Auftragsidentifizierer und zugeordneten
Transaktionsidentifizierer umfaßt.
Falls dies der Fall ist, fährt
die Verfolgungslogik 143 mit Block 439 fort, bei
dem die Verfolgungslogik 143 eine Zuordnung zwischen dem
empfangenen Transaktionsidentifizierer und den Transaktionsidentifizierern
aufstellt, die den verschiedenen Verfolgungstabellen 146 zugeordnet
sind, die in dem Speicher 123 gespeichert sind. Dann werden
in Block 443 der bestimmte Sitzungs- und der Auftragsidentifizierer
zu der zugeordneten Verfolgungstabelle 143 hinzugefügt. Die
Verfolgungslogik 143 fährt
dann mit Block 446 fort, bei dem Meßinformationen von der bestimmten
Vorrichtung 106, 109a, 109b oder 113 empfangen
werden. Oder die Verfolgungslogik fährt, wenn dagegen in Block 436 keine
Zuordnungsanforderung vorliegt oder die Meßinformationen in Block 446 empfangen
wurden, mit Block 449 fort.
-
Bei
Block 449 bestimmt die Verfolgungslogik 143, ob
ein Zielindikator (END) empfangen wurde oder nicht, wie dies bei
Block 336 der Teilroutine 219 (2D2) der Fall ist. Wenn der Zielindikator
empfangen wird, der anzeigt, daß die
Datenübertragungstransaktion
abgeschlossen ist, fährt
die Verfolgungslogik 143 mit Block 453 fort, bei
dem Meßinformationen
von der Zielvorrichtung 113 empfangen werden und alle zugehörigen Informationen
in Bezug auf die Transaktion für
die verschiedenen Zwecke des Dienstanbieters gespeichert werden.
Danach kehrt die Verfolgungslogik 143 zurück zu Block 403, um
den Vorgang erneut zu wiederholen. Wenn bei Block 449 die
Datenübertragungstransaktion
nicht abgeschlossen ist, da kein Zielindikator vorliegt, der von
der Zielvorrichtung 113 empfangen wird, kehrt die Verfolgungslogik 143 ebenso
zurück
zu Block 403.
-
Zusätzlich zu
der vorangegangen Erläuterung
kann die Logik 143 und 149 der vorliegenden Erfindung
in Hardware, Software, Firmware oder einer Kombination derselben
implementiert sein. Bei dem/den bevorzugten Ausführungsbeispiel/en ist die Logik 143 und 149 in
Software oder Firmware implementiert, die in einem Speicher gespeichert
ist, und die durch ein geeignetes Instruktionsausführungssystem
ausgeführt
wird. Wenn die Logik 143 und 149 in Hardware implementiert
ist, wie bei einem alternativen Ausführungsbeispiel, kann dieselbe
mit jeder oder einer Kombination der folgenden Technologien implementiert
sein, die alle in der Technik bekannt sind: einer oder mehreren
diskreten Logikschaltungen, die Logikgatter aufweisen, zum Implementieren von
Logikfunktionen auf Datensignale hin, einer anwendungsspezifischen,
integrierten Schaltung, die geeignete Logikgatter aufweist, einem
oder mehreren programmierbaren Gate-Arrays (PGA), einem freiprogrammierbaren
Gate-Array (FPGA), usw.
-
Ebenso
zeigen die Flußdiagramme
der 2A, 2B, 2C, 2D1, 2D2 und 3 die
Architektur, Funktionalität
und Funktionsweise einer möglichen Implementierung
der Logik 143 und 149. Diesbezüglich stellt jeder Block ein
Modul, Segment oder einen Abschnitt eines Codes dar, der eine oder
mehrere ausführbare
Instruktionen zum Implementieren der einen oder mehreren spezifizierten
Logikfunktionen aufweist. Es sollte ebenso angemerkt werden, daß bei einigen
alternativen Implementierungen die in den Blöcken angemerkten Funktionen
außerhalb
der Reihenfolge auftreten können,
die in den 2A, 2B, 2C, 2D1, 2D2 und 3 angemerkt ist. Zwei Blöcke z.B., die
in den 2A, 2B, 2C, 2D1, 2D2 und 3 aufeinanderfolgend gezeigt sind, können tatsächlich abhängig von
der beinhalteten Funktionalität
im wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal
in der umgekehrten Reihenfolge ausgeführt werden.
-
Schließlich kann
die Logik 143 und 149, die eine geordnete Auflistung
ausführbarer
Instruktionen zum Implementieren von Logikfunktionen aufweist, in jedem
computerlesbaren Medium zur Verwendung durch oder in Verbindung
mit einem Instruktionsausführungssystem,
einer -vorrichtung oder einem -gerät, wie z.B. einem computerbasierten
System, einem einen Prozessor enthaltenden System oder einem weiteren
System ausgeführt
sein, das die Instruktionen von dem Instruktionsausführungssystem, der
-vorrichtung oder dem -gerät
holen und die Instruktionen ausführen
kann. In dem Zusammenhang dieses Dokuments kann ein "computerlesbares
Medium" jede Einrichtung
sein, die das Programm zur Verwendung durch oder in Verbindung mit
dem Instruktionsausführungssystem,
der -vorrichtung oder dem -gerät
enthalten, speichern, kommunizieren, weiterleiten oder transportieren
kann. Das computerlesbare Medium kann z.B., jedoch nicht ausschließlich, ein
elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot-
oder Halbleiter-System,
eine -vorrichtung, ein -gerät
oder ein Ausbreitungsmedium sein. Spezifischere Beispiele (eine nicht
ausschließliche
Liste) des computerlesbaren Mediums würden folgendes umfassen: eine
elektrische Verbindung (elektronisch), die einen oder mehrere Drähte aufweist;
eine tragbare Computerkassette (magnetisch); einen Direktzugriffsspeicher (RAM)(magnetisch);
einen Nur-Lese-Speicher (ROM)(magnetisch); einen löschbaren,
programmierbaren Nur-Lese-Speicher
(EPROM oder Flash-Speicher)(magnetisch); eine optische Faser (optisch),
und einen tragbaren Kompaktplatten-Nur-Lese-Speicher (CDROM)(optisch).
Es wird angemerkt, daß das
computerlesbare Medium sogar Papier oder ein weiteres, geeignetes
Medium sein könnte,
auf das das Programm gedruckt ist, wenn das Programm elektronisch
z.B. über
ein optisches Abtasten des Papiers oder des anderen Mediums erfaßt, dann
kompiliert, interpretiert oder anderweitig auf eine geeignete Weise,
falls dies nötig
ist, verarbeitet und dann in einen Computerspeicher gespeichert
werden kann.
-
Viele
Variationen und Modifizierungen können an dem/den oben beschriebenen
Ausführungsbeispiel/en
der Erfindung durchgeführt
werden, ohne wesentlich von der Erfindung abzuweichen. Alle derartigen
Modifizierungen und Variationen sollen hierin innerhalb des Schutzbereichs
der vorliegenden Erfindung enthalten sein.