-
HINTERGRUND
DER ERFINDUNG
-
Diese
Erfindung bezieht sich im Allgemeinen auf das Gebiet der Telekommunikation
und die Vorgänge,
mittels derer Telefonanrufe von einer Telefonleitung oder einer
anderen Kommunikationsverbindung auf ein Computersystem und aus
diesem heraus geschaltet werden. Die Erfindung ist insbesondere
für die
Verwendung in einer Umgebung geeignet, in der eine große Anzahl
von Anrufen zur gleichen Zeit in ein Computersystem oder aus diesem
heraus weitergeleitet werden.
-
Die
hier offenbarten Verfahren können
von einem Kommunikationsausrüstungselement
ausgeführt werden,
das wir „Netzzugangsserver" genannt haben. Der
Netzzugangsserver ist eine Vorrichtung, die eingehende Anrufe empfängt und
sie an ein Computersystem über
ein Netz weiterleitet oder die Anrufe von dem Netz empfängt und
sie auf eine Kommunikationsverbindung weiterleitet. Mit unserer
Erfindung der verteilten Verarbeitung wird eine dramatische Steigerung
der Effizienz des Anrufweiterleitungsvorgangs erreicht, wodurch
der Anrufdurchsatz maximiert und die Gesamtanrufverbindungszeit
minimiert wird. Dieses Ergebnis wird durch ein Verteilen einer rechenintensiven
Protokollverarbeitung (wie Punkt-zu-Punkt-Protokoll- oder PPP-Verarbeitung)
zwischen mehreren Rechenplattformen wie den Modems des Netzzugangsservers
erreicht. Bisher wurde die Protokollverarbeitung in einer einzelnen
Rechenplattform an der Netzschnittstelle durchgeführt.
-
Verschiedene
Typen von Kommunikationsvorrichtungen sind an der Schnittstelle
zwischen einem Modem und einem Computernetz platziert, wie etwa
Router, Terminalserver und Module, die gelegentlich als „Netzübergangskarten" („gateway
cards") bezeichnet
werden. Diese Vorrichtungen setzen Softwareprogramme ein, die den
Zugang und Abgang von Anrufen zwischen den Modems und dem Netz steuern.
Eine Schicht der Software-Hierarchie, die in diesen Vorrichtungen
betrieben wird, ist in der Technik als „Anwendungsschicht" („application
layer") bekannt.
In diesem Dokument wird oft Bezug auf die Begriffe „Anwendung" („ap plication"), „Anwendungsschicht" („application
layer") und „Anwendungssoftwareschicht" („application
software layer")
genommen. Bei der Verwendung hier meinen diese Begriffe eine Kommunikationssteuerungs-
und -verwaltungssoftwareschicht oberhalb der Protokollstapel in
einer Kommunikationsvorrichtung, wobei die Vorrichtung üblicherweise
am Übergang
(oder der Schnittstelle) zwischen einem Modem und einem Computernetz
angeordnet ist.
-
Modems
nach dem Stand der Technik, wie etwa das V.34 Quad Modem, das von
der U.S. Robotics Corporation aus Skokie, Illinois, der Inhaberin
der vorliegenden Erfindung, entwickelt wurde, weisen ein Merkmal
auf, demzufolge zwei Protokolle in dem Modem verwirklicht sind.
Das erste Protokoll ist eine modifizierte Version einer asynchronen
Datensteuerprozedureinrahmung (HDLC), „high-hevel data link control
framing) des Punkt-zu-Punkt-Protokolls (PPP). Das Protokoll kann
bei anderen Realisierungen eine synchrone HDLC-Rahmung des PPP sein.
Das Modem führt
an jedem PPP-Rahmen die Flag-Sequenz, Datentransparenz und Rahmenüberprüfungssequenz
(FCS, „frame
check sequence")
durch. Das zweite in dem Modem durchgeführte Protokoll ist das Seriellleitungsinternetprotokoll
(„serial
line internet protocol",
SLIP).
-
Wenn
im Stand der Technik eine Anwendungssoftwareroutine an dem Netzzugangsserverübergang einen
PPP- (oder SLIP-)Rahmen erzeugt, überprüft sie jedes Byte auf der Suche
nach einem Byte, das ein Steuerzeichen darstellt. Wenn die Anwendung
ein Steuerzeichen findet, wird ein PPP-Fluchtsymbol (oder SLIP-Fluchtsymbol)
(„escape
character") in den
Datenstrom eingefügt.
Dann wird das originale Steuerzeichen in ein transparentes Zeichen übersetzt
und in den Datenstrom eingefügt.
Hierzu sind üblicherweise
zwei Puffer nötig,
da zusätzliche
Zeichen hinzugefügt
werden. Bei PPP-Rahmen, bei denen die Anwendung jedes Byte des Rahmens überprüft, muss
sie auch die FCS berechnen. Wenn eine Anwendung einen PPP- (oder SLIP-)Rahmen
empfängt,
muss sie die Umkehrung des obigen Vorgangs durchführen. In
einigen Netzzugangsservern, wie dem U.S. Robotics NETServer, können gleichzeitig
bis zu 60 Modems aktiv sein. Dies bedeutet, dass die Netzübergangsrechenplattform
in dem Netzzugangsserver für
jedes der 60 Modems durchführen
würde,
wenn der Stand der Technik eingesetzt würde. Dies führt zu einer extrem hohen Verarbeitungslast
auf einer Rechenplattform und führt
Latenzzeiten und Verzögerungen
in den Anrufweiterlei tungsvorgang ein. Diese Effekte wirken zu einer
wesentlichen Reduktion des Anrufdurchsatzes zusammen, insbesondere wenn
eine große
Zahl von Anrufen gleichzeitig empfangen oder durch den Netzzugangsserver
weitergeleitet wird.
-
Ein
Ansatz im Stand der Technik zur Erhöhung des Anrufdurchsatzes ist
die Einbindung von Kommunikationssteuerungshardware, wie der Cirrus
Logic CL-CD 2430/CD2431-Vorrichtung, in die Protokollverarbeitungsschaltungen.
Die vorliegende Erfindung beseitigt den Bedarf für derartige teure Hardwarevorrichtungen, indem
die Leistung der Protokollverarbeitung innerhalb von existierenden
Rechenplattformen ermöglicht
wird, wie in den Prozessoren in den Modems, die dem Netzzugangsserver
zugeordnet sind.
-
US 5,412,660 beschreibt
eine ISDN-zu-ISDN-Kommunikation über
ein Satellitensystem, wobei eine Protokollumsetzungsmaschine („protocol
conversion machine",
PCM) das „link
access procedure D-channel (LAPD)"-Protokoll in das „link access procedure modem
(LAPM)"-Protokoll
umsetzt.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Entsprechend
einem Aspekt der vorliegenden Erfindung ist ein Verfahren zum Weiterleiten
eingehender Anrufe in ein Computersystem, wie in Anspruch 1 beansprucht,
vorgesehen.
-
Entsprechend
einem zweiten Aspekt der vorliegenden Erfindung ist ein Netzzugangsserver,
wie in Anspruch 7 beansprucht, vorgesehen.
-
Es
wird ein Verfahren zum Weiterleiten von eingehenden oder ausgehenden
Anrufen in oder aus einem Computersystem offenbart. Für eingehende
Anrufe umfasst das Verfahren die Schritte des Empfangens der eingehenden
Anrufe und Weiteleitens der Anrufe an eine Mehrzahl von Modems,
des Verteilens der Verarbeitung von Protokollen für die eingehenden
Anrufe unter mehreren Rechenplattformen, des Verarbeitens der Protokolle
für die
eingehenden Anrufe und des anschließenden Weiterleitens der eingehenden
Anrufe über ein
Netz an das Computersystem. Für
ausgehende Anrufe werden die Anrufe von dem Netz an eine Mehrzahl von
Modems in dem Netzzugangsserwer weitergeleitet, wobei die Protokollverarbeitung
unter einer Mehrzahl von Rechenplattformen verteilt wird und die
Anrufe zu einer Kommunikationsverbindung wie einer T1-Telefonleitung
gesendet werden.
-
Das
offenbarte Verfahren wird in einem Netzzugangsserver mit einer Mehrzahl
von Modems zum Empfangen einer Mehrzahl von eingehenden Anrufen
oder zum Modulieren einer Mehrzahl von Anrufen auf eine Kommunikationsverbindung
durchgeführt.
Die Rechenplattformen umfassen die Datenverarbeitungsstrukturen
in jedem Modem.
-
Die
Erfindung stellt ein Verfahren zum Weiterleiten eingehender Anrufe
in ein Computersystem über ein
Modem dar, mit den Schritten des Empfangens des eingehenden Anrufs
am Modem, des Durchführens
der Verarbeitung von Protokollen für die eingehenden Anrufe in
einer Rechenplattform in dem Modem und des Weiterleitens der eingehenden
Anrufe an das Computersystem. In der bevorzugten Ausführungsform
befreit die Verwendung des Modems als der Rechenplattform für die Protokollverarbeitung
die Rechenplattform an der Schnittstelle zwischen dem Modem und
dem Computersystem (wie die Rechenplattform im Router) von der Protokollverarbeitungslast
und reduziert Latenzzeiten im Vorgang der Anrufweiterleitung, was
die Gesamtanrufsverbindungszeit reduziert.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Derzeit
bevorzugte Ausführungsformen
der Erfindung werden in den Zeichnungen dargestellt, wobei ähnliche
Bezugszeichen ähnliche
Elemente in den verschiedenen Ansichten bezeichnen.
-
1A ist
ein Blockdiagramm, das eine Form veranschaulicht, in der die Erfindung
realisiert werden kann.
-
1B ist
ein Blockdiagramm, das die Realisierung der Weiterleitungsfunktion
in 1A in der Betriebssystemsoftware eines Host-Computers
veranschaulicht.
-
2 ist
ein Veranschaulichung des gesamten Kommunikationssystems, in dem
eine alternative Form der Erfindung realisiert ist, wobei die Beziehung
zwischen verschiedenen Anrufern, einem Telefonnetz, einem Netzzugangsserver
und einem Host-Computersystem veranschaulicht wird, das über ein
Netz mit dem Netzzugangsserver verbunden ist.
-
3 ist
ein schematisches Blockdiagramm des Netzzugangsservers von 1.
-
4 ist
ein schematisches Blockdiagramm, das die Verbindung der Anwendungsmodule
und der Modemmodule von 3 zeigt.
-
5 ist
ein detailliertes Blockdiagramm einer bevorzugten Form eines Quad-Modemmoduls
des in 3 gezeigten Typs, wobei die verteilte Verarbeitung
entsprechend der vorliegenden Erfindung von den Modemmodulverarbeitungseinheiten
durchgeführt
wird.
-
6 ist
ein Flussdiagramm des Vorgangs der verteilten Verarbeitung.
-
7 ist
ein detailliertes Flussdiagramm der PPP-Routine von 6.
-
8 ist
ein Graph des Upload-Durchsatzes unter Verwendung einer Berechnung
entsprechend dem Stand der Technik in einer einzelnen Plattform
an dem PPP-Protokollnetzübergang.
-
9 ist
ein Graph des Upload-Durchsatzes, wenn die Technik der verteilten
Verarbeitung entsprechend der Lehre der vorliegenden Erfindung verwendet
wird.
-
10 ist
ein Graph des Download-Durchsatzes, wenn die PPP-Verarbeitung entsprechend der vorbekannten
Technik einer einzelnen Plattform am Netzübergang durchgeführt wird.
-
11 ist
ein Graph des Download-Durchsatzes, wenn die Technik der verteilten
Verarbeitung entsprechend der Lehre der vorliegenden Erfindung verwendet
wird.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
I. Allgemeine
Diskussion
-
Unter
Bezug auf 1A kann die Erfindung in einem
Kommunikationssystem realisiert sein, in dem ein Anruf von einem
Computer wie einem PC 20 herrührt, der Daten über eine
Datenkommunikationsausrüstung
(„data
communications equipment",
DCE) (wie dem Modem M) auf ein Telefonnetz 50 oder eine
anderen Kommunikationsverbindung an eine empfangene DCE 10 wie
ein Modem sendet. Das Datenterminal 20, von dem der Anruf
herrührt,
weist eine Kommunikationssoftware auf, die ein Kommunikationsprotokoll
wie etwa PPP oder SLIP verwendet. Die DCE 10 demoduliert
den Anruf des Personalcomputers 20 und gibt ihn über ein Übertragungsmittel 11,
beispielsweise ein RS 232-Kabel- oder einen Paketbus, an einen Router
oder Terminalserver 12 weiter. Der Router oder Terminalserver 12 gibt
den Anruf auf ein Netz oder ein Host-Computersystem, beispielsweise
einen Personalcomputer (in 1A nicht
gezeigt). Bis zu n DCE 10 können vorgesehen sein, in Abhängigkeit
vom Ausmaß des
erwarteten eingehenden Verkehrs. Für einige Anwendungen kann allerdings
auch nur eine einzelne DCE oder ein einzelnes Modem 10 nötig sein.
Die Funktionen der DCE 10 und des Routers 12 können in
physisch unterschiedlicher Hardware realisiert sein oder in einem
einzelnen Ausrüstungsstück kombiniert
werden, wie in dem Fall des Netzzugangsservers, der in Zusammenhang
mit 2 diskutiert wird.
-
In
einer bevorzugten Form der vorliegenden Erfindung wird die Byte-zu-Byte-Transparenzübersetzungsverarbeitung,
die von dem PPP- (oder SLIP-)Protokoll benötigt wird, an den Prozessor
der DCE 10 verteilt, statt dass sie in einer Rechenplattform
in dem Router oder Terminalserver 12 wie nach dem Stand
der Technik durchgeführt
wird. Dies befreit den Anwendungsprozessor (wie die Rechenplattform
beim Router oder Terminalserver 12) von dieser zeitaufwendigen
Aufgabe. Der Prozessor des Modems 10 behandelt die Daten bereits
bei der Weiterleitung der Daten zu oder von der Datenpumpe des Modems
in einem byte-weisen Vorgang. Die zusätzliche Aufgabe der Datentransparenz-
und FCS-Berechnung
ist nicht so aufwendig wie für
eine Multi-Session-Anwendung und daher ist der Modem-Prozessor eine
bevorzugte Rechenplattform zur Realisierung der Erfindung.
-
In
unserer bevorzugten Form der Erfindung kommuniziert der Anwendungssoftwareprozessor
an der Netzschnittstelle mit den Modems 10 über einen
Paketbus. Die Kommunikation kann allerdings auch ein anderes äquivalentes
Mittel nutzen, beispielsweise ein RS 232-Kabel. Zwei Typen von Nachrichten
werden zwischen ihnen ausgetauscht: Konfigurationsanfragen und -antworten
und Daten. Andere Nachrichtentypen passen derzeit nicht zu dieser
Realisierung. Alle Nachrichten weisen ein Statusfeld und ein Längenfeld
auf. Exakt ein PPP- oder SLIP-Rahmen wird pro Paketbusdatennachricht übermittelt
oder empfangen. Das Längenfeld enthält die exakte
Anzahl von unübersetzten
Datenbytes. Auf diese Weise weiß das
Modem, wo die Flag-Sequenz an ausgehenden Rahmen einzufügen ist.
-
Die
grundlegende Auslegung des PPP/SLIP-Modems 10 ist für die Übergangsanwendungssoftware im
Router/Terminalserver 12 vorgesehen, um einen speziellen
Befehl an das Modem 10 auszugeben, mit dem das Modem im
PPP-Modus, SLIP-Modus
oder keinen davon versetzt wird. Andere ausgebbare Konfigurationsbefehle
umfassen: lokale Async-Steuerzeichenabbildung ("lokal async-control-character-map"), Fern-Async-Steuerzeichenabbildung
(„remote
async-control-character-map"), lokale Löschzeichenübersetzung
(„delete
character translation")
(d.h. ASCII 7F hex), Fern-Löschzeichenübersetzung
(„remote
delete character translation"),
maximale Rahmengröße, Rahmenzeitüberschreitung,
Zwischenzeichenzeitüberschreitung und
FCS-Typ (beispielsweise CCITT 16 Bit CRC). Das Modem 10 informiert
die Anwendungssoftware, wenn es erfolgreich konfiguriert ist.
-
Wenn
das Modem 10 eine Datennachricht von der Anwendungsschicht
zur Übermittlung
an den entfernten PC 20 erhält, weiß das Modem 10 anhand
des Längenfelds,
wie viele Daten in der Nachricht enthalten sind. Das Modem erzeugt
dann einen PPP- oder SLIP-Rahmen durch Übermitteln eines Rahmenendzeichens, Übermitteln
der Daten (falls nötig übersetzt),
Berechnen und Über mitteln
der FCS, wenn es ein PPP-Rahmen ist, und anschließende Übermittlung
eines weiteren Rahmenendzeichens. Es ist zu bemerken, dass die PPP-Adress- und Steuer-Felder
den PPP-Daten bei der Weiterleitung an das Modem vorangestellt werden sollten,
da das Modem keine Daten interpretiert.
-
Wenn
das Modem 10 einen PPP- oder SLIP-Rahmen von der entfernten
Position empfängt,
sucht das Modem 10 nach dem Rahmenstartzeichen (das ebenso
das Rahmenendzeichen ist). Dieses Zeichen wird verworfen. Das Modem
untersucht danach jedes einkommende Datenbyte, übersetzt transparente Daten
(falls nötig)
und hält
eine aktuelle FCS vor, wenn es ein PPP-Rahmen ist, wobei es nach
dem nachlaufenden Rahmenendzeichen sucht. Das nachlaufende Rahmenendzeichen
wird ebenso verworfen. Wenn das Modem für PPP konfiguriert ist, wird
der aktuelle FCS-Wert auf seine Gültigkeit untersucht und die
letzten zwei (oder vier) Datenzeichen, die die FCS-Zeichen sind,
werden ebenso verworfen (d.h. die Länge wird verringert). Dieser Rahmen
von Rohdaten (denen im Fall von PPP die Adress- und Kontrollfelder
vorangestellt sind) wird sofort an die Anwendungsschicht im Übergang
(wie dem Router/Terminalserver 12) über einen Paketbus oder ein äquivalentes
Mittel, wie ein RS 232-Kabel, weitergeleitet. Statuswerte zeigen
Zustände
wie OK, ungültige
FCS, zu großer
Rahmen, Zwischenzeichenzeitüberschreitung,
Rahmenzeitüberschreitung
und Paritätsfehler
(Rahmenabbrüche
werden verworfen und die Anwendungsschicht nicht informiert).
-
Es
ist zu bemerken, dass bei der Verwendung der Technik der vorliegenden
Erfindung die Anwendungsrechenplattform an der Netzschnittstelle
nie transparente Daten sieht. Sie handhabt die tatsächliche
Information in dem PPP- oder SLIP-Rahmen. Es ist zudem zu bemerken, dass
das Modem keinen Inhalt eines PPP- oder SLIP-Rahmens interpretiert. Es
vollzieht nur die grundlegendste Einkapselung eines Datagramms über eine
serielle Verbindung, d.h. byteweise Transparenzübersetzung und FCS. Das PPP-Adress-
und Steuerfeld und jede Verhandlung, wie LCP oder IPCP, werden an
der Anwendungssoftwareschicht gehandhabt. Entsprechend ist bei Verwendung
der Techniken der vorliegenden Erfindung der Datendurchsatz in beide
Richtungen, Upload und Download, durch das Modem und den Router/Terminalserver 12 deutlich
verbessert. Dies ist ein Ergebnis von sowohl reduzierten Verarbeitungsanforderungen
an der Übergangsrechenplattform
als auch einer geringeren Gesamtlatenz des Systems.
-
Mit
Bezug auf 1A ist zu verstehen, dass andere
analoge und funktional äquivalente
DCE entsprechend der Erfindung neben dem Modem 10 benutzt
werden können.
Beispielsweise können
andere Arten von Modems, wie ein DSU („data synchronizer unit", Datensynchronisationseinheit)
und CSU („circuit
switching unit",
Leitungsvermittllungseinheit) in Verbindung mit einem digitalen
Datennetz 50 verwendet werden. Ein ISDN-(„integrated
services digital network",
Integriertes Sprach- und Datennetz) Terminaladapter kann ebenso verwendet
werden, wenn die Anrufe über
ISDN-Leitungen eingehen. Der Begriff „Modem" in den Ansprüchen ist breit zu interpretieren,
um alle diese funktional äquivalenten
Geräte
zu umfassen.
-
Mit
Bezug auf 1B wird einzusehen sein, dass
die physische Position des Routers oder Terminalservers 12 von
keiner besonderen Bedeutung ist. Beispielsweise kann die Routerfunktion
als ein Softwaremerkmal in einem Betriebssystem 14 eines
Personalcomputers bestehen, beispielsweise der verschiedenen Versionen
des WindowsTM-Programms der Microsoft Corporation.
In diesem Beispiel wird die Protokollverarbeitung im Modem 10 durchgeführt. Aufgrund
der Verteilung der Protokollverarbeitung an die Rechenplattform im
Modem 10 statt in der CPU des Computers wird die Rechenlast
auf der CPU und die Latenz im Anrufweiterleitungsprozess reduziert,
was einen gesteigerten Anrufdurchsatz erlaubt.
-
Zusätzlich ist
das spezielle Mittel zur Weiterleitung der Anrufe von dem Modem
an den Übergang
von keiner besonderen Bedeutung. Es kann ein RS 232-Kabel, ein Paketbus
oder der interne Bus eines Personalcomputers (wie der ISA-, EISA-,
PCI- oder ein VESA-Bus) verwendet werden.
-
II. Bevorzugte Realisierung
des Netzzugangsservers
-
Die
vorliegende Erfindung ist einem Kommunikationsverarbeitungssystem
realisiert, das allgemein in 2 dargestellt
ist. Eine Mehrzahl von Anrufern 20, 22 und 24 befinden
sich an verschiedenen entfernten Orten und übermitteln eingehende Kommunikationen
an einen Netzzugangsserver 30. Die Anrufer 20, 22 und 24 können jeweils
aus einem Personalcomputer C1, C2 oder C3 bestehen, der digitale
Daten erzeugt und die Daten jeweils an ein Modem M1, M2 oder M3 übermittelt,
das die Daten jeweils auf eine Telefonleitung 40, 42 oder 44 moduliert.
Für den
Zweck dieser Beschreibung ist die spezielle Art des Anrufers von
keiner Bedeutung und die Anrufer von 2 sind nur
zu Illustrationszwecken ausgewählt.
Die Anrufer weisen Kommunikationssoftware auf, die das PPP- oder
SLIP-Protokoll verwendet.
-
In 2 liegen
die Daten, die über
die Telefonleitungen 40, 42 und 44 übermittelt
werden, in analoger Form vor. Bei der Darstellung in 2 wurde
angenommen, dass das Kommunikationssystem das digitale öffentliche
vermittelte Telefonnetz („public
switched telephone network",
PSTN) 50 verwendet, wie beispielsweise das T1-Netz. Die
Anrufe von den Anrufern werden digitalisiert und von der Telefongesellschaft
in einen der 24 gemultiplexten Kanäle der 4-Draht-T1-Leitung 51 („T1 span
line") und in den
Netzzugangsserver 30 eingespeist. Der Begriff T1-Leitung bezieht sich
in der vorliegenden Verwendung auf 24 64 kbps (1000 Bits pro Sekunde)
DS0-Kanäle,
die in der 1544 Mbps DS1-Rate gemultiplext werden, wobei jeder DS0-Kanal
die digitale Darstellung eines analogen Sprachkanals trägt. Die
vorliegende Verwendung des Betriffs „Trunk" bezieht sich auf einen einzelnen DS0-Kanal.
-
Die
die eingehenden Kommunikationen darstellenden digitalen Signale
werden über
die T1-Leitung 51 (oder möglicherweise zwei Leitungen)
in den Netzzugangsserver 30 eingespeist. Der Netzzugangsserver 30 leitet
dann den eingehenden Anruf auf das Netz 52 weiter. Das
Netz kann ein Token-Ring-Netz, ein Ethernet oder eine andere Art
von Netz sein, dessen besondere Details nicht von Bedeutung sind.
Das Host-Computersystem 60 empfängt dann den Anruf und verarbeitet
die Anrufe nach Bedarf. Das in 2 dargestellte Host-Computersystem 60 besteht
aus einer Vielfalt von Computern, wie einem Personalcomputer C4,
einem Datenspeicher-Terminal C5 und einem Mainframe-Computer C3. Wie
im Fall der Anrufer 20, 22 und 24 sind die
Details des Host-Computersystems 60 und
seiner Teil-Komponenten von keiner besonderen Bedeutung. Das Host-Computersystem 60 weist
die Fähigkeit
auf, Anrufe über
den Netzzugangsserver 30 an die entfernten Daten-Terminals
zu senden (wie Anrufer 20).
-
Mit
Bezug auf 3 ist der Netzzugangsserver 30 in
einer funktionalen Blockdiagramm-Form gezeigt und wird detaillierter
beschrieben. Der Netzzugangsserver 30 besitzt ein Chassis 70,
das eine Telefonschnittstelleneinheit 72 aufnimmt, die
die eingehenden Anrufe auf der T1-Leitung 51 empfängt, die
Anrufe demultiplext und die Anrufe über einen Hochgeschwindigkeitszeitmultiplexbuskomplex 74 („time division
multiplex", TDM)
an zwölf
Quad-Modemmodule 76A, 76B etc. weiterleitet. Jedes
Modemmodul 76 besitzt vier Modems (in 3 nicht
gezeigt), die die eingehenden Anrufe demodulieren. Wenn zwei T1-Leitungen 51 in
den Netzzugangsserver 30 eingehen, sind daher 48 Modems
für alle
48 DS0-Kanäle
vorhanden, die in den Netzzugangsserver 30 eingehen. Die
Verbindungen auf dem TDM-Buskomplex zwischen der Telefonschnittstelleneinheit
und den Modems sind statische oder „festgenagelte" Verbindungen („nailed
up") und werden
beim Einschalten des Netzzugangsservers 30 eingerichtet.
Der TDM-Buskomplex 74 transportiert Daten zwischen allen unterschiedlichen
Modulen des Netzzugangsservers 30 hin und zurück. Der
Buskomplex 74 ist im folgenden detaillierter beschrieben.
-
Jedes
Modemmodul 76 ist mit einem entsprechenden Modemnetzschnittstellenmodul 78A, 78B,
etc. versehen. Die Modemnetzschnittstellenmodule 78 besitzen
vier Sync/Async RS 232-Ports 80. Die RS 232-Ports 80 sind
mit Computern des Host-Computersystems verbunden und können verwendet
werden, um die Anrufe aus dem Netzzugangsserver 30 an den
Host-Computer auszugeben (und wirken daher als ein „Netz" 52 im Sinne
des hier verwendeten Begriffs).
-
Der
Netzzugangsserver 30 weist zudem ein Übergangsanwendungsmodul 82 auf,
das als eine Schnittstelle zwischen der den Betrieb des Netzzugangsservers 30 regelnden
Software und der Software des Host-Computersystems wirkt. Das Übergangsanwendungsmodul 82 teilt
den Modems in den Modemmodulen 76 mit, welches Modulationsschema
für die
eingehenden Anrufe zu verwenden ist, ob der Anruf synchron oder asynchron
ist, und welchem Fehlerkorrekturprotokoll zu folgen ist. Das Übergangsanwendungsmodul 82 teilt zudem
den Modems mit, ob die Anrufe über
die RS 232-Ports 80 auszusenden sind oder ob die Anrufe
an das Netz 52 und das Host-Computersystem 60 zu
senden sind. Das Übergangsanwendungsmodul 82 enthält geeignete
Datenprozessoren, Speicher und andere Hardware, deren Details dem
Fachmann bekannt sind und hier keine besondere Bedeutung haben.
Ein Netzverwaltungsmodul 86 stellt Verwaltungs- und Überwachungsfunktionen
für den
Netzzugangsserver 30 sicher. Ein Energieversorgungsmodul 88 ist
zudem in dem Chassis 70 eingebaut, das alle Module in der
Schnittstelle für
eingehende Anrufe mit Energie versorgt. Das Energieversorgungsmodul
besteht aus zwei Energieversorgungseinheiten, die eine Umsetzung
von Wechselstrom in Gleichstrom durchführen, womit für eine volle
Redundanz im Fall des Versagens einer der Einheiten gesorgt ist.
Die Energieversorgungseinheiten im Modul 88 sind entsprechend
Standardmethodiken ausgelegt. Ein Hochgeschwindigkeitskühlungslüfter 90 ist
in dem Chassis 70 vorgesehen, um von den Energieversorgungseinheiten
während
des Betriebs des Netzzugangsservers erzeugte Wärme abzuführen. Ein An-/Ausschalter (nicht
gezeigt) ist vorgesehen, um die ganze Einheit 30 ein- und
auszuschalten.
-
Das
Chassis 70 ist ein Standard 19-Zoll-Platinengehäuse und
ist für
16 Fronteinschubanwendungsplatinen, 16 Rückeinschubsschnittstellenplatinen,
ein Netzverwaltungsmodul und ein zugehöriges Schnittstellenmodul ausgelegt.
-
A. Telefonschnittstelleneinheit 72
-
Die
Telefonschnittstelleneinheit 72 von 3 besteht
aus zwei getrennten Modulen, einem Schnittstellenmodul 105 für eingehende
Anrufe und einem Anwendungsmodul 175 für eingehende Anrufe. Der Zweck des
Schnittstellenmoduls 105 ist, die T1-Leitungen physikalisch
zu empfangen, das Signal in ein digitales TTL-Format umsetzen und
das Signal an das Anrufsanwendungsmodul 175 zu liefern.
Das Schnittstellenmodul 105 sieht eine CSU-Schnittstelle
vor, die Taktsignale und Daten von den eingehenden T1-Signalen gewinnt und
zudem die Übertragung
von ausgehenden digitalen Telefonsignalen an die T1-Leitung sicherstellt,
die die digitalen Daten darstellen. Das Modul 105 ist über einen
Rückwandplatinenanschluss
(„backplane
connector") mit
dem Anwendungsmodul 175 verbunden. Das Anwendungsmodul 175 sorgt
für ein
Rahmen von gewonnenen T1-Daten zum Extrahieren der T1-DS0-Kanal-Daten
und schaltet dann die Kanal-Daten über den TDM-Bus 74 auf
die Modemmodule 76.
-
Es
ist einzusehen, dass der Zeitmultiplex-(TDM-)Buskomplex 75 eine
Rahmensynchronisierungsleitung („frame sync line"), eine Zeitfenster-(„timeslot", TS) Taktleitung,
eine Bittaktleitung und zwei Datenleitungen („data highway lines") umfasst. Ein Paketbus
ist zudem zur Übertragung
von Kommunikationen zwischen den Modulen des Netzzugangsservers 30 vorgesehen.
-
Wie
in 4 gezeigt, werden Daten von dem Übermittlungsanschluss
(„transmit
terminal", TD) des Anwendungsmoduls 175 (3)
an den Empfangsanschluss („receive
terminal", RD) eines
der Quad-Modems (z.B. 76A oder 76B) und umgekehrt über Datenleitungen 156, 157 geschrieben.
-
B. Detaillierte Beschreibung
der Modemmodule 76 und 78
-
5 stellt
ein typisches Quad-Modemmodul 76A dar, das identisch zu
den anderen Modemmodulen des Netzzugangsservers ist. Jedes der Modemmodule 76 beinhaltet
vier Modems einer Gesamtheit von 24 Modems. As Ergebnis kann der
Netzzugangsserver 30 insgesamt 24 gleichzeitige Vollduplex-Datenkommunikationskanäle handhaben.
Wenn zwei T1-Leitungen in die Telefonschnittstelle 72 (3)
eingehen, können 12
Modemmodule vorgesehen werden, um 48 gleichzeitige Vollduplex-Kanäle zu handhaben.
Natürlich
kann nach Wunsch zusätzliche
Kapazität
vorgesehen werden.
-
Das
Modemmodul 76A umfasst eine Busschnittstelleneinheit 414,
die mit dem Paketbus 99 über einen Ausgabebus 419 kommuniziert.
Ein Board-Steuerprozessor 425 kommuniziert über Busse 428, 433 und 435. Ein
Flash-ROM 431 stellt
Speicher für
den Prozessor 425 bereit. Das Flash-ROM enthält zudem
den Code für die
Modemsteuerprozessoren 473–476 und die Digitalsignalprozessoren 453–456.
Die Busschnittstelle 415 kommuniziert mit dem TDM-Bus 74 über Bus 421.
-
Die
serielle Schnittstellenlogik des Digitalsignalprozessors („digital
signal processor serial interface logic") 437 kommuniziert jeweils
mit Prozessor 425 über
einen Bus 439 und mit individuellen Modems 447–450 über Busse 441–444.
Die Modems 447–450 sind
identisch. Die Modems weisen Digitalsignalprozessoren 453–456,
anwendungsspezifische integrierte Schaltkreise („application specific integrated
circuits", ASICs) 463–466 und
Modemsteuerprozessoren 473–476 auf, die wie
gezeigt über
Busse 457–460 und 467–470 verbunden
sind. Die Prozesso ren 473–476 kommunizieren
mit Prozessor 425 über
Bus 435. Die ASICs 463–466 stellen RS-232-Ports 477–480 bereit.
Diese Ports bilden zusammen mit den vergleichbaren Ports der Modemmodule 76B–76F eine
Gruppe von Modemnetzschnittstellenmodulen 78A–78F (3)
zum Ankoppeln der digitalen Signale an das Host-Computersystem.
Die Hardware für
jedes der Modems 447–450 ist
im Wesentlichen die gleiche wie die im USR Courier Dual Standard
Modem vorzufindende, das von U.S. Robotics, Inc., Skokie, Illinois
hergestellt wird.
-
Der
Board-Steuerprozessor 425 leistet die folgenden Funktionen:
Steuerung des Empfangs und der Übermittlung
von Paketen von und zu einem Verwaltungsbus (nicht gezeigt), Multiplexen
von Aufgaben für
den Paketbus 99, Steuern des Code-Satzes für das gesamte
Modemmodul 76A und Verteilen (d.h. Herunterladen) von Code
an die Modems im Modul 76A.
-
Die
Schnittstellenlogik 437 leistet die folgenden Funktionen:
Handhaben der Schnittstelle zum TDM-Bus 74, Zählen der
Zeitfenster, Multiplexen und Demultiplexen von Signalen im TDM-Bus 74.
-
Die
Protokollverarbeitung für
die eingehenden und ausgehenden Anrufe ist in der vorliegenden Ausführungsform
der Erfindung zwischen den vier Modemsteuerprozessoren 473, 474, 475 und 476 verteilt.
Die Datenverarbeitungs- und Modemsteuerverarbeitungsfunktionen des
DSP 453 und des Modemsteuerprozessors 473 können in
einen einzelnen Digitalsignalprozessor kombiniert werden.
-
Die
in
6 gezeigten Schaltungen sind wie in der folgenden
Tabelle gezeigt kommerziell erhältlich:
Schaltung | Hersteller
und Modellnummer |
Busschnittstelle 414 | Xilinx
3064 |
Board-Steuerprozessor 425 | Intel
80C188EB |
Flash-ROM 431 | Intel
28F020 |
serielle
DSP-Schnittstellenlogik 437 | Xilinx
3042 |
DSPs 453–456 | Tex.
Instr. 32OC51 |
ASICs 463–466 | US
Rob. 1.016.684 |
Modemsteuerprozessoren 473–476 | Intel
80C188EB |
-
III. Verteiltes Verarbeiten
von PPP- und SLIP-Protokollen
-
Mit
Hinblick auf die obige Beschreibung wird der Leser auf 6 hingewiesen,
die ein Flussdiagramm des Vorgangs des verteilten Verarbeitens entsprechend
der bevorzugten Form der vorliegenden Erfindung darstellt. Die folgende
Diskussion wird mit Bezug auf die Netzzugangsserver-Ausführungsform
der Erfindung angestellt. Der Fachmann wird einfach erkennen, dass
die Beschreibung an andere mögliche
Ausführungsformen
angepasst werden kann.
-
Bei
Schritt 200 ist ein Anruf von einem der entfernten Anrufer
eingegangen oder andernfalls ein Anruf von dem Host-Computersystem
an einen entfernten Computer oder ein anderes Datenterminal eingeleitet
werden. Bei Schritt 202 wird der Anruf in bekannter Weise
angenommen. Bei Schritt 204 bestimmt das Übergangsanwendungsmodul 82 (3)
das Protokoll des eingehenden oder ausgehenden Anrufs. Dies wird
beispielsweise getan durch Bestimmen der Port-Konfiguration des Anrufs, anhand der
Telefonnummer des Anrufers oder des Angerufenen, im Gespräch mit oder
durch Menüführung des
Benutzers, anhand eines Datenbankabgleichs des Benutzernamens, durch
eine automatische Erkennung oder Überprüfung einer Datenroutine oder durch
irgendeinen anderen eingesetzten Vorgang.
-
Bei
Schritt 206 konfiguriert das Übergangsmodul 82 den
Protokollmodus für
das Modem. Die Software-Routine von CONFIG1.S wird in diesem Schritt
implementiert. Wenn das asynchrone transparente Protokoll durchgeführt wird,
wird bei Schritt 214 ein Weiterleiten-bei-Zeitüberschreitung-(„forward
on timeout") oder
Puffer-voll-(„buffer
full") Befehl an
das Modem im Modemmodul 76 gesandt. Wenn das SLIP-Protokoll
verwendet wird, entfernen die Modems bei Schritt 210 Transparenz-
und Übersetzungszeichen
für empfangene
Anrufe und senden die Nutzlast („payload") (eine Anzahl von Bytes) oder Überlauf-Fehler
an das Übergangsmodul 82. In
dem beigefügten
Software-Listing sind bei diesem Schritt Routinen aus SLIPRC.S implementiert.
Für Übermittlungsanrufe
fügen die
Modems bei Schritt 212 Transparenzübersetzungszeichen und ein
SLIP-Rahmenzeichen
ein. In dem beigefügten
Software-Listing sind die Routinen aus SLIPTX.S implementiert.
-
Wenn
das PPP-Protokoll verwendet wird, wird die Routine aus CONFIG1.S
bei Schritt 208 implementiert. Schritt 208 aus 6 ist
im Detail in 7 gezeigt. Mit Bezug auf 7 tritt
das Übergangsmodul 82 bei Schritt 216 in
den LCP-Verhandlungsvorgang
mit den in den Request For Comments 1661 Standard dargelegten
Instruktionen ein. Der Request For Comments (RFC) 1661 Standard
ist ein öffentlich
verfügbares
Dokument, in dem für
die Internet-Gemeinschaft ein Protokoll zur Verfolgung von Internet-Standards
spezifiziert ist. Fachleute sind mit dem RCF 1661 Dokument
vertraut.
-
Bei
Schritt 218 konfiguriert das Übergangsmodul die Modems für jeden
LCP-verhandelten
Parameter. Dies kann beispielsweise in der Reihenfolge MTU, TX-Async-Zuordnung („TX Async
map"), RX-Async-Zuordnung
(„RX
Async map") geschehen.
Die Routine aus CONFIG2.S in den beigefügten Software-Listings beschreibt
diesen Vorgang. Der Vorgang tritt dann bei Schritt 220 in
eine Datentransferphase ein, in dem „Nachrichten" durch den Netzzugangsserver 30 hoch- oder heruntergeladen
werden. In der Empfangs- oder Hochlade-Richtung entfernen die Modems
die HDLC-Rahmenzeichen und senden die Nutzlast, die Anzahl von Bytes
und den Fehlercode (wie korrekte FCS („good FCS"), inkorrekte FCS („bad FCS"), Überlauf
oder Bruchstück
(„partial")). Dieses Verfahren
wird im beigefügten
Software-Listing PPPRX.S dargelegt.
-
In
der Übermittlungs-(Herunterlade-)Richtung
erhalten die Modems bei Schritt 224 die Nutzlast vom Übergangsmodel 82,
führen
Zeichentransparenzübersetzung
durch, übermitteln
eine asynchrone Zuordnung, berechnen die FCS und fügen HDLC-Rahmenzeichen
hinzu. Bei Schritt 226 werden die Nachrichten durch das Telefonnetz 51 ausgesandt.
Dieser Vorgang ist in der PPPTX.S Routine in dem beigefügten Listing
ausgeführt.
-
Ein
typisches Beispiel, das die Vorteile der Erfindung bezüglich des
Durchsatzes gegenüber
den Verfahren nach dem Stand der Technik illustriert, ist in den 8 bis 11 zu
sehen. 8 ist ein Graph des Upload-Durchsatzes unter Verwendung
einer Berechnung entsprechend dem Stand der Technik in einer einzelnen
Plattform an dem PPP-Protokollnetzübergang. Es ist zu bemerken,
dass der Gesamtdurchsatz des Netzzugangsservers nach einer mit 8
aktiven Ports erreichten Spitze im Wesentlichen konstant bleibt
und sich bei 17 aktiven Ports bei 24.000 Bytes pro Sekunde einpendelt.
Der Durchsatz pro Port startet relativ hoch bei grob 4600 Bytes
pro Sekunde bei einer kleinen Anzahl von aktiven Ports (d.h. weniger
als 10), fällt
allerdings dramatisch mit einer höheren Anzahl von aktiven Ports
ab. Somit zeigt 8 den Verarbeitungs-„Flaschenhals", der auftritt, wenn
die PPP-Protokollverarbeitung in einer einzelnen Plattform an der
Netzschnittstelle durchgeführt
wird.
-
9 ist
ein Graph des Upload-Durchsatzes, wenn die Technik der verteilten
Verarbeitung entsprechend der Lehre der vorliegenden Erfindung verwendet
wird. Es ist zu bemerken, dass der Gesamtdurchsatz bis zu 18 Ports
stetig steigt, zwischen 18 und 21 Ports leicht abfällt und
sich dann auf einen Gesamtdurchsatz von etwa 92.000 Bytes pro Sekunde
mit 25 aktiven Ports steigert. Zwischen 25 und 48 aktiven Ports
bleibt der Gesamtdurchsatz zwischen grob 72.000 Bytes und 86.000
Bytes pro Sekunde. Dies ist etwa das Drei- bis Vierfache des Gesamtdurchsatzes
im Vergleich zu den Ergebnissen von 7. Die Erfinder
sagen voraus, dass weitere Verbesserungen in der Systemabstimmung
die in 9 gezeigten Schwankungen im Systemdurchsatz beseitigen
werden, insbesondere für
höhere
Anzahlen von aktiven Ports. Es ist zu bemerken, dass der mittlere
Durchsatz pro Port unter Verwendung der Techniken der vorliegenden
Erfindung mit steigender Zahl an aktiven Ports relativ hoch bleibt,
was eine Effizienzverbesserung um mehr als den Faktor 3 im Vergleich
zu den Ergebnissen von 8 ausmacht, insbesondere bei
höheren
Zahlen von aktiven Ports.
-
10 ist
ein Graph des Download-Durchsatzes, wenn die PPP-Verarbeitung entsprechend
der vorbekannten Technik einer einzelnen Plattform am Netzübergang
durchgeführt
wird. In 10 ist zu bemerken, dass sich
der Gesamt-Download-Durchsatz
bei etwa 55.000 Bytes pro Sekunde oberhalb von 30 aktiven Ports einpendelt,
wenn die Techniken gemäß dem Stand
der Technik verwendet werden. Der mittlere Durchsatz pro Port beginnt
bei grob 45.000 Bytes pro Sekunde bei weniger als 10 aktiven Ports.
Dieser Wert sinkt allerdings stetig auf ein Minimum von etwa 12.000
Bytes pro Sekunde, wenn 48 aktive Ports verwendet werden.
-
11 ist
ein Graph des Download-Durchsatzes, wenn die Technik der verteilten
Verarbeitung entsprechend der Lehre der vorliegenden Erfindung verwendet wird.
Es ist zu bemerken, dass der Gesamt-Download-Durchsatz unter Verwendung
der Techniken der vorliegenden Erfindung stetig auf ein Maximum
von etwa 104.000 Bytes pro Sekunde bei 26 aktiven Ports steigt und
bei höheren
Graden von Anrufaktivität
relativ konstant bleibt. Wie anhand des Vergleichs von 11 mit 10 zu
sehen ist, stellt dies eine wesentliche Verbesserung des Anruf-Durchsatzes dar.
Der mittlere Durchsatz pro Port unter Verwendung der Techniken der Erfindung
bleibt bei bis zu 22 Ports relativ konstant bei 4.500 Bytes pro
Sekunde und sinkt dann langsam auf etwa 2.200 Bytes pro Sekunde
bei der Verwendung von 48 Ports ab. Dies stellt eine Verbesserung
um den Faktor 2 für
den Download-Durchsatz pro Port dar, insbesondere bei größeren Anrufvolumina.
-
Derzeit
bevorzugte Software-Routinen zur Implementierung der in 6 und 7 gezeigten
Prozeduren sind weiter unten in Code-Form dargelegt. Ein Fachmann
sieht, dass der Code nur ein Beispiel der Implementierung der Erfindung
in einer Netzzugangsserverumgebung darstellt. Der Code wird in den
Modems der Modemmodule 76 von 3 gespeichert
und ausgeführt.
Die Software-Routinen im Übergangsmodul 82, die
mit den Modem-Software-Routinen interagieren, umfassen relativ einfache
Steuer-Routinen höherer
Ebene, die von Fachleuten einfach entwickelt werden können.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-