DE102010010935A1 - Method for checking integrity of data in e.g. video conference in satellite network, involves combining data packets in network node, transmitting data packets to receiver-network nodes, and examining integrity of data - Google Patents

Method for checking integrity of data in e.g. video conference in satellite network, involves combining data packets in network node, transmitting data packets to receiver-network nodes, and examining integrity of data Download PDF

Info

Publication number
DE102010010935A1
DE102010010935A1 DE201010010935 DE102010010935A DE102010010935A1 DE 102010010935 A1 DE102010010935 A1 DE 102010010935A1 DE 201010010935 DE201010010935 DE 201010010935 DE 102010010935 A DE102010010935 A DE 102010010935A DE 102010010935 A1 DE102010010935 A1 DE 102010010935A1
Authority
DE
Germany
Prior art keywords
linear
data
data packets
crc check
check value
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
DE201010010935
Other languages
German (de)
Inventor
Francesco Rossetto
Francisco Lazaro Blasco
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.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
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 Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE201010010935 priority Critical patent/DE102010010935A1/en
Publication of DE102010010935A1 publication Critical patent/DE102010010935A1/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations
    • H04B7/15521Ground-based stations combining by calculations packets received from different stations before transmitting the combined packets as part of network coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Radio Relay Systems (AREA)

Abstract

The method involves providing data packets in a network node i.e. satellite (R), with a nonlinear cyclic redundancy check (CRC) test value, and combining the data packets under application of network coding method in the network node. The data packets are transmitted to receiver-network nodes i.e. satellite terminals (A, B), and integrity of data is examined by a CRC. Linear CRC test value in one of the data packets is replaced by the nonlinear CRC test value. The nonlinear CRC test value in the receiver-network nodes is replaced by the linear CRC test value.

Description

Die Erfindung betrifft ein Verfahren zum Überprüfen der Integrität von Daten.The invention relates to a method for checking the integrity of data.

Unter einem Network-Coding Verfahren versteht man eine Technik, mit der beispielsweise die Leistungsfähigkeit von Broadcast Netzwerken erhöht werden kann.A network-coding method is understood to be a technology with which, for example, the performance of broadcast networks can be increased.

In einem Broadcast Netz wird dieselbe Information von verschiedenen Terminals empfangen. Dies ist z. B. in der Satellitenkommunikation der Fall, bei der mehrere Terminals ein vom Satelliten gesendetes Signal empfangen. Normalerweise dürfen die Knoten in einem Kommunikationssystem die Information nicht verändern, sondern nur weiterleiten. Dies wird als ”Routing” bezeichnet und ist die Grundlage des Internet-Protokolls. Im Gegensatz zum ”Routing” dürfen im Network-Coding Verfahren die Netzwerkknoten verschiedene Informationen miteinander kombinieren. Zu berücksichtigen ist, dass die Knoten in der Praxis immer lineare Kombinationen der Pakete erschaffen.In a broadcast network, the same information is received by different terminals. This is z. For example, in satellite communications, the case where multiple terminals receive a signal transmitted by the satellite. Normally, the nodes in a communication system must not change the information, but only pass it on. This is called "routing" and is the basis of the Internet Protocol. In contrast to "routing", the network nodes may combine different information in the network coding method. It should be noted that in practice the nodes always create linear combinations of the packets.

Eine Topologie hierfür mit praktischer Bedeutung, in der der Begriff Network-Coding einfach zu verstehen ist, ist der sogenannte ”Two-Way Relay Channel”. In diesem Beispiel existieren zwei Knoten A, B, die Informationen miteinander austauschen wollen. Die Knoten A und B sind nicht direkt, sondern über einen dritten Knoten R miteinander verbunden. In 1 werden die zu sendenden Informationen als X und Y bezeichnet. Üblicherweise senden A und B ihre Informationen zu verschiedenen Zeiten. Sofern angenommen wird, dass die Information in Form von Paketen gesendet wird und nur ein Paket pro Zeitschlitz gesendet werden kann, werden vier Zeitschlitze benötigt, damit A und B die Pakete X und Y austauschen können. Zuerst sendet A das Paket X zu R, daraufhin sendet B das Paket Y zu R, anschließend sendet R das Paket X zu B und schließlich das Paket Y zu A.A topology for this with practical meaning, in which the term network coding is easy to understand, is the so-called "two-way relay channel". In this example, there are two nodes A, B that want to exchange information with each other. The nodes A and B are not connected directly, but via a third node R together. In 1 the information to be sent is referred to as X and Y. Usually, A and B send their information at different times. Assuming that the information is sent in the form of packets and only one packet can be sent per timeslot, four timeslots are needed for A and B to exchange the X and Y packets. First, A sends the packet X to R, then B sends the packet Y to R, then R sends the packet X to B and finally the packet Y to A.

