-
Die
vorliegende Erfindung betrifft Protokolle (d.h. Sätze von
Regeln) für
die Übertragung
von digitalen Daten zwischen einem Absender und einem Empfänger (der
Absender und der Empfänger
sind z.B. Computersysteme, die sich an unterschiedlichen physischen
Orten befinden).
-
Die
gebräuchliche
Form der digitalen Datenübertragung
enthält
das Senden von digitalen Daten in der Form von Datagrammen über ein
Netz. Siehe z.B. Computer Networks von Andrew S. Tanenbaum, Prentice-Hall
Inc., Eaglewood Cliffs, NJ 1981. Ein Datagramm ist eine Gruppe von
Bits, die einen Abschnitt der digitalen Daten, die zu übertragen
sind, darstellen, und jedes Datagramm wird einzeln vom Netz behandelt.
Somit unterteilt die Datenverarbeitungseinheit des Absenders dann,
wenn eine große
Datenmenge von einer Datenverarbeitungseinheit des Absenders zu
einer Datenverarbeitungseinheit des Empfängers zu übertragen ist, die große Datenmenge
in Blöcke
kleinerer Größe (die
nachfolgend als Datensätze
bezeichnet werden) und packt diese Sätze in Datagramme für eine Übertragung über ein
Datenübertragungsnetz
zu der Datenverarbeitungseinheit des Empfängers. Die Datagramme, die über das
Netz gesendet werden, haben eine Größe im Bereich von 1 Byte bis
zu einer festen Anzahl (beispielsweise n) Bytes. Die Datensätze, die
in die Datagramme gepackt werden sollen, können ebenfalls eine Größe im Bereich
von 1 Byte bis zu einer anderen festen Anzahl (beispielsweise m)
Bytes besitzen.
-
Immer
dann, wenn ein Datagramm über
das Netz gesendet wird, gibt es verschiedene Verwaltungsdaten, die
mit einer derartigen Übertragung
verbunden sind. Erstens wird eine Zeitdauer benötigt, um jedes Datagramm an
dem sendenden und an dem empfangenden Ende zu verarbeiten. Diese
Zeitdauer wird in zwei Komponenten unterteilt: einen festen Betrag
für jedes
Datagramm und einen Betrag, der zu der Größe des Datagramms proportional
ist. Der feste Betrag ist gewöhnlich
bedeutend größer als
der variable Betrag. Zweitens muss jedes Datagramm spezielle ihm
zugeordnete Daten (Adressinformationen usw.) aufweisen, die eine
feste Menge der speziellen Daten beinhalten, die jedem Datagramm
anzufügen
sind. Infolge dieser Verwaltungsdaten ist es deswegen nicht zweckmäßig, kleine
Datagramme über
das Netz zu senden.
-
Die übliche Technik
zum Packen von Datensätzen
in Datagramme beinhaltet das Übernehmen
der Datensätze
in einer Reihenfolge. Es soll z.B. eine Aufstellung von Datensätzen mit
variabler Länge
von 200 Byte, 250 Byte, 100 Byte und 50 Byte in eine Vielzahl von
512 Byte-Datagrammen gepackt werden. Die ersten beiden Sätze können in
das erste Datagramm gepackt werden (da die Summe von 200 Byte und
250 Byte in ein 512 Byte-Datagramm passt). Der nächste Datensatz (von 100 Byte)
passt jedoch nicht hinein (da 450 plus 100 größer ist als die Kapazität eines
Datagramms von 512 Byte). Somit muss der 100 Byte-Datensatz in das nächste Datagramm
gepackt werden.
-
Ein
Problem bei dieser Technik des Standes der Technik besteht jedoch
darin, dass in dem ersten Datagramm ein bestimmter Platz übrigbleibt,
der nicht genutzt wurde. Somit werden die oben erläuterten
Verwaltungsdaten für
eine Datenübertragung
verwendet, die kleiner ist als andernfalls möglich. Wenn ferner bestimmte
Datenübertragungsnetze
verwendet werden, wie etwa ein Mobilnetz, kann die Übertragungszeit
sehr teuer sein, deshalb ist es äußerst vorteilhaft,
wenn möglichst
wenige Datagramme über
das Netz übertragen
werden, wobei möglichst
viele Daten in jedes Datagramm gepackt sind. Dadurch hat der gegenwärtige Stand
der Technik auf diesem Gebiet eine wenig leistungsfähige und
möglicherweise
sehr teure Systemarchitektur zur Folge.
-
Patent
Abstracts of Japan, Bd. 012, Nr. 072 (E-588), 5. März 1988,
offenbart eine Technik zum Packen von Datagrammen, bei der Datensätze gleicher
Länge aus
der Reihenfolge herausgenommen werden.
-
Gemäß einem
ersten Aspekt stellt die Erfindung eine Datenübertragungsvorrichtung bereit,
die mit einem Netz verbunden ist, durch welches Datagramme von der
Datenübertragungsvorrichtung
zu wenigstens einer anderen Datenübertragungsvorrichtung, die
ebenfalls mit dem Netz verbunden ist, übertragen werden, wie im Anspruch
1 beansprucht ist.
-
Das
Mittel zum Zuweisen berücksichtigt
vorzugsweise zu einem Zeitpunkt lediglich ein Datagramm, wenn Datensätze Datagrammen
zugeordnet werden. Das Mittel zu Zuweisen berücksichtigt jedoch alternativ zu
einem Zeitpunkt eine Vielzahl von Datagrammen, wenn Datensätze Datagrammen
zugeordnet werden.
-
Vorzugsweise
muss jeder Datensatz kleiner als oder gleichgroß wie jedes Datagramm sein.
Alternativ ist der Datensatz jedoch größer als ein Datagramm.
-
Gemäß einem
zweiten Aspekt stellt die Erfindung ein Verfahren zum Ausführen der
Funktionen dar, die in Bezug auf den ersten Aspekt genannt wurden.
-
Gemäß einem
dritten Aspekt stellt die Erfindung ein auf einem computerlesbaren
Speichermedium gespeichertes Computerprogrammprodukt bereit, das
dann, wenn es auf einem Computersystem läuft, die Funktionen ausführt, die
in Bezug auf den ersten Aspekt genannt wurden.
-
Durch
das Herausnehmen von Datensätzen
aus der Reihenfolge, wenn Datensätze
Datagrammen zugewiesen werden, und indem dadurch vor der Übertragung
möglichst
viele Daten in jedes Datagramm gepackt werden, ist eine sehr leistungsfähige Nutzung
des Übertragungsaufwandes
möglich.
Das schafft eine sehr große
Kosteneinsparung, insbesondere dann, wenn das Netz drahtlos ist,
bei dem es (im Vergleich zu Drahtnetzen) teuer ist, ein Datagramm
zu übertragen.
-
Eine
bevorzugte Ausführungsform
der vorliegenden Erfindung wird nun unter Bezugnahme auf die beigefügten Figuren
genau beschrieben, durch die ein besseres Verständnis der Erfindung möglich ist.
-
1 ist
ein Blockschaltplan einer Vielzahl von Datenübertragungsvorrichtungen, die
mit einem Netz verbunden sind, wobei die bevorzugte Ausführungsform
der vorliegenden Erfindung in diesem Kontext beschrieben wird;
-
2 ist
ein Ablaufplan, der die Schritte erläutert, die beim Packen von
Datensätzen
in Datagramme gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung angewendet werden; und
-
3 veranschaulicht
ein Beispiel des Packens von Daten, das gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung ausgeführt wird.
-
Wie
in 1 gezeigt ist, ist eine Datenübertragungsvorrichtung 10 (die
ein Personalcomputer sein könnte)
mit einem Netz 11 (das das Internet oder ein anderes Netz
zum Verbinden von Datenübertragungsgeräten sein
könnte)
verbunden. An das Netz 11 sind außerdem weitere Datenübertragungsvorrichtungen 12, 13 und 14 angeschlossen.
Jede Datenübertragungsvorrichtung
kann mit anderen Datenübertragungsvorrichtungen
kommunizieren, indem Daten über
das Netz gesendet werden.
-
Die
Datenübertragungsvorrichtung 10 ist
genauer gezeigt, und es wird bei der folgenden Erläuterung angenommen,
dass diese Vorrichtung 10 Daten an wenigstens eine weitere
Datenübertragungsvorrichtung (12, 13 und/oder 14)
sendet. Die Vorrichtung 10 enthält eine Speichereinheit 101 zum
Speichern von Daten, die durch die Vorrichtung 10 übertragen
werden sollen. Diese Speichereinheit 101 könnte ein
Festplattenlaufwerk, ein Floppy-Disk-Laufwerk, ein Halbleiterspeicher
oder eine andere wohlbekannte Speichereinheit sein. Eine Datenzugriffeinheit 102 wählt aus,
welche Daten zu übertragen
sind, greift auf diese Daten in der Speichereinheit 101 zu
und leitet dann die Daten, auf die zugegriffen wurde, zu einer Datensatz-Bildungseinheit 103.
Die Datensatz-Bildungseinheit 103 teilt die Daten in Datensätze mit
verschiedenen Größe auf,
wobei einige Datensätze
z.B. kleiner sind als andere. Die Datensatz-Bildungseinheit 103 sendet
dann die Datensätze zu
der Datenpackeinheit 104, die die Datensätze in Datagramme
packt (die Einheit 104 nimmt z.B. die Datensätze, die
nachfolgend als Datagramm bezeichnet werden, und weist sie einer
netzeigenen Datenübertragungseinheit 11 zu).
-
Die
Funktion, die von der Datenpackeinheit 104 ausgeführt wird,
wenn sie von der Datensatz-Bildungseinheit 103 mit Datensätzen beliefert
wird, wird nachfolgend in Verbindung mit dem Ablaufplan von 2 beschrieben.
Zuerst wird jedoch eine Quellencodeversion der Funktionalität angegeben,
um diese Funktionalität
deutlich zu veranschaulichen:
-
-
In 4 beginnt der Prozess des Packens von
Datensätzen
in ein erstes Datagramm. Im Schritt 200 wird ein erstes
Datagramm zum Packen vorbereitet (d.h., die Datenpackeinheit 104 konzentriert
sich auf ein erstes Datagramm, dem sie nun Datensätze zuweist).
Im Schritt 201 wird festgestellt, ob der in diesem ersten Datagramm
zur Verfügung
stehende Platz (d.h. der Teil des Datagramms, in den noch keine
Datagramme geschrieben wurden) größer oder gleich dem kleinsten
Datensatz ist, der noch keinem Datagramm zugewiesen wurde. Das heißt, es wird
ermittelt, ob noch Raum vorhanden ist, einen weiteren Datensatz
in dieses erste Datagramm einzufügen.
Wenn die Antwort "ja" lautet, geht das
Programm zum Schritt 202, in dem der größte nicht zugewiesene Datensatz,
der in den verfügbaren
Raum in dem ersten Datagramm passt, dem ersten Datagramm zugewiesen
wird. Wenn die Antwort im Schritt 201 "nein" lautet,
geht die Steuerung zum Schritt 204, in dem veranlasst wird,
dass das erste Datagramm von der Datenpackeinheit 104 zum
Netz 11 für
eine Übertragung
zu einer empfangenden Vorrichtung (z.B. 12) geleitet wird.
In diesem Fall ist in diesem Datagramm kein Platz mehr vorhanden,
um einen weiteren Datensatz zu packen, so dass das Datagramm über das
Netz 11 ausgesendet wird. Nachdem der Schritt 204 ausgeführt wurde,
geht die Steuerung zum Schritt 205, in dem ein zweites
Datagramm zum Packen vorbereitet wird, wobei die Steuerung anschließend zurück zum Schritt 201 geht.
-
Wenn
der Schritt 202 ausgeführt
wurde, geht die Steuerung zum Schritt 203, in dem festgestellt
wird, ob restliche Datensätze
vorhanden sind, die noch darauf warten, einem Datagramm zugewiesen
zu werden. Wenn das der Fall ist, schleift die Steuerung zurück zum Schritt 201.
Wenn das nicht der Fall ist, geht die Steuerung zum Schritt 206,
in dem festgestellt wird, ob Datagramme vorhanden sind, in welche
wenigstens ein Datensatz gepackt wurde, die jedoch noch nicht über das
Netz 11 gesendet wurden. Wenn das der Fall ist, wird ein
derartiges Datagramm im Schritt 207 über das Netz gesendet, wobei
anschließend
der Steuerungsablauf endet. Wenn das nicht der Fall ist, endet der
Steuerungsablauf.
-
Es
wird nun ein weiteres Beispiel behandelt, um ein noch deutlicheres
Verständnis
der Funktionalität zu
schaffen, die in der Datenpackeinheit 104 der bevorzugten
Ausführungsform
der vorliegenden Erfindung enthalten ist. In dem Beispiel greift
die Datenzugriffseinheit 102 aus der Speichereinheit 101 auf
einen Datenblock zu, der 81 Bytes enthält. Diese 81 Bytes
sollen von der Datenübertragungsvorrichtung 10 zu
einer anderen Datenübertragungsvorrichtung 13 über das
Netz 11 übertragen
werden.
-
Die
Datenzugriffseinheit 102 sendet den Datenblock aus 81 Bytes
zu der Datensatz-Bildungseinheit 103, die den Block in
8 Datensätze
DR1 bis DR8 mit unterschiedlichen Größen unterteilt, wie nahe am
oberen Rand von 3 gezeigt ist. Der erste Datensatz
DR1 repräsentiert
die ersten 8 Bytes des 81-Byte-Datenblocks. Der zweite Datensatz
DR2 repräsentiert
die nächsten
4 Bytes des 81-Byte-Datenblocks. Der dritte Datensatz DR3 repräsentiert
die nächsten
7 Bytes des 81-Byte-Datenblocks.
Dieses Muster setzt sich fort bis zum letzten Datensatz DR8, der
die letzten 9 Bytes des 81-Byte-Datenblocks repräsentiert.
-
Die
Datensatz-Bildungseinheit 103 leitet dann diese acht Datensätze DR1
bis DR8 an die Datenpackeinheit 104 weiter, die die Datensätze DR1
bis DR8 für
eine Übertragung über das
Netz 11 in Datagramme packt. Für ein erstes Datagramm (Datagramm 1,
nahe am unteren Rand von 3) mit der Länge von 35 Byte beginnt die
Steuerung im Schritt 201, in dem festgestellt wird, dass
in dem Datagramm 1 ausreichend verfügbarer Raum übrig ist
(da bisher noch keine Datensätze
in das Datagramm 1 gepackt wurden), und deswegen wird der
ja-Zweig genommen. Im Schritt 202 wird der größte nicht
zugewiesene Datensatz, z.B. DR5 mit der Länge 20 Byte, dem Datagramm 1 zugewiesen.
Im Schritt 203 wird ermittelt, dass weitere sieben Datensätze vorhanden
sind, die noch gepackt werden müssen,
deshalb schleift die Steuerung zurück zum Schritt 201.
-
Im
Schritt 201 wird festgestellt, dass der im Datagramm 1 verfügbare Raum
eine Größe von 15
Byte hat (z.B. 35 Bytes minus 20 Bytes sind 15 Bytes) und dass diese
15 Byte größer sind
als der kleinste verfügbare
Datensatz (der Datensatz DR7 mit einer Länge von 3 Byte). Deswegen geht
die Steuerung zum Schritt 202, in dem der größte nicht
zugewiesene Datensatz, der in das Datagramm passt, dem Datagramm 1 zugewiesen
wird. Da in diesem Fall im Datagramm 1 15 Byte zur Verfügung stehen,
ist DR3 mit einer Länge
von 15 Byte der größte verfügbare Datensatz,
der in das Datagramm 1 passt und deswegen wird DR3 dem
Datagramm 1 zugewiesen. Dann geht die Steuerung zum Schritt 202,
in dem festgestellt wird, dass weitere Datensätze vorhanden sind, die noch
zugewiesen werden müssen,
deswegen geht die Steuerung wieder zum Schritt 201.
-
Diesmal
wird im Schritt 201 festgestellt, dass der im Datagramm 1 verfügbare Raum
nicht größer oder gleich
dem kleinsten zur Verfügung
stehenden Datensatz ist (da im Datagramm 1 kein freier
Raum mehr zur Verfügung
steht und 0 Byte nicht mehr oder gleich 3 Bytes ist). Deswegen geht
die Steuerung zum Schritt 204, in dem das Datagramm 1 über das
Netz 11 zur Datenübertragungsvorrichtung 13 gesendet
wird. Dann geht die Steuerung zum Schritt 205, in dem ein
weiteres Datagramm, das Datagramm 2 (das ebenfalls eine
Länge von
35 Byte aufweist) zum Packen vorbereitet wird. Die Steuerung kehrt
dann zum Schritt 201 zurück, in dem festgestellt wird,
ob der im Datagramm 2 zur Verfügung stehende Raum größer als
der kleinste verfügbare
Datensatz ist. Die Antwort ist in diesem Fall "ja",
da die gesamten 35 Bytes des Datagramms 2 zum Packen von Datensätzen zur
Verfügung
stehen, und somit geht die Steuerung zum Schritt 202. Im
Schritt 202 wird der größte nicht
zugewiesene Datensatz (z.B. DR6 mit 15 Byte) dem Datagramm 2 zugewiesen.
Im Schritt 203 wird dann festgestellt, dass noch weitere
Datensätze
zugewiesen werden müssen
und deswegen geht die Steuerung wieder zum Schritt 201.
-
Im
Schritt 201 wird festgestellt, dass der im Datagramm 2 zur
Verfügung
stehende Raum, der eine Größe von 20
Byte hat, (35 Bytes minus 15 Bytes sind 20 Bytes) größer ist
als der kleinste zur Verfügung
stehende Datensatz (DR7 mit 3 Bytes), da 20 Bytes mehr als 3 Bytes
sind. Deswegen geht die Steuerung zum Schritt 202, in dem
der größte nicht
zugewiesene Datensatz (DR8 mit der Länge 9 Byte) dem Datagramm 2 zugewiesen
wird. Da im Schritt 203 immer noch Datensätze zugewiesen
werden müssen,
schleift die Steuerung zurück zum
Schritt 201.
-
Im
Schritt 201 wird festgestellt, dass der im Datagramm 2 zur
Verfügung
stehende Raum, der eine Größe von 11
Byte hat (20 Byte minus 9 Byte sind 11 Byte) größer ist als der kleinste zur
Verfügung
stehende Datensatz (DR3 mit 3 Byte), da 11 Byte größer als
3 Byte sind. Deswegen geht die Steuerung zum Schritt 202,
in dem der größte nicht
zugewiesene Datensatz (DR1 mit der Länge 8 Byte) dem Datagramm 2 zugewiesen
wird. Da im Schritt 203 immer noch Datensätze zugewiesen
werden müssen,
schleift die Steuerung zurück
zum Schritt 201.
-
Im
Schritt 201 wird festgestellt, dass der im Datagramm 2 zur
Verfügung
stehende Raum, der eine Größe von 3
Byte hat (11 Byte minus 8 Byte sind 3 Byte), gleich dem kleinsten
zur Verfügung
stehenden Datensatz ist (DR7 mit 3 Byte). Deswegen geht die Steuerung
zum Schritt 202, in dem der größte nicht zugewiesene Datensatz,
der passt (DR7 mit der Länge
3 Byte) dem Datagramm 2 zugewiesen wird. Da im Schritt 203 immer noch
Datensätze
zugewiesen werden müssen,
schleift die Steuerung zurück
zum Schritt 201.
-
Diesmal
wird im Schritt 201 festgestellt, dass der im Datagramm 2 zur
Verfügung
stehende Raum nicht größer oder
gleich dem kleinsten zur Verfügung
stehenden Datensatz ist (da in dem Datagramm 2 kein Platz mehr
zur Verfügung
steht). Deswegen geht die Steuerung zum Schritt 204, in
dem das Datagramm 2 über
das Netz 11 an die Datenübertragungsvorrichtung 13 gesendet
wird. Dann geht die Steuerung zum Schritt 205, in dem ein
weiteres Datagramm, das Datagramm 3 (das eine Länge von
30 Byte aufweist) zum Packen vorbereitet wird. Die Steuerung kehrt
dann zum Schritt 201 zurück.
-
Im
Schritt 201 wird festgestellt, dass der im Datagramm 3 zur
Verfügung
stehende Raum (die gesamten 30 Bytes) größer ist als der kleinste zur
Verfügung
stehende Datensatz (der nun DR2 mit einer Länge von 4 Byte ist), und deswegen
geht die Steuerung zum Schritt 202, in dem der größte nicht
zugewiesene Datensatz (z.B. DR4 mit 7 Byte) dem Datagramm 3 zugewiesen
wird. Die Steuerung geht dann zum Schritt 203, in dem festgestellt
wird, dass noch ein weiterer Datensatz (z.B. DR2) zugewiesen werden
muss, deswegen geht die Steuerung zum Schritt 201. Im Schritt 201 wird
festgestellt, dass der im Datagramm 3 zur Verfügung stehende Raum
eine Größe von 23
Byte hat (30 Bytes minus 7 Bytes sind 23 Bytes) und dieser größer ist
als der kleinste zur Verfügung
stehende Datensatz (DR2 hat eine Länge von 4 Byte), deshalb geht
die Steuerung zum Schritt 202, in dem DR2 dem Datagramm 3 zugewiesen
wird.
-
Nun
wird im Schritt 203 der "nein"-Zweig
genommen, da keine weiteren Datensätze zugewiesen werden müssen. Die
Steuerung geht somit zum Schritt 206, in dem festgestellt
wird, dass ein Datagramm vorhanden ist (z.B. das Datagramm 3),
das noch nicht gesendet wurde, in das jedoch wenigstens ein Datensatz
gepackt wurde (z.B. DR4 und DR2). Somit wird der "ja"-Zweig genommen,
und die Steuerung geht zum Schritt 207, in dem das Datagramm 3 über das
Netz 11 an die Datenübertragungsvorrichtung 13 gesendet
wird, woraufhin der Steuerungsablauf schließlich beendet wird.
-
Die
empfangende Datenübertragungsvorrichtung 13 muss
lediglich jeden Datensatz jeweils aus den empfangenen Datagrammen
entnehmen und die Datensätze
an der richtigen Stelle in eine verknüpfte Liste aus Datensätzen einsetzen.
Die Daten können
dann in der korrekten Reihenfolge ausgelesen werden, wobei die Teile
eine beliebige geeignete Größe aufweisen
können.
Am sendenden Ende sollte demzufolge jedem Datagramm und außerdem jedem
Datensatz in dem Datagramm ein kleiner Kopfabschnitt angefügt werden,
um die enthaltenen Daten zu kennzeichnen. In vielen Netzen (wie
etwa das Internet) gibt es keine garantierte Reihenfolge der Zustellung
von Datagrammen, und deswegen muss die empfangende Vorrichtung 13 lediglich
die Kopfabschnitte der Datagramm prüfen, um die richtige Reihenfolge
zu bestimmen.
-
Bei
großen
Datenblöcken,
die zu übertragen
sind, könnte
die Datensatz-Bildungseinheit 103 vorzugsweise Datensätze in Bündeln gruppieren
und ein einzelnes Bündel
aus Datensätzen
gleichzeitig zu der Datenpackeinheit zum Packen in Datagramme leiten.
Die Datenpackeinheit würde
dann den Ablaufplan von
-
2 an
lediglich einem Bündel
gleichzeitig ausführen.
Wenn ein gesendetes Bündel
aus Datensätzen
von einer empfangenden Datenübertragungsvorrichtung 13 empfangen
wird, sendet die Vorrichtung 13 eine Bestätigung über das
Netz 11 zurück
an die sendende Vorrichtung 10, um die Vorrichtung 10 darüber zu informieren,
dass die Vorrichtung 13 das gesamte Bündel aus Datensätzen sicher
und korrekt empfangen hat. In diesem Fall kann dem letzten Datagramm
in dem Bündel
ein Bitmerker angefügt
werden, um anzugeben, dass dies das Ende des Bündels ist und eine Bestätigung erfolgen
sollte. Diese Technik verringert die Anzahl der erforderlichen Bestätigungen
im Vergleich zu einer früheren
Technik, bei der für
jedes empfangene Datagramm eine separate Bestätigung zurückgesendet wird.
-
Eine
weitere Ausführungsform
der vorliegenden Erfindung verwendet einen der 2 ähnlichen
Ablaufplan, berücksichtigt
jedoch beim Packen den zur Verfügung
stehenden Raum in zwei (oder mehreren) Datagrammen. Der Schritt 201 stellt
z.B. fest, ob der zur Verfügung
stehende Raum in einer Gruppe aus zwei Datagrammen größer oder
gleich dem kleinsten zur Verfügung
stehenden Datensatz ist. Auf diese Weise können Datensätze, die größer sind als die Größe des Datagramms,
behandelt werden, und außerdem
kann bewirkt werden, dass Datensätze
(selbst kleine Datensätze,
die vollständig
in ein Datagramm passen würden) sich über mehr
als ein Datagramm erstrecken.
-
Die
Datenübertragungsvorrichtung 10 mit
den beschriebenen funktionalen Einheiten wurde als die bevorzugte
Ausführungsform
beschrieben. Die Erfindung umfasst jedoch außerdem eine Datenübertragungsvorrichtung,
die keine Speichereinheit, Zugriffseinheit und/oder Datensatz-Bildungseinheit besitzt.
Die Datenübertragungsvorrichtung
könnte
z.B. eingangsseitig (bereits gebildete) Datensätze, die zu übertragen
sind, empfangen. Als ein weiteres Beispiel könnte die Datenübertragungsvorrichtung
als einen Eingang Daten empfangen, die bereits aus einem Speicher
gewonnen wurden, die jedoch noch zu Datensätzen gebildet und in Datagramme
gepackt werden müssen.
-
Während in
der bevorzugten Ausführungsform
im Schritt 202 der größte nicht
zugewiesene Datensatz, der in das Datagramm passt, das gegenwärtig gepackt
wird, ausgewählt
wird, könnte
bei einer weiteren Ausführungsform
irgendein anderes Kriterium ausgewählt werden, um den nächsten möglichen
Datensatz festzulegen, der geprüft
wird, um festzustellen, ob er in das Datagramm passt (oder Datensätze könnten willkürlich ausgewählt werden,
wobei das einzige Kriterium darin bestehen würde, ob der Datensatz in das
Datagramm passt).