PACKET ENCODING AND ALLOCATION IN MULTI-LINK SYSTEMS

A system for wireless communication, the system may include a processor configured to generate encoded packets representative of input packets. The processor may also be configured to determine a probability of a transmission error for each link of a plurality of links. In addition, the processor may be configured to determine a probability of a link blockage error for each link of the plurality of links. Further, the processor may be configured to determine an allocation scheme for the encoded packets on the plurality of links based on the probability of the transmission error and the probability of the link blockage error for each link of the plurality of links. The processor may be configured to allocate the encoded packets on the plurality of links according to the allocation scheme. The processor may also be configured to instruct to wirelessly transmit the encoded packets on the plurality of links.

FIELD

The embodiments discussed in the present disclosure are related to packet encoding and allocation in multi-link systems.

BACKGROUND

Unless otherwise indicated in the present disclosure, the materials described in the present disclosure are not prior art to the claims in the present application and are not admitted to be prior art by inclusion in this section.

A wireless communication system may include a device that includes a transceiver that is configured to wirelessly transmit encoded packets using multiple links. For example, the transceiver may be configured to wirelessly transmit the encoded packets using multiple cells, multiple access points, multi-connectivity, multi-RAT, multiple carriers (e.g., carrier aggregation), or some combination thereof.

The subject matter claimed in the present disclosure is not limited to aspects that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one example technology area where some aspects described in the present disclosure may be practiced.

DETAILED DESCRIPTION

A wireless communication system may include a device (e.g., a source device) that includes a transceiver (e.g., a transceiver system) that is configured to wirelessly transmit encoded packets using multiple links. For example, the transceiver may be configured to wirelessly transmit the encoded packets using multiple cells, multiple access points, multi-connectivity, multi-RAT, multiple carriers (e.g., carrier aggregation), or some combination thereof. The transceiver may wirelessly transmit the encoded packets using the links to a destination transceiver (e.g., a destination transceiver system) of a destination device that is communicatively coupled to the transceiver.

The transceiver may obtain input packets that are representative of information to be wirelessly transmitted by the destination transceiver. Each of the input packets [P1, P2, ⋯, Pk] may be the same or similarly sized (e.g., may include the same or similar amount of information). For linear encoding, the input packets may be represented as column vectors over a Galois field.

The transceiver may encode the input packets to generate the encoded packets. The transceiver may encode the input packets using encoding vectors that include multiple coefficients. The encoded packets may be represented in accordance with Equation 1.

In Equation 1, i may represent a packet index, c may represent a current coefficient from a corresponding encoding vector, P may represent a current input packet, and k may represent a minimum size of a subset of the encoded packets for the destination transceiver to recover the input packets (referred to in the present disclosure as the “minimum subset size”). The transceiver may use a Reed-Solomon code, a maximum distance separable code, or some combination thereof to encode the input packets. The transceiver may generate the encoded packets based on a reliability setting, a resiliency setting, or some combination thereof associated with the input packets.

The transceiver may generate the number of encoded packets in accordance with Equation 2.

In Equation 2, i may represent a link index, x may represent a number of the encoded packets allocated on a current link, and m may represent a coefficient corresponding to the number of links.

The transceiver may wirelessly transmit the encoded packets to the destination transceiver using the links. For example, the transceiver may wirelessly transmit a first encoded packet on a first link and a second encoded packet on a second link.

The destination transceiver may decode the wirelessly transmitted encoded packets. The destination transceiver may recover the input packets, if the minimum subset is received (e.g., the k number of encoded packets) by the destination transceiver. The destination transceiver may recover the input packets using Equation 3.

In Equation 3, R may represent a current encoded packet and M may represent a table of coefficients of which an ithcolumn includes a corresponding encoding vector.

Transmission errors (e.g., sporadic errors), link blockage errors, or some combination thereof (generally referred to in the present disclosure as “errors”) may occur on one or more of the links during wireless transmission. The errors may cause packet loss, which may impact reliability and resiliency of the links. The transmission errors may be characterized as independent and identically distributed packet loss across the links and of different encoded packets. Encoding of the input packets may improve reliability, resiliency, or some combination of wireless transmission of the encoded packets to the errors.

The link blockage errors may be modeled as a Poisson arrival process. A probability of the link blockage errors may be determined according to Equation 4.

In Equation 4, i may represent a link index, e may represent a probability of transmission errors, λimay represent an arrival rate of a link blocker (e.g., an item that may cause a link blockage) on the current link, and Timay represent a transmission time of a corresponding encoded packet.

A probability of the destination transceiver failing to receive the minimum subset may be determined in accordance with Equation 5.

In Equation 5, x may represent the number of the encoded packets allocated on the current link, k may represent the minimum subset size; m may represent the number of links, Y may represent a number of encoded packets actually received by the destination transceiver on the current link.

The transceiver may perform packet encoding of the input packets to provide a low latency method that supplements physical layer coding. Linear packet encoding of the input packets may provide improved resiliency against the errors compared to non-linear packet encoding. In addition, the input packets may include information that is delay sensitive (e.g., information that includes a latency setting that is equal to or less than one hundred milliseconds). When a link blockage occurs (e.g., a link blockage error), subsequent packets transmitted on the corresponding link (e.g., encoded packets that are transmitted after the link blockage) may be dropped by the destination transceiver (e.g., may not be received or decoded by the destination transceiver). The destination transceiver may drop the subsequent packets because the latency of the subsequent packets exceeds the latency setting. Therefore, link blockage may cause the link blockage error to persist until an end of the transmission of the associated encoded packets on the corresponding link.

The transceiver may allocate the encoded packets to the links to reduce an impact of the link blockage error, the transmission error, or some combination thereof. The transceiver may allocate the encoded packets to improve data allocation. The transceiver may implement a first algorithm (e.g., a greedy algorithm), a second algorithm (e.g., a steepest descent algorithm), or some combination thereof. The transceiver may implement the first algorithm to allocate packets to a link that provides a greatest reliability, resiliency, or some combination thereof. The transceiver may implement the second algorithm to initially allocate the encoded packets on the links according to a pre-defined allocation scheme. In addition, the transceiver may iteratively shift allocation of an encoded packet from a current link to a different link to identify an allocation scheme that maximizes reliability, resiliency, or some combination thereof.