Durch Network-Coding kann R die Summe von X und Y senden, anstatt X und Y separat zu übermitteln. Unter der Voraussetzung, dass A und B die gesendeten Pakete speichern, können die einzelnen Pakete X und Y aus der Summe X + Y dekodiert werden. A und B müssen jeweils nur das gesendete Paket von X + Y abziehen. Somit sind durch die Verwendung des Network-Coding Verfahrens nur drei anstatt vier Zeitschlitze für den Informationsaustausch erforderlich. Dies ist besonders günstig für den Link von R zu A und B, in dem die benötigte Bandbreite somit halbiert werden kann. In der Satellitenkommunikation könnten beispielsweise der Knoten R der Satellit und die Knoten A und B die Terminals sein. Somit wird die benötigte Bandbreite im Satellitendownlink halbiert.Through network coding, R can send the sum of X and Y instead of transmitting X and Y separately. Assuming that A and B store the transmitted packets, the individual packets X and Y can be decoded from the sum X + Y. A and B only have to deduct the sent package from X + Y. Thus, using the network coding method requires only three time slots instead of four timeslots for information exchange. This is particularly favorable for the link from R to A and B, where the required bandwidth can thus be halved. In satellite communication, for example, the node R could be the satellite and nodes A and B could be the terminals. Thus, the required bandwidth in the satellite downlink is halved.

Bei den meisten Kommunikationsprotokollen wird eine Überprüfung der Integrität der übermittelten Daten mittels eines ”Cyclic Redundancy Check” (CRC) durchgeführt. Durch einen CRC können fehlerhafte Pakete detektiert und verworfen werden. Üblicherweise sind CRC’s lineare Operationen, die über das ganze Paket oder Teile davon berechnet werden.For most communication protocols, the integrity of the transmitted data is checked by means of a Cyclic Redundancy Check (CRC). By a CRC faulty packets can be detected and discarded. Usually, CRCs are linear operations that are calculated over the whole package or parts of it.

Im Allgemeinen sind lineare CRC’s fähig, Fehler zu detektieren. Dies kann u. U. im linearen Network Coding aber nicht der Fall sein, da hier die lineare Kombination von Paketen einen gültigen CRC-Prüfwert erzeugt. Um dies zu verdeutlichen, werden anhand des Szenarios ”Two-Way Relay Channel” zwei Beispiele dargestellt, in denen lineare CRC’s Fehler nicht detektieren können. Für beide Beispiele wird davon ausgegangen, dass X und Y UDP- oder IP-Pakete sind. Jedoch würde dasselbe gelten, wenn andere Protokolle benutzt würden, solange die Länge der Protokoll-Header fest ist. Der 2 kann man entnehmen, wie die Pakete in R kombiniert werden. Da sowohl die Network-Coding Operation (nämlich die Summe oder eine beliebige lineare Kombination) als auch der CRC-Prüfwert linear sind und der CRC-Prüfwert einer linearen Kombination von Paketen identisch ist zu einer linearen Kombination der CRC-Prüfwerte der Pakete, können folgende Probleme entstehen:
In einem ersten Beispiel kann angenommen werden, dass A und B mehrere Pakete je ”Round Trip Time” senden. Dies bedeutet, dass sich in dem Moment, in dem A die Summe xi + yj empfängt, sich mehrere Pakete in einem Puffer in A befinden. Sofern davon ausgegangen wird, dass sich beispielsweise drei Pakete im Puffer von A befinden, können die Pakete als xa, xb, und xc bezeichnet werden. Um yj zu dekodieren, muss A wissen, welches der drei Pakete mit yj kombiniert wurde. Normalerweise ist diese Information (d. h. die Identität des benötigten Pakets) in dem Header der Summe vorhanden. Aber es ist möglich, dass mehrere Pakete (z. B. xa, xb, und xc) die gleiche Identität bezeichnen. Wenn A bei dieser Entscheidung einen Fehler begeht, kann eine lineare CRC-Prüfung, die einen linearen CRC-Prüfwert zum Ergebnis hat, diesen Fehler nicht detektieren. Sendet beispielsweise R xa + yj und vermutet A irrtümlicher Weise, R hat xb + yj gesendet, würde A in diesem Fall folgendes berechnen: yj' = (xa + yj) – xb. Das Paket yj' hat einen gültigen IP-CRC und UDP-CRC, weil diese lineare Kombinationen von gültigen CRC’s sind.
In general, linear CRCs are capable of detecting faults. This can u. However, in linear network coding, this may not be the case since the linear combination of packets produces a valid CRC check value. To illustrate this, two scenarios are presented using the Two-Way Relay Channel scenario in which linear CRCs can not detect errors. Both examples assume that X and Y are UDP or IP packets. However, the same would apply if other protocols were used as long as the length of the protocol headers is fixed. Of the 2 you can see how the packages in R are combined. Since both the network coding operation (namely, the sum or any linear combination) and the CRC check value are linear, and the CRC check value of a linear combination of packets is identical to a linear combination of the CRC check values of the packets, the following may occur Problems arise:
In a first example, it can be assumed that A and B send several packets per round trip time. This means that the moment A receives the sum x i + y j , there are several packets in a buffer in A. Assuming, for example, that there are three packets in the buffer of A, the packets may be referred to as x a , x b , and x c . To decode y j , A must know which of the three packets was combined with y j . Usually this information (ie the identity of the required package) is present in the headers of the sum. But it is possible that several packets (eg x a , x b , and x c ) denote the same identity. If A commits an error in this decision, a linear CRC check that results in a linear CRC check value can not detect this error. For example, if R x a + y j and A assume by mistake, R has sent x b + y j , then A would compute: y j '= (x a + y j ) - x b . The packet y j 'has a valid IP CRC and UDP CRC because these are linear combinations of valid CRCs.

