Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
The Pennsylvania State University
The Graduate School
College of Engineering
DATA STORAGE AND ENERGY MANAGEMENT IN
EMERGING NETWORKS
A Dissertation in
Electrical Engineering
by
Abdelrahman M. Ibrahim
c© 2019 Abdelrahman M. Ibrahim
Submitted in Partial Fulfillmentof the Requirementsfor the Degree of
Doctor of Philosophy
August 2019
ii
The dissertation of Abdelrahman M. Ibrahim was reviewed and approved* by the following:
Aylin YenerDistinguished Professor of Electrical EngineeringDissertation AdviserChair of Committee
Constantino LagoaProfessor of Electrical Engineering
Jing YangAssistant Professor of Electrical Engineering
Soundar KumaraProfessor of Industrial Engineering
Kultegin AydinProfessor of Electrical EngineeringHead of the Department of Electrical Engineering
*Signatures are on file in the Graduate School.
iii
Abstract
Next generation communication networks are expected to accommodate the rapid
growth in data traffic, while reducing the carbon footprint by using renewable energy
sources. Developing efficient schemes for managing network resources, e.g., energy, data,
and storage, is imperative in order to alleviate network congestion and avoid commu-
nication outages. In this dissertation, we study data storage technologies that promise
seamless operation of on-demand services in content delivery networks. In particular, we
focus on distributed data storage and coded caching systems.
We first consider a distributed storage system where data storage nodes are
equipped with energy harvesting transmitters. In particular, the files are encoded and
stored over multiple storage nodes. The main operations of the distributed storage sys-
tem are serving the file requests of data collectors and repairing the content of storage
nodes that fail or leave the system. Each operation has an associated energy expenditure.
Under the intermittent energy arrivals, we study the problem of maximizing the number
of retrieved files given a deadline. Additionally, we consider the problem of minimizing
the repair time of a failed node. Both optimization problems turn out to be equivalent
to binary linear programs, for which we provide a tractable solution.
Next, we consider cache-aided networks where the server populates the cache
memories at the users during low-traffic periods, in order to reduce the delivery load
during peak-traffic hours. In cache-aided networks, there exists a fundamental trade-off
between the delivery load and the cache sizes at the end-nodes. First, we study this
iv
trade-off in a multicast network where the server is connected to users with unequal
cache sizes. We propose a centralized caching scheme which is optimized by solving a
linear program. We explicitly characterize the delivery load memory trade-off for several
cases of interest. Next, we consider a system where the server is connected to the users
via rate limited links of different capacities and the server assigns the users’ cache sizes
subject to a total cache budget. We study how to optimally allocate the cache sizes at
the users in order to minimize the delivery completion time.
Next, we develop coded caching schemes for systems where the users have distinct
quality-of-service (QoS) requirements. We study the problem of jointly designing the
users’ cache sizes and the caching scheme in order to minimize the delivery load, while
satisfying the users’ QoS requirements. As a byproduct, a caching scheme for systems
with fixed cache sizes that outperforms the state-of-art is presented. Next, we propose
coded caching schemes for systems where the users are served via device-to-device (D2D)
transmissions. Taking the users’ cache sizes into consideration, we jointly design the
cache contents and the D2D transmissions in order to minimize the D2D delivery load.
Finally, we consider a network where the users share helper-caches with hetero-
geneous sizes. In particular, a user has access to only one of the caches and the number
of caches is less than or equal to the number of users. We propose caching schemes with
coded placement that exploit the asymmetry in the number of users associated with each
cache and the heterogeneity in the cache sizes. We show that caching schemes with coded
placement outperform the best uncoded placement scheme in asymmetric networks.
v
Table of Contents
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii
Chapter 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Green Distributed Data Storage . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Distributed Storage Systems . . . . . . . . . . . . . . . . . . . 1
1.1.2 Energy Harvesting for Green Operation . . . . . . . . . . . . 3
1.1.3 Our Contributions . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Cache-Aided Networks . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Design Paradigm Shift: From Uncoded to Coded Caching . . 5
1.2.2 Heterogeneous Cache Sizes . . . . . . . . . . . . . . . . . . . 6
1.2.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2.2 Our Contributions . . . . . . . . . . . . . . . . . . . 7
1.2.3 Different Quality-of-Service Requirements . . . . . . . . . . . 8
1.2.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.3.2 Our Contributions . . . . . . . . . . . . . . . . . . . 9
1.2.4 Device-to-Device Networks . . . . . . . . . . . . . . . . . . . 9
1.2.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.4.2 Our Contributions . . . . . . . . . . . . . . . . . . . 10
vi
1.2.5 Benefits of Coded Placement . . . . . . . . . . . . . . . . . . 11
1.2.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.5.2 Our Contributions . . . . . . . . . . . . . . . . . . . 12
1.3 Dissertation Road Map . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Chapter 2. Green Distributed Data Storage . . . . . . . . . . . . . . . . . . . . . 15
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 The Proposed Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4.1 Forward Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.2 Backward Algorithm . . . . . . . . . . . . . . . . . . . . . . . 31
2.5 Online Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6 Numerical Results and Discussion . . . . . . . . . . . . . . . . . . . . 37
2.6.1 Myopic vs Optimal Policies . . . . . . . . . . . . . . . . . . . 37
2.6.2 Minimum Storage Regenerating (MSR) vs Minimum Band-
width Regenerating (MBR) codes . . . . . . . . . . . . . . . . 39
2.6.3 Online vs Offline . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.6.4 Multi-epoch Simulations . . . . . . . . . . . . . . . . . . . . . 43
2.6.5 Model Extensions . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.7 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Chapter 3. Coded Caching for Heterogeneous Systems . . . . . . . . . . . . . . . 53
vii
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3 Motivational Example . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.1 Our Proposed Scheme . . . . . . . . . . . . . . . . . . . . . . 58
3.3.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.3.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.4 Cache Placement Phase . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.5 Delivery Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.5.1 Multicast Signals XT ,d. . . . . . . . . . . . . . . . . . . . . . 61
3.5.2 Unicast Signals X{i} . . . . . . . . . . . . . . . . . . . . . . . 63
3.5.3 Delivery Constraints . . . . . . . . . . . . . . . . . . . . . . . 63
3.5.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.6 Formulation and Results . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.6.1 Caching Scheme Optimization . . . . . . . . . . . . . . . . . . 66
3.6.2 Lower Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.6.3 Explicit Results . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.6.4 Comparison with Related Work . . . . . . . . . . . . . . . . . 74
3.7 Optimizing Cache Sizes with Total Memory Budget . . . . . . . . . . 75
3.7.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . 75
3.7.2 Optimal Cache Sizes . . . . . . . . . . . . . . . . . . . . . . . 76
3.7.2.1 Proof of Theorem 5 . . . . . . . . . . . . . . . . . . 76
3.7.2.2 Uniform Memory Allocation . . . . . . . . . . . . . 80
3.8 Numerical Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
viii
3.9 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Chapter 4. Coded Caching for Heterogeneous Quality-of-Service Requirements . 89
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.2 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.3 Caching Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.3.1 Placement Phase . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.3.2 Delivery Phase . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.4 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.5 Optimal Cache Allocation . . . . . . . . . . . . . . . . . . . . . . . . 100
4.6 Discussion and Numerical Results . . . . . . . . . . . . . . . . . . . . 104
4.6.1 Systems with Total Cache Memory Budget . . . . . . . . . . 104
4.6.2 Systems with Fixed Cache Sizes . . . . . . . . . . . . . . . . . 107
4.7 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Chapter 5. Device-to-Device Coded-Caching . . . . . . . . . . . . . . . . . . . . 110
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.2 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.3 Main Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.3.1 Performance Bounds . . . . . . . . . . . . . . . . . . . . . . . 114
5.3.2 Explicit Characterization Results . . . . . . . . . . . . . . . . 116
5.4 General Caching Scheme . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.4.1 Placement phase . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.4.2 Delivery phase: Three-user system . . . . . . . . . . . . . . . 120
ix
5.4.2.1 Structure of Xj→T . . . . . . . . . . . . . . . . . . . 120
5.4.2.2 Delivery phase constraints . . . . . . . . . . . . . . . 122
5.4.3 Delivery phase: K-user system . . . . . . . . . . . . . . . . . 124
5.4.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.5 Caching scheme: Achievability . . . . . . . . . . . . . . . . . . . . . 128
5.5.1 Achievability Proof of Theorem 10 . . . . . . . . . . . . . . . 129
5.5.2 Achievability Proof of Theorem 11 . . . . . . . . . . . . . . . 131
5.5.3 Achievability Proof of Theorem 12 . . . . . . . . . . . . . . . 134
5.6 Optimality with Uncoded Placement . . . . . . . . . . . . . . . . . . 135
5.6.1 Proof of Theorem 8 . . . . . . . . . . . . . . . . . . . . . . . 136
5.6.2 Converse Proof of Theorem 9 . . . . . . . . . . . . . . . . . . 139
5.6.3 Converse Proof of Theorem 10 . . . . . . . . . . . . . . . . . 140
5.6.4 Converse Proof of Theorem 11 . . . . . . . . . . . . . . . . . 141
5.7 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.7.1 The D2D Delivery Load Memory Trade-off . . . . . . . . . . 142
5.7.2 Comparison between Server-based and D2D-based Delivery
Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.7.3 Connection between Coded Distributed Computing and D2D
Coded Caching Systems . . . . . . . . . . . . . . . . . . . . . 144
5.8 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Chapter 6. Coded Placement for Asymmetric Caching Systems . . . . . . . . . 147
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
x
6.2 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.2.1 Placement Phase . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.2.2 Delivery Phase . . . . . . . . . . . . . . . . . . . . . . . . . . 150
6.3 Systems with One User per Cache . . . . . . . . . . . . . . . . . . . 151
6.3.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.3.2 Numerical Results . . . . . . . . . . . . . . . . . . . . . . . . 156
6.4 Systems with Equal Caches . . . . . . . . . . . . . . . . . . . . . . . 157
6.4.1 Example 1: Two-cache system . . . . . . . . . . . . . . . . . 158
6.4.1.1 The uncoded placement scheme [73] . . . . . . . . . 158
6.4.1.2 The proposed coded placement scheme . . . . . . . 159
6.4.2 Example 2: Three-cache system . . . . . . . . . . . . . . . . . 160
6.4.2.1 The uncoded placement scheme [73] . . . . . . . . . 160
6.4.2.2 The proposed coded placement scheme . . . . . . . 161
6.4.3 Two-Cache System . . . . . . . . . . . . . . . . . . . . . . . . 164
6.4.3.1 Placement Phase . . . . . . . . . . . . . . . . . . . . 164
6.4.3.2 Delivery Phase . . . . . . . . . . . . . . . . . . . . . 164
6.4.4 L-Cache System . . . . . . . . . . . . . . . . . . . . . . . . . 166
6.4.4.1 Placement Phase . . . . . . . . . . . . . . . . . . . . 167
6.4.4.2 Delivery Phase . . . . . . . . . . . . . . . . . . . . . 167
6.4.5 Gain from Increased Subpacketization . . . . . . . . . . . . . 171
6.5 Unified Coded Placement Scheme for Asymmetric Systems . . . . . . 173
6.5.1 Smaller Cache is Overloaded (U1 ≥ U2) . . . . . . . . . . . . 174
6.5.2 Larger Cache is Overloaded (U1 < U2) . . . . . . . . . . . . . 175
xi
6.5.2.1 Case(
Nm1 ≤ (N − U2 + U1)m2
)
. . . . . . . . . . . 176
6.5.2.2 Case(
Nm1 > (N − U2 + U1)m2
)
. . . . . . . . . . . 178
6.6 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Chapter 7. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
7.1 Dissertation Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 182
7.2 Future Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Appendix A. Proof of Proposition 3 . . . . . . . . . . . . . . . . . . . . . . . . . 186
Appendix B. Proof of Theorem 4 . . . . . . . . . . . . . . . . . . . . . . . . . . 188
B.1 Region I: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
B.2 Region II: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
B.3 Region III: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
B.4 Region IV: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Appendix C. Proof of Theorem 6 . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Appendix D. Achievability Proof of Theorem 13 . . . . . . . . . . . . . . . . . . 200
D.1 Region I: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
D.2 Region II: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
D.3 Region III: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
D.4 Region IV: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Appendix E. Converse Proof of Theorem 13 . . . . . . . . . . . . . . . . . . . . 204
Appendix F. Proof of Lemma 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
xii
Appendix G. Proof of Theorem 14 . . . . . . . . . . . . . . . . . . . . . . . . . . 207
G.1 Region I: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
G.2 Region II: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
G.2.1 Placement Phase . . . . . . . . . . . . . . . . . . . . . . . . . 208
G.2.2 Delivery Phase . . . . . . . . . . . . . . . . . . . . . . . . . . 209
G.2.3 Achievability . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
G.3 Region III: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
G.3.1 Placement Phase . . . . . . . . . . . . . . . . . . . . . . . . . 210
G.3.2 Delivery Phase: . . . . . . . . . . . . . . . . . . . . . . . . . . 211
G.3.3 Achievability . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
G.4 Region IV: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
G.4.1 Placement Phase . . . . . . . . . . . . . . . . . . . . . . . . . 212
G.4.2 Delivery Phase . . . . . . . . . . . . . . . . . . . . . . . . . . 213
G.4.3 Achievability . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
xiii
List of Tables
5.1 Summary of the analytical results on R∗
A(m). . . . . . . . . . . . . . . 117
xiv
List of Figures
2.1 Distributed storage systems with energy harvesting nodes. . . . . . . . . 17
2.2 Comparing the optimal offline and myopic approaches for n= 7, k = 4,
α = 0.5 Mbits, β = 1/6 Mbits, d = 6, file size U = 2 Mbits, vi(α) = 1,
for i = 1, 4, 6, 7, vi(α) = 2 for i = 2, 5, and v3(α) = 3. . . . . . . . . . . . 39
2.3 The average minimum file retrieval (repair) time E[T ] for M files when
hi = 0.1, i = 1, ..., 8, 10 and h9 = 0.01. . . . . . . . . . . . . . . . . . . . 40
2.4 The average minimum file retrieval (repair) time E[T ] for M files when
hi= 0.1, i = 1, ..., 8, 10 and h9 = 0.02. . . . . . . . . . . . . . . . . . . . 41
2.5 The average minimum file retrieval (repair) time E[T ] for M files when
hi= 0.1, i = 1, ..., 9, 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.6 Comparing the optimal offline and online policies for n= 4, k = d = 3,
α=β=0.5 Mbits, U =1.5 Mbits, vi(α)=1 ∀ i and i.i.d Bernoulli energy
arrivals with mean h=0.7. . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.7 Comparing the throughput of a conventional system with a system im-
plementing the kα repair strategy. . . . . . . . . . . . . . . . . . . . . . 44
2.8 Comparing the repair rate of a conventional system with a system im-
plementing the kα repair strategy. . . . . . . . . . . . . . . . . . . . . . 45
2.9 Comparing the lifetime of a conventional system with a system imple-
menting the kα repair strategy. . . . . . . . . . . . . . . . . . . . . . . . 45
xv
2.10 Comparing a fractional repair code [28] and a MBR code with random
access repair for (n = 6, k = 3, d = 3, β = 1, α = 3). Ei(l) ∼ Poisson(hi),
hi= 0.8 for i = 1, 2.., 5 and h6 = 0.3. . . . . . . . . . . . . . . . . . . . . 47
2.11 Comparing the homogenous and non-homogenous systems, under differ-
ent harvesting rates, for β = 1 Mbits, and U=6 Mbits. . . . . . . . . . . 48
2.12 Comparing the homogenous and non-homogenous systems for β = 0.5,
and U=3 Mbits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.13 Comparing the average repair time of one file for h1 = 0.5, h2 = 0.2, and
h3 = 0.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1 Caching system with unequal cache sizes. . . . . . . . . . . . . . . . . . 54
3.2 Caching system with unequal download rates. . . . . . . . . . . . . . . . 55
3.3 Optimal scheme with uncoded placement for K = N = 3 and M =
[1.2, 1.5, 2.1]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4 Comparing R∗
A,D(m) with the lower bounds, for K = 5, and m
k=
0.95mk+1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.5 ComparingR∗
A,D(m) with the lower bounds on R
∗
A(m), form
k= 0.75m
k+1. 83
3.6 Comparing R∗
A,D(m) with the delivery loads achieved by the schemes
in [20,82,110], for K = 5 and mk = 0.75mk+1. . . . . . . . . . . . . . . 84
3.7 Comparing Θ∗
A,D(mtot,C) with Θunif(mtot,C). . . . . . . . . . . . . . . 85
3.8 The optimal memory allocations for mtot=1, C2=0.35 and C3 = 0.6. . . 86
3.9 The optimal memory allocations for C1 = C2 = C3 = 0.2, C4 = 0.5, C5 =
0.6, and C6 = C7 = 0.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
xvi
3.10 The optimal memory allocations for C1 = C2 = 0.2, C3 = C4 = 0.4, C5 =
0.6, C6 = 0.7, and C7 = 0.8. . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.1 Caching system with heterogeneous distortion requirements. . . . . . . . 90
4.2 Comparing the delivery load in Theorem 6 with the cut-set bound in
Proposition 7, for K = N = 3, and r = [0.5, 0.7, 1]. . . . . . . . . . . . . 105
4.3 The memory allocation corresponding to the delivery load in Theorem 6
for r = [0.5, 0.7, 1]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.4 Comparing the delivery load obtained from (4.27), with the two schemes
proposed in [110], and the cut-set bound [110, Theorem 2]. . . . . . . . 108
5.1 D2D caching with unequal cache sizes at the end-users. . . . . . . . . . 111
5.2 Example K = N = 3, and m = [0.6, 0.7, 0.8]. . . . . . . . . . . . . . . . 126
5.3 Example K = N = 4, and m = [0.2, 0.7, 0.7, 0.7]. . . . . . . . . . . . . . 128
5.4 Index-coding problem for K = 3, and j = 1. . . . . . . . . . . . . . . . . 137
5.5 Comparing R∗
A,D(m), and lower bound on R
∗
A(m), for K = N = 4, and
mk= αm
k+1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
6.1 Caching system with L unequal caches connected to K end-users. . . . . 149
6.2 Illustration of the placement scheme in Theorem 15 for a three-user system. 154
6.3 Comparing the achievable delivery load assuming coded placement with
the minimum delivery load under uncoded placement, for K = 3, N = 4,
and mk= αm
k+1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
xvii
6.4 Comparing the achievable delivery load assuming coded placement with
the minimum delivery load under uncoded placement, for K = 10, α =
0.7, and mk= αm
k+1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
6.5 The coded placement scheme for Example 1. . . . . . . . . . . . . . . . 158
6.6 The coded placement scheme for Example 2. . . . . . . . . . . . . . . . 162
6.7 The delivery load for L = 3, N = K = 6, U1 = 3, U2 = 2 and U3 = 1. . . 163
6.8 The total delivery load for L = 2, N = K = q + 2, U1 = q + 1 and U2 = 1. 166
6.9 The achievable delivery load for L = 4 and N = 15. . . . . . . . . . . . . 171
6.10 The total delivery load for L = 2, N = K = 11, U1 = 8 and U2 = 3. . . . 173
A.1 Illustration of the set defined in (A.6). . . . . . . . . . . . . . . . . . . . 187
xviii
Acknowledgments
“ In the name of Allah, the most beneficent, the most merciful”“ All praise and gratitude to Allah for his endless bounties and blessings”
First, I would like to express my sincere gratitude to my academic advisor Profes-
sor Aylin Yener for her continuous support and guidance throughout my Ph.D. studies.
I am thankful for all her contributions to this dissertation, and her efforts to instill in
me dedication and commitment to excellence. I sincerely thank Professor Constantino
Lagoa, Professor Jing Yang, and Professor Soundar Kumara, for serving in my Ph.D.
dissertation committee and for their valuable feedback and suggestions to improve this
thesis.
I would like to express my gratitude to my life long friend and colleague, Ahmed
Zewail, for our fruitful collaboration in research and many intellectual discussions. Spe-
cial thanks are also due to Dr. Mohamed Nafea for his advice and support throughout
my Ph.D. studies. I would like to thank all former and current colleagues and friends
at WCAN; Dr. Kaya Tutuncuoglu, Dr. Ebrahim MolavianJazi, Dr. Remi Chou, Dr.
Basek Guler, Dr. Burak Varan, Shiyang Leng, Omar Sleem, Malak Shah, Boyu Wang,
and many others. I would like to thank all my friends at Penn State; Ahmed Essawy, Dr.
Khaled Enab, Mahmoud Ashour, Mohamed Tarek, Ramy Essam, and Youssef Khazback,
among many others.
Last but certainly not least, I am incredibly fortunate and eternally grateful to
have the love and support of my loving parents Mohamed and Maha, my wonderful
xix
sisters Khadiga, Asia, and Fatema, my kind brother Ahmed, my uncles, my aunts, and
all my extended family. Special thanks to my uncle Prof. Hassan Ibrahim for his valuable
advice and support throughout my graduate studies.
Funding Acknowledgment and Disclaimer: This material is based upon
work supported by the National Science Foundation (NSF) under Awards No. CCF
14-22347, CNS 15-26165, and CCF 17-49665. Any opinions, findings, and conclusions or
recommendations expressed in this thesis are those of the author and do not necessarily
reflect the views of the National Science Foundation.
1
Chapter 1
Introduction
The immense growth in wireless data traffic is driven by video-on-demand services,
which are expected to account for 82 percent of all consumer Internet traffic by 2020
[17]. Several data storage technologies, e.g., distributed data storage and coded caching,
are being developed in order to ensure seamless operation of video-on-demand services
in next generation communication networks. Concurrently, the recent advancement in
energy harvesting technologies provides promising solutions that reduce the contribution
of data centers to the global energy consumption. In this dissertation, we will study how
to best utilize the resources in content delivery networks, e.g., energy, data, and storage,
in order to ensure reliability and alleviate congestion.
1.1 Green Distributed Data Storage
1.1.1 Distributed Storage Systems
Distributed Storage Systems (DSS) offer reliable and efficient storage and retrieval
of data files [22]. In such systems, a data file is encoded into n pieces, each of size α,
and stored over n storage nodes, i.e., each node stores one piece of the file. The file is
encoded such that it can be reconstructed from the contents of any k out of the n nodes,
k < n. This approach enhances the reliability of the file retrieval process and offers
better storage efficiency than replicating the file in many locations. Furthermore, if a
2
node fails or exits the system, a new node can join the system to take over the role of
the failed one. In particular, the system initiates a repair process in which the newcomer
generates a piece of size α that preserves the system functionality, by connecting to any
d alive nodes, d ≤ n − 1, and downloading β bits from each of them, which results in
a total repair bandwidth of dβ. Since the seminal work of [22], which characterized the
fundamental trade-off between the node storage capacity α and the repair bandwidth
dβ, extensive research effort has transpired towards designing regenerating codes, that
achieve this trade-off, see for example [12,22,25,28,64,77,78,86], and references therein.
In the aforementioned references, node failures are the only considered dynamic
in the system. In many practical scenarios, the system has other uncertainties besides
the node failures, which have been considered more recently. For example, reference [31]
considers a distributed storage system where the repair process is done over erasure
channels. The probability of successful repair is studied and methods for maximizing it
are proposed. The impact of the network topology on the repair process is considered
in [32], and modeled by a transmission cost during the repair process. In particular,
given the network cost matrix, a regenerating code is designed to minimize the repair
cost. Reference [14] has considered a distributed storage system with multiple files
and investigated the file retrieval latency under different scheduling schemes. More
recent efforts also include wireless applications of distributed storage [33, 36, 55, 71, 74].
Reference [55] investigates the system performance when the repair process is done over
fading channels. Reference [74] considers a system where one file is stored in a base
station that serves a set of end users. Additionally, the file content is encoded using
a proper regenerating code and stored over a subset of these end users, called storage
3
nodes. This work has studied the performance of the system when end users requests
are served either by the base station or by device-to-device communications with the
storage nodes.
1.1.2 Energy Harvesting for Green Operation
An important consideration whether the underlying network is wired or wireless
is energy efficient operation. To this end, energy harvesting devices offer several ad-
vantages such as self-sustainability, perpetual green network operation and increase in
energy efficiency. An intense research effort has been devoted in recent years towards
understanding the fundamental limits of communications with energy harvesting nodes,
especially for wireless networks, see for example [10, 21, 26, 38, 68, 70, 92–96, 107–109].
The salient feature of such systems is the intermittency of instantaneous energy avail-
ability, which calls for careful energy management in order to reap the aforementioned
advantage.
Given the prevalence of storing, retrieving, and repairing data in the era of con-
nected networks, it is natural to consider distributed storage systems that are self-energy
sustaining, i.e., consisting of energy harvesting devices. Applications of such systems can
be wired, as in data centers, powered by environmental energy or even wirelessly powering
one another; or wireless as have been considered in the recent energy harvesting litera-
ture. For data centers, it is known that the electricity costs about 20% of the operational
costs [119]. Hence, there is a need for green data centers, where large-scale harvested
energy, e.g., solar, can provide a viable solution. For wireless sensor networks, energy
harvesting on smaller scale can provide self-sustaining operation [30,98]. Additionally, as
4
wireless sensor nodes fail often, distributed storage codes can improve reliability [23,24].
Potential applications include environmental monitoring and infrastructure monitoring,
e.g., vibration powered sensors embedded to monitor the structural health of a bridge.
1.1.3 Our Contributions
None of the aforementioned studies analyzed the dynamics of distributed storage
systems under the intermittently available harvested energy. Our contribution to the
investigation of the effect of intermittency of energy availability, i.e., energy harvesting
constraints, on a distributed storage systems is in references [41,42]. In which, we have
formulated two optimization problems that represent the file retrieval and node repair
processes. In order to solve these optimization problems, first we have characterized
the necessary and sufficient energy feasibility conditions to retrieve M files in T time
slots. In addition, we have investigated the optimal online policy for the system under
causal knowledge of energy arrivals. Finally, we have provided numerical results that
demonstrates the performance of the system under several parameters values. The results
indicate that, with energy harvesting nodes, codes that minimize the repair bandwidth
may not lead to minimum repair time. Thus, an operational trade-off arises between
the repair time and energy consumption. Additionally, the choice of the number of
stored files M differs depending on the system objectives such as lifetime, repair rate
and throughput.
5
1.2 Cache-Aided Networks
The immense growth in wireless data traffic is driven by video-on-demand services,
which are expected to account for 82% of all consumer Internet traffic by 2020 [17]. The
high temporal variation in video traffic leads to under-utilization of network resources
during off-peak hours and congestion in peak hours [1]. Caching improves uniformization
of network utilization, by pushing data into the cache memories at the network edge
during off-peak hours, which in turn reduces congestion during peak hours.
1.2.1 Design Paradigm Shift: From Uncoded to Coded Caching
The classical approach is to design the cache contents at the end-nodes indepen-
dently, based on the statistics of the users’ demands [1, 27,57]. The goal is to maximize
the probability that the requested files will be available locally at the cache memories
near the end-users and the system performance is measured in terms of the cache hit
rate. We refer to this design paradigm by uncoded caching.
The seminal work [62] has proposed a novel caching technique, called coded
caching, for a downlink setting where the users are connected to the server via a shared
bottleneck link. In coded caching, the server jointly designs the content to be placed
during off-peak hours and the delivered during peak hours, in order to ensure that mul-
tiple end-users can benefit from delivery transmissions simultaneously. That is, coded
caching not only shifts the network traffic to off-peak hours but also creates multicast
opportunities that reduce the delivery load on the server [62]. These multicast coding
opportunities are shown to provide gains beyond local caching gains, which result from
6
the availability of a fraction of the requested file at the user’s local cache. They are
termed global caching gains since they scale with the network size. Reference [62] has
shown that there exists a fundamental trade-off between the delivery load on the server
and the users’ cache sizes.
The characterization of this trade-off has been the focus of extensive recent efforts
[2,15,34,37,60,89,101–103,112,113]. In particular, references [101,102,112] have charac-
terized the delivery load memory trade-off with the uncoded placement assumption, i.e.,
assuming that the users cache only uncoded pieces of the files. The delivery load memory
trade-off with general (coded) placement has been studied in [2,15,34,37,60,89,103,113].
Coded caching schemes were developed for various cache-aided network architectures,
such as multi-hop [53, 99, 116], device-to-device (D2D) [46, 49], multi-server [84], lossy
broadcast [3,9,35,91], and interference networks [65,106]. In addition to network topol-
ogy, several practical considerations have been studied, such as the time-varying nature of
the number of users [63], distortion requirements at the users [40, 47, 110], non-uniform
content distribution [52, 54, 67, 76, 118], delay-sensitive content [66], and systems with
security requirements [79,81,115].
1.2.2 Heterogeneous Cache Sizes
1.2.2.1 Overview
End-nodes in content delivery networks have different storage and computational
capabilities, e.g., we have laptops, tablets, smart phones, etc. Realistic caching models
that reflect the heterogeneity in cache sizes have been studied in references [4,13,20,43–
45,82,104,110]. In particular, references [4,104] have extended the decentralized caching
7
scheme in [63] to systems with unequal cache sizes. References [82, 110] have proposed
a centralized scheme in which the system is decomposed into layers such that the users
in each layer have equal cache size. More specifically, the scheme in [62] is applied
on each layer and the optimal fraction of the file delivered in each layer is optimized.
Additionally, reference [82] has proposed grouping the users before applying the layered
scheme which requires solving a combinatorial problem. In a follow-up work to some of
our preliminary results presented in [43], reference [20] proposed optimizing over uncoded
placement schemes assuming the delivery scheme in [63].
1.2.2.2 Our Contributions
We study how the heterogeneity in the users cache sizes impact the delivery
load on the server. We generalize the cache placement and delivery schemes in [62] in
order to accommodate the heterogeneity in cache sizes. Our proposed caching scheme
outperforms the schemes in [20,82,110], because it allows flexible utilization of the side-
information in the creation of the multicast signals. By optimizing over the parameters of
the proposed caching scheme, we exploit all the multicast opportunities and the delivery
load is minimized. We derive a lower bound on the worst-case delivery load with uncoded
placement. Using this bound, we explicitly characterize the delivery load memory trade-
off for several cases of interest.
Next, we consider a middle ground between noiseless setups [62,82,110] and noisy
broadcast channels with cache-aided receivers [3, 9, 35,91]. More specifically, we assume
that the server is connected to the users via rate limited links of different capacities, and
the server assigns the users’ cache sizes subject to a cache memory budget. Reference [87]
8
has considered a similar model and proposed jointly designing the caching and modula-
tion schemes. Different from [3, 9, 35, 87, 91], we consider a separation approach where
the caching scheme and the physical layer transmission scheme are designed separately.
This is inline in general with the approach of [62] and followup works that consider
server to end-users links as bit pipes. We show that the worst-case delivery completion
time is minimized by jointly optimizing the users’ cache sizes and the caching scheme.
In addition, for the case where the cache memory budget is less than or equal to the
library size at the server, we find closed form expressions for the optimal cache sizes,
placement and delivery policies. The optimal solution balances between allocating larger
cache memories to users with low capacities and equalizing the cache memory sizes. The
former implies transmitting fewer number of bits in order to satisfy their demands, while
the latter maximizes the multicast gain.
1.2.3 Different Quality-of-Service Requirements
1.2.3.1 Overview
The heterogeneity in users’ preferences for content motivates developing coded
caching schemes with different quality-of-service requirements per user. In this realm,
coded caching schemes with heterogeneous distortion requirements have been studied
in references [40, 90, 110]. In particular, reference [40] has considered a centralized sys-
tem where files are modeled as independent and identically distributed (i.i.d.) samples
from a Gaussian source. Each file is represented by a number of layers equal to the
number of users in the system, and accessing the first k layers guarantees that the kth
user’s distortion requirement is satisfied. In this setup, reference [40] has minimized the
9
squared error distortion for given delivery load, cache sizes, and popularity distribution.
Reference [110] has studied the problem of minimizing the delivery load in a centralized
caching system with heterogeneous distortion requirements and heterogeneous cache sizes
at the users. In particular, reference [110] has considered a separation approach where
the memory allocation over the layers and the caching scheme are optimized separately.
1.2.3.2 Our Contributions
Given the users’ distortion requirements, we study the problem of jointly opti-
mizing the caching scheme and the users’ cache sizes subject to a total cache memory
budget, in order to minimize the delivery load. We show that the optimal memory al-
location over the layers follows a threshold policy, which depends on the available total
cache memory budget and the target distortion requirements at the users. We extend
the cut-set bound in [110] to systems with total cache memory budget. For systems with
fixed cache sizes, we show that the proposed caching scheme outperforms the schemes
proposed in [110], because the flexibility in our scheme allows us to exploit the multi-
cast opportunities over all layers. Finally, we illustrate the suboptimality of exploiting
only the intra-layer multicast opportunities without taking into account the inter-layer
multicast opportunities.
1.2.4 Device-to-Device Networks
1.2.4.1 Overview
Development of novel techniques that fully utilize network resources is imperative
to meet the objectives of 5G systems and beyond with increasing demand for wireless
10
data traffic. Utilizing device-to-device (D2D) communications [6] is one prominent solu-
tion for alleviating network congestion. D2D communications utilize the radio interface
enabling the nodes to directly communicate with each other to reduce the delivery load
on servers/base stations/access points.
Coded caching in device-to-device networks has been investigated in [7, 16, 49–
51, 83, 88, 117]. In particular, D2D coded caching was first considered in [49], where
centralized and decentralized caching schemes have been proposed for when the users
have equal cache sizes. References [49–51,83] have studied the impact of coded caching on
throughput scaling laws of D2D networks under the protocol model in [39]. Reference [88]
has considered a D2D system where only a subset of the users participate in delivering the
missing subfiles to all users. Reference [16] has proposed using random linear network
coding to reduce the delay experienced by the users in lossy networks. Reference [7]
has proposed a secure D2D delivery scheme that protects the D2D transmissions in
the presence of an eavesdropper. Reference [117] has considered secure D2D coded
caching when each user can recover its requested file and is simultaneously prevented
from accessing any other file.
1.2.4.2 Our Contributions
We investigate the impact of heterogeneous cache sizes at the end users on the
D2D delivery load. We jointly design cache placement and D2D delivery schemes that
minimize the D2D delivery load. In particular, a linear program determines the par-
titioning of the files in the placement phase and the size and structure of the D2D
transmissions. Additionally, building on [101, 102, 112], we propose a lower bound on
11
the worst-case D2D delivery load under uncoded placement, which is also defined by a
linear program. Using the proposed lower bound, we prove the optimality of the caching
scheme in [49] under uncoded placement and characterize explicitly the delivery load
memory trade-off under uncoded placement for several cases. In particular, we show
that the D2D delivery load depends only on the total cache sizes in the system whenever
the smallest cache size is greater than a certain threshold. Additionally, we characterize
the trade-off in the case where the total memory is less than double the library size and
the case where the total memory is greater than K−1 times the library size, where K
is the number of users. In turn, we completely characterize the trade-off for the three-
user case. Finally, we show numerically that the proposed delivery scheme achieves the
minimum D2D delivery load.
1.2.5 Benefits of Coded Placement
1.2.5.1 Overview
Coded caching schemes are categorized according to whether coding over the files
is utilized or not in the placement phase. If uncoded placement is considered, the server
places uncoded pieces of each file in the cache memories of the users. Alternatively, if
coded placement is considered, the server places coded pieces of the files in the users’
caches which are decoded using the transmissions in the delivery phase. While uncoded
placement is sufficient for some systems, coding over files has shown to provide addtional
gains in certain setups. More specifically, for systems with equal cache sizes, references
[37,89] have shown that coded placement is beneficial in the small memory regime when
the number of files is less than or equal the number of users. Recent reference [13]
12
has shown that coded placement is essential in achieving the optimal delivery load in a
two-user system when the cache sizes of the two users differ.
1.2.5.2 Our Contributions
We study the benefits of utilizing coded placement in systems where K users
share L cache-helpers with unequal size and L ≤ K, i.e., multiple users share the same
cache. First, for systems with one user per cache, we show that coded placement outper-
forms uncoded placement when the cache-helpers have different sizes. This performance
improvement is due to an increase in both the local caching gain at the users and the
multicast gain in the system when coded placement is utilized. For three-user systems,
we explicitly characterize the reduction in the worst-case delivery load with coded place-
ment compared to the best caching scheme with uncoded placement in [45]. In our
proposed scheme, users cache both uncoded and coded pieces of the files, and users with
large memories decode the cached coded pieces using the transmissions intended to serve
users with smaller memories. We observe that the gain from coded placement increases
with heterogeneity in the cache sizes, and decreases with the number of files. We extend
the proposed scheme to systems with more than three end-users and show the reduction
in delivery load with coded placement.
Next, we consider a system with multiple users per cache and the cache-helpers
are of equal size. Based on the network connectivity pattern, we place uncoded pieces in
the cache which is shared by a larger number of users, while storing coded pieces in the
remaining caches. In particular, we show that coded placement exploits the asymmetry
in the cache assignment in minimizing the delivery load. We first explain the coded
13
placement scheme for two-cache systems with arbitrary number of users, then generalize
the caching scheme to larger systems. Finally, for systems with L shared caches of
unequal size, we propose a unified coded placement scheme that utilize the asymmetry
in both the cache sizes and the number of users connected to each cache.
1.3 Dissertation Road Map
In Chapter 2, we present our results on distributed data storage systems where
the nodes are powered with energy harvesting. In Chapters 3-6, we study coded caching
in different setups. More specifically, in Chapter 3, we develop coded caching schemes
for systems with heterogeneous cache sizes. Systems where the users have different
quality-of-service requirements are analyzed in Chapter 4. In Chapter 5, we develop
coded caching schemes for device-to-device networks. The benefits of coded placement
for asymmetric networks are studied in Chapter 6. In Chapter 7, we conclude the
dissertation and discuss future research directions.
1.4 Notation
Matrices and vectors are represented by boldface letters. For a matrix A, Ai(l)
denotes the element (i, l) and a(l) denotes column l. Sets of policies are represented by
calligraphic letters, e.g., A. (x)+,max{0, x}. |W | denotes the size of W . A\B denotes
the set of elements in A and not in B, A ⊂ B denotes A being a subset of or equal to B, φ
denotes the empty set, [K] , {1, . . . ,K}, (φ [K] denotes non-empty subsets of [K], and
PA is the set of all permutations of the elements in the set A, e.g., P{1,2} = {[1, 2], [2, 1]}.
14
Element-wise operations: ⊕ refers to bitwise XOR operation. If the operands have
equal size [x1, x2]⊕ [y1, y2] = [x1⊕y1, x2⊕y2], otherwise the operands are zero-padded
to have equal size, [x1]⊕ [y1, y2]⊕ [z1, z2, z3] = [x1 ⊕ y1 ⊕ z1, y2 ⊕ z2, z3].
15
Chapter 2
Green Distributed Data Storage
2.1 Introduction
We study the operational principles of a distributed storage system with energy
harvesting nodes. The proposed distributed storage system consists of n storage nodes
each of which is equipped with an energy harvester and a relatively large energy storage
device, henceforth called an infinite capacity battery, as in the energy harvesting litera-
ture [107–109], as shown in Fig. 2.1. F files are stored over the storage nodes using an
(n, k, d, α, β) regenerating code. As in a classical distributed storage system, there are
retrieval and repair modes. In the retrieval mode, storage nodes serve the files requests of
the data collectors, while in the repair mode the alive storage nodes help the newcomer
to preserve the system functionality.
First, for a given energy arrival profile for each node, we design transmission
algorithms that optimize the system operations, i.e., file retrieval efficiency and node
repair time. For the former, we formulate: 1) the problem of maximizing the number of
retrieved files by a deadline T , and 2) the problem of minimizing the retrieval time of M
different files. The latter, i.e., the repair mode counterparts of these two problems, can be
obtained directly by appropriately replacing parameters, as explained in Section 2.4. We
derive necessary and sufficient conditions on the energy harvesting profiles that ensure
the feasibility of retrieving M files in T time slots. Building on these conditions, we
16
convert the two optimization problems to a single feasibility problem. We then propose
algorithms to solve the feasibility problem. Our numerical results demonstrate that, for
some system parameters, repairing a failed node by downloading the whole file, using α
bits from k alive storage nodes, requires less time on average compared with downloading
β bits from d alive storage nodes, where dβ < kα. This demonstrates an operational
trade-off between the repair time and energy consumption. Additionally, we extend our
formulation to the case where only causal information on the energy arrival profile is
available, i.e., the online setup, for maximizing the average number of retrieved files by a
deadline T . The online policies are computed numerically evaluating their performance.
2.2 System Model
Consider a data storage system consisting of n nodes, represented by the set
N = {1, 2, .., n}, which store F files, each with size U bits. The files, represented by
the set F = {1, 2, .., F}, are stored over these storage nodes. Each file is encoded using
an (n, k, d, α, β) regenerating code [12, 22, 25, 28, 77, 78, 86]. Each node has data storage
capacity αT= Fα, and stores an encoded piece of each file.
The distributed data storage system is solely powered by intermittent energy
sources, i.e., each storage node is equipped with an energy harvesting unit. Nodes store
their harvested energy in infinite capacity batteries, as illustrated in Fig. 2.1(a). The
intermittent energy supply is modeled as a discrete energy harvesting process, where
energy arrives at the beginning of each time slot [70,93,96,109]. Similar to [70,93,96,109],
we initially assume a given energy arrival profile at each node. The system with causal
knowledge of energy arrivals is considered in Section 2.5. We denote the energy arrivals
17
(a) Data center (b) Wireless sensor network.
Fig. 2.1: Distributed storage systems with energy harvesting nodes.
to node i at time slot l by Ei(l), which is a sample path from a random process. We
consider the energy consumption at the storage nodes due to data transmission. Each
node thus has a cost for transmission different from one another, with the thought
of capturing channel conditions of each node in a wireless scenario, or any circuit or
processing costs for either the wired or wireless models [68]. To address a variety of
applications of a distributed storage system, we consider a general energy cost function
vi(.). A storage node i thus consumes vi(b) energy units to transmit b bits in one time
slot, where vi(.) is a monotonically increasing function. For simplicity, we consider a
time-slotted system with unit length time slots, which allows us to use the terms power
and energy interchangeably, as in power allocation versus energy allocation.
The distributed data storage system operates in either one of two modes. The
first mode is retrieval mode, where a data collector (DC) joins the system to retrieve M
files given by the subset of filesM⊂ F . The file retrieval process is done file-by-file, such
that a data collector retrieves a file when a set of k storage nodes transmit the stored
data content related to this file. Furthermore, the transmission occurs only if there exist
18
k storage nodes, each with sufficient energy to transmit α bits. Specifically, a storage
node i is capable of transmitting α bits if and only if its stored energy is greater than
or equal to vi(α), which is the energy cost of transmitting α bits from storage node i
to the data collector. Communication takes place over one time slot via k orthogonal
links. From the received kα bits, the data collector is able to reconstruct the whole file.
Similarly, the system repeats this process to retrieve the remaining files in setM. Note
that at any time slot during the retrieval mode, we have only two possibilities: if there
exist k or more nodes such that each of them has sufficient energy to transmit α bits,
then k of those nodes transmit their data to the data collector to retrieve a certain file,
otherwise all nodes remain silent. Note that this operational assumption does not affect
the number of slots required to retrieve M files, since each node is equipped with infinite
capacity battery, and can transmit only one piece of a file in each time slot with fixed
energy cost.
The second mode is the repair mode, where a newcomer joins the system to replace
a failed storage node. Similar to retrieval mode, repair is done file-by-file, such that a file
is repaired by the transmission of β bits from d storage nodes over d orthogonal links.
A storage node i participates in the repair process if its stored energy is greater than or
equal to vi(β), which is the energy cost of communicating β bits from storage node i to
the newcomer. With the received dβ bits, the newcomer generates a piece of size α that
preserves the functionality of the system. Again, during the repair mode, the system
either repairs the content related to one file by transmitting β bits from d nodes, or all
nodes remain silent. Lastly, note that there is no overlap between the two modes of
19
operation. The structure of the distributed storage system and the coding technique [22]
impose the aforementioned operational assumptions, which are summarized as follows.
(S1) A file is retrieved (repaired) by transmitting kα (dβ) bits from k (d) nodes, and
each node transmits α (β) bits.
(S2) At any time slot, during the retrieval (repair) mode either k (d) nodes transmit or
all nodes remain silent.
(S3) The transmission of b bits from storage node i consumes vi(b) units of energy.
2.3 Problem Formulation
In this section, we characterize the energy feasibility conditions and formulate
two optimization problems that capture the system operations under a given profile
of energy arrivals. We focus mainly on the retrieval mode, however, our results can be
applied directly to the repair mode for the failure of node io, by replacing the parameters
{M,N , k, α} with {F,N \ {io}, d, β}, respectively. This equivalence can be readily seen
from the operational assumptions (S1)-(S3). Therefore, in the following, we present the
retrieval mode results and the repair mode counterparts are directly obtained by the
aforementioned substitution of parameters, see also Remark 2 in this section for further
elaboration on this transformation.
In order to characterize the energy causality conditions on the file retrieval oper-
ation, we introduce the notion of effective accumulated energy. This notion follows from
the assumption that in each time slot, during the retrieval mode, a storage node i either
20
transmits α bits or remains silent. Thus, a storage node i can consume at most vi(α)
units of energy at any time slot.
Definition 1. The effective accumulated energy at node i by time slot l, Ai(l),
represents the maximum energy that can be utilized at node i by time slot l, and is
obtained by the following recursive relation in z(l−r), which represents the maximum
energy that can be utilized out of the energy arrivals Ei(l−r), . . . , Ei(l).
Ai(l) = min{
z(2) + Ei(1), l vi(α)}
, (2.1)
z(l−r) = min{
z(l−r+1) + Ei(l−r), (r+1) v
i(α)}
, (2.2)
z(l) = min{
Ei(l), v
i(α)}
, r = 1, . . . , l − 2. (2.3)
For instance, the effective accumulated energy at node i by time slot 2 is given by
Ai(2) = min
{
Ei(1) + min
{
Ei(2), v
i(α)}
, 2 vi(α)}
. (2.4)
Note that the accumulated energy at node i by time slot j is given by
j∑
l=1
Ei(l) = A
i(j) +A
e
i(j), (2.5)
where Ae
i(j) is excess energy saved for future use, e.g., E
i(1) = 4, E
i(2) = 0, and v
i(α) =
2, imply that Ai(1)=2, A
e
i(1)=2, A
i(2)=4 and A
e
i(2)=0.
21
Remark 1. The effective accumulated energy profile of a node can be obtained directly
from its energy arrival profile and hence would be available offline as well, if the energy
arrival profile is available offline.
Using the notion of effective accumulated energy, we can express the energy causal-
ity constraints asj∑
l=1
∆i(l) ≤⌊
Ai(j)
vi(α)
⌋
∀ i ∈ N , j=1, . . . , T, (2.6)
where ∆i(l) = P
i(l)/v
i(α) is the transmission indicator of node i at time slot l and P
i(l)
is the transmitted power by node i at time slot l and denotes the element (i, l) in the
matrix P . Next, we characterize necessary and sufficient conditions on the harvested
energy to ascertain the feasibility of retrieving M files by slot T .
Lemma 1. The following conditions for a sequence of time slots {lm}Mm=1
, where 0 <
l1 < · · · < lM
= T , are necessary and sufficient for the existence of a feasible power
allocation to retrieve M files by T .
∑
i∈N
⌊
Ai(lm)
vi(α)
⌋
≥ km, (2.7)
∑
i∈N
⌊
Ai(lm)
vi(α)
⌋
−⌊
Aj(lm)
vj(α)
⌋
≥ (k − 1)m, j=argmax(1)
i∈N{A
i(lm)}, (2.8)
∑
i∈Slm
⌊
Ai(lm)
vi(α)
⌋
≥ m, Slm =argmin(n−k+1)
i∈N{Ai(lm)}, (2.9)
where Slm is the set of n− k + 1 nodes with minimum effective accumulated energies at
time slot lm, That is, if we have Ai1(lm) ≤ · · · ≤ Ain−k+1
(lm) ≤ · · · ≤ Ain(lm), then,
22
the set Slm and its complement Sclm
are defined as {i1, . . . , in−k+1} and {in−k+2, . . . , in},
respectively.
Proof: First, we prove the necessity of the conditions (2.7)-(2.9). To this end, we show
that the violation of any of the conditions (2.7)-(2.9) at time slot T implies that there is
no feasible power allocation to retrieve M files by time slot T .
• To prove the necessity of condition (2.7), suppose
n∑
i=1
⌊
Ai(T )
vi(α)
⌋
< kM.
This simply means that the number of transmissions that could be made by the
n nodes till T is fewer than kM , i.e., at least one file will have less than k nodes
to contribute to. Thus, at least one file cannot be reconstructed. This contradicts
the assumption that we retrieve M files at T .
• Condition (2.8) ensures that the effective accumulated energy of any node con-
tributes to at most M files. For instance, suppose∑n
i=1
⌊
Ai(T )/vi(α)⌋
= kM , and
Aio(T ) > Mv
io(α), for some i
o∈ N , then, we have
n∑
i=1
⌊
Ai(T )
vi(α)
⌋
−⌊
Aio(T )
vio(α)
⌋
< (k − 1)M,
which implies that node iocontributes to more than M files. This contradicts the
operating assumption that any file can be reconstructed from k distinct nodes.
Thus, the system is not able to retrieve M files at T .
23
• Condition (2.9) ensures that at least k nodes are able to transmit in M time slots.
To see this, suppose∑n
i=1
⌊
Ai(T )/vi(α)⌋
= kM , and∑
i∈ST
⌊
Ai(T )/vi(α)⌋
< M .
This requires the k − 1 nodes in the set ScTto contribute by more than (k − 1)M
transmissions, i.e.,∑
i∈Sc
T
⌊
Ai(T )/v
i(α)⌋
> (k − 1)M . Then, there is at least one
node in the ScTthat contributes to more that M transmissions. This contradicts
the assumption that to reconstruct a file, k transmissions from k distinct nodes are
required. Thus, retrieving M files at T is not possible.
Next, we prove the other direction by showing that if for a sequence of time slots
{lm}Mm=1
, where 0 < l1 < · · · < lM=T , at each l
mthe conditions (2.7)-(2.9) are satisfied
for m files, then there exists a feasible power allocation.
Assume conditions (2.7)-(2.9) are satisfied form=1 at l1, i.e.,∑n
i=1
⌊
Ai(l1)/vi(α)⌋
≥ k,∑n
i=1
⌊
Ai(l1)/vi(α)
⌋
−⌊
Aj(l1)/vj(α)
⌋
≥ k − 1, j = argmax(1)
i∈N{A
i(l1)} and
∑
i∈Sl1
⌊
Ai(l1)/vi(α)
⌋
≥ 1. Then, the existence of k − 1 nodes in the set Scl1
with
sufficient energy directly follows from (2.7) and (2.8). While, (2.9) ensures the existence
of a node in the set Sl1
with sufficient energy to transmit. Consequently, there exists k
nodes with sufficient energy and the first file can be retrieved by time slot l1. Similarly,
by applying the same arguments for m files at time slots lm, we ascertain the feasibility
of retrieving M files by time slot T . Note that checking the conditions (2.7)-(2.9) at
time slot T only is not enough to prove sufficiency due to the fact that a node cannot
transmit more than one piece in a time slot. �
Below we present an example to illustrate the Lemma.
24
Example 1. Consider the transmission of a file of size U = 2.4 under an (n = 4, k =
3, d=3, α=0.8, β =0.8) minimum storage regeneration (MSR) code and vi(α)= 2, ∀ i.
The effective accumulated energy profiles of the storage nodes are given by
A =
2 4 4 4
1 2 4 4
0 1 1 1
1 1 1 2
. (2.10)
1. At l=1, none of the conditions (2.7)-(2.9) is satisfied.
2. At l=2, (2.7) is satisfied, while (2.8), (2.9) are not.
4∑
i=1
⌊
Ai(T )
vi(α)
⌋
−⌊
A1(T )
v1(α)
⌋
= 1<M(k−1) = 2,
∑
i∈S2
⌊
Ai(T )
vi(α)
⌋
= 0 < M, S2 = {3, 4}.
3. At l=3, (2.7), (2.8) are satisfied, while (2.9) is not.
∑
i∈S3
⌊
Ai(T )
vi(α)
⌋
= 0 < M, S3 = {3, 4}.
4. At l=4, conditions (2.7)-(2.9) are all satisfied.
25
Therefore, a feasible solution P to retrieve a file by l=4, is
P =
0 0 0 2
0 0 0 2
0 0 0 0
0 0 0 2
. (2.11)
In order to solve the scheduling problem of the file retrieval operation, we formu-
late the optimization problem of maximizing the number of retrieved files M , given a
deadline T , which we refer to as the throughput maximization problem. We also consider
the problem of minimizing the retrieval time T of M files, which we refer to as the re-
trieval time minimization problem. The throughput maximization problem is given by
the following 0−1 programming problem [48].
O1: max∆i(l)
1
k
∑
i∈N
∑
l∈T
∆i(l) (2.12a)
subject to
j∑
l=1
∆i(l)≤⌊
Ai(j)
vi(α)
⌋
, ∀ i ∈N , j ∈ T , (2.12b)
∆i(l)∈ {0, 1}, ∀ i ∈ N , l ∈ T , (2.12c)
∑
i∈N
∆i(l) ∈ {0, k}, l ∈ T , (2.12d)
where T = {1, 2, . . . , T}. Here, ∆i(l) indicates whether node i transmits in time slot l
(1), or not (0). Note that (2.12b) captures the energy causality constraints, while (2.12c)
and (2.12d) represent the operational assumptions (S1)-(S3).
26
Meanwhile, the retrieval time minimization problem is given by the following 0−1
programming problem.
O2: min∆i(l)
T (2.13a)
subject to∑
i∈N
∑
l∈T
∆i(l) = kM, (2.13b)
j∑
l=1
∆i(l)≤⌊
Ai(j)
vi(α)
⌋
, ∀ i ∈N , j ∈ T , (2.13c)
∆i(l) ∈ {0, 1}, ∀ i ∈ N , l ∈ T , (2.13d)
∑
i∈N
∆i(l) ∈ {0, k}, l ∈ T . (2.13e)
O1 and O2 being binary integer programs, one can pursue methods such as branch and
bound [11] to obtain the solution. Here, we will instead use the fact that the optimal
solution of a linear integer program can be found in polynomial time if the optimal
objective value can be identified in polynomial time [69]. We utilize the structure of the
feasible set to develop algorithms that reduce the problems O1 and O2 to a feasibility
problem. In particular, the inspection of the energy harvesting profiles, sequentially
in time, i.e., utilizing Lemma 1, allows us to find the maximum number of files that
can be retrieved in T time slots and the minimum number of time slots needed in
the transmission of M files, i.e., identify the optimal objective values for O1 and O2,
respectively. It remains then to identify a feasible power allocation that can produce
these objective values. That is, we have a 0−1 assignment problem whose solution
identifies the transmissions out of each node throughout the session, and thus in turn
their transmission power allocation. We term this the feasibility problem F1, which can
27
be expressed as
F1: Find ∆ (2.14a)
subject to∑
i∈N
∑
l∈T
∆i(l) = kM, (2.14b)
j∑
l=1
∆i(l)≤
⌊
Ai(j)
vi(α)
⌋
, ∀ i ∈N , j ∈ T , (2.14c)
∆i(l) ∈ {0, 1}, ∀ i ∈ N , l ∈ T , (2.14d)
∑
i∈N
∆i(l) ∈ {0, k}, l ∈ T , (2.14e)
where ∆i(l) is the (i, l) entry in the matrix ∆ ∈ N
n×Twhich is the transmission indicator
matrix of the nodes over T time slots.
Remark 2. A distributed storage system fails if there are fewer than k active nodes.
In the case of energy intermittency, the lifetime of a distributed storage system is a
concern, since the repair operation is constrained by the harvested energy. Hence, a
meaningful objective during the repair mode is minimizing the total time required to repair
the F files, i.e., the newcomer completely replaces the failed node. By the substitution of
parameters described at the beginning of Section 2.3, i.e., by replacing {M,N , k, α} with
{F,N\{io}, d, β}, we obtain the problems that represent the repair mode, i.e., minimizing
the repair time of F files, and maximizing the number of repaired files by a deadline T .
For example, the repair time minimization problem of node iois given by
O3 : min∆i(l)
T (2.15a)
28
subject to∑
i∈N\{io}
∑
l∈T
∆i(l) = dF, (2.15b)
j∑
l=1
∆i(l)≤
⌊
Ai(j)
vi(β)
⌋
,∀ i ∈ N \{io}, j ∈ T , (2.15c)
∆i(l) ∈ {0, 1},∀ i ∈ N \{io}, l ∈ T , (2.15d)
∑
i∈N\{io}
∆i(l) ∈ {0, d}, l ∈ T , (2.15e)
where the effective accumulated energy Ai(l) is characterized by replacing v
i(α) with
vi(β) in (2.1)-(2.3). Moreover, the solutions are obtained from the algorithms in Section
2.4, by the aforementioned parameter substitution.
2.4 The Proposed Algorithms
In this section, we propose algorithms to solve the aforementioned problems. First,
we describe Algorithms 1 and 2, provided below, that identify the optimum objective
values of O1 and O2.
Algorithm 2.1 Finds the maximum number of files M to be retrieved by a deadline T .
Input: Ai(l), ∀ i ∈ N , l ∈ T .
Output: M1: M ← 0.2: for l = 1 to T do
3: if∑
i∈N
⌊
Ai(l)vi(α)
⌋
≥ k(M+1) and∑
i∈N
⌊
Ai(l)vi(α)
⌋
−⌊
Aj(l)
vj(α)
⌋
≥ (M+1)(k−1), j =
argmax(1)
i∈N{A
i(T )} and ∑
i∈Sl
⌊
Ai(l)vi(α)
⌋
≥ (M+1) then
4: M ←M + 1.5: end if6: end for
29
Algorithm 2.2 Finds the minimum retrieval time T of M files.
Input: M , and Ai(l), ∀ i ∈ N , ∀ l.
Output: T1: T ← 0.2: for m = 1 to M do3: T ← T + 1.
4: while∑
i∈N
⌊
Ai(T )vi(α)
⌋
< km or∑
i∈N
⌊
Ai(T )vi(α)
⌋
−⌊
Aj(T )
vj(α)
⌋
< m(k − 1), j =
argmax(1)
i∈N{Ai(T )} or
∑
i∈ST
⌊
Ai(T )vi(α)
⌋
< m do
5: T ← T + 1.6: end while7: end for
Observe that the two algorithms simply check the conditions given in Lemma 1
sequentially in time. Also, note that the complexity of Algorithm 1 is O(nT ). Next, we
provide two algorithms to find the assignment in F1.
2.4.1 Forward Algorithm
First, we consider an algorithm that minimizes the average delay per file, by
retrieving files as soon as the harvested energy is sufficient and the transmission does
not affect the feasibility of transmitting the remaining files. This algorithm is performed
over T stages. In stage l, we search for δ(l) ∈ Dl, where δ(l)= [∆1(l), . . . ,∆n
(l)]Tand
Dlis the transmissions feasibility set at stage l, defined by
Dl={
δ(l) ∈ {0, 1}n : ∆i(l) ≤
⌊
Ai(l)
vi(α)
⌋
, ∀ i ∈ N ,∑
i∈N
∆i(l) ∈ {0, k}
}
. (2.16)
To ensure the feasibility of retrieving the remaining files in the upcoming slots,
we apply Algorithm 2 on the updated effective accumulated energies Ai(l), i ∈ N , l ∈ T
which represent the elements of the matrix A, as shown in steps 6 to 8.
Proposition 1. Algorithm 3 solves the feasibility problem F1.
30
Algorithm 2.3 The forward algorithm for finding a feasible power allocation to retrieveM files by time slot T .
Input: T , M and Ai(l), ∀ i ∈ N , l ∈ T
Output: ∆1: ∆← 0.2: f ← 0.3: while l ≤ T and f < M do4: repeat5: Choose δ(l) ∈ Dl.
6: a(r)← a(r)− [v1(α)∆1(l), . . . , vn(α)∆n(l)]T, r = l, l+1, . . . , T.
7: Run Algorithm 2 with input: a(r), r = l, l+1, . . . , T.
8: M ← Algorithm 2 output.9: until M =M−f−1.
10: if δ(l) 6= 0 then11: Update ∆ with δ(l).12: a(r)← a(r), r = l, l+1, . . . , T.13: f ← f + 1.14: end if15: l← l + 1.16: end while
Proof: At each time slot l, first we choose a transmission strategy δ(l) from the set of
feasible transmission strategies Dl. Second, using Algorithm 2, our choice δ(l) guarantees
the sufficiency of remaining energy for transmitting the rest of files. Hence, Algorithm 3
generates a strategy ∆ that guarantees the transmission of M files in T time slots. �
Remark 3. Algorithm 3 differs from a myopic approach, where a file is transmitted as
soon as a set of k nodes have sufficient energy, such an approach does not guarantee
retrieving the requested M files by deadline T . This is illustrated numerically in Section
2.6.1.
Note that the complexity of step 7 is O(nT ), steps 4 through 9 are repeated(
nk
)
times, and steps 3 through 16 are repeated T times in the worst case. Hence, for a given
k the complexity of this algorithm is O(n(
nk
)
T2) and in the worst case is O(
√n 2
nT2).
31
2.4.2 Backward Algorithm
In order to avoid searching for a feasible solution at each stage, from 1 to T , (steps
4 to 9 in Algorithm 3 ), we next propose a backward algorithm that has a complexity of
O(nT ), i.e., more computationally efficient than the forward algorithm. The backward
algorithm reduces the number of stages to M stages, M ≤ T , indexed by q. The stages
correspond to time slots T to T−M+1, i.e., l = T− q +1.
The first step in the backward algorithm is to capture the energy arrivals E by
a transmission opportunity matrix B with Bi(l) as its (i, l) entry. The transmission
opportunity matrix B is a binary matrix that shows the time slots at which a node is
capable of a new transmission. A node i is capable of a new transmission, when its
accumulated energy increases by more than or equal to vi(α) units of energy. Also,
we calculate the accumulated transmission opportunity matrix G with Gi(l) as its (i, l)
entry. The calculations of B and G are shown in Algorithm 4. The following example
Algorithm 2.4 Finding the transmission opportunity matrices B and G.
Input: E.Output: B and G.1: B ← 0.2: for i = 1 to n do3: for r = 1 to T do4: if
∑r
l=1E
i(l)− v
i(α)(
∑r−1
l=1B
i(l))
≥ vi(α) then
5: Bi(r)← 1.6: end if7: G
i(r)←∑r
l=1B
i(l).
8: end for9: end for
illustrates the construction of the transmission opportunity matrix B from the energy
arrivals matrix E.
32
Example 2. Using Algorithm 4, we get the following transmission opportunity matrix,
for transmission costs vi(α)= i, i=1, 2, 3, and the energy arrivals matrix E.
E =
0 0 0 2 0 2 1 1 1 0
0 1 2 0 2 1 1 0 2 1
1 2 1 0 0 2 0 0 0 0
, (2.17)
B =
0 0 0 1 1 1 1 1 1 1
0 0 1 0 1 1 0 0 1 1
0 1 0 0 0 1 0 0 0 0
. (2.18)
In the backward algorithm, we schedule the nodes with most recent transmission
opportunity. Particularly, at stage q, we give the priority to the set of nodes with current
transmission opportunity, Bq, which is defined as
Bq={
i ∈ N : Bi(T−q+1) = 1
}
, (2.19)
and its complement is denoted by Bcq. If the number of nodes in the set B
qis less than
k, we schedule the rest starting with the nodes that have maximum accumulated energy.
For instance, if the set Bqhas y nodes, we schedule the remaining k − y nodes from the
set Cq given by
Cq= argmax
(k−y)
i∈Bc
q
{
Gi(T−q+1)
}
. (2.20)
33
Finally, we update the transmission opportunity matrix B and the accumulated trans-
mission opportunity matrix G, by subtracting the allocated transmissions. The steps of
the backward scheduling algorithm are illustrated in Algorithm 5.
Algorithm 2.5 The backward algorithm for finding a feasible power allocation to re-trieve M files by time slot T .
Input: T , M , and E.Output: ∆.1: ∆← 0.2: for q = 1 to M do3: if
∑
i∈N Bi(T−q+1) ≥ k then
4: ∆iv(T−q+1)← 1 for some {i1, . . . , ik} ⊆ Bq
5: else6: ∆i(T−q+1)← 1,∀ i ∈ Bq.7: y ←∑
i∈N Bi(T−q+1).
8: Cq← argmax
(k−y)
i∈Bc
q
{
Gi(T−q+1)
}
.
9: ∆i(T−q+1)← 1,∀ i ∈ C
q.
10: end if11: for i = 1 to n do12: r ← q,13: w
i← ∆
i(T−q+1).
14: while wi> 0 do
15: if Bi(T−r+1) > 0 then16: Bi(T−r+1)← 0, wi ← 0.17: end if18: r ← r + 1.19: end while20: end for21: Update G with B.22: end for
Proposition 2. Algorithms 4 and 5 solve the feasibility problem F1.
Proof: The proof is by construction. Each node is equipped with infinite capacity
battery, hence it is sufficient to consider the last M time slots for retrieving the required
M files. First, consider the case where conditions (2.7)-(2.9) holds with equality, i.e.,
there is no excess energy. A transmission opportunity at time slot T−M+m is essential
34
for the transmission of file m, since there is no excess energy and the algorithm schedules
the files in the last M time slots. Hence, at stage q, we must schedule the nodes in the
set Bq. If the number of nodes in B
qis y < k, then for the remaining k−y nodes we have
the following two cases.
• The set Bq does not include any of the nodes in the set Sq, i.e., the number of
nodes in the set Bcq∩ Sc
qis k−y−1. This implies that the set Cq contains one node
from the set Sq.
• The set Bqincludes one node from the set S
q, i.e., the number of nodes in the set
Bcq∩ Sc
qis k−y. This implies that Cq = B
c
q∩ Sc
q.
In both cases, scheduling the k−y nodes in the set Cqimplies that the algorithms have
scheduled k−1 nodes from the set Scqand one node from the set S
q. This agrees with
the sufficiency proof in Lemma 1.
Next, consider the case where one of the conditions (2.7)-(2.9) holds with strict
inequality, i.e., there is excess energy. In addition to the previous two cases when the
number of nodes in Bqis y < k, we have the following case.
• The set Bqincludes yS > 1 nodes from the set S
q. However, the yS −1 excess
transmission opportunity at stage q, are due to the excess energy.
Hence, scheduling the k−y nodes in the set Cqguarantees the feasibility of scheduling
the remaining files. �
35
2.5 Online Algorithms
The scheduling policies proposed in the previous sections require offline knowledge
of the energy arrivals, i.e., the energy harvesting profiles over the operation duration are
known in advance. In this section, we investigate the online version of the problem of
maximizing the average number of retrieved files by a deadline T , under causal knowledge
of energy arrivals, i.e., the scheduling decision at each time slot depends only on the
previous decisions and energy arrivals. The optimal online policy can be found using
dynamic programming [8], under the assumption that energy arrivals are i.i.d. over time
slots.
Define the state of the system at time slot l as the accumulated energy in the bat-
teries, denoted by x(l)=[X1(l), . . . ,Xn(l)]
T. The action at time slot l is the transmitted
powers, p(l) ∈ Pl (x(l)), where
Pl(x(l)) =
{
p(l) : Pi(l)∈{0, v
i(α)}, P
i(l) ≤ X
i(l), ∀i ∈ N ,
n∑
i=1
Pi(l)
vi(α)∈{0, k}
}
. (2.21)
Hence, the state of the system, x(l), evolves as follows
x(l+1)=x(l) + e(l+1) − p(l), (2.22)
where e(l) = [E1(l), . . . , En(l)]
Tdenotes the energy arrivals at time slot l. Note that the
state of the system evolves according to the probability distribution
P[
x(l+1) = x | x(l), p(l)]
= P[
e(l+1)= x− x(l) + p(l) |x(l), p(l)]
. (2.23)
36
An online policy is defined by π={µ1, . . . , µT }, where µl is a mapping between the state
x(l) and the action p(l), i.e., p(l)=µl (x(l)) and µl (x(l))=[
µ1
l
(
X1(l))
, . . . , µn
l
(
Xn(l))
]
T.
We define the reward at time slot l as the number of retrieved files. Formally, the reward
function at time slot l is given by
gl
(
µl
(
x(l)))
=1
k
n∑
i=1
µi
l
(
Xi(l))
vi(α)
, l ∈ T . (2.24)
Given an initial state x(1)=e(1), the expected number of retrieved files by time
slot T under policy π is given by
Jπ (x(1)) = E
[
T∑
l=1
gl(
µl(
x(l)))
]
. (2.25)
Hence, the optimal value function, given an initial state x(1), is expressed as
Jπ∗ (x(1)) = max
πJπ(x(1)) , (2.26)
where π∗is the optimal online policy. This optimal policy is obtained by solving Bell-
man’s equation which is given by
Jl
(
x(l))
= maxp(l)∈Pl(x(l))
gl
(
µl
(
x(l)))
+E[
Jl+1
(
x(l+1))]
, (2.27)
= maxp(l)∈Pl(x(l))
gl
(
µl
(
x(l)))
+∑
x∈X
Jl+1
(
x(l+1))
× P[
x(l+1) = x|x(l),p(l)]
, (2.28)
where X describes the set of all possible states. The solution of Bellman’s equation can
be obtained using value iteration [8].
37
2.6 Numerical Results and Discussion
In this section, we present numerical results to demonstrate the performance of
a distributed storage system with energy intermittency in different settings and discuss
the resulting insights. Each subsection describes the scenarios we have evaluated and
compared.
2.6.1 Myopic vs Optimal Policies
In this subsection, we first present an example that demonstrates the solutions
obtained by the proposed algorithms and a myopic one. In the myopic algorithm, the
system retrieves a file once a set of k nodes with sufficient energy exists, if there are
more than k nodes with sufficient energy, it randomly chooses any k of them, regardless
of the feasibility of retrieving the remaining files by the deadline T .
Example 3. Consider a distributed storage system consisting of n=4 nodes and operates
at the MSR point. A file, with size 2.4 Mbits, is retrieved from any k = 3 nodes each
transmitting α = 0.8 Mbits. We assume symmetric transmission costs vi(α) = 2, ∀i.
Our objective is to retrieve M=5 files by a deadline T =9. For the effective accumulated
energy given by
A =
0 0 1 2 3 5 5 6 7
0 1 1 2 4 4 4 4 6
0 1 3 4 5 5 5 7 9
2 3 5 7 7 7 8 10 10
, (2.29)
38
we obtain the following solutions by the forward and backward algorithms, respectively
PF=
0 0 0 0 2 2 0 2 0
0 0 0 2 0 2 0 0 2
0 0 0 2 2 0 0 2 2
0 0 0 2 2 2 0 2 2
, (2.30)
PB=
0 0 0 0 0 2 2 2 0
0 0 0 0 2 0 2 0 2
0 0 0 0 2 2 0 2 2
0 0 0 0 2 2 2 2 2
, (2.31)
while the myopic algorithm yields
Pmyopic =
0 0 0 2 0 0 0 2 2
0 0 0 2 2 0 0 0 2
0 0 0 2 2 0 0 2 2
0 0 0 0 2 0 0 2 0
. (2.32)
One can observe that in both solutions, PF
and Pmyopic
the system starts re-
trieving files at the fourth time slot. The optimal algorithm is capable of retrieving the
M = 5 files by the deadline T , while the myopic algorithm retrieves only 4 files. Note
that each of the solutions PF and PB retrieves the 5 required files, however, PF is better
in sense of average delay per file, at the expense of having a higher complexity. In Fig.
2.2, we compare the average number of files retrieved by the optimal policy in T time
39
Fig. 2.2: Comparing the optimal offline and myopic approaches for n=7, k=4, α = 0.5Mbits, β = 1/6 Mbits, d = 6, file size U = 2 Mbits, v
i(α) = 1, for i = 1, 4, 6, 7, v
i(α) = 2
for i = 2, 5, and v3(α) = 3.
slots with the myopic policy. The results demonstrate the performance gap between the
optimal and myopic policies under different energy arrivals. In particular, we consider
i.i.d. Ei(l) ∼ Poisson(h), ∀i, and i.i.d. bursty energy arrivals with burst size θ=5 and
harvesting rate h, i.e., Ei(l) = θ with probability h/θ and Ei(l) = 0 with probability
1− h/θ.
2.6.2 Minimum Storage Regenerating (MSR) vs Minimum Bandwidth Re-
generating (MBR) codes
We compare the performance of a system storing M files, each with size 1 Mbits,
at the two extreme points on the storage and repair bandwidth trade-off curve [22], i.e.,
the MSR and MBR codes. We consider (n=10, k = 5, d= 9, α, β) codes: 1) For MSR,
α = 0.2 Mbits and β = 0.04 Mbits; and 2) For MBR, α = 0.257 Mbits and β = 0.0286
40
M0 5 10 15 20
E[T
]
0
50
100
150
200
250MSR: β = 0.04, d = 9MSR: α = 0.2, k = 5MBR: β = 0.0286, d = 9MBR: α = 0.257, k = 5
Fig. 2.3: The average minimum file retrieval (repair) time E[T ] for M files when hi=
0.1, i = 1, ..., 8, 10 and h9 = 0.01.
Mbits. The transmission cost is given by vi(b) = 22b − 1 ∀i, where b is in Mbits. We
investigate different cases for the energy harvesting rates, where the energy arrivals at
each node follow an i.i.d Binomial distribution with maximum arrival θ = 0.5 energy
units, i.e., 10× Ei(t) ∼ B(5, h
i), ∀i.
Fig. 2.3-2.5 show the average minimum file retrieval (repair) time for M files
under different energy harvesting rates. From Fig. 2.3, we observe that retrieving the
whole file requires less time on average compared with the repair process at the two
extreme points, MSR and MBR. On the other hand, Fig. 2.4 shows that retrieving the
whole file requires less time at the MSR point, while the repair process requires less time
at the MBR point. Fig. 2.5 indicates that the repair process requires less time for both
MSR and MBR when the number of files in the system is large enough, in this example
M>5.
41
M0 5 10 15 20
E[T
]
0
20
40
60
80
100
120
140MSR: β = 0.04, d = 9MSR: α = 0.2, k = 5MBR: β = 0.0286, d = 9MBR: α = 0.257, k = 5
Fig. 2.4: The average minimum file retrieval (repair) time E[T ] for M files when hi=
0.1, i = 1, ..., 8, 10 and h9 = 0.02.
M0 5 10 15 20
E[T
]
0
20
40
60
80
100MSR: β = 0.04, d = 9MSR: α = 0.2, k = 5MBR: β = 0.0286, d = 9MBR: α = 0.257, k = 5
Fig. 2.5: The average minimum file retrieval (repair) time E[T ] for M files when hi =0.1, i = 1, ..., 9, 10.
42
Fig. 2.6: Comparing the optimal offline and online policies for n=4, k= d =3, α=β=0.5Mbits, U=1.5 Mbits, v
i(α)=1 ∀ i and i.i.d Bernoulli energy arrivals with mean h=0.7.
From the aforementioned observations, we conclude that the repair time is highly
dependent on the energy arrivals. In some cases, coding schemes that achieve minimum
repair bandwidth may lead to delay in the repair process under intermittency of en-
ergy. In these cases, repair by reconstructing the whole file may be more delay efficient
compared to conventional repair, which is energy efficient.
2.6.3 Online vs Offline
Fig. 2.6 shows the performance of the system under causal knowledge of energy
arrivals (online) and non-causal knowledge of energy arrivals (offline). We compare
the average number of retrieved files in T time slots under the optimal online policy
proposed in Section 2.5, and the optimal offline algorithms in Section 2.4. From Fig.
43
2.6, we observe that, for small T , the gap between the offline and online solutions is
small, so the offline solution can serve as a good indicator of performance.
2.6.4 Multi-epoch Simulations
In order to evaluate the multi-epoch behavior of a distributed storage system with
energy harvesting nodes, we consider a system consisting of N nodes and stores M files
over n of them, where n << N . A similar set up was investigated in [74]. The N nodes
send file retrieval requests to the n storage nodes, which are stored in a file requests
queue. We model the file requests as a Poisson process with rate equals to ρMN , where
ρ captures the intensity of file requests. The system dynamics change periodically every
T time slots, i.e., at the beginning of each epoch, we know the energy harvesting profiles
and the transmission costs during this epoch. At the end of an epoch, a storage node
leaves the system with probability u and a newcomer replace it, see Fig. 2.1(b). We need
to initiate a repair process whenever a storage node leaves the system, which happens
with probability 1−(1−u)n. We assume that the repair process is given the priority over
the file retrieval process, i.e., the storage nodes start serving the file retrieval requests
after repairing all the failed nodes. We focus on the case M ≤ T , since for M >T the
system is overloaded and the repair process needs at least two epochs.
Next, we investigate the key performance metrics for the aforementioned dis-
tributed storage system. In particular, we evaluate the average fraction of time slots in
which the storage nodes are serving the file requests, which we refer to as the system
throughput. Additionally, we calculate the average fraction of time slots in which the
system is in the repair mode, which we refer to as the system repair rate. Intuitively, the
44
Fig. 2.7: Comparing the throughput of a conventional system with a system implement-ing the kα repair strategy.
system throughput is upper bounded by the file requests rate and the system repair rate
is lower bounded by M(1−(1−u)n), since each file needs one time slot to be repaired.
Also, we define the lifetime of the system as the average number of epochs beyond which
the number of active storage nodes is less than k.
Next, we analyze the throughput, repair rate, and lifetime of a system employing
an (n=4, k=2, d=3, α=0.6, β =0.2) MBR code, with file size U=1 Mbits. We assume
an epoch length T = 10, file requests intensity ρ = 0.12/N and the probability that a
storage node leaves the system u=0.05. We assume a Poisson energy harvesting process
of rate hi=0.5, ∀i and fixed transmission costs vi(α) = 1.3, vi(β) = 0.32, ∀ i. We also
study a system in which a file is repaired by downloading α bits from k storage nodes,
i.e., the whole file is reconstructed in the repair process. In Fig. 2.7, 2.8 and 2.9, we
compare the performance of a distributed storage system implementing the kα repair
45
Fig. 2.8: Comparing the repair rate of a conventional system with a system implementingthe kα repair strategy.
Fig. 2.9: Comparing the lifetime of a conventional system with a system implementingthe kα repair strategy.
46
strategy with the performance of the conventional system, where a file is repaired by
downloading β bits from d nodes. From Fig. 2.7, we observe that the kα repair strategy
enhances the system throughput significantly. Additionally, it decreases the repair rate
and increases the lifetime of the system, as shown in Fig. 2.8 and 2.9.
2.6.5 Model Extensions
In this subsection, we investigate several extensions of the distributed storage
system with energy harvesting nodes under different coding criteria.
Fractional repair codes: In the coding scheme proposed in [28] for MBR,
downloading at most α−1 data symbols, from any k nodes, is sufficient for reconstructing
the file. The proper choice of the transmitted symbols, prevents downloading redundant
bits. This approach clearly leads to energy savings and can decrease the average retrieval
time as demonstrated in Fig. 2.10. The solution for file retrieval in this case is obtained
by replacing α with α−1 in our algorithms. We note that the repair process under
this coding technique is table-based, i.e., to regenerate the content of a failed node, the
newcomer has to connect a specific set of d nodes. Under the energy intermittency, this
restriction may cause delays in the repair process as evident from Fig. 2.10. In the case
where each data symbol has two replica stored in two different nodes, our algorithms
are applicable in the repair mode by restricting the set of nodes for which we check the
necessary and sufficient conditions to the set defined by the repair table. Note that if
there are more than two replicas for each data symbol, the set of choices in the repair
process is enlarged, however the random access repair time is still lower. As a last
comment, we note that, in the retrieval mode, we have only considered the case where
47
M2 3 4 5 6 7 8 9 10
E[T
]
100
101
102
103
Conventional MBR file retrievalFractional repair file retrievalConventional MBR node repairFractional repair node repair
Fig. 2.10: Comparing a fractional repair code [28] and a MBR code with random accessrepair for (n = 6, k = 3, d = 3, β = 1, α = 3). E
i(l) ∼ Poisson(h
i), h
i= 0.8 for
i = 1, 2.., 5 and h6 = 0.3.
each node transmits α− 1 bits. In general, nodes can transmit varying number of bits.
Treatment of this is left as a future direction.
Non-homogeneous systems: In this work, we have considered systems with
similarly capable nodes, i.e., a homogeneous system. Our methodology and solutions,
however, are applicable to non-homogeneous distributed storage systems studied in ref-
erences [97] and [75], as well. In [97], one of the storage nodes is considered a super node
that has double the capacity of any of the remaining nodes. In case a regular node fails,
the super node steps in and transmits double the bits transmitted by each of the regular
nodes. In case of the failure of two regular nodes, or the super node, the repair is done by
reconstructing the whole file. In summary, whenever the super node participates in the
repair process, it transmits double the bits transmitted by a regular node. Consequently,
we can apply our algorithms to this setup, by replacing β with 2β in the cost function
48
M1 2 3 4 5 6 7 8 9 10
E[T
]
0
50
100
150Non-homogeneous hsuper = 0.8Homogeneous h1 = h2 = 0.4Homogeneous h1 = 0.6, h2 = 0.2
Fig. 2.11: Comparing the homogenous and non-homogenous systems, under differentharvesting rates, for β = 1 Mbits, and U=6 Mbits.
of the super node. We investigate the performance of this non-homogeneous system,
by comparing it with a homogeneous system that has the same total storage capacity
and total energy harvesting rate. In particular, we consider a non-homogeneous system
consisting of 4 nodes, where the first node is a super node that has storage capacity 2αT ,
and energy harvesting rate hsuper, while each of the regular nodes has storage capacity
αT
and harvesting rate hri, where i = 2, 3, 4. On the other hand, the homogeneous
system consists of 5 nodes each of which has storage capacity αTand harvesting rate h
i,
where i = 1, .., 5. To have a fair comparison, we assume that hri=h
i+1, i = 2, 3, 4, and
hsuper=h1+h2. In both systems, we assume that node 4 fails and all active nodes partici-
pate in the repair process. Each regular node transmits β bits to the newcomer, while the
super node transmits 2β bits. The transmission cost is given by vi(b) = 2
2b−1 ∀i, where
b is in Mbits. For a file size U = 6 Mbits, Fig. 2.11 shows that the non-homogeneous
49
M1 2 3 4 5 6 7 8 9 10
E[T
]
0
20
40
60
80
100
120
140
160
Non-homogeneous hsuper = 0.8Homogeneous h1 = h2 = 0.4Homogeneous h1 = 0.6, h2 = 0.2
Fig. 2.12: Comparing the homogenous and non-homogenous systems for β = 0.5, andU=3 Mbits.
system achieves lower average repair time compared with the homogeneous system with
asymmetric energy arrivals. The homogeneous system performs better under symmetric
energy arrivals. On the other hand, for a file size U = 3 Mbits, the non-homogeneous
system always outperforms the homogeneous one as evident from Fig. 2.12.
Similarly, modifying the cost function during the repair process captures the na-
ture of the two-rack non-homogeneous distributed storage model considered in [75]. In
this model, the repair bandwidth differs depending on the rack of the failed node and
the nodes involved in the repair process. If a node participates in repairing another node
in the same rack, then the repair bandwidth is given by β bits. On the other hand, when
a node participates in repairing a node in the other rack, then the repair bandwidth is
given by τβ bits, where τ >1. During the repair process of failed node in the first rack,
50
Fig. 2.13: Comparing the average repair time of one file for h1 = 0.5, h2 = 0.2, andh3 = 0.1.
we modify the cost functions of the nodes located in the second rack by replacing β with
τβ.
Local repair: Recently, locally repairable codes have gained a lot of interest, see
for example, [72], [85]. In these coding schemes, the storage nodes are divided into groups,
such that in case a node fails, its neighbors in the same group, can initiate the repair
process. This in turn reduces the repair bandwidth. We consider a system consisting of
12 nodes that utilizes the coding scheme described in Fig. 1 in reference [85]. The nodes
are divided into 3 groups, each containing 4 nodes. In case of node failure, either two
nodes from its group perform a local repair, or the whole file is retrieved by the newcomer.
We assume local repair cost vi(β)=3, ∀ i and file retrieval cost vi(α)=4, ∀ i. Fig. 2.13
shows the average repair time of a single file by the two methods. The energy arrivals,
at each node in group i, are i.i.d. Poisson realizations with rate hi. As expected, as
51
the energy harvesting rate increases the average local repair time decreases. We observe
that, for group 3, retrieving the whole file is more time efficient than local repair. Our
proposed algorithms can be applied to the local repair mode by restricting the set of
nodes, for which we check the necessary and sufficient conditions, to the set of alive
nodes in the same group. On the other hand, the file retrieval process requires new
energy feasibility conditions. For this example, a data collector should connect to k=5
different nodes, such that it connects to at least one node from each group and at most
two nodes from the same group. This leads to the notion of intra-group and inter-group
energy feasibility conditions for the file retrieval process. Deriving these conditions for
multiple files is left as a future direction.
2.7 Chapter Summary
In this chapter, we have investigated the effect of intermittency of energy avail-
ability, i.e., energy harvesting constraints, on a distributed storage system with multiple
files. We have formulated two optimization problems that represent the file retrieval
and node repair processes. In order to solve these optimization problems, first we have
characterized the necessary and sufficient energy feasibility conditions to retrieve M files
in T time slots. Second, using these conditions, we have developed two algorithms that
reduce the optimization problems to a feasibility problem. Third, we have solved this
feasibility problem using forward and backward algorithms and demonstrated their so-
lutions by numerical examples. The forward algorithm minimizes the average delay per
file, while the backward algorithm is more computationally efficient as it solves an equiv-
alent binary problem. In addition, we have investigated the optimal online policy for the
52
system under causal knowledge of energy arrivals. Finally, we have provided numerical
results that demonstrates the performance of the system under several parameters val-
ues. The results indicate that, with energy harvesting nodes, codes that minimize the
repair bandwidth may not lead to minimum repair time. Thus, an operational trade-off
arises between the repair time and energy consumption. Additionally, the choice of the
number of stored files M differs depending on the system objectives such as lifetime,
repair rate and throughput.
53
Chapter 3
Coded Caching for Heterogeneous Systems
3.1 Introduction
End-users in practical caching networks have varying storage capabilities. In
this chapter, we address this system constraint by allowing the users to have distinct
cache sizes. In particular, we study the impact of heterogeneity in cache sizes on the
delivery load memory trade-off with uncoded placement. We focus on uncoded placement
and linear delivery, where the server places uncoded pieces of the files at the users’
cache memories, and the multicast signals are formed using linear codes. We show
that the worst-case delivery load is minimized by solving a linear program over the
parameters of the proposed caching scheme. In order to evaluate the performance of our
caching scheme, we derive a lower bound on the worst-case delivery load with uncoded
placement. Using this bound, we explicitly characterize the delivery load memory trade-
off for arbitrary number of users with uncoded placement in the small total memory
regime, large total memory regime, and for any memory regime for the instance of three-
users. Furthermore, we compare the achievable delivery load with the proposed lower
bound with uncoded placement, and the lower bounds with general placement in [4,103].
From the numerical results, we observe that our achievable delivery load coincides with
the uncoded placement bound.
54
Fig. 3.1: Caching system with unequal cache sizes.
Next, we assume that the server is connected to the users via rate limited links of
different capacities, and the server assigns the users’ cache sizes subject to a cache mem-
ory budget. We focus on the joint optimization of the users’ cache sizes and the caching
scheme in order to minimize the worst-case delivery completion time. More specifically,
the optimal memory allocation, uncoded placement, and linear delivery schemes are
again obtained by solving a linear program. For the case where the cache memory bud-
get is less than or equal to the library size at the server, we derive closed form expressions
for the optimal memory allocation and caching scheme. We observe that the optimal
solution balances between assigning larger cache memories to users with low capacity
links, delivering fewer bits to them, and uniform memory allocation, which maximizes
the multicast gain.
3.2 System Model
Consider a centralized system consisting of a server connected to K users via an
error-free multicast link [62], see Fig. 3.1. A library {W1, . . . ,WN} of N files, each with
size F bits, is stored at the server. User k is equipped with a cache memory of size
55
Fig. 3.2: Caching system with unequal download rates.
MkF bits. Without loss of generality, we assume that M1 ≤M2 ≤ · · · ≤MK . We define
mk =Mk/N to denote the memory size of user k normalized by the library size NF , i.e.,
mk∈ [0, 1] for M
k∈ [0, N ]. The cache size vector is denoted by M = [M1, . . . ,MK
] and
its normalized version by m = [m1, . . . ,mK]. We focus on the case where the number of
files is larger than or equal to the number of users, i.e., N ≥ K.
In Section 3.7, we introduce rate limited download links of distinct capacities to
the model. In particular, we consider that the link between the server and user k has
capacity Ck bits per channel use, which we refer to as the download rate at user k, as
illustrated in Fig. 3.2. We denote the collection of link capacities by C = [C1, . . . , CK].
In this setup, we seek the system configuration with best performance, including the
memory sizes {Mk}, subject to
K∑
k=1
MkF ≤ mtotNF bits, wheremtot is the cache memory
budget normalized by the library size.
The system operates over two phases: placement phase and delivery phase. In
the placement phase, the server populates users’ cache memories without knowing the
users’ demands. User k stores Zk, subject to its cache size constraint, i.e., |Z
k| ≤ M
kF
bits. Formally, the users’ cache contents are defined as follows.
56
Definition 2. (Cache placement) A cache placement function ϕk : [2F]N → [2
⌊MkF ⌋]
maps the files in the library to the cache of user k, i.e., Zk = ϕk(W1,W2, ..,WN ).
In the delivery phase, user k requests file Wdk
from the server. Users’ demand
vector d = [d1, . . . , dK ] consists of independent uniform random variables over the files
as in [62]. In order to deliver the requested files, the server transmits a sequence of
unicast/multicast signals, XT ,d, to the users in the sets T (φ [K]. XT ,d has length vT F
bits, and is defined as follows.
Definition 3. (Encoding) Given d, an encoding function ψT ,d: [2
F]K → [2
⌊vT F ⌋]
maps requested files to a signal with length vT F bits, sent to users in T , i.e., XT ,d =
ψT ,d(Wd1, ..,WdK
).
At the end of the delivery phase, user k must be able to reconstruct Wdk
from the
transmitted signals XT ,d,T (
φ[K] and its cache content Z
k, with negligible probability
of error.
Definition 4. (Decoding) A decoding function µd,k
: [2⌊RF ⌋
] × [2⌊MkF ⌋
] → [2F], with
R ,∑
T (φ[K]
vT , maps cache content of user k, Zk, and the signals XT ,d
,T (φ[K] to
Wdk, i.e., W
dk= µ
d,k
(
X{1},d,X{2},d, . . . ,X[K],d, Zk
)
.
A caching scheme is defined by (ϕk(.), ψT ,d(.), µd,k(.)). The performance is mea-
sured in terms of the achievable delivery load, which represents the amount of data
transmitted by the server in order to deliver the requested files.
57
Definition 5. For a given normalized cache size vector m, the delivery load R(m) is said
to be achievable if for every ǫ > 0 and large enough F , there exists (ϕk(.), ψT ,d(.), µd,k(.))
such that maxd,k∈[K]
Pr(Wdk6=W
dk) ≤ ǫ, and R∗
(m) , inf{R : R(m) is achievable}.
The set of cache placement policies A considered in this chapter are the so-called
uncoded policies, i.e., only pieces of individual files are placed in the cache memories.
Since we have uniform demands, the cache memory at each user k is divided equally
over the files, i.e., mkF bits per file. We consider the set of delivery schemes D, in which
multicast signals are formed using linear codes. The worst-case delivery load achieved
by a caching scheme in (A,D) is defined as follows.
Definition 6. With placement and delivery policies in A and D, the worst-case delivery
load is defined as RA,D
,maxd
Rd,A,D
=∑
T (φ[K]
vT , and the minimum delivery load over all
RA,D
is denoted by R∗
A,D(m) , inf{R
A,D: R
A,D(m) is achievable}.
Definition 7. The minimum delivery load achievable with a placement policy in A and
any delivery scheme, is defined as R∗
A(m) , inf{R
A: R
A(m) is achievable}.
Remark 4. Note that R∗
A,D≥ R
∗
A≥ R
∗, since R
∗is obtained by taking the infimum
over all achievable delivery loads, R∗
Ais restricted to uncoded placement policies in A,
and R∗
A,Dis restricted to cache placement and delivery policies in A and D, respectively.
In Section 3.7, we consider download links with limited and unequal capacities.
Thus, XT ,dwill need to have a rate ≤ min
j∈TCj[19]. Additionally, there is no guarantee
that the users outside the set T can decode XT ,d, as their download rates may be lower
than minj∈T
Cj. Consequently, a more relevant system-wide metric is the total time needed
58
by the server to deliver all the requested files to all the users, defined as follows, assuming
uncoded placement and linear delivery.
Definition 8. With a placement policy in A, and a delivery policy in D, the worst-case
delivery completion time (DCT) is defined as ΘA,D
, maxd
Θd,A,D
=∑
T (φ[K]
vTminj∈T
Cj
.
Observe that, for Ck= 1,∀k ∈ [K], we have Θ
A,D= R
A,D.
3.3 Motivational Example
In order to motivate our caching scheme which is tailored to capitalize on multicast
opportunities to the fullest extent, we consider an example and compare the state-of-
the-art caching schemes in [20,82,110] with our scheme.
Consider a three-user system with three files, {A, B, C}, and m = [0.4, 0.5, 0.7].
Without loss of generality, we assume that the users request files A, B, and C, respec-
tively. In the placement phase, the files are divided into subfiles, which are labeled by
the users exclusively storing them, e.g., subfile Ai,j
is stored at users i and j.
3.3.1 Our Proposed Scheme
In the placement phase, each file is split into five disjoint subfiles, e.g., A is
divided into A1, A2, A3, A1,3, A2,3, where |A1| = |A1,3| = 0.2F , |A2| = |A3| = 0.1F , and
|A2,3| = 0.4F . First, the server partitions A2,3 into A′
2,3, A
′′
2,3such that |A′
2,3| = 0.3F
and |A′′
2,3| = 0.1F . Then, the server sends the multicast signals
(
B1∪B1,3
)
⊕(
A2∪A′
2,3
)
,
C1⊕(
A3 ∪A′′
2,3
)
, and C2⊕B3. One can easily verify that these multicast signals enable
the users to decode the requested files. The caching scheme is illustrated in Fig. 3.3.
59
Fig. 3.3: Optimal scheme with uncoded placement for K = N = 3 and M =[1.2, 1.5, 2.1].
3.3.2 Related Work
1. The layered scheme [82,110]: In the placement phase, the files are partitioned over
three layers, we denote the files in layer l by the superscript (l). By optimiz-
ing the file partitioning over the layers, we get the following scheme. In layer
1, users have equal caches with size M1F bits and files A(1), B
(1), C
(1)with size
0.9F bits, each of which is split into six disjoint subfiles, e.g., A(1)
is divided into
A(1)
1, A
(1)
2, A
(1)
3, A
(1)
1,2, A
(1)
1,3, A
(1)
2,3, where |A(1)
i| = 0.2F , and |A(1)
i,j| = 0.1F . In delivery
phase, the server sends the multicast signals B(1)
1⊕A(1)
2, C
(1)
1⊕A(1)
3, C
(1)
2⊕B(1)
3,
and C(1)
1,2⊕ B
(1)
1,3⊕ A
(1)
2,3. In layer 2, we have a single user with no cache and a
two-user system with file size 0.1F bits and equal cache size (M2−M1)F = 0.1NF
bits. The server only needs to send a unicast signal of size 0.1F bits to user 1. In
layer 3, the (M3 −M2)F bits of the cache at user 3 are not utilized.
60
2. The caching scheme in [20]: Each file is split into six disjoint subfiles, e.g., A is
divided into A1, A2, A3, A1,2, A1,3, A2,3, where |Ai| = 0.4F/3, |A1,2| = 0.1F/3,
|A1,3| = 0.7F/3, and |A2,3| = F/3. In delivery phase, the server sends B1 ⊕ A2,
C1 ⊕ A3, C2 ⊕ B3, and C1,2 ⊕ B1,3 ⊕ A2,3, where the subfiles are zero-padded
before the XOR operation. Note that C1,2 ⊕ B1,3 ⊕ A2,3 can be decomposed into
C1,2 ⊕ B′
1,3⊕A′
2,3, B
′′
1,3⊕A′′
2,3, and the unicast signal A
′′′
2,3, where |B′
1,3|= |A′
2,3|=
|C1,2|, |B′′
1,3|= |A′′
2,3|= |B1,3|−|C1,2|, and |A
′′′
2,3|= |A2,3|−|B1,3|.
3.3.3 Discussion
Our caching scheme achieves a delivery load equal to 0.7, compared to 0.8 by the
layered scheme [82, 110], and 0.7333 by the scheme in [20]. The schemes in [20, 82, 110]
need an additional unicast transmission compared with our scheme, as we have better
utilization of side-information, e.g., A′
2,3is used in the multicast signal to users {1, 2}.
Additionally, in this example, the layered scheme does not utilize (M3 −M2)F bits of
the cache at user 3. In Theorem 4, we show that our proposed scheme is optimal with
uncoded placement.
3.4 Cache Placement Phase
Each file Wnis partitioned into 2
Ksubfiles. A subfile W
n,S is labeled by the set
of users S exclusively storing it. In turn, the content cached by user k is given by
Zk =⋃
n∈[N ]
⋃
S⊂[K]: k∈S
Wn,S . (3.1)
61
The set of uncoded placement schemes for a given m is defined as
A(m) =
{
a ∈ [0, 1]2K∣
∣
∣
∣
∑
S⊂[K]
aS = 1,∑
S⊂[K]: k∈S
aS ≤ mk,∀k ∈ [K]
}
, (3.2)
where a is the vector of allocation variables aS , S ⊂ [K] and |Wn,S | = aSF bits,∀n ∈
[N ]. For example, in a three-user system, we have
aφ+ a{1} + a{2} + a{3} + a{1,2} + a{1,3} + a{2,3} + a{1,2,3} = 1, (3.3)
a{1} + a{1,2} + a{1,3} + a{1,2,3} ≤ m1, (3.4)
a{2} + a{1,2} + a{2,3} + a{1,2,3} ≤ m2, (3.5)
a{3} + a{1,3} + a{2,3} + a{1,2,3} ≤ m3, (3.6)
3.5 Delivery Phase
3.5.1 Multicast Signals XT ,d
A multicast signal XT ,ddelivers a piece of the file W
dj, denoted by W
T
dj, to user
j ∈ T . The server generates XT ,dby XORing W
T
dj, ∀j ∈ T , where |W T
dj| = vT F bits,
∀j ∈ T . Each user in T \ {j} must be able to cancel WT
djfrom XT ,d
, in order to decode
its requested piece. Consequently, WT
djis constructed using the side-information cached
by all the users in T \ {j} and not available at user j:
XT ,d= ⊕
j∈T WT
dj= ⊕
j∈T
(
⋃
S∈BT
j
WT
dj ,S
)
, (3.7)
62
where WT
dj ,S⊂W T
djwhich is stored exclusively at the users in the set S and
BTj,
{
S ⊂ [K] : T \{j} ⊂ S, j 6∈ S}
, ∀j ∈ T , (3.8)
for example, for K = 3 and i 6= j 6= k, the multicast signals are defined as
X{i,j},d =W{i,j}
di⊕ W
{i,j}
dj=
(
W{i,j}
di,{j}
⋃
W{i,j}
di,{j,k}
)
⊕(
W{i,j}
dj ,{i}
⋃
W{i,j}
dj ,{i,k}
)
, (3.9)
X{1,2,3},d =W{1,2,3}
d1⊕ W
{1,2,3}
d2⊕ W
{1,2,3}
d3=W
{1,2,3}
d1,{2,3}⊕W {1,2,3}
d2,{1,3}⊕W {1,2,3}
d3,{1,2}. (3.10)
where |W {i,j}
di| = |W {i,j}
dj| = v{i,j}F bits and |W {1,2,3}
d1| = |W {1,2,3}
d2| = |W {1,2,3}
d3| =
v{1,2,3}F . |WT
dj ,S| = u
T
SF bits. That is, the assignment variable u
T
S∈ [0, aS ] repre-
sents the fraction of Wdj ,Sinvolved in the multicast signal XT ,d. Note that one subfile
can contribute to multiple multicast transmissions, for example in a three-user system
Wdk,{i,j}
is used in X{i,k},d, X{j,k},d, X{i,j,k},d. Therefore, in order to guarantee that
no redundant bits are transmitted, each subfile Wdk,S
is partitioned into disjoint pieces,
e.g., for K = 3, we have
Wdk ,{i,j}
=W{i,k}
dk,{i,j}
⋃
W{j,k}
dk,{i,j}
⋃
W{i,j,k}
dk,{i,j}
⋃
Wφ
dk,{i,j}, (3.11)
where Wφ
dk,Sdenotes the remaining piece which is not involved in any transmission.
Remark 5. By contrast with [20,62,82,110], where multicast signals of size t+1 utilize
only the side-information stored exclusively at t users, i.e., XT ,d= ⊕
k∈TWT
dk,T \{k},
the structure of the multicast signal in (3.7) represents all feasible utilizations of the
63
side-information. This flexibility is instrumental in achieving the delivery load memory
trade-off with uncoded placement R∗
A.
3.5.2 Unicast Signals X{i}
A unicast signal X{i} delivers the fraction of the requested file which is not stored
at user i and will not be delivered by the multicast transmissions. For example, for
K = 3 and i 6= j 6= k, the unicast signal sent to user i is defined as
X{i},d =Wdi\(
⋃
S:i∈S
Wdi,S
⋃
W{i,j}
di
⋃
W{i,k}
di
⋃
W{i,j,k}
di
)
, (3.12)
where⋃
S:i∈S Wdi,Sis stored at user i and W
T
diis delivered to user i via the multicast
signals XT ,d.
3.5.3 Delivery Constraints
Recall that vT ∈ [0, 1] and uT
S∈ [0, aS ] represent |XT ,d
|/F , and |W T
dj ,S|/F ,
respectively. Our delivery scheme can be represented by constraints on vT and uT
Sas
follows. First, the structure of the multicast signals in (3.9), (3.10) imposes
∑
S∈BT
j
uT
S= vT , ∀ T (φ [K], ∀ j ∈ T . (3.13)
For example, for K = 3, we have
v{i,j} = u{i,j}
{j}+ u
{i,j}
{j,k}= u
{i,j}
{i}+ u
{i,j}
{i,k}, (3.14)
v{1,2,3} = u{1,2,3}
{2,3}= u
{1,2,3}
{1,3}= u
{1,2,3}
{1,2}. (3.15)
64
In order to prevent transmitting redundant bits from the subfile Wdj ,Sto user j, we need
∑
T (φ[K]: j∈T ,T ∩S6=φ,T \{j}⊂S
uT
S≤ aS , ∀ j 6∈ S, ∀S ⊂ [K] s.t. 2 ≤ |S| ≤ K−1, (3.16)
where the condition T \ {j} ⊂ S follows from (3.8). For example, for K = 3 and
S = {i, k}, we have
u{i,j}
{i,k}+ u
{j,k}
{i,k}+ u
{i,j,k}
{i,k}≤ a{i,k}. (3.17)
Finally, the delivery signals sent by the server must complete all the requested files:
∑
T (φ[K]: k∈T
vT ≥ 1−∑
S⊂[K]: k∈S
aS ,∀ k ∈ [K], (3.18)
for example, for K = 3, the delivery completion constraint for user i is given by
v{i} + v{i,j} + v{i,k} + v{i,j,k} ≥ 1−(a{i} + a{i,j} + a{i,k} + a{i,j,k}). (3.19)
Therefore, for given a, the set of feasible delivery schemes, D(a), is defined as
D(a)=
{
(v,u)
∣
∣
∣
∣
∑
T (φ[K]: k∈T
vT ≥ 1−∑
S⊂[K]: k∈S
aS , ∀k ∈ [K],
∑
S∈BT
j
uT
S= vT , ∀T (φ [K], ∀j ∈ T ,
∑
T (φ[K]: j∈T ,T ∩S6=φ,T \{j}⊂S
uT
S≤ aS , ∀j 6∈ S,∀S ⊂ [K] s.t. 2 ≤ |S| ≤ K−1,
65
0 ≤ uTS≤ aS , ∀T (
φ[K], ∀S ∈
⋃
j∈T
BTj
}
, (3.20)
where the transmission and assignment variables are represented by v and u respectively.
3.5.4 Discussion
The linear constraints in (3.20) guarantee the delivery of the requested files. Suc-
cessful delivery is guaranteed by 1. By (3.13), user j ∈ T can retrieve WT
djfrom the
signal XT ,d. 2. By (3.16) and (3.18), W
djcan be reconstructed from the pieces decoded
at user j. The delivery completion constraints ensure that the number of decoded bits
are sufficient for decoding the file, and the redundancy constraints prevent the server
from transmitting redundant bits. Formally, we have:
Proposition 3. For S ′ ⊂ [K] such that 1 ≤ |S ′| ≤ K−2, and some user j 6∈ S ′, the
size of the multicast transmissions XT ,d, where {j} ∪ S ′ ⊂ T , is limited by the amount
of side-information stored at the users in S ′ and not available at user j, i.e.,
∑
T (φ[K]: {j}∪S′⊂T
vT ≤∑
S⊂[K]: S′⊂S,j 6∈S
aS , (3.21)
which is guaranteed by (3.13) and (3.16).
The proof of Proposition 3 is provided in Appendix A.
3.6 Formulation and Results
In this section, we first show that the optimal uncoded placement and linear
delivery schemes can be obtained by solving a linear program. Next, we present a
66
lower bound on the delivery load with uncoded placement. Based on this bound, we
show that linear delivery is optimal with uncoded placement for three cases; namely,
∑K
k=1m
k≤ 1,
∑K
k=1m
k≥ K−1, and the three-user case. That is, for these cases we
explicitly characterize the trade-off with uncoded placement R∗
A(m).
3.6.1 Caching Scheme Optimization
In Sections 3.4 and 3.5, we have demonstrated that an uncoded placement scheme
in A is completely characterized by the allocation vector a, which represents the fraction
of files stored exclusively at each subset of users S ⊂ [K]. Additionally, the assignment
and transmission vectors (u,v) completely characterize a delivery scheme in D, where
v represents the size of the transmitted signals, and u determines the structure of the
transmitted signals. For a given normalized memory vectorm, the following optimization
problem characterizes the minimum worst-case delivery load R∗
A,D(m) and the optimal
caching scheme in A,D, i.e., the optimal values for a, v, and u.
O4: mina,u,v
∑
T (φ[K]
vT (3.22a)
s.t. a ∈ A(m), and (u,v) ∈ D(a), (3.22b)
where A(m) and D(a) are defined in (3.2) and (3.20), respectively.
Remark 6. For equal cache sizes, R∗
A,D(m) is equal to the worst-case delivery load
of [62], which was shown to be optimal for uncoded placement in [101] for N ≥ K. For
N < K, the optimal scheme for uncoded placement was proposed in [112]. The solution
of (3.22) is equivalent to the memory sharing solution proposed in [62].
67
Remark 7. In Section 3.5, XT ,d is formed by XORing pieces of equal size. A delivery
scheme with XT ,d = ⊕j∈T WT
dj, where the XORed subfiles are allowed to have unequal
size, is equivalent to a delivery scheme in D and both yield the same delivery load. For
example, X{1,2},d = W{1,2}
d1,{2}⊕ W
{1,2}
d2,{1}, with u
{1,2}
{2}> u
{1,2}
{1}, is equivalent to a multicast
signal X{1,2},d and a unicast signal X{2},d, with sizes u{1,2}
{1}F bits, and
(
u{1,2}
{2}−u{1,2}
{1}
)
F
bits, respectively.
Remark 8. We assume the file size to be large enough, such that the cache placement and
delivery schemes can be tailored to the unequal cache sizes by optimizing over continuous
variables. More specifically, for F large enough, uT
SF can be used instead of ⌈uT
SF ⌉
for uT
S∈ [0, 1]. The required subpacketization level is the least-common-denominator of
the assignment variables uT
S. That is, the minimum packet size is equal to the greatest-
common-divisor (gcd) of all uT
SF , assuming u
T
SF are integers.
3.6.2 Lower Bounds
Next, using the approach in [101,112], we show that R∗
A(m) is lower bounded by
the linear program in (3.23).
Theorem 1. (Uncoded placement bound) Given K, N ≥ K, and m, the minimum
worst-case delivery load with uncoded placement R∗
A(m) is lower bounded by
O5: maxλ0∈R,λk≥0,α
q≥0
− λ0 −K∑
k=1
mkλk (3.23a)
s.t. λ0 +∑
k∈S
λk+ γS ≥ 0, ∀S ⊂ [K], (3.23b)
68
∑
q∈P[K]
αq= 1, (3.23c)
where
γS ,
K, for S = φ,
0, for S = [K],
K−|S|∑
j=1
∑
q∈P[K]: qj+1∈S,
{q1,...,qj}∩S=φ
j αq, otherwise.
(3.24)
and P[K] is the set of all permutations of the vector [1, 2, . . . ,K].
Proof: References [101, 102] have shown that the delivery phase is equivalent to an
index-coding problem and the delivery load is lower bounded by the acyclic index-coding
bound [5, Corollary 1]. Reference [112] has proposed an alternative proof for the uncoded
placement bound [101,102] using a genie-aided approach. For ease of exposition, we will
follow the genie-aided approach [112]. We consider a virtual user whose cache memory
is populated by a genie. For any permutation of the users [q1, . . . , qK ], the virtual user
caches the file pieces stored at user qjexcluding files requested by {q1, . . . , qj−1} for
j ∈ [K], i.e., the virtual users cache content is given by
Zvir
=K⋃
j=1
⋃
n∈[N ]\{dq1,...,dqj−1
}
⋃
S⊂[K]: {qj}∈S,{q1,...,qj−1}∩S=φ
Wn,S . (3.25)
Using the virtual user cache content and the transmitted signals, we can decode all
the requested files. Additionally, for any uncoded placement a ∈ A(m), the worst-case
69
delivery load R∗
A(m,a) satisfies [112]
R∗
A(m,a) ≥
K∑
j=1
∑
S⊂[K]:{q1,...,qj}∩S=φ
aS , ∀q ∈ P[K], (3.26)
where P[K] is the set of all permutations of [K]. Hence, by taking the convex combination
over all possible permutations of the users, we get
R∗
A(m,a) ≥
∑
q∈P[K]
αq
K∑
j=1
∑
S⊂[K]:{q1,...,qj}∩S=φ
aS
, (3.27)
=∑
q∈P[K]
αq
Kaφ +
K−1∑
j=1
j∑
S⊂[K]:{q1,...,qj}∩S=φ, qj+1∈S
aS
, (3.28)
where∑
q∈P[K]
αq= 1, and α
q≥ 0,∀q ∈ P[K]. By rearranging the summations, we get
R∗
A(m,a) ≥
∑
S⊂[K]
γS aS , (3.29)
where γS is given by (3.24). Therefore, we have
R∗
A(m) ≥ min
a∈A(m)
∑
S⊂[K]
γS aS , (3.30)
Furthermore, the dual of the linear program in (3.30) is given by
maxλk≥0,λ0
− λ0 −K∑
k=1
mkλk
(3.31a)
subject to λ0 +∑
k∈S
λk+ γS ≥ 0, ∀S ⊂ [K], (3.31b)
70
where λ0 and λk are the dual variables associated with∑
S⊂[K]
aS = 1, and∑
S⊂[K]:k∈S
aS ≤
mk, respectively.
By taking the maximum over all convex combination, we obtain (3.23). �
We compare the achievable delivery load R∗
A,D(m) with the following lower bounds
on the worst-case delivery load R∗. From [4], R
∗(m) is lower bounded by
maxs∈[K], l∈[⌈N
s⌉]
{
N − (N−Kl)+l
−sN
s+γ∑
i=1mi + γ(N−ls)+
l(s+γ)
}
, (3.32)
where γ, min{
(
⌈Nl⌉ − s
)+,K − s
}
and m1 ≤ · · · ≤ mK.
The following proposition is a straightforward generalization of the lower bounds
in [103] for systems with unequal caches.
Proposition 4. Given K, N , m, and m1 ≤ · · · ≤ mK, we have
R∗(m) ≥ max
maxs∈[min{K,N}]
s−s∑
k=1
N∑k
i=1m
i
N − k + 1
, maxs∈[min{K,N}]
{
s(
1−s∑
i=1
mi
)
}
.
(3.33)
3.6.3 Explicit Results
Next, we consider three special cases, for which we explicitly characterize R∗
A(m)
and show that the solution of (3.22) is the optimal caching scheme with uncoded place-
ment. First, we consider the small cache regime,K∑
i=1m
i≤ 1,
71
Theorem 2. The minimum worst-case delivery load with uncoded placement is given by
R∗
A(m) = K −
K∑
j=1
(K − j + 1)mj, (3.34)
for m1 ≤ · · · ≤ mK ,K∑
i=1mi ≤ 1, and N ≥ K.
Proof: Achievability: In the placement phase, each file is split into K + 1 subfiles
such that a{j} = mjand a
φ= 1 −
K∑
k=1
mk. In the delivery phase, we have v{j} =
1 −j−1∑
i=1mi − (K − j + 1)mj and v{i,j} = u
{i,j}
{i}= u
{i,j}
{j}= min{a{i}, a{j}}. In turn,
RA,D(m) = K −
K∑
j=1(K − j + 1)mj is achievable.
Converse: By substituting α[1,2,...,K] = 1 in Theorem 1, we get
maxλk≥0,λ0
− λ0 −K∑
k=1
mkλk
(3.35a)
s.t. λ0 +∑
k∈S
λk + γS ≥ 0, ∀S ⊂ [K], (3.35b)
where γS = j−1 if {j} ∈ S and [j − 1] ∩ S = φ for j ∈ [K]. λ0 = −K,λj= K − j + 1
is a feasible solution to (3.35), since λ0 + λj+ (j − 1) = 0. Therefore, R
∗
A(m) ≥
K −K∑
j=1(K − j + 1)m
j. �
Next theorem characterizes the delivery load R∗
A(m) in the large total memory
regime whereK∑
i=1m
i≥ K−1.
Theorem 3. The minimum worst-case delivery load with uncoded placement is given by
R∗
A(m) = R
∗(m) = 1−m1, (3.36)
72
for m1 ≤ · · · ≤ mK,
K∑
i=1m
i≥ K−1, and N ≥ K.
Proof: Achievability: In the placement phase, Wn is partitioned into Wn,[K]\{i}, i ∈
[K] and Wn,[K], such that a[K] =K∑
i=1mi − (K−1) and a[K]\{i} = 1−mi, i ∈ [K]. In the
delivery phase, we have the following cases.
• For (K−2)m1 ≥K∑
i=2m
i− 1, we have the following multicast transmissions
X[K]\{i},d = ⊕k∈[K]\{i}W
[K]\{i}
dk ,[K]\{k}, i ∈ {2, . . . ,K}, (3.37)
X[K],d = ⊕k∈[K]W
[K]
dk ,[K]\{k}, (3.38)
with v[K]\{i} = mi−m1, i ∈ {2, . . . ,K}, and v[K] = 1 + (K − 2)m1 −
K∑
k=2
mk.
• For (K−l −1)ml<
K∑
i=l+1
mi−1 and (K−l −2)m
l+1 ≥K∑
i=l+2
mi−1, where l ∈ [K−2],
we have the following transmissions
X[i],d = ⊕k∈[i]W
[i]
dk,[K]\{k}, i ∈ [l], (3.39)
X[K]\{i},d = ⊕k∈[K]\{i}W
[K]\{i}
dk,[K]\{k}, i ∈ {l+1, . . . ,K}. (3.40)
with v[i] = mi+1−mi, i ∈ [l−1], v[l] =1
K−l−1
(
∑K
j=l+1mj − 1− (K−l−1)ml
)
, and
v[K]\{i} =1
K−l−1
(
(K−l−1)mi+ 1−∑K
j=l+1m
j
)
, i ∈ {l+1, . . . ,K}.
In both cases, the size of the assignment variables satisfies uT
[K]\{k}= vT ,∀k ∈ T .
Converse: By substituting s = 1 in (3.33), we get R∗(m) ≥ 1−m1. �
In the next theorem, we characterize R∗
A(m) for K = 3.
73
Theorem 4. For K = 3, N ≥ 3, and m1 ≤ m2 ≤ m3, the minimum worst-case delivery
load with uncoded placement
R∗
A(m)=max
3−3∑
j=1
(4− j)mj,5
3−
3∑
j=1
(4− j)mj
3, 2−2m1 −m2, 1−m1
. (3.41)
In particular, we have the following regions
1. For3∑
j=1mj≤1, R
∗
A(m)=3−
3∑
j=1(4− j)mj .
2. For 1≤3∑
j=1m
j≤2, we have three cases
• If m3<m
2+3m
1−1, and 2m
2+m
3<2, then R
∗
A
(m)=5
3−
3∑
j=1
(4− j)mj
3.
• If m3≥m
2+3m
1−1, and m
1+m
2<1, then R
∗
A
(m)= 2−2m1−m
2.
• If 2m2+m
3≥2, and m
1+m
2≥1, then R
∗
A
(m)=1−m1.
3. For3∑
j=1m
j≥ 2, R
∗
A
(m)=1−m1.
Proof of Theorem 4 is provided in Appendix B.
Remark 9. By substituting m3=1 in Theorem 4, we obtain the two-user delivery load
memory trade-off, given as R∗
A
(m)=max{
2−2m1−m
2, 1−m
1
}
.
Remark 10. From the proposed schemes, we observe that the allocation variables satisfy
∑
S⊂[K]: |S|=t
aS= t+ 1−
K∑
i=1
mi,
∑
S⊂[K]: |S|=t+1
aS=
K∑
i=1
mi− t, (3.42)
for t <∑K
i=1m
i≤ t+1 and a
S= 0 for |S| 6∈ {t, t+1}. That is, the proposed placement
scheme generalizes the memory sharing scheme in [62], where aS= a
S′ for |S| = |S′|.
74
3.6.4 Comparison with Related Work
Previous work includes the layered heterogeneous caching (LHC) scheme [82,110],
where the users are divided into groups and within each group the users’ cache memories
are divided into layers such that the users in each layer have equal cache sizes. The
Maddah-Ali–Niesen caching scheme [62] is applied to the fraction of the file assigned to
each layer. Let RLHC
(m) denote delivery load of this scheme. We have
Proposition 5. Given K,N ≥ K and m, we have R∗
A,D(m) ≤ R
LHC(m).
Proof. LHC scheme is a feasible (but not necessarily optimal) solution to (3.22) shown
as follows. Grouping: Dividing the users into disjoint groups can be represented in the
placement phase by setting aS
= 0 for any set S containing two or more users from
different groups. Similarly, in the delivery phase vT= 0 if {q
1, q
2} ⊂ T , q
1and q
2belong
to distinct groups. Layering: Without loss of generality, assume there is one group, i.e.
there are K layers. Let αlbe the fraction of the file considered in layer l, and assign
aS,l
, vT ,l
, and uT
S,lto layer l, such that a
S=
K∑
l=1
aS,l
, vT
=K∑
l=1
vT ,l
, and uT
S=
K∑
l=1
uT
S,l.
Additionally, we have∑
S⊂{l,...,K}
aS,l
= αl, and
∑
S⊂{l,...,K}: {k}∈S
aS,l
+∑
T ⊂{l,...,K}: {k}∈T
vT ,l≥ α
l
for k ∈ {l, . . . ,K}. Thus, the LHC scheme is a feasible solution to (3.22).
The recent reference [20] has proposed optimizing over uncoded placement schemes
A with the decentralized delivery scheme in [63], i.e., the multicast signals are defined
as XT ,d
= ⊕k∈T
Wdk ,T \{k}
where vT= max
k∈TaT \{k}
, which limits the multicast opportu-
nities [76] as illustrated in Section 3.3.
Remark 11. For fixed cache contents, reference [76] proposed a procedure for redesigning
the multicast signals, formed by XORing pieces of unequal size, in order to better utilize
75
the side-information stored at the users. In contrast, our scheme is a centralized scheme,
where we jointly optimize the cache contents and the delivery procedure which allows
flexible utilization of the side-information at the users.
Different from [20, 82, 110], we propose a more general delivery scheme that al-
lows flexible utilization of the side-information. Both our solution and that of [20] is
exponential in the number of users. Notably, for systems with only two distinct cache
sizes over all users, reference [20] has a caching scheme which is obtained by solving an
optimization problem with polynomial complexity.
3.7 Optimizing Cache Sizes with Total Memory Budget
In this section, we consider a centralized system where the server is connected to
the K users via rate limited links of distinct capacities, as illustrated in Fig. 3.2.
3.7.1 Problem Formulation
Next, we consider the joint optimization of both the caching scheme and the users’
cache sizes for given download rates C (see Fig. 3.2) and normalized cache budget mtot
.
More specifically, the minimum worst-case DCT, Θ∗
A,D(m
tot,C), is characterized by
O6: mina,u,v,m
∑
T (φ[K]
vT
minj∈T
Cj
(3.43a)
s.t. a ∈ A(m), (v,u) ∈ D(a), (3.43b)
K∑
k=1
mk≤ m
tot, 0 ≤ m
k≤ 1, ∀ k ∈ [K], (3.43c)
76
where A(m) is defined in (3.2) and D(a) is defined in (3.20).
3.7.2 Optimal Cache Sizes
The linear program in (3.43) characterizes the optimal memory allocation assum-
ing uncoded placement and linear delivery schemes. For the case where mtot≤ 1, we
are able to derive a closed form expression for the optimal memory allocation, and show
that the optimal solution balances between allocating larger cache memories to users
with low decoding rates and uniform memory allocation. In particular, the cache mem-
ory budget mtot
is allocated uniformly between users {1, . . . , q}, where q is determined
by C as illustrated in the following theorem.
Theorem 5. For C1≤ · · · ≤ C
Kand m
tot≤ 1, the minimum worst-case delivery
completion time (DCT) is given by
Θ∗
A,D(m
tot,C) =
K∑
j=1
1
Cj
−maxi∈[K]
i∑
j=1
j mtot
i Cj
, (3.44)
and the optimal memory allocation is given by m∗
1= · · · = m
∗
q=
mtot
q, where the user
index q = argmaxi∈[K]
{
∑i
j=1
j
i Cj
}
.
Note that if the optimal solution is not unique, i.e., q ∈ {q1, . . . , q
L}, for some
L ≤ K, then m∗=
L∑
i=1αi
[mtotqi, . . . ,
mtotqi, 0, . . . , 0
]
, whereL∑
i=1αi= 1 and α
i≥ 0.
3.7.2.1 Proof of Theorem 5
First, for a given memory allocation withK∑
k=1
mk≤ 1, we have the following
Lemma.
77
Lemma 2. For C1≤ · · · ≤ C
Kand memory allocation m satisfying
K∑
k=1
mk≤ 1, the
optimal caching scheme for (3.43) is given by a∗
{j}= m
j, v
∗
{i,j}= u
∗{i,j}
{i}= u
∗{i,j}
{j}=
min{a∗{i}, a
∗
{j}}, and v∗
{j}= 1−m
j−
K∑
i=1,i 6=j
min{mi,m
j}.
Proof: By combining (3.18) with (3.2), dividing it by Ck, and summing over k, we get
K∑
k=1
∑
T (φ[K]:k∈T
vT
Ck
≥K∑
k=1
1−mk
Ck
, (3.45)
K∑
k=1
v{k}
Ck
≥K∑
k=1
1−mk
Ck
−∑
T (φ[K]:|T |≥2
∑
j∈T
vT
Cj
. (3.46)
Therefore, we get the lower bound
ΘA,D
(mtot,C) ≥
K∑
k=1
1−mk
Ck
−∑
T (φ[K]:|T |≥2
vT
( −1min
i∈TCi
+∑
j∈T
1
Cj
)
. (3.47)
Additionally, for C1≤ · · · ≤ C
K, we have
ΘA,D
(mtot,C) ≥
K∑
k=1
1−mk
Ck
−K−1∑
i=1
K∑
j=i+1
1
Cj
∑
T (φ[K]:{i,j}⊂T
vT, (3.48)
≥K∑
k=1
1−mk
Ck
−K−1∑
i=1
K∑
j=i+1
min{mi,m
j}
Cj
, (3.49)
where the last inequality follows from the fact that the multicast transmissions that
include users {i, j} are limited by the side-information stored at each of them, which is
upper bounded by the cache memory size, i.e.,∑
T (φ[K]: {i,j}⊂T
vT≤ min{m
i,m
j}. Finally,
78
forK∑
i=1m
i≤ 1, a
∗
{j}= m
j, v
∗
{j}= 1 − m
j−
K∑
i=1,i 6=j
min{mi,m
j}, and v
∗
{i,j}= u
∗{i,j}
{i}=
u∗{i,j}
{j}= min{a∗
{i}, a
∗
{j}}, is a feasible solution to (3.43) that achieves the lower bound. �
Now, using Lemma 2, we can simplify (3.43) to
minm
K∑
k=1
1−mk
Ck
−K−1∑
i=1
K∑
j=i+1
min{mi,m
j}
Cj
(3.50a)
s.t.
K∑
k=1
mk≤ m
tot, 0 ≤ m
k≤ 1, ∀ k ∈ [K]. (3.50b)
Next, we show that the optimal memory allocation from (3.50) satisfies m∗
1≥ m
∗
2≥
· · · ≥ m∗
K.
Lemma 3. For C1≤ C
2≤ · · · ≤ C
Kand m
tot≤ 1, the objective function of (3.50)
satisfies ΘA,D
(m) ≤ ΘA,D
(m), where mi= m
i, for i ∈ [K] \ {r, r + 1}, and some
r ∈ [K−1]. Additionally, mr= m
r+1= α + δ, and m
r+1= m
r= α, for δ, α ≥ 0, and
m1≥ m
2≥ · · · ≥ m
r.
Proof: Form = [m1,m
2, . . . ,m
r−1, α+δ, α,m
r+2, . . . ,m
K] and m = [m
1,m
2, . . . ,m
r−1,
α, α + δ,mr+2
, . . . ,mK], we have Θ
A,D(m)−Θ
A,D(m) = χ
1+ χ
2, where
χ1=
1−mr
Cr
+1−m
r+1
Cr+1
−1− m
r
Cr
−1− m
r+1
Cr+1
= δ
(
1
Cr+1
− 1
Cr
)
, (3.51)
χ2=
r−1∑
i=1
(
min{mi, m
r}
Cr
+min{m
i, m
r+1}
Cr+1
)
−r−1∑
i=1
(
min{mi,m
r}
Cr
+min{m
i,m
r+1}
Cr+1
)
,
(3.52)
79
=
(
1
Cr+1
− 1
Cr
)
r−1∑
i=1
(
min{mi, α+δ} −min{m
i, α})
= δ(r − 1)
(
1
Cr+1
− 1
Cr
)
.
(3.53)
Thus, ΘA,D
(m)− ΘA,D
(m)= rδ(
1Cr+1− 1
Cr
)
≤ 0, as Cr+1≥ C
r. �
Using Lemma 3, (3.50) can be simplified to (3.54).
Lemma 4. For C1≤ · · · ≤ C
Kand m
tot≤ 1, optimization problem (3.43) reduces to
minm
K∑
k=1
1− k mk
Ck
(3.54a)
s.t.
K∑
k=1
mk≤ m
tot, 0 ≤ m
k+1≤ m
k, ∀ k ∈ [K−1]. (3.54b)
Equivalently, the optimal memory allocation for (3.54) is obtained by solving
maxm
K∑
k=1
kmk
Ck
(3.55a)
s.t.K∑
k=1
mk≤ m
tot, 0 ≤ m
k+1≤ m
k, ∀ k ∈ [K−1]. (3.55b)
Finally, the optimal memory allocation in Theorem 5 is obtained by solving the
dual of the linear program in (3.55), which is given by
miny�0
mtoty1
(3.56a)
80
subject to
1 −1 0 0 · · · 0 0
1 1 −1 0 · · · 0 0
1 0 1 −1 · · · 0 0
......
......
......
1 0 0 0 · · · 0 1
y1
y2
y3
...
yK
≥
1/C1
2/C2
3/C3
...
K/CK
. (3.56b)
3.7.2.2 Uniform Memory Allocation
The next proposition shows that uniform memory allocation combined with the
Maddah-Ali–Niesen caching scheme yields an upper bound on Θ∗
A,D(m
tot,C).
Proposition 6. For mtot∈ [K] and C
1≤ C
2≤ · · · ≤ C
K, we have
Θ∗
A,D(m
tot,C) ≤ Θ
unif(m
tot,C) =
1(
Km
tot
)
K−mtot
∑
j=1
(
K−jm
tot
)
Cj
. (3.57)
Proof. Assuming mj= m
tot/K,∀j ∈ [K], the placement phase is described by a
S=
1/(
Kmtot
)
for |S| = mtot
and zero otherwise. While, the delivery phase is defined by
vT= 1/
(
Kmtot
)
for |T | = mtot
+ 1 and uT
S= v
Tfor S ∈ {T \ {j} : j ∈ T }. In turn, the
delivery completion time
Θunif
(mtot,C) =
∑
T (φ[K]
vT
minj∈T
Cj
(3.58)
=1
(
Kmtot
)
∑
T (φ[K]: |T |=mtot+1
1
minj∈T
Cj
(3.59)
=1
(
Kmtot
)
K−mtot∑
j=1
(
K−jmtot
)
Cj
, (3.60)
81
since C1≤ C
2≤ · · · ≤ C
Kand there are
(
K−jmtot
)
sets of size mtot
+ 1 that include user j
and do not include users {1, 2, . . . , j − 1}.
Finally, we have Θ∗
A,D(m
tot,C) ≤ Θ
unif(m
tot,C), since uniformmemory allocation
is a feasible solution (but not necessarily optimal) to (3.43).
3.8 Numerical Results
First, we provide a numerical example for the optimal caching scheme obtained
from (3.22).
Example 4. Consider a caching system with K = 3, and m = [0.4, 0.5, 0.6]. The
caching scheme obtained from (3.22), is described as follows.
Placement phase: Every file W(l)
is divided into six subfiles, such that a{1}
= 7/30,
a{2}
=4/30, a{3}
=4/30, a{1,2}
=1/30, a{1,3}
=4/30, and a{2,3}
=10/30.
Delivery phase: We have the following transmissions
X{1,2},d
=
(
W{1,2}
d1,{2}
⋃
W{1,2}
d1,{2,3}
)
⊕(
W{1,2}
d2,{1}
⋃
W{1,2}
d2,{1,3}
)
,
X{2,3},d
=W{2,3}
d2,{3}⊕ W
{2,3}
d3,{2},
X{1,3},d
=
(
W{1,3}
d1,{3}
⋃
W{1,3}
d1,{2,3}
)
⊕ W{1,3}
d3,{1},
X{1,2,3},d
=W{1,2,3}
d1,{2,3}⊕ W
{1,2,3}
d2,{1,3}⊕ W
{1,2,3}
d3,{1,2},
and the subfile sizes are as follows
1. v{1,2}
= 10/30, where u{1,2}
{2}= a
{2}, u
{1,2}
{2,3}= 0.2, u
{1,2}
{1}= a
{1}, and u
{1,2}
{1,3}= 0.1.
82
m50 0.2 0.4 0.6 0.8 1
Deliveryload
0
1
2
3
4
5
Our scheme
Uncoded placement bound
Lower bound on R∗ (3.32)
Lower bound on R∗ (3.33)
Fig. 3.4: Comparing R∗
A,D(m) with the lower bounds, for K = 5, and m
k= 0.95m
k+1.
2. v{1,3}
= 7/30, where u{1,3}
{3}= a
{3}, u
{1,3}
{2,3}= 0.1, and u
{1,3}
{1}= a
{1}.
3. v{2,3}
= 4/30, where u{2,3}
{3}= a
{3}and u
{2,3}
{2}= a
{2}.
4. v{1,2,3}
= 1/30, where u{1,2,3}
{2,3}= u
{1,2,3}
{1,3}= u
{1,2,3}
{1,2}= a
{1,2}.
The minimum worst-case delivery load R∗
A
(m) = R∗
A,D(m) = 22/30. Note that, per
Remark 8, the required subpacketization level for the proposed scheme is 30, i.e., the
minimum packet size is given by gcd(u) = gcd
(
7F
30,6F
30,4F
30,3F
30,F
30
)
=F
30, for
F = 30n, n = 1, 2, . . . .
In Fig. 3.4, we compare the delivery load R∗
A,D(m) obtained from optimization
problem (3.22), with the lower bounds on R∗(m) in (3.32), (3.33), and the lower bound
with uncoded placement in (3.23), for N = K = 5 and mk= 0.95 m
k+1. From Fig.
3.4, we observe that R∗
A,D(m) = R
∗
A
(m), which is also demonstrated in Fig. 3.5, for
K = 4, 5, 6, and mk= 0.75m
k+1.
83
mK0 0.2 0.4 0.6 0.8 1
Deliveryload
0
1
2
3
4
5
6
7
Our scheme K = 4
Lower bound K = 4
Our scheme K = 5
Lower bound K = 5
Our scheme K = 6
Lower bound K = 6
Fig. 3.5: Comparing R∗
A,D(m) with the lower bounds on R
∗
A
(m), for mk= 0.75m
k+1.
In Fig. 3.6, we compare R∗
A,D(m) with the achievable delivery loads in [20,82,110],
forK = 5 andmk= 0.75m
k+1. In this example, we observe that the layered scheme [110]
and the layered scheme with users grouping [82] achieve almost the same performance.
The next example concerns with solving (3.43) for a system with unequal down-
load rates, and comparing the optimal memory allocation and caching scheme with the
Maddah-Ali–Niesen caching scheme with uniform memory allocation.
Example 5. Consider a caching system with K = 3, memory budget mtot
= 1, and C1≤
C2≤ C
3, which implies Θ
unif(1,C) = 1
3
(
2C1
+ 1C2
)
, and q = argmaxi∈[3]
{ i∑
j=1
j
i Cj
}
. In
particular, we consider the following cases for the download rates:
1. For C = [0.2, 0.4, 0.5], we get q = 3, hence the optimal solution is the Maddah-Ali–
Niesen caching scheme with m∗= [1/3, 1/3, 1/3], and we have Θ
∗
A,D= 4.1667.
84
m5
0.4 0.5 0.6 0.7 0.8 0.9 1
Deliveryload
0.5
1
1.5
2
2.5Our schemeLHC scheme [28]LHC + grouping [42]Scheme in [44]
Fig. 3.6: Comparing R∗
A,D(m) with the delivery loads achieved by the schemes in [20,
82,110], for K = 5 and mk= 0.75m
k+1.
2. For C = [0.3, 0.3, 0.6], we get q ∈ {2, 3}, i.e., the optimal solution is not unique.
m∗= [α2 +
1−α3 , α
2 +1−α3 , 1−α
3 ], where α ∈ [0, 1], and Θ∗
A,D= Θ
unif= 3.3333.
3. For C = [0.2, 0.3, 0.6], we get q = 2. m∗= [0.5, 0.5, 0] and the optimal caching
scheme is a∗
{1}= a
∗
{2}= 0.5, v
∗
{1,2}= u
∗{1,2}
{1}= u
∗{1,2}
{2}= 0.5, v
∗
{3}= 1, which results
in Θ∗
A,D= 4.1667 < Θ
unif= 4.4444.
In Fig. 3.7, we compare Θ∗
A,D(m
tot,C) with Θ
unif(m
tot,C) for K = 7, and C =
[0.2, 0.4, 0.6, 0.6, 0.8, 0.8, 1]. We observe that Θ∗
A,D(m
tot,C) ≤ Θ
unif(m
tot,C). For
mtot≤ 1, we have argmax
i∈[K]
∑i
j=1(jm
tot)/(iC
j) = K, which implies Θ
∗
A,D(m
tot,C) =
Θunif
(mtot,C).
Fig. 3.8 shows the optimal memory allocation versus C1for m
tot= 1, C
2=0.35
and C3= 0.6, we observe that the memory allocated to user 1 is non-increasing in its
link capacity. In Fig. 3.9 and 3.10, we show the optimal memory allocation for C =
85
mtot0 1 2 3 4 5 6 7
Transm
issiondeadline
0
2.5
5
7.5
10
12.5
15
Optimal allocationUniform allocation
Fig. 3.7: Comparing Θ∗
A,D(m
tot,C) with Θ
unif(m
tot,C).
[0.2, 0.2, 0.2, 0.5, 0.6, 0.7, 0.7] and C = [0.2, 0.2, 0.4, 0.4, 0.6, 0.7, 0.8], respectively.
A general observation is that the optimal memory allocation balances the gain attained
from assigning larger memories for users with weak links and the multicast gain achieved
by equating the cache sizes. Consequently, in the optimal memory allocation, the users
are divided into groups according to their rates, the groups that include users with low
rates are assigned larger fractions of the cache memory budget, and users within each
group are given equal cache sizes.
These characteristics are illustrated in Fig. 3.9, which shows that the users are
grouped into G1= {1, 2, 3} and G
2= {4, 5, 6, 7} for all m
tot∈ [0, 7). Fig. 3.10 shows that
the grouping not only depends on the rates C, but also on the cache memory budget
mtot
. For instance, for mtot
= 2, we have two groups G1= {1, 2} and G
2= {3, 4, 5, 6, 7},
however, for mtot
= 3, we have G1= {1, 2}, G
2= {3, 4}, and G
2= {5, 6, 7}.
86
C10.1 0.15 0.2 0.25 0.3 0.35
Cachesizes
0
0.2
0.4
0.6
0.8
1
m∗
1
m∗
2
m∗
3
Fig. 3.8: The optimal memory allocations for mtot
=1, C2=0.35 and C
3= 0.6.
1
User k
23456712
34
mtot
56
7
0.4
0.2
0
1
0.8
0.6
mk
Fig. 3.9: The optimal memory allocations for C1= C
2= C
3= 0.2, C
4= 0.5, C
5= 0.6,
and C6= C
7= 0.7.
87
1
User k
23
45
671
23
4
mtot
56
7
0.8
0.40.6
0.20
1
mk
Fig. 3.10: The optimal memory allocations for C1= C
2= 0.2, C
3= C
4= 0.4, C
5=
0.6, C6= 0.7, and C
7= 0.8.
3.9 Chapter Summary
In this chapter, we have considered a downlink where the end-users are equipped
with cache memories of different sizes. We have shown that the problem of minimizing
the worst-case delivery load with uncoded placement and linear delivery can be modeled
as a linear program. We have derived a lower bound on the worst-case delivery load
with uncoded placement. We have characterized the exact delivery load memory trade-
off with uncoded placement for the case where the aggregate cache size is less than or
equal to the library size (small memory), the case where the aggregate cache size is
greater than or equal to K − 1 times the library size (large memory), and the three-user
case for arbitrary memory size. The proposed scheme outperforms other works in the
88
same setup [20,82,110], and is numerically observed to verify the excellent performance
of uncoded placement for parameters of interest.
We have also considered a system where the links between the server and the users
have unequal capacities. In this scenario, the server suggests the memory sizes for cached
contents along with contents to the users subject to a total memory budget, in order
to minimize the delivery completion time. We have observed that the optimal solution
balances between allocating larger cache sizes to the users with low link capacities and
uniform memory allocation which maximizes the multicast gain. For when the total
cache budget is less than the library size, we have shown that the optimal memory
allocation distributes the cache memory budget uniformly over some number of users
with the lowest link capacities. This number is a function of the users’ link capacities.
89
Chapter 4
Coded Caching for Heterogeneous
Quality-of-Service Requirements
4.1 Introduction
The heterogeneity in users’ preferences for content motivates developing coded
caching schemes with different quality-of-service requirements per user. In this chapter,
we study the problem of minimizing the delivery load given heterogeneous distortion
requirements at the users. Different from references [40] and [110], we consider that
the server not only designs the users’ cache contents, but also optimizes their cache
sizes subject to a total cache memory budget. In contrast to [110], we jointly design
the users cache sizes, the memory allocation over the layers, and the caching scheme in
order to minimize the delivery load that achieves certain distortion requirements at the
users. Under uncoded placement and linear delivery, we show that the joint optimization
problem reduces to a memory allocation problem over the layers which can be solved
analytically. In particular, the memory allocation over the layers is obtained using a
threshold policy, which depends on the available total cache memory budget and the
target distortion requirements at the users. We extend the cut-set bound in [110] to
systems with total cache memory budget and compare it with the delivery load achieved
by the proposed scheme. We observe that the cut-set bound is achievable for large total
cache memory budgets.
90
Fig. 4.1: Caching system with heterogeneous distortion requirements.
Although our primary goal in this study is to demonstrate the merit of optimally
allocating the cache sizes at different users, we note that the new caching scheme we
propose improves on the caching schemes in [110] for systems with fixed cache sizes, since
we jointly optimize the caching scheme and the memory allocation over the layers. More
specifically, the flexibility in our scheme allows us to exploit the multicast opportunities
over all layers. Our numerical results confirm the gain attained by our proposed scheme
over the two caching schemes presented in [110]. Finally, we present a numerical example
that shows the suboptimality of exploiting only the intra-layer multicast opportunities
without taking into account the inter-layer multicast opportunities.
4.2 System Model
We consider a server connected to K users via an error-free multicast network,
see Fig. 4.1. The server has a library of N files, W1, . . . ,W
N, each file W
nconsists of F
i.i.d. samples [Sn,1, . . . , S
n,F] from a uniform discrete source. That is, S
n,iis uniformly
91
distributed over Fq, Pr(S
n,i= s) = 1/q for s ∈ F
q. We use Hamming distortion as our
distortion measure, i.e., we have
d(s, s) =
0, if s = s,
1, if s 6= s.
(4.1)
The rate-distortion function for a uniform discrete source with Hamming distortion is
given as [18]
ρ(D) = log(q)−H(D)−D log(q − 1), (4.2)
where 0 ≤ D ≤ 1 − 1/q. Since a uniform discrete source with Hamming distortion is
successively refinable [29], each file can be represented using a scalable layered description
that achieves the target rate rl, ρ(D
l) at layer l for distortion requirements D
1≥ D
2≥
· · · ≥ DK. In particular, layer 1 of each file is a coarse description with size r
1F bits, while
layer l ∈ {2, . . . ,K} is a refinement with size (rl− r
l−1)F bits. In turn, we represent file
Wnby W
(1)
n, . . . ,W
(K)
n, where W
(l)
ndenotes layer l of file n. Additionally, we have that
Dkis the distortion requirement at user k, i.e., user k needs layers {1, . . . , k} in order to
decode the requested file. Consequently, we define the target rate vector r = [r1, .., r
K].
The sizes of the users’ cache memories are determined by the server. In particular,
the server allocates MkF bits to user k such that
K∑
k=1
MkF ≤ m
totNF bits, where m
totis
the cache memory budget normalized by library size NF . We also define mk= M
k/N ,
to denote the memory size at user k normalized by the library size NF . We consider
the regime where the number of files is greater than or equal the number of users, i.e.,
92
N ≥ K, and Mk∈ [0, Nr
k], ∀k ∈ [K] which implies m
k∈ [0, r
k], ∀k ∈ [K]. We
denote the memory size vector by M = [M1, . . . ,M
K] and its normalized version by
m = [m1, . . . ,m
K].
The system has two operational phases: placement and delivery [44]. In the place-
ment phase, the server assigns the users’ cache sizes and the contents of the users’ cache
memories subject to the distortion requirements D = [D1, . . . ,D
K] and the cache mem-
ory budget mtot
, without the knowledge of the users’ demands. In particular, the server
places a subset of the library, Zk, at the cache memory of user k, such that |Z
k| ≤M
kF
bits. In the delivery phase, user k requests the file Wdk
which must be recovered with an
average distortion less than or equal to Dk. Equivalently, user k requests layers [k] from
file Wdk. The requested files are represented by the demand vector d = [d
1, . . . , d
K].
We assume that d consists of identical and independent uniform random variables over
the files [62]. In order to guarantee the desired distortion requirements at the users, the
server needs to deliver the bits that are not cached by the users in each requested layer.
In particular, the server sends the signals XT ,d
to the users in the sets T (φ[K]. User
k should be able to decode W(1)
dk
, . . . ,W(k)
dk
by utilizing the cached contents Zkand the
transmitted signals XT ,d
,T (φ[K]. Formally, we have the following definitions.
Definition 9. For a given file size F , a caching scheme is defined by the collection
of cache placement, encoding, and decoding functions (ϕk(.), ψ
T ,d(.), µ
d,k(.)). A cache
placement function
ϕk: F
F
q× · · · × F
F
q→ [2
MkF], (4.3)
93
maps the N files to the cache of user k. That is, we have
Zk= ϕ
k(W
1,W
2, ..,W
N). (4.4)
Given a demand vector d, an encoding function
ψT ,d
: FF
q× · · · × F
F
q→ [2
vT F], (4.5)
maps the requested files to a signal with length vTF bits, which is sent to the users in T .
That is, we have
XT ,d
= ψT ,d
(Wd1, ..,W
dK). (4.6)
Finally, a decoding function
µd,k
: [2MkF
]× [2RF
]→ FF
q, (4.7)
with R ,∑
T (φ[K]
vT, maps Z
kand X
T ,d, T (
φ[K] to W
dk. That is, we have
Wdk
= µd,k
(
X{1},d
,X{2},d
, . . . ,X[K],d
, Zk
)
. (4.8)
Definition 10. For given normalized cache sizes m, distortion requirements D1≥ D
2≥
· · · ≥ DK, and r
l= ρ(D
l), the delivery load R(m, r) is achievable if there exists a
94
sequence of caching schemes such that
limF→∞
1
F
F∑
i=1
d(Sdk ,i
, Sdk ,i
) ≤ Dk,∀k ∈ [K],∀d
k∈ [N ]. (4.9)
Furthermore, the infimum over all achievable delivery loads is denoted by R∗(m, r).
We consider the class of cache placement schemes, A, in which user k cache
uncoded pieces of layers [k] of the files, and the class of delivery schemes, D, where
the multicast signals are formed using linear codes. Note that the uniform demands
assumption implies that each user should cache the same number of bits from all files,
i.e., user k dedicates mkF bits to each file.
Definition 11. For given normalized cache sizes m and target rates r, the worst-case
delivery load under an uncoded placement scheme in A, and a linear delivery policy in
D, is defined as
RA,D
(m, r) , maxd∈[N ]K
Rd,A,D
=∑
T (φ[K]
vT. (4.10)
Furthermore, by taking the infimum over A and all possible delivery policies, we get
R∗
A
(m, r).
The trade-off between the delivery load and the total cache memory budget is
defined as follows.
Definition 12. For given normalized cache memory budget mtot
and target rate vector
r, the infimum over all achievable worst-case delivery loads is given as
R∗(m
tot, r) = inf
m∈M(mtot
,r)R
∗(m, r), (4.11)
95
where M(mtot, r) =
{
m∣
∣ 0≤mk≤r
k,
K∑
k=1
mk= m
tot
}
. Furthermore, we have
R∗
A
(mtot, r) = inf
m∈M(mtot
,r)R
∗
A
(m, r). (4.12)
4.3 Caching Scheme
Given the layered description of the files explained in Section 4.2, the problem
of designing the users’ cache contents, under the uncoded placement assumption, can
be decomposed into K placement problems, each of which corresponds to one of the
layers [110]. In particular, the cache memory at user k is partitioned over layers [k] and
m(l)
kdenotes the normalized cache memory dedicated to layer l at user k. In turn, the
placement problem of layer l is equivalent to the placement problem with K− l+1 users
and unequal cache memories m(l)
= [m(l)
l, . . . ,m
(l)
K] addressed in [44,45]. By contrast, in
the delivery phase, decoupling over the layers is suboptimal. That is, we need to jointly
design the multicast signals over all layers, in order to utilize all multicast opportunities.
Next, we explain the cache placement and delivery schemes in detail.
4.3.1 Placement Phase
Under uncoded placement, the placement phase is decomposed into K layers. In
particular, layer l of each file is partitioned over users {l, . . . ,K}. That is,W (l)
nis divided
into subfiles, W(l)
n,S,S ⊂ {l, . . . ,K}, which are labeled by the set of users S exclusively
storing them. We assume that |W (l)
n,S| = a
(l)
SF bits ∀n ∈ [N ], i.e., we have symmetric
partitioning over the files and the allocation variable a(l)
S∈ [0, r
l−r
l−1] defines the size
96
of W(l)
n,S. In turn, the set of feasible placement schemes for layer l is defined by
A(l)(m
(l), r) =
{
a(l)∣
∣
∣
∑
S⊂{l,...,K}
a(l)
S= r
l− r
l−1,
∑
S⊂{l,...,K}: k∈S
a(l)
S≤ m(l)
k,∀k ∈ {l, . . . ,K}
}
, (4.13)
where a(l)
is the vector representation of {a(l)S}S. Note that the first constraint follows
from the fact that the lth layer of each file is partitioned over the sets S ⊂ {l, . . . ,K},
while the second constraint represents the cache size constraint at layer l for user k.
Therefore, the cache content placed at user k is given by
Zk=⋃
l∈[k]
⋃
n∈[N ]
⋃
S⊂{l,...,K}: k∈S
W(l)
n,S. (4.14)
4.3.2 Delivery Phase
In order to deliver the missing subfiles, the server sends the sequence of uni-
cast/multicast signals XT ,d
, T ⊂ [K]. In particular, the multicast signal to the users in
T is defined by
XT ,d
= ⊕j∈T
L⋃
l=1
W(l),T
dj
, (4.15)
where L , mini∈T
i and W(l),T
dj
denotes a subset of W(l)
dj
which is delivered to user j via
XT ,d
. W(l),T
dj
is constructed using the side-information available at the users in T \ {j}.
97
That is, if W(l),T
dj ,Sdenotes the subset of W
(l),T
dj
cached by the users in S, then we have
W(l),T
dj
=⋃
S⊂{l,...,K}\{j}: T \{j}⊂S
W(l),T
dj ,S. (4.16)
Additionally, we denote |XT ,d| =
L∑
l=1
|W (l),T
dj
| = vTF bits ∀j ∈ T and |W (l),T
dj ,S| = u
(l),T
SF
bits. That is, the transmission variable vT∈ [0, r
L] and the assignment variable u
(l),T
S∈
[0, a(l)
S] determine the structure of the signalX
T ,d. Furthermore, the unicast signalX
{k},d
delivers the missing pieces ofk⋃
l=1
W(l)
dk
to user k, i.e., the pieces that had not been delivered
by multicast signals and are not cached by user k. We assume |X{k},d| =
k∑
l=1
v(l)
{k}F bits.
Next, we explain that all linear delivery schemes under uncoded placement can
be described by the following linear constraints on the transmission and assignment
variables. In particular, for given allocation {a(l)}l, the set of linear delivery schemes,
D(a(1), . . . ,a
(K), r), is defined by
vT=
L∑
l=1
∑
S∈B(l),T
j
u(l),T
S,∀T ⊂ [K] s.t. |T | ≥ 2,∀j ∈ T , (4.17)
v(l)
{k}+
∑
T ⊂{l,...,K}:k∈T ,|T |≥2
∑
S∈B(l),T
k
u(l),T
S+
∑
S⊂{l,...,K}:k∈S
a(l)
S
≥ rl− r
l−1,∀l ∈ [K], ∀k∈{l, . . . ,K}, (4.18)
∑
T ⊂{l,...,K}: j∈T ,T ∩S6=φ
u(l),T
S≤ a(l)
S,∀l∈ [K],∀j 6∈ S,∀S ∈ A(l)
, (4.19)
0 ≤ u(l),TS
≤ a(l)S, ∀l ∈ [K], ∀T (
φ{l, . . . ,K}, ∀S ∈
⋃
j∈T
B(l),Tj
, (4.20)
98
where
B(l),Tj
,{
S ⊂ {l, . . . ,K} \ {j} : T \ {j} ⊂ S}
, (4.21)
A(l),{
S ⊂ {l, . . . ,K} : 2 ≤ |S| ≤ K − l}
. (4.22)
The structural constraints in (4.17) follows from the structure of the multicast
signals in (4.15) and (4.16). The delivery completion constraints in (4.18) guarantee that
the unicast and multicast signals complete the lth layer of the requested files, and the
redundancy constraints in (4.19) prevent the transmission of redundant bits to the users.
For example, for K = 3, the structural constraints are defined as
v{1,2}
=u(1),{1,2}
{2}+u
(1),{1,2}
{2,3}=u
(1),{1,2}
{1}+u
(1),{1,2}
{1,3}, (4.23a)
v{1,3}
=u(1),{1,3}
{3}+u
(1),{1,3}
{2,3}=u
(1),{1,3}
{1}+u
(1),{1,3}
{1,2}, (4.23b)
v{2,3}
=u(1),{2,3}
{3}+ u
(1),{2,3}
{1,3}+ u
(2),{2,3}
{3}= u
(1),{2,3}
{2}+u
(1),{2,3}
{1,2}+u
(2),{2,3}
{2}, (4.23c)
v{1,2,3}
=u(1),{1,2,3}
{2,3}=u
(1),{1,2,3}
{1,3}=u
(1),{1,2,3}
{1,2}, (4.23d)
the delivery completion constraints for user 3 are defined as
v(1)
{3}+
(
u(1),{1,3}
{1}+ u
(1),{1,3}
{1,2}
)
+
(
u(1),{2,3}
{2}+ u
(1),{2,3}
{1,2}
)
+ u(1),{1,2,3}
{1,2}+
(
a(1)
{3}+ a
(1)
{1,3}+ a
(1)
{2,3}+ a
(1)
{1,2,3}
)
≥ r1, (4.24a)
v(2)
{3}+ u
(2),{2,3}
{2}+ a
(2)
{3}+ a
(2)
{2,3}≥ r
2− r
1, (4.24b)
99
v(3)
{3}+ a
(3)
{3}≥ r
3−r
2, (4.24c)
and the redundancy constraints are defined as
u(1),{1,3}
{1,2}+ u
(1),{2,3}
{1,2}+ u
(1),{1,2,3}
{1,2}≤ a(1)
{1,2}, (4.25a)
u(1),{1,2}
{1,3}+ u
(1),{2,3}
{1,3}+ u
(1),{1,2,3}
{1,3}≤ a(1)
{1,3}, (4.25b)
u(1),{1,2}
{2,3}+ u
(1),{1,3}
{2,3}+ u
(1),{1,2,3}
{2,3}≤ a(1)
{2,3}. (4.25c)
We denote the vector representation of the transmission variables vT, v
(l)
{k}and the as-
signment variables u(l),T
Sby v and u, respectively.
4.4 Formulation
In this section, we demonstrate that the problem of minimizing the worst-case
delivery load by optimizing over the users’ cache sizes, uncoded placement, and linear
delivery, can be formulated as a linear program. In particular, given the target rate
vector r, the total memory budget mtot
, and N ≥ K, the minimum worst-case delivery
load under uncoded placement and linear delivery, R∗
A,D(m
tot, r), is characterized by
O7: mina(l),u,v,m(l)
∑
T (φ[K]
vT
(4.26a)
subject to a(l) ∈ A
(l)(m
(l), r),∀l ∈ [K] (4.26b)
(u,v) ∈ D(a(1), . . . ,a
(K), r), (4.26c)
100
K∑
k=1
k∑
l=1
m(l)
k= m
tot, (4.26d)
where A(l)(m
(l), r) is the set of uncoded placement schemes in layer l defined in (4.13)
and D(a(1), . . . ,a
(K), r) is the set of feasible delivery schemes defined by (4.17)-(4.20).
We can also solve the problem of designing the caching scheme and the memory
allocation over the layers for systems with fixed cache sizes as in [110]. In particular,
for fixed cache sizes m, the minimum worst-case delivery load under uncoded placement
and linear delivery, R∗
A,D(m, r), is characterized by
O8: mina(l),u,v,m(l)
∑
T (φ[K]
vT
(4.27a)
subject to a(l) ∈ A
(l)(m
(l), r),∀l ∈ [K] (4.27b)
(u,v) ∈ D(a(1), . . . ,a
(K), r), (4.27c)
k∑
l=1
m(l)
k= m
k,∀k ∈ [K]. (4.27d)
In contrast to the formulation in reference [110], observe that in (4.27), we jointly design
the caching scheme and the memory allocation over the layers, and exploit multicast
opportunities over different layers.
4.5 Optimal Cache Allocation
In this section, we first characterize the solution to the optimization problem in
(4.26), i.e., we find the achievable worst-case delivery load assuming uncoded placement
101
and linear delivery. Then, we present a lower bound on the trade-off between the mini-
mum worst-case delivery load under any caching scheme and the cache memory budget.
Theorem 6. Given the target rate vector r, N ≥ K, and the total memory budget
mtot
=K∑
l=1
tlfl, where f
1, r
1, f
l, r
l− r
l−1for l > 1, t
l∈ {0, 1, . . . ,K − l + 1}
and tl+1≤ t
l≤ t
l−1, the minimum achievable worst-case delivery load under uncoded
placement is given by
R∗
A,D(m
tot, r)=R
∗
A
(r,mtot)=
K∑
l=1
(
(K − l + 1)− tl
1 + tl
)
fl. (4.28)
Furthermore, for general 0 ≤ mtot≤
K∑
k=1
rk, R
∗
A,D(r,m
tot) is defined by the lower convex
envelope of these points.
Proof: In Appendix C, we show that the optimal solution to the optimization problem
in (4.26) achieves the lower convex envelope of the delivery load points in (4.28). In
particular, for mtot
=K∑
i=1tifiwhere t
l∈ {0, 1, . . . ,K − l + 1} and t
l+1≤ t
l≤ t
l−1, the
optimal memory allocation is defined as m(l)
k= t
lfl/(K − l + 1) for k ∈ {l, . . . ,K}, i.e.,
the users are assigned equal cache sizes in each layer. In turn, we apply the MaddahAli-
Niesen caching scheme in each layer, i.e., in layer l the placement phase is defined by
|W (l)
j,S| =
fl
(
K−l+1tl
)F, for |S| = tl,
0, otherwise.
(4.29)
102
and the multicast signals are defined by ⊕j∈T
W(l)
dj ,T \{j}for T ⊂ {l, . . . ,K} and |T | =
tl+ 1.
In general, any mtot∈[
0,K∑
i=1ri
]
can be represented asK∑
i=1tifiwhere t
i= x, for
i = [y], ty= x − 1 + α, t
i= x − 1, for i = {y + 1, . . . ,K − x + 1}, t
i= K − i + 1, for
i = {K − x+2, . . . ,K}, for some x ∈ [K], y ∈ [K − x+1] and 0 < α < 1. In particular,
we have
x ,
1, 0 < mtot≤
K∑
i=1fi,
...
j, (j−1)K−j+1∑
i=1fi+
K∑
i=K−j+2
(K−i+1)fi< m
tot≤ j
K−j∑
i=1fi+
K∑
i=K−j+1
(K−i+1)fi,
...
K, (K−1)f1+
K∑
i=2(K−i+1)f
i< m
tot≤
K∑
i=1ri.
(4.30)
and for a given x, we have y = b if
x
b−1∑
i=1
fi+ (x−1)
K−x+1∑
i=b
fi+
K∑
i=K−x+2
(K−i+1)fi< m
tot≤
xb∑
i=1
fi+ (x−1)
K−x+1∑
i=b+1
fi+
K∑
i=K−x+2
(K−i+1)fi. (4.31)
In turn, any mtot∈[
0,K∑
i=1ri
]
can be represented as
mtot
= x
y−1∑
l=1
fl+ (x− 1 + α)f
y+ (x− 1)
K−x+1∑
l=y+1
fl+
K∑
l=K−x+2
(K − l + 1)fl, (4.32)
103
and the corresponding minimum worst-case delivery load under uncoded placement and
linear delivery is given by
R∗
A,D(m
tot, r) =
y−1∑
l=1
(
K−l−x+1
x+ 1
)
fl+
K−x+1∑
l=y+1
(
K−y−x+2
x
)
fl+
(
2(K−y)−x+3
x+ 1− (K−y+2)(x−1+α)
x(x+1)
)
fy. (4.33)
�
For example, for K = 3, the corner points of the delivery load cache budget
trade-off under uncoded placement in (4.28) are defined as follows
R∗
A,D(m
tot, r) =
r1+ r
2+ r
3, for m
tot= 0,
r2+ r
3− r
1, for m
tot= r
1,
r1
2+ r
3−r2
2, for m
tot= r
2,
r1
2+r2
2, for m
tot= r
3,
r2
2−r1
6, for m
tot= r
1+ r
3,
r1
3, for m
tot= r
2+ r
3,
0, for mtot
= r1+ r
2+ r
3,
(4.34)
which are illustrated in Fig. 4.2, for r = [0.5, 0.7, 1].
Next, we extend the lower bound on the delivery load for systems with fixed cache
sizes in [110, Theorem 2] to systems with cache memory budget.
104
Proposition 7. (Extension of [110, Theorem 2]) Given N ≥ K, the target rate vector r,
and the total memory budget mtot∈[
0,K∑
i=1ri
]
, the infimum over all achievable delivery
loads
R∗(m
tot, r) ≥ min
m∈M(mtot
,r)
maxU⊂[K]
∑
k∈U
rk−N∑
k∈Um
k
⌊N/|U|⌋
, (4.35)
where M(mtot, r) =
{
m∣
∣ 0≤mk≤r
k,
K∑
k=1
mk= m
tot
}
.
For the three-user case, the cut-set bound can be simplified as follows.
Corollary 1. Given K = 3, N ≥ 3, the target rate vector r, and the total memory
budget mtot∈[
0,K∑
i=1ri
]
, the infimum over all achievable delivery loads R∗(m
tot, r) is
lower bounded by
max
{
3∑
l=1
rl−Nm
tot
⌊N/3⌋ ,⌊N/2⌋(r
1+r
2) +Nr
3
N + ⌊N/2⌋ −Nm
tot
N + ⌊N/2⌋ ,1
3
(
3∑
l=1
rl−m
tot
)}
. (4.36)
4.6 Discussion and Numerical Results
In this section, we first consider systems with total cache memory budget and
present numerical examples that illustrate the optimal solution of (4.26). Then, we
consider systems with fixed cache sizes and illustrate the gain achieved by our caching
scheme compared to the schemes proposed in [110].
4.6.1 Systems with Total Cache Memory Budget
In Fig. 4.2, we compare the achievable worst-case delivery load R∗
A
(mtot, r) de-
fined in Theorem 6 with the lower bound on R∗(m
tot, r) defined in Proposition 7, for
105
mtot0 0.5 0.7 1 1.5 1.7 2.2
Deliveryload
0
0.5
1
1.5
2
2.5
Achievable delivery load
Cut-set bound
Fig. 4.2: Comparing the delivery load in Theorem 6 with the cut-set bound in Proposition7, for K = N = 3, and r = [0.5, 0.7, 1].
K = N = 3 and the target rates r = [0.5, 0.7, 1]. In particular, for K = 3 the corner
points of the achievable delivery load are defined in (4.34) and the cut-set bound in
(4.36) for N = 3 is given by
R∗(m
tot, r) ≥ max
{
3∑
l=1
rl− 3m
tot,r1+r
2+3r
3−3m
tot
4,1
3
(
3∑
l=1
rl−m
tot
)}
. (4.37)
Remark 12. We observe that for large memory budget,K∑
l=2
rl≤ m
tot≤
K∑
l=1
rl, the cut-set
bound can be achieved and the delivery load R∗(m
tot, r) =
1
K
(
K∑
l=1
rl−m
tot
)
.
Recall the notation fl= (r
l− r
l−1) and r
0= 0. Fig. 4.3 shows the optimal
allocation for the users’ cache sizes that correspond to the achievable delivery load in
106
mtot0 0.5 0.7 1 1.5 1.7 2.2
Users’cachesizes
0
0.2
0.4
0.6
0.8
1
m1
m2
m3
Fig. 4.3: The memory allocation corresponding to the delivery load in Theorem 6 forr = [0.5, 0.7, 1].
Fig. 4.2. From Fig. 4.3, we observe the optimal memory allocation follows a threshold
policy. In particular, for α∈ [0, 1], we have
• If mtot
=αf1, then m =
[
αf1
3,αf
1
3,αf
1
3
]
.
• If mtot
= f1+αf
2, then m =
[
f1
3,f1
3+αf
2
2,f1
3+αf
2
2
]
.
• If mtot
= f1+f
2+αf
3, then m =
[
f1
3,f1
3+f2
2,f1
3+f2
2+ αf
3
]
.
• Ifmtot=(1+α)f
1+f
2+f
3, thenm=
[
(1+α)f1
3,(1+α)f
1
3+f2
2,(1+α)f
1
3+f2
2+f
3
]
.
• Ifmtot
=2f1+(1+α)f
2+f
3, thenm=
[
2f1
3,2f
1
3+
(1+α)f2
2,2f
1
3+
(1+α)f2
2+f
3
]
.
• Ifmtot=(2+α)f
1+2f
2+f
3, thenm=
[
(2+α)f1
3,(2+α)f
1
3+f
2,(2+α)f
1
3+f
2+f
3
]
.
107
4.6.2 Systems with Fixed Cache Sizes
For systems with fixed cache sizes, we compare the delivery load achieved by our
scheme which performs joint design of the memory allocation over the layers and the
caching scheme, with the two separation based schemes in [110]. In reference [110], the
memory allocation over the layers follows one of the following heuristic methods:
1. Proportional cache allocation (PCA), where user k cache size for layer l is defined
as m(l)
k= f
lm
k/r
k.
2. Ordered cache allocation (OCA), where user k allocates all of its cache to the first
b layers if rb−1
< mk< r
b.
In turn, in layer l, we have a caching system that consists of K − l + 1 users with
fixed cache sizes m(l). Reference [110] has proposed designing the caching scheme in
each layer separately, i.e., the multicast signals utilize the side-information from one
layer. In particular, in layer l, the cache sizes m(l)
are further divided into sublayers of
equal size and the MaddahAli-Niesen scheme is applied on each sublayer. Additionally,
reference [110] has formulated an optimization problem in order to identify the optimal
distribution of flover the sublayers. We refer to this scheme as the layered scheme.
Fig. 4.4 shows the delivery load obtained from (4.27), the delivery load achieved
by PCA/OCA combined with the layered scheme, and the cut-set bound in [110, Theorem
2], for K = N = 3, r = [0.5, 0.8, 1], and mk= 0.8m
k+1. We observe that the delivery
load achieved by (4.27) is lower than the one achieved by the schemes in [110]. This is
attributed to the fact that we not only jointly optimize the memory allocation over the
layers and the caching scheme, but also exploit the multicast opportunities over all layers.
108
m30 0.2 0.4 0.6 0.8 1
Deliveryload
0
0.5
1
1.5
2
2.5
Our scheme
PCA + Layered scheme
OCA + Layered scheme
Cut-set bound
Fig. 4.4: Comparing the delivery load obtained from (4.27), with the two schemes pro-posed in [110], and the cut-set bound [110, Theorem 2].
However, the performance improvement comes at the expense of higher complexity, since
the dimension of the optimization problem in (4.27) grows exponentially with the number
of users.
The next example illustrates the suboptimality of exploiting the multicast oppor-
tunities in each layer separately.
Example 6. For m = [0.1, 0.2, 0.6] and r = [0.2, 0.3, 0.8], the optimal solution of
(4.27) is as follows
Placement phase:
• Layer 1: W(1)
nis divided into subfiles W
(1)
n,{3}, W
(1)
n,{1,2}, such that a
(1)
{3}= a
(1)
{1,2}= 0.1.
• Layer 2: W(2)
nis stored at user 2, i.e., a
(2)
{2}= 0.1.
109
• Layer 3: W(3)
nis stored at user 3, i.e., a
(3)
{3}= 0.5.
Delivery phase: We have two multicast transmissions X{1,3},d
and X{2,3},d
, such that
• X{1,3},d
=W(1),{1,3}
d1,{3}⊕W (1),{1,3}
d3,{1,2}, where v
{1,3}= a
(1)
{3}= a
(1)
{1,2}= 0.1.
• X{2,3},d
=W(1),{2,3}
d2,{3}⊕W (2),{2,3}
d2,{2}, where v
{2,3}= a
(1)
{3}= a
(2)
{2}= 0.1.
The optimal solution of (4.27) achieves the delivery load R∗
A,D(m, r) = 0.2 compared to
0.2167 which is achieved by exploiting only the intra-layer multicast opportunities.
4.7 Chapter Summary
In this chapter, we have studied coded caching systems with heterogeneous distor-
tion requirements. In addition to designing the caching scheme, the server allocates the
sizes of the cache memories at the end users, subject to a total cache budget constraint
over the set of all users. Assuming uncoded placement and linear delivery policies, we
have shown that the problem of minimizing the worst-case delivery load can be formu-
lated as a linear program.
The optimal memory allocation has been shown to follow a threshold policy. Fur-
thermore, we have observed that our solution matches the cut-set bound in the large
total cache memory budget region. As a byproduct, we have proposed a novel caching
scheme which, for fixed cache sizes, outperforms the state-of-art schemes [110] by ex-
ploiting the inter-layer multicast opportunities and jointly designing the cache contents
and the partitioning of the caches over the layers.
110
Chapter 5
Device-to-Device Coded-Caching
5.1 Introduction
In this chapter, we investigate coded caching with end-users of unequal cache
sizes when the delivery phase must be carried out by D2D transmissions. That is, the
placement and delivery design must be such that the server does not participate in
delivery at all, thus saving its resources to serve those outside the D2D network. This
distinction calls for new placement and delivery schemes as compared to serve-based
delivery architectures [43–45]. In the same spirit as [43], we show that a linear program
minimizes the D2D delivery load by optimizing over the partitioning of the files in the
placement phase and the size and structure of the D2D transmissions, and find the
optimal design.
Building on the techniques in [101,114], we derive a lower bound on the worst-case
D2D delivery load with uncoded placement, which is also defined by a linear program.
Using the proposed lower bound, we first prove the optimality of the caching scheme in
[49] assuming uncoded placement for systems with equal cache sizes. Next, we explicitly
characterize the D2D delivery load memory trade-off assuming uncoded placement for
several cases of interest. In particular, we show that the D2D delivery load depends only
on the total cache size in the network whenever the smallest cache size is greater than a
certain threshold. For a small system with three users, we identify the precise trade-off
111
Fig. 5.1: D2D caching with unequal cache sizes at the end-users.
for any library size. For larger systems, we characterize the trade-off in two regimes,
i.e., the small total cache size regime and in the large total cache size regime, which
are defined in the sequel. For remaining sizes of the total network cache, we observe
numerically that the proposed caching scheme achieves the minimum D2D delivery load
assuming uncoded placement. Finally, we establish the relationship between the server-
based and D2D delivery loads assuming uncoded placement. We also discuss the parallels
between the recent coded distributed computing (CDC) framework [59] and demonstrate
how it relates to D2D caching systems.
5.2 System Model
Consider a server connected to K users via a shared error-free link, and the users
are connected to each other via error-free device-to-device (D2D) communication links,
as illustrated in Fig. 5.1. The server has a library of N files, W1, . . . ,W
N, each with
size F bits. End-users are equipped with cache memories that have different sizes, the
112
size of the cache memory at user k is equal to MkF bits. Without loss of generality, let
M1≤ M
2≤ · · · ≤ M
K. Define m
kto denote the memory size of user k normalized by
the library size NF , i.e., mk=M
k/N . Let M = [M
1, . . . ,M
K] and m = [m
1, . . . ,m
K].
We focus on the more practical case where the number of users is less than the number
of files, i.e., K ≤ N , e.g., a movie database serving cooperative users in a 5G hybrid
cloud-fog access network [58].
D2D caching systems operate similarly to server-based systems in the placement
phase, but differ in the delivery phase. Namely, in the placement phase, the server
designs the users’ cache contents without knowing their demands and knowing that it
will not participate in the delivery phase. The content of the cache at user k is denoted
by Zkand satisfies the constraint |Z
k| ≤M
kF bits. Formally, Z
kis defined as follows.
Definition 13. (Cache placement) A cache placement function φk: [2
F]N → [2
F]Mk
maps the files in the library to the cache memory of user k, i.e., Zk= φ
k(W
1,W
2, ..,W
N).
Just before the delivery phase, users announce their file demands; we consider
that the demand vector d = [d1, . . . , d
K] is independently and identically distributed
(i.i.d.) over the files [62]. User k’s requested file is denoted by Wdk. The requested
files must be delivered by utilizing D2D communications only [49], which requires that
the sum of the users’ cache sizes is at least equal to the library size, i.e.,K∑
k=1
mk≥ 1.
More specifically, user j transmits the sequence of unicast/multicast signals, Xj→T ,d
, to
the users in the set T (φ[K]\{j}. Let |X
j→T ,d| = v
j→TF bits, i.e., the transmission
variable vj→T
∈ [0, 1] represents the amount of data delivered to the users in T by user
j as a fraction of the file size F .
113
Definition 14. (Encoding) Given demand d, an encoding ψj→T
: [2F]Mj × [N ]
K →
[2F]vj→T maps the content cached by user j to a signal sent to the users in T (
φ[K]\{j},
i.e., the signal Xj→T ,d
= ψj→T
(Zj,d) and |X
j→T ,d| = v
j→TF .
At the end of the delivery phase, user k must be able to reconstruct Wdk
reliably
using the received D2D signals{
Xj→T ,d
}
j 6=k,Tand its cache content Z
k. Let R
j,
∑
T (φ[K]\{j}
vj→T
be the amount of data transmitted by user j, normalized by the file size
F .
Definition 15. (Decoding) Given the demand d, a decoding function µk: [2
F]∑
j 6=kRj ×
[2F]Mk × [N ]
K → [2F], maps the D2D signals X
j→T ,d, ∀j ∈ [K] \ {k},T (
φ[K] \ {j}
and the content cached by user k to Wdk, i.e., W
dk= µ
k
(
{
Xj→T ,d
}
j 6=k,T, Z
k,d
)
.
The achievable D2D delivery load is defined as follows.
Definition 16. For a given m, the D2D delivery load R(m) ,∑K
j=1R
j(m) is said to
be achievable if for every ǫ > 0 and large enough F , there exists (φk(.), ψ
j→T(.), µ
k(.))
such that maxd,k∈[K]
Pr(Wdk6=W
dk) ≤ ǫ, and R∗
(m) , inf{R : R(m) is achievable}.
We consider cache placement schemes where the users cache only pieces of the files,
i.e., uncoded placement. We denote the set of such schemes with A. In the delivery phase,
we consider the class of delivery policies D, where the users generate the multicast signals
with XORed pieces of files. For a caching scheme in (A,D), we define the following.
114
Definition 17. For an uncoded placement scheme in A, and a linear delivery policy in
D, the achievable worst-case D2D delivery load is defined as
RA,D
, maxd∈[N ]K
K∑
j=1
Rj,d,A,D
=
K∑
j=1
∑
T (φ[K]\{j}
vj→T
, (5.1)
and R∗
A,Ddenotes the minimum delivery load achievable with a caching scheme in (A,D).
Definition 18. For an uncoded placement scheme in A and any delivery scheme, the
minimum worst-case D2D delivery load achievable with uncoded placement
R∗
A
(m) , inf{RA: R
A(m) is achievable}. (5.2)
5.3 Main Results
5.3.1 Performance Bounds
First, we have the following parameterization for the optimum of the class of
caching schemes under consideration.
Theorem 7. Given N ≥ K, and m, the minimum worst-case D2D delivery load as-
suming uncoded placement and linear delivery, R∗
A,D(m), is characterized by
O9: R∗
A,D(m) = min
a,u,v
K∑
j=1
∑
T (φ[K]\{j}
vj→T
(5.3a)
subject to a ∈ A(m), (u,v) ∈ D(a), (5.3b)
115
where A(m) is the set of uncoded placement schemes defined in (5.11) and D(a) is the
set of feasible D2D delivery schemes defined by (5.35)-(5.39).
Proof of Theorem 7 is provided in Section 5.4. Motivated by the lower bounds on
server-based delivery in [101,102,114], we next establish that the minimum D2D delivery
load memory trade-off with uncoded placement, R∗
A
(m), is lower bounded by the linear
program defined in Theorem 8.
Theorem 8. Given N ≥ K, and m, the minimum worst-case D2D delivery load with
uncoded placement, R∗
A
(m), is lower bounded by
O10: maxλ0∈R,λk≥0,α
q≥0
− λ0−
K∑
k=1
mkλk
(5.4a)
subject to λ0+∑
k∈S
λk+ γ
S≥ 0,∀ S (
φ[K], (5.4b)
∑
q∈P[K]\{j}
αq= 1, ∀ j ∈ [K], (5.4c)
where P[K]\{j}
is the set of all permutations of the users in [K] \ {j}, and
γS,
K − 1, for |S| = 1,
minj∈S
{
K−|S|∑
i=1
∑
q∈P[K]\{j}: qi+1∈S,
{q1,...,qi}∩S=φ
i αq
}
, for 2 ≤|S|≤ K−1
0, for S = [K].
(5.5)
The proof is detailed in Section 5.6.1.
116
5.3.2 Explicit Characterization Results
Next, using Theorems 7 and 8, we characterize the trade-off explicitly for several
cases, which are illustrated in Table 5.1. In particular, for these cases we show the opti-
mality of linear delivery for uncoded placement, i.e., we show that R∗
A
(m) = R∗
A,D(m).
First, using Theorem 1, we show the optimality of the caching scheme proposed
in [49] with uncoded placement for systems where the users have equal cache sizes.
Theorem 9. For N ≥ K, and mk= m = t/K, t ∈ [K], ∀k ∈ [K], the minimum worst-
case D2D delivery load with uncoded placement, R∗
A
(m) = (1−m)/m. In general, we
have
R∗
A
(m) =
(
K − tt
)
(
t+1−Km)
+
(
K − t− 1
t+ 1
)
(
Km− t)
, (5.6)
where t ∈ [K−1] and t ≤ Km ≤ t+1.
Proof: Achievability: The centralized D2D caching scheme proposed in [49] achieves
(5.6), which is also the optimal solution of (5.3).
Converse: The proof is detailed in Section 5.6.2. �
Next theorem shows that the heterogeneity in users cache sizes does not increase
the achievable D2D delivery load as long as the smallest cache m1is large enough.
Theorem 10. For N ≥ K, m1≤ · · · ≤ m
K, and (K−2)m
1≥
K∑
k=2
mk−1, the minimum
worst-case D2D delivery load with uncoded placement,
R∗
A
(m) =
(
K − tt
)
(
t+1−K∑
k=1
mk
)
+
(
K − t− 1
t+ 1
)
(
K∑
k=1
mk− t)
, (5.7)
117
Table 5.1: Summary of the analytical results on R∗
A
(m).
RegionsK∑
j=1
mj∈ [1, 2] . . .
K∑
j=1
mj∈ [t, t+1] . . .
K∑
j=1
mj∈ [K−1,K]
(K−2)m1≥
K∑
j=2
mj−1 Exact (5.7) . . . Exact (5.7) . . . Exact (5.7)
(K−2)m1<
K∑
j=2
mj−1 Exact (5.8) Achievability (5.3) Exact (5.9)
(K−3)m2≥
K∑
j=3
mj−1 Lower bound (5.4)
... . . . . . .
(K− l−1)ml<
K∑
j=l+1
mj−1
(K− l−2)ml+1≥
K∑
j=l+2
mj−1
...m
K−2<m
K−1+m
K−1
where t ≤K∑
k=1
mk≤ t+1, and t ∈ [K−1].
Proof: Achievability: In Section 5.5.1, we generalize the caching scheme in [49] to
accommodate the heterogeneity in cache sizes.
Converse: The proof is detailed in Section 5.6.3. �
The next theorem characterizes the trade-off in the small memory regime defined
as the total network cache memory is less than twice the library size.
Theorem 11. For N ≥ K, m1≤ · · · ≤ m
K, 1 ≤
K∑
k=1
mk≤ 2, the minimum worst-case
D2D delivery load with uncoded placement,
R∗
A
(m) =3K − l − 2
2−
l∑
i=1
(K−i)mi−(
K − l2
) K∑
i=l+1
mi, (5.8)
where (K−l −1)ml<
K∑
i=l+1
mi−1, (K−l −2)m
l+1≥
K∑
i=l+2
mi−1, and l ∈ [K−2].
118
Proof: Achievability: The caching scheme is provided in Section 5.5.2.
Converse: The proof is detailed in Section 5.6.4. �
From (5.8), we observe that the trade-off in the lth heterogeneity level depends
on the individual cache sizes of users {1, . . . , l} and the total cache sizes of the remaining
users.
Remark 13. The D2D delivery load in the region whereK∑
k=1
mk≤ 2 and (K−2)m
1≥
K∑
i=2m
i− 1, which is included in Theorem 10, can also be obtained by substituting l=0 in
Theorem 11.
The next theorem characterizes the trade-off in the large memory regime defined
as one where the total network memory satisfiesK∑
k=1
mk≥ K−1. In particular, we show
the optimality of uncoded placement, i.e., R∗
A
(m) = R∗(m).
Theorem 12. For N ≥ K, m1≤ · · · ≤ m
K, and
K∑
k=1
mk≥ K−1, the minimum worst-
case D2D delivery load with uncoded placement,
R∗
A
(m) = R∗(m) = 1−m
1, (5.9)
where (K−2)m1<∑K
i=2m
i−1.
Proof: Achievability: The caching scheme is provided in Section 5.5.3.
Converse: The proof follows from the cut-set bound in [49]. �
Finally, for K = 3, we have the complete characterization below.
119
Theorem 13. For K = 3, N ≥ 3, and m1≤ m
2≤ m
3, the minimum worst-case D2D
delivery load with uncoded placement,
R∗
A
(m) = max
{
7
2− 3
2
(
m1+m
2+m
3
)
, 3− 2m1−m
2−m
3,
3
2− 1
2
(
m1+m
2+m
3
)
, 1−m1
}
. (5.10)
Proof: Achievability: The proof is in Appendix D.
Converse: The proof is in Appendix E. �
5.4 General Caching Scheme
In the placement phase, we consider all feasible uncoded placement schemes in
which the whole library can be retrieved utilizing the users’ cache memories via D2D
delivery, i.e., there must be no subfile stored at the server that is not placed in the end
nodes in pieces. The delivery phase consists of K transmission stages, in each of which
one of the K users acts as a “server”. In particular, in the jth transmission stage, user
j transmits the signals Xj→T
to the users in the sets T (φ[K] \ {j}. 1
5.4.1 Placement phase
The server partitions each file Wninto 2
K−1 subfiles, Wn,S,S (
φ[K], such that
Wn,S
denotes a subset of Wnwhich is stored exclusively at the users in the set S. The
partitioning is symmetric over the files, i.e., |Wn,S| = a
SF bits,∀n ∈ [N ], where the
1For convenience, we omit the subscript d from X
j→T ,dwhenever the context is clear.
120
allocation variable aS∈ [0, 1] defines the size of W
n,Sas a fraction of the file size F .
Therefore, the set of feasible uncoded placement schemes, A(m), is defined by
A(m) =
{
a ∈ [0, 1]2K ∣∣
∣
∑
S(φ[K]
aS= 1,
∑
S⊂[K] : k∈S
aS≤ m
k,∀k ∈ [K]
}
, (5.11)
where the allocation vector a consists of the allocation variables aS,S (
φ[K], the first
constraint follows from the fact the whole library can be reconstructed from the users’
cache memories, and the second represents the cache size constraint at user k. More
specifically, user k cache content is defined as
Zk=⋃
n∈[N ]
⋃
S⊂[K] : k∈S
Wn,S. (5.12)
Next, we explain the delivery scheme for a three-user system for clarity of expo-
sition, then we generalize to K > 3.
5.4.2 Delivery phase: Three-user system
5.4.2.1 Structure of Xj→T
In the first transmission stage, i.e., j = 1, user 1 transmits the unicast signals
X1→{2}
,X1→{3}
, and the multicast signal X1→{2,3}
to users {2, 3}. In particular, the
unicast signal X1→{2}
delivers the subset of Wd2
which is stored exclusively at user 1,
i.e., subfile Wd2,{1}
, in addition to a fraction of the subfile stored exclusively at users
121
{1, 3}, which we denote by W1→{2}
d2,{1,3}. In turn, X
1→{2}is given by
X1→{2}
= Wd2,{1}
⋃
W1→{2}
d2,{1,3}, (5.13)
where W1→{2}
d2,{1,3}⊂W
d2,{1,3}, such that |W 1→{2}
d2,{1,3}|=u1→{2}
{1,3}F bits. That is, the assignment
variable uj→T
S∈ [0, a
S] represents the fraction of W
Swhich is involved in the transmission
from user j to the users in T . Similarly, the unicast signal to user 3 is given by
X1→{3}
= Wd3,{1}
⋃
W1→{3}
d3,{1,2}, (5.14)
where W1→{3}
d3,{1,2}⊂W
d3,{1,2}, such that |W 1→{3}
d3,{1,2}|=u1→{3}
{1,2}F bits.
The multicast signal X1→{2,3}
is created by XORing the pieces W1→{2,3}
d2,{1,3}, and
W1→{2,3}
d3,{1,2}, which are assumed to have equal size. That is, we have
X1→{2,3}
=W1→{2,3}
d2,{1,3}⊕W 1→{2,3}
d3,{1,2}, (5.15)
where W1→{2,3}
d2,{1,3}⊂W
d2,{1,3}and W
1→{2,3}
d3,{1,2}⊂W
d3,{1,2}.
From (5.13)-(5.15), we observe that subfile Wd2,{1,3}
contributes to both X1→{2}
,
and X1→{2,3}
. Additionally, in the third transmission stage subfile Wd2,{1,3}
contributes
to both X3→{2}
, and X3→{1,2}
. Therefore, in order to prevent users {1, 3} from transmit-
ting redundant bits to user 2 from Wd2,{1,3}
, we need to partition Wd2,{1,3}
into disjoint
pieces, i.e.,
W1→{2}
d2,{1,3}
⋂
W1→{2,3}
d2,{1,3}
⋂
W3→{2}
d2,{1,3}
⋂
W3→{1,2}
d2,{1,3}= φ. (5.16)
122
5.4.2.2 Delivery phase constraints
Next, we describe the delivery phase in terms of linear constraints on the trans-
mission variables vj→T
and the assignment variables uj→T
S, which represent |X
j→T|/F
and |W j→T
di,S|/F , respectively. First, the structure of the unicast signals in (5.13) and
(5.14) is represented by
v1→{2}
= a{1}
+ u1→{2}
{1,3}, (5.17)
v1→{3}
= a{1}
+ u1→{3}
{1,2}. (5.18)
Similarly, for the second and third transmission stage, we have
v2→{1}
= a{2}
+ u2→{1}
{2,3}, (5.19)
v2→{3}
= a{2}
+ u2→{3}
{1,2}, (5.20)
v3→{1}
= a{3}
+ u3→{1}
{2,3}, (5.21)
v3→{2}
= a{3}
+ u3→{2}
{1,3}. (5.22)
The structure of the multicast signal in (5.15) is represented by
v1→{2,3}
= u1→{2,3}
{1,3}= u
1→{2,3}
{1,2}. (5.23)
Similarly, for the second and third transmission stage, we have
v2→{1,3}
= u2→{1,3}
{2,3}= u
2→{1,3}
{1,2}, (5.24)
123
v3→{1,2}
= u3→{1,2}
{2,3}= u
3→{1,2}
{1,3}. (5.25)
Additionally, (5.16) ensures that Wd2,{1,3}
is divided into disjoint pieces which prevents
the transmission of redundant bits. Hence, we have
u1→{2}
{1,3}+ u
1→{2,3}
{1,3}+ u
3→{2}
{1,3}+ u
3→{1,2}
{1,3}≤ a
{1,3}. (5.26)
Similarly, the redundancy constraints for subfiles Wd3,{1,2}
and Wd1,{2,3}
, are given by
u1→{3}
{1,2}+ u
1→{2,3}
{1,2}+ u
2→{3}
{1,2}+ u
2→{1,3}
{1,2}≤ a
{1,2}, (5.27)
u2→{1}
{2,3}+ u
2→{1,3}
{2,3}+ u
3→{1}
{2,3}+ u
3→{1,2}
{2,3}≤ a
{2,3}. (5.28)
Finally, we need to ensure that the transmitted signals complete the requested files, i.e.,
we have the following delivery completion constraints
v2→{1}
+ v2→{1,3}
+ v3→{1}
+ v3→{1,2}
≥ 1−∑
S⊂[K] : 1∈S
aS, (5.29)
v1→{2}
+ v1→{2,3}
+ v3→{2}
+ v3→{1,2}
≥ 1−∑
S⊂[K] : 2∈S
aS, (5.30)
v1→{3}
+ v1→{2,3}
+ v2→{3}
+ v2→{1,3}
≥ 1−∑
S⊂[K] : 3∈S
aS. (5.31)
Therefore, the set of feasible linear delivery schemes for a three-user system is defined
by (5.17)-(5.31), and uj→T
S∈ [0, a
S].
124
5.4.3 Delivery phase: K-user system
In general, the unicast signal transmitted by user j to user i is defined by
Xj→{i}
= Wdi,{j}
⋃
(
⋃
S⊂[K]\{i} : j∈S,|S|≥2
Wj→{i}
di,S
)
, (5.32)
where Wj→{i}
di,S⊂W
di,Ssuch that |W j→{i}
di,S| = u
j→{i}
SF bits. While, user j constructs the
multicast signal Xj→T
, such that the piece intended for user i ∈ T , which we denote by
Wj→T
di
, is stored at users {j} ∪ (T \ {i}). That is, Xj→T
is constructed using the side
information at the sets
Bj→T
i,
{
S ⊂ [K] \ {i} : {j} ∪ (T \ {i}) ⊂ S}
, (5.33)
which represents the subfiles stored at users {j} ∪ (T \ {i}) and not available at user
i ∈ T . In turn, we have
Xj→T
= ⊕i∈T
Wj→T
di
= ⊕i∈T
(
⋃
S∈Bj→T
i
Wj→T
di,S
)
. (5.34)
Remark 14. The definition of the multicast signals in (5.34) allows flexible utilization
of the side-information, i.e., Xj→T
is not defined only in terms of the side-information
stored exclusively at users {j} ∪ (T \ {i}) as in [49]. Furthermore, a delivery scheme
with the multicast signals Xj→T
= ⊕i∈T
Wj→T
di,{j}∪(T \{i})is suboptimal in general.
125
The set of feasible linear delivery schemes, D(a), is defined by
vj→{i}
= a{j}
+∑
S⊂[K]\{i} : j∈S,|S|≥2
uj→{i}
S, ∀j ∈ [K], ∀ i ∈ T , (5.35)
vj→T
=∑
S∈Bj→T
i
uj→T
S,∀j ∈ [K], ∀ T (
φ[K]\{j}, ∀i ∈ T , (5.36)
∑
j∈S
∑
T ⊂{i}∪(S\{j}) : i∈T
uj→T
S≤ a
S, ∀ i 6∈ S,∀S ⊂ [K] s.t. 2 ≤ |S| ≤ K−1, (5.37)
∑
j∈[K]\{k}
∑
T ⊂[K]\{j} : k∈T
vj→T
≥ 1−∑
S⊂[K] : k∈S
aS, ∀ k ∈ [K], (5.38)
0 ≤ uj→T
S≤ a
S, ∀j ∈ [K], ∀ T (
φ[K] \{j}, ∀S ∈
⋃
i∈T
Bj→T
i. (5.39)
Note that (5.35) follows from the structure of the unicast signals in (5.32), (5.36) follows
from the structure of the multicast signals in (5.34), (5.37) generalizes the redundancy
constraints in (5.26)-(5.28), and (5.38) generalizes the delivery completion constraints in
(5.29)-(5.31).
5.4.4 Examples
Next, we illustrate the solution of (5.3) by two examples. The first example
considers a case where the delivery scheme in [49] can be generalized for unequal cache
sizes, by considering D2D transmissions with different sizes. In turn, the heterogeneity
in cache sizes does not increase the delivery load, i.e., we achieve the same delivery load
in a homogeneous system with the same aggregate cache size.
Example 7. For K=N =3 and m = [0.6, 0.7, 0.8], the optimal caching scheme is as
follows:
126
Fig. 5.2: Example K = N = 3, and m = [0.6, 0.7, 0.8].
Placement phase: Each file Wnis divided into four subfiles, such that a
{1,2}=0.2, a
{1,3}=
0.3, a{2,3}
=0.4, and a{1,2,3}
=0.1.
Delivery phase: The D2D transmissions
• |X1→{2,3}
|/F = v1→{2,3}
=u1→{2,3}
{1,2}=u
1→{2,3}
{1,3}=0.05.
• |X2→{1,3}
|/F = v2→{1,3}
=u2→{1,3}
{1,2}=u
2→{1,3}
{2,3}=0.15.
• |X3→{1,2}
|/F = v3→{1,2}
=u3→{1,2}
{1,3}=u
3→{1,2}
{2,3}=0.25.
The placement and delivery phases are illustrated in Fig. 5.2. Note that the same delivery
load is achieved by the caching scheme in [49] for m = [0.7, 0.7, 0.7]. In Theorem 13,
we show that the proposed scheme achieves R∗
A
(m) =3
2− 1
2
(
m1+m
2+m
3
)
=0.45.
127
Next example shows the suboptimality of delivery schemes that do not allow
flexible utilization of the side-information, as pointed out in Remark 14. By contrast,
our delivery scheme achieves the delivery load memory trade-off with uncoded placement.
Example 8. For K=N=4 and m = [0.2, 0.7, 0.7, 0.7], we have R∗
A,D(m)= R
∗
A
(m)=
1.05, and the optimal caching scheme is as follows:
Placement phase: Each file Wnis divided into seven subfiles, such that a
{1,2}= a
{1,3}=
a{1,4}
=0.2/3, a{2,3}
=a{2,4}
=a{3,4}
=0.5/3, and a{2,3,4}
=0.3.
Delivery phase: We have the D2D transmissions X2→{1}
, X2→{1,3}
, X2→{1,4}
, X2→{3,4}
,
X3→{1}
, X3→{1,2}
, X3→{1,4}
, X3→{2,4}
, X4→{1}
, X4→{1,2}
, X4→{1,3}
, and X4→{2,3}
. In
particular, we have
v2→{1}
= v3→{1}
= v4→{1}
= 0.4/3,
v2→{1,3}
= v2→{1,4}
= v3→{1,2}
= v3→{1,4}
= v4→{1,2}
= v4→{1,3}
= 0.2/3,
v2→{3,4}
= v3→{2,4}
= v4→{2,3}
= 0.25/3.
More specifically, the signals transmitted by user 2 are defined as follows
• |X2→{1}
|/F = v2→{1}
=u2→{1}
{2,3}+u
2→{1}
{2,4}+u
2→{1}
{2,3,4}=(0.05 + 0.05 + 0.3)/3.
• |X2→{1,3}
|/F = v2→{1,3}
=u2→{1,3}
{1,2}=u
2→{1,3}
{2,3}=0.2/3.
• |X2→{1,4}
|/F = v2→{1,4}
=u2→{1,4}
{1,2}=u
2→{1,4}
{2,4}=0.2/3.
• |X2→{3,4}
|/F = v2→{3,4}
=u2→{3,4}
{2,3}=u
2→{3,4}
{2,4}=0.25/3.
128
Fig. 5.3: Example K = N = 4, and m = [0.2, 0.7, 0.7, 0.7].
Note that the signals transmitted by users 3 and 4 have similar structure to the
signals transmitted by user 2, which are illustrated in Fig. 5.3. If we restrict the de-
sign of the D2D signals to be in the form of Xj→T
= ⊕i∈T
Wj→T
di,{j}∪(T \{i}), i.e., without
the flexibility in utilizing the side information, we achieve a delivery load equal to 1.6
compared with the optimal load R∗
A
(m)=1.05.
5.5 Caching scheme: Achievability
Next, we explicitly define the caching schemes that achieve the delivery loads
defined in Theorems 10, 11, and 12.
129
5.5.1 Achievability Proof of Theorem 10
Next, we explain how the caching scheme in [49] can be tailored to systems with
unequal cache sizes. Recall that for a homogeneous system where mk=m, ∀k, in the
placement phase, Wnis divided into subfiles W
n,S,S ⊂ [K], where |S| ∈ {t, t + 1} for
t ≤ ∑K
k=1m
k≤ t + 1 and t ∈ [K−1] [49]. More specifically, subfiles stored at the
same number of users have equal size, i.e., |Wn,S| = |W
n,S′| if |S| = |S′|. In order
to accommodate the heterogeneity in cache sizes, we generalize the placement scheme
in [49], by allowing subfiles stored at the same number of users to have different sizes.
The delivery procedure in [49] is generalized as follows. First, we further divide Wdi,S
into |S| pieces, W j→S\{j}∪{i}
di,S, j ∈ S, such that
∣
∣
∣
∣
Wj→S\{j}∪{i}
di,S
∣
∣
∣
∣
=
ηjF, if |S| = t.
θjF, if |S| = t+ 1.
(5.40)
The multicast signal Xj→T
is constructed such that the piece requested by user i is
cached by the remaining T \ {i} users. That is, user j transmits the signals Xj→T
=
⊕i∈T
Wj→T
di,{j}∪T \{i}, ∀T ⊂ [K] \ {j} and |T | ∈ {t, t + 1}. For example, for K = 4 and
t = 2, we have
Xj→{i1,i2}
=Wj→{i1,i2}
di1,{j,i2}
⊕W j→{i1,i2}
di2,{j,i1}
, (5.41)
Xj→{i1,i2,i3}
=Wj→{i1,i2,i3}
di1,{j,i2,i3}
⊕W j→{i1,i2,i3}
di2,{j,i1,i3}
⊕W j→{i1,i2,i3}
di3,{j,i1,i2}
. (5.42)
130
In turn, the D2D delivery load is given as
R∗
A,D(m) =
(
K − 1
t
) K∑
j=1
ηj+
(
K − 1
t+ 1
) K∑
j=1
θj. (5.43)
Next, we need to choose ηjand θ
jtaking into account the feasibility of the place-
ment phase. To do so, we need to choose a non-negative solution to the following
equations
(
K − 1
t− 1
)
ηk+
(
K − 2
t− 2
)
∑
i∈[K]\{k}
ηi+
(
K − 1
t
)
θk+
(
K − 2
t− 1
)
∑
i∈[K]\{k}
θi= m
k, ∀k, (5.44)
(
K − 1
t− 1
)
∑
i∈[K]
ηi+
(
K − 1
t
)
∑
i∈[K]
θi= 1, (5.45)
which can be simplified to
K∑
i=1
ηi=
t+ 1−K∑
i=1m
i
(
K−1t−1
) , (5.46)
ηk+K−t−1
tθk=
1 + (K−2)mk−∑
i∈[K]\{k}m
i
(K−t)(
K−1t−1
) , ∀k ∈ [K], (5.47)
By combining (5.43), (5.46), and (5.47), one can show that the D2D delivery load is
given as
R∗
A,D(m) =
(
K − tt
)
(
t+1−K∑
k=1
mk
)
+
(
K − t− 1
t+ 1
)
(
K∑
k=1
mk− t)
. (5.48)
Observe that there always exists a non-negative solution to (5.46) and (5.47), since we
have (K−2)m1≥
K∑
k=2
mk−1. For instance, one can assume that
(
K−1t−1
)
ηk= ρ
k
(
t+ 1 −
131
K∑
i=1m
i
)
, whereK∑
k=1
ρk= 1 and 0 ≤ ρ
k≤
1 + (K−2)mk− ∑
i∈[K]\{k}
mi
(K−t)(t+1−K∑
i=1m
k)
, which guarantee
that ηk, θ
k≥ 0.
Remark 15. For nodes with equal cache sizes, the proposed scheme reduces to the scheme
proposed in [49]. In particular, for mk= t/K,∀k, we get θ
j= 0,∀j and η
j=
1
t(
Kt
) ,∀j.
5.5.2 Achievability Proof of Theorem 11
For (K−l−1)ml<
K∑
i=l+1
mi−1 and (K−l−2)m
l+1≥
K∑
i=l+2
mi−1, where l ∈ [K−2],
in the placement phase, each file Wnis partitioned into subfiles W
n,{i}, i ∈ {l+1, . . . ,K},
Wn,{j,i}
, j ∈ [l], i ∈ {l+1, . . . ,K}, and Wn,S,S ⊂ {l+1, . . . ,K}, |S|=2, such that
K∑
j=l+1
a{j}
= 2−K∑
k=1
mk, (5.49a)
∑
S⊂{l+1,...,K}: |S|=2
aS=
K∑
i=l+1
mi− 1, (5.49b)
K∑
j=l+1
a{i,j}
= mj, i ∈ [l], (5.49c)
a{j}
+∑
S⊂[K]: |S|=2, j∈S
aS= m
j, j = l+1, . . . ,K. (5.49d)
In particular, we choose any non-negative solution to (5.49) that satisfies
1. For j ∈ {l+1, . . . ,K}, we have a{i1,j}
≤ a{i2,j}
if i1< i
2, which is feasible because
mi1≤ m
i2.
2. For {i, j} ⊂ {l+1, . . . ,K}, we have a{l,i}
+ a{l,j}
≤ a{i,j}
, which is also feasible
because (K−l −1)ml<
K∑
i=l+1
mi−1.
132
In the delivery phase, we have the following multicast transmissions:
• Multicast to user 1: For j ∈ {l+1, . . . ,K} and i ∈ [K]\{1, j}, we choose vj→{1,i}
=
a{1,j}
. In turn, we have
K∑
j=l+1
∑
i∈[K]\{1,j}
vj→{1,i}
=
K∑
j=l+1
∑
i∈[K]\{1,j}
a{1,j}
= (K − 2)m1. (5.50)
• Multicast to user 2: For j ∈ {l+1, . . . ,K} and i ∈ [K] \ {1, 2, j}, we choose
vj→{2,i}
= a{2,j}
. In turn, we have
K∑
j=l+1
vj→{1,2}
+
K∑
j=l+1
∑
i∈[K]\{1,2,j}
vj→{2,i}
=
K∑
j=l+1
a{1,j}
+
K∑
j=l+1
∑
i∈[K]\{1,2,j}
a{2,j}
,
= m1+(K−3)m
2. (5.51)
• Multicast to user k ∈ {3, . . . , l}: Similarly, we have
K∑
j=l+1
vj→{1,l}
+ · · ·+K∑
j=l+1
vj→{k−1,l}
+K∑
j=l+1
∑
i∈[K]\{1,...,k,j}
vj→{l,i}
=
K∑
j=l+1
a{1,j}
+ · · ·+K∑
j=l+1
a{k−1,j}
+
K∑
j=l+1
∑
i∈[K]\{1,...,k,j}
a{l,j}
=
k−1∑
i=1
mi+ (K−k−1)m
l. (5.52)
• Multicast to users {l+1, . . . ,K}: For {i1, i
2} ⊂ {l+1, . . . ,K}, we have
a{i1,i2}
= vi1→{i2,j}
+ vi2→{i1,j}
, ∀j ∈ {l+1, . . . ,K} \ {i1, i
2}, (5.53)
133
i.e., (K−l−2)(
K−l2
)
equations in (K−l−2)(
K−l2
)
unknowns. In turn, we have
K∑
j=l+1
∑
S⊂{l+1,...,K}\{j}:|S|=2
vj→S
=
(
K−l−22
)
∑
S⊂{l+1,...,K}:|S|=2
aS
=
(
K−l−22
)( K∑
i=l+1
mi− 1
)
. (5.54)
Therefore, the delivery load due to multicast transmissions is given by
K∑
j=l+1
∑
S⊂[K]\{j}:|S|=2
vj→S
=K∑
j=l+1
(
∑
i∈[K]\{1,j}
vj→{1,i}
+ · · · +∑
i∈[K]\{1,...,l,j}
vj→{l,i}
+
∑
S⊂{l+1,...,K}\{j}:|S|=2
vj→S
)
, (5.55)
=l∑
i=1
(K−i−1)mi+
(
K−l−22
)( K∑
i=l+1
mi− 1
)
. (5.56)
We also need the following unicast transmissions.
• Unicast to user 1:
K∑
j=l+1
vj→{1}
=
K∑
j=l+1
a{j}
+
l∑
i=2
K∑
j=l+1
(
a{i,j}−a
{1,j}
)
+∑
{i,j}⊂{l+1,...,K}
(
a{i,j}−a
{1,i}−a
{1,j}
)
,
=
(
2−K∑
k=1
mk
)
+l∑
i=2
mi+
( K∑
i=l+1
mi−1)
− (K−2)m1
= 1− (K−1)m1. (5.57)
• Unicast to user 2:
K∑
j=l+1
vj→{2}
=K∑
j=l+1
a{j}
+l∑
i=3
K∑
j=l+1
(
a{i,j}−a
{2,j}
)
+∑
{i,j}⊂{l+1,...,K}
(
a{i,j}−a
{2,i}−a
{2,j}
)
134
= 1− (K−2)m2−m
1. (5.58)
• Unicast to user k ∈ {3, . . . , l}: Similarly, we have
K∑
j=l+1
vj→{l}
= 1−(K−k)mk−m
k−1− · · · −m
1. (5.59)
• Unicast to users {l+1, . . . ,K}:
K∑
j=l+1
K∑
i=l+1,i 6=j
vj→{i}
= (K−l−1)K∑
j=l+1
a{j}
= (K−l−1)(
2−K∑
k=1
mk
)
. (5.60)
Therefore, the delivery load due to unicast transmissions is given by
K∑
j=l+1
K∑
i=1,i 6=j
vj→{i}
= l−l∑
i=1
(K + l − 2i)mi+ (K−l−1)
(
2−K∑
k=1
mk
)
(5.61)
By adding (5.56) and (5.61), we get the total D2D delivery load in (5.8).
5.5.3 Achievability Proof of Theorem 12
For∑K
i=1m
i≥ K−1, in the placement phase, each file W
nis partitioned into
subfiles Wn,[K]\{i}
, i ∈ [K] and Wn,[K]
, such that
a[K]
=
K∑
i=1
mi− (K−1), (5.62a)
a[K]\{k}
= 1−mk, k ∈ [K]. (5.62b)
135
In the delivery phase, for (K−l −1)ml<
K∑
i=l+1
mi−1 and (K−l −2)m
l+1≥
K∑
i=l+2
mi−1,
where l ∈ [K−2], we have the following transmissions
XK→[i]
= ⊕k∈[i]
WK→[i]
dk,[K]\{k}, i ∈ [l], (5.63)
Xj→[K]\{j}
= ⊕k∈[K]\{j}
Wj→[K]\{j}
dk,[K]\{k}, j ∈ {l+1, . . . ,K}. (5.64)
In particular, we have
vK→[i]
= uK→[i]
[K]\{k}= m
i+1−m
i, i ∈ [l−1], k ∈ [i], (5.65)
vK→[l]
= uK→[l]
[K]\{k}=
1
K−l−1
( K∑
j=l+1
mj−1− (K−l−1)m
l
)
, k ∈ [l], (5.66)
vj→[K]\{j}
=uj→[K]\{j}
[K]\{k}=
(K−l−1)mj+1−
K∑
i=l+1
mi
K−l−1 , j∈{l+1, . . . ,K}, k∈ [K]\{j}. (5.67)
Therefore, the D2D delivery load is given by
R∗
A,D(m) = v
K→[l]+
l∑
i=1
vK→[i]
+K∑
j=l+1
vj→[K]\{j}
= 1−m1. (5.68)
5.6 Optimality with Uncoded Placement
In this section, we first prove the lower bound in Theorem 8. Then, we present
the converse proofs for Theorems 9, 10, and 11.
136
5.6.1 Proof of Theorem 8
First, for worst-case demand, we show in lemma 5 that we can consider one-shot
D2D delivery [111] without loss of optimality, i.e., we only consider D2D delivery schemes
where the transmissions from each user are decoded separately.
Lemma 5. In the worst-case, when the users request different files, the decoding con-
straint at user k for general D2D delivery defined as
H(
⋃
S:k 6∈S
Wdk,S
∣
∣
∣{X
j→T}T :k∈T ,j 6=k
, Zk
)
= 0, (5.69)
is equivalent to the one-shot D2D delivery constraint, which is given by
H(
⋃
S:k 6∈S, j∈S
W(j)
dk,S
∣
∣
∣{X
j→T}T :k∈T
, Zk
)
= 0,∀j 6= k, (5.70)
where subfile Wdk ,S
consists of |S| disjoint pieces W (j)
dk,S, j ∈ S and W
(j)
dk,Sis the piece
that user k decodes from the transmissions of user j.
Proof. The proof is provided in Appendix F.
Next, we show that the one-shot D2D-based delivery assuming uncoded placement
can be represented by K index-coding problems, i.e., each D2D transmission stage is
equivalent to an index-coding problem. In particular, for any allocation a ∈ A(m), we
assume that |W (j)
di,S| = a
(j)
SF bits, i.e., a
S=∑
j∈Sa(j)
S. Additionally, the file pieces with
superscript (j) represent the messages in the jth index-coding problem. For instance,
consider the first index-coding problem in a three-user system, in which user 1 acts
137
(a) Index-coding setup. (b) Graph representation.
Fig. 5.4: Index-coding problem for K = 3, and j = 1.
as a server, see Fig. 5.4(a). User 1 needs to deliver W(1)
d2,{1}, W
(1)
d2,{1,3}to user 2, and
W(1)
d3,{1}, W
(1)
d3,{1,2}to user 3. User 2 has access to W
(1)
d3,{1,2}, and user 3 has access to
W(1)
d2,{1,3}. The index coding problem depicted in Fig. 5.4(a) can be represented by the
directed graph shown in Fig. 5.4(b), where the nodes represent the messages and a
directed edge from W(1)
∗,Sto W
(1)
di,∗exists if i ∈ S [101]. Furthermore, by applying the
acyclic index-coding bound [5, Corollary 1] on Fig. 5.4(b), we get
R(1)F ≥
K−1∑
i=1
∑
S⊂[K] : 1∈S,{q1,...,qi}∩S=φ
|W (1)
dqi,S|, (5.71)
where q ∈ P{2,3}
[101,102]. In particular, for K=3, we have
R(1)F ≥ |W (1)
d2,{1}|+|W (1)
d3,{1}|+|W (1)
d2,{1,3}|, q = [2, 3], (5.72)
R(1)F ≥ |W (1)
d2,{1}|+|W (1)
d3,{1}|+|W (1)
d3,{1,2}|, q = [3, 2]. (5.73)
138
Hence, for a given partitioning a(j)
S, by taking the convex combination of (5.72), and
(5.73), we get
R(1)
(a(1)
S, α
q) ≥ 2a
(1)
{1}+ α
[2,3]a(1)
{1,3}+ α
[3,2]a(1)
{1,2}, (5.74)
where αq≥ 0, and α
[2,3]+ α
[3,2]= 1. Similarly, we have
R(2)
(a(2)
S, α
q) ≥ 2a
(2)
{2}+ α
[1,3]a(2)
{2,3}+ α
[3,1]a(2)
{1,2}, (5.75)
R(3)
(a(3)
S, α
q) ≥ 2a
(3)
{3}+ α
[1,2]a(3)
{2,3}+ α
[2,1]a(3)
{1,3}. (5.76)
Hence, for given a(j)
Sand α
q, the D2D delivery load
∑3
j=1R
(j)(a
(j)
S, α
q) is lower bounded
by the sum of the right-hand side of (5.74)-(5.76). Furthermore, for K-user systems,
R(j)
(a(j)
S, α
q) is lower bounded by
R(j)
(a(j)
S, α
q) , (K−1)a(j)
{j}+
∑
S⊂[K] : j∈S,2≤|S|≤K−1
(K−|S|∑
i=1
∑
q∈P[K]\{j}: qi+1∈S,
{q1,...,qi}∩S=φ
i αq
)
a(j)
S. (5.77)
By taking the minimum over all feasible allocations and partitions, we get
R∗
A
(αq) ≥ min
a(j)S
≥0
K∑
j=1
R(j)
(a(j)
S, α
q) (5.78a)
subject to∑
S(φ[K]
∑
j∈S
a(j)
S= 1, (5.78b)
∑
S⊂[K]:k∈S
∑
j∈S
a(j)
S≤m
k,∀ k∈ [K]. (5.78c)
139
The dual of the linear program in (5.78) is given by
maxλ0∈R,λk≥0
− λ0−
K∑
k=1
mkλk
(5.79a)
subject to λ0+∑
k∈S
λk+ γ
S≥ 0,∀ S (
φ[K], (5.79b)
where γSis defined in (5.5), λ
0, and λ
kare the dual variables associated with (5.78b),
and (5.78c), respectively. Finally, by taking the maximum over all possible convex com-
binations αq,∀q ∈ P
[K]\{j},∀j ∈ [K], we get the lower bound in Theorem 8.
5.6.2 Converse Proof of Theorem 9
By substituting αq=1/(K−1)! in Theorem 8, for 2 ≤ |S| ≤ K−1 we get
γS= min
j∈S
{K−|S|∑
i=1
∑
q∈P[K]\{j}: qi+1∈S,
{q1,...,qi}∩S=φ
i
(K−1)!
}
, (5.80)
=
K−|S|∑
i=1
i
(K−1)!
(
K − |S|i
)
i! (|S| − 1) (K−i−2)! = K−|S||S| , (5.81)
which follows from the number of vectors q ∈ P[K]\{j}
such that qi+1∈ S, and {q
1, . . . , q
i}∩
S = φ. In particular, for given j∈ [K], S⊂ [K] such that j ∈ S, and i ∈ {1, . . . ,K−|S|},
there are(
K−|S|i
)
i! choices for {q1, . . . , q
i}, (|S| − 1) choices for q
i+1, and (K − i − 2)!
choices for the remaining elements in [K]\(
{j}∪{q1, . . . , q
i+1})
. In turn, formk= m, ∀k,
R∗
A
(m) ≥ maxλ0∈R,λ≥0
− λ0−Kmλ (5.82a)
subject to λ0+ lλ+ (K − l)/l ≥ 0,∀ l∈ [K], (5.82b)
140
which implies
R∗
A
(m) ≥maxλ≥0
{
minl∈[K]
{
(K − l)/l + λ(
l −Km)}
}
, (5.83)
In particular, for m = t/K and t ∈ [K], we have
R∗
A
(m) ≥ maxλ≥0
{
min{
(K−1)− (t−1)λ, . . . , K−tt
, . . . , λK(1−m)}
}
=K−tt
, (5.84)
since this piecewise linear function is maximized by choosing Kt(t+1) ≤ λ
∗ ≤ Kt(t−1) . In
general, for m = (t+ θ)/K and 0 ≤ θ ≤ 1, we get
R∗
A
(m) ≥ maxλ≥0
{
min{
. . . ,K−tt− θλ, K−t−1
t+1− (1− θ)λ, . . .
}
}
(5.85)
=K − tt− θK
t(t+ 1)=K − tt− (Km− t)K
t(t+ 1), (5.86)
which is equal to (5.6).
5.6.3 Converse Proof of Theorem 10
Similarly, by substituting αq=1/(K−1)! in Theorem 8, we get
R∗
A
(m) ≥ maxλ0∈R,λj≥0
− λ0−
K∑
j=1
λjm
j(5.87a)
subject to λ0+∑
i∈S
λi+ (K − |S|)/|S| ≥ 0.∀S (
φ[K], (5.87b)
141
In turn, for t ≤K∑
j=1m
j≤ t+1, we get
R∗
A
(m) ≥ maxλ≥0
minl∈[K]
(K−l)/l+λ(
l−K∑
j=1
mj
)
(5.88)
=tK+(t+1)(K−t)
t(t+1)−K
K∑
j=1m
j
t(t+1). (5.89)
5.6.4 Converse Proof of Theorem 11
By substituting,
αq=
1, for j ∈ [l], q = [1, 2, . . . , j−1, j+1, . . . ,K],
1
(K−l−1)! , for j ∈ {l+1, . . . ,K}, q = [1, . . . , l,x],∀x ∈ P{l+1,...,K}\{j}
.
(5.90)
in Theorem 8, we get
γS,
K − 1, for |S| = 1,
K + l(|S|−1) + |S||S| , for S ⊂ {l+1, . . . ,K} and 2 ≤|S|≤ K−1,
mini∈S
i− 1, for S ∩ [l] 6= φ and 2 ≤|S|≤ K−1,
0, for S = [K].
(5.91)
In turn, λ0= −(3K − l − 2)/2, λ
j= K − j for j ∈ [l], and λ
j= (K − l)/2 for
j ∈ {l + 1, . . . ,K}, is a feasible solution to (5.4).
142
m40.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Deliveryload
0
0.5
1
1.5
2
2.5
3Lower bound α = 0.7Our scheme α = 0.7Lower bound α = 0.9Our scheme α = 0.9
Fig. 5.5: Comparing R∗
A,D(m), and lower bound on R
∗
A
(m), for K = N = 4, and
mk= αm
k+1.
Remark 16. In this region, we achieve the tightest lower bound by choosing αq, taking
into consideration that the delivery load depends on the individual cache sizes of the users
in [l] and the aggregate cache size of the users in {l+1, . . . ,K}.
5.7 Discussion
5.7.1 The D2D Delivery Load Memory Trade-off
In Section 5.3.2, we have characterized the D2D delivery load memory trade-off
with uncoded placement, R∗
A
(m), for several special cases. For general systems, we
observe numerically that the proposed caching scheme coincides with the delivery load
uncoded placement lower bound given in Theorem 8. For example, in Fig. 5.5, we
compare the D2D delivery load R∗
A,D(m) achievable with our proposed caching scheme
143
with the lower bound on R∗
A
(m) in Theorem 8, for K =N =4 and mk= αm
k+1, and
observe they coincide.
5.7.2 Comparison between Server-based and D2D-based Delivery Loads
By comparing the server-based system [45,62] delivery load and D2D-based system
delivery load with uncoded placement, we observe the following:
• The D2D-based delivery load memory trade-off, R∗
A,D2D(K,
mtotK
), for a system with
K users and equal cache sizem = mtot/K, is equal to the server-based delivery load
memory trade-off for a system withK−1 users and cache sizem = (mtot−1)/(K−1),
which we denote by R∗
A,Ser(K−1, mtot−1
K−1 ) [62]. In particular, for mtot∈ [K],
R∗
A,Ser
(
K−1,m
tot−1
K−1)
=
(K−1)(
1−m
tot− 1
K − 1
)
1 + (K−1)(
mtot− 1
K − 1
) ,
=1−
mtot
Km
tot
K
= R∗
A,D2D
(
K,m
tot
K
)
. (5.92)
• From Theorem 10, we conclude that if mtot
,K∑
k=1
mkand m
1≥ (m
tot−1)/(K−1),
then the D2D delivery load memory trade-off, R∗
A,D2D(K,m), for a system with
K users and distinct cache sizes m, is equal to R∗
A,D2D(K,
mtotK
). In turn, if m1≥
(mtot− 1)/(K−1), then R∗
A,D2D(K,m) = R
∗
A,Ser(K−1, mtot−1
K−1 ).
• For a K-user D2D system with mK=1, the D2D delivery load
R∗
A,D2D(K, [m
1, . . . ,m
K−1, 1]) = R
∗
A,Ser(K−1, [m
1, . . . ,m
K−1]). (5.93)
144
For example, for K=3, we have
R∗
A,D2D(3, [m
1,m
2, 1]) = R
∗
A,Ser(2, [m
1,m
2]) = max
{
2−2m1−m
2, 1−m
1
}
. (5.94)
5.7.3 Connection between Coded Distributed Computing and D2D Coded
Caching Systems
In coded distributed computing (CDC) systems, the computation of a function
over the distributed computing nodes is executed in two stages, named Map and Reduce
[59]. In the former, each computing node maps its local inputs to a set of intermediate
values. In order to deliver the intermediate values required for computing the final output
at each node, the nodes create multicast transmissions by exploiting the redundancy in
computations at the nodes. In the latter, each node reduces the intermediate values
retrieved from the multicast signals and the local intermediate values to the desired final
outputs.
For CDC systems where the nodes are required to compute different final outputs,
the CDC problem can be mapped to a D2D coded caching problem, where the cache
placement scheme is uncoded and symmetric over the files [59,100]. Therefore, the D2D
caching scheme proposed in this work can be utilized in heterogeneous CDC systems
where the nodes have varying computational/storage capabilities [56]. The mapping
between the two problems is described in the following remark.
Remark 17. A D2D caching system with K users, N files, each with size F symbols,
where mkis the normalized cache size at user k, corresponds to a CDC system with
K nodes, F files, N final outputs, where Mk= m
kF is the number of files stored at
145
node k. More specifically, in the map stage, node k computes N intermediate values for
each cached file. In the reduce stage, node k computes N/K final outputs from the local
intermediate values combined with those retrieved from the multicast signals.
Remark 18. Reference [56] derived the optimal communication load in a heterogeneous
CDC system consisting of three nodes with different computational/storage capabilities.
As a consequence of Remark 17, the optimal communication load found in [56] is the
same as the minimum worst-case D2D delivery load in Theorem 13.
5.8 Chapter Summary
In this chapter, we have proposed a coded caching scheme that minimizes the
worst-case delivery load for D2D-based content delivery to users with unequal cache
sizes. We have derived a lower bound on the delivery load with uncoded placement. We
have proved the optimality of our delivery scheme for several cases of interest. More
specifically, for equal caches, we have shown the optimality of the caching scheme in [49].
We have also shown that the minimum delivery load depends on the sum of the cache
sizes and not the individual cache sizes if the smallest cache size is large enough. In the
small total memory regime, we have shown that there exist K− 1 levels of heterogeneity
and in the lth heterogeneity level R∗
A
(m) depends on the individual cache sizes of users
{1, . . . , l} and the sum of the cache sizes of remaining users. In the large total memory
regime, we have shown that our caching scheme achieves the minimum delivery load
assuming general placement. That is, it coincides with the cut-set bound [49].
We have articulated the relationship between the server-based and D2D delivery
problems. Finally, we have discussed the coded distributed computing (CDC) problem
146
[59] and how our proposed D2D caching scheme can be tailored for heterogeneous CDC
systems where the nodes have unequal storage.
147
Chapter 6
Coded Placement for Asymmetric Caching Systems
6.1 Introduction
Coded caching schemes are often categorized according to whether in the place-
ment phase coding over the files is utilized or not. In caching with uncoded placement, the
server places uncoded pieces of each file in the cache memories of the users [43,45,62,82].
Alternatively, in systems with coded placement, the server places coded pieces of the
files in the users’ caches which are decoded using the transmissions in the delivery
phase [37,89]. While uncoded placement is sufficient for some systems, in general coding
over files has the potential to perform better.
In this chapter, we first show that coded placement in systems where the users are
equipped with heterogeneous cache sizes, outperforms uncoded placement. We show that
coded placement not only increases the local caching gain at the users, but also increases
the multicast gain in the system. In particular, we propose a caching scheme with coded
placement for three-user systems that illustrates the reduction in the worst-case delivery
load compared to the best caching scheme with uncoded placement in [45]. In our
proposed scheme, users cache both uncoded and coded pieces of the files, and users with
large memories decode the cached coded pieces using the transmissions intended to serve
users with smaller memories. We observe that the gain from coded placement increases
as the difference between the cache sizes increases, and decreases with the number of
148
files. We extend the proposed scheme to systems with more than three end-users and
show the reduction in delivery load with coded placement.
Next, we propose a caching scheme for networks where multiple users share the
same cache memory. In particular, we consider a system with K users who share L ≤ K
helper-caches, each of which assists an arbitrary number of different users. In our pro-
posed scheme, the caches are populated with both coded and uncoded pieces of the
library files. In particular, depending on the network connectivity pattern, we place
uncoded pieces in the cache which is shared by a larger number of users, while stor-
ing coded pieces in the remaining caches. We show how coded placement exploits the
asymmetry in the cache assignment in minimizing the delivery load. We first explain
the coded placement scheme for two-cache systems with arbitrary number of users, then
generalize the caching scheme to larger systems.
Finally, we consider a system where the shared L caches have heterogeneous sizes.
We propose a unified coded placement scheme that utilize the asymmetry in both the
cache sizes and the number of users connected to each cache.
6.2 System Model
We consider a K-user caching system where the server is connected to L cache-
helpers via a shared error-free multicast link and each of the K end-users is connected
to one of the L caches via an error-free link, as shown in Fig. 6.1. A library of N files,
{W1, . . . ,W
N}, is stored at the server, each with size F symbols over the field F
2q. We
consider a heterogeneous network with L ≤ K cache memories of unequal sizes and the
number of users connected to each cache memory is different. In particular, cache i is
149
Fig. 6.1: Caching system with L unequal caches connected to K end-users.
of size MiF symbols and it is connected to the users in the set U
i, where U
i= |U
i| and
K =L∑
i=1Ui. Without loss of generality, we assume that M
1≤ M
2≤ · · · ≤ M
Kand
U1= {1, . . . , U
1}, . . . ,U
L= {K−U
L+1, . . . ,K}. We also denote that fraction of the
library stored at cache i by mi=M
i/N , i.e., m
i∈ [0, 1] for M
i∈ [0, N ].
Next, we explain the two operational phases of the system, namely, the placement
phase and delivery phase.
6.2.1 Placement Phase
In the placement phase, the users’ demands are unknown and the server populates
the cache memories taking into account the cache sizes m , [m1, . . . ,m
L] and the
network topology, i.e., the number of users connected to each cache memory represented
by U , [U1, . . . , U
L]. More specifically, for given U , the contents of cache i is defined as
a function of the files
Zi= µ
i(W
1, ...,W
N;U), (6.1)
150
which satisfies the cache size constraint |Zi| ≤M
iF .
6.2.2 Delivery Phase
In the delivery phase, user k requests fileWdk
from the server. The users’ demands
are uniform and independent as in [62]. The K users are served over Umax
, maxiUi
delivery rounds, such that we pick one of the users in Ui, ∀i that have not been served in
each round, e.g., for L = 2, K = 3, U1= {1, 2}, and U
2= {3}, users 1 and 3 are served in
the first round and user 2 in the second round. More specifically, in round r, the server
sends a sequence of unicast/multicast signals, X(r)
T ,dto the caches in T in order to serve
the users considered in this round.
At the end of the delivery phase, user k must be able to decode Wdk
reliably.
Formally, for given cache sizes m, number of files N , and network connectivity U ,
the worst-case total delivery load R(m, N,U) ,Umax∑
r=1
∑
T|X(r)
T ,d|/F is said to be achiev-
able if for every ǫ > 0 and large enough F , there exists a caching scheme such that
maxd,k∈[K]
Pr(Wdk6=W
dk) ≤ ǫ.
Remark 19. A caching scheme designed for the shared-caches model in Fig. 6.1, can
also be used in L-user systems where user k requests Ukfiles and the number of files
requested by each user is known in advance. Caching systems where the users request
multiple files have been investigated in [80,105], where each user requests the same num-
ber of files.
In our achievability scheme, we utilize maximum distance separable (MDS) codes
which are defined as follows.
151
Definition 19. [61] An (n, k) maximum distance separable (MDS) code is an erasure
code that allows recovering k initial information symbols from any k out of the n coded
symbols. Furthermore, in a systematic (n, k)-MDS code the first k symbols in the output
codeword is the information symbols. That is, we have
[i1, . . . , i
k]G
k×n= [i
1, . . . , i
k][I
k×kPk×n−k
]
= [i1, . . . , i
k, c
k+1, . . . , c
n], (6.2)
where Gk×n
is the code generator matrix and Ik×k
is an identity matrix.
For an (2N − j,N) MDS-code, we defined
σj([i
1, . . . , i
N]) , [i
1, . . . , i
N]P
N×N−j(6.3)
to denote the N − j parity symbols in the output codeword. Note that σj([i
1, . . . , i
N])
represents N − j linearly independent equations in the information symbols [i1, . . . , i
N].
For example, σ1([i
1, . . . , i
N]) = [i
1⊕ i
2, i
2⊕ i
3, . . . , i
N−1⊕ i
N].
6.3 Systems with One User per Cache
In this section, we focus on systems where only one user is connected to each
cache, i.e., Ui= 1,∀i and K = L.
6.3.1 Results
Next, we present our results showing the reduction in the delivery load when
coded placement is utilized. In Theorem 14, we characterize an achievable delivery load
152
for three-user systems, that is lower than the minimum worst-case delivery load under
uncoded placement, given by
R∗
uncoded(m) = max
{
3−3m1−2m
2−m
3,5
3−3m
1−2m
2−m
3
3, 2− 2m
1−m
2, 1−m
1
}
,
(6.4)
which has been characterized in [45].
Theorem 14. For a three-user system with N ≥ 4 and m1≤ m
2≤ m
3, the worst-case
delivery load given by
Rcoded
(m, N) =max
{
3−3m1−2m
2−m
3−3(m
2−m
1)
N − 1−2(m
3−m
2)
N − 2,
5
3−3m
1−2m
2−m
3
3−m
2−m
1
3(N − 1), 2− 2m
1−m
2−m
2−m
1
N−1 , 1−m1
}
, (6.5)
is achievable with coded placement.
Proof: The reduction in the delivery load in (6.5) compared to (6.4) is achieved by
placing coded pieces of the files at users 2 and 3, which are decoded in the delivery
phase. For example, in order to achieve Rcoded
(m, N) = R∗
uncoded(m)−
m2−m
1
3(N − 1), part
of the multicast signal to users {1, 2} is utilized in decoding the cached pieces at user 3.
The proposed caching scheme is detailed in Appendix G. �
Next theorem characterizes the gain achieved by coded placement in the small
memory regime, where the unicast signals intended for users {1, . . . , k} are utilized in
decoding the cache content at users {k + 1, ..,K}.
153
Theorem 15. For a K-user system with N ≥ K + 1, m1≤ m
2≤ · · · ≤ m
K, and
K∑
i=1
mi+
K∑
i=2
(i− 1)(K − i+ 1)(mi−m
i−1)
N − i+ 1≤ 1,
the worst-case delivery load
Rcoded
(m, N,K) = R∗
uncoded(m,K)−
K∑
i=2
(i−1)(K−i+1)(K−i+2)(mi−m
i−1)
2(N − i+ 1), (6.6)
is achievable with coded placement, where
R∗
uncoded(m,K) = K−
K∑
i=1
(K − i+ 1)mi, (6.7)
is the minimum worst-case delivery load with uncoded placement forK∑
i=1m
i≤ 1 [43,45].
Proof: Placement Phase: File Wnis divided into K(K+1)/2 + 1 subfiles, which we
denote by Wn,φ,W
(1)
n,1,{
W(1)
n,2,W
(2)
n,2
}
, . . . ,{
W(1)
n,K, . . . ,W
(K)
n,K
}
, such that
|W (1)
n,k| = m
1F, ∀n, (6.8)
|W (i)
n,k| =
N(mi−m
i−1)
(N−i+1)F, i = 2, . . . , k,∀n, (6.9)
|Wn,φ|=(
1−K∑
i=1
mi−
K∑
i=2
(i−1)(K−i+1)(mi−m
i−1)
N − i+ 1
)
F, (6.10)
whereWn,φ
is available only at the server. User k caches subfilesW(1)
1,k, . . . ,W
(1)
N,kuncoded
and the MDS encoded pieces σi−1
(
[W(i)
1,k, . . . ,W
(i)
N,k])
for i = 2, . . . , k. In turn, the cache
154
Fig. 6.2: Illustration of the placement scheme in Theorem 15 for a three-user system.
contents of user k is defined as
Zk=(
N⋃
n=1
W(1)
n,k
)
⋃
(
k⋃
i=2
σi−1
(
[W(i)
1,k, . . . ,W
(i)
N,k])
)
, (6.11)
which is illustrated in Fig. 6.2 for K = 3.
Delivery Phase: The server sends the following unicast signals
X{K},d
=WdK ,φ
, (6.12)
X{k},d
=
K⋃
i=k+1
K⋃
j=i
W(i)
dk,j, ∀k ∈ [K−1], (6.13)
where the unicast signals X{1},d
, . . . ,X{k},d
are used by users {k+1, . . . ,K} in decoding
their cache contents. Next, the server sends the pairwise multicast signals
X{k,j},d
=(
k⋃
i=1
W(i)
dj ,k
)
⊕(
k⋃
i=1
W(i)
dk,j
)
, (6.14)
155
for k = 1, . . . ,K and j = k + 1, . . . ,K. In turn, the delivery load is given as
Rcoded
=
K∑
k=1
|X{k},d|/F +
K∑
k=1
K∑
j=k+1
|X{k,j},d
|/F, (6.15)
= K−K∑
i=1
(K − i+ 1)mi−
K∑
i=2
(i−1)(K−i+1)(K−i+2)(mi−m
i−1)
2(N − i+ 1). (6.16)
Achievability: First, the cache size constraints are satisfied, since
|Zk| = Nm
1F +
k∑
i=2
(N−i+1)|W (i)
n,k| =M
1F +
k∑
i=2
(Mi−M
i−1)F =M
kF. (6.17)
In the delivery phase, user k reconstructs Wdk
by going through the following steps.
• Subfile W(1)
dk ,kis uncoded and in turn can be directly retrieved from the cache.
• Subfiles W(i)
d1,k, . . . ,W
(i)
di−1,kare extracted from unicast signals X
{1},d, . . . ,X
{k−1},d.
• Subfile W(i)
dk ,kis retrieved from σ
i−1
(
[W(i)
1,k, . . . ,W
(i)
N,k])
using W(i)
d1,k, . . . ,W
(i)
di−1,k.
• Subfiles W(k+1)
dk,j, . . . ,W
(j)
dk ,jwhere j ∈ {k + 1, . . . ,K} and W
dk,φare retrieved from
the unicast signal X{k},d
.
• Subfiles W(1)
dk,j, . . . ,W
(k)
dk ,jare retrieved from the signals X
{k,j},d, j ∈ [K] \ {k}.
�
Remark 20. For given K and m, limN→∞
Rcoded
(m, N,K) = R∗
uncoded(m,K). That is,
the gain due to coded placement decreases with N and is negligible for N >> K.
156
mK
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
Deliveryload
0.5
1
1.5
2
2.5
3Coded placement α = 0.5Uncoded placement α = 0.5Coded placement α = 0.7Uncoded placement α = 0.7
Fig. 6.3: Comparing the achievable delivery load assuming coded placement with theminimum delivery load under uncoded placement, for K = 3, N = 4, and m
k= αm
k+1.
6.3.2 Numerical Results
In Fig. 6.3, we compare the worst-case delivery load achieved by exploiting coded
placement with the minimum worst-case delivery load assuming uncoded placement in a
three-user system where N = 4 and mk= αm
k+1. Fig. 6.3 shows that the gain achieved
by coded placement increases with the heterogeneity in cache sizes. We also observe that
the gain is higher when the total memory is small.
The delivery load achieved by utilizing coded placement in Theorem 15 is com-
pared to the best uncoded placement scheme in Fig. 6.4, for K = 10 and mk= 0.7m
k+1.
From Fig. 6.4, we observe that the reduction in the delivery load due to coded placement
decreases with the number of files N . In turn, for a system where N >> K, the delivery
157
mK
0 0.05 0.1 0.15 0.2 0.25 0.3
Deliveryload
7
7.5
8
8.5
9
9.5
10
Coded placement N = 11Uncoded placement N = 11Coded placement N = 50Uncoded placement N = 50
Fig. 6.4: Comparing the achievable delivery load assuming coded placement with theminimum delivery load under uncoded placement, for K = 10, α = 0.7, and m
k=
αmk+1
.
load achieved with our coded placement scheme is approximately equal to the minimum
delivery load under uncoded placement. That is, the coded placement gain is negligible
when N >> K.
6.4 Systems with Equal Caches
In this section, we consider systems with equal caches where Mi= M, ∀i and
without loss of generality we assume that U1≥ U
2≥ · · · ≥ U
L.
158
Fig. 6.5: The coded placement scheme for Example 1.
6.4.1 Example 1: Two-cache system
Consider a system with K = 3, N ≥ 3, L = 2 and M ≤ 1, where U1= {1, 2} and
U2= {3} as illustrated in Fig. 6.5.
6.4.1.1 The uncoded placement scheme [73]
Each file is divided into 3 subfiles, Wn,1
, Wn,2
and Wn,φ
, such that |Wn,1| =
|Wn,2| = M
NF bits and |W
n,φ| = (1− 2M
N)F bits [62]. The cached contents are given by
Zk=⋃
n
Wn,k, (6.18)
Without loss of generality, we assume that user k requests file k. The delivery phase
consists of two rounds. In the first round, the server sends the following signals to users
1 and 3:
W1,0,W
3,0,W
1,2⊕W
3,1. (6.19)
159
In the second round, the unicast signals W2,0,W
2,2are sent to user 2. In turn, all the
users recover their requested files using the cached contents. The total delivery load is
given by
Runcoded
= 3
(
1− 2M
N
)
+2M
N, (6.20)
where the first term represents the unicast transmission of the contents available only
at the server, and the second term represents the multicast signal to users 1 and 3 in
addition to the unicast signal to user 2.
6.4.1.2 The proposed coded placement scheme
We divide each file Wninto three pieces W
n,1of size MF
Nbits, W
n,2of size MF
N+
MFN(N−1) bits, and Wn,φ
of size F − 2MFN− MF
N(N−1) bits. The stored contents at the caches
are given by
Z1=
3⋃
n=1
Wn,1, (6.21)
Z2=(
W1,2⊕W
2,2
)
⋃
(
W2,2⊕W
3,2
)
, (6.22)
which is illustrated in Fig. 6.5. Assuming that user k requests file k, the server transmits
the following signals over the two rounds.
W1,0,W
2,0,W
3,0,W
2,2,W
1,2⊕W
3,1. (6.23)
Note that since W1,2
is larger than W3,1
, we append zeros to the end of W3,1
to equalize their lengths before XORing them. In order for the users to recover the
160
requested files, first we need to decode Z2. In particular, the unicast signal W
2,2along
with Z2enable cache 2 to recover W
1,2,W
2,2,W
3,2, which is illustrated in Fig. 6.5. In
turn, we have
Rcoded
= 3
(
1− 2M
N− M
N(N − 1)
)
+2M
N(N − 1)+
2M
N= R
uncoded− M
N(N − 1), (6.24)
where MN(N−1) is the gain from coded placement.
6.4.2 Example 2: Three-cache system
Consider a system with K = 6, N ≥ 6, L = 3 and 13 ≤M/N ≤ 2
3 , where users 1,
2 and 3 are connected to cache 1, users 4 and 5 are connected to cache 2 and user 6 is
connected to cache 3, i.e., U1= {1, 2, 3}, U
2= {4, 5} and U
3= {6}.
6.4.2.1 The uncoded placement scheme [73]
Each file is divided into 6 subfiles, Wn,1
, Wn,2
, Wn,3
Wn,12
, Wn,13
, and Wn,23
,
such that |Wn,1| = |W
n,2| = |W
n,3| = (23 − M
N)F bits and |W
n,12| = |W
n,13| = |W
n,23| =
(MN− 1
3 )F bits [62]. The cached contents are given by
Z1=⋃
n
(
Wn,1
⋃
Wn,12
⋃
Wn,13
)
, (6.25)
Z2=⋃
n
(
Wn,2
⋃
Wn,12
⋃
Wn,23
)
, (6.26)
Z3=⋃
n
(
Wn,3
⋃
Wn,13
⋃
Wn,23
)
. (6.27)
161
Suppose that user k requests file k during the delivery phase. In this example, we have
three delivery rounds. In round 1, users {1, 4, 6} are served by sending the signals
W1,2⊕W
4,1, W
1,3⊕W
6,1, W
4,3⊕W
6,2, W
1,23⊕W
4,13⊕W
6,12. (6.28)
In round 2, users {2, 5} are served by sending the signals
W2,2⊕W
5,1,W
2,3,W
5,3,W
2,23⊕W
5,13. (6.29)
In round 3, user 3 receives the following signals
W3,23
,W3,2,W
3,3. (6.30)
With the help of the cached contents, all the users recover their requested files. The
delivery load is given by
Runcoded
F = 3|Wn,23|+ 3|W
n,2|+ 5|W
n,3| =
(13
3− 5M
N
)
F. (6.31)
6.4.2.2 The proposed coded placement scheme
Similarly, each file is divided into 6 subfiles, Wn,1
, Wn,2
, Wn,3
Wn,12
, Wn,13
, and
Wn,23
, such that |Wn,S| = a
SF bits that will be specified later. The stored contents at
the caches are given by
Z1=⋃
n
(
Wn,1
⋃
Wn,12
⋃
Wn,13
)
, (6.32)
162
Fig. 6.6: The coded placement scheme for Example 2.
Z2= σ
1([W
1,2, ...,W
N,2])⋃
σ1([W
1,23, ...,W
N,23])⋃
(
⋃
n
Wn,12
)
, (6.33)
Z3= σ
3([W
1,3, ...,W
N,3])⋃
σ1([W
1,13, ...,W
N,13])⋃
σ1([W
1,23, ...,W
N,23]), (6.34)
i.e., we store N − 1 independent equations of W1,2, ...,W
N,2and N − 1 independent
equations ofW1,23
, ...,WN,23
at cache 2. At cache 3, we store N−3 independent equations
ofW1,3, ...,W
N,3, N−1 independent equations ofW
1,13, ...,W
N,13, and N−1 independent
equations of W1,23
, ...,WN,23
.
In the delivery phase, user k requests file k and the server constructs the signals
defined in (6.28)-(6.30); again, if the subfiles forming a signal differ in size, then the
server appends zeros to equalize their length before XORing them. In order to decode
the subfiles stored at caches 2 and 3, we utilizeW2,23⊕W
5,13,W
2,3,W
5,3,W
3,3,W
3,2,W
3,23.
For instance, the multicast signalW2,23⊕W
5,13can be used in decoding 2N−1 equations
in Wn,23
and Wn,13
. In our scheme, we assume that the subfiles are decoded successively
163
M/N0.3 0.4 0.5 0.6 0.7
Total
deliveryload
1
1.5
2
2.5
3
3.5
4
Uncoded placement
Coded placement
(2/3, 1)
(1/3, 8/3)
Fig. 6.7: The delivery load for L = 3, N = K = 6, U1= 3, U
2= 2 and U
3= 1.
at the caches. In particular, first we decode Wn,23
, then the multicast signal can be used
in decoding Wn,13
. The decoding is illustrated in Fig. 6.6. In order to minimize the
delivery load, we optimize over the subfile sizes, as follows
minaS≥0
Rcoded
= 3a2+ 5a
3+ 3a
23(6.35a)
subject to∑
S⊂[L]
aS= 1, (6.35b)
N(a1+ a
12+ a
13) ≤M, (6.35c)
(N−1)(a2+a
13)+Na
12≤M, (6.35d)
(N−3)a3+(N−1)(a
13+a
23)≤M, (6.35e)
164
a1≤ a
2≤ a
3, a
12≤ a
13≤ a
23. (6.35f)
(6.35b) ensures the feasibility of the file partitioning. Assuming that a123
= 0, conditions
(6.35c)-(6.35e) ensure that the memory capacity constraints are satisfied. We also assume
a1≤ a
2≤ a
3and a
12≤ a
13≤ a
23, since U
1> U
2> U
3. In Fig. 6.7, we show that
the proposed scheme achieves a lower total delivery load compared with the uncoded
placement scheme in [73].
6.4.3 Two-Cache System
In this section, we provide the proposed scheme for systems with two caches, i.e.,
L = 2. Without loss of generality, assume that the first U1users are connected to cache
1 and users {U1+ 1, . . . ,K} are connected to cache 2. Let q = U
1− U
2.
6.4.3.1 Placement Phase
Divide each file into the subfiles: Wn,φ
, Wn,1
, Wn,2
andWn,12
. The cache contents
are given by
Z1=⋃
n
(
Wn,1
⋃
Wn,12
)
, (6.36)
Z2= σ
q([W
1,2, ...,W
N,2])⋃
(
⋃
n
Wn,12
)
. (6.37)
6.4.3.2 Delivery Phase
Next, we describe the caching scheme in three memory regimes.
Region (MN
+ MN−q
≤ 1): In this case, we choose |Wn,12| = 0, |W
n,1| = M
NF ,
|Wn,2| = M
N−qF , and |W
n,φ| = (1 − M
N− M
N−q)F . During the delivery phase, first we
165
send U2multicast signal in the form of W
dx,2⊕W
dy,1each of which is intended to a pair
of users from the set {(1, U1+ 1), (2, U
1+ 2), ..., (U
2,K)}. Second, we send q unicast
signals in the form of Wdx,2
to users x ∈ {U2+ 1, ..., U
1}. Additionally, the q unicast
signals facilitate decoding the coded cached contents in Z2, i.e., cache 2 is able to retrieve
Wn,2, ∀n. Finally, the server unicast the subfiles {W
dk ,φ: ∀k}, which are not cached in
the network. By the end of the delivery phase, each user is able to reconstruct its
requested file. The total delivery load is given by
Rcoded
= K
(
1− M
N− M
N − q
)
+qM
N − q +U2M
N − q = Runcoded
−qU
2M
N(N − q) . (6.38)
Remark 21. The last term in (6.38) represents the gain of coded placement. We observe
that the gain from coded placement increases with q, which is the difference between the
number of users connected to each of the two caches. In other words, as the asymmetry
in the system increases the gain from the coded placement increases as well.
Region ( N−q2N−q
≤ MN< 0.5): We choose |W
n,φ| = |W
n,12| = 0, |W
n,1| = M
NF , and
|Wn,2| = (1− M
N)F . The delivery procedure is similar to the first case, and the delivery
load is given by
Rcoded
= U1
(
1− M
N
)
. (6.39)
Region (MN≥ 0.5): No gain from coded placement and the total delivery load is
given by
Rcoded
= Runcoded
= U1
(
1− M
N
)
. (6.40)
166
M/N0 0.1 0.2 0.3 0.4 0.5
Total
deliveryload
1
1.5
2
2.5
3
3.5
4
Uncoded placement q = 1Coded placement q = 1Uncoded placement q = 2Coded placement q = 2
Fig. 6.8: The total delivery load for L = 2, N = K = q + 2, U1= q + 1 and U
2= 1.
Remark 22. For MN≥ N−q
2N−q, the proposed scheme is optimal with respect to the cut-set
bound [80].
In Fig. 6.8, we show the achievable delivery load for two-caches system. It is
clear that the performance gap between the proposed scheme and the uncoded placement
scheme [73] increases with q, as explained in Remark 21.
6.4.4 L-Cache System
In this section, we present our caching scheme for a general L-cache system.
167
6.4.4.1 Placement Phase
Each file Wnis divided into subfiles W
n,S,S ⊂ [L], where W
n,Sis stored (coded
or uncoded) exclusively at the caches in S and |Wn,S| = a
SF,∀n. In general, we assume
that cache s ∈ S stores (N−λ(s)S
) independent equations in subfilesW1,S, . . . ,W
N,S, i.e.,
Cache s is defined as
Zs=
⋃
S⊂[L]:s∈S
σλ(s)
S
(
[W1,S, . . . ,W
N,S])
, (6.41)
where σ0(.) represents uncoded placement. In order to determine the coded placement
parameters {λ(s)S}, we need to analyze the unicast/multicast signals in the delivery pro-
cedure in [73] and characterize the signals that can be utilized in decoding the cached
contents.
6.4.4.2 Delivery Phase
Our delivery scheme is based on the delivery procedure in [73], where the delivery
rounds are grouped as follows:
1. Rounds (1 to UL): In each round, we serve L out of the remaining users connected
to the caches [L].
2. Rounds (UL+1 to U
L−1): In each round, we serve L−1 out of the remaining users
connected to the caches [L− 1].
...
168
l) Rounds (UL−l+2
+1 to UL−l+1
): In each round, we serve L−l+1 out of the remaining
users connected to the caches [L−l+1].
...
L) Rounds (U2+ 1 to U
1): In each round, we serve one out of the remaining users
connected to cache 1.
Different from [73], the XORed subfiles in a multicast signal can have different size. In
the lth group of rounds, a multicast signal serving the users connected to the caches in
T ⊂ [L], where T ∩ [L−l+1] 6= φ, is defined as
XT ,l
= ⊕k∈T ∩[L−l+1]
Wdk,T \{k}
, (6.42)
where dkis the file requested by the user connected to cache k and
|XT ,l| = max
k∈T ∩[L−l+1]aT \{k}
F. (6.43)
In turn, the total delivery load is defined as
R =
L∑
l=1
(UL−l+1
− UL−l+2
)∑
T ⊂[L]:T ∩[L−l+1] 6=φ
|XT ,l|/F, (6.44)
since the (UL−l+1
−UL−l+2
) delivery rounds in the lth group of rounds have same delivery
load.
Remark 23. If we have |T ∩ [L − l + 1]| < |T |, the multicast signal defined in (6.42)
can be utilized in decoding the caches in⋂
k∈T ∩[L−l+1]
T \ {k}, e.g., for L = 3, T = {1, 2, 3}
169
and l = 2, Wd1,{2,3}
⊕Wd2,{1,3}
can be utilized at cache 3 in decoding 2N − 1 equations
in {Wn,{2,3}
}Nn=1
and {Wn,{1,3}
}Nn=1
.
Coded placement parameters {λ(s)S} represent the overall coded placement gain
facilitated by all the signals satisfying the condition |T ∩ [L − l + 1]| < |T |. Given
U1≥ U
2≥ ... ≥ U
L, we assume that the subfile sizes satisfy
a{s1,...,st−1,st}
≤ a{s1,...,st−1,st+1}
, (6.45)
a{s1,...,st−1,L}
≤ a{s1,...,st−1+1,st−1+2}
, (6.46)
for S ⊂ [L] where S = {s1, . . . , s
t} and s
i< s
i+1∀i. That is, s
1∈ {1, . . . , L− t+ 1} and
si∈ {s
i−1+ 1, . . . , L− t+ i} for i > 1. In turn, we have
|XT ,l| = a
T \{k}F, k = argmin
i∈T ∩[L−l+1]i, (6.47)
and the total normalized delivery load can be expressed as
R =L−1∑
t=0
∑
S⊂[L]:|S|=t
µSaS, (6.48)
where µSis defined as
µS=
L−s1+1∑
l=1
(s1− 1)(U
L−l+1− U
L−l+2) +
L∑
l=L−s1+2
(L− l + 1)(UL−l+1
− UL−l+2
) (6.49)
=
s1−1∑
l=1
Ul. (6.50)
170
The coded subfiles are decoded successively at the caches starting with the subfile with
the largest size. That is, the multicast signal defined in (6.42) facilitates the decoding of
{Wn,T \{k}
}Nn=1
, where k = argmaxi∈T ∩[L−l+1]
i, e.g., for L = 3, T = {1, 2, 3} and l = 2,
Wd1,{2,3}
⊕Wd2,{1,3}
is used in decoding {Wn,{1,3}
}Nn=1
at cache 3, since {Wn,{2,3}
}Nn=1
are decoded first. Based on the aforementioned decoding order, the parameters {λ(s)S}
are defined as follows
λ(si)
S=λ
(si−1)
S+
L−si−1∑
l=L−si+2
(L− l − si−1
+ 1)(UL−l+1
− UL−l+2
), (6.51)
where s0= 0, λ
(0)
S= 0, and U
L+1= 0. Finally, the total delivery load is minimized by
optimizing over the subfile sizes.
minaS≥0
L−1∑
t=0
∑
S⊂[L]:|S|=t
µSaS
(6.52a)
subject to∑
S⊂[L]
aS= 1, (6.52b)
∑
S⊂[L]:l∈S
(N − λ(l)S)a
S≤M,∀l ∈ [L] (6.52c)
a{s1,...,st−1,st}
≤ a{s1,...,st−1,st+1}
, a{s1,...,st−1,L}
≤ a{s1,...,st−1+1,st−1+2}
,
∀{s1, . . . , s
t} ⊂ [L] with s
i< s
i+1. (6.52d)
(6.52b) and (6.52c) above represent all feasible choices for the subfile sizes which satisfy
the cache size constraints.
171
M/N0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
Totaldeliveryload
2
4
6
8
10
12
14
16
Uncoded placementCoded placement
Fig. 6.9: The achievable delivery load for L = 4 and N = 15.
In Fig. 6.9, we compare the achievable delivery loads with uncoded and coded
placement for L = 4, N = 15, and U = [8, 4, 2, 1], and observe the performance
improvement due to coded placement.
6.4.5 Gain from Increased Subpacketization
The caching schemes presented so far have the same subpacketization level as the
uncoded placement scheme in [73], i.e., the number of subfiles in the placement phase
is the same. Next, we show that a higher coded placement gain is achievable on the
expense of increasing the number of subfiles in the placement phase.
172
In Section 6.4.3, we presented a caching scheme for a two-cache system with
U1≥ U
2, where the multicast signal W
dx,{2}⊕W
dy ,{1}is formed by zero-padding W
dy,{1}
to have the same length as Wdx,{2}
before XORing them, since |Wdy,{1}
| ≤ |Wdx,{2}
|. Al-
ternatively, if Wn,{2}
is split into W(1)
n,{2},W
(2)
n,{2}such that |W
n,{1}| = |W (1)
n,{2}|, the multi-
cast signals Wdx,{2}
⊕Wdy,{1}
can be decomposed into multicast signals W(1)
dx,{2}⊕W
dy,{1}
and unicast signals W(2)
dx,{2}. The unicast signals W
(2)
dx,{2}can be utilized in increasing the
coded placement gain. In particular, at cache 2, we store σU1−U2
([W(1)
1,{2}, ...,W
(1)
N,{2}])
and σU1
([W(2)
1,{2}, ...,W
(2)
N,{2}]), instead of σ
U1−U2
([W1,{2}
, ...,WN,{2}
]), and the U1unicast
signals W(2)
dx,{2}are used to decode σ
U1
([W(2)
1,{2}, ...,W
(2)
N,{2}]). The details of the caching
scheme are explained in Section 6.5.1 for the general case where the caches are of different
size. For equal caches, the improved delivery load is given as
• ForM
N≤
N − U1
2N − U1− U
2
, we have
Rcoded
= Runcoded
−U2(U
1− U
2)M
(N − U1)N
. (6.53)
That is, coded placement gain is increased by the multiplicative factor(N−U1+U2)
(N−U1).
• ForN − U
1
2N − U1− U
2
<M
N, we have
Rcoded
= U1
(
1− M
N
)
. (6.54)
In Fig. 6.10, we compare the total delivery load achievable with uncoded place-
ment Runcoded
, the delivery load Rcoded
achievable with the coded placement scheme
173
M/N0 0.1 0.2 0.3 0.4 0.5
Total
deliveryload
4
5
6
7
8
9
10
11
Uncoded placementCoded placementImproved coded placement
Fig. 6.10: The total delivery load for L = 2, N = K = 11, U1= 8 and U
2= 3.
presented in Section 6.4.3, and the delivery load Rcoded
achievable with the improved
coded placement scheme, for a two-cache system with N = K = 11, U1= 8 and U
2= 3.
6.5 Unified Coded Placement Scheme for Asymmetric Systems
In this section, we consider a system with both unequal caches and asymmetric
user-to-cache connectivity. In particular, we consider a two-cache system with M1≤M
2
and investigate the gain achievable with coded placement when U1≥ U
2and U
1< U
2.
174
6.5.1 Smaller Cache is Overloaded (U1≥ U
2)
In this case, the coded placement schemes in Sections 6.3 and 6.4 are applied
simultaneously, such that the coded pieces are stored at cache 2. More specifically, in
the placement phase, each file is divided into subfiles: Wn,φ
, Wn,{1}
, W(1)
n,{2}, W
(2)
n,{2}, and
Wn,{1,2}
. The cache contents are defined as
Z1=⋃
n
(
Wn,{1}
⋃
Wn,{1,2}
)
, (6.55)
Z2= σ
U1−U2
(
[W(1)
1,{2}, ...,W
(1)
N,{2}])
⋃
σU1
(
[W(2)
1,{2}, ...,W
(2)
N,{2}])
⋃
(
⋃
n
Wn,{1,2}
)
, (6.56)
where |Wn,{1}| = |W (1)
n,{2}|.
In the delivery phase, the server sends U1+U
2unicast signals W
dk,φ, U
2multicast
signals W(1)
dx,{2}⊕W
dy ,{1}, U
1−U
2unicast signals W
(1)
dx,{2}, and U
1unicast signals W
(2)
dx,{2}.
More specifically, we have the following three memory regions:
• Region
(
(N − U1− U
2)m
1
N − U1
+Nm
2
N − U1
≤ 1
)
: We choose
|Wn,{1}| = m
1F, (6.57)
|W (2)
n,{2}| =
Nm2− (N − U
1+ U
2)m
1
N − U1
F, (6.58)
|Wn,{1,2}
| = 0. (6.59)
The delivery load is given by
Rcoded
= Runcoded
−U2(U
1m
2− U
2m
1)
N − U1
, (6.60)
175
where Runcoded
= (U1+ U
2)− (U
1+ U
2)m
1− U
2m
2.
• Region
(
(N − U1− U
2)m
1
N − U1
+Nm
2
N − U1
> 1
)
and(
m1+m
2< 1)
: We choose
|Wn,{1}| = m
1F, (6.61)
|W (2)
n,{2}| = (1− 2m
1)F, (6.62)
|Wn,φ| = |W
n,{1,2}| = 0. (6.63)
The delivery load is given by
Rcoded
= U1(1−m
1) = R
uncoded− U
2(1−m
1−m
2). (6.64)
• Region(
m1+m
2≥ 1)
: No gain from coded placement and the delivery load is
given by
Rcoded
= Runcoded
= U1(1−m
1). (6.65)
6.5.2 Larger Cache is Overloaded (U1< U
2)
Next, we present two different coded placement schemes depending on whether
we have
(
N
N − U2+ U
1
)
m1≤ m
2or
(
N
N − U2+ U
1
)
m1> m
2. That is, depending
on whether cache 1 combined with the gain from exploiting the asymmetry in users’
connectivity is smaller or larger than cache 2. In the first case, coded pieces are placed
at both caches such that asymmetry in the users’ connectivity is exploited at cache 1
176
and difference in the cache sizes is exploited at cache 2. In the second case, coded pieces
are stored at cache 1.
6.5.2.1 Case(
Nm1≤ (N − U
2+ U
1)m
2
)
In the placement phase, each file is divided into subfiles: Wn,φ
, Wn,{1}
, W(1)
n,{2},
W(2)
n,{2}, and W
n,{1,2}. The cache contents are defined as
Z1= σ
U2−U1
(
[W1,{1}
, ...,WN,{1}
])
⋃
(
⋃
n
Wn,{1,2}
)
, (6.66)
Z2=⋃
n
(
W(1)
n,{2}
⋃
Wn,{1,2}
)
⋃
σU1
(
[W(2)
1,{2}, ...,W
(2)
N,{2}])
, (6.67)
where |Wn,{1}| = |W (1)
n,{2}|.
In the delivery phase, the server sends U1+U
2unicast signals W
dk,φ, U
1multicast
signals W(1)
dx,{2}⊕W
dy,{1}, U
2−U
1unicast signals W
dy,{1}, and U
1unicast signals W
(2)
dx,{2}.
Therefore, the delivery load is given as
Rcoded
F = (U1+ U
2)|W
n,φ|+ U
2|W
n,{1}|+ U
1|W (2)
n,{2}|. (6.68)
More specifically, we have the following three memory regions:
• Region
(
N(N − 2U1)m
1
(N−U1)(N−U
2+U
1)+
Nm2
N−U1
≤ 1
)
: We have
|Wn,{1}| = |W (1)
n,{2}| =
Nm1
N − U2+ U
1
F, (6.69)
|W (2)
n,{2}| =
( N
N − U1
)
(
m2− N
N − U2+ U
1
m1
)
F, (6.70)
177
|Wn,{1,2}
| = 0. (6.71)
In turn, the delivery load is given by
Rcoded
= (U1+ U
2)−
(
N
N − U1
)(
U1(2N − 2U
1− U
2)
N − U2+ U
1
m1+ U
2m
2
)
, (6.72)
compared to Runcoded
= (U1+ U
2)− 2U
1m
1− U
2m
2.
• Region
(
N(N − 2U1)m
1
(N−U1)(N−U
2+U
1)+
Nm2
N−U1
> 1
)
and
(
m1+
N
N − U1
(m2−m
1)< 1
)
:
The subfile sizes are obtained by solving
2|Wn,{1}|+ |W (2)
n,{2}|+ |W
n,{1,2}| = F, (6.73)
(N−U2+U
1)|W
n,{1}|+N |W
n,{1,2}| = Nm
1F, (6.74)
N |Wn,{1}|+ (N−U
1)|W (2)
n,{2}|+N |W
n,{1,2}| = Nm
2F. (6.75)
and the corresponding delivery load is given by
Rcoded
=U1N(N − U
2)
N(N−U1)−U
1(U
2−U
1)(1−m
1) +
(U2−U
1)N(N − U
1)
N(N−U1)−U
1(U
2−U
1)(1−m
2).
(6.76)
• Region
(
m1+
N
N − U1
(m2−m
1) ≥ 1
)
: We have
|W (2)
n,{2}| = (1−m
1)F, (6.77)
178
|Wn,{1,2}
| = m1F. (6.78)
The delivery load is given by
Rcoded
= U1(1−m
1), (6.79)
compared to Runcoded
= U1(1−m
1) + (U
2− U
1)(1−m
2).
6.5.2.2 Case(
Nm1> (N − U
2+ U
1)m
2
)
In the placement phase, each file is divided into subfiles: Wn,φ
, W(1)
n,{1}, W
(2)
n,{1},
Wn,{2}
, and Wn,{1,2}
. The cache contents are defined as
Z1= σ
U2−U1
(
[W(1)
1,{1}, ...,W
(1)
N,{1}])
⋃
σU2
(
[W(2)
1,{1}, ...,W
(2)
N,{1}])
⋃
(
⋃
n
Wn,{1,2}
)
, (6.80)
Z2=⋃
n
(
Wn,{2}
⋃
Wn,{1,2}
)
, (6.81)
where |W (1)
n,{1}| = |W
n,{2}|.
In the delivery phase, the server sends U1+U
2unicast signals W
dk,φ, U
1multicast
signals Wdx,{2}
⊕W (1)
dy,{1}, U
2−U
1unicast signals W
(1)
dy,{1}, and U
2unicast signals W
(2)
dx,{1}.
Therefore, the delivery load is given as
Rcoded
F = (U1+ U
2)|W
n,φ|+ U
2|W
n,{2}|+ U
2|W (2)
n,{1}|. (6.82)
More specifically, we have the following three memory regions:
179
• Region
(
Nm1
N − U2
+(N − U
2− U
1)m
2
N − U2
≤ 1
)
: We have
|W (1)
n,{1}| = |W
n,{2}| = m
2F, (6.83)
|W (2)
n,{1}| =
( N
N − U2
)
(
m1−N − U
2+ U
1
Nm
2
)
F, (6.84)
|Wn,{1,2}
| = 0. (6.85)
In turn, the delivery load is given by
Rcoded
= (U1+ U
2)−
(
N
N − U2
)(
U1m
1+
(U1+ U
2)(N − U
2)− U2
1
Nm
2
)
. (6.86)
• Region
(
Nm1
N−U2
+(N−U
2−U
1)m
2
N−U2
> 1
)
and
(
m1+N+U
2−U
1
U2−U
1
(m2−m
1) < 1
)
:
We have |Wn,φ| = 0, and the subfile sizes satisfy
|Wn,{2}|+ |W
n,{1,2}| = m
2F, (6.87)
|Wn,{2}|+ |W (2)
n,{1}| = (1−m
2)F, (6.88)
whereN − U
2
N − U1
+U2
N − U1
m2− N
N − U1
m1≤ |W
n,{2}|/F ≤ min{m
2, 1−m
2}. That
is, the caching scheme is not unique and the delivery load is given by
Rcoded
= U2(1−m
2). (6.89)
180
• Region
(
m1+N+U
2−U
1
U2−U
1
(m2−m
1)≥1
)
: We have
|Wn,{2}| =
N(1−m1)
N+U2−U
1
F, (6.90)
|Wn,{1,2}
| = N
N+U2−U
1
(
2m1−N−U
2+U
1
N
)
F. (6.91)
The delivery load is given by
Rcoded
= U2
(
N
N + U2− U
1
)
(1−m1). (6.92)
6.6 Chapter Summary
In this chapter, we have shown that coded placement leads to a notable reduction
in the delivery load in systems where the users have different cache sizes. In particular,
we have proposed novel coded placement schemes that outperform the best uncoded
placement schemes for three-user systems with arbitrary cache sizes and K-user systems
in the small total memory regime. Our proposed schemes illustrate that the signals
intended to serve users with small cache sizes can be used in decoding the cache contents
of users with larger cache sizes. Furthermore, we have shown that the gain due to coded
placement increases with the heterogeneity in cache sizes and decreases with the number
of files.
We have also studied a cache-aided network with L cache memories and K end-
users, where L ≤ K. The end users are divided into L groups, and the users from each
group have direct access to only one of the L cache memories. We have proposed a
181
coded placement scheme that outperforms the best uncoded placement scheme [73]. In
the placement phase, the proposed scheme stores both coded and uncoded data at the
caches taking into consideration the users connectivity pattern. For a two-cache system,
we have provided an explicit characterization of the gain from coded placement. Next,
we have extended our scheme to L-cache systems, where the optimal parameters for the
caching scheme are obtained by solving a linear program. We have shown that coded
placement exploits the asymmetry in the users’ connectivity and the coded placement
gain increases with the heterogeneity in the system. Finally, we have extended our coded
placement scheme to systems where the shared caches have heterogeneous sizes.
182
Chapter 7
Conclusion
7.1 Dissertation Summary
In this dissertation, we have studied two prominent data storage technologies in
content delivery networks, namely, distributed data storage and coded caching.
In Chapter 2, we have investigated the impact of intermittency in energy avail-
ability on the operations of a distributed storage system. We have shown that the file
retrieval and node repair processes can be optimized by solving binary linear programs.
We have derived the necessary and sufficient conditions for the feasibility of retrieving
(repairing) a number of files by a deadline. Utilizing these conditions, we reduce the
aforementioned problems to a single feasibility problem, which is solved using forward
and backward algorithms. The forward algorithm minimizes the average delay per file,
while the backward algorithm is more computationally efficient. In addition, we have
investigated the optimal online policy for the system under causal knowledge of energy
arrivals. Finally, we have provided numerical results that demonstrates the performance
under several parameters values. We have also evaluated the long-term performance of
a distributed storage system in terms of throughput, repair rate, and lifetime.
In Chapters 3-6, we have studied the trade-off between the delivery load and
the cache sizes at the end-nodes in several heterogeneous cache-aided networks. More
specifically, for systems where the users have cache memories of different sizes, we have
183
proposed a caching scheme that accommodates the heterogeneity in cache sizes and
exploits all multicast opportunities when uncoded placement and linear delivery are
utilized. We have formulated a linear program that minimizes the delivery load by
optimizing over the parameters of the uncoded placement and linear delivery schemes.
We have derived a lower bound on the worst-case delivery load with uncoded placement,
which was utilized in characterizing the exact trade-off with uncoded placement for
several cases of interest.
Next, we have considered a system where the links between the server and the
users have fixed and unequal capacities. In this setup, the server not only designs
the users’ cache contents, but also assigns their cache memory sizes subject to a cache
memory budget. We have formulated an optimization problem for minimizing the worst-
case delivery completion time by jointly optimizing the memory allocation and caching
scheme. We have characterized explicitly the optimal cache sizes and caching scheme for
the case where the cache memory budget is smaller than or equal to the library size. In
particular, we have shown that the optimal memory allocation balances the multicast
gain and the gain achieved by transmitting less data to users with low capacity links.
In Chapter 4, we have studied the joint optimization of the caching scheme and the
memory allocation in systems where the users have different quality-of-service (QoS)
requirements. In this case, the files are encoded into layers corresponding to the different
QoS levels. We have shown that the optimal memory allocation follows a threshold
policy. Additionally, for fixed cache sizes, the proposed caching scheme outperforms the
state-of-art, as it exploits the inter-layer multicast opportunities.
184
In Chapter 5, we have considered systems where the server does not participate
in delivery phase and the users are served by device-to-device (D2D) transmissions.
We have extended the optimization framework to incorporate D2D-based delivery and
proposed coded caching schemes for users with unequal cache sizes. We have proved
the optimality of our D2D delivery scheme for several cases of interest. We have also
shown that the minimum delivery load depends on the sum of the cache sizes and not
the individual cache sizes if the smallest cache size is large enough. Additionally, we have
studied the relationship between the server-based and D2D-based delivery problems.
Finally, in Chapter 6, we have studied the benefits of coded placement in asym-
metric networks. For systems where the users have unequal caches, we have shown that
coded placement outperform the best uncoded placement scheme. The proposed scheme
exploits the signals intended to serve users with small caches in decoding the cached
contents at the larger caches. The gain from coded placement increases with the hetero-
geneity in cache sizes and decreases with the number of files. Next, we have considered
systems where the users share the caches memories such that each user is connected to
one cache and the number of caches is less than or equal to the number of users. For
systems with asymmetric user-to-cache connectivity, we have shown that coded place-
ment outperforms the best uncoded placement scheme by exploiting the asymmetry in
the users’ connectivity. Additionally, we have extended the coded placement scheme to
systems where the shared caches have heterogeneous sizes.
185
7.2 Future Directions
In Chapter 2, we have presented an initial study providing insights on the impact
of intermittently available harvested energy on the dynamics of distributed storage sys-
tems. To have a comprehensive understanding of the benefits and limitations of green
distributed storage systems, further studies are needed. Future directions to consider
include general heterogeneous systems, e.g., files with different sizes or different cod-
ing parameters; distributed storage systems with finite capacity batteries; and energy
cooperation between the system nodes.
In Chapters 3-6, we have studied coded caching systems taking into account sev-
eral practical considerations. The optimization perspective adopted in these studies
provides a principled analysis of optimal caching and delivery schemes for cache-enabled
networks, by translating the design elements of cache placement and delivery into struc-
tural optimization constraints. Future directions to consider include developing a scalable
optimization framework for general network topologies with multiple servers, multiple
libraries, and hierarchical cache-enabled networks with heterogeneous nodes.
186
Appendix A
Proof of Proposition 3
For S ′⊂ [K] such that 1 ≤ |S ′| ≤ K−2, and some user j 6∈ S ′, we have
∑
S⊂[K]: S′⊂S,j 6∈S
aS= a
S′1(|S′|=1)+
∑
S⊂[K]: S′⊂S,j 6∈S,|S|≥2
aS
(A.1)
≥ u{j}∪S′
S′1
(|S′|=1)+
∑
S⊂[K]: S′⊂S,j 6∈S,|S|≥2
∑
T (φ[K]: j∈T ,T ∩S6=φ,T \{j}⊂S
uT
S, (A.2)
≥ u{j}∪S′
S′1
(|S′|=1)+
∑
S⊂[K]: S′⊂S,j 6∈S,|S|≥2
∑
T (φ[K]: {j}∪S′⊂T ,T \{j}⊂S
uT
S, (A.3)
= u{j}∪S′
S′1
(|S′|=1)+
∑
T (φ[K]: {j}∪S′⊂T
∑
S⊂[K]: S′⊂S,T \{j}⊂S,j 6∈S,|S|≥2
uT
S, (A.4)
=∑
T (φ[K]: {j}∪S′⊂T
∑
S⊂[K]: T \{j}⊂S,j 6∈S
uT
S=
∑
T (φ[K]: {j}∪S′⊂T
vT, (A.5)
where the indicator function 1
(|S′|=1)= 1, if |S ′| = 1 and zero otherwise, (A.2) follows
from the redundancy constraints in (3.16) and u{j}∪S′
S′≤ a
S′ , (A.3) follows from the fact
that S ′ ⊂ S, and S ′ ⊂ T implies T ∩ S 6= φ. By interchanging the order of summations
over S and T in (A.3), we get (A.4), since both represent the set defined by
{
(T ,S)∣
∣S ′ ⊂ S, j 6∈ S, |S| ≥ 2, {j} ∪ S ′ ⊂ T , T \ {j} ⊂ S}
, (A.6)
which is represented by the diagram shown in Fig. A.1. The first equality in (A.5)
follows from the fact that {j} ∪ S ′ ⊂ T and T \ {j} ⊂ S implies S ′ ⊂ S, which can
187
Fig. A.1: Illustration of the set defined in (A.6).
be proved by contradiction. More specifically, if S ′ 6⊂ S, i.e., ∃ l ∈ S ′ and l 6∈ S, then
{j}∪S ′ ⊂ T implies l ∈ T \{j}. This contradicts T \{j} ⊂ S, since l ∈ T \{j} and l 6∈ S.
The last equality follows from the structural constraints in (3.13).
188
Appendix B
Proof of Theorem 4
B.1 Region I:
In this region, we have3∑
j=1m
j≤ 1. This is a special case of Theorem 2.
B.2 Region II:
In this region, we have 1 <3∑
j=1m
j≤ 2, m
3< m
2+3m
1− 1, and m
3< 2(1−m
2).
Achievability: The delivery load R∗
A
(m)=5
3−m
1−
2m2
3−m
3
3is achievable with
the following caching scheme. In the placement phase, we have
a{1}
= (2 +m2−m
3)/3 −m
1, (B.1)
a{2}
= a{3}
= (2− 2m2−m
3)/3, (B.2)
a{1,2}
= m1− (m
3+ 1−m
2)/3, (B.3)
a{1,3}
= m1− (2m
2+ 1− 2m
3)/3, (B.4)
a{2,3}
= (4m2+ 2m
3− 1)/3 −m
1, (B.5)
and in the delivery phase, we have
v{1,2}
= u{1,2}
{1}+ u
{1,2}
{1,3}= u
{1,2}
{2}+ u
{1,2}
{2,3}= (2 + 2m
3− 2m
2)/3−m
1, (B.6)
189
where u{1,2}
{1}= a
{1}, u
{1,2}
{1,3}= m
3−m
2, u
{1,2}
{2}= a
{2}, and u
{1,2}
{2,3}= m
3−m
1.
v{1,3}
= u{1,3}
{1}= u
{1,3}
{3}+ u
{1,3}
{2,3}= (2 +m
2−m
3)/3−m
1(B.7)
where u{1,3}
{1}= a
{1}, u
{1,3}
{3}= a
{3}, and u
{1,3}
{2,3}= m
2−m
1.
v{2,3}
= u{2,3}
{2}= u
{2,3}
{3}= (2− 2m
2−m
3)/3, (B.8)
v{1,2,3}
= u{1,2,3}
{1,2}= u
{1,2,3}
{1,3}= u
{1,2,3}
{2,3}= m
1+ (m
2−m
3− 1)/3. (B.9)
Converse: For any a ∈ A(m) and a permutation q, we have
R∗
A
(m,a) ≥ 3aφ+ 2a
{3}+ a
{2}+ a
{2,3}, for q = [1, 2, 3], (B.10)
R∗
A
(m,a) ≥ 3aφ+ 2a
{1}+ a
{3}+ a
{1,3}, for q = [2, 3, 1], (B.11)
R∗
A
(m,a) ≥ 3aφ+ 2a
{2}+ a
{3}+ a
{2,3}, for q = [1, 3, 2]. (B.12)
Hence, by taking the average of (B.10)-(B.12), we get
R∗
A
(m,a) ≥ 3aφ+
2a{1}
3+ a
{2}+
4a{3}
3+
2a{2,3}
3+a{1,3}
3, (B.13)
R∗
A
(m) ≥ mina∈A(m)
{
5aφ
3+
2a{1}
3+ a
{2}+
4a{3}
3+
2a{2,3}
3+a{1,3}
3
}
, (B.14)
=5
3−m
1−
2m2
3−m
3
3, (B.15)
which is obtained by solving the dual linear program.
190
B.3 Region III:
In this region, we have 1 <3∑
j=1m
j≤ 2, m
1+m
2< 1, and m
3≥ m
2+ 3m
1− 1.
Achievability: There are multiple caching schemes that achieve the delivery
load R∗
A,D(m) = 2−2m
1− m
2. In particular, we consider caching schemes where the
cache placement is characterized by
a{1}
+ a{1,3}
= m1, (B.16)
a{2}
+ a{2,3}
= m2, (B.17)
a{3}
= 1−m1−m
2, (B.18)
a{1,3}
+ a{2,3}
= m1+m
2+m
3− 1, (B.19)
and the delivery satisfies
v{1,3}
+ v{2,3}
= 1−m3, (B.20)
v{1}
+ v{1,3}
= 1− 2m1, (B.21)
v{2}
+ v{2,3}
= 1−m1−m
2. (B.22)
v{1,2}
= m1, (B.23)
v{1,3}
= a{1}, (B.24)
v{2,3}
= a{2}, (B.25)
Next, we provide one feasible solution to (B.16)-(B.25). More specifically, we have
191
• For m1≤ 1/3 and m
1+m
3< 1, we have
a{1}
= m1, (B.26)
a{2}
= 1− (m1+m
3), (B.27)
a{3}
= 1− (m1+m
2), (B.28)
a{2,3}
=3∑
j=1
mj− 1, (B.29)
v{1}
= 1− 3m1, (B.30)
v{2}
= m3−m
2, (B.31)
v{1,2}
= u{1,2}
{1}= u
{1,2}
{2}= m
1, (B.32)
v{1,3}
= u{1,3}
{1}= u
{1,3}
{3}= m
1, (B.33)
v{2,3}
= u{2,3}
{2}= u
{2,3}
{3}= 1− (m
1+m
3). (B.34)
• For m1> 1/3 and m
3< 2m
1, we have
a{1}
= 1− 2m1, (B.35)
a{2}
= 2m1−m
3, (B.36)
a{3}
= 1− (m1+m
2), (B.37)
a{1,3}
= 3m1− 1, (B.38)
a{2,3}
= m2+m
3− 2m
1, (B.39)
192
v{2}
= 1 +m3− 3m
1−m
2, (B.40)
v{1,2}
= u{1,2}
{1}+ u
{1,2}
{1,3}= u
{1,2}
{2}+ u
{1,2}
{2,3}= m
1, (B.41)
where u{1,2}
{2}= a
{2}and u
{1,2}
{2,3}= m
3−m
1.
v{1,3}
= u{1,3}
{1}= u
{1,3}
{3}+ u
{1,3}
{2,3}= 1− 2m
1, (B.42)
where u{1,3}
{3}= a
{3}and u
{1,3}
{2,3}= m
2−m
1.
v{2,3}
= u{2,3}
{2}= u
{2,3}
{3}= 2m
1−m
3. (B.43)
• For m1+m
3≥ 1 and m
3≥ 2m
1, we have
a{1}
= 1−m3, (B.44)
a{3}
= 1− (m1+m
2), (B.45)
a{1,3}
= m1+m
3− 1, (B.46)
a{2,3}
= m2, (B.47)
v{1}
= m3− 2m
1, (B.48)
v{2}
= 1− (m1+m
2), (B.49)
v{1,2}
= u{1,2}
{1}+ u
{1,2}
{1,3}= u
{1,2}
{2,3}= m
1, (B.50)
v{1,3}
= u{1,3}
{1}= u
{1,3}
{3}+ u
{1,3}
{2,3}= 1−m
3. (B.51)
193
Converse: For any a ∈ A(m) and q = [1, 2, 3], we have
R∗
A
(m,a) ≥ 3aφ+ 2a
{3}+ a
{2}+ a
{2,3}≥ 2a
φ+ 2a
{3}+ a
{2}+ a
{2,3}, (B.52)
R∗
A
(m)≥ mina∈A(m)
{
2aφ+ 2a
{3}+ a
{2}+ a
{2,3}
}
=2−2m1−m
2. (B.53)
B.4 Region IV:
In this region, we have m1+m
2> 1 and m
3≥ 2(1 −m
2).
Achievability: There are multiple caching schemes that achieve R∗
A,D(m) =
1−m1. In particular, we consider caching schemes where the cache placement is charac-
terized by
a{1}− a
{1,2,3}= 2− (m
1+m
2+m
3), (B.54)
a{2,3}
= 1−m1, (B.55)
a{1,2}
+ a{1,2,3}
= m1+m
2− 1, (B.56)
a{1,3}
+ a{1,2,3}
= m1+m
3− 1, (B.57)
and the delivery scheme is described by
v{1}
+ v{1,2}
+ v{1,3}
+ v{1,2,3}
= 1−m1, (B.58)
v{1,2}
+ v{1,2,3}
= 1−m2, (B.59)
v{1,3}
+ v{1,2,3}
= 1−m3. (B.60)
194
Next, we provide one feasible solution to (B.54)-(B.60). First, for m1+m
2+m
3< 2, in
the placement phase, we have
a{1}
= 2−3∑
j=1
mj, (B.61)
a{1,2}
= m1+m
2− 1, (B.62)
a{1,3}
= m1+m
3− 1, (B.63)
a{2,3}
= 1−m1, (B.64)
and in the delivery phase, we have the following two cases
• For 1 +m1≥ m
2+m
3, we have
v{1,2}
= u{1,2}
{1}+ u
{1,2}
{1,3}= u
{1,2}
{2,3}= m
3−m
1(B.65)
where u{1,2}
{1}= a
{1}and u
{1,2}
{1,3}=m
2+2m
3−2.
v{1,3}
= u{1,3}
{1}+ u
{1,3}
{1,2}= u
{1,3}
{2,3}= m
2−m
1(B.66)
where u{1,3}
{1}= a
{1}and u
{1,3}
{1,2}=2m
2+m
3−2.
v{1,2,3}
= u{1,2,3}
{1,2}= u
{1,2,3}
{1,3}= u
{1,2,3}
{2,3}= 1 +m
1− (m
2+m
3). (B.67)
195
• For 1 +m1< m
2+m
3, we have
v{1}
= m2+m
3− (1 +m
1), (B.68)
v{1,2}
= u{1,2}
{1}+ u
{1,2}
{1,3}= u
{1,2}
{2,3}= 1−m
2, (B.69)
where u{1,2}
{1}= a
{1}and u
{1,2}
{1,3}=m
1+m
3− 1.
v{1,3}
= u{1,3}
{1}+ u
{1,3}
{1,2}= u
{1,3}
{2,3}= 1−m
3, (B.70)
where u{1,3}
{1}= a
{1}and u
{1,3}
{1,2}=m
1+m
2− 1.
Second, for m1+m
2+m
3≥ 2, in the placement phase, we have
a{1,2}
= 1−m3, (B.71)
a{1,3}
= 1−m2, (B.72)
a{2,3}
= 1−m1, (B.73)
a{1,2,3}
=3∑
j=1
mj− 2, (B.74)
and in the delivery phase, we have the following two cases
• For 1 +m1≥ m
2+m
3, we have
v{1,2}
= u{1,2}
{1,3}= u
{1,2}
{2,3}= m
3−m
1, (B.75)
196
v{1,3}
= u{1,3}
{1,2}= u
{1,3}
{2,3}= m
2−m
1, (B.76)
v{1,2,3}
= u{1,2,3}
{1,2}= u
{1,2,3}
{1,3}= u
{1,2,3}
{2,3}= 1 +m
1− (m
2+m
3). (B.77)
• For 1 +m1< m
2+m
3, we have
v{1}
= m2+m
3− (1 +m
1), (B.78)
v{1,2}
= u{1,2}
{1,3}= u
{1,2}
{2,3}= 1−m
2, (B.79)
v{1,3}
= u{1,3}
{1,2}= u
{1,3}
{2,3}= 1−m
3. (B.80)
Converse: From the cut-set bound in (3.33), we have R∗(m) ≥1−m
1.
197
Appendix C
Proof of Theorem 6
In order to prove that the optimal solution of (4.26) achieves the delivery load in
Theorem 6, we first show the optimality of uniform cache allocation in each layer, i.e.,
m(l)
k= m
(l),∀k ∈ {l, . . . ,K}. Then, we show that the optimal memory allocation over
the layers follows the threshold policy defined by (4.30)-(4.32).
Next lemma shows the optimality of allocating equal cache sizes in a caching
system where the users request the same number of bits from the desired files [62], which
is equivalent to equal distortion requirements at the users [110].
Lemma 6. For a caching system with K users, N ≥ K files, and cache memory budget
mtot∈ [0,K], the minimum worst-case delivery load under uncoded placement
R∗
A
(mtot) = max
j∈[K]
{
2K − j + 1
j + 1−
(K + 1)mtot
j(j + 1)
}
, (C.1)
which is achieved by uniform memory allocation and the MaddahAli-Niesen caching
scheme [62].
Proof: For any memory allocation m = [m1, . . . ,m
K], we have
R∗
A
(m) ≥ maxλ0∈R,λk≥0
− λ0−
K∑
k=1
mkλk
(C.2a)
subject to λ0+∑
k∈S
λk+K−|S||S|+1
≥ 0, ∀S⊂ [K], (C.2b)
198
which is obtained by considering the average cut in the lower bound under uncoded
placement in [45, Theorem 1]. In turn, by considering λk= λ, ∀k ∈ [K], we get
R∗
A
(mtot
)≥ maxλ≥0
minj∈{0,...,K}
{
K − jj + 1
− λ(j −mtot
)
}
, (C.3)
= maxj∈[K]
{
2K − j + 1
j + 1−
(K + 1)mtot
j(j + 1)
}
, (C.4)
where mtot
=∑K
k=1m
k. �
Building on Lemma 6, given r and any memory allocation m(1), . . . ,m
(K), the
minimum worst-case delivery load under uncoded placement, R∗
A
(m(1), . . . ,m
(K), r), is
lower bounded by
K∑
l=1
(
rl− r
l−1
)
maxj∈[K−l+1]
2(K−l+1)−j+1
j + 1−
(K−l+2)K∑
k=l
m(l)
k
j(j + 1)
. (C.5)
Furthermore, this lower bound is achievable if we consider m(l)
k= m
(l),∀k ∈ {l, . . . ,K}
and apply the MaddahAli-Niesen caching scheme [62] on each layer. In turn, the opti-
mization problem in (4.26) simplifies to the problem of allocating the memory over the
layers, which is defined as
mint1,...,tK
K∑
l=1
χlfl
(C.6a)
subject toK∑
l=1
tlfl≤ m
tot, (C.6b)
0 ≤ tl≤ K − l + 1, (C.6c)
199
where m(l)
= tlfl/(K − l + 1) and
χl, max
j∈[K−l+1]
{
2(K−l+1)−j+1
j + 1−
(K−l+2)tl
j(j + 1)
}
. (C.7)
Finally, we can show that the optimal solution to (C.6) achieves the delivery load in
Theorem 6, by solving the dual of the linear program in (C.6).
200
Appendix D
Achievability Proof of Theorem 13
D.1 Region I:
In this region, we have 1 ≤ m1+m
2+m
3≤ 2 and m
1≥ m
2+m
3− 1. Next, we
show that there exists a feasible solution to (5.3) that achieves R∗
A,D(m) =
7
2− 3
2
(
m1+
m2+m
3
)
. In particular, we consider the caching schemes described by
v1→{2}
= v1→{3}
= a{1}, (D.1)
v2→{1}
= v2→{3}
= a{2}, (D.2)
v3→{1}
= v3→{2}
= a{3}, (D.3)
v1→{2,3}
+ v2→{1,3}
= a{1,2}
, (D.4)
v1→{2,3}
+ v3→{1,2}
= a{1,3}
, (D.5)
v2→{1,3}
+ v3→{1,2}
= a{2,3}
, (D.6)
and a{1,2,3}
= 0. In turn, the placement feasibility conditions in (5.11) reduce to
v1→{2,3}
+ v2→{1,3}
+ v3→{1,2}
=(
m1+m
2+m
3− 1)
/2, (D.7a)
a{1}
+ v1→{2,3}
=(
m1+ 1−m
2−m
3
)
/2, (D.7b)
a{2}
+ v2→{1,3}
=(
m2+ 1−m
1−m
3
)
/2, (D.7c)
201
a{3}
+ v3→{1,2}
=(
m3+ 1−m
1−m
2
)
/2. (D.7d)
Note that any caching scheme satisfying (D.7), achieves the D2D delivery load
R∗
A,D(m) = 2
(
a{1}
+ a{2}
+ a{3}
)
+ v1→{2,3}
+ v2→{1,3}
+ v3→{1,2}
, (D.8)
=7
2− 3
2
(
m1+m
2+m
3
)
(D.9)
In turn, we only need to choose a non-negative solution to (D.7), for instance we can
choose a{j}
= ρj
(
2−m1−m
2−m
3
)
, such that
3∑
j=1
ρj= 1, 0 ≤ ρ
j≤
2mj+ 1−∑3
i=1m
i
2(
2−∑3
i=1m
i
).
D.2 Region II:
In this region, 1 ≤ m1+m
2+m
3≤ 2, m
1< m
2+m
3− 1, the D2D delivery load
R∗
A,D(m) = 3− 2m
1−m
2−m
3is achievable with the caching scheme described by
a{2,3}
= m2+m
3− 1, (D.10)
v1→{2}
= v1→{3}
= a{1}
= 0, (D.11)
v2→{1}
= v2→{3}
= a{2}, (D.12)
v3→{1}
= a{3}
+(
a{2,3}
− a{1,2}
− a{1,3}
)
, (D.13)
v3→{2}
= a{3}, (D.14)
202
v2→{1,3}
= a{1,2}
, (D.15)
v3→{1,2}
= a{1,3}
, (D.16)
v1→{2,3}
= 0, (D.17)
and a{1,2,3}
= 0. Hence, we only need to choose a non-negative solution to the following
equations
a{2}
+ a{1,2}
= 1−m3, (D.18)
a{3}
+ a{1,3}
= 1−m2, (D.19)
a{1,2}
+ a{1,3}
= m1, (D.20)
which follows from (5.11). Note that any non-negative solution to (D.18), achieves
R∗
A,D(m) = 3−2m
1−m
2−m
3. For instance, we can choose a
{1,3}= 0 whenm
1+m
3≤ 1
and a{2}
= 0 when m1+m
3> 1.
D.3 Region III:
In this region, m1+ m
2+ m
3> 2, m
2+ m
3≤ 1 + m
1, and the delivery load
R∗
A,D(m) =
3
2− 1
2
(
m1+m
2+m
3
)
, is achievable with the caching scheme described by
v1→{2,3}
= (m1+1−m
2−m
3)/2, (D.21)
v2→{1,3}
= (m2+1−m
1−m
3)/2, (D.22)
v3→{1,2}
= (m3+1−m
1−m
2)/2, (D.23)
203
a{1,2}
= 1−m3, (D.24)
a{1,3}
= 1−m2, (D.25)
a{2,3}
= 1−m1, (D.26)
a{1,2,3}
= m1+m
2+m
3−2. (D.27)
D.4 Region IV:
In this region, m1+ m
2+ m
3> 2, m
2+ m
3> 1 + m
1, and the delivery load
R∗
A,D(m) = 1−m
1is achieved by
a{1,2}
= 1−m3, (D.28)
a{1,3}
= 1−m2, (D.29)
a{2,3}
= 1−m1, (D.30)
a{1,2,3}
= m1+m
2+m
3−2, (D.31)
v3→{1}
= m2+m
3−m
1− 1, (D.32)
v2→{1,3}
= 1−m3, (D.33)
v3→{1,2}
= 1−m2. (D.34)
204
Appendix E
Converse Proof of Theorem 13
By substituting αq= 1/2,∀q ∈ P
[3]\{j},∀j ∈ [3] in Theorem 8, we get
R∗
A
(m) ≥ maxλ0∈R,λk≥0
− λ0− λ
1m
1− λ
2m
2− λ
3m
3(E.1a)
subject to λ0+ λ
j+ 2 ≥ 0,∀ j∈ [3], (E.1b)
λ0+ λ
i+ λ
j+ 1/2 ≥ 0,∀ i∈ [3], j 6= i, (E.1c)
λ0+ λ
1+ λ
2+ λ
3≥ 0. (E.1d)
By choosing two feasible solutions to (E.1), we get
R∗
A
(m) ≥ max
{
7
2− 3
2
(
m1+m
2+m
3
)
,3
2− 1
2
(
m1+m
2+m
3
)
}
. (E.2)
Similarly, by substituting α[2,3]
= α[1,3]
= α[1,2]
= 1 in Theorem 8, we can show that
R∗
A
(m) ≥ max{
3−2m1−m
2−m
3, 1−m
1
}
. (E.3)
205
Appendix F
Proof of Lemma 5
For tractability, the signals sent to user k is denoted by
Xk, {X
j→T}T :k∈T ,j 6=k
. (F.1)
For a general D2D delivery scheme, we have
0 = H(
⋃
S:k 6∈S
Wdk,S
∣
∣
∣Xk, Z
k
)
= H(
⋃
S:k 6∈S
Wdk,S
,Xk
∣
∣
∣Zk
)
−H(
Xk
∣
∣
∣Zk
)
, (F.2)
≥ H(
⋃
S:k 6∈S
Wdk,S
,Xk
∣
∣
∣Zk
)
−∑
j 6=k
H(
{Xj→T}T :k∈T
∣
∣
∣Zk
)
,
(F.3)
For one-shot D2D delivery, we have
H(
⋃
S:k 6∈S
Wdk,S
,Xk
∣
∣
∣Zk
)
= H(
⋃
j 6=k
⋃
S:k 6∈S, j∈S
W(j)
dk,S,X
k
∣
∣
∣Zk
)
, (F.4)
=∑
j 6=k
H(
⋃
S:k 6∈S, j∈S
W(j)
dk,S, {X
j→T}T :k∈T
∣
∣
∣Zk
)
, (F.5)
In turn, we have
0 ≥∑
j 6=k
H(
⋃
S:k 6∈S, j∈S
W(j)
dk,S, {X
j→T}T :k∈T
∣
∣
∣Zk
)
−H(
{Xj→T}T :k∈T
∣
∣
∣Zk
)
, (F.6)
207
Appendix G
Proof of Theorem 14
G.1 Region I:
In this region,3∑
i=1m
i+2(m
2−m
1)
N − 1+2(m
3−m
2)
N − 2≤ 1 and the achievable delivery
load
Rcoded
= 3−3m1−2m
2−m
3−3(m
2−m
1)
N − 1−2(m
3−m
2)
N − 2. (G.1)
This region is a special case of Theorem 15.
G.2 Region II:
In this region,3∑
i=1m
i+
2(m2−m
1)
N − 1+
2(m3−m
2)
N − 2> 1, Nm
3≤ (N + 3)m
2+
3(N − 2)m1− (N − 1), Nm
3≤ 2(N−1)− (2N−3)m
2, and the delivery load is given by
Rcoded
=5
3−m
1−
2m2
3−m
3
3−
m2−m
1
3(N − 1). (G.2)
208
G.2.1 Placement Phase
Each file Wnis split into W
n,1, W
n,{2}, W
n,{3}, W
n,{1,2},{
W(1)
n,{1,3},W
(2)
n,{1,3}
}
, and
{
W(1)
n,{2,3},W
(2)
n,{2,3},W
(3)
n,{2,3},W
(4)
n,{2,3}
}
, such that
|Wn,{1}| =
(
2
3−m
1−N(m
3−m
2)
3(N−1)
)
F, (G.3)
|Wn,{2}| = |W
n,{3}| = |W
n,{1}| − (m
2−m
1)F, (G.4)
|W (3)
n,{2,3}| = |W (4)
n,{2,3}| = (m
2−m
1)F, (G.5)
|Wn,{1,2}
| = |W (1)
n,{1,3}| = |W (1)
n,{2,3}| =
(
m1− 1/3 −
N(m3−m
2)
3(N−1)
)
F, (G.6)
|W (2)
n,{1,3}| = |W (2)
n,{2,3}| =
N(m3−m
2)
(N−1) F, (G.7)
where all subfiles are cached uncoded except for W(2)
n,{2,3},∀n are encoded before being
placed at user 3. More specifically, the cache contents are given as
Z1=
N⋃
n=1
(
Wn,{1}
⋃
Wn,{1,2}
⋃
W(1)
n,{1,3}
⋃
W(2)
n,{1,3}
)
, (G.8)
Z2=
N⋃
n=1
(
Wn,{2}
⋃
Wn,{1,2}
⋃
(
4⋃
i=1
W(i)
n,{2,3}
))
, (G.9)
Z3=
N⋃
n=1
(
Wn,{3}
⋃
(
2⋃
i=1
W(i)
n,{1,3}
)
⋃
(
4⋃
i=1,i 6=2
W(i)
n,{2,3}
))
⋃
σ1
(
[W(2)
1,{2,3}, . . . ,W
(2)
N,{2,3}])
. (G.10)
209
G.2.2 Delivery Phase
The server sends the following multicast signals
X′
{1,2},d=W
d2,{1}⊕(
Wd1,{2}
⋃
W(3)
d1,{2,3}
)
, (G.11)
X{1,3},d
=Wd3,{1}
⊕(
Wd1,{3}
⋃
W(4)
d1,{2,3}
)
, (G.12)
X{2,3},d
=Wd3,{2}
⊕Wd2,{3}
, (G.13)
X{1,2,3},d
=Wd3,{1,2}
⊕W (1)
d2,{1,3}⊕W (1)
d1,{2,3}, (G.14)
X′′
{1,2},d=W
(2)
d2,{1,3}⊕W (2)
d1,{2,3}. (G.15)
G.2.3 Achievability
The proposed placement scheme is valid since the cache sizes constraints are
satisfied. In the delivery phase, the users retrieve the requested pieces from the multicast
signals using the cached subfiles. Additionally, using the multicast signal X′′
{1,2},dand
the cached piece W(2)
d2,{1,3}, user 3 decodes W
(2)
d1,{2,3}, which is used in retrieving W
(2)
d3,{2,3}
from σ1
(
[W(2)
1,{2,3}, . . . ,W
(2)
N,{2,3}])
.
G.3 Region III:
In this region,3∑
i=1m
i+
2(m2−m
1)
N − 1+
2(m3−m
2)
N − 2> 1, Nm
3> (N + 3)m
2+
3(N − 2)m1− (N − 1), Nm
2+ (N − 2)m
1≤ N − 1, and the delivery load is given by
Rcoded
= 2− 2m1−m
2−m
2−m
1
N − 1. (G.16)
210
G.3.1 Placement Phase
Each fileWnis split into subfilesW
n,1, {W (1)
n,{2},W
(2)
n,{2}}, {W (1)
n,{3},W
(2)
n,{3}, W
(3)
n,{3}},
Wn,{1,3}
, and{
W(1)
n,{2,3},W
(2)
n,{2,3}
}
, such that
|Wn,{1}|+|W
n,{1,3}| = |W (1)
n,{2}|+|W (1)
n,{2,3}| = m
1F, (G.17)
|Wn,{1,3}
| = |W (1)
n,{2,3}| = m
1F − |W (1)
n,{3}|, (G.18)
|W (2)
n,{2}| = |W (2)
n,{3}| =
N(m2−m
1)
N − 1F − |W (2)
n,{2,3}|. (G.19)
In particular, we have the following three cases.
• For m3≤N−2
N+
m2
N − 1−(2N−3)(N−2)m
1
(N − 1)(N)
|W (2)
n,{2,3}| =
(
3∑
i=1
mi+
2(m2−m
1)
N − 1+
2(m3−m
2)
N − 2− 1
)
F, (G.20)
|W (3)
n,{3}| =
N(m3−m
2)
N − 2F, (G.21)
|W (1)
n,{3}| = m
1F. (G.22)
• Form
2
N − 1−(2N−3)(N−2)m
1
(N − 1)(N)< m
3−N−2
N≤
m2
N − 1−
m1
(N − 1)(N)
|W (2)
n,{2,3}| =
N(m2−m
1)
N − 1F, (G.23)
|W (3)
n,{3}|+ |W (1)
n,{3}| =(
1−2m1−N(m
2−m
1)
N − 1
)
F, (G.24)
|W (1)
n,{3}| =
(
N−22N−3
)
(
1−(N−3)m
1
(N − 2)−N(m
2−m
1)
N − 1−N(m
3−m
2)
N − 2
)
F. (G.25)
211
• For m3>N−2N
+m
2
N − 1−
m1
(N − 1)(N)
|W (3)
n,{3}| =
(
1−2m1−N(m
2−m
1)
N − 1
)
F, (G.26)
|W (2)
n,{2,3}| =
N(m2−m
1)
N − 1F, (G.27)
|W (1)
n,{3}| = 0. (G.28)
The cache contents are defined as
Z1=
N⋃
n=1
(
Wn,{1}
⋃
Wn,{1,3}
)
, (G.29)
Z2=
N⋃
n=1
(
W(1)
n,{2}
⋃
W(1)
n,{2,3}
)
⋃
σ1
(
[W(2)
1,{2}, . . . ,W
(2)
N,{2}])
⋃
σ1
(
[W(2)
1,{2,3}, . . . ,W
(2)
N,{2,3}])
, (G.30)
Z3=
N⋃
n=1
(
W(1)
n,{3}
⋃
W(1)
n,{2,3}
)
⋃
σ1
(
[W(2)
1,{3}, . . . ,W
(2)
N,{3}])
⋃
σ1
(
[W(2)
1,{2,3}, . . . ,W
(2)
N,{2,3}])
⋃
σ1
(
[W1,{1,3}
, . . . ,WN,{1,3}
])
⋃
σ2
(
[W(3)
1,{3}, . . . ,W
(3)
N,{3}])
. (G.31)
G.3.2 Delivery Phase:
The server sends the following multicast signals
X{1,2},d
=(
Wd2,{1}
⋃
Wd2,{1,3}
)
⊕(
W(1)
d1,{2}
⋃
W(1)
d1,{2,3}
)
, (G.32)
X{2,3},d
=
(
W(1)
d3,{2}
⋃
W(2)
d3,{2}
)
⊕(
W(1)
d2,{3}
⋃
W(2)
d2,{3}
)
, (G.33)
X{1,3},d
=Wd3,{1}
⊕W (1)
d1,{3}. (G.34)
212
The following unicast signals complete the requested files and help users {2, 3} in decod-
ing their cache contents.
X{1},d
=W(2)
d1,{2}
⋃
W(2)
d1,{2,3}
⋃
W(2)
d1,{3}
⋃
W(3)
d1,{3}, (G.35)
X{2},d
=W(3)
d2,{3}. (G.36)
G.3.3 Achievability
User 2 decodes its cache using W(2)
d1,{2},W
(2)
d1,{2,3}from X
{1},d. Similarly, user 3
decodes its cache using W(2)
d1,{2,3},W
(2)
d1,{3},W
(3)
d1,{3}from X
{1},dand W
(3)
d2,{3}from X
{2},d.
G.4 Region IV:
In this region, Nm2+ (N − 2)m
1> N − 1, Nm
3> 2(N − 1)− (2N − 3)m
2, and
the delivery load is given by
Rcoded
= 1−m1. (G.37)
Next, we consider the case where m1+m
2≤ 1, since uncoded placement is optimal for
m1+m
2> 1 [45].
G.4.1 Placement Phase
Wnis split into W
n,{1,2}, W
n,{1,3}, and
{
W(1)
n,{2,3},W
(2)
n,{2,3},W
(3)
n,{2,3}
}
, such that
|Wn,{1,2}
| = m1F − |W
n,{1,3}|, (G.38)
213
|Wn,{1,2}
| = |W (2)
n,{2,3}|, (G.39)
|Wn,{1,3}
| = |W (1)
n,{2,3}|, (G.40)
|W (3)
n,{2,3}| = (1− 2m
1)F. (G.41)
In particular, we have
|Wn,{1,2}
| =
(
Nm2+ (N − 2)m
1
N − 1− 1
)
F, if m3≤
(N−1) +m1
N,
0, otherwise.
(G.42)
The cache contents are defined as
Z1=
N⋃
n=1
(
Wn,{1,2}
⋃
Wn,{1,3}
)
, (G.43)
Z2=
N⋃
n=1
(
W(1)
n,{2,3}
⋃
W(2)
n,{2,3}
)
⋃
σ1
(
[W1,{1,2}
, . . . ,WN,{1,2}
])
⋃
σ1
(
[W(3)
1,{2,3}, . . . ,W
(3)
N,{2,3}])
, (G.44)
Z3=
N⋃
n=1
(
W(1)
n,{2,3}
⋃
W(2)
n,{2,3}
)
⋃
σ1
(
[W1,{1,3}
, . . . ,WN,{1,3}
])
⋃
σ1
(
[W(3)
1,{2,3}, . . . ,W
(3)
N,{2,3}])
. (G.45)
G.4.2 Delivery Phase
The server sends the following signals
X{1,2},d
=Wd2,{1,3}
⊕W (1)
d1,{2,3}, (G.46)
214
X{1,3},d
=Wd3,{1,2}
⊕W (2)
d1,{2,3}, (G.47)
X{1},d
=W(3)
d1,{2,3}. (G.48)
G.4.3 Achievability
User 2 retrieves Wd2,{1,2}
from its cache using Wd3,{1,2}
which is extracted from
X{1,3},d
. Similarly, user 3 retrieves Wd3,{1,3}
by utilizing X{1,2},d
.
215
Bibliography
[1] K. C. Almeroth and M. H. Ammar. The use of multicast delivery to provide a
scalable and interactive video-on-demand service. IEEE J. Sel. Areas Commun.,
14(6):1110–1122, Aug. 1996.
[2] M. M. Amiri and D. Gunduz. Fundamental limits of coded caching: Improved
delivery rate-cache capacity tradeoff. IEEE Trans. Commun., 65(2):806–815, Feb.
2017.
[3] M. M. Amiri and D. Gunduz. Cache-aided content delivery over erasure broadcast
channels. IEEE Trans. Commun., 66(1):370–381, Jan. 2018.
[4] M. M. Amiri, Q. Yang, and D. Gunduz. Decentralized caching and coded delivery
with distinct cache capacities. IEEE Trans. Commun., 65(11):4657–4669, Nov.
2017.
[5] F. Arbabjolfaei, B. Bandemer, Y.-H. Kim, E. Sasoglu, and L. Wang. On the
capacity region for index coding. In Proc. IEEE ISIT, 2013.
[6] A. Asadi, Q. Wang, and V. Mancuso. A survey on device-to-device communication
in cellular networks. IEEE Commun. Surveys Tuts., 16(4):1801–1819, Apr. 2014.
[7] Z. H. Awan and A. Sezgin. Fundamental limits of caching in D2D networks with
secure delivery. In Proc. IEEE ICC Workshops, 2015.
216
[8] D. Bertsekas. Dynamic programming and optimal control, volume 1. Athena Sci-
entific Belmont, MA, 2005.
[9] S. S. Bidokhti, M. Wigger, and A. Yener. Benefits of cache assignment on degraded
broadcast channels. arXiv:1702.08044, 2017.
[10] P. Blasco and D. Gunduz. Multi-access communications with energy harvesting:
A multi-armed bandit model and the optimality of the myopic policy. IEEE J.
Sel. Areas Commun., 33(3):585–597, Mar. 2015.
[11] S. Bradley, A. Hax, and T. Magnanti. Applied mathematical programming. Addison
Wesley, USA, Jan. 1977.
[12] V. R. Cadambe, S. A. Jafar, H. Maleki, K. Ramchandran, and C. Suh. Asymptotic
interference alignment for optimal repair of MDS codes in distributed storage.
IEEE Trans. Inf. Theory, 59(5):2974–2987, May 2013.
[13] D. Cao, D. Zhang, P. Chen, N. Liu, W. Kang, and D. Gunduz. Coded caching with
heterogeneous cache sizes and link qualities: The two-user case. arXiv:1802.02706,
2018.
[14] S. Chen, Y. Sun, U. C. Kozat, L. Huang, P. Sinha, G. Liang, X. Liu, and N. B.
Shroff. When queueing meets coding: Optimal-latency data retrieving scheme in
storage clouds. In Proc. IEEE INFOCOM, 2014.
[15] Z. Chen, P. Fan, and K. B. Letaief. Fundamental limits of caching: Improved
bounds for small buffer users. IET Commun., 10(17):2315–2318, Nov. 2016.
217
[16] A. K. Chorppath, J. Hackel, and F. H. Fitzek. Network coded caching and D2D
cooperation in wireless networks. In Proc. VDE EW, 2017.
[17] Cisco. Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update,
2016-2021. Feb. 2017.
[18] T. M. Cover and J. A. Thomas. Elements of information theory. John Wiley &
Sons, 2006.
[19] A. F. Dana, R. Gowaikar, R. Palanki, B. Hassibi, and M. Effros. Capacity of
wireless erasure networks. IEEE Trans. Inf. Theory, 52(3):789–804, Mar. 2006.
[20] A. M. Daniel and W. Yu. Optimization of heterogeneous coded caching.
arXiv:1708.04322, 2017.
[21] B. Devillers and D. Gunduz. A general framework for the optimization of energy
harvesting communication systems with battery imperfections. J. Commun. Netw.,
14(2):130–139, Apr. 2012.
[22] A. G. Dimakis, P. B. Godfrey, Y. Wu, M. J. Wainwright, and K. Ramchan-
dran. Network coding for distributed storage systems. IEEE Trans. Inf. Theory,
56(9):4539–4551, Sep. 2010.
[23] A. G. Dimakis, V. Prabhakaran, and K. Ramchandran. Ubiquitous access to dis-
tributed data in large-scale sensor networks through decentralized erasure codes.
In Proc. IEEE IPSN, 2005.
218
[24] A. G. Dimakis and K. Ramchandran. Network coding for distributed storage in
wireless networks. In Networked Sensing Information and Control, pages 115–134.
Springer, 2008.
[25] A. G. Dimakis, K. Ramchandran, Y. Wu, and C. Suh. A survey on network codes
for distributed storage. Proc. IEEE, 99(3):476–489, Mar. 2011.
[26] Y. Dong, F. Farnia, and A. Ozgur. Near optimal energy control and approxi-
mate capacity of energy harvesting communication. IEEE J. Sel. Areas Commun.,
33(3):540–557, Mar. 2015.
[27] L. W. Dowdy and D. V. Foster. Comparative models of the file assignment problem.
ACM Comput. Surveys (CSUR), 14(2):287–313, Jun. 1982.
[28] S. El Rouayheb and K. Ramchandran. Fractional repetition codes for repair in
distributed storage systems. In Proc. IEEE Allerton, 2010.
[29] W. H. Equitz and T. M. Cover. Successive refinement of information. IEEE Trans.
Inf. Theory, 37(2):269–275, 1991.
[30] X. Fafoutis, D. Vuckovic, A. Di Mauro, N. Dragoni, and J. Madsen. Energy-
harvesting wireless sensor networks. In Proc. EWSN, 2012.
[31] M. Gerami and M. Xiao. Repair for distributed storage systems with erasure
channels. In Proc. IEEE ICC, 2013.
[32] M. Gerami, M. Xiao, and M. Skoglund. Optimal-cost repair in multi-hop dis-
tributed storage systems. In Proc. IEEE ISIT, 2011.
219
[33] M. Gerami, M. Xiao, and M. Skoglund. Partial repair for wireless caching networks
with broadcast channels. IEEE Wireless Commun. Lett., 4(2):145–148, Apr. 2015.
[34] H. Ghasemi and A. Ramamoorthy. Improved lower bounds for coded caching.
IEEE Trans. Inf. Theory, 63(7):4388–4413, May 2017.
[35] A. Ghorbel, M. Kobayashi, and S. Yang. Content delivery in erasure broadcast
channels with cache and feedback. IEEE Trans. Inf. Theory, 62(11):6407–6422,
2016.
[36] N. Golrezaei, A. G. Dimakis, and A. F. Molisch. Device-to-device collaboration
through distributed storage. In Proc. IEEE GLOBECOM, 2012.
[37] J. Gomez-Vilardebo. Fundamental limits of caching: Improved bounds with coded
prefetching. arXiv:1612.09071, 2016.
[38] D. Gunduz and B. Devillers. Two-hop communication with energy harvesting. In
Proc. IEEE CAMSAP, 2011.
[39] P. Gupta and P. R. Kumar. The capacity of wireless networks. IEEE Trans. Inf.
Theory, 46(2):388–404, 2000.
[40] P. Hassanzadeh, E. Erkip, J. Llorca, and A. Tulino. Distortion-memory tradeoffs
in cache-aided wireless video delivery. In Proc. IEEE Allerton, 2015.
[41] A. M. Ibrahim, A. A. Zewail, and A. Yener. Towards green distributed storage
systems. In Proc. IEEE Asilomar, 2015.
220
[42] A. M. Ibrahim, A. A. Zewail, and A. Yener. Green distributed storage using
energy harvesting nodes. IEEE Journ. Sel. Areas in Commun., 34(5):1590–1603,
May 2016.
[43] A. M. Ibrahim, A. A. Zewail, and A. Yener. Centralized coded caching with
heterogeneous cache sizes. In Proc. IEEE WCNC, 2017.
[44] A. M. Ibrahim, A. A. Zewail, and A. Yener. Optimization of heterogeneous caching
systems with rate limited links. In Proc. IEEE ICC, 2017.
[45] A. M. Ibrahim, A. A. Zewail, and A. Yener. Coded caching for heterogeneous
systems: An optimization prespective. arXiv:1810.08187, 2018.
[46] A. M. Ibrahim, A. A. Zewail, and A. Yener. Device-to-device coded caching with
heterogeneous cache sizes. In Proc. IEEE ICC, 2018.
[47] A. M. Ibrahim, A. A. Zewail, and A. Yener. On coded caching with heterogeneous
distortion requirements. In Proc. IEEE ITA, 2018.
[48] R. Impagliazzo, S. Lovett, R. Paturi, and S. Schneider. 0-1 integer linear pro-
gramming with a linear number of constraints. In Proc. Electron. Colloq. Comput.
Complex. (ECCC), volume 24, pages 1–5, Feb. 2014.
[49] M. Ji, G. Caire, and A. F. Molisch. Fundamental limits of caching in wireless D2D
networks. IEEE Trans. Inf. Theory, 62(2):849–869, Feb. 2016.
[50] M. Ji, G. Caire, and A. F. Molisch. Wireless device-to-device caching networks:
Basic principles and system performance. IEEE J. Sel. Areas Commun., 34(1):176–
189, Jul. 2016.
221
[51] M. Ji, R.-R. Chen, G. Caire, and A. F. Molisch. Fundamental limits of distributed
caching in multihop D2D wireless networks. In Proc. IEEE ISIT, 2017.
[52] M. Ji, A. M. Tulino, J. Llorca, and G. Caire. Order-optimal rate of caching and
coded multicasting with random demands. IEEE Trans. Inf. Theory, 63(6):3923–
3949, Jun. 2017.
[53] M. Ji, M. F. Wong, A. M. Tulino, J. Llorca, G. Caire, M. Effros, and M. Langberg.
On the fundamental limits of caching in combination networks. In Proc. IEEE
SPAWC, 2015.
[54] S. Jin, Y. Cui, H. Liu, and G. Caire. Structural properties of uncoded placement
optimization for coded delivery. arXiv:1707.07146, 2017.
[55] D. Karpuk, C. Hollanti, and A. Barreal. Node repair for distributed storage systems
over fading channels. In Proc. IEEE ISITA, 2014.
[56] M. Kiamari, C. Wang, and A. Salman Avestimehr. On heterogeneous coded dis-
tributed computing. arXiv:1709.00196, 2017.
[57] M. R. Korupolu, C. G. Plaxton, and R. Rajaraman. Placement algorithms for
hierarchical cooperative caching. J. of Algorithms, 38(1):260–302, Jan. 2001.
[58] Y.-J. Ku, D.-Y. Lin, C.-F. Lee, P.-J. Hsieh, H.-Y. Wei, C.-T. Chou, and A.-C.
Pang. 5G radio access network design with the fog paradigm: Confluence of com-
munications and computing. IEEE Commun. Mag., 55(4):46–52, Apr. 2017.
222
[59] S. Li, M. A. Maddah-Ali, Q. Yu, and A. S. Avestimehr. A fundamental tradeoff
between computation and communication in distributed computing. IEEE Trans.
Inf. Theory, 64(1):109–128, Jan. 2018.
[60] S. H. Lim, C.-Y. Wang, and M. Gastpar. Information-theoretic caching: The
multi-user case. IEEE Trans. Inf. Theory, 63(11):7018–7037, Nov. 2017.
[61] F. J. MacWilliams and N. J. A. Sloane. The theory of error-correcting codes.
Elsevier, 1977.
[62] M. A. Maddah-Ali and U. Niesen. Fundamental limits of caching. IEEE Trans.
Inf. Theory, 60(5):2856–2867, Mar. 2014.
[63] M. A. Maddah-Ali and U. Niesen. Decentralized coded caching attains order-
optimal memory-rate tradeoff. IEEE/ACM Trans. Netw., 23(4):1029–1040, Aug.
2015.
[64] S. Mohajer and R. Tandon. New bounds on the (n, k, d) storage systems with
exact repair. In Proc. IEEE ISIT, 2015.
[65] N. Naderializadeh, M. A. Maddah-Ali, and A. S. Avestimehr. Fundamental limits
of cache-aided interference management. IEEE Trans. Inf. Theory, 63(5):3092–
3107, May 2017.
[66] U. Niesen and M. A. Maddah-Ali. Coded caching for delay-sensitive content. In
Proc. IEEE ICC, 2015.
[67] U. Niesen and M. A. Maddah-Ali. Coded caching with nonuniform demands. IEEE
Trans. Inf. Theory, 63(2):1146–1158, 2017.
223
[68] O. Orhan, D. Gunduz, and E. Erkip. Energy harvesting broadband communi-
cation systems with processing energy cost. IEEE Trans. Wireless Commun.,
13(11):6095–6107, Nov. 2014.
[69] J. B. Orlin, A. P. Punnen, and A. S. Schulz. Integer programming: optimization
and evaluation are equivalent. In Algorithms and Data Structures, pages 519–529.
Springer, Aug. 2009.
[70] O. Ozel, K. Tutuncuoglu, J. Yang, S. Ulukus, and A. Yener. Transmission with
energy harvesting nodes in fading wireless channels: Optimal policies. IEEE J.
Sel. Areas Commun., 29(8):1732–1743, Sep. 2011.
[71] J. Paakkonen, C. Hollanti, and O. Tirkkonen. Device-to-device data storage for
mobile cellular systems. In Proc. IEEE Globecom Workshops, 2013.
[72] D. S. Papailiopoulos and A. G. Dimakis. Locally repairable codes. IEEE Trans.
Info. Theory, 60(10):5843–5855, Oct. 2014.
[73] E. Parrinello, A. Unsal, and P. Elia. Coded caching with shared caches: Funda-
mental limits with uncoded prefetching. arXiv:1809.09422, 2018.
[74] J. Pedersen, A. Graell i Amat, I. Andriyanova, and F. Brannstrom. Repair schedul-
ing in wireless distributed storage with D2D communication. In Proc. IEEE ITW,
2015.
[75] J. Pernas, C. Yuen, B. Gaston, and J. Pujol. Non-homogeneous two-rack model
for distributed storage systems. In Proc. IEEE ISIT, 2013.
224
[76] A. Ramakrishnan, C. Westphal, and A. Markopoulou. An efficient delivery scheme
for coded caching. In Proc. IEEE ITC, 2015.
[77] K. Rashmi, N. B. Shah, P. V. Kumar, and K. Ramchandran. Explicit construction
of optimal exact regenerating codes for distributed storage. In Proc. IEEE Allerton,
2009.
[78] K. V. Rashmi, N. B. Shah, and P. V. Kumar. Optimal exact-regenerating codes for
distributed storage at the MSR and MBR points via a product-matrix construction.
IEEE Trans. Inf. Theory, 57(8):5227–5239, Aug. 2011.
[79] V. Ravindrakumar, P. Panda, N. Karamchandani, and V. M. Prabhakaran. Private
coded caching. IEEE Trans. Inf. Forensics Security, 13(3):685–694, Mar. 2018.
[80] A. Sengupta and R. Tandon. Improved approximation of storage-rate tradeoff for
caching with multiple demands. IEEE Trans. Commun., 65(5):1940–1955, 2017.
[81] A. Sengupta, R. Tandon, and T. C. Clancy. Fundamental limits of caching with
secure delivery. IEEE Trans. Inf. Forensics Security, 10(2):355–370, 2015.
[82] A. Sengupta, R. Tandon, and T. C. Clancy. Layered caching for heterogeneous
storage. In Proc. IEEE Asilomar, 2016.
[83] A. Shabani, S. P. Shariatpanahi, V. Shah-Mansouri, and A. Khonsari. Mobility
increases throughput of wireless device-to-device networks with coded caching. In
Proc. IEEE ICC, 2016.
[84] S. P. Shariatpanahi, S. A. Motahari, and B. H. Khalaj. Multi-server coded caching.
IEEE Trans. Inf. Theory, 62(12):7253–7271, Dec. 2016.
225
[85] W. Song, S. H. Dau, C. Yuen, and T. J. Li. Optimal locally repairable linear codes.
IEEE J. Sel. Areas Commun., 32(5):1019–1036, Oct. 2014.
[86] C. Suh and K. Ramchandran. Exact-repair MDS codes for distributed storage
using interference alignment. In Proc. IEEE ISIT, 2010.
[87] A. Tang, S. Roy, and X. Wang. Coded caching for wireless backhaul networks with
unequal link rates. IEEE Trans. Commun., 66(1):1–13, Aug. 2017.
[88] A. Tebbi and C. W. Sung. Coded caching in partially cooperative D2D communi-
cation networks. arXiv:1709.06281, 2017.
[89] C. Tian and K. Zhang. From uncoded prefetching to coded prefetching in coded
caching. arXiv:1704.07901, 2017.
[90] R. Timo, S. S. Bidokhti, M. Wigger, and B. C. Geiger. A rate-distortion approach
to caching. IEEETrans. Inf. Theory, 2018.
[91] R. Timo and M. Wigger. Joint cache-channel coding over erasure broadcast chan-
nels. In Proc. IEEE ISWCS, 2015.
[92] K. Tutuncuoglu, B. Varan, and A. Yener. Throughput maximization for two-way
relay channels with energy harvesting nodes: The impact of relaying strategies.
IEEE Trans. Commun., 63(6):2081–2093, Jun. 2015.
[93] K. Tutuncuoglu and A. Yener. Optimum transmission policies for battery limited
energy harvesting nodes. IEEE Trans. Wireless Commun., 11(3):1180–1189, Mar.
2012.
226
[94] K. Tutuncuoglu and A. Yener. Sum-rate optimal power policies for energy har-
vesting transmitters in an interference channel. J. Commun. Netw., 14(2):151–161,
Apr. 2012.
[95] K. Tutuncuoglu, A. Yener, and S. Ulukus. Optimum policies for an energy har-
vesting transmitter under energy storage losses. IEEE J. Sel. Areas Commun.,
33(3):467–481, Mar. 2015.
[96] S. Ulukus, A. Yener, E. Erkip, O. Simeone, M. Zorzi, P. Grover, and K. Huang.
Energy harvesting wireless communications: A review of recent advances. IEEE
J. Sel. Areas Commun., 33(3):360–381, Mar. 2015.
[97] V. T. Van, C. Yuen, and J. Li. Non-homogeneous distributed storage systems. In
Proc. IEEE Allerton, 2012.
[98] C. M. Vigorito, D. Ganesan, and A. G. Barto. Adaptive control of duty cycling in
energy-harvesting wireless sensor networks. In Proc. IEEE SECON, 2007.
[99] K. Wan, M. Ji, P. Piantanida, and D. Tuninetti. Caching in combination net-
works: Novel multicast message generation and delivery by leveraging the network
topology. arXiv:1710.06752, 2017.
[100] K. Wan, D. Tuninetti, M. Ji, and P. Piantanida. Fundamental limits of distributed
data shuffling. arXiv:1807.00056, 2018.
[101] K. Wan, D. Tuninetti, and P. Piantanida. On the optimality of uncoded cache
placement. In Proc. IEEE ITW, 2016.
227
[102] K. Wan, D. Tuninetti, and P. Piantanida. A novel index coding scheme and its
application to coded caching. arXiv:1702.07265, 2017.
[103] C.-Y. Wang, S. S. Bidokhti, and M. Wigger. Improved converses and gap-results
for coded caching. In Proc. IEEE ISIT, 2017.
[104] S. Wang, W. Li, X. Tian, and H. Liu. Coded caching with heterogenous cache
sizes. arXiv:1504.01123, 2015.
[105] Y.-P. Wei and S. Ulukus. Coded caching with multiple file requests. In Proc. IEEE
Allerton, 2017.
[106] F. Xu, M. Tao, and K. Liu. Fundamental tradeoff between storage and latency in
cache-aided wireless interference networks. IEEE Trans. Inf. Theory, 63(11):7464–
7491, Nov. 2017.
[107] J. Yang, O. Ozel, and S. Ulukus. Broadcasting with an energy harvesting recharge-
able transmitter. IEEE Trans. Wireless Commun., 11(2):571–583, Feb. 2012.
[108] J. Yang and S. Ulukus. Optimal packet scheduling in a multiple access channel with
energy harvesting transmitters. J. Commun. Netw., 14(2):140–150, Apr. 2012.
[109] J. Yang and S. Ulukus. Optimal packet scheduling in an energy harvesting com-
munication system. IEEE Trans. Commun., 60(1):220–230, Jan. 2012.
[110] Q. Yang and D. Gunduz. Coded caching and content delivery with heterogeneous
distortion requirements. IEEE Trans. Inf. Theory, 64(6):4347–4364, Jun. 2018.
228
[111] C. Yapar, K. Wan, R. F. Schaefer, and G. Caire. On the optimality of D2D coded
caching with uncoded cache placement and one-shot delivery. arXiv:1901.05921,
2019.
[112] Q. Yu, M. A. Maddah-Ali, and A. S. Avestimehr. The exact rate-memory tradeoff
for caching with uncoded prefetching. arXiv:1609.07817, 2016.
[113] Q. Yu, M. A. Maddah-Ali, and A. S. Avestimehr. Characterizing the rate-memory
tradeoff in cache networks within a factor of 2. arXiv:1702.04563, 2017.
[114] Q. Yu, M. A. Maddah-Ali, and A. S. Avestimehr. The exact rate-memory tradeoff
for caching with uncoded prefetching. IEEE Trans. Inf. Theory, 64(2):1281–1296,
Feb. 2018.
[115] A. A. Zewail and A. Yener. Fundamental limits of secure device-to-device coded
caching. In Proc. IEEE Asilomar, 2016.
[116] A. A. Zewail and A. Yener. Combination networks with or without secrecy con-
straints: The impact of caching relays. IEEE Journ. Sel. Areas in Commun.,
36(6):1140–1152, Jun. 2018.
[117] A. A. Zewail and A. Yener. Device-to-device secure coded caching.
arXiv:1809.06844, 2018.
[118] J. Zhang, X. Lin, and X. Wang. Coded caching under arbitrary popularity distri-
butions. In Proc. IEEE ITA, 2015.
[119] Y. Zhang and N. Ansari. Green data centers. Handbook Green Inf. Commun. Syst.,
pages 331–352, Nov. 2012.
Vita
Abdelrahman M. Ibrahim received the B.Sc. in Electrical and Electronics Engi-neering from Alexandria University, Alexandria, Egypt, in 2011, and the M.Sc. degreein Wireless Communications from Nile University, Giza, Egypt, in 2014. He joined thePh.D. program at the Department of Electrical Engineering, Pennsylvania State Univer-sity, University Park, PA, in 2014. Since then, he has been a graduate research assistantat the Wireless Communications and Networking Laboratory (WCAN). His research in-terests include data storage systems, cache-aided networks, green communications, andresource allocation for wireless networks.
Selected Publications
• A. M. Ibrahim, A. A. Zewail, and A. Yener, Coded Placement for Systems withShared Caches, in Proceedings of the IEEE International Conference on Commu-nications, ICC’19, Shanghai, China, May 2019.
• A. M. Ibrahim, A. A. Zewail, and A. Yener, Coded Caching for HeterogeneousSystems: An Optimization Perspective, IEEE Transactions on Communications,accepted Apr. 2019.
• A. M. Ibrahim, A. A. Zewail, and A. Yener,, Benefits of Coded Placement forSystems with Heterogeneous Cache Sizes, in Proceedings of the 52nd AsilomarConference on Signals, Systems and Computers, Asilomar’18, Pacific Grove, CA,Oct. 2018.
• A. M. Ibrahim, A. A. Zewail and A. Yener, Device-to-Device Coded Caching withHeterogeneous Cache Sizes, in Proceedings of the IEEE International Conferenceon Communications, ICC’18, Kansas City, MO, May 2018.
• A. M. Ibrahim, A. A. Zewail and A. Yener, On Coded Caching with HeterogeneousDistortion Requirements, in Proceedings of the 2018 Information Theory and Ap-plications Workshop, ITA’18, San Diego, CA, Feb. 2018.
• A. M. Ibrahim, A. A. Zewail and A. Yener, Optimization of Heterogeneous CachingSystems with Rate Limited Links, in Proceedings of the IEEE International Con-ference on Communications, ICC’17, Paris, France, May 2017.
• A. M. Ibrahim, A. A. Zewail and A. Yener, Centralized Coded Caching with Het-erogeneous Cache Sizes, in Proceedings of the IEEE Wireless Communications andNetworking Conference, WCNC’17, San Francisco, CA, Mar. 2017.
• A. M. Ibrahim, A. A. Zewail, and A. Yener, Green Distributed Storage Using EnergyHarvesting Nodes, IEEE Journal on Selected Areas in Communications: Series onGreen Communications and Networking: Second Issue, 34(5), pp. 1477-1490, May2016.