[go: up one dir, main page]

WO2022118324A1 - Method and system for network coding - Google Patents

Method and system for network coding Download PDF

Info

Publication number
WO2022118324A1
WO2022118324A1 PCT/IL2021/051444 IL2021051444W WO2022118324A1 WO 2022118324 A1 WO2022118324 A1 WO 2022118324A1 IL 2021051444 W IL2021051444 W IL 2021051444W WO 2022118324 A1 WO2022118324 A1 WO 2022118324A1
Authority
WO
WIPO (PCT)
Prior art keywords
sink
node
rate
source
decoding
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
PCT/IL2021/051444
Other languages
French (fr)
Inventor
Ben GRINBOIM
Itay SHREM
Ofer Amrani
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.)
Ramot at Tel Aviv University Ltd
Original Assignee
Ramot at Tel Aviv University Ltd
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 Ramot at Tel Aviv University Ltd filed Critical Ramot at Tel Aviv University Ltd
Publication of WO2022118324A1 publication Critical patent/WO2022118324A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • 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/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
    • 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/0041Arrangements at the transmitter end
    • 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/0045Arrangements at the receiver end

Definitions

  • the present invention in some embodiments thereof, relates to a communication systems and, more particularly, but not exclusively, to a method and system for network coding.
  • Network coding is a technique targeting the improvement of communications within a network.
  • Network coding increases the capacity or throughput of a communication network by mixing information received from source nodes at an intermediate node, and retransmitting the mixed information to one or more destination nodes.
  • the content of any information flowing out of the intermediate node can be derived by the destination nodes from the information which flowed into the intermediate node.
  • the intermediate nodes in the network serve as computational units rather than merely relays, thus supporting increased overall network throughput.
  • the nodes are configured to recombine several input packets into one or several output packets.
  • some type of coding is performed on the packets present at that node, and the resulting encoded packet can be broadcast for different recipients simultaneously instead of transmitting each packet separately.
  • the present invention there is provided a method of transmitting input information in a communication network from a computing source node characterized by a transmission rate to each of a plurality of computing sink nodes.
  • the method comprises precoding the input information at the source node, and transmitting the precoded information over the network to provide each of the plurality of sink nodes with a respective sink input.
  • the method decodes a respective sink input to extract the input information.
  • the method decodes a respective sink input to extract a portion of the input information.
  • the communication network employs a multicast network code.
  • the transmission rate is constant.
  • the transmission rate varies.
  • the input information is represented by a vector and wherein the precoding comprises multiplying the vector by an invertible matrix.
  • the invertible matrix is an inverse of a matrix factorized out of a global encoding matrix of the network.
  • the method is executed for scalar network coding.
  • the method is executed for vector network coding.
  • the decoding of the respective sink input to extract the portion of the input information is at a decoding rate that equals the maximal rate of the sink node.
  • the decoding of the respective sink input to extract the portion of the input information is at a decoding rate that is less than the maximal rate of the sink node.
  • the method comprises, at an additional sink node having a maximal rate of at least the transmission rate, decoding a respective sink input to extract only a portion of the input information.
  • the method comprises, at an additional node Nf having a maximal rate of at least the source's transmission rate, and which is other than a sink node and other than the source, decoding input received at the additional node Nf to extract the input information, thereby virtually attributing sink properties to the additional node Nf.
  • the method comprises, at an additional node N s having a maximal rate of less than the source's transmission rate, and which is other than a sink node and other than the source, decoding input received at the additional node N s to extract a portion of the input information, thereby virtually attributing sink properties to the additional node N s .
  • the present invention there is provided a communication system.
  • the system comprises: a computing source node, and a plurality of computing sink nodes deployed over an area remote from the computing source node.
  • Each of the source node and the computing sink nodes comprises a circuit for encoding and decoding information, wherein a circuit of the computing source node is characterized by a transmission rate, and wherein the plurality of computing sink nodes comprises at least one sink node of a first type that has a circuit characterized a maximal rate of at least the source's transmission rate, and at least one sink node of a second type that has a circuit characterized a maximal rate of less than the source's transmission rate.
  • the circuit of the computing source node is configured to precode the input information, to transmit the precoded information over the network to provide each of the plurality of sink nodes with a respective a sink input, to transmit to a sink node of the first type a control signal causing a respective circuit of the sink node to decode a respective sink input to extract the input information, and to transmit to a sink node of the second type a control signal causing a respective circuit of the sink node to decode a respective sink input to extract a portion of the input information.
  • the system employs a multicast network code.
  • the source's transmission rate is constant.
  • the source's transmission rate varies.
  • the input information is represented by a vector, and wherein the circuit of the computing source node is configured to multiply the vector by an invertible matrix.
  • the invertible matrix is an inverse of a matrix factorized out of a global encoding matrix of the network.
  • the system employs scalar network coding.
  • the system employs vector network coding.
  • the circuit of the source node is configured to transmit to the sink node of the second type a control signal causing the respective circuit of the sink node to decode at a decoding rate that equals the maximal rate of the sink node.
  • the circuit of the source node is configured to transmit to the sink node of the second type a control signal causing the respective circuit of the sink node to decode at a decoding rate that is less than the maximal rate of the sink node.
  • the system comprises, an additional sink node having a circuit characterized by a maximal rate of at least the source's transmission rate, wherein the circuit of the source node is configured to transmit to the additional sink node a control signal causing the circuit of the additional sink node to decode a respective sink input to extract a portion of the input information.
  • the system comprises an additional node Nf, other than a sink node and other than the source, the additional node Nf, having a circuit characterized by a maximal rate of at least the source's transmission rate, wherein the circuit of the source node is configured to transmit to the additional sink node Nf a control signal causing the circuit of the additional sink node Nf to decode input received at the additional node Nf to extract the input information, thereby virtually attributing sink properties to the additional node N f .
  • the system comprises an additional node N s , other than a sink node and other than the source, the additional node N s , having a circuit characterized by a maximal rate of less than the source's transmission rate, wherein the circuit of the source node is configured to transmit to the additional sink node N s a control signal causing the circuit of the additional sink node N s to decode input received at the additional node N s to extract a portion of the input information, thereby virtually attributing sink properties to the additional node N s .
  • Implementation of the method and/or system of embodiments of the invention can involve performing or completing selected tasks manually, automatically, or a combination thereof. Moreover, according to actual instrumentation and equipment of embodiments of the method and/or system of the invention, several selected tasks could be implemented by hardware, by software or by firmware or by a combination thereof using an operating system.
  • a data processor such as a computing platform for executing a plurality of instructions.
  • the data processor includes a volatile memory for storing instructions and/or data and/or a non-volatile storage, for example, a magnetic hard-disk and/or removable media, for storing instructions and/or data.
  • a network connection is provided as well.
  • a display and/or a user input device such as a keyboard or mouse are optionally provided as well.
  • FIGs. 1 A and IB are schematic illustration of a simple communication network known as "butterfly network"
  • FIGs. 2A-B are schematic illustration of butterfly network with an additional node
  • FIGs. 3 A and 3B are schematic illustrations of two cases of three-plane configurations
  • FIG. 4 is a graph showing a rate ratio bound as a function of a number of sinks in a communication network
  • FIG. 5 is a flowchart diagram describing a method suitable for transmitting input information in a communication network.
  • FIG. 6 is a schematic illustration of a communication system.
  • the present invention in some embodiments thereof, relates to a communication systems and, more particularly, but not exclusively, to a method and system for network coding.
  • Network coding has been shown to increase overall network throughput in single-source multiple-sink communications scenarios (i.e., broadcast of massages), or multi-source networks. Network coding can potentially achieve the maximum capacity to every eligible sink.
  • “eligible sink” refers to a sink whose achievable rate is greater or equal to the source transmission-rate.
  • a sink whose achievable rate is smaller than the source message-rate, is referred to herein as a "sub-rate sink.”
  • the achievable rate of a sink is interchangeably referred to herein as the max-flow of the sink.
  • FIGs. 1A and IB are schematic illustration of a simple network known as "butterfly network".
  • a source node 1 transmits two signals a and b to two sinks, 6 and 7.
  • the network does not employ network coding, so that the intermediate nodes 2, 3, 4, and 5, do not execute any coding-related computations.
  • the network employs network coding.
  • Intermediate node 4 can XOR (exclusive-or) both its inputs, which in turn allows both sinks 6 and 7 to decode the two transmitted messages.
  • the Inventors of the present invention found that there are cases where retrieving some of the transmitted data is valuable, for example when a sub-rate sink can benefit from reduced data resolution.
  • the Inventors found that the ability to communicate with some network sinks in the multicast using higher rate than other sinks, allows the higher-rate sinks to retrieve the transmitted information faster than the others, and may also facilitates the use the residual capacity for conveying data that is not necessarily required by all the sinks, e.g., monitoring information.
  • FIGs. 2A and 2B An example, which is not to be considered as limiting, is schematically illustrated in FIGs. 2A and 2B.
  • another node, 8 is added to the butterfly network.
  • the max-flow (from the source) of node 8 is only 1. It is assumed to be beneficial to communicate with node 8 at rate of 1 symbol per network use.
  • node 8 receives a+b and hence cannot decode any symbol, as shown in FIG. 2A.
  • the Inventors found that by properly manipulating the transmitted symbols at the source node 1, for example, as illustrated in FIG. 2B, the network is configured so that node 8 operates at a communication rate of 1 symbol per network use, without affecting the ability of the eligible sinks 6 and 7, to operate at their original rate (2 symbols per network use, in the present example).
  • FIG. 5 A flowchart diagram of the method according to various exemplary embodiments of the present invention is provided in FIG. 5. It is to be understood that, unless otherwise defined, the operations described hereinbelow can be executed either contemporaneously or sequentially in many combinations or orders of execution. Specifically, the ordering of the flowchart diagrams is not to be considered as limiting. For example, two or more operations, appearing in the following description or in the flowchart diagrams in a particular order, can be executed in a different order (e.g., a reverse order) or substantially contemporaneously. Additionally, several operations described below are optional and may not be executed.
  • At least part of the operations described herein can be implemented by a data processing system, which is optionally and preferably dedicated circuitry, configured for executing the operations described below.
  • the data processing system can store in a memory data structures or values obtained by intermediate calculations and pull these data structures or values for use in subsequent operation. All these operations are well-known to those skilled in the art of computer systems.
  • the method of the present embodiments can be implement in any communication network having a computing source node and a plurality of computing sink nodes.
  • the communication network employs a multicast network code.
  • the communication network can employ scalar network coding, or vector network coding, as desired.
  • the computing source node can be, for example, a content provider, a website, a server, or the like.
  • the transmission rate of the source node is denoted by r, and is defined as the number of symbols created by the source node at every network use. Thus, r is positive integer. In some embodiments of the present invention the source's transmission rate is constant, and in some embodiments of the present invention the source's transmission rate varies.
  • the input information include information symbols, and all possible information symbols that can be transmitted by the source node are collectively referred to as a base field F.
  • the input information can be in the form of data packets (each including one or more information symbols) that are combined during transit.
  • the input information can be mathematically represented by an input vector v ⁇ F r .
  • One or more of the computing sink nodes can be a consumer node (e.g., a requesting device, an end point device, etc.).
  • the network can alternatively or additionally include a consumer which is a non-computing sink node.
  • Multiple packets transmitted over the network from the computing source node, and optionally and preferably from one or more of the computing sink nodes, can create a new packet set (e.g., stream), where members of the new packet set are optionally and preferably linear combinations of the multiple input packets.
  • the method begins at 10 and continues to 1 at which the input information is precoded at the source node.
  • the precoding is preferably executed prior to the transmission of the information.
  • the precoding includes multiplying the source information v by an r X r precoding matrix P over a field F.
  • the procedure is referred to as "precoding" since the input to the network is vP rather than v.
  • the precoding matrix P is preferably invertible.
  • a network having m links can be described by an r ⁇ m matrix referred to herein as a global encoding matrix (GEM). Every column of the GEM is associated with one of the network's link, such that multiplying an input vector by this column results in the symbol that the network code conveys on that link per network input vector.
  • the invertible matrix P is an inverse of a matrix that is factorized out of the GEM.
  • the decoding performed at each computing sink is modified to take into account the precoding operation.
  • the modification is achieved by multiplying the native decoding matrix D t by the inverse P' 1 of the precoding matrix P.
  • the modification can be written as: by t ⁇ D t P -1 .
  • the method continues to 12 at which the precoded information is transmitted over the network, to provide each of the sink nodes with a respective a sink input.
  • the method proceeds to a 13 at which the method determines the maximal rate h ti of the respective sink node.
  • the method optionally and preferably proceeds to decision 14 at which the method compares the determined maximal rate h t1 to the transmission rate r of the source node s. If the determined maximal rate of the sink node is less than the source's transmission rate, the method proceeds to 15 at which the respective sink input is decoded by the sink a to extract a portion of the input information.
  • the method proceeds to 16 at which the respective sink input is decoded by the sink to extract all the input information.
  • the sink input for each sink is decoded by multiplying the input by the modified decoding matrix as further detailed hereinabove.
  • the rank of the modified decoding matrix is smaller for each sink node for which the maximal rate is less than the source's transmission rate, than for any each sink node for which the maximal rate is not less than the source's transmission rate.
  • the rank of the decoding matrix that is used at 15 is smaller than the rank of the decoding matrix that is used at 16.
  • the decoding matrix used in 16 is typically an invertible matrix.
  • the decoding matrix used in 15 is not necessarily an invertible matrix.
  • at least one sink having a maximal rate less than the source's transmission rate decodes the sink input using a non-invertible decoding matrix.
  • the decoding at 15 can be at a decoding rate that equals the maximal rate h t1 of the respective sink node, or it can be at a decoding rate that is less than the maximal rate of the respective sink node.
  • the method optionally and preferably loops back to 13, for determining the maximal transmission rate of another computing sink of the network. Once the method interrogates all the computing sinks of the network, the method ends at 70.
  • the method of the present embodiments can, for at least one sink node that has a maximal rate satisfying h t1 ⁇ r, skip decision 14, or both operation 13 and decision 14, and move directly to operation 15.
  • the present embodiments also contemplate situations in which the method virtually attributes sink properties to one or more nodes of the network that are not sink nodes and are not other the source node.
  • an additional node Nf which has a maximal rate of at least the source's transmission rate r, and which is not one of the sink nodes and is not the source, is caused to decode its input to extract all the input information, thereby virtually attributing sink properties to the node Nf.
  • an additional node N s having a maximal rate of less than the source's transmission rate r, and which is not one of the sink nodes and is not the source node, is caused decode its input to extract a portion of the input information, thereby virtually attributing sink properties to additional node N s .
  • FIG. 6 is a schematic illustration of a communication system 60, according to some embodiments of the present invention.
  • System 60 is particularly useful for executing method 10, as detailed hereinabove.
  • System 60 comprises a computing source node 62, and a plurality of computing sink nodes 64 deployed over an area 66 remote from computing source node 62, thus forming a network 68.
  • Each of source node 62 and computing sink nodes 64 comprises a circuit (not shown) for encoding and decoding information.
  • the communication between the individual nodes of network 68 are preferably wireless, according to any communication standard, such as, but not limited to, IEEE 802.11 , IEEE 802.11 a-g, IEEE 802.15.4, and derivatives thereof.
  • the circuit of computing source node 62 is characterized by a transmission rate, r.
  • the computing sink nodes 64 comprise at least one sink node 64a of a first type, and at least one sink node 64b of a second type.
  • Each of the sink nodes 64a has a circuit characterized a maximal rate of at least the source's transmission rate, r
  • each of the sink nodes 64b has a circuit characterized a maximal rate of less than the source's transmission rate, r.
  • the circuit of computing source node 62 precodes the input information as further detailed hereinabove, and transmits the precoded information over the network 68 to provide each of the plurality of sink nodes 64 with a respective a sink input.
  • the circuit of computing source node 62 transmits to a sink node 64a a control signal causing the circuit of sink node 64a to decode a respective sink input to extract all the input information, as further detailed hereinabove.
  • the circuit of computing source node 62 transmits to a sink node 64b a control signal causing the circuit of sink node 64b to decode a respective sink input to extract a portion of the input information, as further detailed hereinabove.
  • computing source node and computing sink node, are intended to include all such new technologies a priori.
  • compositions, method or structure may include additional ingredients, steps and/or parts, but only if the additional ingredients, steps and/or parts do not materially alter the basic and novel characteristics of the claimed composition, method or structure.
  • the singular form “a”, “an” and “the” include plural references unless the context clearly dictates otherwise.
  • the term “a compound” or “at least one compound” may include a plurality of compounds, including mixtures thereof.
  • range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the invention. Accordingly, the description of a range should be considered to have specifically disclosed all the possible subranges as well as individual numerical values within that range. For example, description of a range such as from 1 to 6 should be considered to have specifically disclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from 2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numbers within that range, for example, 1, 2, 3, 4, 5, and 6. This applies regardless of the breadth of the range.
  • a numerical range is indicated herein, it is meant to include any cited numeral (fractional or integral) within the indicated range.
  • the phrases “ranging/ranges between” a first indicate number and a second indicate number and “ranging/ranges from” a first indicate number “to” a second indicate number are used herein interchangeably and are meant to include the first and second indicated numbers and all the fractional and integral numerals therebetween.
  • Sub-rate coding offers an add-on to existing LNC. It allows sinks whose achievable rate is smaller than the source message-rate, termed "sub-rate sinks,” to decode a portion of the transmitted messages without degrading the maximum achievable rate of LNC sinks whose max- flow is equal (or greater) than the source rate.
  • sub-rate sinks sinks whose achievable rate is smaller than the source message-rate
  • This Example provides the theoretical foundations for sub-rate coding, and also formulates preferred conditions for a node (and the network) to become a legitimate sub-rate sink.
  • This Example includes several definitions, lemmas, corollaries, demonstrations, propositions, and theorems, which are all enumerated consecutively using the same enumerator. This Example demonstrates that the technique of the present embodiments is capable of establishing efficient communication when some of the network nodes are sub-rate max-flow sinks without affecting the eligible sinks.
  • the network G' includes a source node s in V and a set T of sink in V.
  • the max-flow between s and the sink t i ⁇ T is denoted by h t1 . All the information symbols are regarded as elements of a base field F.
  • the rate of the communication network is denoted by r, and is defined as the number of symbols created by the source at every network use.
  • r is positive integer.
  • r is assumed to be constant, but the present embodiments can be applied also in cases in which r varies with time.
  • the sets of input and output links to the node are denoted by In(x) and Out(x) respectively.
  • the imaginary source that has r outgoing links to the original source s.
  • the outgoing links of the imaginary source s' are referred to as imaginary links.
  • In(s) is a set of r imaginary links. It is assumed that G' includes the imaginary source and links.
  • All the nodes in the network are able to perform calculations over the field F.
  • LNC linear network code
  • An r-dimensional LNC operating over a field F in an acyclic communication network is characterized by a set Local Encoding Kernels (LEKs), each being associated with an adjacent pair of links in the network, and a set of Global Encoding Kernels (GEKs), each being associated with a link in the network.
  • a Local Encoding Kernel (LEK) is a scalar k e , e E F for a respective adjacent pair of links ⁇ e’, e ⁇ , where both e' and e share a node such that e' is an incoming link to the respective node and e is an outgoing link from the respective node.
  • the LEKs associated with node x are arranged as a
  • a Global Encoding Kernel is an r-dimensional column vector f e for a respective link e ⁇ E, such that for every non-source node x, and every and such that for the imaginary links e ⁇ In(s), the set of vectors are the r linearly independent vectors that constitute the natural basis of the vector space F r .
  • the GEKs can be calculated recursively in an upstream-to-downstream order.
  • Definition 3 be the set of GEKs in an r-dimensional F -valued LNC on a single-source finite acyclic network. Let Define a set of non-source nodes as sinks. Then, an LNC for which for any sink t E T with max — is referred to as a "generalized linear multicast”.
  • linear multicast This Example only considers generalized linear multicasts, and so the term generalized linear multicast is abbreviated as "linear multicast”.
  • this Example considers the network G, which is defined as the sub-network of G' consisting only of the links from E that are employed by the network code along with their adjacent nodes.
  • a path is a set of links that provides a connection between two nodes in the network.
  • a generalized linear multicast assumes that every network uses the source is generating and transmitting r symbols, and every eligible sink tj can extract the transmitted symbols from the / ⁇ different symbols it receives. Nevertheless, in this Example, a node ti is defined as a sink of the multicast even if h t1 ⁇ r.
  • the algorithm described in Li et al., supra, for constructing a linear multicast yields h t1 independent paths from s to t i , resulting in h t1 linearly independent symbols received by f every network use.
  • the matrix B is referred to herein as a Global Encoding Matrix (GEM). Every column, b e , of B is associated with one network link, such that multiplying an input vector v E F r by this column results in the symbol from F that the network code conveys on that link per network input vector v.
  • GEM Global Encoding Matrix
  • B t the r X h t matrix whose columns are given by ⁇ b e
  • the matrix B t is referred to as the global encoding matrix (GEM) of the sink t.
  • GEM global encoding matrix
  • B t is an invertible matrix (the sink only uses min ⁇ h t , r) links for decoding).
  • the vector space spanned by the columns of B t is denoted by B t '.
  • Each sink t holds a h t X h t decoding matrix, D t , whose entries are defined over the field F.
  • the decoding matrix is used for extracting the source information v from the sink input, vB t .
  • the case h t ⁇ r is generally not decodable, and was not considered before. The Inventors found that this case is beneficial, as will be shown below.
  • precoding into the framework of network coding.
  • the precoding is optionally and preferably executed at the source node, prior to transmission.
  • the source information v is multiplied by an r X r matrix P over the field F.
  • the procedure is referred to as "precoding” since the input to the network is vP rather than v.
  • the network code and the precoding scheme are independent with respect to one another. Meaning that the construction of the network code is carried out irrespective of the precoding, the precoding process is reversible, so its effect on the information can be mitigated by those sinks satisfying h t > r.
  • I consecutive network uses are referred to as a block LNC of length I • r.
  • This approach is referred to as l-block linear multicast of B.
  • the network code and the transmission rate are considered constant within a block. Therefore:
  • a row vector v of length I • r is referred to as LNC message block at the network input;
  • the precoding matrix P is an invertible I • r X I • r matrix
  • the GEK matrix is a I • r X I •
  • the decoding matrix of the sink t, D t is a I • h t X I • h t matrix.
  • the decoding rate of a sink is defined as For a sink t with h t > r (i.e B t is invertible), B t is also invertible. Therefore, defining allows t to decode all the transmitted data, thus supporting a decoding rate of r, as in a single- network-use case.
  • Sub-rate coding and decoding is introduced according to some embodiments of the present invention for improving the overall system throughput achievable via linear multicast. Such improvement can be realized by judicious selection of a coding and decoding approach that allows those nodes whose max-flow, h t , is smaller than the source rate r, to extract a portion of r data units in each network use.
  • a sink t with h t ⁇ r is referred to as a sub-rate sink.
  • a sink cannot operate at rates higher than its max-flow h t (the max-flow between the source and a sink is essentially the capacity of the corresponding set of links constituting a communication path).
  • the present embodiments thus provide communication rate as close as possible to the max-flow of a sub-rate sink, while allowing no interference, or rate loss, to be experienced by any eligible sink.
  • the max-flow to a sub-rate sink t is sink dependent, and different sub-rate sinks may have different max-flows.
  • the GEM of t, B t is a 3 X r full (column) rank matrix.
  • B t BR.
  • P B -1
  • the decoding rate of t can only be 1 in this case.
  • Lemma 6 In the case of two sub-rate sinks t 1 and t 2 , there exists a linear multicast of rate 3 allowing t 1 and t 2 to work at decoding rates of h t1 and h t2 respectively.
  • B t1 is a vector
  • B t is a matrix
  • T T be a set of sub-rate sinks, If there exists a matrix B, and matrices D t and R t for each sub-rate sink t, such that BR t is a BR factorization of B t D t , then each sub-rate sink t E T' can work at a decoding rate h t1
  • the matrix B is invertible by the definition of the BR-factorization.
  • the input to a sink t will then be PB t , multiplying this by the decoding matrix of t, D t , the output of t is: Since the columns of R t are, by the definition of the BR-factorization, different columns of I r , then given a transmitted data vector v and t is capable of working at a decoding rate h t1
  • B t the GEM of t
  • h t its max-flow from the source s
  • D t its decoding matrix
  • Corollary 9 implies that when given a set of sub-rate sinks, in order to enable all of them to work in their maximum possible decoding rates (while not interfering with the full-rate sinks to operate at rate r), it suffices to find a set U of r vectors that: (a) are linearly independent; and (b) U is an exact spanner with respect to the GEMs of all the sub-rate sinks. Note that these conditions do not imply that the cardinality of U has to be r. If indeed
  • FIGs. 3A and 3B are schematic illustrations of two cases of three-plane configurations that explain the difference between the cases in Lemma 10 and Demonstration 11.
  • a case similar to the one of Demonstration 11 is presented in FIG. 3 A.
  • the 3 planes intersect on a line and so there is no possible choice of 3 vectors which form an exact spanner.
  • An exact spanner for this example can be, for example, the set of vectors ⁇ v,u 1 ,u 2 ,u 3 ⁇ marked on FIG. 3 A.
  • the case shown in FIG. 3B shows three planes that intersect at a point so that B ti ' ⁇ B t2 ' ⁇ B t3 '.
  • a sub-rate sink t is declared as fully sub-rate decodable under linear multicast PB t , if it can decode incoming information at rate h t1
  • all vectors are of length r over the field F, and all matrices are full (column) rank matrices with r rows and r or less columns, over the field F.
  • all matrices are full (column) rank matrices with r rows and r or less columns, over the field F.
  • the commonality degree of a vector v (a line is referred to herein as a vector lying on that line) with respect to the set of matrices denoted by , is the number of matrices B i in with , the subspace spanned by B i
  • the commonality degree of an arbitrary set of vectors with respect to the set of matrices denoted by is the sum of the commonality degrees of all the vectors in V with respect to B, namely
  • the commonality set size of a set of matrices denoted by is the minimum cardinality of a set of vectors V, where V is an exact spanner of
  • the Inventors devised a procedure for finding the value when given an arbitrary set of sub-rate sinks T' in order to determine whether exist such that all the sinks in T' are fully sub-rate decodable.
  • the c-commonality set size of a set of matrices denoted by ) is defined as follows:
  • Proposition 17 Every element of the (external) sum in c (of either Definition 16(2) or 16(3)) is of the dimension of a c-set intersection perpendicular to any (c + 1)-set intersection that is a sub-vector space. Therefore, given a set of vectors V that span all the (c + 1)-set intersections, c an upper bound on the minimum number of vectors one has to add to V so as to span also all the c-set intersections. Note that is not necessarily the minimum possible number, since there is no requirement that all these additional vectors be linearly independent among themselves. This preposition follows from the previous definition.
  • the outcome of is the commonality degree of V with respect to
  • all entries of are optionally and preferably no greater than the c-commonality set size of hence, when given a set of vectors as long as V is an exact spanner, as shown in the following lemma.
  • any subspace B t ' can be presented as a sum of subspaces, each created by the sum of intersections of B t ' with a different number of other subspaces from Let be the subspace that is a sum of all possible c-set intersections that include B t '.
  • B Denote by the c-commonality dimension of B t ' with respect to defined as ; and co For each 1 ⁇ c ⁇ k, represents the contribution of the c-set intersections (that include B t ') to the dimension of B t ' that had not been added with (c + 1)-set intersections.
  • V can optionally and preferably be carried out according to the guidelines below.
  • Theorem 20 This theorem is referred to as the Full Sub-Rate Decodability (FSRD) Theorem.
  • FSRD Full Sub-Rate Decodability
  • B mat(V), a matrix whose columns are the vectors of V.
  • this Example presents an approach through which it is possible to sub-rate decode all t i ⁇ T', by compromising on the decoding rate.
  • the following definition precedes the main lemma of this subsection.
  • a block of 3 network uses (instead of a single use), allows finding 5-degree BR factorizations with a single full rank matrix for all 3 of the GEM matrices of the sinks in T'.
  • Lemma 7 is used in order to partially-decode 5 out of the 6 symbols each sink receives during the 3 network uses, thus allowing them to work at decoding rate of 5/3. This will now be shown mathematically.
  • D/. be a basis transformation matrix such that hence, there are exactly 5 columns of t /
  • D ti be a matrix such that B t .D ti has these 5 columns from with the sixth column being the zero vector. Then constructing R t . so that it chooses these 5 columns from B and leaving the sixth column as zero, provides the desired factorizaton
  • each B t comprises of h t linearly independent columns.
  • a set of vectors is referred to as a partial exact spanner with respect to if for every 1 ⁇ t ⁇ k, there is a subset of V with h t ' linearly independent vectors, for some 1 denoted by
  • T' ⁇ T be a set of sub-rate sink If there exists a set of r linearly independent vectors that constitutes a partial exact spanner with respect to B with ⁇ spanning vectors (for each of the d sinks), when for each - then each sink an work at decoding rate of
  • B t the GEM of t
  • h t its max-flow from the source s
  • D t its decoding matrix
  • T' c T be a set of sub- rate sinks
  • Each sub-rate sink can work at some positive decoding rate.
  • Proof Denote by a set of matrices derived from the GEM of a corresponding set of sub-rate sinks; these matrices span different subspaces.
  • V be an exact spanner of (choosing the exact spanner with minimal cardinality provides better results, in the sense of a smaller I, but it is not mandatory).
  • I the block size
  • V is a partial exact spanner with respect to B, with Employing Lemma 29 concludes the proof.
  • the block length is a function of the values of the c- commonality set sizes of B for all
  • the effective decoding rates are selected to be the maximal effective rates at which all the sub-rate sinks can operate simultaneously. It is noted that the effective rate can also depend on the values of the c-commonality set sizes of B for
  • a method in network coding relates to static linear multicast, aimed at facilitating the communication with all the designated sinks under a few, different, network configurations without having to change the network code when the network configuration changes. This capability comes at the cost of increasing the field size, hence reducing the communication rate, with the number of (predetermined) configurations as a factor of the former increase.
  • Sub-rate coding can be combined with a static network code in more than one way.
  • a set of sub-rate sinks T ⁇ ', each set accompanied by a precoding matrix P ⁇ can be defined with respect to the £-GEM B E , as further detailed hereinabove.
  • a set of designated sub-rate sinks T' is defined to be fixed.
  • a specific configuration £ t E £ has to be chosen, and the sink’s ⁇ -GEMs, B is the matrix considered for the computations detailed above.
  • the precoding matrix P is fixed, and is computed as an invertible matrix using the set of matrices
  • each designated sub-rate sink t E T' applies the sub-rate decoding scheme in the configuration ⁇ t or in other configurations ⁇ E with Note that - for every designated real sink t E T, for any configuration £ where being the network’s operation rate, is an invertible matrix, ensuring that the precoding does not interfere with its decoding ability.
  • the sub-rate coding of the present embodiments can also be combined with variable-rate network coding [Fong et al., supra ⁇ .
  • This network coding method employs the same linear multicast under different rates of symbol-generation from the source, up to the number of outgoing links from the source. For example, if the source has 5 outgoing links, then linear multicast using variable-rate network coding allow it to operate at any rate r ⁇ 5, making the transmission decodable by all sinks whose max-flow is at least r. This method does not necessitate a larger field size, hence it entails no reduction in rate.
  • variable rate linear multicast can be carried out similarly to way described above for the linear multicast, except for the input graph, leading to a change in both the path-finding stage and the value calculation stage of the linear multicast. This results with a LEK.
  • the GEM B can not be well defined, because the number of its rows equals the symbols generation rate r, which is not constant.
  • a q-GEM is defined, as a q X
  • a different set of sub- rate sinks is defined with respect to B q , and a corresponding q X q precoding matrix P q is derived. Since the network operation rate is determined by the network source, it can also adjust the precoding scheme accordingly.
  • the sub-rate coding scheme is adjusted for each rate, one may choose different sinks for each rate. This is advantageous because at each operation rate, different sinks have max-flow from the source that is smaller than the network operation rate. In other words, the set of potential sub-rate sinks changes with the network operation rate.
  • the linear multicast is constructed by defining some of the designated sinks as intermediate nodes. Using the effective rate allowed by the network code, each such intermediate node is approached as sub-rate sink and operate at its consequential max-flow, which is basically the number of linearly independent inputs to this node as entailed by the linear multicast. The inventors found that this approach improves the communication rate with the designated nodes compared to the rate achievable by regarding them as standard sinks, in particular when working with a small set of sinks.
  • G ⁇ V, E ⁇ with a source s E V and a set of sinks T c V.
  • B t the GEM of t, which is the matrix whose columns, taken from B, represent the links entering t, just as the GEM is defined for a “standard” sink.
  • F' the field required for considering the set of sinks then considering t as a sink would reduce its communication rate compared to considering it as a consequential sub-rate sink.
  • t a new linear multicast is calculated with T* sinks.
  • t decodes at most h t symbols per network use.
  • the symbols are elements of the field F' (F' > F), hence the communication rate to t is at most bits per network use.
  • the network’s max-flow in this case is between s and and may be smaller than h t1
  • the number of decoded bits per network use is higher when referring to t as a consequential sub-rate sink.
  • FIG. 4 shows the function known as the rate ratio bound, as a function of the number of sinks.
  • the cardinality of the field to work with is the smallest prime number greater than T. If the ratio is above the curve in FIG. 4, then considering t as a sink reduces its communication rate as opposed to considering it as a sub-rate sink. As Shown in FIG. 4, some values of the rate ratio require to be higher than others in order for sub-rate sink to be superior to standard sink designation.
  • sub-rate coding of the present embodiments methodology does not impact the transmission rate towards sinks whose max-flow permits full-rate decoding. This makes sub-rate coding a viable add-on to any network.
  • Applications of sub-rate coding include any scenario that employs multicasting to communicate with different users experiencing different channel qualities, or otherwise when they require different volumes of the data. It is particularly useful when a small number of sinks have a wide dynamic range of max-flows.
  • This Example also described combinations of sub-rate coding with other LNCs, including combinations of sub-rate coding with static LNCs and with variable-rate LNCs. This Example further showed that sub-rate coding is advantageous when additional sinks are to be added to an existing network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method of transmitting input information in a communication network from a computing source node characterized by a transmission rate to each of a plurality of computing sink nodes, comprises precoding the input information at the source node, and transmitting the precoded information over the network to provide each of the plurality of sink nodes with a respective sink input. At a sink node having a maximal rate of at least the transmission rate, the method decodes a respective sink input to extract the input information. At a sink node having a maximal rate less than the transmission rate, the method decodes a respective sink input to extract a portion of the input information.

