DE102006019711A1 - Verfahren zum Verteilen eines in Teilblöcke aufgeteilten Datenblocks in einem mehrere Knoten umfassenden Netzwerk, sowie dazugehöriger Knoten und System - Google Patents

Verfahren zum Verteilen eines in Teilblöcke aufgeteilten Datenblocks in einem mehrere Knoten umfassenden Netzwerk, sowie dazugehöriger Knoten und System Download PDF

Info

Publication number
DE102006019711A1
DE102006019711A1 DE102006019711A DE102006019711A DE102006019711A1 DE 102006019711 A1 DE102006019711 A1 DE 102006019711A1 DE 102006019711 A DE102006019711 A DE 102006019711A DE 102006019711 A DE102006019711 A DE 102006019711A DE 102006019711 A1 DE102006019711 A1 DE 102006019711A1
Authority
DE
Germany
Prior art keywords
block
data
sub
node
distribution tree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102006019711A
Other languages
English (en)
Inventor
Norbert Oertel
Jürgen Dr. Pandel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102006019711A priority Critical patent/DE102006019711A1/de
Priority to PCT/EP2007/051770 priority patent/WO2007124967A1/de
Publication of DE102006019711A1 publication Critical patent/DE102006019711A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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 und die Knoten derart den Verteilungsbäumen zugeordnet werden, dass jeder innere Knoten eines der Verteilungsbäume ein Blattknoten der anderen Verteilungsbäume ist, bei dem 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. Ferner betrifft die Erfindung auch einen Knoten und ein System, das eine Datenquelle und den Knoten umfasst.

Description

  • 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:
    Figure 00110001
    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:
    Figure 00110002
  • 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

Claims (7)

  1. Verfahren zum Verteilen eines in Teilblöcke (T1, T2, T3) aufgeteilten Datenblocks (DB) in einem mehrere Knoten (N1, ..., N9) umfassenden Netzwerk (N), wobei – jeder Teilblock (T1, T2, T3) jeweils auf Grundlage eines der ihm zugeordneten Verteilungsbäume (B1, B2, B3) an die Knoten (N1, ..., N9) verteilt wird, – die Knoten (N1, ..., N9) derart den Verteilungsbäumen (B1, B2, B3) zugeordnet werden, dass jeder innere Knoten (N4) eines der Verteilungsbäume (B1) ein Blattknoten (N4) der anderen Verteilungsbäume (B2, B3) ist, dadurch gekennzeichnet, dass a) dem Datenblock (DB) vor einer Aufteilung in Teilblöcke (T1, T2, T3) Redundanzdaten (RD) hinzugefügt werden, b) zumindest einer der Teilblöcke (T2', T3) zumindest teilweise durch den inneren Knoten (N4) des Verteilungsbaums (B1) empfangen wird, c) der dem Verteilungsbaum (B1) zugeordnete Teilblock (T1) durch den inneren Knoten (N4) als rekonstruierter Teilblock (TR) auf Grundlage des zumindest einen teilweisen empfangenen Teilblocks (T2', T3) vollständig rekonstruiert wird, d) der rekonstruierte Teilblock (TR) durch den inneren Knoten (N4) gemäß dem Verteilungsbaum (B1) an zumindest einen nachfolgenden Knoten (N7) weitergeleitet wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zum Erstellen der Redundanzdaten (RD) ein Verfahren zum Erstellen eines Fehlerkorrekturcodes eingesetzt wird, bei dem eine Fehlerkorrektur eines Symbols des Datenblocks (DB) auf Grundlage einer frei wählbaren Kombination aus Symbolen der Redundanzdaten (RD) und aus Symbolen von Informationsdaten (ID) des Datenblocks (DB) durchgeführt wird.
  3. Verfahren nach Anspruch 2 dadurch gekennzeichnet, dass der Fehlerkorrekturcode durch ein Verfahren zum Erstellen von Reed-Solomon Codes, Fountain Codes oder LDPC-Codes gebildet wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine erste Anzahl (A1) an Symbolen pro Teilblock (T1) durch einen Minimalwert erzeugt wird, der dadurch ermittelt wird, dass der Minimalwert aus einer zweiten Anzahl (A2) an Symbolen des Datenblocks (DB), umfassend die Redundanzdaten (RD) und Informationsdaten (ID), und aus einem Datendurchsatz (CN1) mal Zeitdauer (T) zum Übertragen des zweiten Teilblocks (T1) ausgewählt und dieser ausgewählte Minimalwert durch eine dritte Anzahl (A3) an den inneren Knoten (N4) nachfolgenden Knoten (N7, N8, N9) geteilt wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine Rekonstruktion des rekonstruierten Teilblocks (TR) 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) entspricht.
  6. Knoten (N4), wobei der Knoten (N4) ein innerer Knoten eines Verteilungsbaums (B1) ist, insbesondere zum Durchführen des Verfahrens gemäß einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass der Knoten folgende Mittel umfasst: a) ein erstes Mittel (M1) zum Empfangen zumindest eines teilweise vollständigen Teilblocks (T2', T3) eines Datenblocks (DB), wobei der Datenblock (DB) Redundanzdaten (RD) umfasst; b) 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 empfangenen Teilblocks (T2', T3); c) ein drittes Mittel (M3) zum Weiterleiten des rekonstruierten Teilblocks (TR) gemäß dem Verteilungsbaum (B1) an zumindest einen nachfolgenden Knoten (N7).
  7. System (SY), umfassend eine Datenquelle (S) und ein Netzwerk (N) mit Knoten (N1, ..., N9), dadurch gekennzeichnet, dass die Datenquelle (S) folgende Mittel umfasst – ein erstes Datenmittel (D1) zum Generieren von Redundanzdaten (RD) und zum Einfügen der Redundanzdaten (RD) in einen Datenblock (DB); – ein zweites 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 die Knoten (N1, N2, N3) des Netzwerks (N) auf Grundlage eines zu den Teilblöcken (T1, T2, T3) jeweils dazugehörigen Verteilungsbaums (B1, B2, B3); der Knoten folgende Mittel umfasst: – 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 zumindest 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).
