-
Ein Teil der Offenbarung dieses Patentdokuments
enthält
Material, das einem Urheberrechtsschutz unterliegt. Der Inhaber
des Urheberschutzrechts hat keine Einwände gegen eine Faksimile-Wiedergabe
der Patentoffenbarung, wie sie in der Patentrolle und den Aufzeichnungen
des Patent and Trademark Office (Patent- und Markenamt) erscheint,
behält
sich jedoch anderweitig alle Urheberrechte vor.
-
HINTERGRUND
DER ERFINDUNG
-
A. Gebiet der Erfindung
-
Diese Erfindung betrifft allgemein
das Gebiet der Telekommunikation und die Prozesse, durch die digitale
Daten zwischen Computersystemen über
ein Netzwerk oder eine Kommunikationsverbindung übertragen werden. Die Erfindung
ist besonders geeignet für
eine Verwendung in Vorrichtungen, die digitale Telefondienste des
integrierten Digitalnetzes ("Integrated
Service Digital Network" – ISDN)
oder dergleichen unterstützen,
bei denen die digitalen Daten über
die ISDN-Leitung oder eine andere digitale Leitung zu einer Datenendgeräteeinrichtung
(DTE), wie bspw. ein Computer, übertragen
werden.
-
B. Beschreibung des Stands
der Technik
-
Zum Übertragen digitaler Daten von
der Datenquelle (wie bspw. ein Computer) zu einem Ziel (bspw. ein
anderer Computer) über
ein Netzwerk oder eine Telekommunikationsleitung müssen die Daten
in einer Form, die mit den Elementen des Systems kompatibel ist,
formatiert und dem Übertragungsmedium
und dem Ziel präsentiert
werden. Falls die Datenquelle die Daten beispielsweise unter Verwendung
einer bestimmten Datenkompressionstechnik komprimieren möchte, müssen die
Quelle und das Ziel beide die gewählten Datenkompressionsalgorithmen
unterstützen.
-
Es ist eine aus dem täglichen
Leben wohlbekannte Tatsache, daß die
verschiedenen Computer in einem Computernetzwerk möglicherweise
infolge der Unterschiede in der verfügbaren Technologie, als die
Computer gekauft wurden, der verschiedenen Optionen und Merkmale,
die möglicherweise
nach dem Kauf in die Computer eingebaut wurden, oder der Tatsache,
daß die
Eigentümer
der Computer auf dem Netzwerk (wie bspw. das Internet) nicht wissen oder
sich nicht dafür
interessieren, welche Merkmale andere Computer auf dem Netzwerk
unterstützen können, möglicherweise
keine kompatible Datenübertragungs-
und -formatierungssoftware aufweisen. Wenn in dieser Situation eine
Datenübertragung
versucht wird, wird der kleinste gemeinsame Nenner in Bezug auf
die Kommunikationsprotokolle während des
Rufverbindungsprozesses bestimmt. Falls auf der Datenquelle Kommunikationssoftware
läuft,
die nur grundlegende Kommunikationsprotokolle unterstützt, jedoch
auf dem Ziel rückwärtskompatible
fortschrittliche Protokolle und Kompressionsfunktionen laufen, wird
der Ruf typischerweise ausgeführt,
jedoch nur nach den von der Quelle unterstützten grundlegenden Kommunikations protokollen.
-
Die vorliegende Erfindung adressiert
dieses Problem dadurch, daß in
dem Rufverbindungsprozeß die
Kommunikationsprotokolle und Kompressionstechniken bestimmt werden,
die an beiden Enden des Netzwerks unterstützt werden, und daß mehrere Kompressionsprotokolle
und Kompressionsalgorithmen unterstützt werden, um die Kommunikation
zwischen den Elementen des Systems zu erleichtern. Die Erfindung
führt dies
automatisch und in einer für den
Benutzer transparenten Weise aus. Falls die Telekommunikationsleitung
zwischen der Quelle und dem Ziel weiterhin mehrere Kommunikationskanäle (wie
bspw. eine ISDN-Leitung) unterstützt,
ermöglicht die
Erfindung automatisch, daß die
Daten über
mehrere Kommunikationskanäle übertragen
werden. Hierdurch wird der Datendurchsatz erhöht und die Rufverbindungszeit
erheblich verkürzt.
-
Zum besseren Verständnis dieser
und anderer Vorteile und Merkmale der Erfindung werden hier die
Datenkommunikationstechnologie und das Punkt-zu-Punkt-Protokoll
("Point-to-Point Protocol") kurz dargelegt.
-
Das offene Systemverbindungsreferenzmodell
("Open Systems Interconnect
Reference Model") ist
das Standardmodell zum Beschreiben der Schichten von Funktionen
und Protokollen, die für
die Datenkommunikation zwischen Computern erforderlich sind. Dieses
wohlbekannte Modell besteht aus einer Hierarchie von sieben Schichten
von Protokollen, welche die Datenübertragung von einer Datenquelle zu
einem Ziel über
ein Netzwerk steuern. Die niedrigste Schicht in dem Modell ist die
physikalische Schicht, welche die physikalische Verbindung von Netzwerkelementen
verwaltet. Die nächsten zwei
höheren
Schichten sind die Verbindungsschicht bzw. die Netzwerkschicht.
Die Verbindungsschicht, die auch als die Datenverbindungsschicht
bekannt ist, verwaltet den Datenfluß zwischen dem Benutzer und dem
Netzwerk oder zwischen einer DTE und einer Datenkommunikationseinrichtung
("Data Communications
Equipment" – DCE).
Die Verantwortlichkeit dieser Schicht besteht darin, eine zuverlässige und effiziente
Datenübertragung
und Datenformatierung, Erkennung, Korrektur und Reparatur von Fehlern,
die Datentransparenz und einige Adressierungsformen zu gewährleisten.
-
Die Netzwerkschicht verwaltet die
Einzelheiten der Datenübertragung über das
physikalische Netzwerk zwischen Netzwerkelementen sowie zwischen
Netzwerken. Die Netzwerkschicht ist auch dafür verantwortlich, Datenrufeinrichtungsprozeduren für paket-
und zellenvermittelte Netzwerke zu definieren und die Segmentation
und Zusammenstellung von Daten über
das Netzwerk zu verwalten. Die Anwendungsschicht ist die oberste
Schicht des Modells, und sie verwaltet das Programm oder die Vorrichtung,
wodurch die Daten erzeugt werden, die von der Quelle über das
Netzwerk zum vorgesehenen Ziel zu senden sind.
-
Das Punkt-zu-Punkt-Protokoll (PPP)
bietet ein Standardverfahren zum Einkapseln von Netzwerkschichtprotokollinformationen über Punkt-zu-Punkt-Verbindungen.
Das PPP definiert auch ein erweiterbares Verbindungskontrollprotokoll ("Link Control Protocol" – LCP) und schlägt eine
Familie von Netzwerkkontrollprotokollen ("Network Control Protocols" – NCPs) zum Einrichten und
Konfigurieren verschiedener Netzwerkschichtprotokolle vor. Das PPP
wird detailliert in einer Reihe von Dokumenten beschrieben, die
online verfügbar
sind. Fachleute sind mit diesen als Kom mentaranforderungen bekannten
Dokumenten vertraut. Die Kommentaranforderung (RFC) 1661 gibt einen
informativen Überblick über das
PPP.
-
Anfänglich wurde das PPP über kurze
lokale Leitungen, Mietleitungen und einfache alte Telefondienste
("plain-oldtelephone-Service" – POTS) unter Verwendung von
Modems eingesetzt. Wenn neue Paketdienste und schnellere Leitungen
eingeführt werden,
läßt sich
das PPP auch in diesen Umgebungen leicht einsetzen.
-
Wie vorstehend erwähnt wurde,
hat das PPP drei Hauptkomponenten:
- 1. Eine
Prozedur zum Einkapseln von Datagrammen über serielle Verbindungen
- 2. Ein Verbindungskontrollprotokoll (LCP) zum Einrichten, Konfigurieren
und Testen der Datenverbindung und
- 3. Eine Familie von Netzwerkkontrollprotokollen (NCPs) zum Einrichten
und Konfigurieren verschiedener Netzwerkschichtprotokolle.
-
Zum Einrichten von Kommunikationen über eine
Punkt-zu-Punkt-Verbindung
muß jedes
Ende der PPP-Verbindung zuerst LCP-Pakete senden, um die Datenverbindung
während
der Verbindungseinrichtungsphase zu konfigurieren. Nachdem die Verbindung
eingerichtet wurde, sorgt das PPP für eine optionale Authentifizierungsphase,
bevor zur Netzwerkschichtprotokollphase übergegangen wird.
-
Standardmäßig ist eine Authentifizierung
(d. h. eine Paß- wortidentifikation)
nicht erforderlich. Falls eine Authentifizierung der Verbindung
erwünscht
ist, muß eine
Implementation die Authentifizierungsprotokollkonfigurationsoption
während
der Verbindungseinrichtungsphase spezifizieren.
-
Diese Authentifizierungsprotokolle
sind in erster Linie zur Verwendung von Host-Rechnern und Routern
vorgesehen, die sich über
Schaltkreise oder Wählleitungen
mit einem PPP-Netzwerkserver
verbinden, sie könnten
jedoch auch auf zweckgebundene Verbindungen angewendet werden. Der
Server kann die Identifikation des verbindenden Host-Rechners oder
Routers bei der Auswahl von Optionen für Netzwerkschichtverhandlungen
verwenden.
-
Eine PPP-Einkapselung von Datenkommunikationen
ist möglich,
wenn die Daten über
digitale Kommunikationsleitungen, wie ISDN-Leitungen, übertragen
werden. ISDN-Leitungen weisen zwei Datenkanäle (als Trägerkanäle oder "B"-Kanäle bezeichnet)
und einen als "D"-Kanal bezeichneten Steuerkanal
auf. Der ISDN-D-Kanal kann auch zum Senden von PPP-Paketen verwendet
werden, wenn sie geeignet gerahmt sind, seine Bandbreite ist jedoch
beschränkt,
und er beschränkt
Kommunikationsverbindungen häufig
auf einen lokalen Schalter. Weil der ISDN-B-Kanal nach Definition
eine Punkt-zu-Punkt-Verbindung
ist, ist PPP gut für
die Verwendung über
ISDN-Leitungen geeignet.
-
Die ISDN-Primärratenschnittstelle kann viele gleichzeitige
B-Kanalverbindungen unterstützen.
Die PPP-Verbindungskontrollprotokoll- und Netzwerkkontrollprotokollmechanismen
sind in dieser Situation besonders nützlich beim Verringern oder
Beseitigen einer manuellen Konfiguration und beim Er leichtern der
Kommunikation zwischen verschiedenen Implementationen.
-
Zum Einrichten von ISDN-Datenverbindungen über mehrere
Kanäle
gleichzeitig wird ein als PPPML oder PPP MultiLink bekanntes Protokoll
verwendet. Das PPP-MultiLink-Protokoll ist in der Kommentaranforderung
1717 beschrieben.
-
Bei unserer Erfindung wird ein von
uns als Proxymaschine bezeichnetes Element der Kommunikationseinrichtung
beim Einrichten einer Verbindung zwischen der lokalen Endpunktanwendung
(also der auf der Datenquelle laufenden Anwendung) und der Anwendung,
die sich an dem fernen Ende des Netzwerks befindet (also der am
Ziel für
die Daten laufenden Anwendung) verwendet. Die sich am Ziel befindende
Anwendung wird hier als "Netzwerkendpunktanwendung" bezeichnet. Die
Proxymaschine, die in der bevorzugten Form eine Kommunikationssoftwarestruktur
bildet, kann an der Quelle, dem Ziel oder sowohl an der Quelle als
auch an dem Ziel installiert werden. Der Begriff "Proxy" soll angeben, daß die Proxymaschine
das Protokollmerkmal oder die Datenkompression für die lokale Endpunktanwendung
liefert. Der Begriff "Maschine" ergibt sich daraus,
daß die
Proxymaschine diese Protokoll- und/oder Kompressionsmerkmale während des Rufverbindungs-
und Datenübertragungsprozesses in
Echtzeit aktiv bereitstellt oder unterstützt.
-
Bei unserer Erfindung führt die
Proxymaschine gleichzeitige Kommunikationssitzungen mit der lokalen
Endpunktanwendung und der Netzwerkendpunktanwendung aus, um zu bestimmen,
welche Protokollmerkmale von den Endpunktanwendungen unterstützt werden.
Zusätzlich
unterstützt
oder ermöglicht
die Proxymaschine mehrere fortschrittliche Merkmale, die zusam men
mit dem Punkt-zu-Punkt-Protokoll verfügbar sind, wie PPP MultiLink,
verschiedene Datenkompressionstechniken über PPP oder PPP MultiLink,
das Challenge Handshake Application Protocol (CHAP) MD5 und jegliche
Verbindungskontrollprotokollerweiterungen, die in der Proxymaschine
implementiert sind, wie ECHO REQUEST, ECHO REPLIES, Rückruf, Endpunktidentifikation
usw. des Verbindungskontrollprotokolls. Weil diese Merkmale in der
Proxymaschine unterstützt
werden, braucht der Benutzer sie nicht unabhängig zu entwickeln. Die Erfindung
ermöglicht es,
daß eine über die
Proxymaschine laufende Anwendung alle in den PPP-Kommentaranforderungen beschriebenen
fortschrittlichen Merkmalssätze "ausnutzt" oder einsetzt, ohne
daß irgendein
Teil des PPP außer
dem grundlegendsten Merkmal des in der Kommentaranforderung 1661
beschriebenen Satzes und möglicherweise
das Paßwortauthentifizierungsprotokoll
und wenigstens ein Netzwerkkontrollprotokoll ergänzt werden.
-
Computer, die die vorliegende Erfindung
implementieren, bereiten im wesentlichen das Feld für alle Endpunktanwendungen,
weil die Proxymaschine die Datenkompressions-Mehrfachverbindungs- und Authentifizierungsmerkmale,
die in der lokalen Endpunktanwendung fehlen, ausgleicht und unterstützt. Der
Vorteil für
den Benutzer der Erfindung besteht demgemäß in einem erhöhten Durchsatz
und einer erhöhten
Datenkapazität
gegenüber
der bestehenden Einrichtung, weil die Proxymaschine die erforderlichen
Protokoll- oder Kompressionsmerkmale bereitstellt, die in der Endpunktanwendung
möglicherweise
fehlen können.
-
Gemäß der vorliegenden Erfindung
lernt die Proxymaschine jeden der jeweiligen Konfigurationsparameter
des Endpunkts, wie Sicherheitsinformationen, die Netzwerkadressierung, Fehlerkorrekturroutinen
und die Datenkompressionstechnik, während Kommunikationssitzungen
zu Beginn des Rufverbindungsprozesses. Es sieht für den Benutzer
und die lokale Endpunktanwendung so aus, als ob die lokale Endpunktanwendung
direkt mit der Netzwerkendpunktanwendung kommuniziert, in Wirklichkeit tauscht
sich die lokale Endpunktanwendung jedoch mit der Proxymaschine aus.
In ähnlicher
Weise scheint die Netzwerkendpunktanwendung direkt mit der lokalen
Endpunktanwendung zu kommunizieren, sie tauscht sich jedoch tatsächlich mit
der Proxymaschine aus. Dies alles erfolgt in einer Weise, die für den Benutzer
an der lokalen Endpunktanwendung transparent ist, so daß es nicht
erforderlich ist, daß der
Benutzer irgendwelche speziellen Konfigurationen einleitet oder
spezielle Tätigkeiten
ausführt,
weil dies automatisch geschieht. Demgemäß sieht die Erfindung ein "Spoofing" zur schnellen Bestimmung und
Implementation von PPP-Netzwerkkontrollprotokollen über einen
oder mehrere Kanäle
und für
Datenkompressionstechniken während
des Rufverbindungsprozesses vor.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die vorliegende Erfindung wird in
einem System implementiert, das eine Datenquelle, einen Datenempfänger und
einen Kommunikationskanal, der die Quelle und den Empfänger verbindet,
aufweist. Gemäß einem
Aspekt ist die Erfindung ein Verfahren zum transparenten Aufbauen
einer Datenübertragungssitzung
zwischen einer lokalen Endpunktanwendung an einer Quelle und einer
Netzwerkendpunktanwendung am Ziel mit einer Proxymaschine. Das Verfahren
ist gekennzeichnet durch: Durchführen
von simultanen Kommunikationssitzungen mit der Proxymaschine mit
der lokalen Endpunktanwendung und der Netzwerkendpunktanwendung,
wobei die Proxymaschine folgende Schritte ausführt:
- (1)
Bestimmen zumindest eines der folgenden: (a) eines Sicherheitsprotokolls,
(b) Mehrfach-Kanalfähigkeiten,
(c) Datenkompressionstechniken, (d) Netzwerkkontrollprotokolle oder
(e) Verbindungskontrollprotokolle, die durch die Netzwerkendpunktanwendung
unterstützt
werden,
- (2) Bestimmen zumindest eines der folgenden: (a) Sicherheitsprotokolle
oder (b) Netzwerkkontrollprotokolle, die durch die lokale Endpunktanwendung
unterstützt
werden, und
- (3) Ermöglichen
zumindest eines der folgenden: (a) der Sicherheitsprotokolle, (b)
Mehrfach-Kanalfähigkeiten,
(c) Datenkompressionstechniken, (d) Netzwerkprotokolle oder (e)
Verbindungskontrollprotokolle, die unterstützt werden sowohl von
- (i) der Netzwerkendpunktanwendung, als auch von
- (ii) der Kombination der Proxymaschine und der lokalen Endpunktanwendung,
und danach Übertragen
von Daten zwischen der lokalen Endpunktanwendung und der Netzwerkendpunktanwendung,
wobei die Daten von der Datenquelle zu dem Datenempfänger über den
Kommunikationskanal übertragen
werden können.
-
Auf diese Weise werden diese Merkmale
in dem Maße,
daß die
Netzwerkendpunktanwendung Mehrfachkanalfähigkeiten oder Da tenkompressionstechniken
anfordert, die von der lokalen Endpunktanwendung nicht unterstützt werden,
von der Proxymaschine bereitgestellt. Zusätzlich ermöglicht die Proxymaschine die
Sicherheitsprotokolle und Netzwerkkontrollprotokolle, die von der
lokalen Endpunktanwendung unterstützt werden.
-
Im allgemeinen kann die Kommunikationssitzung
der lokalen Endpunktanwendung ("die
lokale Sitzung")
als eine einzige Verbindung ohne Datenkompression verhandelt werden.
Umgekehrt wird die Kommunikationssitzung der Netzwerkendpunktanwendung
("die Netzwerksitzung") mit mehreren Verbindungen
und mit Datenkompression verhandelt.
-
Gemäß der bevorzugten Ausführungsform der
vorliegenden Erfindung werden, damit die Netzwerksitzung und die
lokale Sitzung die Konfigurationsinformationen der jeweils anderen
erhalten, die zwei Sitzungen vorzugsweise in einer spezifischen Reihenfolge
initialisiert (oder "aktiviert"). PPP erfordert
schon an sich, daß mehrere
Kontrollschichten eingerichtet werden, bevor eine Sitzung in Dienst
gestellt werden kann.
-
Wenn die Proxymaschine Mehrfachverbindungen über das
PPP unterstützt,
ermöglicht
die bevorzugte Ausführungsform
der Erfindung das Öffnen eines
zweiten Kommunikationskanals oder mehrerer Kommunikationskanäle zur Übertragung
der Daten zwischen der Quelle und dem Empfänger der Daten und zum Übertragen
der Daten über
alle geöffneten Kanäle gleichzeitig
von der Quelle zu dem Empfänger.
Falls mehr als zwei Kanäle
verfügbar
sind (wie beim ISDN-Primärratendienst),
kann die Proxymaschine mehr als zwei Kanäle öffnen und die Daten zur Endpunktanwendung übermitteln,
es können
jedoch auch viele Kanäle
geöffnet
werden. Dieses Merkmal ermöglicht
eine erhebliche Verringerung der Gesamt-Rufverbindungszeit und eine erhebliche
Erhöhung
des Rufdurchsatzes.
-
KURZBESCHREIBUNG
DER ZEICHNUNG
-
In der Zeichnung sind gegenwärtig bevorzugte
Ausführungsformen
der Erfindung dargestellt, wobei sich gleiche Bezugszahlen in den
verschiedenen Ansichten auf gleiche Elemente beziehen.
-
1A zeigt
eine Darstellung einer lokalen Endpunktanwendung aus dem Stand der
Technik, die über
eine mit einem Netzwerk verbundene einzelne Kanalkommunikationsleitung
mit einer Netzwerkendpunktanwendung kommuniziert.
-
1B zeigt
eine Darstellung einer lokalen Endpunktanwendung aus dem Stand der
Technik, die über
eine mit einem Netzwerk verbundene Mehrfach-Kanalkommunikationsleitung
mit einer Netzwerkendpunktanwendung kommuniziert.
-
2 zeigt
eine Darstellung der Wechselbeziehung zwischen einer lokalen Endpunktanwendung,
einer Proxymaschine und einer Netzwerkendpunktanwendung gemäß einer
bevorzugten Ausführungsform
der Erfindung.
-
3 zeigt
ein Hardware- und Softwarediagramm des lokalen Endpunkts, worin
die lokale Endpunktanwendung, die Proxymaschine und die Kommunikationshardware
in Verbindung mit dem zum Netzwerk und zur Netzwerkendpunkteinrichtung
führenden
Kommunikationskanal dargestellt sind.
-
4 zeigt
eine Darstellung der Sequenz des Informationsflusses zwischen der
lokalen Endpunktanwendung, der Proxymaschine und der Netzwerkendpunktanwendung
aus den 2 und 3, wenn die Datenübertragungssitzung
gemäß einer bevorzugten
Ausführungsform
der Erfindung eingerichtet ist.
-
5 zeigt
ein schematisches Diagramm einer Datenquelle, welche die Erfindung
bei der Kommunikation mit einer Vielzahl möglicher verschiedener Netzwerkendpunktziele über ein
Netzwerk implementiert, wobei die Proxymaschine aus den 2 – 4 in
einem oder mehreren der Netzwerkendpunktziele zusätzlich zu
der Quelle implementiert werden kann.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
1 zeigt
ein Datenkommunikationssystem aus dem Stand der Technik, bei dem
eine lokale Endpunktanwendung 20 über ein Netzwerk 40 mit
einer Netzwerkendpunktanwendung 30 kommuniziert. Die lokale
Endpunktanwendung 20 ist die Quelle von zu der Netzwerkendpunktanwendung 30 zu übertragender
Daten. Die lokale Endpunktanwendung ist über Kommunikationshardware
(nicht dargestellt) mit einem Kommunikationskanal 22A (in
der Art eines B-Kanals einer ISDN-Leitung) verbunden, der wiederum über das
Netzwerk oder Kommunikationssystem 40 zu einem zweiten
ISDN-Kanal 22B geführt
ist. Der Kanal 22B ist über
herkömmliche
Hardware (nicht dargestellt) mit dem Computer verbunden, auf dem
die Netzwerkendpunktanwendung 30 läuft. Typischerweise unterstützt der
Kanal 22A das Punkt-zu-Punkt-Protokoll (PPP) mit oder ohne
Implementation von Datenkompressionstechniken. Damit fortschrittliche
PPP-Protokolle sowohl von der lokalen Endpunktanwendung 20 als
auch von der Netzwerkendpunktanwendung 30 verwendet werden
können,
müssen
beide von den je weiligen Anwendungen unterstützt werden.
-
1B zeigt
eine ähnliche
Anordnung der lokalen Endpunktanwendung 20 bzw. der Netzwerkendpunktanwendung 30 aus
dem Stand der Technik, wobei jedoch eine Mehrfachkanalleitung 24A die lokale
Endpunktanwendung 20 mit dem Netzwerk 40 verbindet.
In ähnlicher
Weise verbindet eine Mehrfachkanalleitung 24B das Netzwerk 40 mit
der Netzwerkendpunktanwendung 30. Die Fähigkeiten der lokalen Endpunktanwendungen
und der Netzwerkendpunktanwendungen sind der kleinste gemeinsame Nenner
von Protokoll- und Kompressionspaketen, die von der lokalen Endpunktanwendung
und der Netzwerkendpunktanwendung unterstützt werden können.
-
Mit Bezug auf 2 sei bemerkt, daß die gegenwärtig bevorzugte
Ausführungsform
der Erfindung eine Proxymaschine 50 zum Erleichtern der Kommunikation
zwischen der lokalen Endpunktanwendung 20 und der Netzwerkendpunktanwendung 30 verwendet.
Die Proxymaschine 50 besteht aus einer Softwarestruktur,
die typischerweise auf dem Quellencomputer (in 2 nicht dargestellt), auf dem die lokale
Endpunktanwendung 20 läuft,
implementiert ist, wobei es sich beispielsweise um den ISDN-Treiber
für den
Quellencomputer handelt. Die Proxymaschine 50 besteht aus
einem Satz von Routinen 52, die mit der lokalen Endpunktanwendung
in einer lokalen Endpunktanwendungskommunikationssitzung 26 kommunizieren,
und einem Satz von Routinen 54, die mit der Netzwerkendpunktanwendung 30 in
einer Netzwerkendpunktanwendungskommunikationssitzung 28 kommunizieren.
-
Die Routinen 52 bestehen
aus PPP-Einzelkanalroutinen ohne Datenkompression, die nachstehend
in näheren
Einzelheiten in Zusammenhang mit 4 beschrieben
werden und in der angehängten Softwareliste
dargelegt sind. Die Routinen 54 bestehen aus Mehrfachkanal-PPPML-Routinen,
die komprimierte Daten aufweisen, und sie werden auch in Zusammenhang
mit 4 beschrieben und
in der angehängten
Softwareliste dargelegt. Der Doppelpfeil 53 gibt an, daß die lokalen
Endpunktanwendungsroutinen 52 über die lokale Endpunktanwendung 20 gelernte
Informationen an die Routinen 54 übergeben, die mit der Netzwerkendpunktanwendung 30 kommunizieren,
und umgekehrt.
-
3 zeigt
ein Hardware- und Softwarediagramm einer Datenquelle oder eines
lokalen Endpunkts 32, worin die lokale Endpunktanwendung 20 (in
Software) und die Proxymaschine 50 (auch in Software) in
ihrer Beziehung zu der Kommunikationshardware 56, die die
Quelle 32 mit dem Kommunikationskanal 24 verbindet,
dargestellt sind. Die Kommunikationshardware 56 ist beispielsweise
ein ISDN-Basisratenadapter, der in einem Personalcomputer eingerichtet
ist, und sie entspricht der physikalischen Schicht des OSIRM-Modells.
Die Kommunikationshardware 56 wird durch die Software 34 gesteuert,
die an der Quelle 32 läuft.
Die Proxymaschine 50 steht über die Leitung 24A,
das Netzwerk 40 und die Leitung 24B in Verbindung
mit dem Ziel oder dem Netzwerkendpunkt 38, dessen eigene
Kommunikationshardware 56 durch seine eigene Anwendungssoftware 30 gesteuert
wird.
-
Die lokale Endpunktanwendung 20 unterstützt typischerweise
das Punkt-zu-Punkt-Protokoll und möglicherweise einen begrenzten
Teilsatz der fortschrittlichen PPP-Merkmale und kann bestimmte Datenkompressionsalgorithmen
unterstützen,
oder dies kann nicht der Fall sein. Die Sitzung 26 verhandelt
das PPP-Protokoll bis hinab zum Einzelkanal und ohne Datenkompression.
Die Proxymaschine 50 unterstützt ein nicht komprimiertes
Einzelkanal-PPP-Protokoll zur lokalen Endpunktanwendung 20 von
den Routinen 52. Die Proxymaschine 50 unterstützt mehrfache
komprimierte PPP-Kanäle
zur Netzwerkendpunktanwendung 30 (die PPP oder PPPML unterstützt) und
möglicherweise
eine Kompression der Datenpakete von den Routinen 54.
-
Der Netzwerkendpunkt oder das Ziel 38 enthält eine
Netzwerkendpunktanwendung 30, die PPP oder PPPML und eine
mögliche
Kompression von Datenpaketen unterstützt. Falls die Netzwerkendpunktanwendung 30 einen
bestimmten Datenkompressionsalgorithmus unterstützt, die lokale Endpunktanwendung 20 dies
jedoch nicht tut, liefert die Proxymaschine 50 der lokalen
Endpunktanwendung 20 das erforderliche Datenkompressionsmerkmal,
vorausgesetzt daß die
Proxymaschine dieses bestimmte Kompressionsmerkmal unterstützt. Es
wird verständlich
sein, daß es
zum Optimieren der Nützlichkeit
der Proxymaschine mit einem großen
und diversen Satz möglicher
Netzwerkendpunkte bevorzugt ist, eine möglichst große Anzahl von Protokollmerkmalen
(wie PPPML, Sicherheitsanforderungen, wie PAP) und Datenkompressionstechniken
zu unterstützen.
Es ist auch zu verstehen, daß die
vorliegende Erfindung lediglich mit einer Unterstützung für PPP-Merkmale,
wie PPPML oder PAP ohne Datenkompression oder eine Datenkompression
ohne Protokollmerkmale oder sowohl mit Protokollmerkmalen als auch
mit Datenkompression verwendet werden kann, wobei der Gedanke darin
besteht, daß die
Proxymaschine das fehlende Authentifizierungsprotokoll (d. h. CHAP
gemäß der vorliegenden
Ausführungsform),
die Datenkompressionstechnik oder ein Mehrfachverbindungsprotokoll,
das an der lokalen Endpunktanwendung gerade nicht implementiert
ist, liefert.
-
Der Datenübertragungssitzungseinrichtungsprozeß wird vorzugsweise
in einer Folge von Schritten ausgeführt. Insbesondere ist in 4 der Sitzungseinrichtungsablauf
zwischen der Netzwerkendpunktanwendung 30 und der lokalen
Endpunktanwendung 20 dargestellt, wobei die Bezugszeichen 1-10 den nachstehend
beschriebenen Schritten entsprechen. Die Pfeile in 4 stellen den Ablauf von Anforderungen
und Informationen zwischen der Proxymaschine 50, der lokalen
Endpunktanwendung 20 und der Netzwerkendpunktanwendung 30 dar.
Wie in 4 angegeben ist,
wird die Proxymaschine in gleichzeitige Kommunikationssitzungen 26, 28 zwischen
der Proxynetzwerkendpunktanwendung 30 und der lokalen Endpunktanwendung 20 plaziert.
Die Routinen 52 und 54 ( 3), die in der Proxymaschine 50 ausgeführt werden,
werden in Zusammenhang mit den nachstehend dargelegten zehn Schritten
beschrieben.
-
Schritt 1: Initialisieren
der physikalischen Schicht der Netzwerksitzung 28.
-
Der Prozeß beginnt damit, daß die Quelle DTE 32 einen
Aufruf über
eine Kommunikationsverbindung (bspw. ein ISDN-D-Kanal) an eine ferne DTE 38 auf
dem Netzwerk oder dem Kommunikationssystem 40 richtet,
wodurch ein Ende-zu-Ende-Kreis über das
Kommunikationsnetzwerk 40 zugeordnet wird.
-
Schritt 2: Initialisieren
der LCP-Schicht der Netzwerkendpunktanwendung 30.
-
Die Proxymaschine 50 richtet
die Verbindungskontrollprotokoll-Schicht (LCP-Schicht) der Netzwerksitzung 28 ein,
bevor sie auf irgendwelche Nachrichten von der lokalen Endpunktanwendung 20 reagiert.
Der Schritt schließt
eine Reihe von Quittungsaustauschroutinen (wie bspw. eine Konfigurationsanforderung
oder CFG REQ-Nachrichten) ein, um festzulegen, daß der Benutzer
an der Quelle 32 eine PPP-Einheit 38 über das
Netzwerk 40 aufgerufen hat. Der Internetstandard für PPP wird
für die LCP-Schicht
verwendet. Zwei der Informationseinheiten, die gelernt werden, wenn
die LCP-Schicht
in Schritt 2 initialisiert wird, bestehen darin, (1) ob eine Paßwortauthentifizierung
stattfinden muß und
(2) ob MultiLink (oder PPPML) von der Netzwerkendpunktanwendung 30 unterstützt wird.
-
Schritt 3: Initialisieren
der LCP-Schicht der lokalen Endpunktanwendung 20.
-
Sobald das LCP der Netzwerkendpunktanwendung 30 eingerichtet
wurde, wird die LCP-Sitzung der lokalen Endpunktanwendung 20 initialisiert. In
der Konfigurationsanforderungsnachricht wird die Authentifizierung
nach dem Paßwortauthentifizierungsprotokoll
(PAP) spezifiziert, falls die Netzwerkendpunktanwendung 30 irgendeine
Art einer Authentifizierung erfordert. PAP wird so verwendet, daß der Benutzername
bzw. das Paßwort
von der lokalen Endpunktanwendung 20 transparent erhalten
wird, ohne daß ein
Benutzereingriff erforderlich wäre.
-
Schritt 4: Initialisieren
der Authentifizierungsschicht der lokalen Endpunktanwendung 20 (falls
anwendbar).
-
Falls die Netzwerksitzung 28 in
Schritt 2 spezifiziert hat, daß die
lokale Endpunktanwendung 20 Paßwörter authentifizieren muß, bevor
die Netzwerkkontrollprotokolle (NCPs) initialisiert werden, muß die Kombination
aus dem Benutzernamen und dem Paßwort von der lokalen Endpunktanwendung 20 erhalten
werden. Durch Fordern von der lokalen Endpunktanwendung 20 während der
Verbindungskontrollprotokollverhandlungen, daß sich die lokale Endpunktanwendung 20 mit
der Proxymaschine 50 authentifizieren muß (wobei
die Proxymaschine 50 der Authentifizierer ist und die lokale
Endpunktanwendung 20 der Peer ist), wird das PAP-Authentifizierungskontrollprotokoll
nun mit der Anwendungssitzung nach dem Internetstandard für PPP-Ruthentifizierungsprotokolle
initialisiert.
-
Schritt 5: Initialisieren
der Authentifizierungsschicht der Netzwerkendpunktanwendung 30.
-
Sobald das Authentifizierungskontrollprotokoll
der lokalen Endpunktanwendung 20 offen ist, wird das Authentifizierungskontrollprotokoll
der Netzwerkendpunktanwendung 30 initialisiert, wobei die Netzwerkendpunktanwendung 30 der
Authentifizierer ist und die Proxymaschine 50 der Peer
ist. Bei der bevorzugten Ausführungsform
kann die Proxymaschine 50 sowohl PAP als auch CHAP (Challenge Handshake
Authentication Protocol) unterstützen. Weiterhin
ist die Proxymaschine 50 lediglich der Peer auf der Netzwerkendpunktseite
und der Authentifizierer auf der lokalen Endpunktseite.
-
Schritt 6a: Bestimmen,
welche Netzwerkkontrollprotokolle (NCPs) die lokale Endpunktanwendung 20 initialisieren
möchte.
-
An diesem Punkt muß die Proxymaschine 50 bestimmen,
welche Netzwerkkontrollprotokolle die lokale Endpunktanwendung 20 unterstützt und öffnen möchte. Um
dies zu bestimmen, wartet die Proxymaschine 50 auf den
Empfang der CFG REQ-Nachricht von der lokalen Endpunktanwendung 20 für die NCPs,
die die Netzwerkendpunktanwendung 20 öffnen möchte und über die sie kommunizieren möchte. Nach
dem Empfang einer CFG REQ-Nach richt lernt die Proxymaschine 50 zuerst alle
Informationen, die für
erfolgreiche Proxyoperationen erforderlich sind.
-
Die gelernten Informationen für alle unterstützten Netzwerkkontrollprotokolle
sind die folgenden:
- (i) BCP (Überbrückungskontrollprotokoll ("Bridging Control
Protocol")): Keine.
- (ii) IPCP (Internetprotokoll-Kontrollprotokoll ("Internet Protocol
Control Protocol")):
Die Internetprotokolladresse der lokalen Endpunktanwendung 20,
die einschließt,
ob die lokale Endpunktanwendung 20 nach einer Internetprotokolladresse
fragt, die von der Netzwerkendpunktanwendung 30 zuzuweisen
ist.
- (iii) IPXCP (Internetpaketaustausch-Kontrollprotokoll ("Internet Packet Exchange
Control Protocol")):
- a) Die Internetpaketaustausch-Netzwerkadresse der lokalen Endpunktanwendung 20,
die einschließt,
ob die lokale Endpunktanwendung 20 nach der IPX-Netzwerkadresse
von der Netzwerkendpunktanwendung 30 fragt, und
- b) Die IPX-Knotenadresse der lokalen Endpunktanwendung 20,
die einschließt,
ob die Anwendung 20 nach einer IPX-Knotenadresse fragt, die von der Netzwerkendpunktanwendung 30 zuzuweisen
ist. Falls die lokale Endpunktanwendung 20 nach einer zuzuweisenden
Adresse fragt, gibt die Proxymaschine 50 die Medienzugriff-Kontrolladresse
("Media Access Control
Address") als die zugewiesene
Knotenadresse (die in einem nicht dargestellten EEPROM-Speicher
gespeichert ist) zurück,
statt die Netzwerkendpunktanwendung 30 nach einer zu fragen.
- c) NBFCP (NetBEUI-Kontrollprotokoll). Der Name der lokalen Endpunktanwendung 20 in
dem erweiterten Benutzerschnittstellenprotokoll des Netzwerkgrundeingabe-/Ausgabesystems
(NetBEUI) von IBM ("IBM
Network Basic Input/Output System Extended User Interface (NetBEUI)
protocol").
-
Weil mehrere Netzwerkkontrollprotokolle über eine
einzige PPP-Sitzung geöffnet
werden können,
kann jede Netzwerkkontrollprotokollzustandsmaschine autonom arbeiten.
-
Schritt 6b: Bestimmen,
welche (falls überhaupt)
Kompressionsprotokolle die Netzwerkendpunktanwendung 30 zu
initialisieren versucht. Falls es sich um eines handelt, das die
Proxymaschine unterstützt,
wird dieses initialisiert.
-
Sobald alle LCP- und Authentifizierungsschichten
geöffnet
wurden, darf die Netzwerkendpunktanwendung 30 Kompressionsprotokollverhandlungen
(CCP-Verhandlungen) versuchen, also versuchen, eine Kompressionssitzung
zwischen der Proxymaschine 50 und der Netzwerkendpunktanwendung 30 zu öffnen. Die
Proxymaschine 50 achtet auf alle CCP-CFG REQ-Nachrichten von der
Netzwerkendpunktanwendung 30. Wenn eine empfangen wird,
bestimmt die Proxymaschine 50, welches Kompressionsschema
die Netzwerkendpunktanwendung 30 zu verhandeln versucht.
-
Insbesondere wird der Kompressionsalgorithmus,
den die Netzwerkendpunktanwendung 30 zu verhandeln versucht,
in zwei Schritten bestimmt. Der erste Schritt besteht darin, das
CCP-Optionstypfeld in der CCP-Konfigurationsanforderungsnachricht (CFG
REQ-Nachricht) zu betrachten. Falls der CCP-Optionswert die PPC-Kompression
von Microsoft angibt, braucht die Proxymaschine die Abfrage nicht
weiter fortzusetzen. Falls der CCP-Optionswert STAC Electronics
LZS angibt, muß die
Proxymaschine 50 bestimmen, ob es sich um die STAC LZS-
oder die Ascend-Version von STAC LZS handelt. Der Unterschied zwischen
diesen besteht darin, daß die Länge der
Konfigurationsanforderungsnachricht von STAC Electronics fünf (5) Bytes
beträgt,
während
die Länge
bei Ascend sechs (6) Bytes beträgt
(Ascend hat ein zusätzliches
Byte zum Verhandeln des Wörterbuchrücksetzmodus).
Falls keine der drei Kompressionstechniken erfaßt wird, ist keine Kompression
zulässig.
-
Fachleute werden natürlich verstehen,
daß die
vorstehende Identifikationstechnik für gegenwärtig beliebte Datenkompressionstechniken
leicht für andere
Typen von Datenkompressionstechniken angepaßt werden kann, die in der
Zukunft entwickelt werden können.
-
Falls die Kompressionstechniken der
Netzwerkendpunktanwendung 30 ein Kompressionsschema sind,
das von der Proxymaschine 50 unterstützt wird, öffnet die Proxymaschine 50 das
Kompressionsschicht-Kontrollprotokoll mit der Netzwerkendpunktanwendung 30.
Falls es sich dabei um kein Schema handelt, das die Proxymaschine 50 unterstützt, weist
die Proxymaschine 50 die Anforderung zum Verhandeln der
Kompressionsschicht mit einer PROTO REJECT-Nachricht zurück, wodurch
komprimierte Datenpakete über
die Netzwerksitzung 28 verboten werden. Selbst wenn die
lokale Endpunktanwendung demgemäß den von
der Netzwerkendpunktanwendung 30 an geforderten Datenkompressionsalgorithmus
nicht unterstützt,
stellt die Proxymaschine 50 ihn für die lokale Endpunktanwendung 20 bereit
und ermöglicht
dadurch, daß die
Datenkompressionstechnik bei der Übertragung von Daten von der
Quelle zum Ziel verwendet wird.
-
Vorzugsweise unterstützt die
Proxymaschine 50 eine große Vielzahl bekannter Kompressionsprotokolle,
wie STAC LZSTM, die Microsoft-PPCTM- und AscendTM-Version
von STAC LZSTM. Lizenzen von den Eigentümern der
Kompressionstechniken sollten erworben werden, damit die Proxymaschine 50 geschützte Kompressionstechniken
implementieren kann.
-
Schritt 7: Initialisieren des jeweiligen
NCP der Netzwerkendpunktanwendung 30 für jedes NCP, das die lokale
Endpunktanwendung 20 spezifiziert hat (über Schritt 6(a)).
-
Nachdem die lokale Endpunktanwendung 20 NCP-Informationen
in Schritt 6(a) gelernt hat, verwendet die Proxymaschine 50 diese
Informationen beim Initialisieren der jeweiligen NCPs der Netzwerkendpunktanwendung 30.
Falls irgendwelche Informationen von der Netzwerkendpunktanwendung 30 dynamisch
zugewiesen wurden (von der lokalen Endpunktanwendung 20 vorgeschrieben),
speichert die Proxymaschine 50 die gelernten Informationen zur
späteren
Verwendung.
-
Schritt 8: Initialisieren des jeweiligen
NCP der Anwendung, sobald die NCPs der Netzwerkendpunktanwendung 30 geöffnet wurden.
-
Nachdem das NCP der Netzwerkendpunktanwendung 30 geöffnet wurde,
initialisiert die Proxymaschine 50 das NCP der jeweiligen
lokalen Endpunktanwendung 20 (wobei sie ihr jegli the dynamisch
zugewiesenen Informationen von der Netzwerkendpunktanwendung 30 oder
von der Proxymaschine 50 dynamisch zuweist). Sobald dieser
Schritt abgeschlossen wurde, können
Datenpakete über
die logische Schnittstelle der Proxymaschine 50 fließen.
-
Schritt 9: Sobald das NCP der lokalen
Endpunktanwendung 20 offen ist, ermöglicht die Proxymaschine, daß Datenpakete
dadurch fließen.
-
Wenn die Proxymaschine 50 Datenpakete von
der lokalen Endpunktanwendung 20 empfängt, führt sie folgendes aus: (1)
Sie versucht, das Paket zu komprimieren (falls anwendbar) , (2)
sie zerlegt das Paket (original oder komprimiert) in mehrere Fragmente
und (3) sie überträgt die Fragmente über einen
oder mehrere offene Datenkanäle
zu der Netzwerkendpunktanwendung 30.
-
Wenn die Proxymaschine 50 Datenfragmente
von der Netzwerkendpunktanwendung 30 empfängt, führt sie
folgendes aus: (1) Sie sammelt alle Fragmente, die ein vollständiges Datenpaket
bilden, (2) sie setzt die Fragmente wieder zu einem zusammenhängenden
Datenpaket zusammen, (3) sie entkomprimiert das wieder zusammengesetzte
Datenpaket (falls anwendbar), und (4) sie überträgt das unkomprimierte wieder
zusammengesetzte Datenpaket zu der lokalen Endpunktanwendung 20.
-
Schritt 10: Initialisieren eines
zweiten Datenkanals, falls das Netzwerk das Initialisieren von MultiLink
zuläßt.
-
Sobald das erste NCP auf der Seite
der lokalen Endpunktanwendung 20 geöffnet wurde, versucht die Proxymaschine 50 vorzugsweise,
einen zweiten Datenkanal (wie bspw. der zweite B-Kanal beim ISDN-Basisratendienst) über die
Netzwerksitzung 28 zu initialisieren. Anders als die erste
Verbindung ist sich die lokale Sitzung 26 nicht der Aktivität des zweiten
B-Kanals bewußt.
Sobald der zweite B-Kanal verfügbar
wird, werden die Datenpakete über
beide aktiven Mehrfach-B-Kanäle
zu der auf der Ziel-DTE 38 laufenden Netzwerkendpunktanwendung 30 übertragen,
wodurch der Rufdurchsatz erhöht
wird und die gesamte Rufverbindungszeit verringert wird.
-
Die vorliegende Erfindung kann in
einer Vielzahl von Situationen implementiert werden. In 5 ist dargestellt, daß die Quellen-DTE 32 über einen Kanal 24A mit
einem Netzwerk 40 (dessen Einzelheiten nicht wichtig sind)
verbunden ist. Das Netzwerk 40 kann eine Leitung 24B zu
einer mit einem zweiten Netzwerk 61 verbundenen Brücke 60,
eine Leitung 24C, die mit einem Router 62 verbunden
ist, der mit einem weiteren Netzwerk 63 verbunden ist,
eine Leitung 24D, die mit einem Computer 64 verbunden
ist, oder eine Leitung 24E, die mit einem Computer 70 verbunden
ist, bereitstellen.
-
In 5 ist
dargestellt, daß die
Quelle 32 eine Proxymaschine aufweist, die mit Kommunikationshardware 56 (wie
bspw. ein ISDN-Basisratenadapter) kommuniziert, und daß darauf
eine Anwendungssoftware läuft,
die die lokale Endpunktanwendung 20 aufweist. Die Quelle 32 kann
versuchen, Daten zu der Brücke 60 zu übertragen,
auf der ihre eigene Anwendung läuft,
und die hier daher als eine Netzwerkendpunktanwendung angesehen
wird. Das Gleiche gilt für
den Router 62. Es sei bemerkt, daß der Computer 64 seine
eigene Proxymaschine 50 und seine eigene Anwendung 20 aufweist.
Durch die Kombination der Proxymaschine 50 und der lokalen Endpunktanwendung 20,
die im Computer 64 läuft, wird
im wesentlichen eine Netzwerkendpunktanwendung 65 gebildet,
die von der Quelle 32 aufgerufen werden kann.
-
Ein Computer 70 ist wie
dargestellt über
einen ISDN-Endgeräteadapter 72 mit
einer Leitung 24E verbunden. Der Computer 70 weist
keine eigene Proxymaschine auf. Die Quelle 32 kann jedoch
unter Verwendung ihrer eigenen Proxymaschine in der vorstehend beschriebenen
Weise Daten zu dem Computer 70 übertragen. Die Kombination
aus dem Computer 70, auf dem seine eigene Anwendung läuft, und dem
ISDN-TA 72 könnte
auch als eine Netzwerkendpunktanwendung angesehen werden, so wie
dieser Begriff hier verwendet wird.
-
Es wird verständlich sein, daß die Proxymaschine 50 in
der Quelle 32 bei allen vorstehend angegebenen repräsentativen
Beispielen aus 5 die Kommunikation
mit jeder gegebenen Netzwerkendpunktanwendung erleichtert, die sie
aufrufen mag, um Daten zu übertragen.
Die vorstehend in Zusammenhang mit den 2 – 4 gegebene Beschreibung gilt
für jeden
dieser Datenübertragungsabschnitte.
-
Es wird anhand der vorstehenden Beschreibung
einer gegenwärtig
bevorzugten Ausführungsform
der Erfindung verständlich
geworden sein, daß, abhängig von
den jeweiligen Merkmalen des Datenübertragungsmediums, den Fähigkeiten
der lokalen Endpunktanwendungen und der Netzwerkendpunktanwendungen
und den Protokollmerkmalen, die von der Proxymaschine unterstützt werden
können,
einige Variationen der vorstehenden Prozedur vorgesehen sind. Diese
Variationen werden für
Fachleute offensichtlich sein und sollen in den Schutzumfang der Erfindung
fallen. Wenn zusätzliche
Protokolle entwickelt werden (wie Authentifizierungsprotokolle und Mehrfachverbindungsprotokolle),
können
einige Modifikationen an der Arbeitsweise der Proxymaschine erforderlich
sein, um die Erfindung zu implementieren, und solche Modifikationen
werden als innerhalb der Fähigkeiten
von Durchschnittsfachleuten angesehen. Dieser wahre Schutzumfang
ist durch die anliegenden Ansprüche
definiert, die in Hinblick auf die vorstehende Beschreibung zu interpretieren
sind.