The transceiver may generate the encoded packets representative of the input packets. The transceiver may also be configured to determine the probability of the transmission error for each link. In addition, the transceiver may be configured to determine the probability of the link blockage error for each link. Further, the transceiver may be configured to determine an allocation scheme for the encoded packets on the links. The transceiver may determine the allocation scheme based on the probability of the transmission error and the probability of the link blockage error for each link. The transceiver may allocate the encoded packets on the links according to the allocation scheme. In addition, the transceiver may instruct to wirelessly transmit the encoded packets on the links.

The first algorithm may include linear complexity. The second algorithm may not include a linear complexity. The first algorithm and the second algorithm may reduce an impact of the errors, which may improve transmission of the encoded packets on the links. In addition, the first algorithm and the second algorithm may reduce a runtime to determine the allocation scheme compared to an exhaustive search that compares each allocation possibility.

These and other aspects of the present disclosure will be explained with reference to the accompanying figures. It is to be understood that the figures are diagrammatic and schematic representations of such example aspects, and are not limiting, nor are they necessarily drawn to scale. In the figures, features with like numbers indicate like structure and function unless described otherwise.

FIG.1illustrates a block diagram of an example operational environment100to wirelessly transmit encoded packets on multiple links128a-m(generally referred to in the present disclosure as “link128” or “links128”), in accordance with at least one aspect described in the present disclosure. The operational environment100may include a transceiver102(e.g., a transceiver system) and a destination transceiver103(e.g., a destination transceiver system). The transceiver102may form at least a part of a source device and the destination transceiver103may form at least a part of a destination device.

The transceiver102may include a signal processor104, a frontend110, a memory116, and transmit antennas118. The memory116may store data being processed by the signal processor104, the frontend110, or some combination thereof.

The signal processor104may include, or may be implemented, partially or entirely, by circuitry and/or logic. Additionally or alternatively, one or more functionalities of the signal processor104may be implemented by logic, which may be executed by a machine and/or one or more processors. The signal processor104may include at least one memory (not illustrated inFIG.1), which may be configured to store at least some of the information processed by the signal processor104.

The signal processor104may include an encoder106. The encoder106may receive input packets representative of information to be wirelessly transmitted to the destination transceiver103. The encoder106may generate encoded packets representative of the input packets. For example, the encoder106may encode the input packets using an encoding vector to generate the encoded packets.

The signal processor104may determine the probability of the transmission error for each of the links128. In addition, the signal processor104may determine the probability of the link blockage error for each of the links128. The signal processor104may determine the probability of the link blockage error for the links128according to Equation 4. The signal processor104may determine the allocation scheme for the encoded packets on the links128based on the probability of the transmission error and the probability of the link blockage error for each of the links128. Alternatively, the frontend110may determine the probability of the transmission error for each of the links128, the probability of the link blockage error for each of the links128, or some combination thereof. The encoder106may provide the encoded packets to a transmitter112of the frontend110.

The frontend110may include, or may be implemented, partially or entirely, by circuitry and/or logic. Additionally or alternatively, one or more functionalities of the frontend110may be implemented by logic.

The transmitter112may allocate and provide the encoded packets to the transmit antennas118based on the allocation scheme and the link128associated with a corresponding transmit antenna of the transmit antennas118. For example, a first transmit antenna of the transmit antennas118may be associated with a first link128aand the transmitter112may provide each encoded packet allocated to the first link to the first transmit antenna. In addition, the transmitter112may instruct the transmit antennas118to wirelessly transmit the encoded packets on the links128a-m.

The destination transceiver103may include a destination signal processor113, a destination frontend111, and a destination memory117. In addition, the destination transceiver103may include receive antennas120. The destination memory117may store data being processed by the destination signal processor113, the destination frontend111, or some combination thereof.

The receive antennas120may wirelessly receive the encoded packets. The receive antennas120may provide the encoded packets to a receiver108of the destination frontend111. The receiver108may convert the encoded packets to signals that are compatible with the destination signal processor (e.g., convert analog signals to digital signals). The receiver108may provide the encoded packets to a decoder114of the destination signal processor113. The decoder114may recover the input packets from the encoded packets using an encoding vector.

FIG.2illustrates a block diagram of an example operational environment200to wirelessly transmit encoded packets234on multiple links236a-m, in accordance with at least one aspect described in the present disclosure. The operational environment200may include a linear encoder232that forms at least a part of a transceiver within a source device. The linear encoder232may correspond to the encoder106ofFIG.1.

The linear encoder232may receive input packets230. The input packets230may include a k number of packets. The linear encoder232may encode the input packets230using an encoding vector (not illustrated inFIG.1). The linear encoder232may generate encoded packets234representative of the input packets230. The encoded packets234may include an n number of packets. The encoded packets234may be wirelessly transmitted on the links236a-mbased on an allocation scheme that reduces the impact of the link blockage error, the transmission error, or some combination thereof.

The encoded packets234may be wirelessly transmitted on the links236a-mto a destination transceiver238within a destination device. The destination transceiver238may correspond to the destination transceiver103ofFIG.1. The destination transceiver238may decode the encoded packets to recover the input packets230(e.g., recover the information the input packets230represent). The destination transceiver238may decode at least a k number of encoded packets to recover the input packets230.

FIG.3illustrates a flowchart of an exemplary method300to wirelessly transmit encoded packets305and wirelessly receive received packets307on multiple links, in accordance with at least one aspect described in the present disclosure. The method300may be performed by any suitable system, apparatus, or device with respect to wirelessly transmitting the encoded packets305and receiving the received packets307. For example, the transceiver102, the signal processor104, the frontend112, the destination transceiver103, the destination frontend111, the destination signal processor113, or some combination thereof ofFIG.1may perform or direct performance of one or more of the operations associated with the method300. The method300is described in relation toFIG.3as being performed by the transceiver102and the destination transceiver103for example purposes. The method300may include one or more blocks302,304,306,308, and310. Although illustrated with discrete blocks, the operations associated with one or more of the blocks of the method300may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the particular implementation.

At block302, the transceiver102may receive the input packets302(e.g., packets representative of information to be wirelessly transmitted to the destination transceiver103). At304, the transceiver102may encode the input packets303using an encoding vector to generate the encoded packets305. At block306, the transceiver102may wirelessly transmit the encoded packets305through a network311that includes multiple links.

