Patent Document ID: 20150372809
Application ID: 14822115
Patent Flag: 0

Claim One:
1. A method for streaming data in a network including a server node, a plurality of relay nodes and one or more receiver nodes, the method comprising: performing a one-time key distribution between the source node and each of the one or more receiver nodes; dividing the data into more than one group, each of the more than one group having a predetermined time of duration; for each group, generating at the source node an n×n lower-triangular matrix A, in which n is the number of layers in the group wherein matrix A is used for encoding at the source only and each non-zero entry of matrix A is an element a ij chosen uniformly at random from all non-zero elements of the field F q {0}; dividing the group into a plurality of vectors b (1). .. b (w) , each of the vectors having K symbols S 1 -S K in which the k th symbol of each vector belongs to a corresponding one of the n layers in the group and wherein the number of vectors created is computed as size of group/n; encrypting at least one symbol of each vector b (i) for each use of the encoding matrix wherein the output of the operation of a stream cypher is denoted as a symbol P with a random key K as E(P, K ); applying the encoding matrix A successively to the information symbols to be sent to provide encoded information symbols which comprise a payload of one or more packets; encrypting each line of a first matrix A with a corresponding layer key wherein the first matrix A corresponds to a locked coefficients matrix; generating an n×n identity matrix corresponding to the unlocked coefficients wherein each of the one or more packets comprise a header and the payload and wherein the header comprises the locked and unlocked coefficients; encoding the one or more packets in relay nodes in accordance with a random linear network coding (RLNC) protocol wherein algebraic coding is performed on unlocked coefficients, locked coefficients and payload; and the relay nodes identify the layer of a packet by looking at the first non-zero position in the unlocked coefficients, and packets are mixed with packets of the same or lower layers only.