-
Um eine kabellose Kommunikation durchzuführen, bedient man sich verschiedenster Übertragungsvorrichtungen mit Modulations- und Codierungsvorschriften abhängig vom Übertragungsmedium und dem verwendeten Träger. Trotz robuster Verfahren und der Verwendung von Redundanzen können Bitfehler bei der Nachrichtenübertragung auftauchen. Kabellose, durch die Umwelt stark gestörte Kommunikationsverfahren beispielsweise in Unterwassernetzwerken, sind aus einem Aufsatz „Underwater acoustic networking techniques” bekannt. Bibliografische Angaben zu diesem Aufsatz sind: R. Otnes, A. Asterjadhi, P. Casari, M. Goetz, T. Husøy, I. Nissen, K. Rimstad, P. van Walree, M. Zorzi, Underwater Acoustic Networking Techniques, SpringerBriefs in Electrical and Computer Engineering, DOI: 10.1007/978-3-642-25224-2_1, 2012. Der Aufsatz ist auch von einer Internetseite frei herunterladbar. Im Weiteren wird davon ausgegangen, daß kleine Datenvolumen robust in stark gestörten Medien transportiert werden sollen (ACP142). Grundsätzlich ist es ausreichend, wenn man etwas nicht richtig verstanden hat, also wenn Bitfehler vorliegen, nachzufragen und um eine Wiederholung der Aussendung zu bitten. Dazu werden in den Nachrichten zusätzlich sogenannte Prüfsummen eingeführt. Das Verfahren ist unter der Bezeichnung zyklische Redundanzprüfung (cyclic redundancy check, CRC) bekannt. Ebenso werden Nachrichten im Rahmen einer Vorwärtsfehlerkorrektur (forward error correction, FEC) mit Prüfsummen ausgestattet, damit Defekte bei der Übertragung festgestellt und korrigiert werden können. Der Sender berechnet aus der Nachricht die passende Prüfsumme und übermittelt über das Medium beides, Nachricht und Prüfsumme. Der Empfänger vergleicht die aus der empfangenen Nachricht berechnete mit der empfangenden Prüfsumme. Sobald eine Differenz auftritt, wird die Nachricht verworfen und eine Neuaussendung durch den Empfänger bei dem Sender beantragt. Hierzu dient ein Signal zur Bestätigung bei der Datenübertragung (ACK, von ACKnowledgement). Ein Nachfragen führt zu einer Verzögerung, da die Transmissionsstrecke mindestens zweimal erneut überbrückt werden muss. Der Sender muss informiert werden, dass die Nachricht beim Empfänger defekt angekommen ist. Dann muss die Nachricht erneut gesendet werden. Je nach Übertragungsgeschwindigkeit und Distanz zwischen Sender und Empfänger können im Wasser Sekunden und im Weltraum mehrere Stunden verstreichen. Zudem erhöhen die zusätzlichen Aussendungen den Energiebedarf. Dadurch wird bei autonomen Systemen die Durchhaltefähigkeit vermindert. Ein anderer Nachteil sind daher unnötige Transmissionen. Nach einer Übertragung wird aus den Nutzdaten (Payload) eine Prüfsumme (Checksum, CS) bestimmt, die dann mit der übertragenen Prüfsumme verglichen wird. Die Nutzdaten können richtig, aber die Prüfsumme falsch übertragen worden sein. Eine Verwerfung wäre nicht notwendig gewesen. Ferner können die Prüfsumme und die Nutzdaten (Payload) zufällig so verändert sein, dass beide übereinstimmen. Es ist eine gefährliche Mutation entstanden, die Schaden anrichten kann, da diese Nachricht als syntaktisch korrekt identifiziert wird, es aber semantisch nicht ist.
-
Die
US 2011/0 304 502 A1 zeigt ein Verfahren zur Verarbeitung von Datenpaketen in einem Kommunikationsknoten. Der Kommunikationsknoten ist auf einem Satelliten angeordnet, der Radio-Identifikations- und Ortungssignale von Schiffen empfängt. Einzelne Datenpakete mit ursprünglich gleichem Inhalt werden jeweils redundant empfangen. Redundante Datenpakete ermittelt man durch Vergleichen der Datenpakete nach ihrem Inhalt. Bevor die Datenpakete zurück zur Erde übertragen werden, entfernt man alle redundanten Datenpakete. Haben alle redundanten Datenpakete einen Bitfehler, können die redundanten Datenpakete kombiniert werden, um ein Datenpaket mit einer geringeren Fehlerbitrate zu erhalten.
-
Die
US 2010/0 269 005 A1 offenbart ein weiteres Verfahren zur Verarbeitung von Datenpaketen in einem Kommunikationsknoten. Der Kommunikationsknoten ist Teil eines industriellen Steuerungssystems, das drahtlose Sensoren aufweist. Es liegt ein Maschen-Netzwerk vor, das im Frequenzbereich zwischen 2,4 und 5,8 GHz mit einem komplexen Routing mit einer eindeutigen Datenpaket-Identifikation arbeitet. Redundante Datenpakete mit ursprünglich gleichem Inhalt werden mehrfach empfangen. Redundante Datenpakete werden über die Datenpaket-Identifikation erkannt. Sind die erhaltenen redundanten Datenpakete alle fehlerhaft, erfolgt ein Versuch, das Datenpaket wiederherzustellen. Dies erfolgt mit Hilfe eines Wertes einer zyklischen Redundanzprüfung („cyclic redundancy check” oder abgekürzt „CRC”).
-
Die
DE 697 27 325 T2 betrifft ebenso ein Verfahren zur Verarbeitung von Datenpaketen in einem Kommunikationsknoten. Der Kommunikationsknoten ist Teil eines Mobilfunksystems. Der Kommunikationsknoten stellt einen Diversifizierungsempfänger dar, der über räumlich getrennte Antennen mehrfache Kopien oder redundante Datenpakete eines übertragenden Datenpakets empfängt. Zur Fehlerkorrektur werden Bitabweichungen der zueinander redundanten Datenpakete ermittelt und ein repräsentierendes Datenpaket dadurch erhalten, dass dominierende Bitwerte als korrekt gesetzt übernommen werden. Im Anschluss wird ein Bestätigungspaket („acknowledgement packet” oder abgekürzt „ACK”) gesendet.
-
Die Aufgabe der Erfindung besteht darin, ein Verfahren zur Verarbeitung von mehrfach eintreffenden Datenpaketen in einem Kommunikationsknoten so auszubilden, dass die Kanaleffizienz bei geringer Fehlerrate hoch ist.
-
Diese Aufgabe wird erfindungsgemäß durch die Merkmale des Anspruches 1 gelöst.
-
Die Vorteile der Erfindung beruhen auf folgenden Verfahrensschritten der Verarbeitung von Datenpaketen in einem Kommunikationsknoten:
-
Verfahrensschritt: Empfang einzelner Datenpakete mit ursprünglich gleichem Inhalt jeweils mehrfach. Mehrfach empfangene Datenpakete dienen dazu, Bitfehler zu korrigieren. Die mehrfach empfangenen Datenpakete werden nachfolgend auch als redundante Datenpakete bezeichnet. Redundante Datenpakete im Sinne dieser Anmeldung sind Datenpakete, die auf ein gemeinsames, ursprüngliches Datenpaket zurückzuführen sind. Redundante Datenpakete können aufgrund von Übertragungsstörungen voneinander abweichen. Ein einzelnes Datenpaket kann auf verschiedene Weise mehrfach empfangen werden. Zum einen können Datenpakete in einem Netzwerk von zwei oder mehr vorhergehenden Kommunikationsknoten empfangen werden. Ferner können Reflexionen bewirken, dass ein Datenpaket mehrfach empfangen wird. Oder ein Datenpaket wird von einem vorhergehenden Kommunikationsknoten mehrfach ausgesendet.
-
Verfahrensschritt: Durchführung eines Data-Minings mit einer Cluster-Analyse, derart, dass die Cluster-Analyse auf einer Bitabweichung der Datenpakete basiert und dass ähnliche Datenpakete in jeweiligen Clustern einander zugeordnet werden. Ein Data-Mining mit einer Cluster-Analyse kann heutzutage effizient auf Rechnern durchgeführt werden, weil die Datenpakete eine kurze Bitlänge aufweisen. Denn die für eine Cluster-Analyse benötigte Rechnerleistung steigt polynomial mit der Bitlänge der Datenpakete an.
-
Verfahrensschritt: Ermittlung eines repräsentierenden Datenpakets aus den ermittelten Clustern. Ein repräsentierendes Datenpaket erhält man dadurch, dass dominierende Bitwerte von voneinander zugeordneten als korrekt gesetzt übernommen werden. Verfahrensschritt: Weiterbearbeitung des repräsentierenden Datenpakets. Die Weiterbearbeitung kann eine Weiterleitung des repräsentierenden Datenpakets zu einem nächsten Kommunikationsknoten umfassen. Die Weiterbearbeitung kann auch ausschließlich eine Weiterbearbeitung innerhalb des Kommunikationsknotens beinhalten, wenn der Kommunikationsknoten gleichzeitig ein Endempfänger ist.
-
Zusammenfassend ausgedrückt, findet eine Reparatur durch eine Korrektur von defekten Datenpaketen mit Hilfe ähnlicher, durch den Kanal gestörter Nachrichten mit ursprünglich gleichem Inhalt statt. Eine Neuanforderung und eine Neuaussendung des Datenpakets erübrigen sich durch diese Korrektur. Die Einsatzbereiche sind dort, wo die Laufzeiten lang sind, wie in einem akustischen Unterwasserkommunikationssystem oder in einem System mit einer weit entfernten Weltraumsonde.
-
Gemäß einer Ausgestaltung der Erfindung erhält jedes empfangene Datenpaket einen Zeitstempel, der im vorgenannten Einzelschritt der Cluster-Analyse mit verarbeitet wird. Die Mitverarbeitung des Zeitstempels erleichtert es, dass zueinander redundante Datenpakete erkannt werden. Umgekehrt ausgedrückt, schließt man durch eine Mitverarbeitung des Zeitstempels aus, dass ältere Datenpakete die Bestimmung eines repräsentierenden Datenpakets unnötig verfälschen.
-
Gemäß einer Ausgestaltung der vorangegangenen Ausgestaltung werden mit Hilfe der Zeitstempel Zeitfenster gebildet, derart, dass Datenpakete des gleichen Zeitfensters gemeinsam geclustert werden. Da redundante Datenpakete zeitnah zueinander an einem Kommunikationsknoten eintreffen, sorgt das Zeitfenster dafür, dass zuverlässig zueinander redundante Datenpakete erkannt werden.
-
Gemäß einer Ausgestaltung der Erfindung umfassen die Datenpakete eine Prüfsumme, die die Prüfsumme einer zyklischen Redundanzprüfung (Cyclic Redundancy Check oder CRC) ist, derart, dass die Prüfsumme in der Cluster-Analyse mit verarbeitet wird. Hierdurch können gefährliche Mutationen, wie sie zuvor in den Nachteilen genannt sind, erkannt und behoben werden.
-
Gemäß einer Ausgestaltung der vorangegangenen Ausgestaltung werden im vorgenannten Einzelschritt der Cluster-Analyse Datenpakete der gleichen Checksumme geclustert. Daraus wird ein repräsentierendes Datenpaket gebildet, das mit Vorteil mit einer äußerst hohen Wahrscheinlichkeit frei von Fehlern ist.
-
Ausführungsbeispiele der Erfindung werden nachfolgend an Hand der Zeichnungen näher beschrieben. Dabei zeigen als Prinzipskizzen:
-
1 ein akustisches Unterwasserkommunikationssystem mit einer Vielzahl von Kommunikationsknoten;
-
2 ein schematisiertes Netzwerk mit Kommunikationsknoten.
-
Allgemeines Verfahren
-
Die 1 und 2 illustrieren Anwendungsgebiete eines Verfahrens zur
- a) Verarbeitung von Datenpaketen in einem Kommunikationsknoten, mit folgenden Schritten:
- b) Empfang einzelner Datenpakete mit Nachrichteninhalten, jeweils mehrfach,
- c) Durchführung eines Data-Minings mit einer Cluster-Analyse bezüglich der empfangenen Nachrichteninhalte,
c1) derart, dass die Cluster-Analyse auf einer Bitabweichung der Datenpakete basiert und dass ähnliche Datenpakete in jeweiligen Clustern einander zugeordnet werden,
- d) Ermittlung eines repräsentierenden Datenpakets aus jedem Cluster,
- e) Weiterbearbeitung des repräsentierenden Datenpaketes.
-
Kommunikationsknoten, Eingang von Datenpaketen jeweils mehrfach
-
Die 1 zeigt am Beispiel einer akustischen Unterwasserkommunikation Kommunikationsknoten K9 bis K19. Die Kommunikationsknoten K9 bis K19 bilden ein restringiert flutendes Netzwerk. Der dargestellte Kommunikationsknoten K16 empfängt ein einzelnes Datenpaket mehrfach, weil der Kommunikationsknoten K16 Nachrichten von den Kommunikationsknoten K13 und K15 empfängt. Ebenso können redundante Datenpakete aufgrund von Unterwasserreflexionen, beispielsweise des Meeresbodens, vom Kommunikationsknoten K15 empfangen werden.
-
Ein weiteres Netzwerk-Beispiel eines flutenden Netzwerkes zeigt die 2 als abstrahierte Darstellung. Ein Sender (Source) flutet das Netzwerk mit einem ersten Datenpaket des Inhalts ”101010”. Der Kommunikationsknoten K7 erhält das ursprüngliche Datenpaket dreifach: Vom Kommunikationsknoten K4 das durch die Übertragung im Kanal verfälschte Datenpaket „101000” und von den Kommunikationsknoten K2 und K5 das unverfälschte Datenpaket „101010”. Das von K4 empfangene Datenpaket weist einen Ein-Bit-Fehler auf. Nach jedem Eintreffen einer Nachricht wird nun anwachsendes Wissen gemeinsam prozessiert. Nachfolgend wird beschrieben, wie aus einer Vielzahl von empfangenen Datenpaketen zunächst redundante Datenpakete einander zugeordnet werden, um daraus jeweils ein repräsentierendes Datenpaket zu ermitteln, das dann weiterbearbeitet wird.
-
Data-Mining, Cluster-Analyse, Hamming-Abstand
-
Nachfolgend werden die Schritte illustriert, die eine Durchführung eines Data-Minings mit einer Cluster-Analyse bezüglich der Nachrichteninhalte umfassen, derart, dass die Cluster-Analyse auf einer Bitabweichung der Datenpakete basiert und dass ähnliche und damit redundante Datenpakete einander zugeordnet werden. Jedes empfangene Datenpaket kann einen Zeitstempel enthalten, der bei der Cluster-Analyse mit verarbeitet wird. Zeitstempel ermöglichen es, alte Nachrichten aus der Empfangsliste zu löschen. Mit Hilfe der Zeitstempel können Zeitfenster gebildet werden, derart, dass empfangene Datenpakete des gleichen Zeitfensters gemeinsam geclustert werden.
-
Im vorliegenden stark vereinfachten Verfahrensbeispiel sendet der Sender ein erstes Datenpaket mit dem Inhalt „101010”, wie in 2 illustriert, und dann eine zweites Datenpaket mit dem Inhalt „111111” aus.
-
Hieraufhin treffen beim Kommunikationsknoten K7 nacheinander folgende Datenpakete ein, die einen Zeitstempel erhalten:
Datenpaket a, Inhalt: 101000, vom Kommunikationsknoten K4, Zeitstempel: t1 + delay1.
Datenpaket b, Inhalt: 101010, vom Kommunikationsknoten K5, Zeitstempel: t1 + delay2.
Datenpaket c, Inhalt: 101010, vom Kommunikationsknoten K2, Zeitstempel: t1 + delay3.
Datenpaket d, Inhalt: 111101, vom Kommunikationsknoten K4, Zeitstempel: t2 + delay1.
Datenpaket e, Inhalt: 101111, vom Kommunikationsknoten K5, Zeitstempel: t2 + delay2.
Datenpaket f, Inhalt: 100111, vom Kommunikationsknoten K2 Zeitstempel: t2 + delay3.
-
Die nachfolgende Tabelle gibt nun die Bitabweichung der Datenpakete a bis f untereinander an. Beispielsweise weist die Bitabweichung (Hamming-Distanz) zwischen dem Datenpaket a und dem Datenpaket f den Wert 4 auf, weil 4 Bitstellen unterschiedlich sind.
-
-
Auf der Grundlage der Bitabweichungen der Datenpakete a bis f untereinander bildet man nun Cluster. Dies erfolgt hierarchisch, wie die nachfolgende Tabelle illustriert:
-
Redundante Datenpakete sind in der Ebene V angegeben. Daraus geht hervor, dass die Datenpakete a, b und c redundante Datenpakete sind, ebenso wie die Datenpakete d, e und f. Der Empfänger hat zwei Nachrichteninhalte erfasst. Unterhalb des Clusters abc findet sich ein Wert 1, der den Hamming-Abstand zwischen den Datenpaketen a, b und c angibt. Unterhalb des Clusters def findet sich ein Wert 3, der den Hamming-Abstand zwischen den Datenpaketen a, b und c angibt.
-
Ermittlung eines repräsentierenden Datenpakets
-
Ein repräsentierendes Datenpakets erhält man dadurch, dass dominierende Bitwerte von voneinander zugeordneten, als redundant erkannten Datenpaketen übernommen werden. Aus dem ersten Cluster der redundanten Datenpakete a bis c der Inhalte
101000
101010
101010
ergibt sich ein repräsentierendes Datenpaket 101010, weil an der fünften Bitstelle die Eins dominiert. Das ermittelte repräsentierende Datenpaket wird dann weiterbearbeitet. Die Weiterbearbeitung kann eine Weiterleitung an einen nächsten Kommunikationsknoten sein (Einzelheiten: Aufdatierung gesetztes Bit +1, ungesetztes Bit –1, positive Aufdatierungen führen zu einem gesetzten Bit im Repräsentanten. Bei Vorhandensein einer Aufdatierungsnull ist eine Checksummenprüfung notwendig).
-
Nun wird mit den nächsten redundanten Datenpaketen fortgefahren. Aus dem zweiten Cluster der Datenpakete d bis f der Inhalte
111101
101111
100111
ergibt sich ein repräsentierendes Datenpaket 101111. Dieses Datenpaket stimmt nicht mit dem ursprünglichen Datenpaket des Inhalts 111111 überein. Mit einer höheren Anzahl redundanter Datenpakete wäre, abweichend zum sehr stark vereinfachten Ausführungsbeispiel, die fehlerhafte Auswahl eines repräsentierenden Datenpakets nicht aufgetreten.
-
Ebenso wäre der Fehler der Auswahl eines repräsentierenden Datenpakets nicht aufgetreten, wenn man die Checksumme mit einbezogen hätte. Hierbei umfassen die Datenpakete eine Prüfsumme, die die Prüfsumme einer zyklischen Redundanzprüfung (Cyclic Redundancy Check oder CRC) ist. Diese Prüfsumme wird im Rahmen der Cluster-Analyse mit verarbeitet. Hierbei werden Datenpakete der gleichen Checksumme geclustert und daraus ein repräsentierendes Datenpaket gebildet. Auch hier gilt, dass mit einer höheren Anzahl redundanter Datenpakete die Wahrscheinlichkeit hoch ist, dass Datenpakete mit einer korrekten Checksumme am Kommunikationsknoten eintreffen und ein richtiges repräsentierendes Datenpaket ermittelt wird.
-
Einzelheiten, Bitlänge, Link-Layer
-
Die Bitlänge der Datenpakete für eine akustische Unterwasserkommunikation könnte in einem Netzwerk derzeit maximal 128 Bit betragen. In Simulationen wurde festgestellt, dass bei 1000 Nachrichten in 100 Clustern die Verarbeitungszeit kleiner Rechner in autonomen Fahrzeugen 1 Sekunde zur Prozessierung benötigen. Die repetierenden Nachrichten als Netzwerkkodierung wurden durch Echos respektive durch ein restringiertes Fluten erzeugt.
-
Eine Durchführung des Reparaturverfahrens bietet sich zwischen physikalischer Übertragungsschicht und Netzwerkschicht im Link-Layer an, da korrekte, inkorrekte, sowie reparierte Nachrichten, die gesendet und empfangen werden, gemeinsam in Listen verwaltet werden können.
-
Datenpaket, Datenpäckchen
-
Im vorgenannten Text wird der Begriff Datenpaket verwendet. Da es sich um kleine Datenpakete handelt, könnte man auch von Datenpäckchen sprechen. Die Nachrichteninhalte der Datenpäckchen sind Kurznachrichten (Instant Messaging, SMS, Twitter-Nachrichten, ...).
-
Abweichungen zum Ausführungsbeispiel
-
In Abweichung zum dargestellten Ausführungsbeispiel kann ein Kommunikationsknoten auch ein erdgebundener, stationärer Empfänger einer Weltraumsonde sein, deren ausgesandte Datenpakete viele Minuten Übertragungszeit benötigen. Die Bitlänge der Datenpakete für einen Empfang von Daten einer Weltraumsonde könnte derzeit bis 512 Bit betragen, da schnellere und größere Rechner hierfür zur Verfügung stehen. In diesem Beispiel wird eine Nachricht von einer Quelle mehrfach zeitlich unterschiedlich gesendet, weil beispielsweise Abschattungseffekte der Himmelskörper auftreten. Eine Clusterung mit Hilfe von Zeitstempeln ist hier beispielsweise nicht wünschenswert, da gerade die Phasen der Abschattung zu großen Sendezeitdifferenzen führen, jedoch gleiche Nachrichteninhalte vorliegen.