At block308, the destination transceiver103may receive the wirelessly transmitted encoded packets from the network311. The destination transceiver103may receive the wirelessly transmitted encoded packets as received packets307. At block310, the destination transceiver103may decode the received packets (e.g., solve a linear equation) to generate output packets309.

FIG.4illustrates a flowchart of an exemplary method400to wirelessly transmit encoded packets on multiple links, in accordance with at least one aspect described in the present disclosure. The method400may be performed by any suitable system, apparatus, or device with respect to wirelessly transmitting the encoded packets. For example, the transceiver102, the signal processor104, the frontend112, or some combination thereof ofFIG.1may perform or direct performance of one or more of the operations associated with the method400. The method400is described in relation toFIG.4as being performed by the transceiver102for example purposes The method400may include one or more blocks402,404,406,408,410, and412. Although illustrated with discrete blocks, the operations associated with one or more of the blocks of the method400may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the particular implementation.

At block402, the transceiver102may generate a plurality of encoded packets representative of a plurality of input packets. At block404, the transceiver102may determine a probability of a transmission error for each link of a plurality of links. At block406, the transceiver102may determine a probability of a link blockage error for each link of the plurality of links. At block408, the transceiver102may determine an allocation scheme for the plurality of encoded packets on the plurality of links based on the probability of the transmission error and the probability of the link blockage error for each link of the plurality of links. At block410, the transceiver102may allocate the plurality of encoded packets on the plurality of links according to the allocation scheme. At block412, the transceiver102may instruct to wirelessly transmit the plurality of encoded packets on the plurality of links.

FIG.5illustrates a graphical representation500of simulations of allocating encoded packets according to various allocation schemes, in accordance with at least one aspect described in the present disclosure.

Curves501,503, and505respectively represent a probability of packet loss according to an exhaustive algorithm, the second algorithm, and the first algorithm. For the simulations, the number of input packets was set to four (e.g., the minimum subset size), the number of links was set to four, the probability of the transmission error was randomly selected between 10-1and 10-4, and the probability of the link blockage error was randomly selected between 10-3and 10-6.

The number of encoded packets used for the simulation ranged between four and eighteen packets. The X axis represents the number of encoded packets divided by the number of input packets. The Y axis represents the probability of a decoding failure.

FIG.6illustrates a graphical representation600of simulation runtimes for allocating encoded packets according to the first algorithm and the second algorithm, in accordance with at least one aspect described in the present disclosure. For the simulations, the number of input packets varied between two and eight, the number of links was set to three, the number of encoded packets varied between zero and thirty-five. The Y axis represents the ratio of the runtime of the corresponding algorithm compared to the runtime of the exhaustive algorithm.

Curves601represent runtime ratios of the first algorithm compared to the runtime of the exhaustive algorithm as the number of encoded packets changes. Curves603represent runtime ratios of the second algorithm compared to exhaustive algorithm as the number of encoded packets changes. As illustrated inFIG.6, the runtime for the first algorithm and the second algorithm decrease as the number of encoded packets increase compared to the exhaustive algorithm.

The transceiver may allocate the encoded packets to the links to reduce the impact of the link blockage error, the transmission error, or some combination thereof. The transceiver may allocate the encoded packets to improve data allocation. The transceiver may implement a first algorithm (e.g., a greedy algorithm), a second algorithm (e.g., a steepest descent algorithm), or some combination thereof.

The transceiver may determine an allocation scheme using a pre-defined subset size of the encoded packets for the destination transceiver to receive to recover the input packets (e.g., the minimum subset) and a pre-defined number of encoded packets. The transceiver may determine the allocation scheme also based on the probability of the transmission error and the probability of the link blockage error for each of the links.

The transceiver may form a part of a system for wireless communication. The transceiver may include a processor. The transceiver may be configured to receive input packets representative of information to be wirelessly transmitted to a destination device. The transceiver may also generate encoded packets representative of the input packets. The transceiver may encode the input packets using an encoding vector. The encoded packets may represent delay sensitive data traffic. The delay sensitive data traffic may include a latency setting that is equal to or less than one hundred milliseconds.

The transceiver may allocate the encoded packets on the links according to the allocation scheme. In addition, the transceiver may instruct to wirelessly transmit the encoded packets on the links.

The transceiver may determine the probability of the transmission error and the probability of the link blockage error for each of the links. The transceiver may also determine the allocation scheme for the encoded packets on the links based on the probability of the transmission error and the probability of the link blockage error for each of the links. The allocation scheme may further be determined based on the probability of failing to receive the minimum subset (e.g., a decoding failure event).

The transceiver may determine the probability of the decoding failure event according Equation 6.

In Equation 6, i may represent a link index of a current link for considering the probability of the link blockage error, m may represent a total number of links, x may represent the number of encoded packets allocated on a corresponding current link, α may represent the probability of the link blockage error for the corresponding current link, e may represent the probability of the transmission error for the corresponding current link,

may represent indicator functions of a corresponding condition, l may represent a number of the encoded packets on the corresponding current link not affected by the link blockage error, w may represent a number of the encoded packets on the corresponding current link that are further not affected by the transmission error, j may represent a link index of a current link for considering the probability of the transmission error, t may represent a link index of a current link for considering the corresponding indicator function, and k may represent the minimum subset size. The encoded packets corresponding to w may include a subset of the encoded packets selected from the encoded packets associated with l.

The transceiver may determine the allocation scheme according to the first algorithm (e.g., the greedy algorithm). For the first algorithm, the transceiver may identify a function link (e.g., a link index that corresponds to a link) that minimizes a value determined according to Equation 7.

In Equation 7, i may represent the link index of the current link, α may represent the probability of the link blockage error for the current link, and e may represent the probability of the transmission error for the current link. The transceiver may initialize allocation of a k number of encoded packets on the current link corresponding to the link that minimalizes the value determined according to Equation 7. The k number of encoded packets on the function link may include a number of encoded packets equal to the minimum subset size.

The transceiver may iteratively identify the link index that maximizes a function value for each additional encoding packet (e.g., each encoded packet that is not part of the k number of encoded packets). The transceiver may determine the function value according to Equation 8.