Description

METHOD AND SYSTEM FOR NETWORK CODING
RELATED APPLICATION
This application claims the benefit of priority of U.S. Provisional Patent Application No. 63/121,276 filed on December 4, 2020, the contents of which are incorporated herein by reference in their entirety.
FIELD AND BACKGROUND OF THE INVENTION
The present invention, in some embodiments thereof, relates to a communication systems and, more particularly, but not exclusively, to a method and system for network coding.
Network coding is a technique targeting the improvement of communications within a network. Network coding increases the capacity or throughput of a communication network by mixing information received from source nodes at an intermediate node, and retransmitting the mixed information to one or more destination nodes. The content of any information flowing out of the intermediate node can be derived by the destination nodes from the information which flowed into the intermediate node.
The intermediate nodes in the network serve as computational units rather than merely relays, thus supporting increased overall network throughput. In particular, the nodes are configured to recombine several input packets into one or several output packets. At the intermediate node, some type of coding is performed on the packets present at that node, and the resulting encoded packet can be broadcast for different recipients simultaneously instead of transmitting each packet separately.
SUMMARY OF THE INVENTION
According to some embodiments of the invention the present invention there is provided a method of transmitting input information in a communication network from a computing source node characterized by a transmission rate to each of a plurality of computing sink nodes. The method comprises precoding the input information at the source node, and transmitting the precoded information over the network to provide each of the plurality of sink nodes with a respective sink input. At a sink node having a maximal rate of at least the transmission rate, the method decodes a respective sink input to extract the input information. At a sink node having a maximal rate less than the transmission rate, the method decodes a respective sink input to extract a portion of the input information. According to some embodiments of the invention the communication network employs a multicast network code.
According to some embodiments of the invention the transmission rate is constant.
According to some embodiments of the invention the transmission rate varies.
According to some embodiments of the invention the input information is represented by a vector and wherein the precoding comprises multiplying the vector by an invertible matrix.
According to some embodiments of the invention the invertible matrix is an inverse of a matrix factorized out of a global encoding matrix of the network.
According to some embodiments of the invention the method is executed for scalar network coding.
According to some embodiments of the invention the method is executed for vector network coding.
According to some embodiments of the invention the decoding of the respective sink input to extract the portion of the input information, is at a decoding rate that equals the maximal rate of the sink node.
According to some embodiments of the invention the decoding of the respective sink input to extract the portion of the input information, is at a decoding rate that is less than the maximal rate of the sink node.
According to some embodiments of the invention the method comprises, at an additional sink node having a maximal rate of at least the transmission rate, decoding a respective sink input to extract only a portion of the input information.
According to some embodiments of the invention the method comprises, at an additional node Nf having a maximal rate of at least the source's transmission rate, and which is other than a sink node and other than the source, decoding input received at the additional node Nf to extract the input information, thereby virtually attributing sink properties to the additional node Nf.
According to some embodiments of the invention the method comprises, at an additional node Ns having a maximal rate of less than the source's transmission rate, and which is other than a sink node and other than the source, decoding input received at the additional node Ns to extract a portion of the input information, thereby virtually attributing sink properties to the additional node Ns.
According to some embodiments of the invention the present invention there is provided a communication system. The system comprises: a computing source node, and a plurality of computing sink nodes deployed over an area remote from the computing source node. Each of the source node and the computing sink nodes comprises a circuit for encoding and decoding information, wherein a circuit of the computing source node is characterized by a transmission rate, and wherein the plurality of computing sink nodes comprises at least one sink node of a first type that has a circuit characterized a maximal rate of at least the source's transmission rate, and at least one sink node of a second type that has a circuit characterized a maximal rate of less than the source's transmission rate. The circuit of the computing source node is configured to precode the input information, to transmit the precoded information over the network to provide each of the plurality of sink nodes with a respective a sink input, to transmit to a sink node of the first type a control signal causing a respective circuit of the sink node to decode a respective sink input to extract the input information, and to transmit to a sink node of the second type a control signal causing a respective circuit of the sink node to decode a respective sink input to extract a portion of the input information.
According to some embodiments of the invention the system employs a multicast network code.
According to some embodiments of the invention the source's transmission rate is constant.
According to some embodiments of the invention the source's transmission rate varies.
According to some embodiments of the invention the input information is represented by a vector, and wherein the circuit of the computing source node is configured to multiply the vector by an invertible matrix. According to some embodiments of the invention the invertible matrix is an inverse of a matrix factorized out of a global encoding matrix of the network.
According to some embodiments of the invention the system employs scalar network coding.
According to some embodiments of the invention the system employs vector network coding.
According to some embodiments of the invention the circuit of the source node is configured to transmit to the sink node of the second type a control signal causing the respective circuit of the sink node to decode at a decoding rate that equals the maximal rate of the sink node.
According to some embodiments of the invention the circuit of the source node is configured to transmit to the sink node of the second type a control signal causing the respective circuit of the sink node to decode at a decoding rate that is less than the maximal rate of the sink node.
According to some embodiments of the invention the system comprises, an additional sink node having a circuit characterized by a maximal rate of at least the source's transmission rate, wherein the circuit of the source node is configured to transmit to the additional sink node a control signal causing the circuit of the additional sink node to decode a respective sink input to extract a portion of the input information.
According to some embodiments of the invention the system comprises an additional node Nf, other than a sink node and other than the source, the additional node Nf, having a circuit characterized by a maximal rate of at least the source's transmission rate, wherein the circuit of the source node is configured to transmit to the additional sink node Nf a control signal causing the circuit of the additional sink node Nf to decode input received at the additional node Nf to extract the input information, thereby virtually attributing sink properties to the additional node Nf.
According to some embodiments of the invention the system comprises an additional node Ns, other than a sink node and other than the source, the additional node Ns, having a circuit characterized by a maximal rate of less than the source's transmission rate, wherein the circuit of the source node is configured to transmit to the additional sink node Ns a control signal causing the circuit of the additional sink node Ns to decode input received at the additional node Ns to extract a portion of the input information, thereby virtually attributing sink properties to the additional node Ns.
Unless otherwise defined, all technical and/or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention pertains. Although methods and materials similar or equivalent to those described herein can be used in the practice or testing of embodiments of the invention, exemplary methods and/or materials are described below. In case of conflict, the patent specification, including definitions, will control. In addition, the materials, methods, and examples are illustrative only and are not intended to be necessarily limiting.
Implementation of the method and/or system of embodiments of the invention can involve performing or completing selected tasks manually, automatically, or a combination thereof. Moreover, according to actual instrumentation and equipment of embodiments of the method and/or system of the invention, several selected tasks could be implemented by hardware, by software or by firmware or by a combination thereof using an operating system.
For example, hardware for performing selected tasks according to embodiments of the invention could be implemented as a chip or a circuit. As software, selected tasks according to embodiments of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system. In an exemplary embodiment of the invention, one or more tasks according to exemplary embodiments of method and/or system as described herein are performed by a data processor, such as a computing platform for executing a plurality of instructions. Optionally, the data processor includes a volatile memory for storing instructions and/or data and/or a non-volatile storage, for example, a magnetic hard-disk and/or removable media, for storing instructions and/or data. Optionally, a network connection is provided as well. A display and/or a user input device such as a keyboard or mouse are optionally provided as well.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
Some embodiments of the invention are herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of embodiments of the invention. In this regard, the description taken with the drawings makes apparent to those skilled in the art how embodiments of the invention may be practiced.
In the drawings:
FIGs. 1 A and IB are schematic illustration of a simple communication network known as "butterfly network";
FIGs. 2A-B are schematic illustration of butterfly network with an additional node;
FIGs. 3 A and 3B are schematic illustrations of two cases of three-plane configurations;
FIG. 4 is a graph showing a rate ratio bound as a function of a number of sinks in a communication network;
FIG. 5 is a flowchart diagram describing a method suitable for transmitting input information in a communication network; and
FIG. 6 is a schematic illustration of a communication system.
DESCRIPTION OF SPECIFIC EMBODIMENTS OF THE INVENTION
The present invention, in some embodiments thereof, relates to a communication systems and, more particularly, but not exclusively, to a method and system for network coding.
Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not necessarily limited in its application to the details of construction and the arrangement of the components and/or methods set forth in the following description and/or illustrated in the drawings and/or the Examples. The invention is capable of other embodiments or of being practiced or carried out in various ways. Network coding has been shown to increase overall network throughput in single-source multiple-sink communications scenarios (i.e., broadcast of massages), or multi-source networks. Network coding can potentially achieve the maximum capacity to every eligible sink.
Herein, “eligible sink” refers to a sink whose achievable rate is greater or equal to the source transmission-rate.
A sink whose achievable rate is smaller than the source message-rate, is referred to herein as a "sub-rate sink."
The achievable rate of a sink is interchangeably referred to herein as the max-flow of the sink.
FIGs. 1A and IB are schematic illustration of a simple network known as "butterfly network". In the exemplified network, a source node 1 transmits two signals a and b to two sinks, 6 and 7. In FIG. 1A, the network does not employ network coding, so that the intermediate nodes 2, 3, 4, and 5, do not execute any coding-related computations. Thus, in this network, only one of the sinks (6 or 7, in the present example) can decode both messages in each network use. In FIG. IB, the network employs network coding. Intermediate node 4 can XOR (exclusive-or) both its inputs, which in turn allows both sinks 6 and 7 to decode the two transmitted messages.
In conventional techniques pertaining to network coding, sub-rate sinks have been considered ineligible, and so communication to them was avoided. This approach is derived from the classical definition of a multicast: a sink that can not receive all the information (also known as "the network rate") is considered useless.
The Inventors of the present invention found that there are cases where retrieving some of the transmitted data is valuable, for example when a sub-rate sink can benefit from reduced data resolution. In other words, the Inventors found that the ability to communicate with some network sinks in the multicast using higher rate than other sinks, allows the higher-rate sinks to retrieve the transmitted information faster than the others, and may also facilitates the use the residual capacity for conveying data that is not necessarily required by all the sinks, e.g., monitoring information.
The Inventors have therefore devised a network coding technique in which at least some of the sub-rate sinks decode a portion of the input data. An example, which is not to be considered as limiting, is schematically illustrated in FIGs. 2A and 2B. In this example, another node, 8, is added to the butterfly network. The max-flow (from the source) of node 8 is only 1. It is assumed to be beneficial to communicate with node 8 at rate of 1 symbol per network use. In conventional network coding for the butterfly network, node 8 receives a+b and hence cannot decode any symbol, as shown in FIG. 2A. The Inventors found that by properly manipulating the transmitted symbols at the source node 1, for example, as illustrated in FIG. 2B, the network is configured so that node 8 operates at a communication rate of 1 symbol per network use, without affecting the ability of the eligible sinks 6 and 7, to operate at their original rate (2 symbols per network use, in the present example).
Thus, according to some embodiments of the present invention there is provided a method of transmitting input information in a communication network from a computing source node, s, characterized by a transmission rate to each of a plurality of computing sink nodes ti, where z is a sink node index greater than one.
A flowchart diagram of the method according to various exemplary embodiments of the present invention is provided in FIG. 5. It is to be understood that, unless otherwise defined, the operations described hereinbelow can be executed either contemporaneously or sequentially in many combinations or orders of execution. Specifically, the ordering of the flowchart diagrams is not to be considered as limiting. For example, two or more operations, appearing in the following description or in the flowchart diagrams in a particular order, can be executed in a different order (e.g., a reverse order) or substantially contemporaneously. Additionally, several operations described below are optional and may not be executed.
At least part of the operations described herein can be implemented by a data processing system, which is optionally and preferably dedicated circuitry, configured for executing the operations described below. During operation, the data processing system can store in a memory data structures or values obtained by intermediate calculations and pull these data structures or values for use in subsequent operation. All these operations are well-known to those skilled in the art of computer systems.
The method of the present embodiments can be implement in any communication network having a computing source node and a plurality of computing sink nodes. Typically, but not necessarily the communication network employs a multicast network code. The communication network can employ scalar network coding, or vector network coding, as desired.
The computing source node can be, for example, a content provider, a website, a server, or the like. The transmission rate of the source node is denoted by r, and is defined as the number of symbols created by the source node at every network use. Thus, r is positive integer. In some embodiments of the present invention the source's transmission rate is constant, and in some embodiments of the present invention the source's transmission rate varies.
The input information include information symbols, and all possible information symbols that can be transmitted by the source node are collectively referred to as a base field F. The input information can be in the form of data packets (each including one or more information symbols) that are combined during transit. The input information can be mathematically represented by an input vector v ∈ Fr.
One or more of the computing sink nodes can be a consumer node (e.g., a requesting device, an end point device, etc.). The network can alternatively or additionally include a consumer which is a non-computing sink node. Multiple packets transmitted over the network from the computing source node, and optionally and preferably from one or more of the computing sink nodes, can create a new packet set (e.g., stream), where members of the new packet set are optionally and preferably linear combinations of the multiple input packets.
With reference now to FIG. 5, the method begins at 10 and continues to 1 at which the input information is precoded at the source node. The precoding is preferably executed prior to the transmission of the information. In various exemplary embodiments of the invention the precoding includes multiplying the source information v by an r X r precoding matrix P over a field F. The procedure is referred to as "precoding" since the input to the network is vP rather than v. The precoding matrix P is preferably invertible.
Generally, a network having m links can be described by an r×m matrix referred to herein as a global encoding matrix (GEM). Every column of the GEM is associated with one of the network's link, such that multiplying an input vector by this column results in the symbol that the network code conveys on that link per network input vector. In some embodiments of the present invention the invertible matrix P is an inverse of a matrix that is factorized out of the GEM. Representative examples of precoding matrices suitable according to some embodiments of the present invention for various cases, are provided in the Examples section that follows.
Based on the choice of the factorization for obtaining the precoding matrix P, the decoding performed at each computing sink is modified to take into account the precoding operation. Denoting the native decoding matrix of sink t by t, the modification is achieved by multiplying the native decoding matrix Dt by the inverse P'1 of the precoding matrix P. Formally, the modification can be written as: by t → DtP-1.
The method continues to 12 at which the precoded information is transmitted over the network, to provide each of the sink nodes with a respective a sink input. For each sink node ti, the method proceeds to a 13 at which the method determines the maximal rate hti of the respective sink node. The method optionally and preferably proceeds to decision 14 at which the method compares the determined maximal rate ht1 to the transmission rate r of the source node s. If the determined maximal rate of the sink node is less than the source's transmission rate, the method proceeds to 15 at which the respective sink input is decoded by the sink a to extract a portion of the input information. If the determined maximal rate of the sink node is not less than the source's transmission rate, the method proceeds to 16 at which the respective sink input is decoded by the sink to extract all the input information. The sink input for each sink is decoded by multiplying the input by the modified decoding matrix as further detailed hereinabove. Generally, the rank of the modified decoding matrix is smaller for each sink node for which the maximal rate is less than the source's transmission rate, than for any each sink node for which the maximal rate is not less than the source's transmission rate. In other words, the rank of the decoding matrix that is used at 15 is smaller than the rank of the decoding matrix that is used at 16. The decoding matrix used in 16 is typically an invertible matrix. The decoding matrix used in 15 is not necessarily an invertible matrix. In some embodiments of the present invention at least one sink having a maximal rate less than the source's transmission rate decodes the sink input using a non-invertible decoding matrix.
The decoding at 15 can be at a decoding rate that equals the maximal rate ht1of the respective sink node, or it can be at a decoding rate that is less than the maximal rate of the respective sink node.
From 15 or 16, as the case may be, the method optionally and preferably loops back to 13, for determining the maximal transmission rate of another computing sink of the network. Once the method interrogates all the computing sinks of the network, the method ends at 70.
It is to be understood that it is not necessary for more the method of the present embodiments to extract all the information by each sink node for which the method determines that the sink's maximal rate is not less than the source's transmission rate. The present embodiments also contemplate situations in which for at least one of a sink node that has a maximal rate satisfying ht1≥ r the respective sink input is decoded to extract only portion of the input information, rather than all input information. In these embodiments, the method can, for at least one sink node that has a maximal rate satisfying ht1≥ r, skip decision 14, or both operation 13 and decision 14, and move directly to operation 15.
The present embodiments also contemplate situations in which the method virtually attributes sink properties to one or more nodes of the network that are not sink nodes and are not other the source node. Thus, for example, in some embodiments an additional node Nf which has a maximal rate of at least the source's transmission rate r, and which is not one of the sink nodes and is not the source, is caused to decode its input to extract all the input information, thereby virtually attributing sink properties to the node Nf. Additionally of alternatively, an additional node Ns having a maximal rate of less than the source's transmission rate r, and which is not one of the sink nodes and is not the source node, is caused decode its input to extract a portion of the input information, thereby virtually attributing sink properties to additional node Ns.
FIG. 6 is a schematic illustration of a communication system 60, according to some embodiments of the present invention. System 60 is particularly useful for executing method 10, as detailed hereinabove. System 60 comprises a computing source node 62, and a plurality of computing sink nodes 64 deployed over an area 66 remote from computing source node 62, thus forming a network 68. Each of source node 62 and computing sink nodes 64 comprises a circuit (not shown) for encoding and decoding information. The communication between the individual nodes of network 68 are preferably wireless, according to any communication standard, such as, but not limited to, IEEE 802.11 , IEEE 802.11 a-g, IEEE 802.15.4, and derivatives thereof.
The circuit of computing source node 62 is characterized by a transmission rate, r. The computing sink nodes 64 comprise at least one sink node 64a of a first type, and at least one sink node 64b of a second type. Each of the sink nodes 64a has a circuit characterized a maximal rate of at least the source's transmission rate, r, and each of the sink nodes 64b has a circuit characterized a maximal rate of less than the source's transmission rate, r.
In operation of system 60, the circuit of computing source node 62 precodes the input information as further detailed hereinabove, and transmits the precoded information over the network 68 to provide each of the plurality of sink nodes 64 with a respective a sink input. The circuit of computing source node 62 transmits to a sink node 64a a control signal causing the circuit of sink node 64a to decode a respective sink input to extract all the input information, as further detailed hereinabove. The circuit of computing source node 62 transmits to a sink node 64b a control signal causing the circuit of sink node 64b to decode a respective sink input to extract a portion of the input information, as further detailed hereinabove.
It is expected that during the life of a patent maturing from this application many relevant communication networks will be developed and the scopes of the terms computing source node, and computing sink node, are intended to include all such new technologies a priori.
As used herein the term “about” refers to ± 10 %.
The terms "comprises", "comprising", "includes", "including", “having” and their conjugates mean "including but not limited to".
The term “consisting of’ means “including and limited to”.
The term "consisting essentially of' means that the composition, method or structure may include additional ingredients, steps and/or parts, but only if the additional ingredients, steps and/or parts do not materially alter the basic and novel characteristics of the claimed composition, method or structure. As used herein, the singular form "a", "an" and "the" include plural references unless the context clearly dictates otherwise. For example, the term "a compound" or "at least one compound" may include a plurality of compounds, including mixtures thereof.
Throughout this application, various embodiments of this invention may be presented in a range format. It should be understood that the description in range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the invention. Accordingly, the description of a range should be considered to have specifically disclosed all the possible subranges as well as individual numerical values within that range. For example, description of a range such as from 1 to 6 should be considered to have specifically disclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from 2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numbers within that range, for example, 1, 2, 3, 4, 5, and 6. This applies regardless of the breadth of the range.
Whenever a numerical range is indicated herein, it is meant to include any cited numeral (fractional or integral) within the indicated range. The phrases “ranging/ranges between” a first indicate number and a second indicate number and “ranging/ranges from” a first indicate number “to” a second indicate number are used herein interchangeably and are meant to include the first and second indicated numbers and all the fractional and integral numerals therebetween.
It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination or as suitable in any other described embodiment of the invention. Certain features described in the context of various embodiments are not to be considered essential features of those embodiments, unless the embodiment is inoperative without those elements.
Various embodiments and aspects of the present invention as delineated hereinabove and as claimed in the claims section below find experimental support in the following examples.
EXAMPLES
Reference is now made to the following examples, which together with the above descriptions illustrate some embodiments of the invention in a non limiting fashion.
EXAMPLE 1
In this Example, the concept of sub-rate coding and decoding in the framework of linear network coding (LNC) is introduced for single-source multiple-sinks finite acyclic networks. Sub-rate coding offers an add-on to existing LNC. It allows sinks whose achievable rate is smaller than the source message-rate, termed "sub-rate sinks," to decode a portion of the transmitted messages without degrading the maximum achievable rate of LNC sinks whose max- flow is equal (or greater) than the source rate. This Example provides the theoretical foundations for sub-rate coding, and also formulates preferred conditions for a node (and the network) to become a legitimate sub-rate sink.
This Example includes several definitions, lemmas, corollaries, demonstrations, propositions, and theorems, which are all enumerated consecutively using the same enumerator. This Example demonstrates that the technique of the present embodiments is capable of establishing efficient communication when some of the network nodes are sub-rate max-flow sinks without affecting the eligible sinks.
Notations
The following notations are used in this Example.
Linear Network Coding
Consider a network G' = {V, E}, with V and E denoting network nodes and links respectively (also referred to as vertices and edges in graph theory). The network G' includes a source node s in V and a set T of sink in V. The max-flow between s and the sink ti ∈ T is denoted by ht1. All the information symbols are regarded as elements of a base field F.
The rate of the communication network is denoted by r, and is defined as the number of symbols created by the source at every network use. Thus, r is positive integer. For simplicity, r is assumed to be constant, but the present embodiments can be applied also in cases in which r varies with time.
For every node x ∈ V\{s], the sets of input and output links to the node are denoted by In(x) and Out(x) respectively. For convenience, it is customary to add another node s', referred to as the imaginary source, that has r outgoing links to the original source s. The outgoing links of the imaginary source s' are referred to as imaginary links. Thus, In(s) is a set of r imaginary links. It is assumed that G' includes the imaginary source and links.
All the nodes in the network are able to perform calculations over the field F.
Following is a description of a linear network code (LNC) for finite acyclic network :
Definition 1. An r-dimensional LNC operating over a field F in an acyclic communication network is characterized by a set Local Encoding Kernels (LEKs), each being associated with an adjacent pair of links in the network, and a set of Global Encoding Kernels (GEKs), each being associated with a link in the network. A Local Encoding Kernel (LEK) is a scalar ke, e E F for a respective adjacent pair of links {e’, e}, where both e' and e share a node such that e' is an incoming link to the respective node and e is an outgoing link from the respective node. The LEKs associated with node x are arranged as a |In(x)| X |0ut(x)| matrix. A Global Encoding Kernel (GEK) is an r-dimensional column vector fe for a respective link e ∈E, such that for every non-source node x, and every
Figure imgf000015_0001
and such that for the imaginary links e ∈ In(s), the set of vectors are the r linearly
Figure imgf000015_0002
independent vectors that constitute the natural basis of the vector space Fr.
Note that according to the above definition, when the LEKs at all the nodes in an acyclic network are known, the GEKs can be calculated recursively in an upstream-to-downstream order.
Definition 2. Let denote the GEKs in an r-dimensional F-valued LNC on a
Figure imgf000015_0004
single-source finite acyclic network. Let A LNC that satisfies
Figure imgf000015_0003
for every non-source node x with is referred to as a "linear
Figure imgf000015_0005
Figure imgf000015_0006
multicast."
In [Li et al., EEE Trans. Inform. Theory, 2003, 49:371], an algorithm for the construction of a linear multicast is provided, requiring the field size |F| to be greater than the size of the set of sinks whose maxfl ow({T}) > r. This algorithm provides a LNC that allows all target sinks to receive decodable information simultaneously in every network use. This algorithm does not require that the set of target sinks include all the eligible sinks (satisfying ht1 > r). Thus, in this algorithm it is possible to create a generalized linear multicast, which is defined below in Definition 3.
Definition 3. be the set of GEKs in an r-dimensional F -valued LNC on a
Figure imgf000015_0007
single-source finite acyclic network. Let Define a set of non-source
Figure imgf000015_0008
nodes
Figure imgf000015_0011
as sinks. Then, an LNC for which
Figure imgf000015_0009
for any sink t E T with max — is referred to as a "generalized linear multicast".
Figure imgf000015_0010
This Example only considers generalized linear multicasts, and so the term generalized linear multicast is abbreviated as "linear multicast".
Note that not all the links in G' need necessarily be employed by the network code in the case of a generalized linear multicast. Without loss of generality, this Example considers the network G, which is defined as the sub-network of G' consisting only of the links from E that are employed by the network code along with their adjacent nodes. A network node in G that is neither source, nor sink, shall be called an intermediate node. A path is a set of links that provides a connection between two nodes in the network.
As defined in Definition 3, a generalized linear multicast assumes that every network uses the source is generating and transmitting r symbols, and every eligible sink tj can extract the transmitted symbols from the /^different symbols it receives. Nevertheless, in this Example, a node ti is defined as a sink of the multicast even if ht1 < r. In this case, the algorithm described in Li et al., supra, for constructing a linear multicast yields ht1 independent paths from s to ti, resulting in ht1 linearly independent symbols received by f every network use.
Two different approaches to LNC had been proposed: modeling the data units and the coding operations over the finite field GF(qL) (scalar network coding), or modeling the data units and vector operations over GF(q)L (vector network coding) [Ebrahimi et al., 2010 IEEE International Symposium on Information Theory, 2408-2412], For simplicity, this Example describes scalar network coding, but the skilled person, provided with the description provided in this Example, would know how to equivalently apply the results provided herein also to vector network coding.
Global Encoding Kernel and Matrix
For a scenario whereby a network operates at a constant rate r, a GEK can be derived from the LEK and vice versa. Consequently, a LNC is equivalently defined by a r X m matrix B over the field F, where m = |E|. The matrix B is referred to herein as a Global Encoding Matrix (GEM). Every column, be, of B is associated with one network link, such that multiplying an input vector v E Fr by this column results in the symbol from F that the network code conveys on that link per network input vector v. Observing that the ht links impinging on the sink t are employed for decoding the information reaching this sink, one can denote by Bt the r X ht matrix whose columns are given by {be|e is entering t &. used for decoding in t}. The matrix Bt is referred to as the global encoding matrix (GEM) of the sink t. Note that in the special case in which ht=1, Bt is vector of length r. From the linear multicast definition, it is guaranteed that the columns of Bt are linearly independent. Particularly, if a sink t satisfies ht > r, Bt is an invertible matrix (the sink only uses min{ht, r) links for decoding). The vector space spanned by the columns of Bt is denoted by Bt'.
Decoding
Each sink t holds a ht X ht decoding matrix, Dt, whose entries are defined over the field F. The decoding matrix is used for extracting the source information v from the sink input, vBt. When ht ≥ r, Bt is invertible, and hence, Dt can be selected to be Dt = Bt-1, so that vBtDt = v. The case ht < r is generally not decodable, and was not considered before. The Inventors found that this case is beneficial, as will be shown below.
Precoding
The Inventors introduce a procedure referred to herein as “precoding” into the framework of network coding. The precoding is optionally and preferably executed at the source node, prior to transmission. To this end, the source information v is multiplied by an r X r matrix P over the field F. The procedure is referred to as "precoding" since the input to the network is vP rather than v.
Data can be decodable by the sinks, when P is invertible, namely when the r outputs from the source are linearly independent. Consequently, for each sink ht with ht > r, the choice of decoding matrix Dt is changed to Dt = Bt -1P-1, thus providing vPBtDt = v. Given that, the network code and the precoding scheme are independent with respect to one another. Meaning that the construction of the network code is carried out irrespective of the precoding, the precoding process is reversible, so its effect on the information can be mitigated by those sinks satisfying ht > r.
Sub-Rate Block LNC
I consecutive network uses are referred to as a block LNC of length I • r. This approach is referred to as l-block linear multicast of B. In this Example, the network code and the transmission rate are considered constant within a block. Therefore:
1) A row vector v of length I • r is referred to as LNC message block at the network input;
2) The precoding matrix P is an invertible I • r X I • r matrix;
3) The GEK matrix is a I • r X I • |E| block matrix B, with I identical blocks B on the diagonal, so that each sink t is reached via a global encoding matrix Bt which is a I • r X I • ht block matrix; and
4) The decoding matrix of the sink t, Dt, is a I • ht X I • ht matrix.
The decoding rate of a sink is defined as
Figure imgf000017_0003
For a sink t with ht > r (i.e Bt is invertible), Bt is also invertible. Therefore, defining allows t
Figure imgf000017_0001
to decode all the transmitted data, thus supporting a decoding rate of r, as in a single-
Figure imgf000017_0002
network-use case.
Sub-rate Codins
Sub-rate coding and decoding is introduced according to some embodiments of the present invention for improving the overall system throughput achievable via linear multicast. Such improvement can be realized by judicious selection of a coding and decoding approach that allows those nodes whose max-flow, ht, is smaller than the source rate r, to extract a portion of r data units in each network use.
Herein, a sink t with ht < r, is referred to as a sub-rate sink. According to information theory, a sink cannot operate at rates higher than its max-flow ht (the max-flow between the source and a sink is essentially the capacity of the corresponding set of links constituting a communication path). The present embodiments thus provide communication rate as close as possible to the max-flow of a sub-rate sink, while allowing no interference, or rate loss, to be experienced by any eligible sink. Note that the max-flow to a sub-rate sink t is sink dependent, and different sub-rate sinks may have different max-flows.
In this section, a few basic scenarios of sub-rate coding shall be explicitly demonstrated in order to explain the coding of the present embodiments by way of examples. All the examples in this section concern a specific case of a network operating at symbol generation rate of r = 3.
A Single Sub-Rate Sink
In the case of a single sub -rate sink t (with ht < r) the GEM of t, Bt, is a 3 X r full (column) rank matrix.
Lemma 4. Let sink t be a single sub-rate sink, with ht = 2 in a linear multicast with r = 3. There exists a linear multicast of rate 3 allowing t to work at decoding rate of 2.
Definition 5. A BR-factorization of an arbitrary m X n matrix A, (m > n), with linearly independent columns is defined as a multiplication of two matrices A = BR, where B is an invertible m X m matrix, and R is an m X n matrix whose columns are n out of m (distinct) columns taken from the identity m X m matrix Im.
Any full rank matrix has a BR-factorization. Consider, for example, B = (A | AC); AC as an m X (m — ri) complimentary matrix such that B spans the m-dimensional space over the field F, and R = (The first n columns of Im).
Note that the BR-factorization of a matrix A is not unique.
Following is a proof of Lemma 4.
Using a BR-factorization of Bt, one can define Bt = BR. By definition, B is invertible. Taking P = B-1 provides:
1) Any sink t' with
Figure imgf000018_0004
t can fully decode the transmitted data, with the choice of decoding matrix since
Figure imgf000018_0003
Figure imgf000018_0002
2) The sub-rate sink t can operate with decoding rate of ht = 2, with the choice of Recall that 7? is a 3 X 2 matrix with columns from I3 - and so t
Figure imgf000018_0001
can decode two of the three transmitted symbols.
The case of ht = 1 can be treated in exactly the same way. The decoding rate of t can only be 1 in this case.
Two Sub-Rate Sinks
Lemma 6. In the case of two sub-rate sinks t1 and t2, there exists a linear multicast of rate 3 allowing t1 and t2 to work at decoding rates of ht1 and ht2 respectively.
The proof will be given by examining all possible cases: 1) ht1 = ht2 = 1. It is shown that there exists BR-factorizations B
Figure imgf000019_0003
that satisfy
Figure imgf000019_0004
Recall that when ht=1, the GEM of t is a vector, and so in this case both are vectors.
Figure imgf000019_0005
(a) If the vectors are linearly dependent,
Figure imgf000019_0006
Figure imgf000019_0007
(Bt1 \two complimentary linearly independent vectors'), with Dt1 = 1 and Dt2 =
Figure imgf000019_0008
a, provides PBt.Dti = Rt.. In this case, both sub-rate sinks can decode the same symbol.
(b) If the vectors Bt1, Bt2 are linearly independent, the choice
Figure imgf000019_0010
(Bt1 \Bt2 \complimentary linearly independent vector), Dt1 = Dt2 = 1 provides
Figure imgf000019_0009
Rt.. In this case, each sub-rate sink decodes a different symbol.
2) ht. = 1, ht. = 2 (without loss of generality, i = l,j = 2). In this case Bt1is a vector, and , Bt is a matrix.
(a) If the vector Bt1 is linearly independent of (i.e. not on the “plane” spanned by) the vectors of Bt2, then choosing where
Figure imgf000019_0014
Figure imgf000019_0012
1, Dt2 = I2, provide
Figure imgf000019_0011
(b) If the vector Bt1 is on the plane spanned by the vectors of Bt2, a slightly different approach is used: essentially, decoding matrix Dt2 is required to manipulate the columns of Bt2 so that one of them becomes
Figure imgf000019_0001
but the span of the obtained matrix does not change. Stated mathematically, span{Bt2Dt2] = span{Bt2}, while Bt1 is one of the columns of Bt2Dt2. Such Dt2 necessarily exists since Bt1 is in span{Bt2}. Then, the choice of B = (Bt2Dt2 \complimentary linearly independent vector) where provides
Figure imgf000019_0015
Notably,
Figure imgf000019_0017
Figure imgf000019_0016
3) ht1 = ht2 = 2. In this case both Bt1 and Bt2 are matrices.
(a) In case the vectors in Bt1 and Bt2 span the same subspace, one can pick any two linearly independent vectors vr and v2 in that subspace, then choose B =
Figure imgf000019_0013
Matrices Dt1 and Dt2 exist such that for i = 1,2, the columns of will be As in the previous case,
Figure imgf000019_0024
Figure imgf000019_0019
Figure imgf000019_0020
Therefore alongside the corresponding Dt1 provide
Figure imgf000019_0018
Figure imgf000019_0021
(b) In case the vectors in Bt1 and Bt2 span different subspaces, these subspaces define two different planes. Therefore, their intersection forms a line. Let v be a vector on that line. Let v1 and v2 be two vectors
Figure imgf000019_0002
and Bt2 respectively, such that for i = 1,2, and
Figure imgf000019_0023
{v, vlt v2} is a linearly independent set. Choosing
Figure imgf000019_0022
decoding matrices Dt1 and Dt2 exist, such that for i = 1,2, the columns of Bt.Dti will b Therefore P = B-1 alongside
Figure imgf000020_0001
these Dti provide PBt.Dti = Rt..
Based on the understanding of the methodology gained in the aforementioned scenarios, the following lemma is introduced.
Lemma 7. Let B E M(F)rxm be a global encoding matrix for a linear multicast on the graph G = {V, E} with a source s E V and set of sinks
Figure imgf000020_0002
where m = | E | . For every sink t E T, denote by Bt the GEM of t, by ht its max-flow from the source s, and by Dt its decoding matrix. Let T T be a set of sub-rate sinks, If there exists a matrix B, and matrices
Figure imgf000020_0003
Dt and Rt for each sub-rate sink t, such that BRt is a BR factorization of BtDt, then each sub-rate sink t E T' can work at a decoding rate ht1
Proof. The matrix B is invertible by the definition of the BR-factorization. Hence, the precoding matrix P can be defined as P = B-1. The input to a sink t will then be PBt, multiplying this by the decoding matrix of t, Dt, the output of t is: Since
Figure imgf000020_0018
the columns of Rt are, by the definition of the BR-factorization, different columns of Ir, then given a transmitted data vector v and t is capable of working at a
Figure imgf000020_0017
decoding rate ht1
Definition 8. A set of vector
Figure imgf000020_0016
{ } is referred to as an exact spanner with respect to the set of matrices if for each and every r X ht matrix Bt E B, there
Figure imgf000020_0015
exists a subset of V with exactly vectors { with sp
Figure imgf000020_0013
Figure imgf000020_0014
def span^Bt} = Bi'.
Note that an exact spanner V may contain linearly dependent vectors.
Corollary 9. Let B ∈ M(F)rxm be a global encoding matrix in a linear multicast on the graph G = {V, E] with a source
Figure imgf000020_0011
and set of sinks
Figure imgf000020_0012
For every sink t E T, denote by Bt the GEM of t, by ht its max-flow from the source s, and by Dt its decoding matrix. Let T' c T be a set of sub-rate sinks, with If there exists a set of r vectors U =
Figure imgf000020_0008
Figure imgf000020_0009
such that (i) { are linearly independent, and U is an exact spanner with
Figure imgf000020_0007
Figure imgf000020_0010
respect to B, then each t, ∈ T' can work at a decoding rate hti .
Proof, let t ∈ T' be a sub-rate sink. The GEM Bt is a full-rank r X ht matrix, r > ht1 Therefore, for any set of ht length-r vectors spanning the same subspace as do the columns of Bt, there exists a ht x ht matrix D such that the columns of BtD are these vectors. Formally, if
Figure imgf000020_0005
then an ht x ht matrix D necessarily exists such that BtD = Since U is an exact spanner with respect to there exists a subset of
Figure imgf000020_0006
Figure imgf000020_0004
size ht spanning the same subspace as the columns of Bt. The choice Dt = D, and the matrix created by concatenating the columns of U as B, one gets that for every t ∈ T', all the columns of BtDt are also columns in B. The choice of Rt as the columns from Im pointing at the locations of the columns of BtDt in B, one gets that BtDt = BRt, namely - BRt is a BR-factorization of BtDt for every t ∈ T' . Thus, according to Lemma 7 any sub-rate sink t E T' can work at a decoding rate ht1
Corollary 9 implies that when given a set of sub-rate sinks, in order to enable all of them to work in their maximum possible decoding rates (while not interfering with the full-rate sinks to operate at rate r), it suffices to find a set U of r vectors that: (a) are linearly independent; and (b) U is an exact spanner with respect to the GEMs of all the sub-rate sinks. Note that these conditions do not imply that the cardinality of U has to be r. If indeed |U| < r, then r — |U| linearly independent vectors may be added to U in order to create a linearly independent exact spanner with cardinality r, as required for the precoding scheme described in Corollary 9.
Three sub-rate sinks
Lemma 10. Given three sub-rate sinks with hti = 2 for 1 ≤ i ≤ 3, in a linear
Figure imgf000021_0008
multicast with rate
Figure imgf000021_0002
l 2 = 0, then there exists a linear multicast with rate r = 3 allowing all three sub-rate sinks to work at decoding rate 2.
This lemma is best understood by geometrically. Based on Corollary 9, it suffices to find a set U, of 3 linearly independent vectors, such that every plane defined by Bt. is spanned by a combination of 2 of the vectors of U. Recalling that every two planes intersect in a line, and given that all three of planes intersect in a point one gets that there are 3 different lines of intersection, so that choosing U to be these 3 lines satisfies the condition of Corollary 9.
Proof of Lemma 10. First, note that Bti', 1 ≤ i ≤ 3, represent 3 different subspaces (otherwise,
Figure imgf000021_0001
1, since it is an intersection of only two planes). This implies that for every 1
Figure imgf000021_0007
one has
Figure imgf000021_0004
= 1. Denote by a
Figure imgf000021_0006
vector in Bti' ∩ Bt j'. Since the set U is a set of
Figure imgf000021_0003
Figure imgf000021_0005
linearly independent vectors, and since every vector is in the intersection of two subspaces, U is an exact spanner with respect to Bti, 1 ≤ i ≤ 3. Therefore, according to Corollary 9, all 3 sub-rate sinks can work at a decoding rate of their max-flow - 2.
For other cases pertaining to three sub-rate sinks a set U with the required characteristics does not necessarily exist, as shown in the following demonstration. Demonstration 11. Let B denote a linear multicast of rate r = 3, and let T' = {t1, t2, t3} be a set of sub-rate sinks with ht = 2 for any t G T' , with B
Figure imgf000022_0004
In this case, namely
Figure imgf000022_0002
Figure imgf000022_0005
Figure imgf000022_0001
1. However, there is no possible choice of 3 vectors satisfying the conditions for U in Corollary
9.
FIGs. 3A and 3B are schematic illustrations of two cases of three-plane configurations that explain the difference between the cases in Lemma 10 and Demonstration 11. A case similar to the one of Demonstration 11 is presented in FIG. 3 A. In this case, the 3 planes intersect on a line and so there is no possible choice of 3 vectors which form an exact spanner. An exact spanner for this example can be, for example, the set of vectors {v,u1,u2,u3} marked on FIG. 3 A. The case shown in FIG. 3B shows three planes that intersect at a point so that Bti' ∩ Bt2' ∩ Bt3'. In this case a set of 3 linearly independent vectors which is an exact spanner does exist, and it is the set of three vectors that are the intersection of each 2 planes. An exemplified set of vectors {u1,u2,u3} is shown in FIG. 3B.
Full Sub-Rate Coding
This section describes a linear multicast operation at some arbitrary rate r = n. in accordance with embodiments of the present invention, each of the sinks in a subset T' c T of sinks, t ∈ T', with ht < r, decodes at a rate as close as possible to its max-flow, while any eligible sink t in T \ T' can still decode the incoming information at rate ht = r.
A sub-rate sink t is declared as fully sub-rate decodable under linear multicast PBt, if it can decode incoming information at rate ht1 The matrices Dt G
Figure imgf000022_0003
and Rt G Mnxht(F) include ht distinct columns taken from ln, such that PBtDt = Rt.
Exemplified procedure for realizing full sub-rate coding
In the following procedure, all vectors are of length r over the field F, and all matrices are full (column) rank matrices with r rows and r or less columns, over the field F. Note that when referring to a set of matrices in case two matrices span the same
Figure imgf000022_0006
Figure imgf000022_0008
vector space, one matrix, say Bb can be omitted from B. The corresponding sink i may still be fully sub-rate decodable, if so is the case with sink j whose matrix is Bj. Thus, without lose of generality, assume that the matrices in the set do span k different subspaces.
Figure imgf000022_0007
Definition 12. The commonality degree of a vector v (a line is referred to herein as a vector lying on that line) with respect to the set of matrices
Figure imgf000023_0015
denoted by , is the number of matrices Bi in with
Figure imgf000023_0016
, the subspace spanned by Bi
Figure imgf000023_0003
Definition 13. The commonality degree of an arbitrary set of vectors
Figure imgf000023_0022
with respect to the set of matrices denoted by is the sum of the
Figure imgf000023_0004
Figure imgf000023_0005
commonality degrees of all the vectors in V with respect to B, namely
Figure imgf000023_0006
Figure imgf000023_0002
Definition 14. The commonality set size of a set of matrices denoted
Figure imgf000023_0017
by is the minimum cardinality of a set of vectors V, where V is an exact spanner of
Figure imgf000023_0023
Figure imgf000023_0018
Lemma 15. Given a set of k sub-rate sinks
Figure imgf000023_0019
T' in a linear multicast B, consisting of a set of global encoding matrices then all the sub-
Figure imgf000023_0007
rate sinks in T' are fully sub-rate decodable.
Proof. By the definition of the commonality set size of
Figure imgf000023_0021
, there exists an exact spanner V with cardinality
Figure imgf000023_0008
Showing that the vectors of V are linearly independent will have V fulfills both conditions of Corollary 9, and hence concludes the proof. Since V is an exact spanner of B, it is also a spanner of meaning that
Figure imgf000023_0024
Figure imgf000023_0009
|V|, where the equality follows from the condition of the lemma. Yet taking into account that any set of vectors satisfies necessarily results with
Figure imgf000023_0014
Figure imgf000023_0025
meaning that all the vectors of V are linearly independent, and by Corollary 9, all the sub-rate sinks in T' are fully sub-rate decodable.
The Inventors devised a procedure for finding the value
Figure imgf000023_0001
when given an arbitrary set of sub-rate sinks T' in order to determine whether exist such that all the
Figure imgf000023_0026
sinks in T' are fully sub-rate decodable.
Referring to Lemma 15, and taking in account that see,
Figure imgf000023_0010
e.g., Demonstration 11, the Inventors provided sufficient conditions under which a set of matrices satisfies Thus, in the following, a (constructive) method for
Figure imgf000023_0013
upper bounding
Figure imgf000023_0020
is described.
Definition 16. The c-commonality set size of a set of matrices denoted
Figure imgf000023_0011
by ) is defined as follows:
Figure imgf000023_0012
Figure imgf000024_0001
Note that the dimensions counted by are not re-counted in
Figure imgf000024_0010
Figure imgf000024_0011
Note that for any
Figure imgf000024_0012
s well defined and is only based on the intersections of relevant vector spaces resulting from B.
Proposition 17. Every element of the (external) sum in c (of either Definition
Figure imgf000024_0009
16(2) or 16(3)) is of the dimension of a c-set intersection perpendicular to any (c + 1)-set intersection that is a sub-vector space. Therefore, given a set of vectors V that span all the (c + 1)-set intersections, c an upper bound on the minimum number of vectors one has to
Figure imgf000024_0008
add to V so as to span also all the c-set intersections. Note that is not necessarily the
Figure imgf000024_0007
minimum possible number, since there is no requirement that all these additional vectors be linearly independent among themselves. This preposition follows from the previous definition.
Definition 18. The commonality polynomial of a set of matrices
Figure imgf000024_0006
denoted
Figure imgf000024_0003
is defined as
Figure imgf000024_0002
ic = and V is an arbitrary set of vectors, can be thought of as
Figure imgf000024_0004
Figure imgf000024_0005
receiving an arbitrary set of vectors V, and for every 1 ≤ c ≤ k, calculating the number of vectors of commonality degree c in the set, substituting the result as ic. The outcome of is the commonality degree of V with respect to
Figure imgf000025_0001
Figure imgf000025_0032
Figure imgf000025_0002
In order for a set of vectors to be an exact spanner, all entries of
Figure imgf000025_0003
are optionally and preferably no greater than the c-commonality set size of
Figure imgf000025_0005
hence, when given a set of vectors as long as V is
Figure imgf000025_0004
an exact spanner, as shown in the following lemma.
Lemma 19. Given a set of matrices any vector )
Figure imgf000025_0030
Figure imgf000025_0029
that satisfies
Figure imgf000025_0031
Figure imgf000025_0028
means that there exists a set of vectors V that constitute an exact spanner of B, with \{v E This means that
Figure imgf000025_0026
Figure imgf000025_0025
Proof. For simplicity, a specific special case in which i
Figure imgf000025_0027
is proven. Firstly, note that any subspace Bt' can be presented as a sum of subspaces, each created by the sum of intersections of Bt' with a different number of other subspaces from
Figure imgf000025_0033
Let
Figure imgf000025_0035
be the subspace that is a sum of all possible c-set intersections that include Bt'. B
Figure imgf000025_0034
Figure imgf000025_0024
Denote by the c-commonality dimension of Bt' with respect to
Figure imgf000025_0022
defined as
Figure imgf000025_0023
; and co
Figure imgf000025_0021
For each 1 < c < k, represents the contribution of the c-set intersections (that
Figure imgf000025_0020
include Bt') to the dimension of Bt' that had not been added with (c + 1)-set intersections. By definition
Figure imgf000025_0019
Note that every c-set intersection (with B
Figure imgf000025_0018
included) is contributing its “unique” dimension to both and
Figure imgf000025_0016
with possibly consisting
Figure imgf000025_0017
Figure imgf000025_0015
additional c-set intersections (those that do not include B leading to the fact that
Figure imgf000025_0014
Figure imgf000025_0013
Figure imgf000025_0012
Since any c-set intersection repeats in c sets, one gets the relation c -
Figure imgf000025_0011
which in turn results in:
Figure imgf000025_0006
This means that is indeed an adequate choice for lemma 19.
Figure imgf000025_0007
Consequently, the construction of V can optionally and preferably be carried out according to the guidelines below.
Begin with
Figure imgf000025_0010
The construction is realized by running through the commonality degrees c, beginning with c = k. For c = k, choose linearly
Figure imgf000025_0008
independent vectors from and add them to V.
Figure imgf000025_0009
For each k — 1 ≥ c ≥ 1, choose vectors by creating c-set intersections and
Figure imgf000026_0004
choosing the number of vectors required for spanning them according to the corresponding element of the sum
Figure imgf000026_0005
(in Definition 16); this process guarantees that vectors with higher commonality degree required for spanning the intersection are already contained in V. Note that by construction, there is a set of
Figure imgf000026_0006
vectors spanning for every c
Figure imgf000026_0008
(practically, any spanning subset o vectors from those chosen by at least c-
Figure imgf000026_0007
intersections including Bt' is be adequate). Overall, a total of vectors of
Figure imgf000026_0009
commonality degree of c are systematically chosen in this step for each value of c. Add them to V.
The process described above ensures that
Figure imgf000026_0013
for every 1 ≤ c ≤ k. Since for every c, one obtains a subset of
Figure imgf000026_0010
vectors spanning one obtains a set of size spanning Bt', so that V is an exact
Figure imgf000026_0012
Figure imgf000026_0011
spanner.
Theorem 20. This theorem is referred to as the Full Sub-Rate Decodability (FSRD) Theorem. Given a set of sub-rate sinks T' in a linear multicast B, consisting of a set of global encoding matrices (every pair of matrices spanning two different subspaces),
Figure imgf000026_0022
if there exists a vector
Figure imgf000026_0001
that then all the sub-rate sinks in
Figure imgf000026_0023
T' are fully sub-rate decodable.
Proof. According to Lemma 19, since
Figure imgf000026_0016
there exists a set of vectors V that is an exact spanner o
Figure imgf000026_0015
. Since V is an exact spanner of B, and hence
Figure imgf000026_0014
Figure imgf000026_0002
which according to Lemma 15, means that all the sub-rate sinks in T' are fully sub-rate decodable.
In a linear multicast network with rate r, in order to determine whether all the sub-rate sinks in a set T' with B are fully sub-rate decodable, and find the proper linear
Figure imgf000026_0017
multicast configuration fulfilling it, the following procedure can be used:
1) Find the proper domain for the polynomial
Figure imgf000026_0019
For every 1 ≤ c ≤ k, compute according to the definition. It is a closed form derived by all the possible
Figure imgf000026_0021
intersections of the subspaces
Figure imgf000026_0020
2) Find a vector satisfying both
Figure imgf000026_0018
conditions:
Figure imgf000026_0003
3) Define an empty set V = {}.
4) For c = k: —1: 1, proceed as follows:
(a) Find ic linearly independent vectors with commonality degree of
Figure imgf000027_0011
denoted by Vc, such that Vc U V is a linearly independent set.
(b) Substitute
Figure imgf000027_0009
5) Since |F| =
Figure imgf000027_0001
all the vectors in V are linearly independent. If the number of vectors in V is smaller than r, find a set of
Figure imgf000027_0010
vectors, denoted U, such that U + V span the r-dimensional vector space. Accordingly, substitute V ← U + V.
6) Define B = mat(V), a matrix whose columns are the vectors of V. V is an exact spanner of B, allowing to find for each t E Tr an invertible ht X ht matrix Dt satisfying BtDt = BRt, with Rt being the columns from Ir pointing at the locations of the columns of BtDt in B (see Definition 9). Since B is invertible, it is possible to define the precoding matrix
Figure imgf000027_0008
7) The result, a linear multicast PB, allows any of the sub-rate sinks t ∈ T' to work at a decoding rate of its max-flow ht using the corresponding decoding matrix Dt.
Demonstrations and Corollaries
Following is a demonstration for the usage of the procedure, as well as two more general cases that are immediate corollaries from the theorem. The Annex below provides examples for more cases in which the FSRD theorem can be applied in order to determine whether a set of sinks are fully sub-rate decodable.
Demonstration 21. Let T' = {t1, t2, t3} be three sub-rate sinks with
Figure imgf000027_0006
3 in a linear multicast B with rate r = 3 over GF (3).
Let
Figure imgf000027_0002
be the corresponding GEMs of these sub-rate sinks, then all the sub-rate sinks in T' are fully sub- rate decodable .
Proof. Since the demonstration can be proven using
Figure imgf000027_0004
Lemma 10. The procedure described at the end of the previous section is used for finding the modifications required in order to find the proper linear multicast enabling full sub-rate decodability.
1) The domain for
Figure imgf000027_0007
is computed to be
Figure imgf000027_0005
as follows:
(a)
Figure imgf000027_0003
can be shown that
Figure imgf000027_0014
0, and so c This means that the third entry of
Figure imgf000027_0012
Figure imgf000027_0013
(b) For c = 2
Figure imgf000028_0016
Since so, the
Figure imgf000028_0001
second entry of has to satisfy
Figure imgf000028_0015
Figure imgf000028_0014
(c) for c = 1,
Figure imgf000028_0002
For each pair of indexes denote the third index by i3, then:
Figure imgf000028_0013
Figure imgf000028_0003
Since for every
Figure imgf000028_0005
every
Figure imgf000028_0004
1, one gets that This means the the first entry of T is also 0.
Figure imgf000028_0010
2) The vector
Figure imgf000028_0011
is the only vector in the domain that satisfies both conditions of the FSRD theorem:
(a) is the 3-dimentional vector space, hence
Figure imgf000028_0009
Figure imgf000028_0006
Figure imgf000028_0007
3) Define V = {}.
4) Since i3, i1 = 0, this stage only requires finding 3 linearly independent vectors with . Such vectors can be found as the intersection vectors of each pair of sub-
Figure imgf000028_0012
spaces. This gives V2 and hence the output from this stage is V=V2.
Figure imgf000028_0008
5) Since | V| = 3 = r, no vectors need to be added to V in this stage. 6) Define .
Figure imgf000029_0001
(a) For each 1 ≤ i ≤ 3, one finds matrices R , so that
Figure imgf000029_0005
Figure imgf000029_0006
Figure imgf000029_0003
Figure imgf000029_0004
(b) The precoding matrix i
Figure imgf000029_0002
7) The result, PB, is the desired linear multicast.
Corollary 22. Let B denote a linear multicast of rate r. A single sub-rate sink T' = {t}, with ht < r and B = {Bt}, is always fully sub-rate decodable.
Proof. The proof employs the FSRD theorem. Since there is only one sub-rate sink t, one has comss§(l) = ht1 The choice of I is i = (ht). Then
Figure imgf000029_0007
Therefore - according to the FSRD theorem- T' is
Figure imgf000029_0008
fully sub-rate decodable.
Corollary 23. Let B denote a linear multicast of rate r, and let T' be a set of
Figure imgf000029_0013
sub-rate sinks with max-flow ht = r — 1, consisting of a set of global encoding matrices
Figure imgf000029_0012
that span I different subspaces. If d , then T' is fully sub-rate
Figure imgf000029_0011
Figure imgf000029_0009
decodable.
The proof employs the FSRD theorem. Note that in this case
Figure imgf000029_0010
Since every matrix in B generates a unique (r — 1 dimensional) subspace, as ht = r — 1 , the fact that the intersection of all the subspaces is of the smallest possible dimension implies that for every Therefore, according to the FSRD theorem, T'
Figure imgf000030_0015
is fully sub-rate decodable.
Partial Sub Rate Decoding Methodology
1) Partial sub-rate decoding in r = 3 for 3 sub-rate sinks.
Referring again to Demonstration 11, let B denote a linear multicast of rate r = 3, and let T' = {t1, t2, t3} be a set of sub-rate sinks with ht = 2 for every ti ∈ T' . Denote the corresponding matrices by I was shown that when there is no
Figure imgf000030_0014
Figure imgf000030_0016
possible choice of 3 vectors that constitute an exact spanner (Corollary 9). Indeed, in this case the conditions for the full sub-rate decodability theorem are not satisfied, since
Figure imgf000030_0013
and
Figure imgf000030_0012
(so an exact spanner requires 4 vectors, out of which 3 vectors vt with
Figure imgf000030_0011
Notwithstanding the foregoing, this Example presents an approach through which it is possible to sub-rate decode all ti ∈ T', by compromising on the decoding rate. The following definition precedes the main lemma of this subsection.
Definition 24. Define a k-degree BR-factorization of a m X n matrix A (m ≥ n ≥ k) as a multiplication of two matrices, A = BR, such that B is a m X m full rank matrix and R is an m X n matrix with k (out of n) columns taken from Im.
Lemma 25. Let B denote a linear multicast of rate r = 3, and let T' = {t1, t2, t3} be a set of sub-rate sinks with ht = 2 for every ti ∈ T' . Denote the corresponding GEM matrices by B = there exists a linear multicast of rate r = 3 allowing
Figure imgf000030_0010
every ti ∈ T' to work at a decoding rate of hence ti ∈ T' are partially sub-rate decodable.
Proof. A block of 3 network uses (instead of a single use), allows finding 5-degree BR factorizations with a single full rank matrix for all 3 of the GEM matrices of the sinks in T'. With this factorization, Lemma 7 is used in order to partially-decode 5 out of the 6 symbols each sink receives during the 3 network uses, thus allowing them to work at decoding rate of 5/3. This will now be shown mathematically.
Let and for every is a vector so that
Figure imgf000030_0007
Figure imgf000030_0006
Figure imgf000030_0005
Note that is an exact spanner of B. Let B denote the 3-block linear
Figure imgf000030_0009
Figure imgf000030_0008
multicast of B. Denote by v/ the vector obtained by substituting as the j-th block, with all the other entries being 0. For example, for
Figure imgf000030_0004
( )T one has
Figure imgf000030_0002
Note that the se
Figure imgf000030_0001
Figure imgf000030_0003
is a linearly independent set of vectors, each of length l • r = 3 • 3 = 9. Defining as the matrix whose columns are the 9 vectors from so that is invertible. Employing
Figure imgf000031_0016
precoding matrix has each sub-rate sink receiving at its input where v denotes an input
Figure imgf000031_0015
data vector v E Fl r. Showing that B
Figure imgf000031_0014
for some matrices
Figure imgf000031_0017
matrix with 5 columns taken from I9), and D provides the
Figure imgf000031_0018
appropriate 5-degree BR factorizations.
Since for every the block form of ' satisfies
Figure imgf000031_0020
Figure imgf000031_0019
For every i, let D/. be a basis transformation matrix such that
Figure imgf000031_0013
hence, there are exactly 5 columns of
Figure imgf000031_0021
t /
Figure imgf000031_0012
For every i, let Dti be a matrix such that Bt.Dti has these 5 columns from
Figure imgf000031_0022
with the sixth column being the zero vector. Then constructing Rt. so that it chooses these 5 columns from B and leaving the sixth column as zero, provides the desired factorizaton
Figure imgf000031_0024
By employing Dti as the decoding matrix for for every
Figure imgf000031_0023
Therefore each sub-rate sink
Figure imgf000031_0025
can decode 5 symbols every 3 network uses, meaning that it is sub-rate decodable with rti = 5/l = 5/3.
Corollary 26. In a linear multicast of rate r = 3, any set of up to 3 sub-rate sinks with max-flow of ht = 2 can work at decoding rates of at least 5/3.
2) Partial sub-rate decoding in r = 3 for 4 sub-rate sinks.
The Inventors found that it is also possible to use a similar approach for a larger set T' of sub-rate sinks. Following is an example of achieving partial sub-rate decoding in block linear multicasting for 4 sub-rate sinks.
Lemma 27. let B denote a linear multicast of rate r=3, and let be a set
Figure imgf000031_0007
of sub-rate sinks with ht1 = 2 for any
Figure imgf000031_0011
T . Denote the corresponding GEM matrices by B = {B Assuming that for every there exists a linear
Figure imgf000031_0006
Figure imgf000031_0010
Figure imgf000031_0008
multicast of rate r=3 allowing every o work at a decoding rate o
Figure imgf000031_0009
Figure imgf000031_0005
The proof is similar to that of Lemma 25. Since the intersection of any set of 3 subspaces is of dimension 0, an exact spanning set is of minimum size 4. Denote such spanning set by V =
Figure imgf000031_0026
where is a vector on the intersection line of the spaces
Figure imgf000031_0004
Choosing a 4-block linear multicast
Figure imgf000031_0002
with
Figure imgf000031_0003
would allow every sink to
Figure imgf000031_0001
decode 6 symbols. The rest of this proof follows the same line of arguments of Lemma 25. With 6 symbols decoded in 4 network uses, each sub-rate sink decoding rate is hence rti =
Figure imgf000032_0001
6/4 = 1.5.
Existence of partial sub-rate decoding in the general case
The previous lemmas show that for any set of sub-rate sinks T', there is a linear multicast allowing them to work at some decoding rate ht' < ht . In the following, this notion is formally substantiated.
Definition 28. Let denote a set of r-row matrices , each Bt comprises of
Figure imgf000032_0002
ht linearly independent columns. A set of vectors is referred to as a partial exact
Figure imgf000032_0003
spanner with respect to
Figure imgf000032_0004
if for every 1 < t < k, there is a subset of V with ht' linearly independent vectors, for some 1 denoted by
Figure imgf000032_0005
Figure imgf000032_0006
Lemma 29. Let denote a GEK for a linear multicast of rate r on the graph
Figure imgf000032_0008
with a source s G V and set of sinks For every sink t E T, denote by B
Figure imgf000032_0007
t the
Figure imgf000032_0009
GEM of t, B , by ht its max-flow from the source s, and by Dt its decoding matrix.
Figure imgf000032_0010
Let T' ⊂ T be a set of sub-rate sink If there exists a set of r linearly independent
Figure imgf000032_0011
vectors
Figure imgf000032_0012
that constitutes a partial exact spanner with respect to B with } spanning vectors (for each of the d sinks), when for each - then
Figure imgf000032_0014
Figure imgf000032_0013
each sink
Figure imgf000032_0015
an work at decoding rate of
Figure imgf000032_0016
Proof. Le
Figure imgf000032_0017
be a sub-rate sink. Its GEM Bt is a full-rank r X ht matrix, r
Figure imgf000032_0018
Therefore, for a set Ut of ht' vectors that span a subspace of
Figure imgf000032_0019
there exist a ht X ht' selection matrix Ct (that selects the ht' out of ht decodable input coordinates) and ht' X ht' decoding matrix Dt, so that the columns of BtCtDt are the vectors of Ut. Since for every t, there is such a set Ut ⊂ U of ht vectors, there also exist such matrices Dt and Ct. By the choice of Dtc = CtDt, and the matrix created by concatenating the columns of U asB, one ensures for every t E T', all the columns of BtDt are columns of B. The choice of Rt as the columns from Ir pointing at the locations of the columns of BtDt in B, yields BtDt = BRt, namely - BRt is a ht- degree BR-factorization of BtDtc for every t E T' . Therefore, each sub-rate sink t G T’ can work at decoding rate of ht'.
Theorem 30. Let B G M(F)rxm be a GEK for a linear multicast on the graph G = {V, E} with the source s E V and set of sinks For every sink denote by Bt the GEM of t,
Figure imgf000032_0020
Figure imgf000032_0021
by ht its max-flow from the source s, and by Dt its decoding matrix. Let T' c T be a set of sub- rate sinks, Each sub-rate sink can work at some positive decoding rate.
Figure imgf000032_0022
Proof. Denote by
Figure imgf000033_0002
a set of matrices derived from the GEM of a corresponding set of sub-rate sinks; these matrices span different subspaces. Let V be an exact spanner of (choosing the exact spanner with minimal cardinality provides better results, in the sense of a smaller I, but it is not mandatory). Let and I (the block size) be the number of distinct subsets of V that cons
Figure imgf000033_0011
ist linearly independent vectors. Denote these subsets by
Figure imgf000033_0003
For each
Figure imgf000033_0010
be a set of r linearly independent vectors (spanning the r-dimensional vector space), with
Figure imgf000033_0004
denote the Z -block linear multicast associated with B, and let
Figure imgf000033_0007
be the set of block matrices induced by B. Denote by
Figure imgf000033_0005
the set of r ■ I column vectors created by substituting every as the i-th block with all the
Figure imgf000033_0008
Figure imgf000033_0006
other entries being 0. Note that all the vectors in are linearly independent. Denote
Figure imgf000033_0009
For every t ∈ T', denote by ht' the number of columns in V that are in the
Figure imgf000033_0012
subspace spanned by Bt . Note that ht > ht' ≥ 1, since there have been least ht vectors spanning Bt in V, and the choice of all the distinct subsets of V that are linearly independent assures that they are included at least once. Therefore, V is a partial exact spanner with respect to B, with
Figure imgf000033_0001
Employing Lemma 29 concludes the proof.
The inventors found that it is possible to express the minimum block length as a function of the intersections between the sets in B. This is advantageous since it shortens the decoding delay, requires smaller amount of memory at the end units and enables all operations to be executed with smaller-size matrices. Note that one may derive the minimum size of a “valid” exact spanner as the minimum value of the sum
Figure imgf000033_0016
when
Figure imgf000033_0015
that is satisfying
Figure imgf000033_0013
Figure imgf000033_0014
(see Lemma 19). In some embodiments, the block length is a function of the values of the c- commonality set sizes of B for all
Figure imgf000033_0017
In some embodiments of the present invention the effective decoding rates are selected to be the maximal effective rates at which all the sub-rate sinks can operate simultaneously. It is noted that the effective rate can also depend on the values of the c-commonality set sizes of B for
Figure imgf000033_0018
All the results in this Example can be applied to vector network coding, which means operation with blocks of size m over a binary field instead of the field of size 2m, referred to as scalar network coding. Sub-Rate Coding for Static Linear Network Codes
Often, network configuration may change due to various reasons such as node failures and communication-channel variations to name but a few. A method in network coding relates to static linear multicast, aimed at facilitating the communication with all the designated sinks under a few, different, network configurations without having to change the network code when the network configuration changes. This capability comes at the cost of increasing the field size, hence reducing the communication rate, with the number of (predetermined) configurations as a factor of the former increase.
A method for constructing static linear multicast was presented in [Fong et al., 2006, IEEE Information Theory Workshop 409-412], For every sink t ∈ T of the network and every configuration, an virtual sink tε is created, with max-flowε(t) paths connecting it to the
Figure imgf000034_0007
original source, where max-flowe(t) denotes the max-flow from the source to the real sink t under the network configuration ε. The linear multicast is designed as further detailed hereinabove, with the set of virtual sinks acting as the designated set of sinks, while making sure that all the paths to each virtual sink tε only employ links that are present in network configuration £. This generate ε-GEM matrices, each representing the linear multicast under one of the
Figure imgf000034_0006
link-failure configurations.
Sub-rate coding can be combined with a static network code in more than one way.
When the different configurations are not a result of spontaneous link failures, but rather expected changes in the network’s topology, it is assumed that the network source can keep track of the instantaneous configuration in each network use. In this case, for each configuration £, a set of sub-rate sinks Tε', each set accompanied by a precoding matrix Pε, can be defined with respect to the £-GEM BE, as further detailed hereinabove.
When the current network configuration is not monitored by the source, the choice of the set of sub-rate sinks and precoding matrix cannot change per configuration. In this case, a set of designated sub-rate sinks T' is defined to be fixed. For each sub-rate sink t E T', a specific configuration £t E £ has to be chosen, and the sink’s ε-GEMs, B is the matrix considered for
Figure imgf000034_0005
the computations detailed above. In this case, the precoding matrix P is fixed, and is computed as an invertible matrix using the set of matrices In general, each designated sub-rate sink
Figure imgf000034_0004
t E T' applies the sub-rate decoding scheme in the configuration εt or in other configurations ε E with Note that - for every designated real sink t E T, for any
Figure imgf000034_0001
configuration £ where being the network’s operation rate, is an invertible
Figure imgf000034_0002
Figure imgf000034_0003
matrix, ensuring that the precoding does not interfere with its decoding ability. Sub-Rate Coding for Variable-Rate Linear Network Codes
The sub-rate coding of the present embodiments can also be combined with variable-rate network coding [Fong et al., supra}. This network coding method employs the same linear multicast under different rates of symbol-generation from the source, up to the number of outgoing links from the source. For example, if the source has 5 outgoing links, then linear multicast using variable-rate network coding allow it to operate at any rate r < 5, making the transmission decodable by all sinks whose max-flow is at least r. This method does not necessitate a larger field size, hence it entails no reduction in rate.
The construction method of variable rate linear multicast can be carried out similarly to way described above for the linear multicast, except for the input graph, leading to a change in both the path-finding stage and the value calculation stage of the linear multicast. This results with a LEK. Note that the GEM B can not be well defined, because the number of its rows equals the symbols generation rate r, which is not constant. Alternatively, for every network operation rate 1 ≤ q ≤ r, Bq, a q-GEM is defined, as a q X |E| matrix that represents the network code operation under the rate q. In order to combine sub-rate coding with variable-rate coding, each rate is treated separately. Typically, for every operation rate q a different set of sub- rate sinks is defined with respect to Bq, and a corresponding q X q precoding matrix Pq is derived. Since the network operation rate is determined by the network source, it can also adjust the precoding scheme accordingly.
Note that since the sub-rate coding scheme is adjusted for each rate, one may choose different sinks for each rate. This is advantageous because at each operation rate, different sinks have max-flow from the source that is smaller than the network operation rate. In other words, the set of potential sub-rate sinks changes with the network operation rate.
Sub-Rate Coding as Alternative to Sinks Addition
As more nodes in a network get designated as sinks, the size of the field over which calculations need to be performed increases.. In some cases, this can reduce the communication rate to all the sinks in the network. The present inventors found a solution to this problem, by defining the designated nodes as consequential sub-rate sinks, rather than as standard sinks. Thus, according to some embodiments of the present invention the linear multicast is constructed by defining some of the designated sinks as intermediate nodes. Using the effective rate allowed by the network code, each such intermediate node is approached as sub-rate sink and operate at its consequential max-flow, which is basically the number of linearly independent inputs to this node as entailed by the linear multicast. The inventors found that this approach improves the communication rate with the designated nodes compared to the rate achievable by regarding them as standard sinks, in particular when working with a small set of sinks.
The following proposition provide a sanity-check for identifying whether a single node is to be regarded, according to some embodiments of the present invention, as a standard sink, or as a consequential sub-rate sink. Just recall that, as explained above, this is not the only consideration in favor of employing the sub-rate coding methodology.
Proposition 31. Let B E M(F)rxm be a GEK for a linear multicast on the graph G = {V, E} with a source s E V and a set of sinks T c V. For every node t E V, denote by ht its max- flow from the source s, and by Bt the GEM of t, which is the matrix whose columns, taken from B, represent the links entering t, just as the GEM is defined for a “standard” sink. For a node t ∉ T let rt denote the consequential max-flow, namely the number of linearly independent columns in Bt (for standard sinks, rt = ht, but in general rt < ht). Denote by F' the field required for considering the set of sinks then considering t as a
Figure imgf000036_0002
sink would reduce its communication rate compared to considering it as a consequential sub-rate sink.
The proof considers two cases, as follows.
1) Referring to t as a consequential sub-rate sink allows it to decode rt symbols with each network use. Since the network messages under the network code represented by B are elements of the field F, each symbol is represented by
Figure imgf000036_0003
bits, meaning that the communication rate to t as a consequential sub-rate sink is bits per network use.
Figure imgf000036_0004
2) Considering t as a sink, a new linear multicast is calculated with T* sinks. In this linear multicast t decodes at most ht symbols per network use. In this case, the symbols are elements of the field F' (F' > F), hence the communication rate to t is at most bits per
Figure imgf000036_0005
network use. Notably, that the network’s max-flow in this case is between s and
Figure imgf000036_0007
and may be smaller than ht1 Thus, if then the number of decoded
Figure imgf000036_0006
bits per network use is higher when referring to t as a consequential sub-rate sink.
Note that, while using proposition 31 is straight-forward for a single consequential sub- rate sink, using it for more than one sink requires that the set of potential consequential sub-rate sinks satisfy the criterion that this set is fully sub-rate decodable.
FIG. 4 shows the function
Figure imgf000036_0001
known as the rate ratio bound, as a function of the number of sinks. As the requirement for the existence of a linear multicast is that for every T, the cardinality of the field to work with is the smallest prime number
Figure imgf000037_0001
greater than T. If the ratio is above the curve in FIG. 4, then considering t as a sink reduces
Figure imgf000037_0002
its communication rate as opposed to considering it as a sub-rate sink. As Shown in FIG. 4, some values of the rate ratio require
Figure imgf000037_0003
to be higher than others in order for sub-rate sink to be superior to standard sink designation.
Conclusions
This Example and the following Annex described and thoroughly studied Sub-rate coding. It amounts to network (pre)-coding at the source side and decoding of partial information by a set of sinks whose max-flow is smaller than the network operation rate. While this Example discussed a single-source, finite acyclic scalar network, the present embodiments also contemplate vector networks.
The sub-rate coding of the present embodiments methodology does not impact the transmission rate towards sinks whose max-flow permits full-rate decoding. This makes sub-rate coding a viable add-on to any network. Applications of sub-rate coding include any scenario that employs multicasting to communicate with different users experiencing different channel qualities, or otherwise when they require different volumes of the data. It is particularly useful when a small number of sinks have a wide dynamic range of max-flows.
This Example also described combinations of sub-rate coding with other LNCs, including combinations of sub-rate coding with static LNCs and with variable-rate LNCs. This Example further showed that sub-rate coding is advantageous when additional sinks are to be added to an existing network.
ANNEX
Following is a list of additional examples for possible types of GEMs (given a set of sinks). For each type of GEM set the values c
Figure imgf000037_0006
Figure imgf000037_0007
and are calculated, and then an exemplified vector i that satisfies
Figure imgf000037_0008
Figure imgf000037_0010
the FSRD theorem conditions (namely,
Figure imgf000037_0009
Figure imgf000037_0005
is provided, if exists.
Figure imgf000037_0004
Figure imgf000038_0001
Figure imgf000039_0001
Figure imgf000040_0001
Although the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims.
It is the intent of the applicant(s) that all publications, patents and patent applications referred to in this specification are to be incorporated in their entirety by reference into the specification, as if each individual publication, patent or patent application was specifically and individually noted when referenced that it is to be incorporated herein by reference. In addition, citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the present invention. To the extent that section headings are used, they should not be construed as necessarily limiting. In addition, any priority document(s) of this application is/are hereby incorporated herein by reference in its/their entirety.

Claims

WHAT IS CLAIMED IS:
1. A method of transmitting input information in a communication network from a computing source node characterized by a transmission rate to each of a plurality of computing sink nodes, the method comprising: precoding the input information at the source node; transmitting the precoded information over the network to provide each of the plurality of sink nodes with a respective a sink input; at a sink node having a maximal rate of at least the source's transmission rate, decoding a respective sink input to extract the input information; and at a sink node having a maximal rate less than the source's transmission rate, decoding a respective sink input to extract a portion of the input information.
2. The method according to claim 1, wherein the communication network employs a multicast network code.
3. The method according to any of claims 1 and 2, wherein the source's transmission rate is constant.
4. The method according to any of claims 1 and 2, wherein the source's transmission rate varies.
5. The method according to claim 1, wherein the input information is represented by a vector and wherein said precoding comprises multiplying said vector by an invertible matrix.
6. The method according to any of claims 2-4, wherein the input information is represented by a vector and wherein said precoding comprises multiplying said vector by an invertible matrix.
7. The method according to claim 5, wherein said invertible matrix is an inverse of a matrix factorized out of a global encoding matrix of the network.
8. The method according to claim 6, wherein said invertible matrix is an inverse of a matrix factorized out of a global encoding matrix of the network.
9. The method according to claim 1, being executed for scalar network coding.
10. The method according to any of claims 2-8, being executed for scalar network coding.
11. The method according to claim 1, being executed for vector network coding.
12. The method according to any of claims 2-8, being executed for vector network coding.
13. The method according to claim 1, wherein said decoding of said respective sink input to extract said portion of the input information, is at a decoding rate that equals said maximal rate of said sink node.
14. The method according to any of claims 2-12, wherein said decoding of said respective sink input to extract said portion of the input information, is at a decoding rate that equals said maximal rate of said sink node.
15. The method according to claim 1, wherein said decoding of said respective sink input to extract said portion of the input information, is at a decoding rate that is less than said maximal rate of said sink node.
16. The method according to any of claims 2-12, wherein said decoding of said respective sink input to extract said portion of the input information, is at a decoding rate that is less than said maximal rate of said sink node.
17. The method according to claim 1, comprising, at an additional sink node having a maximal rate of at least the source's transmission rate, decoding a respective sink input to extract a portion of the input information.
18. The method according to any of claims 2-16, comprising, at an additional sink node having a maximal rate of at least the source's transmission rate, decoding a respective sink input to extract a portion of the input information.
19. The method according to claim 1, comprising, at an additional node Nf having a maximal rate of at least the source's transmission rate, and which is other than a sink node and other than the source, decoding input received at said additional node Nf to extract the input information, thereby virtually attributing sink properties to said additional node Nf.
20. The method according to any of claims 2-18, comprising, at an additional node Nf having a maximal rate of at least the source's transmission rate, and which is other than a sink node and other than the source, decoding input received at said additional node Nf to extract the input information, thereby virtually attributing sink properties to said additional node Nf.
21. The method according to claim 1, comprising, at an additional node Ns having a maximal rate of less than the source's transmission rate, and which is other than a sink node and other than the source, decoding input received at said additional node Ns to extract a portion of the input information, thereby virtually attributing sink properties to said additional node Ns.
22. The method according to any of claims 2-20, comprising, at an additional node Ns having a maximal rate of less than the source's transmission rate, and which is other than a sink node and other than the source, decoding input received at said additional node Ns to extract a portion of the input information, thereby virtually attributing sink properties to said additional node Ns.
23. A communication system, comprising: a computing source node, and a plurality of computing sink nodes deployed over an area remote from said computing source node, each of said source node and said computing sink nodes comprises a circuit for encoding and decoding information; wherein a circuit of said computing source node is characterized by a transmission rate, and wherein said plurality of computing sink nodes comprises at least one sink node of a first type that has a circuit characterized a maximal rate of at least the source's transmission rate, and at least one sink node of a second type that has a circuit characterized a maximal rate of less than the source's transmission rate; and wherein said circuit of said computing source node is configured to precode the input information, to transmit the precoded information over the network to provide each of the plurality of sink nodes with a respective a sink input, to transmit to a sink node of said first type a control signal causing a respective circuit of said sink node to decode a respective sink input to extract the input information, and to transmit to a sink node of said second type a control signal causing a respective circuit of said sink node to decode a respective sink input to extract a portion of the input information.
24. The system according to claim 23, employing a multicast network code.
25. The system according to any of claims 23 and 24, wherein the source's transmission rate is constant.
26. The system according to any of claims 23 and 24, wherein the source's transmission rate varies.
27. The system according to any of claims 23-26, wherein the input information is represented by a vector and wherein said said circuit of said computing source node is configured to multiply said vector by an invertible matrix.
28. The system according to claim 27, wherein said invertible matrix is an inverse of a matrix factorized out of a global encoding matrix of the network.
29. The system according to any of claims 23-28, employing scalar network coding.
30. The system according to any of claims 23-28, employing vector network coding.
31. The system according to any of claims 23-30, wherein said circuit of said source node is configured to transmit to said sink node of said second type a control signal causing said respective circuit of said sink node to decode at a decoding rate that equals said maximal rate of said sink node.
32. The system according to any of claims 23-30, wherein said circuit of said source node is configured to transmit to said sink node of said second type a control signal causing said respective circuit of said sink node to decode at a decoding rate that is less than said maximal rate of said sink node.
33. The system according to any of claims 23-32, comprising, an additional sink node having a circuit characterized by a maximal rate of at least the source's transmission rate, wherein said circuit of said source node is configured to transmit to said additional sink node a control signal causing said circuit of said additional sink node to decode a respective sink input to extract a portion of the input information.
34. The system according to any of claims 23-33, comprising, an additional node Nf, other than a sink node and other than said source, said additional node Nf, having a circuit characterized by a maximal rate of at least the source's transmission rate, wherein said circuit of said source node is configured to transmit to said additional sink node Nf a control signal causing said circuit of said additional sink node Nf to decode input received at said additional node Nf to extract the input information, thereby virtually attributing sink properties to said additional node Nf.
35. The system according to any of claims 23-33, comprising, an additional node Ns, other than a sink node and other than said source, said additional node Ns, having a circuit characterized by a maximal rate of less than the source's transmission rate, wherein said circuit of said source node is configured to transmit to said additional sink node Ns a control signal causing said circuit of said additional sink node Ns to decode input received at said additional node Ns to extract a portion of the input information, thereby virtually attributing sink properties to said additional node Ns.
PCT/IL2021/051444 2020-12-04 2021-12-03 Method and system for network coding Ceased WO2022118324A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202063121276P 2020-12-04 2020-12-04
US63/121,276 2020-12-04

Publications (1)

Publication Number Publication Date
WO2022118324A1 true WO2022118324A1 (en) 2022-06-09

Family

ID=81852984

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2021/051444 Ceased WO2022118324A1 (en) 2020-12-04 2021-12-03 Method and system for network coding

Country Status (1)

Country Link
WO (1) WO2022118324A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050010675A1 (en) * 2003-06-23 2005-01-13 Microsoft Corporation System and method for computing low complexity algebraic network codes for a multicast network
US20070280233A1 (en) * 2006-06-01 2007-12-06 Lockheed Martin Corporation System and method for network coding and/or multicast
US20170093666A1 (en) * 2015-09-30 2017-03-30 The Chinese University Of Hong Kong Loss-resilient protocols for communication networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050010675A1 (en) * 2003-06-23 2005-01-13 Microsoft Corporation System and method for computing low complexity algebraic network codes for a multicast network
US20070280233A1 (en) * 2006-06-01 2007-12-06 Lockheed Martin Corporation System and method for network coding and/or multicast
US20170093666A1 (en) * 2015-09-30 2017-03-30 The Chinese University Of Hong Kong Loss-resilient protocols for communication networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RUDOLF AHLSWEDE, NING CAI, S.-Y. R.SHUO-YEN ROBERT LI, RAYMOND W. YEUNG: "Network Information Flow", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 46, no. 4, 1 July 2000 (2000-07-01), USA, pages 1204 - 1216, XP011027651, ISSN: 0018-9448 *

Similar Documents

Publication Publication Date Title
Fotakis et al. Selfish unsplittable flows
US9866349B2 (en) Network coding over GF(2)
Chen et al. Starters and related codes
Dau et al. Optimal index codes with near-extreme rates
US9787614B2 (en) Composite extension finite fields for low overhead network coding
US20170142238A1 (en) Coding in galois fields with reduced complexity
Bras-Amorós et al. New lower bounds on the generalized Hamming weights of AG codes
Owari et al. Single-shot secure quantum network coding on butterfly network with free public communication
Shum et al. Broadcasting with coded side information
Dikaliotis et al. On the delay advantage of coding in packet erasure networks
Dahl Notes on polyhedra associated with hop-constrained paths
Meng et al. On the feasibility of precoding-based network alignment for three unicast sessions
WO2022118324A1 (en) Method and system for network coding
Paterson et al. A simple combinatorial treatment of constructions and threshold gaps of ramp schemes
Kwan et al. Generation of innovative and sparse encoding vectors for broadcast systems with feedback
El Rouayheb et al. A new construction method for networks from matroids
Kralevska et al. Balanced XOR-ed coding
Zhang et al. A novel scheme for secure network coding using one-time pad
Prasad et al. Network-error correcting codes using small fields
Ebrahimi et al. Vector network coding algorithms
Wu et al. A practical network coding and routing scheme based on maximum flow combination
Papadopoulos et al. Broadcast erasure channel with feedback and message side information, and related index coding result
Xu et al. Network function computation with different secure conditions
Tang et al. Revisiting a secret sharing approach to network codes
Papadopoulos et al. Multiuser broadcast erasure channel with feedback and side information, and related index coding results

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21900225

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21900225

Country of ref document: EP

Kind code of ref document: A1