-
Die
Erfindung betrifft ein Verfahren zum Verteilen eines in Teilblöcke aufgeteilten
Datenblocks in einem mehrere Knoten umfassenden Netzwerk, sowie
einen dazugehörigen
Knoten und ein System.
-
Für eine Verteilung
von Datenblöcken,
die beispielsweise Audio- und/oder visuelle Informationen beinhalten,
sind Broadcast- und/oder Multicast-Verfahren entwickelt worden,
wie zum Beispiel Multimedia-Broadcast/Multicast-Service (MBMS) des
3GPP-Gremiums (3GPP – Third
Generation Partnership Projekt).
-
Zur
Verteilung derartiger Datenblöcke
werden zwischen einem Server und einem oder mehreren Endgeräten Punkt-zu-Punkt-Verbindungen aufgebaut
(Unicast). In einer Alternative hierzu kann mit Hilfe eines Multicast-Protokolls
eine Verteilung derart vorgenommen werden, dass einem Knoten in
einem Netzwerk der bzw. die Datenblöcke zugestellt werden, der
seinerseits die Datenblöcke
an die ihm zugänglichen
Endgeräte weiterleitet.
-
Ferner
ist ein ALM-Verfahren (ALM – Application
Layer Multicast) bekannt, bei dem einige Endgeräte bzw. Teilnehmer die Datenblöcke direkt
von der Datenquelle, beispielsweise dem Server, erhalten, wobei
diese Teilnehmer die empfangenen Datenblöcke an weitere Teilnehmer weiterreichen.
Bei heutigen Übertragungssystemen,
wie beispielsweise mittels DSL (DSL – Digital Subscriber Line),
besteht eine hohe Bandbreite in einer Abwärtsstrecke (downlink), jedoch
eine geringe Bandbreite in einer Aufwärtsstrecke (uplink). Gerade
bei Verwendung derartiger asymmetrischer Übertragungssysteme hat das
ALM-Verfahren den
Nachteil, dass die geringe Uplink-Kapazität durch Anwendung des ALM-Verfahrens
stark ausgelastet wird.
-
Zur
Reduktion des genannten Nachteils wurde die Splitstream-Technologie entwickelt
[1], bei der der Datenblock in mehrere Teilblöcke aufgeteilt wird, die dann
an verschiedene Teilnehmer gesendet werden. Diese Teilnehmer leiten
die Teilblöcke
an andere Teilnehmer weiter, wobei Verteilungsbäume der jeweiligen Teilblöcke so konstruiert
werden, dass jeder innere Knoten eines Verteilungsbaums ein Blattknoten
der anderen Verteilungsbäume
ist. Durch diese Maßnahme
wird erreicht, dass bei Ausfall eines Teilnehmers lediglich ein Teilblock
nicht weitergeleitet werden kann. Die Verteilung der Teilblöcke mittels
der Verteilungsbäume
wird jeweils durch einen Verteilungsgraphen repräsentiert, wie beispielsweise
in [1] angegeben wird. Dabei wird der Teilnehmer als Knoten bezeichnet.
-
Diese
Lösung
zeigt jedoch den Nachteil, dass die bereits geringe Uplink-Kapazität eines
Teilnehmers weiter reduziert wird, selbst dann, wenn diese Reduktion
nur temporär
erfolgt, beispielsweise, falls der Teilnehmer gleichzeitig E-Mails
mit großen
Anhängen
verschickt. In diesem Fall kann der Teilnehmer die Teilblöcke innerhalb
seines Verteilungsbaums nicht mehr bestimmungsgemäß weiterleiten,
so dass alle nachfolgenden Teilnehmer, des entsprechenden Verteilungsbaums
den zugehörigen
Teilblock nicht oder nur unvollständig erhalten. Auch bei einer Übertragung
des Teilblocks über
gestörte Übertragungskanäle, zum
Beispiel bei einer drahtlosen Datenübertragung, erreicht der Teilblock
den Teilnehmer bzw. Knoten fehlerhaft und/oder unvollständig oder überhaupt
nicht.
-
Somit
ist es die Aufgabe, ein Verfahren, einen Knoten und ein System anzugeben,
bei dem eine Verteilung eines in Teilblöcke aufgeteilten Datenblocks
in einem mehrere Knoten umfassenden Netzwerk derart ausgebildet
ist, dass eine Zuverlässigkeit
bei einem Empfang von fehlerfreien Teilblöcken in dem Netzwerk verbessert
wird.
-
Diese
Aufgabe wird durch die unabhängigen
Ansprüche
gelöst.
Weiterbildungen sind den abhängigen Ansprüchen zu
entnehmen.
-
Die
Erfindung betrifft ein Verfahren zum Verteilen eines in Teilblöcke aufgeteilten
Datenblocks in einem mehrere Knoten umfassenden Netzwerk, wobei
jeder Teilblock jeweils auf Grundlage eines der ihm zugeordneten
Verteilungsbäume
an die Knoten verteilt wird, und die Knoten derart den Verteilungsbäumen zugeordnet werden,
dass jeder innere Knoten eines der Verteilungsbäume ein Blattknoten der anderen
Verteilungsbäume ist,
dem Datenblock vor einer Aufteilung in Teilblöcke Redundanzdaten hinzugefügt, zumindest
einer der Teilblöcke
zumindest teilweise durch den inneren Knoten des Verteilungsbaums
empfangen, der dem Verteilungsbaum zugeordnete Teilblock durch den
inneren Knoten als rekonstruierter Teilblock auf Grundlage des zumindest
einen teilweise empfangenen Teilblocks vollständig rekonstruiert und der
rekonstruierte Teilblock durch den inneren Knoten gemäß dem Verteilungsbaum
an zumindest einen nachfolgenden Knoten weitergeleitet werden.
-
Durch
dieses Verfahren wird erreicht, dass derjenige Teilblock eines inneren
Knotens, der von diesem Knoten an ihn nachfolgende Knoten verschickt
werden soll, als rekonstruierter Teilblock vollständig rekonstruiert
werden kann, auch dann, falls dieser Teilblock den inneren Knoten überhaupt
nicht, nur teilweise vollständig
und/oder fehlerhaft erreicht. Hierdurch wird eine Zuverlässigkeit
bei einem Empfang von fehlerfreien Teilblöcken in dem Netzwerk verbessert.
-
Der
Datenblock kann Teil eines Datenstroms, z.B. bei einer Streaming-
oder einer Download-Anwendung, sein. Hierbei werden mehrere Datenblöcke nacheinander übertragen,
die den Datenstrom repräsentieren.
Ferner können
einzelne Symbole des Datenblocks redundant in mehr als einem Teilblock
vorhanden sein. In der Praxis ist es jedoch zweckmäßig, dass
die Teilblöcke
disjunkte Mengen des Datenblocks beschreiben.
-
Vorzugsweise
wird zum Erstellen der Redundanzdaten ein Verfahren zum Erstellen
eines Fehlerkorrekturcodes eingesetzt, bei dem eine Fehlerkorrektur
eines Symbols des Datenblocks auf Grundlage einer frei wählbaren
Kombination aus Symbolen der Redundanzdaten und aus Symbolen von
Informationsdaten des Datenblocks durchgeführt wird. Ein Symbol wird durch
ein oder mehrere Bits, bspw. einem Byte oder 64 Bits, gebildet.
In dieser Erweiterung kann der rekonstruierte Teilblock aus einer
beliebigen Kombination an Symbolen der Informationsdaten und/oder
der Redundanzdaten vollständig
rekonstruiert werden, wodurch eine hohe Flexibilität bei einer
Auswahl an Symbolen zur vollständigen
Rekonstruktion des rekonstruierten Teilblocks erzielt wird. Ferner
kann durch diese hohe Flexibilität
erreicht werden, dass eine hohe Rate zum Erzielen einer vollständigen Rekonstruktion
mittels der Fehlerkorrektur ermöglicht
wird. Dies wird vorzugsweise durch einen Fehlerkorrekturcode erreicht,
der durch ein Verfahren zum Erstellen von Reed-Solomon Codes, Fountain
Codes, LDPC-Codes (LPDC – Low-Density
Parity Check) oder Raptor Codes gebildet wird.
-
Vorzugsweise
wird eine erste Anzahl an Symbolen pro Teilblock durch einen Minimalwert
erzeugt wird, der dadurch ermittelt wird, dass der Minimalwert aus
einer zweiten Anzahl an Symbolen des Datenblocks, umfassend die
Redundanzdaten und Informationsdaten, und aus einem Datendurchsatz
mal Zeitdauer zum Übertragen
des jeweiligen Teilblocks ausgewählt
und dieser ausgewählte
Minimalwert durch eine dritte Anzahl an den inneren Knoten nachfolgenden
Knoten geteilt. Mit dieser Weiterbildung wird die erste Anzahl an
Symbolen derart errechnet, dass zum einen der Datendurchsatz einzelner
Verbindungen des Netzes nicht überlastet
und zum anderen Symbole des Datenblocks nicht mehrfach in unterschiedlichen
Teilblöcken übertragen
werden.
-
In
einer Weiterbildung wird eine Rekonstruktion des rekonstruierten
Teilblocks erst nach einem Empfang von zumindest einer vierten Anzahl
an fehlerfreien Symbolen des Datenblocks gestartet, wobei die vierte Anzahl
zumindest einer fünften Anzahl
an Symbolen der Informationsdaten des Datenblocks entspricht. Hierdurch
wird zum einen erreicht, dass die Rekonstruktion des rekonstruierten
Teilblocks nicht gestartet wird, bevor genügend Symbole vorhanden sind.
Zum anderen wird die Rekonstruktion beschleunigt, da diese zu demjenigen
Zeitpunkt ausgeführt
werden kann, ab dem genügend,
d.h. eine fünfte
Anzahl an Symbolen, vorliegen. Somit wird durch diese Weiterbildung
ein Einsatz an Rechen- und Energieressourcen bei der Ausführung des Verfahrens
eingespart.
-
Die
Erfindung umfasst weiterhin einen Knoten, wobei der Knoten ein innerer
Knoten eines Verteilungsbaums ist, wobei der Knoten folgende Mittel
umfasst:
- a) ein erstes Mittel zum Empfangen
zumindest eines teilweise vollständigen
Teilblocks eines Datenblocks, wobei der Datenblock Redundanzdaten
umfasst;
- b) ein zweites Mittel zum vollständigen Rekonstruieren des dem
Verteilungsbaum zugeordneten Teilblocks als rekonstruierter Teilblock
auf Grundlage des zumindest einen teilweise empfangenen Teilblocks;
- c) ein drittes Mittel zum Weiterleiten des rekonstruierten Teilblocks
gemäß dem Verteilungsbaum
an zumindest einen nachfolgenden Knoten.
-
Somit
ist der Knoten des Netzwerks in der Lage auf Grundlage der mit Redundanzdaten
versehenen Teilblöcke
den zu rekonstruierenden Teilblock zu erzeugen. Ferner kann der
Knoten erst dann mit der Generierung des rekonstruierten Teilblocks
starten, nachdem genügend
Symbole bei ihm eingetroffen sind, d.h. die vierte Anzahl zumindest
der fünften
Anzahl entspricht. Ein Knoten wird beispielsweise durch einen Rechner
in dem Netzwerk repräsentiert.
-
Schließlich betrifft
die Erfindung auch ein System, das eine Datenquelle und ein Netzwerk
mit Knoten umfasst, wobei die Datenquelle folgende Mittel umfasst:
- – ein
erstes Datenmittel zum Generieren von Redundanzdaten und zum Einfügen der
Redundanzdaten in einen Datenblock;
- – ein
zweites Datenmittel zum Aufteilen des Datenblocks in zumindest zwei
Teilblöcke;
- – ein
drittes Datenmittel zum Versenden der Teilblöcke an die Knoten des Netzwerks
auf Grundlage eines zu den Teilblöcken jeweils dazugehörigen Verteilungsbaums.
und
der Knoten folgende Mittel umfasst: - – ein erstes
Mittel zum Empfangen zumindest eines teilweise vollständigen Teilblocks
des Datenblocks, wobei der Datenblock Redundanzdaten umfasst;
- – ein
zweites Mittel zum vollständigen
Rekonstruieren des dem Verteilungsbaum zugeordneten Teilblocks als
rekonstruierter Teilblock auf Grundlage des zumindest einen zumindest
teilweise vollständig
empfangenen Teilblocks;
- – ein
drittes Mittel zum Weiterleiten des rekonstruierten Teilblocks gemäß dem Verteilungsbaum
an zumindest einen nachfolgenden Knoten.
-
Das
System ermöglicht
das Verfahren zwischen zumindest einem Knoten und einer Datenquelle
auszuführen.
Dabei kann das System in einem Verteildienst, z.B. nach Split-Stream
Technologie eingesetzt werden. Die Datenquelle des Systems kann
die erste Anzahl an Symbolen der Teilblöcke gemäß der oben beschriebenen Erweiterung
errechnen.
-
Die
Erfindung und ihre Weiterbildungen werden anhand der Zeichnung näher erläutert. Es
zeigen:
-
1 Aufbau
eines Netzwerks mit mehreren Knoten, bei dem ein Datenblock in drei
Teilblöcke
aufgeteilt wird, wobei jeder Teilblock mit einem ihm zugeordneten
Verteilungsbaum an die Knoten weitergeleitet wird;
-
2 ein
Ablaufdiagramm, bei dem fehlerhafte Teilblöcke in einem inneren Knoten
vollständig
rekonstruiert und der rekonstruierte Teilblock an zumindest einen
nachfolgenden Knoten weitergeleitet werden.
-
Elemente
mit gleicher Funktion und Wirkungsweise sind in den 1 und 2 mit
denselben Bezugszeichen versehen.
-
1 zeigt
ein Netzwerk N, welches zumindest mehrere Knoten N1, ..., N9 umfasst.
Ein derartiges Netzwerk ist aus [1] bekannt. Jeder Knoten ist ein
Rechner, wobei die Knoten mittels eines Netzwerks, beispielsweise
gemäß LAN-Standard
(LAN – Local
Area Network) verbunden sind. Ausgehend von einer Datenquelle, beispielsweise
einem Datenserver S, wird ein Datenblock in drei Teilblöcke T1,
T2, T3 aufgeteilt. Die Teilblöcke
werden über
einen jeweils zugewiesenen Verteilungsbaum B1, B2, B3 zu den Knoten
verschickt. Der erste Teilblock T1 wird über den ersten Verteilungsbaum
B1 zu dem ersten Knoten N1 verschickt, wobei der erste Knoten N1
den ersten Teilblock an den zweiten, dritten und vierten Knoten
N2, N3, N4 weiterleitet. Daraufhin leitet der vierte Knoten N4 den
ersten Teilblock an den fünften,
sechsten und siebten Knoten N5, N6, N7 weiter. Schließlich vermittelt
der siebte Knoten den ersten Teilblock T1 an den achten und neunten
Knoten N8, N9.
-
Die
Verteilung des ersten Teilblocks T1 wird auf Basis des ersten Verteilungsbaums
B1, der zweite Teilblock T2 mittels des zweiten Verteilungsbaums
B2 und der dritte Teilblock T3 mittels des dritten Verteilungsbaums
B3 vorgenommen. In 1 ist der erste Verteilungsbaum
B1 mit durchgezogenen Pfeilen, der zweite Verteilungsbaum B2 mit
gepunkteten Pfeilen und der dritte Verteilungsbaum B3 mit strichpunktierten
Pfeilen gekennzeichnet. Im Allgemeinen gehört jeder Knoten allen Verteilungsbäumen an,
wobei ein Knoten als innerer Knoten einem einzigen Verteilungsbaum
und als Blattknoten den übrigen
Verteilungsbäumen
zugeordnet ist. So ist beispielsweise der vierte Knoten N4 ein innerer
Knoten des ersten Verteilungsbaums, wo hingegen der vierte Knoten
N4 im zweiten und dritten Verteilungsbaum B2, B3 einem Blattknoten
entspricht. Des Weiteren zeigt die Pfeilspitze der Pfeile der Verteilungsbäume eine
Verteilungsrichtung des dem jeweiligen Verteilungsbaum zugeordneten
Teilblocks an. So wird bspw. der erste Teilblock T1 von dem ersten
Knoten N1 an den vierten Knoten N4 innerhalb des ersten Verteilungsbaums
B1 übergeben.
-
Mit
Hilfe von 2 wird im Folgenden ein Ausführungsbeispiel
näher erläutert, wobei
die Verteilungsbäume
und das Netz die gleiche Struktur wie aus 1 aufweisen.
Gemäß 2 umfasst
der Datenblock Informationsdaten ID, die zum Beispiel ein mit einem
JPEG-Verfahren komprimiertes Standbild (JPEG – Joint Picture Expert Group)
umfassen. In einem ersten Mittel M1 werden dem Datenblock DB Redundanzdaten
RD hinzugefügt.
Zur Erstellung der Redundanzdaten ist es in der Praxis zweckmäßig, ein
Fehlerkorrekturverfahren einzusetzen, bei dem zur Korrektur eines
Symbols des Datenblocks eine Fehlerkorrektur mit einer frei wählbaren
Kombination aus Symbolen der Redundanzdaten und aus Symbolen der
Informationsdaten durchgeführt werden
kann. Hierzu eignen sich insbesondere Verfahren, die Reed-Solomon
Codes, ein Fountain Codes oder Rapter Codes erzeugen. So kann bei
dem Reed-Solomon Verfahren jedes Symbol aus einer beliebigen Kombination
aus anderen Symbolen korrigiert werden, falls genug Symbole empfangen
worden sind. Hierauf wird nach Beschreibung der 2 näher eingegangen.
-
In
einem weiteren Verfahrensschritt wird der Datenblock, umfassend
die Informations- und Redundanzdaten, einem zweiten Datenmittel
D2 zugefügt,
welches drei Teilblöcke
T1, T2, T3 aus dem Datenblock bildet. Ferner können einzelne Symbole des Datenblocks
redundant in mehr als einem Teilblock vorhanden sein. In der Praxis
ist es jedoch zweckmäßig, dass
die Teilblöcke
disjunkte Mengen des Datenblocks beschreiben. Die drei Teilblöcke werden
von der Datenquelle, unter Berücksichtigung
des jeweiligen Verteilungsbaums, an die Knoten des Netzwerks übergeben.
-
Bei
dem Verteilen der Teilblöcke
in dem Netzwerk können
die einzelnen Teilblöcke
beispielsweise aufgrund von Speicherüberläufen in Routern verloren gehen
oder aufgrund einer fehlerhaften Drahtlosübertragung UW fehlerhaft und/oder
nur teilweise vollständig
die Knoten erreichen. So empfängt
der vierte Knoten N4 den dritten Teilblock T3 von dem sechsten Knoten
N6 und einen gegenüber
dem zweiten Teilblock T2 teilweise vollständigen zweiten Teilblock T2' von dem fünften Knoten
N5. Der vierte Knoten empfängt
keinen ersten Teilblock. Im Ausführungsbeispiel
gemäß 2 werden
die Teilblöcke
T2', T3 durch ein
erstes Mittel M1 empfangen. Die empfangenen Teilblöcke T2', T3 werden an ein
zweites Mittel M2 übergeben,
welches den dem Verteilungsbaum zugeordneten Teilblock durch den
inneren Knoten als rekonstruierten Teilblock TR vollständig rekonstruiert.
Im vorliegenden Ausführungsbeispiel
ist der vierte Knoten N4 einer der inneren Knoten des ersten Verteilungsbaums
V1, so dass das zweite Mittel den zum ersten Verteilungsbaum B1
zugeordneten Teilblock, das bedeutet den ersten Teilblock T1, als
rekonstruierten Teilblock TR = T1 vollständig rekonstruiert. Der rekonstruierte
Teilblock TR wird mit Hilfe eines dritten Mittels M3 von dem vierten
Knoten N4 gemäß dem ersten
Verteilungsbaum B1 an zumindest einen nachfolgenden Knoten N7, N8,
N9 weitergeleitet.
-
Einer
der Knoten N4, wobei der Knoten N4 ein innerer Knoten eines Verteilungsbaums
B1 ist, umfasst folgende Mittel:
- a) das erste
Mittel M1 zum Empfangen zumindest eines teilweise vollständigen Teilblocks
T2', T3 eines Datenblocks
DB, wobei der Datenblock DB Redundanzdaten RD umfasst;
- b) das zweite Mittel M2 zum vollständigen Rekonstruieren des dem
Verteilungsbaum B1 zugeordneten Teilblocks T1 als rekonstruierter
Teilblock TR auf Grundlage des zumindest einen teilweise vollständig empfangenen
Teilblocks T2',
T3;
- c) das dritte Mittel M3 zum Weiterleiten des rekonstruierten
Teilblocks TR gemäß dem Verteilungsbaum
B1 an zumindest einen nachfolgenden Knoten N7.
-
Das
zweite Mittel M2 kann zusätzlich
derart ausgebildet sein, dass eine Rekonstruktion des rekonstruierten
Teilblocks RT erst nach einem Empfang von zumindest einer vierten
Anzahl A4 an fehlerfreien Symbolen des Datenblocks DB gestartet
wird, wobei die vierte Anzahl A4 zumindest einer fünften Anzahl
A5 an Symbolen der Informationsdaten ID des Datenblocks DB ent spricht.
Ist die fünfte
Anzahl A5 = 200, so wird die Rekonstruktion des rekonstruierten
Teilblocks TR erst dann gestartet, nachdem zumindest A4 = A5 = 200
Symbole des Datenblocks, die sowohl aus den Informationsdaten als
auch aus den Redundanzdaten stammen können, in dem vierten Knoten
fehlerfrei empfangen worden sind.
-
Im
Folgenden wird eine Vorgehensweise zur Erstellung der Redundanzdaten
RD und der Aufteilung des Datenblocks in mehrere Teilblöcke, z.B.
in einer Datenquelle S, näher
dargestellt. Dabei soll ein Datenstrom R = 320 kBit/s = 40 kByte/s
an die Knoten des Netzwerks N übertragen
werden. Ferner werden drei Verteilungsbäume B1, B2, B3 gemäß 1 benutzt,
das heißt
k = 3. Ein Datenblock DB wird aus den Symbolen gebildet, die innerhalb
einer Zeitdauer T = 5s mit der Datenraten R anfallen, das heißt SBS =
R·T =
200 kByte. In diesem Beispiel wird ein Symbol aus 8 Bit gebildet.
Zum Erreichen einer Redundanz von 100% werden eine Anzahl an Redundanzdatensymbolen
von SBR = 200 KByte benötigt,
so dass sich eine zweite Anzahl A2 an Symbolen des Datenblocks zu
A2 = SBS + SBR = 400 KByte ergibt. Das Erstellen der Redundanzdaten
RD mit Hilfe eines Fehlerkorrekturverfahrens, z.B. mittels des Raptor-Code
Verfahrens, ist einem Fachmann bekannt, so dass darauf an dieser
Stelle nicht weiter eingegangen wird.
-
Im
Folgenden soll eine erste Anzahl A1 an Symbolen pro Teilblock bestimmt
werden. Die für
die jeweiligen Verteilungsbäume
zur Verfügung
stehenden Datendurchsatz CN1, CN2, CN3 zu Verfügung:
- B1 CN1 = 480
kbit/s = 60 kByte/s
- B2 CN2 = 320 kbit/s = 40 kByte/s
- B3 CN3 = 960 kbit/s = 120 kByte/s
-
Jeder
Datendurchsatz muss jeweils eine dritte Anzahl A3 eines der Teilblöcke mit
der ersten Anzahl A1 an Symbolen übertragen können, da von dem jeweiligen
inneren Knoten die dritte Anzahl an nachfolgenden Knoten bedient
wird. Somit reduziert sich die pro Datendurchsatz zur Verfügung stehende
Bandbreite pro Teilblock zu maximal CNi/A3,
mit i = 1, ..., k, bzw. pro Zeitdauer T zu maximal CNi·T/A3.
-
In
vorliegendem Ausführungsbeispiel
gemäß den
1 und
2 ist
A3 = 3. Im Allgemeinen ist die dritte Anzahl A3 > 1 und sie kann für jeden inneren Knoten einen
unterschiedlichen je nach Struktur des dazugehörigen Verteilungsbaums Wert
annehmen. Soll des Weiteren eine Begrenzung der maximalen Anzahl
an Symbolen pro Teilblock eingeführt
werden, da die jeweiligen Teilblöcke
disjunkte Redundanz- und Informationsdaten enthalten sollen, so
kann die erste Anzahl A1 an Symbolen pro Teilblock auf A2/k begrenzt
werden. Somit ergibt sich die erste Anzahl A1 an Symbolen pro Teilblock
aus folgender Gleichung:
mit i = 1, ..., k. Gemäß dem obigen
Zahlenbeispiel nimmt die erste Anzahl A1 an Symbolen pro Teilblock
eines der zugeordneten Verteilungsbäume jeweils folgende Werte
an:
-
Hiermit
umfasst der erste Teilblock T1 100 kByte, der zweite Teilblock T2
66 kByte und der dritte Teilblock T3 133 kByte, die über den
jeweils dazugehörigen
Verteilbaum B1, B2, B3 übertragen
werden.
-
Erreichen
den fünften
Knoten N5 nur der erste und der dritte Teilblock T1, T3, so stehen
insgesamt 233 Symbole dem fünften
Knoten zur Verfügung.
Wurde als Fehlerschutzverfahren das Raptor-Code Verfahren eingesetzt,
so können
aus den 244 empfangenen Symbolen sowohl die SBS = 200 Symbole der
Informati onsdaten ID als auch die SBR = 200 Symbole der Redundanzdaten
RD fehlerfrei ermittelt werden. Ferner kann hierdurch auch der nicht
empfangene erste Teilblock T1 als rekonstruierter Teilblock TR vollständig rekonstruiert
werden, der anschließend
an die dem inneren Konten N5 nachfolgenden Knoten N4, N6, N8 gemäß dem zweiten
Verteilungsbaum B2 versendet wird.
-
Ein
System SY, umfassend die Datenquelle S und das Netzwerk N mit Knoten
N1, ..., N9, kann das Verfahren implementieren und realisieren,
wobei die Datenquelle folgende Mittel aufweist:
- – ein erstes
Datenmittel D1 zum Generieren von Redundanzdaten RD und zum Einfügen der
Redundanzdaten RD in einen Datenblock DB;
- – das
zweite Datenmittel D2 zum Aufteilen des Datenblocks DB in zumindest
zwei Teilblöcke
T1, T2, T3;
- – ein
drittes Datenmittel D3 zum Versenden der Teilblöcke T1, T2, T3 an Knoten N1,
N2, N3 des Netzwerks N auf Grundlage eines zu den Teilblöcken T1,
T2, T3 jeweils dazugehörigen
Verteilungsbäumen
B1, B2, B3;
Ferner umfasst der Knoten des Systems folgende
Mittel: - – ein
erstes Mittel M1 zum Empfangen zumindest eines teilweise vollständigen Teilblocks
T2, T3 des Datenblocks DB, wobei der Datenblock DB Redundanzdaten
RD umfasst;
- – ein
zweites Mittel M2 zum vollständigen
Rekonstruieren des dem Verteilungsbaum B1 zugeordneten Teilblocks
T1 als rekonstruierter Teilblock TR auf Grundlage des zumindest
einen teilweise vollständig
empfangenen Teilblocks T2',
T3;
- – ein
drittes Mittel M3 zum Weiterleiten des rekonstruierten Teilblocks
TR gemäß dem Verteilungsbaum
B1 an zumindest einen nachfolgenden Knoten N7.
-
Der
Knoten, die Datenquelle und/oder das System kann in Hardware und/oder
in auf einem Prozessor ablaufender Software implementiert und ausgeführt werden.
Der Knoten kann in einem Gerät
G, bspw. einem Mobilfunktelefon oder einem Rechner integriert sein.
Die Datenquelle kann Teil eines Datenservers, z.B. eines Video-
oder Musikverteildienstes sein. Das System kann Teil eines Mobilfunktnetzwerks,
z.B. nach UMTS-Standard (UMTS – Universal
Mobile Telecommunications System) oder GSM-Standard (GSM – Global System for Mobile
Communication), oder eines Datennetzwerks, z.B. eines IP-basierten
(IP – Internet
Protokoll) Netzes mit zumindest einer DSL-, LAN, und/oder WLAN-Übertragungsstrecke
(WLAN – Wireless
LAN) sein. Ferner können
die Knoten und Server mittels verschiedener Übertragungsprotokolle, z.B.
IP- oder X.25-Protokoll, und verschiedener Übertragungstechniken, z.B.
LAN, WLAN oder ATM (ATM – Asynchronous Transfer
Mode) zum Austausch von Informationen, wie der Teilblöcke, miteinander
verbunden sein.
-
Die
genannten Ausführungen
können
durch eine oder mehrere der folgenden Erweiterungen ergänzt werden.
Das Verfahren ist anhand des vierten Knotens N4 und anhand des Netzwerks
N gemäß 1 erläutert worden.
Im Allgemeinen kann jeder der Knoten, die zumindest einen inneren
Knoten eines der Verteilungsbäume
repräsentiert,
das erste, zweite und dritte Mittel M1, M2, M3 umfassen. Zudem können neben
drei Teilblöcken
zwei, vier oder mehr Teilblöcke
aus dem Datenblock DB gebildet werden. Der Datenblock DB kann Teil
eines Datenstroms sein. Der Datenstrom umfasst beispielsweise einen
nach MPEG4 codierten Videostrom (MPEG – Motion Picture Expert Group)
und/oder weitere multimediale und organisatorische Daten, wie beispielsweise
eine Szenenbeschreibung gemäß MPEG7.
Der Datenstrom wird in einzelne Datenblöcke zerteilt und jeder Datenblock
wird separat übertragen.
-
Literatur
-
- [1] M. Castro, et al. "SplitStream:
High-bandwidth content distribution in cooperative environments", http://projectiris.net/irisbib/papers/splitstream:iptps03/paper.pdf