In Equation 8, i may represent a link index that an additional encoded packet is allocated on, x may represent the number of encoded packets allocated on the corresponding links, and k may represent the minimum subset size. Each iteration, the transceiver may iteratively increment the link index by one and allocate a remaining encoded packet accordingly to identify a link that results in a maximal function value. The transceiver may iteratively allocate remaining encoded packets a number of times equal to the number of encoded packets minus the minimum subset size (e.g., n - k times).

The transceiver may determine the function value of each of the links according to Equation 7. The transceiver may identify a link that corresponds to a minimum function value as the function link. The transceiver may allocate the k number of encoded packets on the function link (e.g., allocate the minimum subset) as an initial allocation scheme.

The transceiver may iteratively allocate a first additional encoded packet of the encoded packets on each of the links to obtain a first set of adjusted allocation schemes. Each adjusted allocation scheme of the first set of adjusted allocation schemes may include the k number of encoded packets allocated on the function link. The first additional encoded packet may include an encoded packet within a difference between all of the encoded packets and the k number of encoded packets allocated on the function link.

The transceiver may determine a difference value between each adjusted allocation scheme of the first set of adjusted allocation schemes and a previous allocation scheme (e.g., the initial allocation scheme or a most recent maximum allocation scheme). The transceiver may determine the difference value according to Equation 9.

In Equation 9, i may represent a link index that a corresponding additional encoded packet (e.g., the first additional encoded packet or subsequent additional encoded packets) is allocated on according to a corresponding adjusted allocation scheme, j and r may represent link indices of current links, α may represent the probability of the link blockage error for a corresponding current link, e may represent the probability of the transmission error for the corresponding current link, x may represent the number of encoded packets allocated on the corresponding current links according to the previous allocation scheme (e.g., the initial allocation scheme or the most recent maximum allocation scheme), l may represent the number of the encoded packets on the corresponding current links not affected by the link blockage error, w may represent the number of the encoded packets on the corresponding current links that are further not affected by the transmission error, t may represent a link index for summing over the encoded packets associated with w, and k may represent the minimum subset size.

The transceiver may identify an adjusted allocation scheme of the first set of adjusted allocation schemes that corresponds to a maximum difference value as a first maximum allocation scheme. A secondary allocation scheme may include the k number of encoded packets allocated on the function link and the first additional encoded packet allocated according to the first maximum allocation scheme.

The transceiver may iteratively allocate a second additional encoded packet of the encoded packets on each of the links to obtain a second set of adjusted allocation schemes. The second additional encoded packet may include an encoded packet within the difference between all of the encoded packets and the k number of encoded packets allocated on the function link.

The transceiver may determine the difference value between each adjusted allocation scheme of the second set of adjusted allocation schemes and the secondary allocation scheme (e.g., a most recently previous allocation scheme) according to Equation 9. The transceiver may identify an adjusted allocation scheme of the second set of adjusted allocation schemes that corresponds to a maximum difference value as a second maximum allocation scheme. The allocation scheme may include the k number of encoded packets allocated on the function link, the first additional encoded packet allocated according to the first maximum allocation scheme, and the second additional encoded packet allocated according to the second maximum allocation scheme. The transceiver may repeat the iterative process of the first algorithm to allocate each of the encoded packets within the difference between all of the encoded packets and the k number of encoded packets allocated on the function link.

An example of the first algorithm in which the minimum subset size is equal to two, the number of links is equal to three, and the number of encoded packets is equal to four is now discussed. The transceiver may identify a third link as a function link according to Equation 7. The transceiver may allocate a first encoded packet and a second encoded packet on the third link (e.g., allocate the minimum subset on the third link) to obtain the initial allocation scheme.

The transceiver may iteratively allocate a third encoded packet on the links. The transceiver may allocate the third encoded packet on a first link to obtain a first adjusted allocation scheme. The transceiver may also allocate the third encoded packet on a second link to obtain a second adjusted allocation scheme. In addition, the transceiver may allocate the third encoded packet on the third link along with the first encoded packet and the second encoded packet to obtain a third adjusted allocation scheme. Each of the first adjusted allocation scheme, the second adjusted allocation scheme, and the third adjusted allocation scheme may include the first encoded packet and the second encoded packet allocated on the third link.

The transceiver may determine the difference value between the initial allocation scheme and the first adjusted allocation scheme according to Equation 9. The transceiver may also determine the difference value between the initial allocation scheme and the second adjusted allocation scheme according to Equation 9. In addition, the transceiver may determine the difference value between the initial allocation scheme and the third adjusted allocation scheme according to Equation 9. The transceiver may identify the second adjusted allocation scheme as corresponding to the maximum difference value as a first maximum allocation scheme.

The transceiver may iteratively allocate a fourth encoded packet on the links. The transceiver may allocate the fourth encoded packet on the first link to obtain a first additional adjusted allocation scheme. The transceiver may also allocate the fourth encoded packet on the second link along with the third encoded packet to obtain a second additional adjusted allocation scheme. In addition, the transceiver may allocate the fourth encoded packet on the third link along with the first encoded packet and the second encoded packet to obtain a third additional adjusted allocation scheme. Each of the first additional adjusted allocation scheme, the second additional adjusted allocation scheme, and the third additional adjusted allocation scheme may include the first encoded packet and the second encoded packet allocated on the third link and the third encoded packet allocated on the second link.

The transceiver may determine the difference value between the second adjusted allocation scheme (e.g., the first maximum allocation scheme) and the first additional adjusted allocation scheme according to Equation 9. The transceiver may also determine the difference value between the second adjusted allocation scheme and the second additional adjusted allocation scheme according to Equation 9. In addition, the transceiver may determine the difference value between the second adjusted allocation scheme and the third additional adjusted allocation scheme according to Equation 9. The transceiver may identify the third additional adjusted allocation scheme as corresponding to the maximum difference value as a second maximum allocation scheme.

The allocation scheme may include the third additional adjusted allocation scheme (e.g., the second maximum allocation scheme). For example, the allocation scheme may allocate the first encoded packet, the second encoded packet, and the fourth encoded packet on the third link and the third encoded packet on the second link.

The transceiver may determine the allocation scheme according to the second algorithm (e.g., the steepest descent algorithm). For the second algorithm, the transceiver may initially allocate each of the encoded packets on the links according to a pre-defined allocation scheme. The pre-defined allocation scheme may include an allocation scheme in which a difference between the number of encoded packets allocated on any two links is equal to one or less.

