248
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 Fulfillment of the Requirements for the Degree of Doctor of Philosophy August 2019

DATA STORAGE AND ENERGY MANAGEMENT IN EMERGING …

  • 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}

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)

206

which implies

H(

S:k 6∈S, j∈S

W(j)

dk,S

∣{Xj→T}T :k∈T

, Zk

)

= 0,∀j 6= k. (F.7)

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.