The disclosure relates generally to wireless transmissions, and in particular, to wireless transmissions that utilize more than one wireless transmission path to transmit upper layer data packets.
As wireless communication protocols continue to develop, new spectrum and new configurations allow for faster data transmission. For example, high frequency bands (HFB) such as mmWave and sub-THz may be an important aspect of 6G communication systems because HFB links may offer large bandwidth (BW) and capacity that support high data rates. However, due to the narrow beam width and high penetration loss on HFB links, such HFB links may be easily susceptible to blockage effects caused by moving objects such as humans and cars that may block or impair physical signal transmissions. The duration of a blockage may be relatively long (˜500 ms), which may be particularly problematic for some 6G use cases, for example, that require both high reliability and low delay for the transmission. Thus, supporting such use cases on HFB links may be challenging. This may also be true for multiple HFB links that may support a data transmission, because all of the multiple HFB links may be blocked, which is not a negligible probability (e.g., 10−4 for 4 links in typical scenarios, which would not meet the typical 10−6˜10−9 high-reliability requirement in 6G). To meet the quality of service (QoS) requirements of such use cases, lower frequency bands (e.g., sub-6 GHz bands that may also be supported in 6G) may be needed. However, sub-6 GHz resources may be expensive and it may be undesirable to use a large number of sub-6 GHz links.
In the drawings, like reference characters generally refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the exemplary principles of the disclosure. In the following description, various exemplary aspects of the disclosure are described with reference to the following drawings, in which:
The following detailed description refers to the accompanying drawings that show, by way of illustration, exemplary details and features.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs.
Throughout the drawings, it should be noted that like reference numbers are used to depict the same or similar elements, features, and structures, unless otherwise noted.
The phrase “at least one” and “one or more” may be understood to include a numerical quantity greater than or equal to one (e.g., one, two, three, four, [ . . . ], etc.). The phrase “at least one of” with regard to a group of elements may be used herein to mean at least one element from the group consisting of the elements. For example, the phrase “at least one of” with regard to a group of elements may be used herein to mean a selection of: one of the listed elements, a plurality of one of the listed elements, a plurality of individual listed elements, or a plurality of a multiple of individual listed elements.
The words “plural” and “multiple” in the description and in the claims expressly refer to a quantity greater than one. Accordingly, any phrases explicitly invoking the aforementioned words (e.g., “plural [elements]”, “multiple [elements]”) referring to a quantity of elements expressly refers to more than one of the said elements. For instance, the phrase “a plurality” may be understood to include a numerical quantity greater than or equal to two (e.g., two, three, four, five, [ . . . ], etc.).
The phrases “group (of)”, “set (of)”, “collection (of)”, “series (of)”, “sequence (of)”, “grouping (of)”, etc., in the description and in the claims, if any, refer to a quantity equal to or greater than one, i.e., one or more. The terms “proper subset”, “reduced subset”, and “lesser subset” refer to a subset of a set that is not equal to the set, illustratively, referring to a subset of a set that contains less elements than the set.
The term “data” as used herein may be understood to include information in any suitable analog or digital form, e.g., provided as a file, a portion of a file, a set of files, a signal or stream, a portion of a signal or stream, a set of signals or streams, and the like. Further, the term “data” may also be used to mean a reference to information, e.g., in the form of a pointer. The term “data”, however, is not limited to the aforementioned examples and may take various forms and represent any information as understood in the art.
The terms “processor” or “controller” as, for example, used herein may be understood as any kind of technological entity (e.g., hardware, software, and/or a combination of both) that allows handling of data. The data may be handled according to one or more specific functions executed by the processor or controller. Further, a processor or controller as used herein may be understood as any kind of circuit, e.g., any kind of analog or digital circuit. A processor or a controller may thus be or include an analog circuit, digital circuit, mixed-signal circuit, software, firmware, logic circuit, processor, microprocessor, Central Processing Unit (CPU), Graphics Processing Unit (GPU), Digital Signal Processor (DSP), Field Programmable Gate Array (FPGA), integrated circuit, Application Specific Integrated Circuit (ASIC), etc., or any combination thereof. Any other kind of implementation of the respective functions, which will be described below in further detail, may also be understood as a processor, controller, or logic circuit. It is understood that any two (or more) of the processors, controllers, or logic circuits detailed herein may be realized as a single entity with equivalent functionality or the like, and conversely that any single processor, controller, or logic circuit detailed herein may be realized as two (or more) separate entities with equivalent functionality or the like.
As used herein, “memory” is understood as a computer-readable medium (e.g., a non-transitory computer-readable medium) in which data or information can be stored for retrieval. References to “memory” included herein may thus be understood as referring to volatile or non-volatile memory, including random access memory (RAM), read-only memory (ROM), flash memory, solid-state storage, magnetic tape, hard disk drive, optical drive, 3D XPoint™, among others, or any combination thereof. Registers, shift registers, processor registers, data buffers, among others, are also embraced herein by the term memory. The term “software” refers to any type of executable instruction, including firmware.
Unless explicitly specified, the term “transmit” encompasses both direct (point-to-point) and indirect transmission (via one or more intermediary points). Similarly, the term “receive” encompasses both direct and indirect reception. Furthermore, the terms “transmit,” “receive,” “communicate,” and other similar terms encompass both physical transmission (e.g., the transmission of radio signals) and logical transmission (e.g., the transmission of digital data over a logical software-level connection). For example, a processor or controller may transmit or receive data over a software-level connection with another processor or controller in the form of radio signals, where the physical transmission and reception is handled by radio-layer components such as radio frequency (RF) transceivers and antennas, and the logical transmission and reception over the software-level connection is performed by the processors or controllers. The term “communicate” encompasses one or both of transmitting and receiving, i.e., unidirectional or bidirectional communication in one or both of the incoming and outgoing directions. The term “calculate” encompasses both “direct” calculations via a mathematical expression/formula/relationship and ‘indirect’ calculations via lookup or hash tables and other array indexing or searching operations.
As noted above, high frequency bands (HFB) such as mmWave and sub-THz may offer large bandwidth (BW) and capacity that support high data rates. However, due to the narrow beam width and high penetration loss on HFB links, such HFB links may be easily susceptible to blockage effects caused by moving objects such as humans and cars that may block or impair physical signal transmissions. To meet the quality of service (QoS) requirements for certain use cases that require high-reliability and low delay, lower frequency bands (e.g., sub-6 GHz bands) may be needed to support the data transmission. However, sub-6 GHz resources may be expensive and it may be undesirable to use a large number of sub-6 GHz links to support the data transmission.
Discussed in more detail below, the disclosed linear packet network coding scheme may determine an optimized utilization of available transmission paths so as to use, for example, the smallest number of sub-6 GHz links while also maintaining the required reliability and delay for the transmission. In current systems, packet duplication on layer 2 may be used to utilize multiple links, but the spectral efficiency is often low and may not be sufficient to meet the high reliability requirement (e.g., due to blockage of the HFB links). Higher layer protocols such as multi-path transmission control protocol (MTCP) may also take advantage of multiple data paths to increase reliability, but such higher layer protocols may rely on retransmissions to achieve reliability, which may incur an unacceptably higher delay.
In contrast to the above packet duplication and MTCP, the disclosed linear packet network coding may provide a more spectrally-efficient way of utilizing the combined bandwidth (BW) of multiple transmission links to improve packet reliability with low latency so as to meet the reliability and latency requirements. In particular, the linear packet network coding disclosed below may be particularly useful when a sub-6 GHz link is used as one of the multiple transmission links, whose radio resource may be more expensive than HFB links. As discussed in more detail below, for a hybrid case where one or more sub-6 GHz links are used with HFB links, the disclosed linear packet network coding improves computational speeds for the algorithm used to optimally distribute the packets, as compared to an exhaustive searching algorithm, which may be computationally expensive. The linear packet-level network coding discussed below may utilize proactive redundancy to data packets and a low-complexity packet allocation algorithm to optimally distribute the encoded packets across all links to achieve the required reliability with low latency, while ensuring that, for example, the minimum number of sub-6 GHz links are used. The low-complexity packet allocation algorithm may use a fast recursive algorithm, which speed up the calculation to compute the reliability of network coding (NC) over multiple links that may have blockage-and transmission-caused errors.
, a linearly coded packet may be constructed as R=Σi=1kci·Pi, where the encoding vector [c1, c2 . . . , ck]T may consist of coefficients chosen from
. Multiple such linearly coded packets with different encoding vectors may be transmitted through a lossy network. If a receiver receives k of the encoded packets [R1, R2, . . . , Rk] that are linearly independent, then it may be able to recover the original packets [P1, P2, . . . , Pk] using:
the i-th column of which consists of the encoding vector for Ri.
As should be understood, the linear code may be any type of well-designed set of codes such that receiving any k out of n encoded packets may ensure successful decoding. Examples of such coding sets include, for example, Reed-Solomon codes, MDS (maximum distance separable) codes, turbo codes, low-density parity check (LDPC) codes, etc. As should also be understood, the encoding and decoding may be performed by one or more processors (e.g., an encoding processor and a decoding processor) which may be on the respective source (e.g., a source node) or destination device (e.g., a destination node) or may be distributed among multiple different locations. As should also be understood, wireless transmissions between a source node and a destination node may be accomplished via a wireless transceiver (e.g., a wireless transmitter and/or a wireless receiver) that transmits and receives according to a communications protocol, such as the wireless and cellular standards published by the 3rd Generation Partnership Project (3GPP) and the Institute of Electrical and Electronics Engineers (IEEE), including, for example IEEE 802.11 (Wi-Fi) and 3GPP cellular protocols such as WCDMA, HSUPA, LTE, and emerging cellular standards like 5G, 6G, etc. The linear packet network coding scheme discussed herein may be applicable to any currently existing or to-be-developed wireless communication standard.
In transmission schemes that utilize multiple transmission links from a source to a destination, the linearly coded packets may be transmitted over and therefore traverse any transmission link. Scenarios in which multiple transmission links may be utilized include multiple cells, multiple access points, multi-connectivity, multi-RAT, multiple carriers (e.g., carrier aggregation), etc. In terms of coding such transmissions, k information packets may be encoded into n encoded packets through a lossy network, which consists of m independent links. The upper layer packet may be divided into a predefined number of equally sized segments, represented by k, and the predefined segments may then be encoded and into n encoded packets and allocated to the multiple transmission links. An example of linear network encoding and decoding 200 is shown, for example, in
where Yi is the number of successfully received packets after possible packet drop on path i.
The packet transmission process on each link i may be subject to both transmission errors and link blockage. The transmission errors may be characterized by independent and identically distributed (i.i.d.) packet erasures across different links and different packets, with a probability ei for each link i. The link blockage phenomenon, which may be more problematic for the HFB (mmWave/sub-THz) bands, typically last in a dynamic case at least on the order of hundreds of milliseconds whenever they happen. Dynamic link blockage may be modeled as a Poisson arrival process with some arrival rate λi for each link i, and hence within the transmission time (denoted Ti for link i) of each packet, the link blockage events happen independent and identically distributed with a probability αi=1−e−λ
For delay-sensitive data transmissions (e.g., where there may be a latency requirement for the transmission on the order of or smaller than tens of milliseconds), it may be assumed that every upper layer packet is divided into k lower layer packets, which are linearly encoded into n coded packets and transmitted over the multi-link network. Whenever a link blockage event happens during the transmission of these packets, all subsequent packets on the corresponding link are dropped and are not useful, because even if they could be recovered at a later time, this later time would cause the transmission to exceed its latency requirement for the upper layer packet. Hence, in this type of scenario, there may be a packet erasure event caused by a link blockage on a link i, which may be modeled as a bursty erasure process that may last until the end of the transmission for this group of coded packets.
To address the problems discussed above, the linear packet network coding scheme may utilize an algorithm where the probability of failing to recover an upper layer packet that is divided, linearly coded, and allocated to multiple transmission links (e.g., as shown in
which, as explained above, may reduce to ei and 1 respectively when αi=0 (e.g., when the transmission link i is a sub-6 GHz link).
With the above in mind, a recursive method may be used to calculate network coding reliability. A flowchart showing the below-described recursive algorithm is shown in
where FB is the cumulative distribution function (CDF) of the binomial distribution:
Note that when xi→∞ the expression still holds:
Assuming that the function values fr have been calculated, in 320, up to k packets for links 1, 2, . . . , j with parameters x1j=(x1, x2, . . . , xj), e1j=(e1, e2, . . . , ej) and α1j=(α1, α2, . . . , αj). That is, fr(x1j; w, α1j, e1j) is known for w=1, 2, . . . , k, then the decoding success probability fr for links 1, 2, . . . , j+1 with parameters x1j+1, e1j+1 and α1j+1 may be calculated, in 330, as:
where fr(xj+1; 0, αj+1, ej+1)=1.
It should be noted that the recursion may also hold when some or all of the coordinates approach infinity (e.g., xi→∞). The complexity of the recursive algorithm of
As noted above, using only HFB links in a multilink transmission may not be sufficient to meet the stringent QoS requirements of high-reliability, delay-sensitive data transmission. As a result, one or more of the multiple links may need to be in a lower frequency band (e.g., a sub-6 GHz link). As also noted above, sub-6 GHz bandwidth may be much more expensive than HFB bandwidth, and so it may be beneficial to use, if possible, just one sub-6 GHz link and also to minimize its utilization in terms of radio resources. The algorithm below provides an optimization for utilization of the sub-6 GHz link in a multi-link transmission that satisfies the reliability and latency requirements. In the equations below, the total number of HFB links established between the transmitter (TX) and the receiver (RX) is given by L. In addition to the L HFB links, there is also a single sub-6 GHz link.
Some or all of the L HFB links may not be available for use at the time of packet transmission, because, as described above, they may be in the blocked state. As should be understood, the TX side may constantly monitor the channel conditions of each transmission link so that it knows which links are blocked at what time. The transmitter may share this information with the encoder so that when encoding and transmitting each group of k packets, only the non-blocked links are utilized. As a result, at the time of transmission for each upper layer packet, some number l≤L may be the number of non-blocked HFB transmission links to be utilized for transmitting the upper layer packet. Using this scenario with reference to
As one example, without loss of generality, link m may be a sub-6 GHz link while the first l=m−1 links are HFB links. The upper layer packet may then be divided into k lower layer packets and encoded into n coded packets, which are then transmitted through the m links. The reliability requirement of the upper layer packet is denoted by ϵ, which means that the decoding failure probability of the k packets should be no larger than ϵ. The delay bound of the upper layer packet is denoted by D, which is assumed to be too stringent to allow for any retransmissions of packets. For each i let gi(xi) denote the time needed to transmit xi packets on link i. Then the optimization problem may determine the total number of encoded packets n and how many of these packets are distributed to each available link i (denoted by xi), to meet the following requirements: (1) reliability target is to be achieved within delay D, thus fr(x1m; k, α1m, e1m)>1−ϵ with gi(xi)≤D for 1≤i≤m; (2) the number of packets xm transmitted on link m (the sub-6 GHz link) is to be minimized; and (3) given that xm is minimized, the total number of packets ñ:=Σi=1lxi transmitted on HFB links is also minimized to efficiently utilize resources on the HFB links.
The optimization problem may be solved using, for example, algorithm 400 shown in
In 410, algorithm 400 may compute the limiting reliability performance for the first l links
for w=1, 2, . . . , k using the recursive method for calculating network coding reliability as discussed above.
In 420, algorithm 400 may determine the minimal integer xm≥0 that satisfies {tilde over (f)}r(xm)>1−ϵ using the common binary search/bisection method, as {tilde over (f)}r is a single variable function. Where x′m denotes the minimal value, if the incurred delay gm(x′m)>D, then the delay constraint cannot be met on this set of transmission links and algorithm 400 declares a failure. Otherwise algorithm 400 may continue with 430. As should be understood, by fixing xm=x′m on the sub-6 GHz link and transmitting finite numbers of packets x1l=(x1, x2, . . . , xl) on the HFB links, the NC decoding success probability may be expressed using equation (4) above and expressed by:
which is a function of the numbers of packets transmitted on the HFB links and may be computed using equation (2) above and the recursive method for calculating network coding reliability as discussed above.
In 430, the goal is to find the minimal integer ñ≥0 that satisfies {circumflex over (f)}r(x1l)>1−ϵ using a binary search/bisection method to map a given ñ (the total number of packets transmitted over the HFB links) to x1l (the numbers of packets distributed to the individual HFB links). In a binary search, it takes the largest number and continues to half the number until the calculated performance requirement is not met. Then, it averages the last number for ñ and the current number for ñ. The mapping may be done, for example, by an equalized mapping method, a steepest decent mapping method, etc. when used in the binary search. In an equalized mapping method, for example, q may be the quotient and r may be remainder of dividing ñ by l, thus ñ=ql+r with 0≤r<l. Then, the equalized mapping method sets r coordinates of x1l to be q+1 while it sets the remaining l−r coordinates to be q. For example, the equalized method may set x1= . . . =xr=q+1 and xr+1= . . . =xl=q. This method may provide for minimal delay on the HFB links when used in the binary search . . .
A steepest descent mapping method aims to achieve the best reliability {circumflex over (f)}r(x1l) over the HFB links with low complexity and, in doing so, tries to output the smallest possible ñ when used with the binary search. Given the total number of encoded packets ñ=Σi=1lxi to be transmitted over the HFB links, the steepest descent method may try to find x1l=(x1, x2, . . . , xl) (i.e., the numbers of packets distributed to the individual links) to maximize the NC decoding success probability expression {circumflex over (f)}r(x1l). The flowchart of an example of the steepest decent method is shown in
In 510, the steepest decent mapping method initializes x1l=(x1, . . . , xl) to be an arbitrary allocation of ñ packets. For example, the initial allocation may be an equalized allocation (i.e., the output of the equalized method discussed above), where the difference of the number of allocated packets between any two links is no more than 1. For 1≤i,j≤l with i≠j and xi>0, the expression {tilde over (x)}1l=({tilde over (x)}1, . . . , {tilde over (x)}l) may be an allocation obtained from (x1, . . . , xl) by moving 1 packet from link i to link j. In 520, for every such (i, j) pair, the steepest decent method calculates Δij:={circumflex over (f)}r({tilde over (x)}1l)−{circumflex over (f)}r(x1l), which is the change of decoding success probability. For all other values of (i, j) set Δij=0. The goal is in 530, which is to find (i*, j*) that achieves Δmax:=max{Δij: 1≤i,j≤l}, where (i*, j*) denotes the index pair that maximizes Δij among all (i, j). If, in 540, the maximum value is 0, then the steepest decent method may stop and output, at 550 (x1, . . . , xl) as the final packet allocation (e.g., in this case, a local optimum is found). Otherwise the steepest decent method may, in 560, update (x1, . . . , xl) by moving 1 packet from link i* to link j*, and then go back to 520.
The minimal ñ found above with a given mapping method is denoted by ñ′ and the corresponding packet distribution on the HFB links is denoted by x′1l=(x′1, x′2, . . . , x′l). The equalized method may be particularly suitable for homogeneous HFB links, meaning that all (e1, e2, . . . , el) are the same and all (α1, α2, . . . , αl) are the same. In such a case, the equalized distribution may be optimal and may achieve the best reliability. The steepest descent method may be particularly suitable for heterogeneous HFB links, meaning that the parameters may be different across the links. As should be appreciated, while the equalized method and the steepest decent method have been described as examples of ways to find the minimal integer ñ≥0 that satisfies {circumflex over (f)}r(x1l)>1−ϵ in the binary search, other suitable searching methods may be used to determine the optimal reliability and guarantee to output the smallest ñ, including, for example, exhaustive searching. As should be understood, however, other search methods such as exhaustive searching may be computationally expensive, due to their high complexity.
Returning to
Described below are numerical results of two multi-link scenarios that demonstrate how the above-described linear packet network coding scheme may improve the performance. In both scenarios, the established transmission links include 1 sub-6 GHz link and up to L=4 HFB links. In the first scenario, the parameters of all HFB links are the same, and these are listed below together with the parameters for the sub-6 GHz link:
As discussed earlier each HFB link may be in the blocked state and cannot be used for transmission when an NC group is ready for transmission. For purposes of modelling the scenario, the blockage time was assumed to be a constant (0.5 s). With the blocker arrival rate λi (0.2 bl/s), the probability of an HFB link i being in the blocked state at any given time is 0.0952. Each upper layer packet is divided into k segments (i.e., a predefined number of equally-sized lower layer packet segments) of a fixed and equal size of 1500 bytes for the purpose of linear packet network coding. We assume that on each link it takes exactly one TTI to transmit a segment (Ti=1 TTI). The reliability requirement for the upper layer packet is 10−6, which cannot be achieved without the help of a sub-6 GHz link, even using the maximum number of HFB links (when L=4), as the probability of all of them being blocked is 0.09524≈8×10−5.
Adding 1 sub-6 GHz link may help meet this reliability target if the required delay bound D can be supported on the sub-6 GHz link. For each number of initially available HFB links l, where 0≤l≤L, the recursive method discussed above with respect to
Given the resource-expensive nature of a sub-6 GHz link, being able to offload more traffic onto more HFB links may be advantageous from a resource cost perspective.
In contrast,
In the second scenario, all the parameters are the same as the first scenario except that the parameters ei and λi for the HFB links are now randomly generated, within the range 0.01˜0.1 and 0.1˜1, respectively. The simulation generates approximately 1000 random scenarios and obtains the cumulative distributions of the results. The simulation applies the optimization algorithm 400 discussed above with respect to the
In this scenario and with this simulation,
The performances of using the steepest descent mapping method to optimize the packet distribution over the HFB links was compared with using the exhaustive searching method, which is guaranteed to find the optimum packet distribution. For this simulation, approximately 100 random scenarios were run. In all cases, the steepest descent algorithm outputs the same packet distribution as exhaustive searching, so it was able to achieve the optimum in all 100 random scenarios. In addition, the distribution of runtimes of the two algorithms (accounting for different k) are plotted in
Device 1300 includes processing circuitry 1310 connected to storage 1320. In addition to or in combination with any of the features described in the following paragraphs, processing circuitry 1310 is configured to divide an upper layer packet into a predefined number of equal-sized segments. In addition to or in combination with any of the features described in the following paragraphs, processing circuitry 1310 is further configured to encode the segments with a linear packet network coding to generate a set of network coded packets. In addition to or in combination with any of the features described in the following paragraphs, processing circuitry 1310 is further configured to allocate, for transmission to a destination node over two or more transmission paths, subsets of the set of network coded packets to corresponding ones of the two or more transmission paths. In addition to or in combination with any of the features described in the following paragraphs, processing circuitry 1310 is further configured to transmit to the destination node each subset of the subsets of network coded packets on its corresponding transmission path of the two or more transmission paths.
Furthermore, in addition to or in combination with any of the features described in this or the previous paragraph, the processing circuitry 1310 configured to encode and allocate may include the processing circuitry 1310 configured to determine a total number of packets in the set of network coded packets based on the predefined number of segments and a size of each subset, encode the segments with the linear packet network coding to generate the set of network coded packets based on a network coding configuration for the linear packet network coding and the total number of packets, allocate the subsets to corresponding ones of the two or more transmission paths based on the size of each subset. Furthermore, in addition to or in combination with any of the features described in this or the previous paragraph, processing circuitry 1310 may be further configured to determine the total number of packets and the size of each subset based on an algorithm that relates the predefined number, a reliability target, and a threshold delay for packet transmission to the total number of packets and the size of each subset based.
Furthermore, in addition to or in combination with any of the features described in this or the previous two paragraphs, the algorithm may further relate, for each of the two or more transmission paths, a packet erasure probability and a blockage probability to the total number of packets and the size of each subset for its corresponding transmission path. Furthermore, in addition to or in combination with any of the features described in this or the previous two paragraphs, processing circuitry 1310 configured to determine the size of each subset may include processing circuitry 1310 configured to determine a reliability of the network coding configuration based on a reliability algorithm that relates, for each of the two or more transmission paths, the predefined number, the packet erasure probability, and the blockage probability to a decoding success probability. Furthermore, in addition to or in combination with any of the features described in this or the previous two paragraphs, the reliability algorithm may include a recursive calculation of the decoding success probability.
Furthermore, in addition to or in combination with any of the features described in this or the previous three paragraphs, at least one of the two or more transmission paths may include a sub-6 GHz frequency band link and others of the two or more transmission paths may include high frequency band (HFB) links. Furthermore, in addition to or in combination with any of the features described in this or the previous three paragraphs, at least one of the two or more transmission paths may be within a sub-6 GHz frequency band and others of the two or more transmission paths may be within a high frequency band (HFB), wherein processing circuitry 1310 may be further configured to determine the total number of packets and the size of each subset based on a limiting reliability performance of the HFB links, a minimal size of the subset corresponding to the sub-6 GHz frequency band link to be delivered to the sub-6 GHz link, and/or an optimized size of the subsets corresponding to the HFB links. Furthermore, in addition to or in combination with any of the features described in this or the previous three paragraphs, processing circuitry 1310 may be further configured to determine the size of each subset of encoded packets further based on a binary search with a steepest descent algorithm. Furthermore, in addition to or in combination with any of the features described in this or the previous three paragraphs, processing circuitry 1310 may be further configured to determine the optimized size of the subsets corresponding to the HFB links based on a binary search with an equalized distribution algorithm.
Method 1400 includes, in 1410, dividing an upper layer packet into a predefined number of equal-sized segments. Method 1400 also includes, in 1420, encoding the segments with a linear packet network coding to generate a set of network coded packets. Method 1400 also includes, in 1430, allocating, for transmission to a destination node over two or more transmission paths, subsets of the set of network coded packets to corresponding ones of the two or more transmission paths. Method 1400 also includes, in 1430, transmitting to the destination node each subset of the subsets of network coded packets on its corresponding transmission path of the two or more transmission paths.
While the disclosure has been particularly shown and described with reference to specific aspects, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims. The scope of the disclosure is thus indicated by the appended claims and all changes, which come within the meaning and range of equivalency of the claims, are therefore intended to be embraced.