The transceiver may shift allocation of an encoded packet from a current link (e.g., a link corresponding to link index i for which xi> 0) to each of the different links (e.g., on each link corresponding to link index j for which i ≠ j) to obtain a current set of adjusted allocation schemes. The transceiver may identify an adjusted allocation scheme of the current set of adjusted allocation schemes as a minimum allocation scheme. The transceiver may determine a descent difference value between a previous allocation scheme (e.g., the pre-defined allocation scheme or a most recent minimum allocation scheme) and the current minimum allocation scheme. The transceiver may determine the descent difference value according to Equation 10.

In Equation 10, x′ may represent the number of encoded packets allocated on a corresponding link according to the current minimum allocation scheme, k may represent the minimum subset size, and x may represent the number of encoded packets allocated on a corresponding link according to the previous allocation scheme (e.g., for a first iteration of the second algorithm, the pre-identified allocation scheme and for subsequent iterations of the second algorithm the most recent minimum allocation scheme). The transceiver may identify the minimum allocation scheme according to Equation 10.

Alternatively, the transceiver may determine the descent difference value according to Equation 11.

In Equation 11, i may represent the link index of a current link (e.g., the link a corresponding encoded packet was allocated) according to the previous allocation scheme (e.g., the pre-defined allocation scheme or the most recent minimum allocation scheme), j may represent the link index of a current link according to the current minimum allocation scheme, m may represent the total number of the links, x may represent the number of encoded packets allocated on a corresponding current link according to the previous allocation scheme, and k may represent the minimum subset size. The transceiver may identify the minimum allocation scheme according to Equation 11 in which each of the adjusted allocation schemes is compared to each other. Equation 11 may reduce a complexity of the second algorithm compared to Equation 10.

A negative descent difference value may indicate an improvement in probability of packet loss (e.g., a reduction in the probability of the packet loss). If the descent difference value for a current iteration is greater than or equal to a threshold value, the descent difference value may be set to zero. The threshold value may include any value equal to or less than zero. Alternatively, the threshold value may include any value greater than zero. The transceiver may iteratively repeat shifting of the encoded packets on the links until the descent difference value between the previous allocation scheme and the current minimum allocation scheme is equal to or greater than the threshold value.

The transceiver may determine at least a portion of Equation 11 using Equation 12.

In Equation 12, α may represent the probability of the link blockage error for a corresponding current link, e may represent the probability of the transmission error for a corresponding current link, l may represent the number of the encoded packets on the corresponding current link not affected by the link blockage error, w may represent the number of the encoded packets on the corresponding current link that are further not affected by the transmission error, and k may represent the minimum subset size. The encoded packets corresponding to w may include a subset of the encoded packets associated with l.

The transceiver may initialize the packet allocation according to the pre-defined allocation scheme. The pre-defined allocation scheme may include an equalized allocation scheme in which a difference between the number of encoded packets allocated on each of the links is equal to or less than one. The transceiver may iteratively shift allocation of a first encoded packet on the links. The transceiver may shift allocation of the first encoded packet from a link to each of the different links to obtain a first set of adjusted allocation schemes.

The transceiver may identify an adjusted allocation scheme of the first set of adjusted allocation schemes that corresponds to a minimal probability of the decoding failure event as a first minimum allocation scheme. The transceiver may identify the first minimum allocation scheme according to Equation 10 or Equation 11. The transceiver may determine the descent difference value between the first minimum allocation scheme and the pre-defined allocation scheme according to Equation 10 or Equation 11. The transceiver, responsive to the descent difference value being equal to or greater than the threshold value, may identify the first minimum allocation scheme as the allocation scheme.

The transceiver may determine a descent value of the pre-defined allocation scheme according to Equation 10 or Equation 11. The transceiver, responsive to the descent difference value between the first minimum allocation scheme and the pre-defined allocation scheme being equal to or greater than the threshold value, may identify the pre-defined allocation scheme as the allocation scheme.

The transceiver, responsive to the descent difference value between the first minimum allocation scheme and the pre-defined allocation scheme being less than the threshold value, may iteratively shift allocation of a second encoded packet from a corresponding link to each of the different links to obtain a second set of adjusted allocation schemes. The transceiver may also identify an adjusted allocation scheme of the second set of adjusted allocation schemes that corresponds to a minimal probability of a decoding failure event as a second minimum allocation scheme. The transceiver may identify the second minimum allocation scheme according to Equation 10 or Equation 11. In addition, the transceiver may determine a second descent difference value between the second minimum allocation scheme and the first minimum allocation scheme according to Equation 10 or Equation 11. The transceiver, responsive to the second descent difference value being equal to or greater than the threshold value, may identify the second minimum allocation scheme as the allocation scheme. The transceiver may repeat the iterative process of shifting the encoded packets until a difference between the most recent minimum allocation scheme and the current minimum allocation scheme is greater than or equal to the threshold value.

The transceiver, responsive to the second descent difference value being equal to or greater than the threshold value, may identify the first minimum allocation scheme as the allocation scheme.

An example of the second algorithm in which the number of links is equal to three and the number of encoded packets is equal to four is now discussed. The transceiver may allocate the encoded packets on the links according to the pre-defined allocation scheme. For example, the transceiver may allocate a first encoded packet and a fourth encoded packet on a first link, a second encoded packet on a second link, and a third encoded packet on a third link.

The transceiver may iteratively shift allocation of the encoded packets on the links to obtain the first set of adjusted allocation schemes. The transceiver may shift allocation of the fourth encoded packet from the first link to the second link to obtain a first adjusted allocation scheme. The transceiver may also shift allocation of the fourth encoded packet from the first link to the third link to obtain a second adjusted allocation scheme. The transceiver may repeat this process for the second encoded packet to obtain a third adjusted allocation scheme and a fourth adjusted allocation scheme. The transceiver may also repeat this process for the third encoded packet to obtain a fifth adjusted allocation scheme and a sixth adjusted allocation scheme.

The transceiver may identify the second adjusted allocation scheme as the first minimum allocation scheme according to Equation 10 or Equation 11. The transceiver may also determine the descent difference value between the first minimum allocation scheme and the pre-defined allocation scheme according to Equation 10 or Equation 11. The transceiver, responsive to the descent difference value being equal to or greater than the threshold value, may identify the first minimum allocation scheme as the allocation scheme (e.g., the allocation scheme may allocate the first encoded packet on the first link, the second encoded packet on the second link, and the third encoded packet and the fourth encoded packet on the third link).