In einem zweiten Beispiel wird davon ausgegangen, dass im Falle eines Broadcasts der Knoten R die Aufgabe hat, ein begrenztes Set von N Paketen zu verschiedenen Empfängern zu übertragen. Alle Empfänger müssen alle N Pakete dekodieren. Beispielsweise kann eine effiziente Broadcasttechnik auf Network-Coding-Prinzipien basieren. Es wird angenommen, dass der Knoten R zuerst die N Pakete überträgt und dass zwei Terminals jeweils ein Paket aus den N Paketen nicht empfangen haben. Diese Terminals werden als A und B bezeichnet, wobei die fehlenden Pakete i und j sind. In einem Network-Coding Verfahren würde jetzt die Summe i + j übertragen werden, anstatt zuerst i und anschließend j zu übertragen. Die Knoten oder Terminals A und B können aus der empfangenen linearen Kombination i + j das bereits dekodierte Paket entfernen, um das fehlende Paket zu erhalten. Natürlich müssen sie ebenfalls die Pakete identifizieren, d. h. feststellen, welche lineare Kombination von Paketen durch den Knoten R übermittelt wurde. Somit tritt hier das Gleiche Problem auf, nämlich dass die Knoten A und B falsche Pakete wählen könnten, wobei lineare CRC’s diesen Fehler nicht feststellen würden.In a second example it is assumed that in the case of a broadcast the node R has the task of transmitting a limited set of N packets to different receivers. All receivers must decode all N packets. For example, an efficient broadcasting technique may be based on network coding principles. It is assumed that the node R first contains the N packets transmits and that two terminals each have not received a packet from the N packets. These terminals are referred to as A and B, with the missing packets being i and j. In a network coding method, the sum i + j would now be transmitted instead of first transmitting i and then j. The nodes or terminals A and B can remove from the received linear combination i + j the already decoded packet to obtain the missing packet. Of course, they must also identify the packets, that is, determine which linear combination of packets was transmitted by node R. Thus, the same problem occurs here, namely that nodes A and B could choose wrong packets, with linear CRCs not detecting this error.

Aus dem Stand der Technik bekannte Verfahren haben sich bisher nicht mit diesem Problem befasst. Es existieren einige Implementierungen für Network-Coding Verfahren ( z. B. von S. Katti, H. Rahul, W. Hu, D. Katabi, M. Médard, J. Crowcroft; ”XORs in the Air – Practical Wireless Network Coding”, Sigcomm, Pisa, Italy, pp. 243–254, September 2006 ), die jedoch das genannte Problem nicht vollständig lösen können. Die existierenden Implementierungen versuchen, Pakete eindeutig zu identifizieren, sodass die Wahrscheinlichkeit, dass im Beispiel 1 der Knoten A yj' = (xa + yj) – xb, berechnet, stark reduziert wird. Hierfür werden Paketidentifikatoren zusammen mit den Datenpaketen gesendet. Hierdurch wird das genannte Problem nicht vollständig gelöst. Weiterhin erfolgt eine Erhöhung der benötigten Bandbreite.Prior art methods have not previously addressed this problem. There are some implementations for network coding methods ( z. By S. Katti, H. Rahul, W. Hu, D. Katabi, M. Mardard, J. Crowcroft; "XORs in the Air - Practical Wireless Network Coding", Sigcomm, Pisa, Italy, pp. 243-254, September 2006 ), which, however, can not completely solve the problem mentioned. The existing implementations attempt to uniquely identify packets so that the likelihood that in Example 1 the node computes A y j '= (x a + y j ) - x b is greatly reduced. For this purpose, packet identifiers are sent together with the data packets. As a result, the said problem is not completely solved. Furthermore, there is an increase in the required bandwidth.

