`184-8795`

`184-8795`

`95050`

- Source Packet:
- A packet originating from the source that contributes to one or more source symbols. The source symbol is a unit of data originating from the source that is used as input to encoding operations. For instance, a Real-time Transport Protocol (RTP) packet as a whole can constitute a source symbol. In other situations (e.g., to address variable size packets), a single RTP packet may contribute to various source symbols.
- Repair Packet:
- A packet containing one or more coded symbols (also called repair symbol). The coded symbol or repair symbol is a unit of data that is the result of a coding operation, applied either to source symbols or (in case of recoding) source and/or coded symbols. When there is a single repair symbol per repair packet, a repair symbol corresponds to a repair packet.
- Encoding versus Recoding versus Decoding:
- Encoding is an operation that takes source symbols as input and produces encoding symbols (source or coded symbols) as output. Recoding is an operation that takes encoding symbols as input and produces encoding symbols as output. Decoding is an operation that takes encoding symbols as input and produces source symbols as output.

- Random Linear Coding (RLC):
- A particular form of linear coding using a set of random coding coefficients. Linear coding performs a linear combination of a set of input symbols (i.e., source and/or coded symbols) using a given set of coefficients and results in a repair symbol.
- Block Coding:
- A coding technique wherein the input flow(s) must be first segmented into a sequence of blocks. Encoding and decoding are performed independently on a per-block basis.
- Sliding Window Coding or Convolutional Coding:
- A general class of coding techniques that rely on a sliding encoding window. An encoding window is a set of source (and coded in the case of recoding) symbols used as input to the coding operations. The set of symbols change over time, as the encoding window slides over the input flow(s). This is an alternative solution to block coding.
- Fixed or Elastic Sliding Window Coding:
- A coding technique that generates coded symbol(s) on the fly, from the set of source symbols present in the sliding encoding window at that time, usually by using linear coding. The sliding window may be either of fixed size or of variable size over time (also known as "Elastic Sliding Window"). For instance, the size may depend on acknowledgments sent by the receiver(s) for a particular source symbol or source packet (received, decoded, or decodable).

- Rank of the Linear System or Degrees of Freedom:
- At a receiver, the number of linearly independent equations of the linear system. It is also known as "Degrees of Freedom". The system may be of "full rank", wherein decoding is possible, or "partial rank", wherein only partial decoding is possible.
- Generation or Block:
- With block codes, the set of source symbols of the input flow(s) that are logically grouped into a block before doing encoding.
- Generation Size or Block Size:
- With block codes, the number of source symbols belonging to a block. It is equivalent to the number of source packets when there is a single source symbol per source packet.
- Coding Coefficient:
- With linear coding, this is a coefficient in a certain finite field. This coefficient may be chosen in different ways: for instance, randomly, in a predefined table or using a predefined algorithm plus a seed.
- Coding Vector:
- A set of coding coefficients used to generate a certain coded symbol through linear coding.
- Finite Field:
- Finite fields, used in linear codes, have the desired property of having all elements (except zero) invertible for + and *, and no operation over any elements can result in an overflow or underflow. Examples of finite fields are prime fields {0..p
^{m-1}}, where p is prime. Most used fields use p=2 and are called binary extension fields {0..2^{m-1}}, where m often equals 1, 4, or 8 for practical reasons.

- Consumers themselves understand in detail the naming conventions used for NC packets and thereby can send the corresponding interests toward the producer to obtain NC packets whose coding parameters have already been determined by the producer.
- The producer determines the coding vectors and generates the NC packets after receiving interests specifying the packets the consumer wished to receive.
- The naming scheme for specifying the coding vectors and corresponding NC packets is explicitly represented via a "Manifest" (e.g., FLIC
) that can be obtained by the consumer and used to select among the available coding vectors and their corresponding packets and thereby send the corresponding interests.