An Intelligent QoS Algorithm for Home Networks
An Intelligent QoS Algorithm for Home Networks
4, APRIL 2019
Authorized licensed use limited to: Nvidia Corp. Downloaded on July 22,2020 at 08:34:41 UTC from IEEE Xplore. Restrictions apply.
HWANG et al.: INTELLIGENT QoS ALGORITHM FOR HOME NETWORKS 589
Consider a set of thresholds {η1 , . . . , ηL−1 } satisfying ηi < ηj Algorithm 1 Proposed QoS Management Algorithm
for i < j. Let interval Ik = (ηk−1 , ηk ], for k = 2, . . . , L − 1, Require: initial T = {xi , yi , i = 1, . . . , p}, S, q, and aq .
and I1 = (−∞, η1 ], IL = (ηL−1 , ∞). Let a service response 1: Initialize the optimal bandwidth allocation xOq by (4).
level y be a quantized ERAB, given by
2: loop
y = k when ERAB ∈ Ik , (2) 3: if service required then
4: Carry out the service based on xOq .
where 1 ≤ k ≤ L, and L is the number of response levels. A
QoS level can be specified for a service in terms of service 5: Measure the ERAB defined in (1).
responses. Let Q be the total number of QoS levels available 6: Compute y from ERAB by (2).
for a service. An integer aq is assigned to each QoS level 7: {xp+1 , yp+1 } ← {xOq , y}.
q, q = 1, . . . , Q. When a service is delivered with QoS 8: P ROFILE _U PDATE(T , xp+1 , yp+1 , S, p, aq )
level q, its service response level is expected to be higher than 9: Compute new xOq based on the new T by (4).
(or equal to) aq , where ai < aj for i < j. We can then observe 10: end if
from (2) that a service at the service level q is expected to have 11: end loop
ERAB larger than η(aq −1) . The expected ERAB can be viewed
as the additional reserved bandwidth for a service. Higher QoS
levels have larger expected ERABs so that packet losses are Algorithm 2 Profile Updating Algorithm
less likely when the source data rate surges unexpectedly. 1: procedure P ROFILE _U PDATE (T , xp+1 , yp+1 , S, p, aq )
Our goal is to find an optimal bandwidth allocation x based 2: if p < S then
on a profile T = {xi , yi , i = 1, . . . , p} by the GRNN, where 3: T ← T ∪ {xp+1 , yp+1 }, p ← p + 1.
xi is a bandwidth allocation, and yi is its service response. 4: else
Given x and T , the GRNN first computes
p 5: Find i∗ by (5), xi∗ ← xp+1 , yi∗ ← yp+1 .
yi W (x, xi ) end if
y∗ = i=1 p , (3) 6:
i=1 W (x, xi ) 7: return T , p.
8: end procedure
where W (x, xi ) = exp( −D(x,x σ2
i)
), and D(x, xi ) is the
squared distance between x and xi . Let ŷ be the prediction of
the service response, which is obtained by rounding y∗ in (3).
In the cases the rounded number is less than 1 or larger than lower or maintain the total bandwidth for the resources
L, we set ŷ = 1 and L, respectively. consumption reduction. Consider a service with QoS level q.
Let Bj is the maximum bandwidth at the link j. The search We first note that the set Oq can be rewritten as
space for bandwidth allocation is given by B = {x : xj = Oq = {x : y∗ ≥ aq − 1/2}. (6)
cΔ, 0 ≤ xj ≤ Bj }, where Δ > 0 is the search step size, c ≥ 0
is an integer. Let Oq be the set of the bandwidth allocations From (3) and (6), we see that y∗ and Oq are dependent on
x predicted to be at QoS level q. It can be found by Oq = the profile size p. Let Oq (p) be the set Oq with profile size p.
{x : ŷ ≥ aq }. Let xOq be the bandwidth allocation satisfying Substituting (3) to (6), we obtain
p
xOq = min |x|. (4) yi W (x, xi ) 1
x∈Oq Oq (p) = {x : i=1 p ≥ aq − }. (7)
i=1 W (x, xi ) 2
The allocation xOq is then used for the service in the proposed
It can be shown that (7) is equivalent to
algorithm. Algorithm 1 summarizes the operations of the pro-
posed algorithm. Algorithm 2 is used for the profile updating. Oq (p) = {x : C1 + C2 ≥ C3 }, (8)
Let S be the maximum profile size. When the current profile L
size p is less than S, the new bandwidth allocation xp+1 and where C1 = u=aq (u − aq )W (x, xi ), C2 =
1
p ai∈I u
q −1
new response yp+1 are appended to the profile, and the size 2 i=1 W (x, xi ), C3 = u=1 i∈Iu (aq −u)W (x, xi ), and
p is incremented by 1. When p reaches S, the profile T is Iu = {i : 1 ≤ i ≤ p, yi = u}. Note that all the terms C1 , C2
updated by replacing {xi∗ , yi∗ } with {xp+1 , yp+1 }, where and C3 in (8) are positive.
We first investigate the impact on bandwidth allocation
argmini∈P D(xp+1 , xi ) if yp+1 ∈ N , after appending a new record {xp+1 , yp+1 } to the profile T .
i∗ = (5)
argmini∈N D(xp+1 , xi ) otherwise, Two scenarios are considered separately: yp+1 ≥ aq and
yp+1 < aq . In the scenario with yp+1 ≥ aq , a record with
and N = {1, . . . , aq − 1} and P = {aq , . . . , L} are the set of positive response is received. It can be shown that
negative responses and positive responses, respectively.
1
Oq (p+1) = {x : C1 +C2 +(yp+1 −aq + )W (x, xp+1 ) ≥ C3 }.
2
III. Q O S-AWARE BANDWIDTH A LLOCATION (9)
A major feature of the proposed QoS algorithm is that it
Clearly, with yp+1 ≥ aq , all the terms in (9) are positive.
is QoS aware. The algorithm will increase the total band-
Consequently, by comparing (8) with (9), it follows that
width to a service for delivery quality improvement for
a negative response. Alternatively, a positive response will Oq (p + 1) ⊇ Oq (p), when yp+1 ≥ aq . (10)
Authorized licensed use limited to: Nvidia Corp. Downloaded on July 22,2020 at 08:34:41 UTC from IEEE Xplore. Restrictions apply.
590 IEEE COMMUNICATIONS LETTERS, VOL. 23, NO. 4, APRIL 2019
p+1
From (4) and (10), we get Because 0 < W (x, xi ) ≤ 1, it follows that i=1 W (x, xi ) →
∞ as p → ∞. Therefore, Δy∗ → 0 as p → ∞. That is,
|xOq (p+1) | ≤ |xOq (p) |, when yp+1 ≥ aq . (11)
we can decrease the variation of y∗ by increasing profile size
Therefore, after appending a new record yp+1 ≥ aq , our p. This will result in lower variation in bandwidth allocation
algorithm lowers the total bandwidth for the next service. For xOq. To enforce steady bandwidth allocation, a lower bound
the scenario yp+1 < aq , it can be shown that on pi=1 W (x, xi ) can be pre-specified. This is equivalent to
imposing a lower limit on profile size.
1
Oq (p+1) = {x : C1 +C2 ≥ (aq −yp+1 − )W (x, xp+1 )+C3 }.
2
(12) IV. E XPERIMENTAL R ESULTS
The proposed algorithm has been deployed in a real
Because yp+1 < aq , all terms in (12) are positive. We then
LAN network for performance evaluation. As shown in
conclude from (8) and (12) that Oq (p+1) ⊆ Oq (p). Therefore,
Figure 2, there are three bridges in the LAN, namely bridges
|xOq (p+1) | ≥ |xOq (p) |, when yp+1 < aq . (13) 1, 2 and 3. Two Gigabit Ethernet links are connected between
bridges 1 and 2. A link aggregation technique is employed for
We next consider the cases where an old record is removed the combination of the links. Given a service with source data
from the profile. Let {xi∗ , yi∗ } be the record to be deleted. rate R, a data distribution scheme well suited to the proposed
When a record with positive response is removed, yi∗ ≥ aq . algorithm is then employed. Let rj be the source data rate
It can then be shown that assigned to the jth link. The data distribution is then based
1 on rj = Rxj /|x|. The Wi-Fi is used for the connection of
Oq (p−1) = {x : C1 +C2 ≥ (yi∗ −aq + )W (x, xi∗ )+C3 }.
2 bridge 3 to the other two bridges. Each bridge is implemented
(14) by Raspberry Pi 3 B+. In each bridge, the Open vSwitch [9]
Because all terms in (14) are positive, it can be derived from is deployed for packet shaping and traffic queuing. The source
(8) and (14) that Oq (p − 1) ⊆ Oq (p), and data packets of the target service are produced by iPerf [10].
They are delivered by user datagram protocol (UDP). The
|xOq (p−1) | ≥ |xOq (p) |, when yi∗ ≥ aq . (15) maximum throughput provided by the Ethernet adapter of each
When a negative response is removed (yi∗ < aq ), we see that bridge is 300 Mbps. Up to seven 40-Mbps services can be
delivered by the proposed system.
1 The proposed algorithm is deployed in bridge 3 of the
Oq (p−1) = {x : C1 +C2 +(aq −yi∗ − )W (x, xi∗ ) ≥ C3 }.
2 LAN. It first receives ERAB reports from the other bridges.
(16) From the collected information, it then computes the new
Again, all the terms are positive in (16). Therefore, we bandwidth allocation, which is sent to bridge 1 for packet
conclude from (8)(16) that Oq (p − 1) ⊇ Oq (p), and shaping operations by Open vSwitch. The OpenFlow protocol
is used for the bandwidth information delivery. The packet
|xOq (p−1) | ≤ |xOq (p) |, when yi∗ < aq . (17) shaping operations are based on token bucket algorithm, where
As shown in Algorithm 2, when profile size p < S, its a dedicated token bucket is assigned to each link. The token
profile updating process is simply a record appending opera- rate of a token bucket associated with a link is identical to the
tion. Otherwise, the updating process is a record replacement allocated bandwidth to that link.
operation, which can be viewed as an appending operation The evaluation of the two-link system shown in Figure 2
followed by a removal one. Therefore, from (11)(13)(15) for QoS management for 40 transmissions is revealed in
and (17), it can be shown that Algorithm 1 is QoS-aware. Figure 3. In the experiment, the network system has three QoS
The selection of maximum and minimum profile size can levels (i.e., Q = 3) and twelve response levels (i.e., L = 12).
be dependent on the computation complexities for bandwidth We set {a1 , a2 , a3 } = {7, 9, 11} and {η1 , . . . , η11 } =
allocation, and the variation of prediction y∗ in (3), respec- {−11.25, −8.75, −6.25, −3.75, −1.25, 1.25, 3.75, 6.25, 8.75,
tively. It can then be derived from (3) that the computation time 11.25, 13.75} (in Mbps). The ERAB at QoS levels 1, 2 and
then grows linearly with the profile size p. Consequently, when 3 are then expected to be larger than 1.25 Mbps, 6.25 Mbps
the limitation on computation time is imposed, the maximum and 11.25 Mbps, respectively. The initial profile T contains
profile size S can then be determined. One way to find the 16 records. The maximum profile size is S = 31 records. That
limitation is from the usage rate of the bridge responsible for is, for the first 15 transmissions, only the record appending
the computation of bandwidth allocation. When the usage rate operations are carried out for updating the profile. The record
is above a pre-specified threshold, the available computation replacement is then executed afterwards. The maximum
capacity for further extension of the profile may be small. bandwidth at link 1 and link 2 for bandwidth allocation for
In this case, the computation time limitation is reached. a single service are B1 = 50 Mbps and B2 = 30 Mbps,
Let y∗ (p) be y∗ in (3) when the profile size is p. Let Δy∗ = respectively.
|y (p + 1) − y∗ (p)| be the variation of y∗ when the profile
∗ The source data rate R and the total allocated bandwidth
size grows from p to p + 1. It can be shown from (3) that for each QoS level are shown in Figure 3. An additional
background service is also transmitted with source data rate
L−1
Δy∗ ≤ p+1 . (18) 40 Mbps. In this way, the effectiveness of the QoS manage-
i=1 W (x, xi ) ment in the presence of other data packets can be observed.
Authorized licensed use limited to: Nvidia Corp. Downloaded on July 22,2020 at 08:34:41 UTC from IEEE Xplore. Restrictions apply.
HWANG et al.: INTELLIGENT QoS ALGORITHM FOR HOME NETWORKS 591
TABLE I
T HE C OMPARISONS OF VARIOUS I MPLEMENTATIONS ON RAB, DLR,
C OMPUTATION T IME AND BANDWIDTH VARIATION AT Q O S L EVEL 2
Fig. 3. The source data rate and total bandwidth allocation of the proposed
algorithm at three QoS levels.
Authorized licensed use limited to: Nvidia Corp. Downloaded on July 22,2020 at 08:34:41 UTC from IEEE Xplore. Restrictions apply.