Ein Grund für die Nichtbeachtung dieses Problems im Stand der Technik könnte die Tatsache sein, dass dieses Problem keinen großen Stellenwert hat, wenn die Bit Error Rate vom kabellosen Kanal groß ist. In diesem Fall ist der Einfluss einer CRC-Mehrdeutigkeit viel kleiner als der Einfluss von Übertragungsfehlern. Dies war in vielen, bisher durchgeführten Experimenten (beispielsweise in dem o. g. Stand der Technik) der Fall, in denen nur Videokommunikation durchgeführt wurde. Da jedoch zukünftige, kabellose Netzwerke eine kleine BER haben müssen, um z. B. TCP besser zu unterstützen, wird das dargestellte Problem bei Anwendungen mit höheren Datenraten in denen eine zuverlässige Kommunikation gewährleistet werden soll, einen größeren Stellenwert einnehmen.One reason for ignoring this problem in the prior art could be the fact that this problem does not matter much when the wireless channel bit error rate is high. In this case, the influence of a CRC ambiguity is much smaller than the influence of transmission errors. This has been the case in many experiments performed so far (for example in the above-mentioned prior art) in which only video communication was performed. However, since future wireless networks must have a small BER to z. For example, to better support TCP, the problem presented will be more important in higher data rate applications where reliable communication is to be ensured.

Es ist Aufgabe der Erfindung, ein verbessertes Verfahren zum Überprüfen der Integrität von Daten, insbesondere in einem Network-Coding Verfahren, bereitzustellen.It is the object of the invention to provide an improved method for checking the integrity of data, in particular in a network coding method.

Erfindungsgemäß wird diese Aufgabe gelöst durch die Merkmale des Anspruchs 1.According to the invention, this object is achieved by the features of claim 1.

In einem Verfahren zum Überprüfen der Integrität von Daten, werden Datenpakete unter Anwendung eines Network-Coding Verfahrens in einem ersten Netzwerkknoten kombiniert und an einen oder mehrere weitere Netzwerkknoten übermittelt. Die Integrität der Daten ist durch einen CRC Überprüfbar. Erfindungsgemäß werden in dem ersten Netzwerkknoten die Datenpakete mit einem nicht-linearen CRC-Prüfwert versehen. Unter einem nicht-linearen CRC-Prüfwert wird ein solcher CRC-Prüfwert verstanden, der durch eine nicht-lineare Funktion generiert wird. Anschließend werden die Datenpakete kombiniert und an einen oder mehrere weitere Netzwerkknoten übermittelt.In a method of verifying the integrity of data, data packets are combined using a network coding method in a first network node and transmitted to one or more other network nodes. The integrity of the data is verifiable by a CRC. According to the invention, the data packets are provided with a non-linear CRC check value in the first network node. A non-linear CRC check value is understood to mean such a CRC check value that is generated by a non-linear function. Subsequently, the data packets are combined and transmitted to one or more other network nodes.

Betrachtet man das eingangs beschriebene Beispiel des ”Two-Way Relay Channel”, wird deutlich, dass sofern A in dem Beispiel 1 yj' = (xa + yj) – xb berechnet, der CRC von yj' mit sehr hoher Wahrscheinlichkeit ungültig ist. Dasselbe würde im Beispiel 2 gelten. Für den regulären Fall, in dem die Dekodierung erfolgreich ist und der nicht-lineare CRC-Prüfwert stimmt, können die Daten wie üblich weiterverarbeitet werden.If one considers the example of the "two-way relay channel" described at the outset, it becomes clear that if A calculates in the example 1 y j '= (x a + y j ) -x b , the CRC of y j ' is very high Probability is invalid. The same would apply in Example 2. For the regular case where decoding is successful and the non-linear CRC check value is correct, the data can be processed as usual.

Prinzipiell ist festzuhalten, dass lineare CRC-Prüfwerte auch dann gültig sind, wenn sie linear miteinander kombiniert werden, wohingegen nicht-lineare CRC-Prüfwerte mit einer hohen Wahrscheinlichkeit nicht mehr gültig sind, nachdem sie linear miteinander kombiniert wurden.In principle, it should be noted that linear CRC check values are valid even when combined linearly, whereas non-linear CRC check values are very likely to be no longer valid after being linearly combined.

Es ist bevorzugt, dass ein in einem Datenpaket vorhandener linearer CRC-Prüfwert durch einen nicht-linearen CRC-Prüfwert ersetzt wird.It is preferred that a linear CRC check value present in a data packet be replaced by a non-linear CRC check value.

Anschließend kann der nicht-lineare CRC-Prüfwert in dem Empfänger-Netzwerkknoten, d. h. in dem Netzwerkknoten, der ein Datenpaket mit einem nicht-linearen CRC-Prüfwert empfangen hat, wieder durch einen linearen CRC-Prüfwert ersetzt werden. Anschließend kann das Datenpaket zu einem höheren Lager des OSI-Schichtenmodells weitergeleitet werden.Subsequently, the non-linear CRC check value in the receiver network node, i. H. be replaced in the network node that has received a data packet with a non-linear CRC check value again by a linear CRC check value. Subsequently, the data packet can be forwarded to a higher warehouse of the OSI layer model.

In einer besonders bevorzugten Ausführungsform wird der nicht-lineare CRC-Prüfwert durch folgende, nicht-lineare Funktion berechnet: Zunächst wird die Summe S_P aller Bits in einem Datenpaket berechnet. Die Bits im Datenpaket ab S_P bis S_P + CRC_L – 1 werden nun als nicht linearer CRC-Prüfwert verwendet, wobei CRC_L die Länge des CRC-Prüfwerts in Bits ist. Diese Funktion ist deutlich nicht linear und ferner einfach zu berechnen.In a particularly preferred embodiment, the non-linear CRC check value is calculated by the following, non-linear function: First, the sum S_P of all bits in a data packet is calculated. The bits in the data packet from S_P to S_P + CRC_L-1 are now used as a non-linear CRC check value, where CRC_L is the length of the CRC check value in bits. This function is clearly not linear and furthermore easy to calculate.

Bei dem ersten Netzwerkknoten, der die Datenpakete mit einem nicht-linearen CRC-Prüfwert versieht und weiterleitet, kann es sich um einen transparenten oder regenerativen Satelliten handeln.The first network node, which provides and forwards the data packets with a non-linear CRC check value, may be a transparent or regenerative satellite.

Besonders bevorzugt erfolgt das Kombinieren der Datenpakete, nachdem sie mit einem nicht-linearen CRC-Prüfwert versehen wurden, durch eine lineare Kombination. More preferably, combining the data packets after being provided with a non-linear CRC check value is done by a linear combination.

Das Kombinieren von Datenpaketen kann die Bildung der Summe der Datenpakete umfassen.The combining of data packets may involve the formation of the sum of the data packets.

Im Folgenden werden bevorzugte Ausführungsformen der Erfindung anhand von Figuren erläutert.In the following, preferred embodiments of the invention will be explained with reference to figures.

Es zeigen:Show it:

1: Die grundsätzliche Funktionsweise eines Network-Coding Verfahrens, 1 : The Basic Functioning of a Network Coding Method

2: Ein konkreteres Beispiel einer Network-Coding Anwendung, 2 : A more concrete example of a network coding application,

3: Eine Kombination von Datenpaketen unter Verwendung linearer und nicht-linearer CRC-Prüfwerte, 3 : A combination of data packets using linear and non-linear CRC test values,

4: Ein Anwendungsbeispiel für eine Satellitenübertragung gem. der vorliegenden Erfindung. 4 : An application example for a satellite transmission acc. of the present invention.

1 und 2 wurden bereits in Zusammenhang mit dem Stand der Technik erläutert. 1 and 2 have already been explained in connection with the prior art.

Aus 3c wird deutlich, warum das erfindungsgemäße Verfahren Fehler vermeidet.Out 3c it becomes clear why the method according to the invention avoids errors.

Wird gem. das richtige Paket X gewählt, ist die Differenz (X + Y) – X = Y, sodass der verwendete lineare CRC-Prüfwert in richtig ist. Wenn gem. , bei der ebenfalls durchgehend lineare CRC-Prüfwerte verwendet werden, (X + Y) – X' = Y' berechnet wird, ergibt sich ebenfalls ein gültiger CRC-Prüfwert, was zu einem falschen Ergebnis führt. Gemäß , bei der ein nicht-linearer CRC-Prüfwert gem. der vorliegenden Erfindung verwendet wird, führt dagegen der CRC für (X + Y) – X' zu einem ungültigen CRC-Prüfwert, da dieser CRC-Prüfwert aus einer linearen Kombination von anderen Paketen entsteht, sodass kein gültiger CRC-Prüfwert entsteht. Sofern daher jetzt ein CRC-Check durchgeführt wird, würde bemerkt werden, dass X' nicht das richtige Paket für die Dekodierung war. Somit wird es extrem unwahrscheinlich, dass ein falsch dekodiertes Paket nicht detektiert wird.Is gem. If the correct package X is chosen, the difference is (X + Y) - X = Y, so that the used linear CRC check value in correct is. If gem. , in which also linear CRC check values are used, (X + Y) - X '= Y' is calculated, also results in a valid CRC check value, which leads to a false result. According to in which a non-linear CRC check value acc. of the present invention, on the other hand, the CRC for (X + Y) -X 'results in an invalid CRC check value, since this CRC check value arises from a linear combination of other packets, so that no valid CRC check value results. Therefore, if a CRC check is now performed, it would be noted that X 'was not the correct packet for decoding. Thus, it becomes extremely unlikely that an incorrectly decoded packet will not be detected.

