Conference PaperPDF Available

Cache content placement using triangular network coding

Authors:

Abstract and Figures

Video is one of the main causes of the dramatic increase in data traffic over cellular networks. Caching is an effective mechanism that decreases the download rate from base stations and, as a result, the load on the base station, by storing the most popular files or videos on the caches and providing them to the users. The problem of efficient content placement on the caches is known as an NP-complete problem. In this paper, we study the role of network coding by increasing the amount of available data to the users through the cache nodes. We propose a network coding-based content placement method, and we compare it to the best uncoded content placement and the best triangular network coding strategies. Our method not only increases the amount of available data to the users, but also results in a fair distribution of data.
Content may be subject to copyright.
Cache Content Placement Using Triangular
Network Coding
Pouya Ostovari, Abdallah Khreishah, and Jie Wu
Department of Computer & Information Sciences, Temple University, Philadelphia, PA 19122
Department of Electrical & Computer Engineering, New Jersey Institute of Technology, Newark, NJ 07102
Abstract—Video is one of the main causes of the dramatic
increase in data traffic over cellular networks. Caching is an
effective mechanism that decreases the download rate from base
stations and, as a result, the load on the base station, by storing
the most popular files or videos on the caches and providing
them to the users. The problem of efficient content placement
on the caches is known as an NP-complete problem. In this
paper, we study the role of network coding by increasing the
amount of available data to the users through the cache nodes.
We propose a network coding-based content placement method,
and we compare it to the best uncoded content placement and
the best triangular network coding strategies. Our method not
only increases the amount of available data to the users, but also
results in a fair distribution of data.
Index Terms—Linear network coding, triangular network
coding, caching, content placement, wireless networks.
I. INT ROD UC TI ON
Video is one of the main causes of the dramatic increase in
data traffic over cellular networks. This growth of data traffic
between the base station, e.g. 4G, and the users will lead to
a slowdown of the cellular systems. Live streaming uses a
relatively tiny fraction of the overall video traffic. In contrast,
most video traffic is generated by encoded and pre-stored
videos on large video on-demand servers, such as YouTube
and Netflix, and a large portion of the video on-demand traffic
corresponds to a few popular files [1]. For example, 20-30%
[2], [3] of the web traffic on the Internet is for YouTube and
Netflix.
Based on this observation, the concept of caching helpers
has been introduced [1], [4]–[8]. The authors in [1] propose
a system architecture to achieve a high throughput. The main
idea is that caching can decrease the required amount of
communication between the base station and the users if there
is enough content reuse going on and if many users are
requesting the same few files. Therefore, the files are always
available locally to the users who are requesting them.
The cache nodes (helpers) are assumed to have a large
storage capacity and high-bandwidth wireless communication
capabilities. They can cache popular files and serve users’
requests. The caches work in conjunction with the base station,
which provides the users with files that cannot be obtained
from the caches (Figure 2). It is obvious that the base station
will be able to serve more users if we can decrease the load
on the base station. For this purpose, it it critical to use a
mechanism to increase the number of available files through
the cache nodes to the users.
ܿ
ͳ
ܿ
ʹ
ܿ
Ͷ
ݑ
ͳ
ܿ
͵
ݑ
͵
Caches
Users
Server
ݑ
ʹ
Fig. 1. Setting: there are musers and ncaches in the network.
The main challenge in the wireless distributed caching
problem is determining which files should be stored on each
cache. In the case where each user only has access to one
cache, the most popular file should be stored on each cache.
However, when each user has access to multiple caches, the
placement of files on the caches becomes nontrivial. The
authors in [1] show that this problem is NP-complete.
Network coding [9]–[15] can be used to increase the ef-
ficiency of the content placement on cache nodes. Linear
network coding is introduced in [10], and it is shown in [16]
that linear network coding achieves the capacity for the single
multicast session problem. In this case, each node generates
and sends linear combinations of the received packets over
a finite field. A received packet is called innovative if its
coefficient vector increases the rank of the matrix formed
by the received coefficient vectors. When a node receives
an innovative packet, the node stores this packet and the
corresponding coefficients vector in its packet buffer and
coefficients buffer, respectively. Each relay node continues this
process. Assume that koriginal packets are linearly coded
together. After receiving klinearly independent coded packets,
the destination node will be able to decode the coded packets
and retrieve all of the original packets. The decoding process
is done by using Gaussian Elimination to solve a system of
linear equations. In [17], it is shown that randomly selecting
the coefficients of the coded packets achieves the capacity
asymptotically with respect to the finite field size.
Consider Figure 2 (a), in which there are three users u1,u2,
and u3. Each user is connected to two caches, and each cache
is adjacent to two users. Assume that we want to provide the
users with access to two files, p1and p2. Also, assume that
ܿ
ͳ
ݑ
ͳ
ݑ
ʹ
ܿ
͵
ߙʹ݌ͳ൅ߚʹ݌ʹ
ߙ͵݌ͳ൅ߚ͵݌ʹ
ܿ
ʹ
ܿ
ͳ
ݑ
ͳ
ݑ
ʹ
ܿ
͵
ݑ
͵
݌ͳ
ܿ
ʹ
ݑ
ܿ
Cache
User
(a) (b)
݌ʹ
݌ͳ
ݑ
͵
Fig. 2. Motivation: the benefit of using linear network coding for content
placement.
the size of the caches and the files are the same. Without using
network coding, the efficient way to place the files is to place
one of them on two caches and place the other one on the last
cache, as shown in Figure 2 (a). In this case, users u1and u3
have access to both of the files, but user u2has access to just
file p1. In Figure 2 (b), three random linear combinations of
the files are stored on the caches. Here, αand βare random
coefficients. In this case, each user has access to two random
linearly coded files, so they are able to decode the coded files
and retrieve both p1and p2.
In [4], [18], the authors assume that the request of each
user is known, and they propose a joint bandwidth allocation
and content placement approach. In this paper, we consider a
different problem. We address the problem of layered video
placement on caches using network coding. In this problem,
the video layers have priority, and the i-th video layer will not
be useful unless all of the layers that have a higher priority
(smaller indices) are available to the user. We propose a con-
tent placement approach that achieves fairness in providing the
layers to the users, while increasing the number of available
video layers to the users.
The remainder of the paper is organized as follows. In
Section II, we introduce the setting and problem definition. We
propose our solution to the problem in Section III. Simulation
results will be presented in Section IV. Section V concludes
the paper.
II. SE TT IN G
We consider a single cell, equipped with a base station (such
as 4G), which serves musers, u1, .., umwith the help of n
independent caches, c1, .., cn. The cache nodes are placed in
fixed positions in the cell, and each cache node can cover a
subset of the users based on their locations. There are hvideo
layers, p1, .., phon a base station where h < n. The capacity
of the caches is equal to the size of the video layers, and
if a layer is not available on any adjacent caches to a user,
the user will contact the central server to download the layer.
However, the cost of downloading from the server is more
than downloading from the cache nodes.
The key point is that, if there is enough content reuse, such
that many users are requesting the same video layers, caching
can replace the communication between the users and the base
station. We assume that in order to use the layer pi, all of the
layers pjj, 0jishould be available to the user. We
TABLE I
THE S ET OF S YM BOL S USE D IN T HIS PA PER .
Notation Definition
mThe number of users
nThe number of caches
hThe number of video layers
uiThe i-th user
cjThe j-th cache
pkThe k-th layer
diThe degree of the ith user
fiThe number of filled out adjacent caches to the ith user
riThe rank of the coded video layers on the filled out
adjacent caches to the ith user
siThe number of triangular codes of degree ithat are
available to a user
fThe fairness
fThe unfairness
vThe average number of available video layers to the users
qiThe number of available video layers to the ith user
represent the availability of the video layers to the users with
matrix Z=zij . If the layers p1to piare available to user uj,
then zij = 1; otherwise, zij = 0. The set of symbols used in
this paper is summarized in Table I. Our goal is to minimize
the number of contacts to the central server for layers retrieval.
In other words, we want to maximize the total number of video
layers that are available to the users. Therefore, our objective
becomes:
max
h
i=1
n
j=1
zij (1)
The solution is straightforward when the cache nodes are not
dense and each user is connected to a single cache. In this case,
each cache should store the first video layer (with the smallest
index), since other layers are not useful without accessing to
this layer. However, if the cache nodes deployment is dense
enough, each user will have more than one cache node that is
a part of a distributed caching system. In this case, the content
placement problem becomes more complicated because of the
correlation among the cache nodes. It is shown in [1] that the
uncoded distributed caching problem is NP-complete.
III. CON TE NT PL ACE ME NT AP PROACH US IN G NET WO RK
COD IN G
In the problem of content placement using network coding,
each video layer can be coded with any other layers. Therefore,
there are 2h1possibilities for coding the video layers, where
his the number of layers on the server (the empty set should
not be considered). On the other hand, we have ncaches in
the network; in total, there are (2h1)ndifferent possible
placements. To calculate the number of video layers that are
available to the users in each placement, we need to calculate
the layers that can be retrieved by each user. Note that we
cannot use the Gaussian Elimination directly on the coded
video layers that are available to a user nor compute the rank
of the available layers. This is because by using Gaussian
Elimination, or the overall rank of the coded video layers, we
can just find out if all of the original layers are decodable or
(a) (b)
݌ͳ
݌͵
݌ʹ
(c)
݌ͳ
݌
ͳ
݌
ʹ
݌ͳ݌ʹ݌͵
݌
ͳ
݌
͵
݌ͳ݌ʹ
݌ͳ݌ʹ݌͵
݌ͳ
݌͵
݌ʹ
, ,
, ,
݌
ʹ
݌
͵
Fig. 3. (a) Original video layers. (b) General form of random linear network
coding. (c) Triangular network coding.
not. Therefore, we need to calculate the rank of each subset
of the coded packets that are available to a user or use the
Gaussian Elimination to decode the coded video layers. As a
result, the total complexity becomes (2h1)nmm
i=1(2di
1).
One approach to decrease the complexity of the problem
is to use triangular network coding [19], which is a kind of
random linear network coding. In triangular network coding,
the encoded video layers are in the form of k
j=1 αjpj,
where 1khand αjare random coefficients. In other
words, each coded layer is a random linear combination of the
first koriginal layers. Therefore, there are just npossibilities
for coding noriginal layers. Figures 3 (b) and (c) show
the possible coded layers of the original layers in Figure 3
(a) using the general form of network coding and triangular
coding, respectively. As shown in Figures 3 (b), there are
7 = 231choices for coding 3 original packets in the case
of the general form of random linear network coding, but just
3 possibilities for the case of triangular network coding. The
coefficients are not shown in the figures for simplicity. For
example, p1+p2means α1p1+α2p2, where α1and α2are
two random coefficients.
We prefer using triangular network coding over the general
form of network coding for three reasons. First, it limits the
coding space of the coding problem. Second, based on our
setting, the i-th video layer is not useful without accessing
to the layers with a smaller index. This assumption has the
same nature as the coding rule in triangular network coding.
Third, in addition to the lesser complexity of triangular coding,
compared with linear coding, we do not need to use Gaussian
Elimination to check the number of decodable video layers at
each user. This checking can be done by a simple algorithm
in order of O(h2)[20]. Assume that skrepresents the number
of coded packets in the form of k
j=1 αjpjthat are available
to a user. In this scheme, the user can decode the first ilayers
if i
j=iksjk+ 1,k[0, i 1]. The condition implies
that the rank of the coefficients matrix of the available encoded
video layers from coding any of the first ilayers is at least
i. Therefore, Gaussian Elimination will be able to decode the
first ilayers. For example, assume that three packets, α1p1,
α2p1+α3p2, and α4p1+α5p2+α6p3, are available to a user.
In this example, s31,s2+s32, and s1+s2+s33,
so all three layers can be decoded by the user.
Lemma 1: the complexity of the content placement using
triangular network coding is hn+2m.
Algorithm 1 Checking the number of decodable packets in
triangular coding
for i=1 to m do
decodability=True
for k=0 to i-1 do
if i
j=iksjk+ 1 then
decodability=False
if decodability=True then
number of decodable layers=i
ܿ
ͳ
ݑ
ͳ
ܿ
͵
݌ͳ
݌ͳ൅݌ʹ
݌ͳ൅݌ʹ൅݌͵
ܿ
Ͷ
ܿ
͸
ܿ
ʹ
ܿ
ͷ
ݑ
ͳ
ݑ
Ͷ
ݑ
͵
ݑ
͹
ݑ
͸
ݑ
ͷ
݌ͳ
݌ͳ൅݌ʹ
݌ͳ൅݌ʹ൅݌͵
(a)
ܿ
ͳ
ݑ
ͳ
ܿ
͵
݌ͳ
݌ͳ൅݌ʹ
݌ͳ൅݌͵
ܿ
Ͷ
ܿ
͸
ܿ
ʹ
ܿ
ͷ
ݑ
ͳ
ݑ
Ͷ
ݑ
͵
ݑ
͹
ݑ
͸
ݑ
ͷ
݌ͳ
݌ͳ൅݌ʹ
݌͵
(b)
Fig. 4. A comparison of triangular network coding and random linear coding.
Coefficients are not shown for simplicity.
Proof: In this case, there are just hdifferent coding
possibilities since 1kh. Therefore, the total number
of different placements will be hn. As mentioned before, the
number of decodable original video layers at each user can be
calculated in order on O(h2). Therefore, the total complexity
of checking all possible triangular coding placements becomes
hn+2m.
Although the complexity of triangular network coding is
much less than random linear coding, it might not achieve
efficiency compared to linear coding. Consider Figures 4 (a)
and (b), where the optimal placement using triangular and
random linear coding are shown in Figures 4 (a) and (b),
respectively. In these figures, coefficients are not shown for
simplicity. For example, p1+p2means α1p1+α2p2, where
α1and α2are random coefficients. In the case of triangular
network coding, user u4will not be able to decode any packet.
However, when we use random linear coding, this user can
decode video layers p1and p3. Note that, based on our setting,
the layer p3is not useful for user u4since the user does not
have access to the layer p2.
A. Network Coding-based Content Placement Heuristic
Although the complexity of finding the optimal placement
using a triangular network coding is much less than random
linear network coding, it is still high. For this reason, we
propose a network coding-based content placement heuristic
(NCCP) in this section. Based on the proposed setting, we
know that the video layer piis not useful to a user unless the
layers pjj, 0< j < i 1are available to the user. Based on
this observation, we give more priority to the first layer, and
we try to provide it to all of the users. Then, if it is possible,
we provide the second layer to the users. In more detail, we try
to provide the second video layer to as many users as possible.
This process is repeated until we cannot provide the content
pito any user for a given 1< i h. This method can also
provide a fair solution to the content placement problem. This
is because the algorithm tries to provide each layer that has a
greater priority (smaller index) to as many users as possible,
and then the algorithm will start to provide the next layer,
which is less popular to the users. We can observe that this
solution has a greedy nature, and thus we can use a greedy
algorithm to implement this solution.
In each step, our greedy algorithm selects one of the users
and fills up its adjacent cache with random linearly coded
video layers. Because of the greedy nature of our algorithm,
the generated coded layer will always be a triangular code.
The user selection rules are as follows:
Rule 1: the user with the minimum degree is selected.
The degree of user ui, represented as di, is defined as
the number of its adjacent caches.
Rule 2: in the case where two users have the same degree,
the user with a larger number of filled-up cache nodes is
selected.
Rule 3: if two users have the same degree and the same
number of filled caches, the user whose adjacent caches
have less cumulative ranks is selected.
We give more priority to Rule 1 compared to Rule 2 and
Rule 3. Also, the priority of Rule 2 is more that that of the Rule
3. The reason for selecting user uiwith the minimum degree is
that there are less content placement choices for adjacent cache
nodes to that user. If we do not start with such a user ui, it is
possible for us to fill the adjacent cache nodes to user uiwith
an undecodable packet. For example, in Figure 5, user u1has
just one adjacent cache. Consequently, we can just provide
video layer p1to this user. By selecting user u1and filing
its adjacent cache c1, we can reduce the number of choices
for cache c2, which is adjacent to user u2. Then, user u3is
selected, and its adjacent cache will be filled with p1. In this
example, if we start from user u2and fill its adjacent cache
nodes with random linear combinations of p1and p2, users u1
and u3will not be able to decode the coded video layers on
cache nodes c1and c3, respectively. Note that network coding
does not have any benefit in this example, and we use this
simple example just to describe our user selection policy.
After selecting the appropriate user based on Rules 1, 2,
and 3, the user’s neighboring cache nodes should be filled up.
Let dibe the degree of user ui. We represent the number of
user ui’s filled-up adjacent cache nodes and their cumulative
rank as viand ri, respectively. Assume that, in the current
ܿ
ͳ
ܿ
ʹ
ݑ
ͳ
ݑ
ʹ
ܿ
͵
ݑ
͵
Fig. 5. User selection rules.
Algorithm 2 Content placement
while There is an empty cache do
Select an unprocessed node uibased on Rules 1, 2, and
3
g=divi+ri
for each empty adjacent cache ckto user uido
Fill up cache ckwith g
j=1 αjpj
Tag node uias a processed node
iteration, user uihas been selected based on the rules. The
degree of this user is di, so this user cannot receive more
than the first divideo layers. On the other hand, viof the
caches are already filled, and their communicative rank is ri.
As a result, the maximum number of decodable layers to user
uiis divi+ri. Therefore, the algorithm fills up all of the
empty adjacent cache nodes to user uiwith a random linear
combination of the divi+rifirst video layers. Then, the
algorithm selects another unprocessed user by utilizing the
user selection rules, and the algorithm uses the same policy
to fill the cache nodes that are adjacent to the new user. The
proposed greedy algorithm is described in Algorithm 2.
Assume that user uiis selected, and all of the diadjacent
caches are empty. The algorithm fills up all of them with
di
j=1 αjpj. In this case, the user will have access to di
linearly independent coded video layers. Thus, the user will
be able to decode all of the encoded layers. Now, assume that
the degree of user ujis 3, and two of the adjacent caches are
filed with α1p1and α2p1. In this case, the rank of the filled
caches is 1. Therefore, it is not possible to provide 3 layers to
the user, and if we fill up the remaining unfilled cache with
a linear combination of p1,p2, and p3, the user will not be
able to decode the coded packets. As a result, based on our
algorithm, we code the first g= 3 2 + 1 layers together, and
assign α3p1+α4p2to the remaining cache.
Consider Figure 6, in which user u1has a minimum degree
of 2. As a result, in the first step, the content placement algo-
rithm selects user u1and places a random linear combination
of the first two layers on the cache nodes adjacent to the user
(caches c1and c2). After the first step, the user nodes u2,u3,
and u4have a degree equal to three. However, user u2has
two adjacent cache nodes that are filled. Consequesntly, in the
second round, the algorithm selects user u2and fills up the
remaining cache that is adjacent to the user, which is cache
c3. In this case, d2= 3,f2= 2, and r2= 2. Therefore,
ܿ
ͳ
ܿ
ʹ
ܿ
Ͷ
ݑ
ͳ
ݑ
ʹ
ݑ
Ͷ
ܿ
͵
ݑ
͵
݌ͳ݌ʹ
݌ͳ݌ʹ݌͵
݌ͳ݌ʹ
݌ͳ݌ʹ݌͵
Fig. 6. Content placement algorithm description. Coefficients are not shown
for simplicity.
we fill cache c3with a random linear combination of the
32 + 2 = 3 first packets. In the last round, the degree, the
number of filled-up caches that are adjacent to users u3and
u4, and their ranks are equal; thus, we select one of the users
randomly. Assume that we choose user u3. The algorithm fills
cache c4with a random coded layer of the first three layers.
Note that, in Figure 6, we do not show the coefficients of the
coded packets for simplicity.
IV. SIMULATION
In this section, we evaluate and compare the proposed
network coding-based cache placement method (NCCP) with
the best uncoded and triangular network coding placement
strategies. For this purpose, we implemented a simulator in
the MATLAB environment. In order to find the best uncoded
placement, we try all of the possible original video placements
on the caches, and we find the placement that provides the
largest amount of available video layers to the users. We
perform the same approach to find the best placement using
the triangular network coding.
A. Setting
We perform our simulations on random topologies with
different numbers of users and caches. For each setting, we
run the simulation for 1000 randomly generated topologies
(random adjacency of the users with the cache nodes). The
plots in this paper are based on the average outputs of the
simulation runs. The following metrics are compared in the
simulations:
1) Amount of available video layers to the users: the total
number of available layers to the users through the cache
nodes. Note that, based on the proposed setting, a layer
will not be useful to a user unless all of the layers with
a smaller index are provided to the user first.
2) Average utility: the utility of each user is defined as the
number of available layers to that user through its neigh-
boring caches (the cumulative rank of the neighboring
cache nodes) divided by the degree of the user.
3) Fairness: we define unfairness as the average difference
between the number of available layers to each user and
the average number of available layers to the users. We
represent the number of layers available to the i-th user,
unfairness, and fairness as qi,f, and f, respectively.
Based on the definition, we have f=m
i=1 |qie|
m,
8 12 16 20
20
30
40
50
60
70
Number of users
Number of available files
Optimal triangular coding
NCCP
No coding
(a)
8 12 16 20
20
30
40
50
60
70
Number of users
Number of available files
Optimal triangular coding
NCCP
No coding
(b)
Fig. 7. Total number of video layers that are available to the users. (a) n=5,
h=4. (b) n=7, h=4.
8 12 16 20
75
80
85
90
95
100
Number of users
Utility %
Optimal triangular coding
NCCP
No coding
(a)
8 12 16 20
75
80
85
90
95
100
Number of users
Utility
Optimal triangular coding
NCCP
No coding
(b)
Fig. 8. Utility of the content placement methods (the number of video layers
that are available to a user divided by its degree). (a) n=5, h=4. (b) n=7, h=4.
where e=m
i=1 qi
mis the average number of layers that
are available to the users. Fairness is defined as f=1
f.
B. Results
In the first experiment, we evaluate the total number of
video layers that are available to the users. In Figure 7 (a), the
number of cache nodes and layers are 5 and 4, respectively.
This figure shows that the optimal triangular network coding
can provide the largest number of layers to the users, which is
about 14% more than that of the best no-coding placement
strategy. Also, the NCCP approach can provide the users
with about 9% more video layers than the best no-coding
placement strategy. This difference might not be huge, but it
should be noted that finding the best no-coding placement is
NP-complete, and the complexity of finding such an optimal
non-coding placement is O(knn
i=1 di). As we increase the
number of users, the effect of network coding increases, which
leads to a larger difference between the coding approaches and
the no-coding method.
In Figure 7 (b), we change the number of cache nodes to 7,
and we repeat the previous experiment. In this figure, the total
number of available packets in the optimal triangular network
coding method is about 17% more than that of the best no-
coding placement. Also, the gain of the NCCP approach is up
to 12% more than the no-coding method. The figure shows that
8 12 16 20
5
6
7
8
9
10
11
12
Number of users
Fairness
Optimal triangular coding
NCCP
No coding
(a)
8 12 16 20
4
6
8
10
12
14
16
18
Number of users
Fairness
Optimal triangular coding
NCCP
No coding
(b)
Fig. 9. Fairness is equal to one divided by unfairness. Unfairness is defined
as the average difference between the number of video layers that are available
to each user and the average number of available video layers to the users).
(a) n=5, h=4. (b) n=7, h=4.
the efficiency of the network coding increases as we increase
the number of users.
Figures 8 (a) and (b) show the comparison between the
average utility of the three approaches. We define the utility
of a user as the fraction of the number of video layers that
are available to that user and the degree of the user. The idea
behind dividing by the user’s degree is that, in the best case,
the number of layers available to a user can be equal to its
degree. It can be inferred from Figure 8 (a) that the utility
of both the optimal triangular network coding and the NCCP
methods are about 13% and 10% more than the best no-coding
method, respectively. We change the number of caches to 7 in
Figure 8 (b). By comparing Figures 8 (a) and (b), we can find
that the utility in all of the methods increases as we increase
the number of caches. However, increasing the number of
caches has more of an effect on the NCCP method compared
to that of the other approaches.
In the last experiment, we evaluate and compare the fairness
of the methods. We define the unfairness (one divided by
fairness) as the average difference between the number of
layers that are available to each user and the average number
layers that are available to the users. Figure 9 (a) shows that
the fairness of the optimal triangular network coding and the
NCCP approaches are up to 90% and 75% more than that
of the best no-coding content placement strategy, respectively.
We increase the number of cache nodes in Figure 8 (b) from
5 to 7 and evaluate the fairness of the approaches. In this
setting, the fairness of the best no-coding approach is more
than 56% and 50% less than that of the the best triangular
network coding and the NCCP approaches, respectively.
V. CONCLUSION
In this paper, we study the effects of network coding on
increasing the amount of available data to the users through the
cache nodes in cellular networks. Providing a larger portion of
the data through the caches decreases the pressure on the base
station (such as 4G) and enables the base station to serve more
users. We propose a network coding-based content placement
method, and we compare it with the best uncoded content
placement strategy and the best triangular network coding
strategy. Our method not only increases the amount of video
layers that are available to the users, but it also results in a
fair distribution of the data.
ACK NOWLEDGMENT
This research was supported in part by NSF grants ECCS
1231461, ECCS 1128209, CNS 1138963, CNS 1065444, and
CCF 1028167.
REF ER EN CE S
[1] N. Golrezaei, K. Shanmugam, A. Dimakis, A. Molisch, and G. Caire,
“Femtocaching: Wireless video content delivery through distributed
caching helpers,” Arxiv preprint arXiv:1109.4179, 2011.
[2] A. Finamore, M. Mellia, M. Munaf`
o, R. Torres, and S. Rao, “Youtube
everywhere: impact of device and infrastructure synergies on user
experience,” in ACM SIGCOMM Conference on Internet Measurement,
2011, pp. 345–360.
[3] C. Labovitz, S. Iekel-Johnson, D. McPherson, J. Oberheide, and F. Ja-
hanian, “Internet inter-domain traffic,” in ACM SIGCOMM, 2010, pp.
75–86.
[4] H. Hao, M. Chen, A. Parekh, and K. Ramchandran, “A distributed
multichannel demand-adaptive P2P VoD system with optimized caching
and neighbor-selection,” in SPIE, 2011.
[5] J. Wang, C. Yeo, V. Prabhakaran, and K. Ramchandran, “On the role
of helpers in peer-to-peer file download systems: Design, analysis and
simulation,” in IPTPS, 2007.
[6] J. Wang and K. Ramchandran, “Enhancing peer-to-peer live multicast
quality using helpers,” in IEEE ICIP, 2008, pp. 2300–2303.
[7] H. Zhang, J. Wang, M. Chen, and K. Ramchandran, “Scaling peer-to-
peer video-on-demand systems using helpers,” in IEEE ICIP, 2009, pp.
3053–3056.
[8] Y. He and L. Guan, “Improving the streaming capacity in p2p vod
systems with helpers,” in IEEE ICME, 2009, pp. 790–793.
[9] S. Katti, H. Rahul, W. Hu, D. Katabi, M. M´
edard, and J. Crowcroft,
“Xors in the air: practical wireless network coding,” in ACM SIGCOMM,
2006.
[10] R. Ahlswede, N. Cai, S. Li, and R. Yeung, “Network information flow,”
IEEE Transactions on Information Theory, vol. 46, no. 4, pp. 1204–
1216, 2000.
[11] R. Koetter and M. Medard, “An algebraic approach to network coding,”
IEEE/ACM Transactions on Networking, vol. 11, no. 5, pp. 782– 795,
Oct 2003.
[12] P. Ostovari, J. Wu, and A. Khreishah, “Deadline-aware broadcasting in
wireless networks with local network coding,” in IEEE ICNC, Jan 2012.
[13] P. Ostovari, A. Khreishahand, and J. Wu, “Deadline-aware broadcasting
in wireless networks with network coding,” in IEEE GLOBECOM, Dec
2012.
[14] A. Khreishah, I. Khalil, P. Ostovari, and J. Wu, “Flow-based xor network
coding for lossy wireless networks,” IEEE Transactions on Wireless
Communications, vol. 11, no. 6, pp. 2321–2329, 2012.
[15] A. Khreishah, C. Wang, and N. Shroff, “Rate control with pairwise
intersession network coding,” IEEE/ACM Transactions on Networking,
vol. 18, no. 3, pp. 816–829, 2010.
[16] S. Li, R. Yeung, and N. Cai, “Linear network coding,” IEEE Transac-
tions on Information Theory, vol. 49, no. 2, pp. 371–381, 2003.
[17] T. Ho, M. M´
edard, R. Koetter, D. Karger, M. Effros, J. Shi, and
B. Leong, “A random linear network coding approach to multicast,
IEEE Transactions on Information Theory, vol. 52, no. 10, pp. 4413–
4430, 2006.
[18] S. Pawar, S. Rouayheb, H. Zhang, K. Lee, and K. Ramchandran, “Codes
for a distributed caching based video-on-demand system,” in Asilomar
Conference on Signals, Systems, and Computers, 2011.
[19] D. Wang, J. Liu, Q. Zhang, and F. Chen, “Cooperative coding and
caching for streaming data in multihop wireless networks,” EURASIP
Journal on Wireless Communications and Networking, vol. 2010, no. 10,
pp. 2:1–2:13, 2010.
[20] D. Koutsonikolas, Y. Hu, C. Wang, M. Comer, and A. Mohamed,
“Efficient online WiFi delivery of layered-coding media using inter-
layer network coding,” in 31st International Conference on Distributed
Computing Systems (ICDCS), 2011, pp. 237–247.
... The results showed that by introducing uncoded distributed caching, a large number of users can be served. This idea was further improved in [12], where the encoded distribution caching scheme was introduced. The maximum distance separable code was employed to encode packets before caching. ...
... Because of generality, (12) does not have a closed form expression. We now focus on simplifying (12), so that a closed form expression is derived. ...
... Because of generality, (12) does not have a closed form expression. We now focus on simplifying (12), so that a closed form expression is derived. This closed form expression will help us in understanding the system in more detail. ...
... Various benefits of network coding motivated researchers to apply the technology in different network configurations and systems which are meant to serve different applications to the end users. Some examples include overlay networks (such as peer-to-peer or P2P content distribution systems), single-hop wireless broadcast over lossy mediums, multi-hop wireless networks (such as ad-hoc, sensor and mesh networks), satellite communications, device-to-device (D2D) communications, delay/ disruption/ disconnection tolerant (DTN) networks, multimedia applications (such as layered video streaming), coded caching etc [36,37,38,39,40,41,42,43,44,45,46,47]. It is evident that the networks and the applications described above may exist independently, and the incorporation of network coding essentially enhance their performance. ...
Thesis
The conventional approach of sender queue (SQ) management in feedback-based network-coded broadcast is to drop the packets which are decoded by the receivers, and this policy is termed as the drop when decoded (DWD) scheme. The key issue with DWD is the high blocking probability of the incoming packets. The drop when seen (DWS) scheme was proposed based on the notion of seeing a packet that reduces the expected SQ length. While providing an efficient SQ management technique, the throughput of the system is not compromised with optimal DWS encoding. To execute the DWS algorithms, exact knowledge space information of the receivers is needed, which is kept in the form of matrices. Consequently, DWS ends up being computationally expensive. In this thesis, we propose the randomized version of the DWS scheme (rDWS) by converting the deterministic encoding procedure into a randomized one, and rDWS is shown to be a reduced-complexity, lightweight variant that only needs the dimension of the knowledge spaces. The throughput efficiency of rDWS is investigated in the form of the probability of innovativeness of the network-coded packets. Obtaining a closed-form expression of the probability is found to be difficult, although we obtain the minimum value of the same that corresponds to the worst-case behavior of rDWS. Next, performance analyses of DWS and rDWS are carried out in the form of packet dropping and packet decoding statistics, where an absorbing discrete-time Markov chain is constructed. For the dropping statistics, an additional tensor-algebraic formulation, and for the decoding statistics, the fundamental matrix-based techniques are employed. The analysis of rDWS is performed with respect to the Independent Markov-state Model (IMM), and it is shown to be accurate in most cases. Finally, we demonstrate the generalized rDWS technique in a non-generation-based scenario, and a queueing analysis is performed to find the expected SQ length. The obtained analytical results of this thesis (which are supported by simulation plots) yield, rDWS is indeed a lightweight and less-complex variant of DWS that is suitable for next-generation wireless applications, where the performance is not compromised in the form of throughput, packet dropping, and packet decoding statistics while availing the queue management benefit of the drop when seen policy.
... The authors in [69], explore the advantages of coded caching strategies when cache-enabled access points (APs) like BS, SBS, MBS, etc.) are randomly distributed. In [70], authors have proposed a linear network coding-based cache content placement strategy that increases the amount of available data compared to triangular network coding. The coded caching strategies exploit coded multicast opportunities that further decrease the backhaul traffic, particularly for densely deployed cache-enabled APs [71]. ...
Article
Contrary to orthogonal multiple-access (OMA), non-orthogonal multiple-access (NOMA) schemes can serve a pool of users without exploiting the scarce frequency or time domain resources. This is useful in meeting the future network requirements (5G and beyond systems), such as, low latency, massive connectivity, users' fairness, and high spectral efficiency. On the other hand, content caching restricts duplicate data transmission by storing popular contents in advance at the network edge which reduces data traffic. In this survey, we focus on cache-aided NOMA-based wireless networks which can reap the benefits of both cache and NOMA; switching to NOMA from OMA enables cache-aided networks to push additional files to content servers in parallel and improve the cache hit probability. Beginning with fundamentals of the cache-aided NOMA technology, we summarize the performance goals of cache-aided NOMA systems, present the associated design challenges, and categorize the recent related literature based on their application verticals. Concomitant standardization activities and open research challenges are highlighted as well.
... Another important research direction for cache computing is cached content placement [128]. In general, cached content placement system information is updated continuously to improve the cache hit ratio. ...
Article
Full-text available
The Internet of Things (IoT) is impacting the world’s connectivity landscape. More and more IoT devices are connected, bringing many benefits to our daily lives. However, the influx of IoT devices poses non-trivial challenges for the existing cloud-based computing paradigm. In the cloud-based architecture, a large amount of IoT data is transferred to the cloud for data management, analysis, and decision making. It could not only cause a heavy workload on the cloud but also result in unacceptable network latency, ultimately undermining the benefits of cloud-based computing. To address these challenges, researchers are looking for new computing models for the IoT. Edge computing, a new decentralized computing model, is valued by more and more researchers in academia and industry. The main idea of edge computing is placing data processing in near-edge devices instead of remote cloud servers. It is promising to build more scalable, low-latency IoT systems. Many studies have been proposed on edge computing and IoT, but a comprehensive survey of this crossover area is still lacking. In this survey, we firstly introduce the impact of edge computing on the development of IoT and point out why edge computing is more suitable for IoT than other computing paradigms. Then, we analyze the necessity of systematical investigation on the edge-computing-driven IoT (ECDriven-IoT) and summarize new challenges occurred in ECDriven-IoT. We categorize recent advances from bottom to top, covering six aspects of ECDriven-IoT. Finally, we conclude lessons learned and propose some challenging and worthwhile research directions.
... The coded placement strategy is suitable for reducing cache memory consumption with increasing computational complexity, specifically for a large number of segment files [55]. In [65], authors have proposed a linear network codingbased cache content placement strategy that increases the amount of available data compared to triangular network coding. The authors in [66], explore the advantages of coded caching strategies when cache-enabled access points (APs) like BS, SBS, MBS, etc.) are randomly distributed. ...
Preprint
Full-text available
Contrary to orthogonal multiple-access (OMA), non-orthogonal multiple-access (NOMA) schemes can serve a pool of users without exploiting the scarce frequency or time domain resources. This is useful in meeting the sixth generation (6G) network requirements, such as, low latency, massive connectivity, users fairness, and high spectral efficiency. On the other hand, content caching restricts duplicate data transmission by storing popular contents in advance at the network edge which reduces 6G data traffic. In this survey, we focus on cache-aided NOMA-based wireless networks which can reap the benefits of both cache and NOMA; switching to NOMA from OMA enables cache-aided networks to push additional files to content servers in parallel and improve the cache hit probability. Beginning with fundamentals of cache-aided NOMA technology, we summarize the performance goals of cache-aided NOMA systems, present the associated design challenges, and categorize related recent literature based on their application verticals. Concomitant standardization activities and open research challenges are highlighted as well.
... The main idea of using it is to measure the user's feelings from the network's perspective. When using the KPI indicator system to Learning-based policies [103,105] (i) Estimation of timely content popularity with reinforcement learning (ii) Q-learning-based cache replacement strategy (iii) Coded caching scheme Cooperative policies [13,90,[106][107][108][109][110][111] (i) Cache management with cooperation among BSs and UEs (ii) Minimizing resource cost while maximizing data traffic from caches (iii) Collaborative video caching and scheduling among cells (iv) Tradeoff between caching redundancy and diversity (v) Joint caching and routing design 11 Wireless Communications and Mobile Computing measure network quality, it is often the case that the KPI indicators of the entire network equipment are perfect while complaints from users are spiking. In order to further improve service quality of the network, KQI (Key Quality Index) is introduced to evaluate system of network service quality, which mainly focuses on service quality parameters that are more relevant to the user experience regarding different services. ...
Article
Full-text available
Boosted by the visions of 5G technology, along with the proliferation of IoT devices, we are lucky to bear witness of a tremendous shift within the Internet, mobile computing, and ubiquitous applications pervading people’s daily life. To catch up with the speed of this evolution, new architectures, which enable us to decentralize and focus more on the edge of the network, have to show up. To effectively address the record-breaking growth of data traffic, we also have to come up with new caching mechanisms in coping with users’ demanding QoE along with other aspects, such as data privacy and energy efficiency. In this paper, we intend to begin with reviews on edge caching. First, we make a detailed overview of mobile edge caching. Then, we move on to the QoS and QoE part, discussing the related literature concerning these topics. We then start to address factors concerning edge caching and QoE. Four cutting-edge applications utilizing these technologies with challenges posed by current network architectures are made clear. Our paper closes with some future research directions.
... For example, in order to minimize the average delay of file delivery, the authors of [20] propose to utilize caching helpers and prior knowledge of files' popularities, while [21] presents a file popularity estimation-based caching algorithm. An information-theoretic framework for hierarchical caching is presented in [22] and [9], while the authors of [23]- [25] study the hierarchical caching in cellular backhaul networks. File placement in SBSs for medical applications is tackled in the optimization framework in [26]. ...
Article
Full-text available
In recent years, 5G cellular networks utilization has rapidly increased and is expected to grow even more in the near future. This will put the current cellular networks operators in a challenge to overcome the network’s limits to satisfy the increasing mobile data traffic and the proliferation of user demands in deploying mobile applications. The deployment of cache-enabled small base stations (Femtocells) is a promising solution to reduce the backhaul traffic loading and the file-access latency, and therefore decrease the cellular network operational costs. Due to the limited cache capacity when compared to the number of files that can be requested by users, in this paper, we formulate the problem of minimizing the cost paid by cellular network while satisfying the cache capacity as an Integer Linear Program (ILP). Due to the NP-completeness of the ILP formulation and the difficulty of obtaining the file request sequence apriori in real-life scenarios, we propose an online algorithm that decides which file to remove from cache in order to allocate capacity to the newly-requested file. The algorithm works on a per-request basis and does not require the knowledge of the file request sequence in advance.We prove that for a cache that can store up to k files, the algorithm achieves a competitive ratio of O(log(k)), which is the best competitive ratio achieved by any online algorithm as shown in the literature. The simulations conducted considering a single cache show that while the proposed algorithm achieves a similar hit ratio compared to widely-used replacement schemes, it can reduce the costs of the cellular network by 25%.
Article
In recent years, edge computing becomes an increasingly popular alternative. Edge computing allows the computation is implemented in the edge of network, in which the data are stored in the edge of network, to improve the efficiency of data process. However, some resource management techniques in cloud or distributed system cannot better suit for edge computing. Therefore, there exist some challenges on the performance improvement of edge computing. In this paper, the main purpose is to combine the optimal placement of data blocks and the optimal scheduling of tasks to reduce the computation delay and response time for the submitted tasks and improve user experience in edge computing. In optimal placement of data blocks, the value of the data blocks considers not only the popularity of the data blocks, but the data storage capacity and replacement ratios of an edge server that will store those data blocks. Furthermore, the replacement cost for placed data blocks is regarded as an important component of data block placement. This optimal placement scheme can avoid replacing the placed data blocks repeatedly so that the bandwidth overhead is reduced. In optimal scheduling of tasks, the containers are taken as the lightweight resource unit for the services for user requests to make full use of data storage in edge servers and improve the services performance of edge servers. Finally, extensive experiments are conducted to value the performance of task scheduling strategy. The results show that the performance of the proposed task scheduling algorithm is better than that of the compared algorithms.
Conference Paper
Full-text available
Broadcasting with network coding mixes different packets to minimize the number of transmissions, which improves the energy efficiency of wireless networks. On the other hand, delaying the transmissions increases coding opportunities at the intermediate nodes, but increases the delay of the packets. In this paper, we consider these two contradicting factors and study the problem of minimizing the number of transmissions in wireless networks while meeting the deadlines of different packets. We show that this problem is NP-complete; therefore, we provide a heuristic to solve the problem. First, we construct broadcasting trees, each of them rooted at one source. We then specify overlapping conditions based on the constructed trees to determine the number of transmissions each node has to perform without the deadline constraints. Then, we partition the set of packets such that coding is performed among the packets of the same partition, which does not result in deadline misses. Our simulation results show that our technique not only reduces the number of transmissions, but also allows the majority of the nodes to receive their packets on time.
Article
Full-text available
A practical way for maximizing the throughput of a wireless network is to decompose the network into a superposition of small two-hop networks such that network coding can be performed inside these small networks to resolve bottlenecks. We call these networks 2-hop relay networks. Therefore, studying the capacity of 2-hop relay networks is very important. Most practical network coding protocols that perform the superposition ignore the diversity among the links by turning off coding when the channels are lossy. Other protocols deal with the packets separately – not as members of flows – which makes the network coding problem with lossy links intractable. In this paper, we use a different approach by looking at flows or batches instead of individual packets. We characterize the capacity region of the 2-hop relay network with packet erasure channels when the coding operations are limited to XOR. We derive our results by constructing an upper bound on the capacity region and then providing a coding scheme that can achieve the upper bound. The capacity characterization is in terms of linear equations. We also extend our 2-hop relay networks results to multihop wireless networks by providing a linear program that can perform the superposition optimally. We perform extensive simulations for both the 2-hop relay and large wireless networks and show the superiority of our protocols over the network coding protocols that deal with the packets separately.
Article
Full-text available
We study the role of codes in the optimization and design of a large-scale Video-on-Demand (VoD) system based on distributed caching, that we have architected and built at Berkeley. We show how network codes can convert a combinatorial problem into a tractable one, and enable a fully distributed algorithm that jointly optimizes the three-fold problem of cache content placement, cache-to-users topology selection, and cache-to-users rate-allocation. While a description of the general VoD system optimization and design can be found in [1], this paper focuses on the critical role of codes in enabling our VoD system. Specifically, we motivate and describe a specific class of network codes, called DRESS codes, that offer desirable tradeoffs between cache-to-user and cache-to-cache communication aspects of the problem needed to sustain a scalable VoD system.
Article
Full-text available
Energy limitation is one of the most important challenges in wireless networks. Reducing the number of transmissions is one of the most effective ways to reduce the energy consumption. For this purpose, network coding can be used to mix packets together to reduce the number of transmissions. In addition to the importance of energy efficiency, in many applications, delay and deadline constraints are also important metrics. On the other hand, in order to increase the coding opportunity and efficiency of network coding, relay nodes need to wait to receive more packets, which increases the delay of the packets. In this paper, we study the problem of using network coding in wireless networks with deadline constraints. We provide three heuristics in an all-to-all broadcast application, to compute the local waiting time of the packets at relay nodes to improve the efficiency of the network coding without missing deadlines. Our simulation results show that our techniques reduce the number of transmissions while allowing all of the nodes to receive the packets on-time.
Conference Paper
Full-text available
Peer-to-peer (P2P) video-on-demand (VoD) is a promising solution to provide video service to a large number of users. Streaming capacity in a P2P VoD system is defined as the maximal streaming rate that every user can receive. Due to the upload bottleneck, the streaming capacity in the P2P VoD system is limited. In this paper, we introduce helpers in the P2P VoD system and then optimize the helper resources to improve the streaming capacity. Specifically, we first optimize the helper assignment using a greedy algorithm. Then we develop a proximal distributed algorithm to maximize the streaming capacity by optimizing the link rates. Through simulations, we demonstrate that the P2P VoD system with optimized helpers can obtain a much higher streaming capacity compared to the P2P VoD system without any helper or the one with randomly assigned helpers.
Chapter
In this chapter, we propose a new architecture for wireless mesh networks. In addition to forwarding packets, routers mix (i.e., code) packets from different sources to increase the information content of each transmission. We show that mixing packets intelligently increases network throughput. Our design is rooted in the theory of network coding. In contrast to prior work on network coding, which is primarily theoretical, the design herein focuses on practical issues. Our system introduces a coding layer between the IP and MAC layers, and integrates it into the current network stack. We evaluate the design using both simulation and prototype implementation, and show that it delivers a large increase in the throughput of congested wireless mesh networks.
Article
In this paper we present a complete measurement study that compares YouTube traffic generated by mobile devices (smart-phones,tablets) with traffic generated by common PCs (desktops, notebooks, netbooks). We investigate the users' behavior and correlate it with the system performance. Our measurements are performed using unique data sets which are collected from vantage points in nation-wide ISPs and University campuses from two countries in Europe and the U.S. Our results show that the user access patterns are similar across a wide range of user locations, access technologies and user devices. Users stick with default player configurations, e.g., not changing video resolution or rarely enabling full screen playback. Furthermore it is very common that users abort video playback, with 60% of videos watched for no more than 20% of their duration. We show that the YouTube system is highly optimized for PC access and leverages aggressive buffering policies to guarantee excellent video playback. This however causes 25%-39% of data to be unnecessarily transferred, since users abort the playback very early. This waste of data transferred is even higher when mobile devices are considered. The limited storage offered by those devices makes the video download more complicated and overall less efficient, so that clients typically download more data than the actual video size. Overall, this result calls for better system optimization for both, PC and mobile accesses.
Article
We design a distributed multi-channel P2P Video-on-Demand (VoD) system using "plug-and-play" helpers. Helpers are heterogenous "micro-servers" with limited storage, bandwidth and number of users they can serve simultaneously. Our proposed system has the following salient features: (1) it jointly optimizes over helper-user connection topology, video storage distribution and transmission bandwidth allocation; (2) it minimizes server load, and is adaptable to varying supply and demand patterns across multiple video channels irrespective of video popularity; and (3) it is fully distributed and requires little or no maintenance overhead. The combinatorial nature of the problem and the system demand for distributed algorithms makes the problem uniquely challenging. By utilizing Lagrangian decomposition and Markov chain approximation based arguments, we address this challenge by designing two distributed algorithms running in tandem: a primal-dual storage and bandwidth allocation algorithm and a "soft-worst-neighbor-choking" topology-building algorithm. Our scheme provably converges to a near-optimal solution, and is easy to implement in practice. Packet-level simulation results show that the proposed scheme achieves minimum sever load under highly heterogeneous combinations of supply and demand patterns, and is robust to system dynamics of user/helper churn, user/helper asynchrony, and random delays in the network.
Article
We study a new class of multiuser source coding problems inspired by network communications. We propose the use of coding in networks for the purpose of multicasting. This concept may have significant impact on future design of switching systems
Article
While BitTorrent has been successfully used in peer-to-peer content distribution, its performance is limited by the fact that typical internet users have much lower upload bandwidths than download bandwidths. This asymmetry in bandwidth results in the overall aver-age download speed of a BitTorrent-like file down-load system to be bottle-necked by the much lower up-load capacity. This motivates our approach in which we utilize idle users' spare upload capacity to signif-icantly improve the download speed beyond what can be achieved in a conventional BitTorrent network. We show that this is possible even if these idle users (or helpers) download only a tiny fraction of the file. In fact, in terms of uplink utilization, these helpers can be almost as effective as seeders for medium to large swarms. In this work, we design such a system that is fully compatible with the existing clients who conform to the BitTorrent protocol, analyze its steady-state per-formance and present simulation results.