The transceiver, responsive to the descent difference value between the first minimum allocation scheme and the pre-defined allocation scheme being less than the threshold value, may iteratively shift allocation of the encoded packets on the links to obtain the second set of adjusted allocation schemes. The transceiver may shift allocation of the second encoded packet from the second link to the first link to obtain a first additional adjusted allocation scheme. The transceiver may also shift allocation of the second encoded packet from the second link to the third link to obtain a second additional adjusted allocation scheme. The transceiver may repeat this process for the first encoded packet to obtain a third additional adjusted allocation scheme and a fourth additional adjusted allocation scheme. The transceiver may also repeat this process for the third encoded packet to obtain a fifth additional adjusted allocation scheme and a sixth additional adjusted allocation scheme.

The transceiver may identify the first additional adjusted allocation scheme as the second minimum allocation scheme according to Equation 10 or Equation 11. The transceiver may also determine the descent difference value between the second minimum allocation scheme and the first minimum allocation scheme according to Equation 10 or Equation 11. The transceiver, responsive to the descent difference value being equal to or greater than the threshold value, may identify the second minimum allocation scheme as the allocation scheme (e.g., the allocation scheme may allocate the first encoded packet and the second encoded packet on the first link and the third encoded packet and the fourth encoded packet on the third link). The transceiver may repeat this process until the descent difference value between a current minimum allocation scheme and a most recent allocation scheme is equal to or greater than the threshold value.

Example 1 may include a system for wireless communication, the system including: a processor configured to: generate a plurality of encoded packets representative of a plurality of input packets; determine a probability of a transmission error for each link of a plurality of links; determine a probability of a link blockage error for each link of the plurality of links; determine an allocation scheme for the plurality of encoded packets on the plurality of links based on the probability of the transmission error and the probability of the link blockage error for each link of the plurality of links; allocate the plurality of encoded packets on the plurality of links according to the allocation scheme; and instruct to wirelessly transmit the plurality of encoded packets on the plurality of links.

Example 2 may include the system of example 1, wherein the processor is further configured to determine a probability of a decoding failure event in which a subset of a minimum size of the plurality of encoded packets to recover the plurality of input packets is not received based on the probability of the transmission error and the probability of the link blockage error for each link of the plurality of links, wherein the allocation scheme is determined based on the probability of failing to receive the subset of the minimum size of the plurality of encoded packets to recover the plurality of input packets.

Example 3 may include the system of example 2, wherein the probability of the decoding failure event is determined according to Equation 6.

Example 4 may include the system of example 1, wherein the processor is configured to determine the allocation scheme for the plurality of encoded packets on the plurality of links by: determining a function value of each link of the plurality of links according to Equation 7; identifying a function link of the plurality of links that corresponds to a minimum function value; allocating a k number of encoded packets on the function link, wherein k represents the subset of the minimum size of the plurality of encoded packets to recover the plurality of input packets; iteratively allocating an additional encoded packet of the plurality of encoded packets on each link of the plurality of links to obtain a plurality of adjusted allocation schemes, wherein the additional encoded packet includes an encoded packet within a difference between the plurality of encoded packets and the k number of encoded packets allocated on the function link; determining a difference value between each adjusted allocation scheme of the plurality of adjusted allocation schemes and a previous allocation scheme according to Equation 9; and identifying an adjusted allocation scheme of the plurality of adjusted allocation schemes that corresponds to a maximum difference value as a maximum allocation scheme, wherein the allocation scheme includes the k number of encoded packets allocated on the function link and the additional encoded packet allocated according to the maximum allocation scheme.

Example 5 may include the system of example 4, wherein the additional encoded packet includes a first additional encoded packet, the plurality of adjusted allocation schemes include a first plurality of adjusted allocation schemes, the difference value includes a first difference value, the maximum allocation scheme includes a first maximum allocation scheme, and the processor is further configured to determine the allocation scheme for the plurality of encoded packets on the plurality of links by: iteratively allocating a second additional encoded packet of the plurality of encoded packets on each link of the plurality of links to obtain a second plurality of adjusted allocation schemes, wherein the second additional encoded packet includes an encoded packet within the difference between the plurality of encoded packets and the k number of encoded packets allocated on the function link; determining a second difference value between each adjusted allocation scheme of the second plurality of adjusted allocation schemes and the first maximum allocation scheme; and identifying an adjusted allocation scheme of the second plurality of adjusted allocation schemes that corresponds to a maximum difference value as a second maximum allocation scheme, wherein the allocation scheme further includes the second additional encoded packet allocated according to the second maximum allocation scheme.

Example 6 may include the system of example 1, wherein the processor is configured to determine the allocation scheme for the plurality of encoded packets on the plurality of links by: initializing a packet allocation according to a pre-defined allocation scheme; iteratively shifting allocation of a shift encoded packet of the plurality of encoded packets from an initial link on each different link of the plurality of links to obtain a plurality of adjusted allocation schemes; identifying an adjusted allocation scheme of the plurality of adjusted allocation schemes that corresponds to a minimal probability of a decoding failure event as a minimum allocation scheme; determining a descent difference value between the minimum allocation scheme and the pre-defined allocation scheme according to Equation 10; and responsive to the descent difference value being equal to or greater than a threshold value, identifying the minimum allocation scheme as the allocation scheme.

Example 7 may include the system of example 6, wherein the shift encoded packet includes a first shift encoded packet, the plurality of adjusted allocation schemes include a first plurality of adjusted allocation schemes, the descent difference value includes a first descent difference value, the minimum allocation scheme includes a first minimum allocation scheme, and responsive to the first descent difference value being less than the threshold value, the processor is further configured to: iteratively shift allocation of a second shift encoded packet of the plurality of encoded packets from an initial link on each different link of the plurality of links to obtain a second plurality of adjusted allocation schemes; identify an adjusted allocation scheme of the second plurality of adjusted allocation schemes that corresponds to a minimal probability of a decoding failure event as a second minimum allocation scheme; determine a second descent difference value between the second minimum allocation scheme and the first minimum allocation scheme; and responsive to the second descent difference value being equal to or greater than the threshold value, identify the second minimum allocation scheme as the allocation scheme.