4 zeigt ein weiteres Ausführungsbeispiel dieser Erfindung. Es existieren zwei Satellitenterminals (Terminal A und Terminal B), die miteinander über den Satelliten R kommunizieren wollen. Terminal A will Paket X zu Terminal B senden und Terminal B will Paket Y zu Terminal A senden. Beide Pakete X und Y können IP-Pakete sein. Der Satellit kann transparent oder regenerativ sein. In 4 ist ein transparenter Satellit dargestellt. Um die benötigte Downlink-Bandbreite zu minimieren, wird Network-Coding verwendet. Um Fehldetektionen zu vermeiden, werden nicht-lineare CRC-Prüfwerte verwendet. Die Kommunikation weist die folgenden Schritte auf:

  • a) Terminal A sendet Paket X zum Satelliten.
  • b) Terminal B sendet Paket Y zum Satelliten.
  • c) Der Satellit ersetzt die CRC-Prüfwerte von X und Y durch nicht-lineare CRC-Prüfwerte.
  • d) Der Satellit (oder eine Bodenstation für einen transparenten Satelliten) kombiniert die Pakete X und Y mittels einer linearen Kombination. Im Downlink sendet der Satellit das Ergebnis.
  • e) Terminal A empfängt X + Y.
  • f) Terminal A berechnet Y = (X + Y) – X.
  • g) Terminal A berechnet den nicht-linearen CRC-Prüfwert von Y und prüft, ob das Ergebnis stimmt. Wenn dies nicht der Fall ist, wird das Terminal das empfangene Paket verwerfen. Wenn das Ergebnis stimmt, wird das Paket an höhere Protokollschichten weitergeleitet.
4 shows a further embodiment of this invention. There are two satellite terminals (Terminal A and Terminal B) that want to communicate with each other via the satellite R. Terminal A wants to send packet X to terminal B and terminal B wants to send packet Y to terminal A. Both packets X and Y can be IP packets. The satellite can be transparent or regenerative. In 4 a transparent satellite is shown. To minimize the required downlink bandwidth, network coding is used. To avoid misdetections, non-linear CRC check values are used. The communication includes the following steps:
  • a) Terminal A sends packet X to the satellite.
  • b) Terminal B sends packet Y to the satellite.
  • c) The satellite replaces the CRC test values of X and Y with non-linear CRC test values.
  • d) The satellite (or a ground station for a transparent satellite) combines the packets X and Y by means of a linear combination. In the downlink, the satellite sends the result.
  • e) Terminal A receives X + Y.
  • f) Terminal A calculates Y = (X + Y) - X.
  • g) Terminal A calculates the non-linear CRC check value of Y and checks whether the result is correct. If this is not the case, the terminal will discard the received packet. If the result is correct, the packet is forwarded to higher protocol layers.

Die Schritte e) bis g) finden auch im Terminal B statt.The steps e) to g) also take place in the terminal B.

Das erfindungsgemäße Verfahren kann in allen Gebieten verwendet werden, in denen Network-Coding Verfahren Anwendung finden. Mögliche Anwendungen sind z. B. Kommunikation in Echtzeit wie Voice over IP oder Videokonferenzen. Ein weiteres Anwendungsbeispiel stellt der Datenaustausch dar. Die Erfindung kann sowohl in terrestrischen Netzen als auch in Satellitennetzen benutzt werden.The method according to the invention can be used in all fields in which network coding methods are used. Possible applications are z. B. Real-time communication such as Voice over IP or video conferencing. Another application example is the data exchange. The invention can be used both in terrestrial networks and in satellite networks.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • z. B. von S. Katti, H. Rahul, W. Hu, D. Katabi, M. Médard, J. Crowcroft; ”XORs in the Air – Practical Wireless Network Coding”, Sigcomm, Pisa, Italy, pp. 243–254, September 2006 [0009] z. By S. Katti, H. Rahul, W. Hu, D. Katabi, M. Mardard, J. Crowcroft; "XORs in the Air - Practical Wireless Network Coding", Sigcomm, Pisa, Italy, pp. 243-254, September 2006 [0009]

Claims (8)

Verfahren zum Überprüfen der Integrität von Daten, wobei Datenpakete unter Anwendung eines Network-Coding Verfahrens in einem ersten Netzwerkknoten (R) kombiniert werden und an einen oder mehrere N weitere Netzwerkknoten (A, B, ...) übermittelt werden und die Integrität der Daten durch einen ”Cyclic Redundancy Check” (CRC) überprüfbar ist. gekennzeichnet durch die Schritte: – Versehen der Datenpakete in dem ersten Netzwerkknoten (R) mit einem nicht-linearen CRC-Prüfwert, – Kombinieren der Datenpakete und – Übermitteln der Datenpakete an einen oder mehrere weitere Netzwerkknoten (A, B, ...).Method for checking the integrity of data wherein data packets are combined using a network coding method in a first network node (R) and transmitted to one or more N further network nodes (A, B, ...) and the integrity of the data is verifiable by means of a cyclic redundancy check (CRC). characterized by the steps: Providing the data packets in the first network node (R) with a non-linear CRC check value, - Combining the data packets and - Transmission of the data packets to one or more other network nodes (A, B, ...). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass ein in einem Datenpaket vorhandener, linearer CRC-Prüfwert durch einen nicht-linearen CRC-Prüfwert ersetzt wird.Method according to claim 1, characterized in that a linear CRC check value present in a data packet is replaced by a non-linear CRC check value. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der nicht-lineare CRC-Prüfwert in dem Empfänger-Netzwerkknoten (A, B, ...), der ein Datenpaket mit einem nicht-linearen CRC-Prüfwert empfängt, wieder durch einen linearen CRC-Prüfwert ersetzt wird.Method according to claim 2, characterized in that the non-linear CRC check value in the receiver network node (A, B, ...) receiving a data packet with a non-linear CRC check value is again represented by a linear CRC check. Test value is replaced. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass nach dem Ersetzen des nicht-linearen CRC-Prüfwerts durch den linearen CRC-Prüfwert, das Datenpaket zu einem höheren Layer des OSI-Schichtenmodells weitergeleitet wird.A method according to claim 3, characterized in that after replacing the non-linear CRC check value by the linear CRC check value, the data packet is forwarded to a higher layer of the OSI layer model. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass der nicht-lineare CRC-Prüfwert durch folgende Funktion berechnet wird: – Berechnen der Summe S_P aller Bits in einem Datenpaket – Verwenden der Bits im Datenpaket ab S_P bis S_P + CRC_L – 1 als nicht-linearen CRC-Prüfwert, wobei CRC_L die Länge des CRC-Prüfwerts in Bits ist.Method according to one of claims 1 to 4, characterized in that the non-linear CRC check value is calculated by the following function: Calculate the sum S_P of all bits in a data packet Using the bits in the data packet from S_P to S_P + CRC_L-1 as a non-linear CRC check value, where CRC_L is the length of the CRC check value in bits. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass der erste Netzwerkknoten (R), der die Datenpakete mit einem nicht-linearen CRC-Prüfwert versieht und weiterleitet, ein transparenter oder regenerativer Satellit ist.Method according to one of claims 1 to 5, characterized in that the first network node (R), which provides and forwards the data packets with a non-linear CRC check value, is a transparent or regenerative satellite. Verfahren nach Anspruch 1 bis 6, dadurch gekennzeichnet, dass das Kombinieren der Datenpakete, nachdem sie mit einem nicht-linearen CRC-Prüfwert versehen wurden, durch eine lineare Kombination erfolgt.A method according to claims 1 to 6, characterized in that the combining of the data packets, after being provided with a non-linear CRC check value, is done by a linear combination. Verfahren nach Anspruch 1 bis 7, dadurch gekennzeichnet, dass das Kombinieren von Datenpaketen die Bildung der Summe der Datenpakete umfasst.The method of claim 1 to 7, characterized in that the combining of data packets comprises the formation of the sum of the data packets.
DE201010010935 2010-03-11 2010-03-11 Method for checking integrity of data in e.g. video conference in satellite network, involves combining data packets in network node, transmitting data packets to receiver-network nodes, and examining integrity of data Ceased DE102010010935A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201010010935 DE102010010935A1 (en) 2010-03-11 2010-03-11 Method for checking integrity of data in e.g. video conference in satellite network, involves combining data packets in network node, transmitting data packets to receiver-network nodes, and examining integrity of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201010010935 DE102010010935A1 (en) 2010-03-11 2010-03-11 Method for checking integrity of data in e.g. video conference in satellite network, involves combining data packets in network node, transmitting data packets to receiver-network nodes, and examining integrity of data

Publications (1)

Publication Number Publication Date
DE102010010935A1 true DE102010010935A1 (en) 2011-09-15

Family

ID=44507811

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201010010935 Ceased DE102010010935A1 (en) 2010-03-11 2010-03-11 Method for checking integrity of data in e.g. video conference in satellite network, involves combining data packets in network node, transmitting data packets to receiver-network nodes, and examining integrity of data

Country Status (1)

