-
TECHNISCHER HINTERGRUND
DER ERFINDUNG
-
Die Erfindung betrifft ein Verfahren
zum Komprimieren von Datenpaketen, ein Verfahren zum Dekomprimieren
von Datenpaketen, Vorrichtungen zum Komprimieren und Dekomprimieren
von Datenpaketen und ein System zum Übertragen von Datenpaketen
in komprimierter Form. In allgemeineren Worten betrifft die Erfindung
ein Verfahren zur Durchführung
einer Längenkonversion
von sogenannten Primitiven in einem Kommunikationssystem und Mittel
zur Umsetzung dieses Verfahrens.
-
Insbesondere betrifft die Erfindung
ein Verfahren zum Wandeln einer ersten Abfolge von Datenpaketen,
welche jeweils ein Kopffeld und ein Datenfeld aufweisen, in eine
zweite Abfolge von Datenpaketen, die jeweils ein Kopffeld und ein
Datenfeld aufweisen, wobei beide Abfolgen Datenpakete aus einer Vielzahl
von Kanälen
umfassen und Daten von den Datenfeldern der ersten Abfolge einem
Komprimierungsprozess unterworfen werden und dann in die Datenfelder
der zweiten Abfolge eingebracht werden. Solch ein Verfahren ist
aus der europäischen
Patentanmeldung EP-A-0,559,593
bekannt.
-
Datenkompression wird in der Praxis
angewandt, um die Kapazität
eines Kommunikationskanals zu erhöhen. Durch das Komprimieren
der zu übertragenden
Daten kann eine gewisse Anzahl von Daten in geringerer Zeit oder
geringerer Bandbreite übertragen
werden. Die Datenkompression wird in diesem Kontext in vielen Fällen durch
einen Komprimierungsprozess bestimmt, in dem die Frequenz des Auftretens
von Datenwörtern
oder Nachrichten eingesetzt wird, um die Daten effizienter zu kodieren: Durch
Ersetzen der häufigsten
Daten durch einen kurzen Code und weniger häufiger Daten durch einen langen
Code kann ein hoher Kompressionsgrad erreicht werden. Die komprimierten
Daten können dann
beispielsweise in Form von Datenpaketen übertragen werden. Somit wird
eine erste Abfolge von Datenpaketen in eine zweite Abfolge transformiert;
im Falle einer erfolgreichen Komprimierung wird die zweite Abfolge
im Allgemeinen kürzer
sein, d. h. weniger Daten als die erste Abfolge enthalten.
-
Bei dem bekannten Verfahren wird
eine erste Abfolge von Datenpaketen, die aus verschiedenen Quellen
(Kanälen)
stammen kann, in eine zweite Abfolge von Datenpaketen transformiert,
die über
einen (Netzwerk-)Kanal übertragen
werden können,
wobei Informationen in den Datenfeldern der zweiten Abfolge gespeichert
wird, welche sich auf die originalen Datenpakete beziehen. Daher
enthalten die Datenfelder der zweiten Abfolge Unter-Kopffelder,
die unter anderem die Länge
eines komprimierten Datenfeldes und Rekonstruktionsinformationen
enthalten. Auf der Basis dieser besagten Unter-Kopffelder können die originalen
Datenfelder, d. h. die Datenfelder der Datenpakete der ersten Abfolge,
rekonstruiert werden.
-
Dieses bekannte Verfahren weist den
Nachteil auf, dass eine relativ grosse Menge zusätzlicher Information, d. h.
die Unter-Kopffelder,
zu übertragen ist.
Im Ergebnis sind die Datenfelder der zweiten Abfolge effektiv in
der Grösse
vermindert und die nutzbare Übertragungskapazität an Datenpaketen
vermindert sich. Diese Wirkung ist noch mal stärker bei kleineren Paketlängen, wenn
ein relativ grosser Anteil der möglichen Übertragungskapazität durch
diesen Overhead eingenommen wird. Darüber hinaus müssen in
dem bekannten Verfahren die Unter-Kopffelder jeweils auf der Empfangsseite
von den Nutzdaten getrennt werden, bevor die Datenfelder dekomprimiert
werden können.
Dies führt
zu einem zusätzlichen
Verarbeitungsschritt, der sowohl Verarbeitungszeit als auch Verarbeitungsmittel
kostet (Schaltkreise und/oder Software). Falls das bekannte Verfahren über ein
Netzwerk mit Zwischenstationen (Vermittlungsstellen, Schaltpunkte)
zur Übertragung
von Nachrichten zwischen verschiedenen Quellen und Zielen eingesetzt
wird, beinhaltet das bekannte Verfahren weiterhin die Notwendigkeit,
für alle
Zwischenstationen die Komprimierungsfunktion zu unterstützen, da
das Weiterleiten des Netzwerkes an das Bündeln von Kanälen in den
komprimierten Datenpaketen angepasst werden muss.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Das Ziel der vorliegenden Erfindung
ist es, die oben genannten und andere Nachteile des Standes der
Technik zu überwinden
und ein Verfahren zum Umwandeln durch Datenkompression von einer Abfolge
von Datenpaketen anzugeben, was eine effiziente Übertragung der komprimierten
Daten durch optimalen Einsatz der Datenfelder der zweiten Abfolge
liefert.
-
Insbesondere ist es ein Ziel der
vorliegenden Erfindung, ein Verfahren anzugeben, um Datenfelder zu
transformieren, welches es schafft, dass Datenpakete von verschiedenen
Kanälen
in effizienter Weise verarbeitet werden.
-
Ein weiteres Ziel der vorliegenden
Erfindung liegt darin, ein Verfahren zum Transformieren von Datenpaketen
anzugeben, welches besonders geeignet für den Einsatz in X.25 Netzwerken
ist.
-
Es ist auch ein Ziel der vorliegenden
Erfindung, ein Verfahren zum Transformieren von Datenpaketen anzugeben,
welches von dem eingesetzten Komprimierungs- oder Dekomprimierungsverfahren un abhängig ist.
-
Zu diesem Zweck ist das Verfahren
gemäss der
Erfindung dadurch gekennzeichnet, dass jedes Datenfeld der zweiten
Abfolge Daten von nur einem Kanal enthält, und dass Daten, die in
ein Datenfeld der zweiten Abfolge eingesetzt werden, je Kanal gepuffert
werden. Mit anderen Worten, in der zweiten Abfolge werden nur Daten
von einem Kanal in dem Datenfeld für jedes Paket eingebracht.
Dies hat unter anderem den Vorteil, dass die (komprimierten) Daten der
verschiedenen Kanäle
in getrennten Datenpaketen übertragen
werden, so dass es nicht notwendig ist, innerhalb eines Datenpaketes
zu spezifizieren, zu welchem Kanal das Datenpaket gehört. Die
Datenpakete der zweiten Abfolge können daher im Prinzip direkt
an ihre letztendliche Zieladresse weitergeleitet werden, ohne vorher
dekomprimiert zu werden. Durch das getrennte Komprimieren von jedem
Kanal wird gemäss
der Erfindung weiterhin gewährleistet, dass
nur die Übertragungs-
und Empfangsstation innerhalb eines Netzwerkes die Komprimierung
unterstützen
müssen,
ohne dass das Übertragungsnetzwerk
selbst dafür
ausgelegt sein muss. Gemäss
dem erwähnten
Stand der Technik ist dagegen eine Anpassung des Netzwerkes nicht
notwendig, um die Komprimierung einer Vielzahl von Kanälen zu unterstützen, d.
h. eine Vielzahl von (Quellen-)Kanälen zu einem (Netzwerk-)Kanal.
-
Um die Möglichkeit von aufeinanderfolgenden
Datenpaketen in der ersten Abfolge (von originalen Datenpaketen),
die zu verschiedenen Kanälen gehören, zu
erreichen, ohne, in der zweiten Abfolge, teilweise leere Datenpakete
zu übertragen,
werden gemäss
der Erfindung die Daten von verschiedenen Kanälen getrennt gepuffert, d.
h. je Kanal. Dies macht es möglich,
in optimaler Weise die Datenpakete der zweiten Abfolge von („komprimierten" Datenpaketen) mit
Daten zu füllen,
da für
jeden Kanal komprimierte Daten aufgespeichert werden können, z.
B. bis das Datenfeld eines Datenpa ketes ganz gefüllt ist.
-
In diesem Zusammenhang bezieht sich
der Begriff „Kanal" auf einen logischen
Kanal, mit anderen Worten, auf einen Übertragungsweg zwischen einer
Quelle (Sendeseite) und einem Ziel (Empfangsseite), welcher Weg
nur für
eine bestimmte Zeit existiert. In diesem Verfahren kann eine Vielzahl
von Kanälen über eine
körperliche
Verbindung aktiv sein, aber ein Kanal muss nicht direkt einer bestimmten körperlichen
Verbindung zugeordnet sein. Über
einen Kanal werden eine oder mehrere Nachrichten in der Gestalt
von Datenpaketen übertragen,
wobei eine Nachricht üblicherweise
durch eine Markierung „Ende
der Nachricht" (Stoppcode)
beendet wird. Solch eine Markierung „Ende der Nachricht" dient daher dazu,
das Ende einer Gruppe von Datenpaketen anzuzeigen, die in funktionaler
Weise miteinander verbunden sind.
-
Ein Kanal kann möglicherweise mehrere Unterkanäle umfassen
(zusammengesetzte Kanäle), wobei
beispielsweise ein Unterkanal Benutzerdaten trägt, während ein anderer Unterkanal
Steuerdaten trägt.
Im Falle des X.25-Protokolls werden die Unterkanäle durch das Q-Bit identifiziert.
Im Falle, dass Unterkanäle
identifiziert werden können,
ist das Verfahren gemäss
der Erfindung dadurch gekennzeichnet, dass in jedem Datenfeld der
zweiten Abfolge Daten von nur einem Unterkanal enthalten sind, und dass
Daten, die in einem Datenfeld der zweiten Abfolge einzuordnen sind,
je Unterkanal gepuffert sind. Es ist wohlverstanden, dass ein Unterkanal
mit einem Kanal zusammenfallen kann. Zu diesem Zweck wird in der
Beschreibung allgemein das Wort „Kanal" mit der Bedeutung verstanden „Kanal
oder Unterkanal".
-
Die oben erwähnte Abfolge von Datenpaketen
kann, wie bereits erwähnt,
Datenpakete aus einer Vielzahl von Kanälen enthalten, kann aber auch
aus Datenpaketen aus nur einem Kanal (oder Unter kanal) zusammengesetzt
sein. Zur selben Zeit kann die Abfolge aus einer oder mehreren Nachrichten
bestehen, kann synchron oder asynchron sein und braucht keine feste
oder spezifische Länge
aufzuweisen. Daher kann eine „Abfolge" selbst aus einem
einzelnen Datenpaket bestehen.
-
In den Begriffen des OSI-Modells
(siehe Druckschrift 3, Kapitel 12) kann der Erfindung zugesprochen
werden, in einem Kommunikationssystem ein Verfahren zur Durchführung einer
Längenkonversion
von Primitiven einer ersten Schicht (z. B. n) zu liefern, wobei
die Primitiven in eine zweite, untere Schicht (z. B. n-1) übertragen
werden, wobei die Primitiven funktionelle Beziehungen zueinander
haben, und die Längenwandlung
das Anpassen der Anzahl der Dateneinheiten in solch einer Weise
umfasst, dass die Primitiven ihre funktionellen Beziehungen behalten.
In den oben genannten Fällen
umfassten die funktionellen Beziehungen einen Kanal oder eine Benutzeridentität, während die
Längenwandlung
die Datenkompression umfasst.
-
In dem Verfahren gemäss der Erfindung
wird vorzugsweise eine Prüfung
ausgeführt,
ob das letzte Datenpaket eines Kanals in der ersten Abfolge auftritt und
im Falle, dass das letzte Datenpaket auftritt, werden alle gepufferten
Daten dieses Kanals in ein oder mehrere Datenpakete der zweiten
Abfolge eingepasst. Das heisst, sobald das letzte Datenpaket eines Kanals
empfangen worden ist, wird der entsprechende Puffer (oder Satz von
Puffern) geleert und alle Daten dieses Puffers werden in die Datenpakete übernommen.
Somit wird eine Gruppe von Datenpaketen eines bestimmten Kanals
ohne eine bestimmte Wartezeit, die zu diesem Zweck abzulaufen hat,
geschlossen. Weiterhin können
geleerte Puffer einem anderen Kanal verfügbar gemacht werden. Hierzu kann
in diesem Zusammenhang der Begriff „das letzte Datenpaket eines
Kanals" generell
verstanden werden als: „das
letzte Datenpaket einer Gruppe von Datenpaketen eines Kanals", und umfasst damit
das letzte Datenpaket einer Nachricht, die über diesen Kanal übertragen
worden ist. Der Kanal selbst kann beispielsweise eine körperliche
oder logische Verbindung umfassen und in dem Verfahren weiter bestehen.
Das Auftreten des letzten Datenpaketes kann festgestellt werden,
beispielsweise durch eine Markierung „Ende der Nachricht". Die besagte Gruppe von
Datenpaketen, von denen das Auftreten des letzten Datenpaketes festgestellt
wird, könnte
auch einen Teil einer Nachricht oder einer Vielzahl von Nachrichten
umfassen, beispielsweise die Datenpakete eines Kanals, die während einer
bestimmten Periode empfangen worden sind.
-
Wenn das letzte Datenpaket eines
Kanals der erste Abfolge aufgetreten ist und die gepufferten Daten
in einem Datenpaket der zweiten Abfolge eingepasst sind, ist es
möglich,
dass die gepufferten Daten das Datenfeld des Datenpakets nicht in
seiner Gänze
auffüllen
können.
Um in einer einfachen Weise auf der Empfangsseite feststellen zu
können,
wo die Nutzdaten enden, ist vorgesehen, dass, falls in ihrer zweiten
Abfolge das Datenfeld des letzten Datenpaketes eines Kanals nicht
in der Gesamtheit gefüllt ist,
dieses Datenfeld mit Abschlussdaten aufgefüllt wird. Diese Abschlussdaten
werden vorzugsweise in solch einer Weise ausgewählt, dass sie als solche in einer
einfachen Weise von der Empfangsseite festgestellt werden können und
umfassen daher vorzugsweise einen festen Code. Daher können diese abschliessenden
Daten einen Strang von identischen Bits umfassen, vorzugsweise mindestens
11 Einsen. Die Anzahl der identischen Bits ist vorzugsweise im Verfahren
gemäss
der für
die Datenkompression eingesetzten Codierung ausgewählt, beispielsweise
in solch einer Weise, dass die Anzahl von Bits gleich oder grösser ist
als die Anzahl von Bits des längsten Codeworts.
-
Vorzugsweise wird, wenn Abschlussdaten
in einem Datenpaket der zweiten Abfolge vorliegen, eine Prüfung ausgeführt, ob
ein letztes Datenpaket in der ersten Abfolge aufgetreten ist. Somit
wird eine einfache und dennoch hoch effektive Fehlerprüfung durchgeführt.
-
Vorzugsweise wird das Verfahren gemäss der Erfindung
in solch einer Weise ausgeführt,
dass ein Datenfeld der zweiten Abfolge ausschliesslich komprimierte
Daten und/oder Abschlussdaten umfasst. Mit anderen Worten: In einem
Datenfeld der zweiten Abfolge treten keine zusätzlichen Informationen auf
in Bezug auf die Länge
einer Nachricht, den betreffenden Kanal oder ähnlichem. Somit kann die verfügbare Übertragungskapazität für Datenpakete in
optimaler Weise genutzt werden. Möglicherweise können in
diesem Zusammenhang die sogenannten „komprimierten Daten" in manchen Fällen auch
nicht komprimierte Daten umfassen, die dann jedoch aus einem Datenfeld
der ersten Abfolge stammen.
-
Vorzugsweise wird das Auftreten des
letzten Datenpaketes eines Kanals auf der Basis von Informationen
in den Kopffeldern der Datenpakete der ersten Abfolge diagnostiziert.
So kann die Identifizierung des letzten Datenpaketes stattfinden,
beispielsweise zur selben Zeit wie die Kanalidentifikation. Falls
Datenpakete zu wandeln sind, die nicht mit solch einer Identifikation
in den Kopffeldern versehen sind, kann das Auftreten des letzten
Datenpaketes in einer anderen Weise festgestellt werden, z. B. durch Identifizieren
von Abschlussinformationen in einem Datenfeld der ersten Abfolge.
-
Falls die Datenpakete für Datenübertragung in Übereinstimmung
mit dem X.25-Protokoll ausgerichtet sind, umfasst die Information,
auf der Basis von welcher das Auftreten des letzten Datenpaketes eines
Kanals diagnostiziert wird, vorzugsweise das m-Bit („Mehr Bit" für „more bit"). Falls das m-Bit
gleich zu Null ist, werden keine weiteren Datenpakete desselben
Kanals mehr folgen. Somit kann eine sehr einfache Identifikation
des letzten Datenpakets erreicht werden.
-
Gemäss dem Verfahren nach der Erfindung können viele
verschiedene Komprimierungsverfahren eingesetzt werden. Vorzugsweise
wird in einem Komprimierungsverfahren eine Tabelle mit Codewörtern eingesetzt,
die auf der Frequenz des Auftretens von Daten basiert. Unter Bezugnahme
auf solch eine Tabelle wird jedes originale Datenwort durch ein
Codewort ersetzt, wobei gewisse Datenworte häufig auftreten (oder beispielsweise
einen hohen Informationsgehalt haben), die in einem relativ kurzen
Code eingesetzt werden. Mit Komprimierungsverfahren dieses Typs,
die an sich bekannt sind, kann die Tabelle während des Komprimierungsverfahrens
zusammengesetzt werden. Bei dem Verfahren gemäss der Erfindung wird jedoch
vorzugsweise eine feste (Frequenz-)Tabelle eingesetzt. Durch Mittel
einer (vorbestimmten) festen oder zumindest zeitweise festen Tabelle
ist es möglich,
zu verhindern, dass Datenexpansion zu Beginn des Komprimierungsprozesses
stattfindet, Darüber
hinaus vermeidet dies Bit-Fehler in der Übertragung, die daraus entstehen, dass
die jeweiligen Tabellen auf der Übertragungsseite
und der Empfangsseite aus der Synchronisierung laufen, Nach einer
vorbestimmten Zeit oder nach einer vorbestimmten Anzahl von Datenpaketen kann
die Tabelle erneuert und/oder überprüft werden.
-
Obwohl das Verfahren gemäss der Erfindung in
hoher Weise für
den Einsatz von vielen Kanälen geeignet
ist, ist es auch möglich,
das Verfahren einzusetzen, falls alle Datenpakete der ersten Abfolge zum
selben Kanal gehören.
Im Falle, dass die erste Abfolge Datenpakete aus einer Vielzahl
von Kanälen umfasst,
ist es möglich,
dass die Komprimierung nur auf Datenpakete von einigen der Kanälen angewandt wird,
so dass die Daten von mindestens einigen Kanälen in der zweiten Abfolge
in nicht komprimierter Form eingesetzt werden. In dem Verfahren
können sich
die nicht komprimierten Daten geändert
haben oder sie können
einer vollständig
anderen Operation, wie einer Verschlüsselung, unterzogen worden
sein. Weiterhin können
Daten, die tatsächlich
komprimiert worden sind, auch einer unterschiedlichen Behandlung
wie Verschlüsselung
unterzogen werden.
-
Obwohl das Verfahren gemäss der Erfindung hier
unter Bezugnahme auf das Wandeln von Datenpaketen beschrieben worden
ist, ist es auch möglich, anstelle
von ersten und/oder dritten Abfolgen von Datenpaketen einen oder
mehrere (synchrone oder asynchrone) Bitströme zu wandeln. Es ist auch
möglich,
dass die erste Abfolge und im Falle von bidirektionalem Verkehr
auch die dritte Abfolge eine Abfolge von Zeitschlitzen ausbilden.
-
Die Erfindung liefert weiterhin ein
Verfahren zum Wandeln einer zweiten Abfolge von Datenpaketen in
eine dritte Abfolge von Datenpaketen mit Kopffeldern und Datenfeldern,
wobei Daten aus den Datenfeldern der zweiten Abfolge einem Dekomprimierungsverfahren
unterzogen und in Datenfeldern der dritten Abfolge abgelegt werden.
Durch diese Vorgehensweise werden Daten, die in einem Datenfeld
der dritten Abfolge abgelegt sind, vorzugsweise je Kanal gepuffert.
Falls die Dekomprimierung und die Komprimierung symmetrisch sind,
können
Datenpakete der dritten Abfolge in diesem Falle zu Datenpaketen der
ersten Abfolge identisch sein.
-
Wenn das Verfahren gemäss der Erfindung für die Übertragung
von Datenpaketen eingesetzt wird, bei der die erste Abfolge von
Datenpaketen von mindestens einem Kanal diskontinuierlich erfolgt,
ist es vorzugsweise möglich,
für diesen
Kanal mindestens ein Datenpaket der zweiten Abfolge diskontinuierlich
zu übertragen,
selbst wenn das Datenfeld dieses Datenpakets nur teilweise ge füllt ist.
Im Ergebnis können
lange Verzögerungen
in der Datenübertragung
vermieden werden. (Falls in dem Verfahren die Datenpakete der ersten
Abfolge in Übereinstimmung mit
dem X.25-Protokoll übertragen
werden, kann es vorteilhaft sein, dass m-Bit eines solchen Datenpaketes zu ignorieren.)
Datenpakete der zweiten Abfolge können zu diesem Zweck beispielsweise
zu vorbestimmten Zeiten oder zu einem vorbestimmten Zeitpunkt, der
vergangen ist, übertragen
werden, da (im Allgemeinen komprimierte) Daten in einem leeren Puffer
eingesetzt worden (der sogenannte „Time-out-Mechanismus"). In solch einer
Art und Weise werden Datenpakete in intermittierender Weise komprimiert
und übertragen.
Dies ist insbesondere vorteilhaft für Datenquellen, die Daten nur
intermittierend erzeugen, wie Messinstrumente. Falls die Datenpakete
der zweiten Abfolge kleiner sind als die der ersten Abfolge, wird
die Komprimierung immer in einer Verbesserung der Effizienz der
Datenübertragung
resultieren, selbst wenn jedes Datenpaket einer ersten Abfolge in
ein Datenpaket der zweiten Abfolge gewandelt worden ist (1-zu-l-Wandlung).
Im Falle des X.25-Protokolls werden Datenpakete der zweiten Abfolge
dann weniger Segmente aufweisen (von z. B. 64 Bytes).
-
Die Erfindung liefert darüber hinaus
eine Vorrichtung zum Komprimieren von Datenpaketen, eine Vorrichtung
zum Dekomprimieren von Datenpaketen und ein System zum Übertragen
von Datenpaketen in komprimierter Form.
-
DRUCKSCHRIFTEN
-
- [1] EP-A-0,559,593
- [2] ITU Recommendation V.42 bis
- [3] F. Mazda (Ed.) : "Telecommunications
Engineer's Reference
Book", Oxford 1993
- [4] ITU Recommendations V.34
- [5] ITU B-ISDN Adaptation Layer Specification I.363
- [6] P. Horowitz & W.
Hill: "The Art of
Electronics", Cambridge
1989.
-
Diese Druckschriften werden hiermit
als in den Beschreibungstext angenommen angesehen.
-
BEISPIELHAFTE AUSFÜHRUNGSBEISPIELE
-
Die Erfindung wird nun in grösserem Detail unter
Bezugnahme auf die Figuren näher
beschrieben. Es zeigen:
-
1 eine
schematische Ansicht der Wandlung einer ersten Abfolge von Datenpakete
in eine zweite Abfolge von Datenpaketen,
-
2 eine
schematische Ansicht des Verfahrens des Komprimierens von einer
Abfolge von Datenpaketen gemäss
der Erfindung,
-
3 eine
schematische Darstellung des Verfahrens gemäss der Erfindung in Bezug auf
ein OSI-Modell,
-
4 eine
schematische Darstellung eines ersten Ausführungsbeispiels einer Vorrichtung
zum Komprimieren und/oder Dekomprimieren von Datenpaketen gemäss der Erfindung,
-
5 eine
schematische Ansicht eines zweiten Ausführungsbeispiels einer Vorrichtung
zum Komprimieren und/oder Dekomprimieren von Datenpaketen gemäss der Erfindung,
und
-
6 eine
schematische Ansicht eines Systems zum Übertragen von Datenpaketen,
bei dem die Erfindung angewandt worden ist.
-
Die 1 zeigt
eine erste Abfolge 10 von (Quellen-) Datenpaketen als Beispiel.
Die aufeinanderfolgenden Datenpakete 11, 12, 13, 14 und 15 der Abfolge 10 können zu
verschiedenen Kanälen
gehören.
In dem dargestellten Fall gehören
die Datenpakete 11, 12 und 14 zu Kanal A, während die
Pakete 13 und 15 zu Kanal B gehören. Natürlich ist
es in der Praxis möglich,
dass längere
Abfolgen auftreten, deren Datenpakete dann mehr als zwei Kanälen zugehörig sind.
-
Die Erfindung schafft die Wandlung
der ersten Abfolge 10 in eine zweite Abfolge 20 der
(Übertragungs-)Datenpakete.
Die aufeinanderfolgenden Datenpakete 21, 22 und 23 gehören jeweils
zu den Kanälen
A, A und B.
-
Jedes Datenpaket der dargestellten
Abfolge 10 und 20 umfasst ein Kopffeld (oder Kopf)
h und ein Datenfeld d. Durch den Einsatz eines geeigneten Komprimierungsverfahrens
werden die Datenpakete 11 bis 15 (inklusive) in
Datenpakete 21 bis 23 (inklusive) gewandelt. Gemäss der Erfindung
umfasst dies das Einpassen nur der Datenfelder d (Quellen-) Datenpakete
der Abfolge 10 in komprimierter Form in die Datenfelder
d der (Übertragungs-)
Datenpakete der Abfolge 20. Mit anderen Worten wird die
Information der Kopffelder h der Datenpakete 11 bis 15 nicht in
die Datenfelder der Datenpakete 21 bis 23 eingebunden.
Auf der anderen Seite können
die Kopffelder h der Datenpakete einer ersten Abfolge 10 zumindestens
in Teilen und in manchen Fällen
sogar in ihrer Gesamtheit Datenkopffeldern h von Datenpaketen einer
zweiten Abfolge 20 entsprechen. Es ist für die zweite
Abfolge auch möglich,
dass sie eine Struktur aufweist, die vollkommen unterschiedliche
ist zu der der ersten Abfolge und beispielsweise nach einem anderen
Protokoll zusammengestellt worden ist.
-
Eine Abfolge von Datenpaketen desselben Kanals,
wie sie in der ersten Abfolge 10 dargestellt durch die
Datenpakete 11, 12 und 14 ausgebildet werden
kann, hat im allgemeinen eine begrenzte Länge. Das letzte Paket einer
solchen Gruppe wird im Allgemeinen mit einer Markierung versehen,
um dem Ziel bekanntzugeben, dass eine bestimmte Nachricht abgeschlossen
ist. Im Falle des X.25-Protokolls
wird dies durch das Einbinden in das Kopffeld von einem Bit (das „m-Bit", für „mehr-Bit" nach „more mit") erreicht, welches
gleich zu null ist (m = 0), falls keine weiteren Datenpakete derselben
Nachricht oder Kanal folgen, sonst ist das Bit gleich zu 1 (m = 1).
Ein anderer Weg anzuzeigen, dass keine weiteren Datenpakete derselben
Gruppe folgen, ist es, in das Datenfeld einen Stoppcode einzubinden
(„Ende
der Nachricht"),
was durch den Empfänger
festgestellt werden kann. Solch ein Stoppcode kann beispielsweise
aus Steuersymbolen bestehen, die in einer einfachen Weise von den
normalen Nutzdaten unterschieden werden können. Falls gewünscht, kann
das Ende einer Nachricht von der Zeitspanne abgeleitet werden, die
abgelaufen ist, seit das letzte Datenpaket dieses Kanals empfangen
worden ist („Time-out").
-
Gemäss der Erfindung umfassen die
Datenpakete der Abfolge 20 jeweils (komprimierte oder nicht
komprimierte) Daten von nur einem Kanal (oder Unterkanal) und die
Daten für
jeden Kanal werden getrennt gepuffert. Durch Zuweisen von jedem
Datenpaket der zweiten Abfolge 20 zu nur einem Kanal, ist
es möglich,
eine einfache Weise der Dekomprimierung auf der Empfangsseite (Ziel)
zu erreichen, wobei die Datenfelder d der Datenpakete der zweiten Abfolge 20 nicht
erst in Fragmente von getrennten Kanälen zu trennen sind. Darüber hinaus
ist es daher nicht notwendig, in den Datenfeldern d zusätzliche
Informationen in Bezug auf die Teile der Datenfelder einzupassen,
die zu einem bestimmten Kanal gehören, wie die Längeninformation
von Blöcken
innerhalb des Datenfeldes. Somit wird eine noch effizientere Übertragung
erreicht, da das Datenfeld eines Datenpakets der zweiten Abfolge
nur mit Daten gefüllt
werden kann. Darüber
hinaus ist es möglich, auch
nicht komprimierte Daten in einem Datenpaket der zweiten Abfolge
einzupassen, z. B. falls nur einer oder mehrere Kanäle (oder
Unterkanäle)
nicht komprimiert ist oder sind. Dies kann beispielswei se der Fall
sein, falls ein bestimmter Unterkanal Steuerdaten enthält.
-
Durch das Puffern von Daten von jedem
Kanal im Wesentlichen getrennt ist es möglich, eine optimale Füllung der
Datenfelder d der zweiten Abfolge 20 zu erreichen. Falls
ein solches Puffern nicht stattzufinden hat, würde die Komprimierung in einer
geringeren Menge von Daten pro Datenpaket resultieren, aber die
Anzahl von Datenpaketen je Kanal würde im Prinzip gleich bleiben
und im Ergebnis würde sich
in den meisten Fällen
kein Vorteil herausstellen (wenn nicht die Datenpakete der zweiten
Abfolge eine kürzere
Länge als
die der ersten Abfolge haben, was eine Einschränkung der zweiten Abfolge bedeutet).
Durch das Mittel der oben genannten Kombination von Massnahmen kann
ein sehr grosser Grad an Effizienz der Datenübertragung erreicht werden, ohne
dass irgendwelche Anforderungen hinsichtlich der Struktur der Datenpakete
der zweiten Abfolge bestehen. Zur selben Zeit wird ein grosser Grad
an Flexibilität
im Weiterleiten geliefert, da Zwischenstation des Netzwerks, über die
komprimierte Datenpakete zu übertragen
sind, nicht irgendwelche Anforderungen zum Zwecke der Kompression
zu erfüllen
haben.
-
Es ist festzuhalten, dass, wo dieser
Text von einem „Datenpaket" spricht, dies auch
als Protokolldateneinheit („PDU"), Behälter oder
Dateneinheit allgemein verstanden werden kann. Es ist selbstverständlich,
dass die Datenpakete oder Dateneinheiten auch, ausserhalb eines
Kopffeldes und eines Datenfeldes, andere Felder wie ein Abschlussfeld
(oder Trailer) enthalten können.
Dies ist jedoch nicht wesentlich für die Erfindung. Die Erfindung
kann selbst auf Datenströme
angewandt werden, die nicht in Paketform vorliegen. Insbesondere
kann die Erfindung in vorteilhafter Weise bei der Kompression und
Dekompression von Datenpaketen in Netzwerken angewandt werden, die
in Übereinstimmung
mit dem X.25-Protokoll arbeiten, insbesondere für Anwendungen auf der Schicht 3 des
OSI-Modells.
-
In der 2 ist
das Verfahren gemäss
der Erfindung in schematischer Weise dargestellt. Die erste Abfolge 10 von
Datenpaketen, die in grösserem Detail
in der 1 dargestellt
sind, wird in eine zweite Abfolge 20 von Datenpaketen gewandelt.
Bei dem Verfahren werden die Datenpakete 11 bis 15 der
ersten Abfolge 10 zuerst einem Prozess P unterworfen, der
ein geeignetes Datenkompressionsverfahren umfassen kann, das als
solches bekannt ist, wie beispielsweise ein Datenkompressionsverfahren,
welches gemäss
dem Ziv-Lempel-Verfahren arbeitet. In dem oben genannten Fall umfasst
das Verfahren P auch eine Kanalidentifikation. Die komprimierten
Daten werden gepuffert, insbesondere getrennt für jeden Kanal. Die komprimierten
Daten der Datenpakete 11, 12 und 14 werden
daher in kontinuierlicher Weise gepuffert, bis ein Datenfeld der
zweiten Abfolge in seiner Gesamtheit gefüllt ist. In dem dargestellten
Fall wären
die komprimierten Daten der Datenpakete 11 und 12 fähig, beispielsweise
das Datenpaket 21 vollständig zu füllen, wonach das besagte Datenpaket übertragen
werden kann. Jegliche verbleibende komprimierte Daten des Kanals
A werden in dem Puffer des Kanals A („Puffer A") gespeichert. Dann werden die Daten
des Pakets 13 komprimiert und in den Puffer des Kanals
B gespeichert („Puffer
B") (unter der Annahme,
dass diese Daten nicht in der Gesamtheit ein Datenpaket der zweiten
Abfolge füllen). Das
nächste
zu komprimierende Paket, das Datenpaket 14, ist das letzte
Paket der Gruppe, welche aus den Paketen 11, 12 und 14 besteht.
Nach der Komprimierung werden die komprimierten Daten des Kanals
A in temporärer
Weise in dem Puffer des Kanals A gespeichert, wonach der Puffer
geleert wird und die komprimierten Daten des Kanals A in dem Paket 22 gespeichert
werden. Falls das Paket 22 nicht in seiner Gesamtheit gefüllt ist,
können
Endinformationen hinzugefügt
werden. Es ist vorzugsweise im Kopfteil des Datenpaketes 22 angegeben,
dass dies. das letzte Paket einer Gruppe ist. Das Paket 15 kann
in der Zwischenzeit einem Komprimierungsprozess ausgesetzt worden
sein. Wie es im Falle des Kanals A war, werden die komprimierten
Daten für
eine kurze Zeit in dem betreffenden Puffer gespeichert, in diesem
Fall im Puffer des Kanals B, um dann zusammen mit den in dem Puffer
bereits vorliegenden Daten in dem Datenpaket 23 angeordnet
zu werden. Es wird vorzugsweise im Kopfteil des Datenpakets 23 angegeben,
dass dies das letzte Datenpaket einer Gruppe (oder jeweils eines
Kanals) ist. Falls erforderlich, kann das Datenfeld des Datenpakets 23,
wie es auch schon für
das Datenpaket 22 der Fall gewesen ist, mit Abschlussinformationen
(Trailerdaten) versehen werden.
-
Es ist wohlverstanden, dass die Pufferaktionen
der Puffer, die hier erwähnt
worden sind, in vielerlei Hinsicht realisiert werden können, und
dass bei mehr als zwei Kanälen
eine Vielzahl von Puffern vorgesehen sein können, wie dies in der Figur
durch die gestrichelten Linien angegeben ist (optionaler Puffer C
für den
Kanal C). Falls das letzte Datenpaket eines bestimmten Kanals übertragen
worden ist, kann der Puffer dieses Kanals, falls erforderlich, einem
anderen Kanal zugewiesen werden. So kann beispielsweise, falls der
Kanal B beendet ist, der Puffer B einem neuen Kanal, z. B. dem Kanal
C oder D zugewiesen werden.
-
Wie oben beschrieben kann die Zeit,
die Daten in einem Puffer verweilen, in vielen Fällen sehr kurz sein. Die Funktion
der Puffer ist hauptsächlich diejenige,
die Daten eines bestimmten Kanals zu sammeln, in solch einer Weise,
dass die Pakete der zweiten Abfolge so effizient wie möglich eingesetzt werden
können.
-
Das Dekomprimieren gemäss der Erfindung umfasst
das Empfangen (Übertragen)
von Datenpaketen, das Unterwerfen der Datenfelder in diesen Übertragungsdatenpaketen
in einem Dekomprimierungsverfahren und Ausbilden von (Ziel-)Datenpaketen,
die in ihren Datenfeldern die dekomprimierten Daten enthalten. Da
keine Rekonstruktionsinformation benötigt wird, die von den Datenfeldern
herauszuziehen ist, kann die Dekomprimierung und das Ausbilden der
Zieldatenpakete direkt stattfinden. Vorzugsweise findet das Dekomprimieren
in einer Weise statt, die analog zu dem Komprimierungsverfahren ist,
welches in der 2 dargestellt
ist.
-
In der 3 wird
das Verfahren der Erfindung in schematischer Weise in Bezug auf
das OSI-Modell gezeigt (siehe Druckschrift 3, Kapitel 12). Wenn
gemäss
dem OSI-Modell zwischen zwei Schichten (n, n-1) eines Kommunikationsnetzwerkes kommuniziert
wird, findet zwischen diesen Schichten eine Übertragung von sogenannten
Primitiven statt, die auch als Schnittstellendateneinheiten (IDU
für Interface
Data Units) bekannt sind. Die Primitiven einer Schicht n werden
in der Schicht n-1 behandelt, d. h. in einer unteren Schicht. Die
Primitiven der Schicht n werden durch die Schicht n-1 in eine oder
mehrere Protokolldateneinheiten (PDU) übertragen, die dann die „virtuelle" Kommunikation zwischen
der Schicht n-1 der sendenden Seite und der Schicht n-1 der empfangenden
Seite bilden. Zum Beispiel sind für die Schicht 3 des
X.25-Protokolls dieses die Pakete des sogenannten Paketniveauprotokolls.
-
In den meisten Fällen werden die Datenpakete
A1, A2, ..., Ax über
ein Zwischennetzwerk der Schicht n-1 der Empfangsseite zugestellt.
Falls jedoch in einer Schicht n-1 eine Verarbeitung der Daten stattfindet,
wie Datenkomprimierung oder -dekomprimierung, sollte die Struktur
der Dateneinheiten (d. h. die Datenpakete oder PDU's), die für die Übertragung
der Primitiven notwendig sind, durch diese Verarbeitung nicht beeinträchtigt werden.
Es ist festzustellen, dass die Länge
der Daten in einer Primitiven im wesentlichen grösser sein kann, als die maximale Länge einer
Dateneinheit, wobei die Länge
einer Dateneinheit häufig
durch das betreffende Netzwerk vorgegeben ist.
-
In der 3 wird
eine Primitive A dargestellt, wie die von der Schicht n in die Schicht
n-1 auf der Sendeseite übergeht,
was durch ein S bezeichnet ist . Die Primitive A stellt eine Abfolge
von Datenpaketen oder Daten dar, die aus höheren Schichten der Sendeseite
stammen. Bei der Schicht n-1 ergibt die Primitive A eine erste Abfolge
von Datenpaketen A1, A2, ...,
Ax, wobei diese Abfolge der Abfolge 10 in
den 1 und 2 entspricht. Die Abfolge
wird einem Verfahren P unterworfen, wie einem Datenkomprimierungsverfahren
oder im Allgemeinen einem Kodierverfahren. Wie in der 3 dargestellt, findet dieses Verfahren
in der Schicht n-1 statt. Als Ergebnis des Verfahrens P wird eine
zweite Abfolge von Datenpaketen B1, B2, ..., By erzeugt,
wobei diese zweite Abfolge der Abfolge 20 in den 1 und 2 entspricht. Im Fall der Datenkomprimierung
wird die Anzahl der Datenpakete der zweiten Abfolge kleiner sein,
als diejenige der ersten Abfolge: y < x. Die zweite Abfolge 20 wird über ein
Netzwerk übertragen
(welches aus Gründen
der Klarheit nicht dargestellt worden ist). Wie dargestellt, findet
die Übertragung
der Abfolge 20 über
ein Netzwerk in der Schicht n-1 statt, kann aber auch andere (untere)
Schichten aufweisen und umfassen, wie die Schicht n-2.
-
Auf der Empfangsseite, welche mit
dem Buchstaben R bezeichnet wird, werden die vorausgegangenen Schritte
im wesentlichen umgekehrt. Zuerst wird die Abfolge der Datenpakete
B1, B2, ..., By dem Verfahren P' unterworfen, wobei das Verfahren P' in den meisten Fällen das
inverse Verfahren des Prozesses P an der Sendeseite ist, d. h. die
Datendekomprimierung, wenn der Schritt P Datenkomprimierung umfasst.
Als Ergebnis davon wird eine dritte Abfolge 30 erzeugt,
wobei diese dritte Abfolge 30 in den meisten Fällen gleich
und äquivalent
zu der Abfolge 10 ist und die Datenpakete A1,
A2, ..., Ax umfasst.
Diese Datenpakete der Schicht n-1 werden nachfolgend als eine Primitive
durchgelassen, die wiederum durch A gekennzeichnet ist und zu einer
nächst
höheren Schicht
(n) der Empfangsseite R übergeht.
Die Primitive A kann zu noch höheren
Schichten übertragen werden.
-
Wie das Beispiel in der 3 zeigt, werden Datenpakete
eines ersten Formats (A1, A2,
..., Ax) verarbeitet (P), als Datenpakete
eines zweiten Formates (B1, B2,
..., By) übertragen und bei der Schicht
n-1 wieder verarbeitet (P').
Bei diesem Beispiel sind die originalen und die sich ergebenden
Datenpakete identisch, wie auch die entsprechenden Primitiven. Das Verfahren
gemäss
der Erfindung liefert daher eine Längenkonversion von Primitiven
einer gewissen Schicht (n) bei einer tieferen Schicht (n-1). Wie
unter Bezugnahme auf die 2 beschrieben.
worden ist, werden bei diesem Verfahren die funktionalen Beziehungen
der Primitiven beibehalten durch Zuweisen der Datenpakete der zweiten
Abfolge (B1, B2,
..., By) auf nur einen Kanal oder Unterkanal.
Die besagten funktionalen Verhältnisse
können
beispielsweise die (Unter)Kanalidentität und/oder Benutzeridentität der Primitiven
umfassen. Wie oben beschrieben, ist ein Unterkanal ein bildender
Bestandteil eines Kanals, d. h. alle X.25-Datenpakete eines bestimmten
Kanals, die ein Q-Bit mit dem Wert 1 haben, bilden einen Unterkanal
dieses Kanals.
-
Bei der Schicht n-1 wird die Struktur
der Primitiven durch den Hinweis „Ende der Nachricht" vorgegeben. Bei
dem X.25-Protokoll ist solch ein Marker durch ein m-Bit gebildet,
welches gleich 0 ist. Dieses Prinzip kann beispielsweise auch bei
ISDN-basierten Netzwerken angewandt werden. Im Falle von ISDN kann
die weiterleitende Schicht durch ein gewähltes Weiterleitungsprotokoll
realisiert sein, z. B. die Schicht 3 von X.25. Im Falle
von ATM wird der Marker „Ende
der Nachricht" durch
sogenannte Segmenttypfelder oder „ST-Felder" (siehe Druckschrift 5) gebildet.
Dies weist auf den Zusammenhang zwischen Dateneinheiten (sogenannte
SAR PDU's) und Primitiven
(sogenannte SAR SDU's)
hin. Das Ignorieren der „Ende
der Nachricht",
um einen höheren
Kompressionsfaktor zu erhalten, wird von ATM in dem ST-Feld durch
die sogenannte Einzelsegmentnachricht (SSM für Single Segment Message) gestützt.
-
Vorzugsweise ist die n-1-Schicht,
die in dem Beispiel der 3 genannt
worden ist, die Schicht drei des OSI-Modells (n = 4). Die Schicht
n-1 kann jedoch auch auf andere Niveaus des OSI-Modells hinweisen, wie die Schichten 2 oder 4.
Das Verfahren gemäss
der Erfindung kann auf alle Kommunikationstechniken angewandt werden,
die auf dem OSI-Modell arbeiten. Vorzugsweise findet die Verarbeitung
inner- oder oberhalb der Weiterleitungsschichten statt, um die Unabhängigkeit
von der Weiterleitung beizubehalten.
-
Das Verfahren gemäss der Erfindung, wenn es auf
die Schicht 3 des OSI-Modells angewandt wird, weist den
zusätzlichen
Vorteil auf, dass die Datenkomprimierung bei derselben Schicht wie
der Tarifschicht stattfinden kann. Wenn in der Schicht 2 komprimiert
wird, wird die Benutzerlast nicht durch die Datenkomprimierung vermindert.
Ein weiterer Vorteil des Anwendens der Erfindung bei der Schicht 3 ist
die Möglichkeit
der hohen Datenkomprimierung, da in der Schicht 2 die Kombination
von Informationsquellen stattfindet, was zu einer geringen Redundanz der
Daten führt.
Aufgrund dieser speziellen Kombination wird ein adaptiver Komprimierungsalgorithmus nicht
fähig sein,
eine optimale Komprimie rung zu erhalten, da die zu komprimierenden
Daten unterschiedliche Charakteristika aufweisen. Mit der Erfindung
ist es jedoch möglich,
eine hohe Komprimierungsrate zu erhalten, da die Komprimierung in
einer höheren
Schicht des OSI-Modells stattfindet und wobei die Daten der verschiedenen
Quellen getrennt verarbeitet werden können.
-
Die Vorrichtung 100, die
in schematischer Weise in der 4 dargestellt
ist, umfasst eine Identifikationseinheit 110, eine Steuereinheit 120,
eine Verarbeitungseinheit 130, die über einen Datenbus 140 mit
einem Speicher 150 verbunden ist, und eine Puffereinheit 160.
Die Identifikationseinheit 110 umfasst einen Eingangspuffer
und hiermit verbunden, Identifikationsmittel zum Identifizieren
(des Kanals von) einlaufenden Datenpaketen. Die Identifikation wird
an die Steuereinheit 120 übergeben, die daraufhin die
Verarbeitungseinheit 130 und den Speicher 150 in
einer kanalbezogenen Weise adressiert. So kann der Speicher 150 in
sich verschiedene Komprimierungsverfahren gespeichert haben, die
für verschiedene
Kanäle
ausgewählt
werden können.
Dekomprimierungsverfahren können
in gleicher Weise in dem Speicher 150 gespeichert werden,
so dass die Vorrichtung 100 auch für die Dekomprimierung eingesetzt
werden kann; falls erforderlich, ist die Vorrichtung 100 auch
fähig,
einige Kanäle
zu komprimieren und andere Kanäle
zu dekomprimieren. Bei dieser Vorgehensweise kann ein Dekomprimierungsverfahren,
oder die Rekonstruktion von Daten, die für dieses Verfahren erforderlich
sind, übertragen
werden, wenn ein Kanal aufgesetzt wird, bevor Datenpakete zu dekomprimieren
sind. Es ist auch möglich,
dass der Speicher 150 so ausgebildet ist, vollständig oder in
Teilen, dass es ein nur Lese-Speicher ist (ROM), so dass gewisse
Daten (Rekonstruktionsdaten für den
Dekomprimierungsprozess als einer oder auch andere Dekomprimierungsprozesse)
permanent in der Vorrichtung 100 auftreten müssen. Selbst,
wenn die Vorrichtung 100 als Komprimie rungsvorrichtung eingesetzt
wird, kann es vorteilhaft sein, gewisse Daten nur in einem Nur-Lese-Speicher
zu speichern.
-
Das für einen bestimmten Kanal erforderliche
Verfahren wird geladen unter der Steuerung der Steuereinheit 120, über den
Datenbus 140 aus dem Speicher 150 in die Verarbeitungseinheit 130.
Die Verarbeitungseinheit 130 umfasst vorzugsweise einen
Mikroprozessor zur Durchführung
des Verarbeitungsverfahrens. Vorzugsweise ist die Verarbeitungseinheit 130 mit
einem Prozessorspeicher versehen, um Daten in Bezug auf den vorliegenden
Fall zu speichern. Die Aufgabe des Prozessorspeichers kann jedoch
auch von dem Speicher 150 durchgeführt werden. Um die Verarbeitungsgeschwindigkeit der
Vorrichtung 100 zu erhöhen,
können
an dem Datenbus 140 eine Vielzahl von parallelen Verarbeitungseinheiten 130 angeschlossen
sein. Alternativ dazu könnte
eine Vielzahl von (Mikro-)Prozessoren jeweils mit einem Prozessorspeicher
versehen sein und könnte
falls notwendig, in einer Prozessoreinheit 130 angeordnet
sein.
-
Die Puffereinheit 160 umfasst
einen Ausgangspuffer 161, der zum Nutzen gemäss der Erfindung
aus einer Vielzahl von Pufferabschnitten A, B C etc. zusammengesetzt
ist, des entsprechenden Kanals. wie bereits oben erwähnt, muss
die Zuweisung von Puffern zu bestimmten Kanälen nicht festgelegt sein und
kann, falls erforderlich, je nach Bedingungen geändert werden. Somit kann der
Pufferabschnitt A in der 4,
nachdem der Kanal A beendet ist, beispielsweise für den neuen
Kanal H zugewiesen werden.
-
Jeder Pufferabschnitt A, B, etc.
des Ausgangspuffers 161 enthält bevorzugt ein (Verschiebe-)Register,
könnte
aber auch durch einen Direktzugriffsspeicher (RAM) ausgebildet sein.
Ein zusätzlicher
Speicherabschnitt BP („Bit-Hinweiser" für „Bit Pointer") wird vorgesehen,
um Informationen zu speichern, die auf die Men ge an Daten hinweist,
insbesondere wie viele Bits und/oder Bytes jeweils in jedem Pufferteil
gespeichert sind oder dort verbleiben, nachdem das letzte zu übertragende
Datenpaket gefüllt
worden ist. Falls erforderlich, kann der Pufferabschnitt BP getrennt
ausgebildet sein, es können
reservierte Abschnitte der Pufferabschnitte A, B, etc. sein.
-
Die Puffereinheit 160 umfasst
weiterhin eine Auswahleinheit 162, die beispielsweise durch
einen Multiplexer ausgebildet ist, um einen Pufferabschnitt auszuwählen, in
dem Daten, die in die Puffereinheit 160 eintreten, gespeichert
werden müssen.
Diese Auswahl findet in dem dargestellten Beispiel auf der Basis
von Steuersignalen statt, die durch die Steuereinheit 120 auf
der Basis der Identifikationsinformation erzeugt worden sind. Die
Puffereinheit 160 könnte auch
(hier nicht dargestellte) Mittel umfassen, um geeignete Datenpakete
zu erzeugen, die beispielsweise eine Länge von 128 Bits aufweisen,
in denen die Daten von den Pufferabschnitten übermittelt werden.
-
Mit der Hilfe der Vorrichtung 100 gemäss der Erfindung
ist eine schnelle und effiziente Komprimierung einer Abfolge von
Datenpaketen möglich.
Der Grad der Effizienz kann in diesem Zusammenhang zusätzlich davon
abhängen,
ob Stoppcodes oder andere Markierungen (so wie das m-Bit), die auf
das Ende einer Gruppe von Datenpaketen hinweisen (Nachricht, Kanal),
auftreten. Vorzugsweise ist die Vorrichtung 100 so ausgestaltet,
dass das Abzählen von
Stoppcodes und ähnlichem
einstellbar ist. Dies macht es möglich,
die Arbeitsweise der Vorrichtung an die mit der Vorrichtung verbundenen
Ausrüstung anzupassen.
-
In einer ersten Arbeitsweise nimmt
die Vorrichtung das Ende einer Gruppe von Datenpaketen überhaupt
nicht wahr, so dass die Daten für
jeden Kanal gepuffert werden, selbst wenn eine Nach richt vollständig ist.
Dies ermöglicht
den höchsten
Grad an Füllung
von Datenpaketen der zweiten Abfolge, da es nicht notwendig ist,
am Ende jeder Gruppe ein Datenpaket zu übertragen, welches (in den
meisten Fällen) teilweise
leer ist oder mit Abschlussdaten versehen ist. Um zu gewährleisten,
dass die zuletzt im Puffer gespeicherten Daten gesendet werden,
kann ein Zeitablaufmechanismus vorgesehen sein, der beispielsweise
dazu führt,
dass die Steuereinheit 120 den Puffer eines bestimmten
Kanals leert und dazu führt,
dass ein Datenpaket, welches von diesem Kanal auszusenden ist, falls
während
eines gewissen Zeitraumes kein Datenpaket dieses Kanals in der Vorrichtung 100 empfangen
worden ist. Dieses Leeren eines Puffers kann auch zu bestimmten
Zeiten stattfinden, oder falls das Ziel eine Anforderung in diesem
Zusammenhang an die Vorrichtung 100 schickt. Solch eine
Anforderung kann die Gestalt eines speziellen Codes in den Daten
eines Datenpaketes annehmen, das an die Vorrichtung 100 übermittelt wird.
-
In einer zweiten Arbeitsweise wird
das Ende einer Gruppe von Datenpaketen in gleicher Weise nicht berücksichtigt,
aber ein Paket der zweiten Abfolge wird, sobald ein Datenpaket der
ersten Abfolge verarbeitet ist, gesandt. Während dies gewährleistet, dass
die Daten so schnell wie möglich übertragen werden,
ist der nutzbare Effekt der Datenkomprimierung sehr klein, da im
Allgemeinen nur teilweise gefüllte
Datenpakete ausgebildet werden.
-
In einer dritten Arbeitsweise werden
Stoppcodes oder andere Hinweise, dass das Ende einer Nachricht oder
eines Kanals erreicht worden ist, betrachtet. Falls das letzte Datenpaket
einer Nachricht oder eines Kanals identifiziert worden ist, wird
der betreffende Puffer geleert. So wird eine schnelle Datenübertragung
zu allen Zeiten möglich
sein, während die
Ausbildung von nur teilweise gefüllten
Datenpaketen in nicht unbeträchtlicher Weise
eingeschränkt wird.
-
Es ist festzustellen, dass in manchen
Systemen zur Übertragung
von Datenpaketen es möglich sein
kann, zwischen dem Ende einer Nachricht und dem Ende des Kanals
zu unterscheiden, z. B. bei der Übertragung
am Ende des Kanals durch einen speziellen Code oder ein spezielles
Datenpaket. In diesem Fall ist es vorteilhaft, die Puffer am Ende
einer Nachricht zu leeren, dies aber nicht am Ende eines Kanals zu
tun.
-
Das Leeren der Puffer umfasst in
diesem Zusammenhang das Übertragen
der in den Puffern verbleibenden Information. Wenn das Ende eines
Kanals eintritt, können
die Puffer „geleert" werden, d. h. zurückgesetzt
werden, ohne dass die verbleibende Information übertragen wird. In beiden Fällen sind
die Puffer am Ende schlussendlich leer. Das „Ende eines Kanals" kann auftreten,
wenn ein logischer Kanal unterbrochen wird (z. B. „unterbrochen" für „disconnect" in X.25) und wenn
in dem Netzwerk ein Fehlerhinweis auftritt (z. B. ein „Paket
zurücksetzen" für „Reset Packet" in X.25), was darauf
hinweist, dass es unsicher ist, ob die übermittelten Daten ihr Ziel
erreicht haben.
-
Die in der 5 schematisch dargestellte Vorrichtung 200 umfasst
wie die Vorrichtung 100 aus der 4 eine Identifikationseinheit 210,
eine Steuereinheit 220, eine Verarbeitungseinheit 230,
die über
einen Datenbus 240 mit einem Speicher 250 verbunden
ist, und eine Puffereinheit 260. Die Identifikationseinheit 210 umfasst
einen Eingangspuffer und hiermit verbunden, Identifikationsmittel
zum Identifizieren (des Kanals und/oder Unterkanals) von einlaufenden
Datenpaketen.
-
In der Vorrichtung 200 umfasst
die Puffereinheit 260 einen Ausgangspuffer 261,
der gemäss
der Erfindung aus einer Vielzahl von Pufferabschnitten A, B C etc.
zum Nutzen der entsprechenden Kanäle besteht. Im Gegensatz zum
Ausgangspuffer 161 umfasst der Ausgangspuffer 261 der 5 Pufferabschnitte, die
doppelt ausgelegt sind, d. h. jeder Pufferabschnitt umfasst zwei
weitere Abschnitte oder Teile, wobei jedes Teil einem bestimmten
Unterkanal zugewiesen ist. So bestehen für den Kanal A die Abteile A
und A'. In gleicher
Weise sind die Abteile B und B' für den Kanal
B vorgesehen. In dem gegebenen Beispiel können die Daten von zwei Unterkanälen für jeden
Kanal gepuffert werden. Es ist wohlverstanden, dass die Pufferabschnitte
aus einer Vielzahl von Abteilen bestehen können, z. B. drei, vier oder
fünf, um eine
Vielzahl von Unterkanälen
für jeden
Kanal zu unterstützen.
Der zusätzliche
Pufferabschnitt BP („Bit-Zeiger" für „Bit Pointer") braucht nicht mehrfach realisiert
sein, sofern vorgesehen ist, dass er von ausreichender Grösse ist,
um die Zustände
von allen Pufferabschnitten zu registrieren. Der Pufferabschnitt BP
kann auch aus hierfür
reservierten Teilen der Pufferabschnitte A, A', B, B', usw. bestehen.
-
Anstelle des Vorsehens innerhalb
eines Puffers 261 von Pufferabschnitten mit vielfachen
Abteilen, kann der Puffer 261 auch als ganzes doppelt oder
dreifach implementiert werden, wobei die Puffereinheit 260 somit
Puffer 261, 261' etc.
entsprechend der Notwendigkeit umfasst. Alternativ kann die gesamte
Puffereinheit 260 in mehrfacher Form vorhanden sein.
-
Wie bereits oben erwähnt, braucht
die Zuweisung von Puffern oder Pufferabschnitten zu bestimmten Kanälen oder
Unterkanälen
nicht fix sein, sondern kann, falls erforderlich, entsprechend den Umständen geändert werden.
So kann der Pufferabschnitt A in der 5,
nachdem die Unterkanäle
A und A' beendet
worden sind, beispielsweise einem (neuen) Kanal H zugewiesen werden.
-
Die Puffereinheit 260 umfasst
eine Auswahleinheit 262, die zusätzlich zu den Funktionen der Auswahleinheit 161 der
Puffereinheit 160 eine Auswahl, basierend auf den Unterkanälen ausführt, d.
h. die Auswahleinheit 262 weist Daten Pufferabschnitten
zu, basierend auf ihren Kanal und ihren Unterkanalidentifizierungen.
Abgesehen von der Puffereinheit 260, kann die Vorrichtung 200 funktionell
und konstruktiv gleich zur Vorrichtung 100 der 4 ausgestaltet sein. Dennoch
sind die Verarbeitungseinheit 230 und die Steuereinheit 250 vorzugsweise
ausgestaltet, um Daten in Abhängigkeit
von ihrer jeweiligen Unterkanal-Identifikation zu verarbeiten. Die
Identifikationseinheit 210 ist in gleicher Weise angeordnet, um
Unterkanäle
zu identifizieren.
-
Die Vorrichtung 100 der 4 und die Vorrichtung 200 der 5 können aus kommerziell erhältlichen
Komponenten hergestellt werden (siehe Druckschrift 6).
Vorzugsweise kann die Vorrichtung auch als anwender-spezifischer
integrierter Schaltkreis (ASIC) ausgeführt sein. Um in einer Vorrichtung sowohl
die Komprimierung als auch die Dekomprimierung für bidirektionalen Verkehr zu
liefern, können
zwei Vorrichtungen 100 zusammen in einem Gehäuse angeordnet
oder alternativ vollständig
integriert sein.
-
Das System der 6 umfasst Komprimierungs- und Dekomprimierungs-Vorrichtungen 2,
die über
ein Netzwerk 1 verbunden sind. In diesem Zusammenhang und
Anordnung können
die Vorrichtungen 2 beispielsweise zwei Vorrichtungen 100 oder 200 der 4 oder 5 aufweisen. Das Netzwerk 1 kann
ein Kommunikations-Netzwerk sein, das als solches bekannt ist, wie
ein Netzwerk, welches mit dem X.25-Protokoll arbeitet. Eine Vorrichtung 2 kann eine
Vielzahl von Einheiten 3 aufweisen, die mit ihr verbunden
sind, die jeweils Multiplexer umfassen können. Falls erforderlich, können diese
Einheiten 3 auch keine Datenpakete aussenden, sondern Datenströme, die
nur in den Vorrichtungen 2 in Datenpaketen ausge bildet
werden. Die Vorrichtungen 3 können mit sich und einer Vielzahl
von Endbenutzern 4 verbunden sein. Zwischen den Endbenutzern 4 können eine
Vielzahl von (logischen) Kanälen
aufgesetzt sein. Durch das Anwenden der Erfindung können die Daten
von diesen Kanälen
zu jeder Zeit in effizienter Weise in komprimierter Form über das
Netzwerk versandt werden.
-
Es ist für die Fachleute auf diesem
Gebiet wohlverstanden, dass die Erfindung nicht auf die dargestellten
Ausführungsbeispiele
beschränkt
ist und dass viele Änderungen
und Zusätze
möglich
sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.