Example 8 may include the system of example 6, wherein the pre-defined allocation scheme includes an equalized allocation scheme in which a difference between the number of encoded packets allocated on each link of the plurality of links is equal to or less than one.

Example 9 may include the system of example 1, wherein the processor is configured to determine the allocation scheme for the plurality of encoded packets on the plurality of links by: initializing a packet allocation according to a pre-defined allocation scheme; iteratively shifting allocation of a shift encoded packet of the plurality of encoded packets from an initial link on each different link of the plurality of links to obtain a plurality of adjusted allocation schemes; identifying an adjusted allocation scheme of the plurality of adjusted allocation schemes that corresponds to a minimal probability of a decoding failure event as a minimum allocation scheme; determining a descent difference value between the minimum allocation scheme and the pre-defined allocation scheme according to Equation 11; and responsive to the descent difference value being equal to or greater than a threshold value, identifying the minimum allocation scheme as the allocation scheme.

Example 11 may include the system of example 1, wherein the plurality of encoded packets represent delay sensitive data traffic including a latency setting equal to or less than ten milliseconds.

Example 12 may include a non-transitory computer-readable medium that includes a memory having computer-readable instructions stored thereon; and a processor operatively coupled to the memory and configured to read and execute the computer-readable instructions to perform or control performance of operations including: generating a plurality of encoded packets representative of a plurality of input packets; determining a probability of a transmission error for each link of a plurality of links; determining a probability of a link blockage error for each link of the plurality of links; determining an allocation scheme for the plurality of encoded packets on the plurality of links based on the probability of the transmission error and the probability of the link blockage error for each link of the plurality of links; allocating the plurality of encoded packets on the plurality of links according to the allocation scheme; and instructing to wirelessly transmit the plurality of encoded packets on the plurality of links.

Example 13 may include the non-transitory computer-readable medium of example 12, the operations further include determining a probability of a decoding failure event in which a subset of a minimum size of the plurality of encoded packets to recover the plurality of input packets is not received based on the probability of the transmission error and the probability of the link blockage error for each link of the plurality of links, wherein the allocation scheme is determined based on the probability of failing to receive the subset of the minimum size of the plurality of encoded packets to recover the plurality of input packets.

Example 14 may include the non-transitory computer-readable medium of example 13, wherein the probability of the decoding failure event is determined according to Equation 6.

Example 15 may include the non-transitory computer-readable medium of example 12, wherein the operation determining the allocation scheme for the plurality of encoded packets on the plurality of links includes: determining a function value of each link of the plurality of links according to Equation 7; identifying a function link of the plurality of links that corresponds to a minimum function value; allocating a k number of encoded packets on the function link, wherein k represents the subset of the minimum size of the plurality of encoded packets to recover the plurality of input packets; iteratively allocating an additional encoded packet of the plurality of encoded packets on each link of the plurality of links to obtain a plurality of adjusted allocation schemes, wherein the additional encoded packet includes an encoded packet within a difference between the plurality of encoded packets and the k number of encoded packets allocated on the function link; determining a difference value between each adjusted allocation scheme of the plurality of adjusted allocation schemes and a previous allocation scheme according to Equation 9; and identifying an adjusted allocation scheme of the plurality of adjusted allocation schemes that corresponds to a maximum difference value as a maximum allocation scheme, wherein the allocation scheme includes the k number of encoded packets allocated on the function link and the additional encoded packet allocated according to the maximum allocation scheme.

Example 16 may include the non-transitory computer-readable medium of example 15, wherein the additional encoded packet includes a first additional encoded packet, the plurality of adjusted allocation schemes include a first plurality of adjusted allocation schemes, the difference value includes a first difference value, the maximum allocation scheme includes a first maximum allocation scheme, and the operation determining the allocation scheme for the plurality of encoded packets on the plurality of links includes: iteratively allocating a second additional encoded packet of the plurality of encoded packets on each link of the plurality of links to obtain a second plurality of adjusted allocation schemes, wherein the second additional encoded packet includes an encoded packet within the difference between the plurality of encoded packets and the k number of encoded packets allocated on the function link; determining a second difference value between each adjusted allocation scheme of the second plurality of adjusted allocation schemes and the first maximum allocation scheme; and identifying an adjusted allocation scheme of the second plurality of adjusted allocation schemes that corresponds to a maximum difference value as a second maximum allocation scheme, wherein the allocation scheme further includes the second additional encoded packet allocated according to the second maximum allocation scheme.

Example 17 may include the non-transitory computer-readable medium of example 12, wherein the operation determining the allocation scheme for the plurality of encoded packets on the plurality of links includes: initializing a packet allocation according to a pre-defined allocation scheme; iteratively shifting allocation of a shift encoded packet of the plurality of encoded packets from an initial link on each different link of the plurality of links to obtain a plurality of adjusted allocation schemes; identifying an adjusted allocation scheme of the plurality of adjusted allocation schemes that corresponds to a minimal probability of a decoding failure event as a minimum allocation scheme; determining a descent difference value between the minimum allocation scheme and the pre-defined allocation scheme according to Equation 10; and responsive to the descent difference value being equal to or greater than a threshold value, identifying the minimum allocation scheme as the allocation scheme.

Example 18 may include the non-transitory computer-readable medium of example 17, wherein the shift encoded packet includes a first shift encoded packet, the plurality of adjusted allocation schemes include a first plurality of adjusted allocation schemes, the descent difference value includes a first descent difference value, the minimum allocation scheme includes a first minimum allocation scheme, and responsive to the first descent difference value being less than the threshold value, the operations further include: iteratively shifting allocation of a second shift encoded packet of the plurality of encoded packets from an initial link on each different link of the plurality of links to obtain a second plurality of adjusted allocation schemes; identifying an adjusted allocation scheme of the second plurality of adjusted allocation schemes that corresponds to a minimal probability of a decoding failure event as a second minimum allocation scheme; determining a second descent difference value between the second minimum allocation scheme and the first minimum allocation scheme; and responsive to the second descent difference value being equal to or greater than the threshold value, identifying the second minimum allocation scheme as the allocation scheme.

Example 19 may include the non-transitory computer-readable medium of example 17, wherein the pre-defined allocation scheme includes an equalized allocation scheme in which a difference between the number of encoded packets allocated on each link of the plurality of links is equal to or less than one.

Example 20 may include the non-transitory computer-readable medium of example 12, wherein the operation determining the allocation scheme for the plurality of encoded packets on the plurality of links includes: initializing a packet allocation according to a pre-defined allocation scheme; iteratively shifting allocation of a shift encoded packet of the plurality of encoded packets from an initial link on each different link of the plurality of links to obtain a plurality of adjusted allocation schemes; identifying an adjusted allocation scheme of the plurality of adjusted allocation schemes that corresponds to a minimal probability of a decoding failure event as a minimum allocation scheme; determining a descent difference value between the minimum allocation scheme and the pre-defined allocation scheme according to Equation 11; and responsive to the descent difference value being equal to or greater than a threshold value, identifying the minimum allocation scheme as the allocation scheme.

Example 22 may include the non-transitory computer-readable medium of example 12, wherein the plurality of encoded packets represent delay sensitive data traffic including a latency setting equal to or less than ten milliseconds.

Example 23 may include a system, including: means to generate a plurality of encoded packets representative of a plurality of input packets; means to determine a probability of a transmission error for each link of a plurality of links; means to determine a probability of a link blockage error for each link of the plurality of links; means to determine an allocation scheme for the plurality of encoded packets on the plurality of links based on the probability of the transmission error and the probability of the link blockage error for each link of the plurality of links; means to allocate the plurality of encoded packets on the plurality of links according to the allocation scheme; and means to instruct to wirelessly transmit the plurality of encoded packets on the plurality of links.

Example 24 may include the system of example 23, further including means to determine a probability of a decoding failure event in which a subset of a minimum size of the plurality of encoded packets to recover the plurality of input packets is not received based on the probability of the transmission error and the probability of the link blockage error for each link of the plurality of links, wherein the allocation scheme is determined based on the probability of failing to receive the subset of the minimum size of the plurality of encoded packets to recover the plurality of input packets.

Example 25 may include the system of example 23, wherein the means to determine the allocation scheme for the plurality of encoded packets on the plurality of links include: means to determine a function value of each link of the plurality of links according to Equation 7; means to identify a function link of the plurality of links that corresponds to a minimum function value; means to allocate a k number of encoded packets on the function link, wherein k represents the subset of the minimum size of the plurality of encoded packets to recover the plurality of input packets; means to iteratively allocate an additional encoded packet of the plurality of encoded packets on each link of the plurality of links to obtain a plurality of adjusted allocation schemes, wherein the additional encoded packet includes an encoded packet within a difference between the plurality of encoded packets and the k number of encoded packets allocated on the function link; means to determine a difference value between each adjusted allocation scheme of the plurality of adjusted allocation schemes and a previous allocation scheme according to Equation 12; and means to identify an adjusted allocation scheme of the plurality of adjusted allocation schemes that corresponds to a maximum difference value as a maximum allocation scheme, wherein the allocation scheme includes the k number of encoded packets allocated on the function link and the additional encoded packet allocated according to the maximum allocation scheme.

Example 26 may include the system of example 25, wherein the additional encoded packet includes a first additional encoded packet, the plurality of adjusted allocation schemes include a first plurality of adjusted allocation schemes, the difference value includes a first difference value, the maximum allocation scheme includes a first maximum allocation scheme, and the means to determine the allocation scheme for the plurality of encoded packets on the plurality of links include: means to iteratively allocate a second additional encoded packet of the plurality of encoded packets on each link of the plurality of links to obtain a second plurality of adjusted allocation schemes, wherein the second additional encoded packet includes an encoded packet within the difference between the plurality of encoded packets and the k number of encoded packets allocated on the function link; means to determine a second difference value between each adjusted allocation scheme of the second plurality of adjusted allocation schemes and the first maximum allocation scheme; and means to identify an adjusted allocation scheme of the second plurality of adjusted allocation schemes that corresponds to a maximum difference value as a second maximum allocation scheme, wherein the allocation scheme further includes the second additional encoded packet allocated according to the second maximum allocation scheme.

Example 27 may include the system of example 23, wherein the means to determine the allocation scheme for the plurality of encoded packets on the plurality of links include: means to initialize a packet allocation according to a pre-defined allocation scheme; means to iteratively shift allocation of a shift encoded packet of the plurality of encoded packets from an initial link on each different link of the plurality of links to obtain a plurality of adjusted allocation schemes; means to identify an adjusted allocation scheme of the plurality of adjusted allocation schemes that corresponds to a minimal probability of a decoding failure event as a minimum allocation scheme; means to determine a descent difference value between the minimum allocation scheme and the pre-defined allocation scheme according to Equation 10; and responsive to the descent difference value being equal to or greater than a threshold value, means to identify the minimum allocation scheme as the allocation scheme.

Example 28 may include the system of example 27, wherein the shift encoded packet includes a first shift encoded packet, the plurality of adjusted allocation schemes include a first plurality of adjusted allocation schemes, the descent difference value includes a first descent difference value, the minimum allocation scheme includes a first minimum allocation scheme, and responsive to the first descent difference value being less than the threshold value, the system further includes: means to iteratively shift allocation of a second shift encoded packet of the plurality of encoded packets from an initial link on each different link of the plurality of links to obtain a second plurality of adjusted allocation schemes; means to identify an adjusted allocation scheme of the second plurality of adjusted allocation schemes that corresponds to a minimal probability of a decoding failure event as a second minimum allocation scheme; means to determine a second descent difference value between the second minimum allocation scheme and the first minimum allocation scheme; and responsive to the second descent difference value being equal to or greater than the threshold value, means to identify the second minimum allocation scheme as the allocation scheme.

Example 29 may include the system of example 23, wherein the means to determine the allocation scheme for the plurality of encoded packets on the plurality of links include: means to initialize a packet allocation according to a pre-defined allocation scheme; means to iteratively shift allocation of a shift encoded packet of the plurality of encoded packets from an initial link on each different link of the plurality of links to obtain a plurality of adjusted allocation schemes; means to identify an adjusted allocation scheme of the plurality of adjusted allocation schemes that corresponds to a minimal probability of a decoding failure event as a minimum allocation scheme; means to determine a descent difference value between the minimum allocation scheme and the pre-defined allocation scheme according to Equation 11; and responsive to the descent difference value being equal to or greater than a threshold value, means to identify the minimum allocation scheme as the allocation scheme.