DE102006019711A 2006-04-27 2006-04-27 Verfahren zum Verteilen eines in Teilblöcke aufgeteilten Datenblocks in einem mehrere Knoten umfassenden Netzwerk, sowie dazugehöriger Knoten und System Ceased DE102006019711A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102006019711A DE102006019711A1 (de) 2006-04-27 2006-04-27 Verfahren zum Verteilen eines in Teilblöcke aufgeteilten Datenblocks in einem mehrere Knoten umfassenden Netzwerk, sowie dazugehöriger Knoten und System
PCT/EP2007/051770 WO2007124967A1 (de) 2006-04-27 2007-02-23 Verfahren zum verteilen eines in teilblöcke aufgeteilten datenblocks in einem mehrere knoten umfassenden netzwerk, sowie dazugehöriger knoten und system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006019711A DE102006019711A1 (de) 2006-04-27 2006-04-27 Verfahren zum Verteilen eines in Teilblöcke aufgeteilten Datenblocks in einem mehrere Knoten umfassenden Netzwerk, sowie dazugehöriger Knoten und System

Publications (1)

Publication Number Publication Date
DE102006019711A1 true DE102006019711A1 (de) 2007-10-31

Family

ID=37959908

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006019711A Ceased DE102006019711A1 (de) 2006-04-27 2006-04-27 Verfahren zum Verteilen eines in Teilblöcke aufgeteilten Datenblocks in einem mehrere Knoten umfassenden Netzwerk, sowie dazugehöriger Knoten und System

Country Status (2)

Country Link
DE (1) DE102006019711A1 (de)
WO (1) WO2007124967A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1624605A1 (de) * 2004-08-06 2006-02-08 Siemens Aktiengesellschaft Empfangsverfahren mit durchlässigem Schicht für die zuverlässige Mehrfachübertragung in einem drahtlosen System
WO2006039265A2 (en) * 2004-09-29 2006-04-13 Telefonaktiebolaget Lm Ericsson (Publ) Reassembling of segmented packet data using reliability values

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546342B2 (en) * 2004-05-14 2009-06-09 Microsoft Corporation Distributed hosting of web content using partial replication
US7664109B2 (en) * 2004-09-03 2010-02-16 Microsoft Corporation System and method for distributed streaming of scalable media

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1624605A1 (de) * 2004-08-06 2006-02-08 Siemens Aktiengesellschaft Empfangsverfahren mit durchlässigem Schicht für die zuverlässige Mehrfachübertragung in einem drahtlosen System
WO2006039265A2 (en) * 2004-09-29 2006-04-13 Telefonaktiebolaget Lm Ericsson (Publ) Reassembling of segmented packet data using reliability values

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RADHA,Hayder, WU,Mingquan: Overlay and Peer-to- Peer Multicast with Network-Embedded FEC. IEEE, 2004, S.1747-1750
RADHA,Hayder, WU,Mingquan: Overlay and Peer-toPeer Multicast with Network-Embedded FEC. IEEE, 2004, S.1747-1750 *

