# US 10,454,813 B2 · System and method for transmitting data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,454,813 B2
- Document ID: US10454813B2
- Status: Granted
- Kind: B2
- Application number: 15/598,115
- Filed: 2017-05-17
- Published: 2017-11-23
- Granted: 2019-10-22
- Earliest claimed: 2016-05-20
- Assignees: Thales
- Applicants: Thales
- Inventors: Guy Bouyssounouse; Frédéric Perez; Michel Delattre
- Web page: https://patentgrep.com/patent/US10454813B2

## CPC

- H04L 45/16: Multipoint routing
- H04L 45/04: {Interdomain routing, e.g. hierarchical routing}
- H04L 47/365: {Dynamic adaptation of the packet size}
- H04L 47/38: by adapting coding or compression rate
- H04W 4/06: Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W 72/30: Resource management for broadcast services
- H04W 88/04: adapted for relaying to or from another terminal or user
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A method and a system are provided implementing a mechanism for relaying by all the nodes, on all the networks and sub-networks connected and defined by the routing directive: as soon as a number of cells “n” of different index have been received, whatever the sender thereof, making it possible to reconstruct the message and until, on each of the sub-networks, a predefined number of cells of different index has been sent or received. The relaying comprises decoding the message received and recoding it by a sequence of the unique fountain code on each sending of the same message whatever the relay node.

## Claims

### Claim 1

A method for transmitting a message M sent by a source node toward at least a recipient node, within a group of nodes each linked to one or more broadcasting sub-networks, said group of nodes sharing topology view via a routing protocol, said source and recipient nodes communicating via broadcast transmissions and relay nodes configured to receive information of sub-networks and to relay the information toward sub-networks according to routing directives of the source node, the message M comprising n cells and information specific to the routing wherein: at the level of the source node:
choosing a coding of the cells of the message M and of the information specific to the routing, by the source node by using a fountain code adapted for generating n+k cells, so as to constitute p ranges of x cells, with x greater than or equal to n, a cell being tagged by an index in the message M,
as a function of routing directives and of its identifier IDn, the source node determines the ranges of x cells to be used to code the message M before the sending to the relay node or nodes or to the recipient node or nodes,
the source node groups together the cells to be transmitted into several segments, a segment comprises a number Ns of coded cells and the source node inserts before each segment a header comprising at least the following information: an item of information making it possible to deduce the index of each cell contained in the segment, an identifier specific to the message M to be transmitted and its size,
sending at least one first string of segments {S11(M), . . . , S1k(M)} of the message M via a first transmission path and at least one second string of segments {S21(M), . . . , S21(M)} of the message M via a second transmission path, at the level of a relay node:
the relay node keeps count per message M and per sub-network SR of the cells of different indices that it sends and that it receives from the other nodes of one sub-network SR, on the basis of the message identifier contained in the segment header,
as soon as the relay node has at its disposal a number of cells of different indices corresponding to the size of the message M, it reconstructs this message M,
as a function of the routing directives contained in the reconstructed message M and of its node identifier IDn, the relay node determines the ranges of x cells to be used to recode the message M before the sending to the other relay nodes or to the other recipient nodes, and sends on each sub-network a maximum number of cells while taking account of the cells that it has already received on this sub-network,
the relay node stops its sending on the sub-network SR as soon as the number of cells of different indices received and sent on the sub-network makes it possible to reconstruct the message M from the other nodes of the sub-network under the assumption of nominal reception,
the recipient nodes belonging to the group of linked nodes and which are not relay nodes reconstruct the message M on the basis of segments received from the sub-networks to which they are attached before delivering the message M.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the algorithm for coding the cells is an algebraic code.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the number of cells is chosen as a function of the characteristics of the sub-network for transmitting the message M.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the number of cells to be transmitted on a sub-network corresponds to the number adapted for the error rate of the transmission sub-network.

### Claim 5 (depends on 1)

The method according to claim 1, wherein a source node uses a function for allocating range of cells to be sent which is adapted for allocating a different range to each (node, sub-network) pair, the sub-networks to be considered being the sub-networks of the routing directive.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the controlling of the transmission of the segments takes account of a reception state item of information delivered by the receivers.

### Claim 7 (depends on 1)

The method according to claim 1, wherein the transmission of the data is carried out by high-frequency transmission and/or very-high-frequency transmission and/or all IP network transmission.

### Claim 8 (depends on 1)

A system for relaying one or more messages within a network comprising several nodes communicating with one another by means of a broadcasting medium, and belonging to a group G, which comprises a source node and several nodes of the network, a message M being composed of several cells, a cell being identified by an integer index representing the order number of this cell produced by a fountain code, comprising at least the following elements:
a source node of the message M to be transmitted on several paths corresponding to at least two sub-networks, the source node comprising at least one emitter and one processor adapted for executing the steps of the method at a source node according to claim 1, a coding algorithm for the data of the message M to be transmitted,
one or more relay nodes each comprising a sender, a receiver, a coding/decoding algorithm for the message M identical to the algorithm for coding the transmitted message M, a counter of the cells contained in the coded message M that are sent and received per forwarding path of the message M, the coding/decoding algorithm being adapted for the recombining of elements transmitted on various sub-networks, a receiver adapted for receiving the message M sent by the source node, a processor adapted for reconstructing the message M, one processor adapted for executing the steps of the method at a relay node according to claim 1, a destination node comprising one receiver of the message M, a decoding algorithm module for reconstituting the message M, one transmitter and one processor configured to reconstruct the message M to from the segments received from the sub-networks to which they are attached, a counter for counting the cells sent and received by a routing path of the message M.