Country Link
DE (1) DE102010010935A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11290942B2 (en) 2020-08-07 2022-03-29 Rockwell Collins, Inc. System and method for independent dominating set (IDS) based routing in mobile AD hoc networks (MANET)
US11296966B2 (en) 2019-11-27 2022-04-05 Rockwell Collins, Inc. System and method for efficient information collection and distribution (EICD) via independent dominating sets
US11665658B1 (en) 2021-04-16 2023-05-30 Rockwell Collins, Inc. System and method for application of doppler corrections for time synchronized transmitter and receiver
US11726162B2 (en) 2021-04-16 2023-08-15 Rockwell Collins, Inc. System and method for neighbor direction and relative velocity determination via doppler nulling techniques
US11737121B2 (en) 2021-08-20 2023-08-22 Rockwell Collins, Inc. System and method to compile and distribute spatial awareness information for network
US11977173B2 (en) 2019-11-27 2024-05-07 Rockwell Collins, Inc. Spoofing and denial of service detection and protection with doppler nulling (spatial awareness)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FRIEDRICHS, B.: Kanalcodierung: Grundlagen und Anwendungen in modernen Kommunikationssystemen, Berlin: Springer, 1995, Deckblatt + Impressum + S. 129, 145-149.-ISBN 3-540-58232-0 *
MAHMINO, A. [et al.]: Guaranteed Packet Delays with Network Coding, In: 5th IEEE Annual Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks Workshops, 2008, S. 1-6.-ISBN 978-1-4244-2562-4 *
z. B. von S. Katti, H. Rahul, W. Hu, D. Katabi, M. Médard, J. Crowcroft; "XORs in the Air - Practical Wireless Network Coding", Sigcomm, Pisa, Italy, pp. 243-254, September 2006

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11296966B2 (en) 2019-11-27 2022-04-05 Rockwell Collins, Inc. System and method for efficient information collection and distribution (EICD) via independent dominating sets
US11977173B2 (en) 2019-11-27 2024-05-07 Rockwell Collins, Inc. Spoofing and denial of service detection and protection with doppler nulling (spatial awareness)
US11290942B2 (en) 2020-08-07 2022-03-29 Rockwell Collins, Inc. System and method for independent dominating set (IDS) based routing in mobile AD hoc networks (MANET)
US11665658B1 (en) 2021-04-16 2023-05-30 Rockwell Collins, Inc. System and method for application of doppler corrections for time synchronized transmitter and receiver
US11726162B2 (en) 2021-04-16 2023-08-15 Rockwell Collins, Inc. System and method for neighbor direction and relative velocity determination via doppler nulling techniques
US11737121B2 (en) 2021-08-20 2023-08-22 Rockwell Collins, Inc. System and method to compile and distribute spatial awareness information for network

Similar Documents

Publication Publication Date Title
EP1252787B1 (en) Method for operating a mobile radiotelephone network
DE60128409T2 (en) Method and apparatus for decompressing packet header data
DE102010010935A1 (en) Method for checking integrity of data in e.g. video conference in satellite network, involves combining data packets in network node, transmitting data packets to receiver-network nodes, and examining integrity of data
DE60002884T2 (en) METHOD AND RECEIVER ACKNOWLEDGMENT SYSTEM
DE60108501T2 (en) RADIO SYSTEM AND STATIONS FOR AND METHOD FOR MULTICAST COMMUNICATION
DE102012219468B3 (en) Method for transmitting data by users to receiver in e.g. sensor network, involves combining non-interference-afflicted part of replica with non-interference-afflicted part of another replica of same data packet to assemble another packet
EP1069724A1 (en) Macro-diversity transmission in a mobile communications system
DE10140114A1 (en) Device and method for quality testing of data packets transmitted over a radio channel
EP4305781A1 (en) Communication method and communication subscriber
EP1511215B1 (en) Method and device for transmitting data according to a hybrid ARQ method
EP2605457A1 (en) Method for transferring user data
DE102016112314B4 (en) Method for determining at least one quality of service parameter of a packet-based data transmission
DE102010023299B4 (en) Method for transmitting data
DE10315249A1 (en) Method and measuring device for determining an error rate without incremental redundancy
EP2649751B1 (en) Method and system for monitoring a communication system
DE102017213711B4 (en) Method for transmitting data
WO2003094416A1 (en) Method and device for managing a memory used for intermediate storage of data blocks in arq transmission systems
DE102008003588B4 (en) Method for broadcasting information arranged in data packets
DE102005038588B4 (en) Method for the reliable transmission of broadcast messages
DE102004009266A1 (en) Method for transmitting user data in a multihop system and network node device therefor
DE102021123723A1 (en) BIT ERROR CORRECTION FOR BLUETOOTH LOW ENERGY
EP1295429A1 (en) Method for the simultaneous transmission of several partial data streams and device for correcting transmission errors by automatic repeat requests (arq)
DE60316618T2 (en) Selective retransmission procedure for an ARQ protocol
DE102011104195B3 (en) Method for processing data fragments into data packets transmitted/received through channels of communication system, involves sorting received data fragments based on control data of data packets
DE10253949B3 (en) Method for determining a residual probability of error in the transmission of data

Legal Events

Date Code Title Description
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20120323