Also Published As

Publication number Publication date
WO2007124967A1 (de) 2007-11-08

Similar Documents

Publication Publication Date Title
DE60007090T2 (de) Vorwärtsfehlerkorrektur über multiplexierte cdma kanäle die hohe kodierungsleistung ermöglichen
DE60209189T2 (de) Apparat und Methode zur Schaffung eines Docsis Headers durch die Hardware
DE60214823T2 (de) Verfahren und System für eine verteilte Multicastcachetechnik
EP1252787A1 (de) Verfahren zum betreiben eines mobilfunknetzes
EP2115948A1 (de) Verfahren und anlage zur optimierten übertragung von daten zwischen einer steuereinrichtung und mehreren feldgeräten
EP1685673B1 (de) Verfahren zur bertragung von digitalen informationspaketen in einem datennetz
DE19605223A1 (de) Verfahren zum Betreiben einer Breitband-Verbindung zwischen einem Mobilfunk-Endgerät und einer netzseitigen Mobilfunkeinrichtung sowie Mobilfunk-Endgerät, netzseitige Mobilfunkeinrichtung und Mobilfunksystem
WO2006010689A1 (de) Codier- und decodierverfahren, sowie codier- und decodiervorrichtungen mit einem zweistufigen fehlerschutzverfahren
DE10248569A1 (de) Verfahren zur Leistungsabschätzung beim Bereitstellen verzögerungsintoleranter Datendienste
EP2016734B1 (de) Versenden und Empfangen von Blockdaten in zeitlich coordinierter Manier
DE10231958A1 (de) Direkt adressiertes Multicast-Protokoll
WO2001039522A2 (de) Verfahren zum betreiben eines mobilfunknetzes
DE19503215C1 (de) Verfahren zur gemeinsamen Übertragung von digitalen Quell- und Steuerdaten zwischen über Datenleitungen verbundenen Datenquellen und -senken
DE102006019711A1 (de) Verfahren zum Verteilen eines in Teilblöcke aufgeteilten Datenblocks in einem mehrere Knoten umfassenden Netzwerk, sowie dazugehöriger Knoten und System
WO2005112330A1 (de) Verfahren, sende- sowie empfangseinrichtung zur übertragung von digitalen informationspaketen in einem datennetz
EP1511215B1 (de) Verfahren und Vorrichtung zur Datenübertragung gemä einem Hybrid-ARQ-Verfahren
DE102016112314B4 (de) Verfahren zum Bestimmen wenigstens eines Dienstgüte-Parameters einer paketbasierten Datenübertragung
DE60226000T2 (de) Verfahren und Vorrichtung zur Steigerung der Datenübertragungsrate in einem Kommunikationsnetz
DE102006014592A1 (de) Verfahren zur Übertragung von Daten in einem Datennetz
DE102010023299B4 (de) Verfahren zum Übertragen von Daten
DE102017223776A1 (de) Teilnehmerstation für ein serielles Kommunikationsnetzwerk und Verfahren zur Korrektur von Einzelfehlern in einer Nachricht eines seriellen Kommunikationsnetzwerks
EP0968584B1 (de) Verfahren zur reduzierung von redundanten übertragungen von datengruppen
EP1295429A1 (de) Verfahren zum gleichzeitigen übertragen mehrerer teildatenströme und vorrichtung zum korrigieren von übertragungsfehlern durch automatische wiederholunganforderung (arq)
DE10220370A1 (de) Verfahren und Vorrichtung zum Wiedergewinnen eines Codeworts aus einem empfangenen, fehlerhaften Codewort, Verfahren und Vorrichtung zum Erzeugen eines Codeworts, und Übertragungssystem
WO2007093522A1 (de) Verfahren, anordnung und einrichtung zur übertragung von informationen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection