The MAN Scheme at a Glance

The MAN Scheme on One Page

Before we dive into proofs, here is the entire Maddah-Ali–Niesen scheme in one page. It works when t=KM/Nt = K M/ N is an integer (non-integer tt is handled by memory sharing, Β§2.5).

Placement (off-peak). Split each file WnW_n into (Kt)\binom{K}{t} equal-sized subfiles, one per tt-subset of [K][K]: Wnβ€…β€Š=β€…β€Š(Wn,S)SβŠ†[K],β€‰βˆ£S∣=t.W_n \;=\; (W_{n,\mathcal{S}})_{\mathcal{S} \subseteq [K],\, |\mathcal{S}| = t}. Each subfile has size F/(Kt)F/\binom{K}{t} bits. Place subfile Wn,SW_{n,\mathcal{S}} in the cache of user kk if and only if k∈Sk \in \mathcal{S}.

Delivery (peak). For each (t+1)(t+1)-subset Sβ€²βŠ†[K]\mathcal{S}' \subseteq [K], send the coded message XSβ€²β€…β€Š=β€…β€Šβ¨k∈Sβ€²Wdk,Sβ€²βˆ–{k}.X_{\mathcal{S}'} \;=\; \bigoplus_{k \in \mathcal{S}'} W_{d_k, \mathcal{S}' \setminus \{k\}}. There are (Kt+1)\binom{K}{t+1} such messages, each of size F/(Kt)F/\binom{K}{t}.

Rate. RMANβ€…β€Š=β€…β€Š(Kt+1)(Kt)β€…β€Š=β€…β€ŠKβˆ’tt+1β€…β€Š=β€…β€ŠKβ‹…1βˆ’M/N1+KM/N.R_{\text{MAN}} \;=\; \frac{\binom{K}{t+1}}{\binom{K}{t}} \;=\; \frac{K - t}{t + 1} \;=\; K\cdot \frac{1 - M/N}{1 + K M/N}.

That is the entire scheme. The rest of this chapter spells out why it works and verifies the claims.

Definition:

The Maddah-Ali–Niesen (MAN) Scheme

Fix KK, NN, MM with t=KM/N∈{0,1,…,K}t = K M/N \in \{0, 1, \ldots, K\}. The Maddah-Ali–Niesen (MAN) scheme consists of the following placement and delivery algorithms.

Placement. Each file WnW_n is split into (Kt)\binom{K}{t} subfiles of equal size F/(Kt)F/\binom{K}{t}, indexed by tt-subsets SβŠ†[K]\mathcal{S} \subseteq [K]. The cache of user kk is Zkβ€…β€Š=β€…β€Š{ Wn,S : n∈[N],β€…β€ŠSβŠ†[K],β€…β€Šβˆ£S∣=t,β€…β€Šk∈S }.\mathcal{Z}_{k} \;=\; \{\, W_{n,\mathcal{S}} \,:\, n \in [N],\; \mathcal{S} \subseteq [K],\; |\mathcal{S}| = t,\; k \in \mathcal{S} \,\}. That is, user kk holds every subfile whose index set contains kk.

Delivery. On demand vector d∈[N]K\mathbf{d} \in [N]^K, for every (t+1)(t+1)-subset Sβ€²βŠ†[K]\mathcal{S}' \subseteq [K], the server broadcasts XSβ€²β€…β€Š=β€…β€Šβ¨k∈Sβ€²Wdk,β€…β€ŠSβ€²βˆ–{k}.X_{\mathcal{S}'} \;=\; \bigoplus_{k \in \mathcal{S}'} W_{d_k,\; \mathcal{S}' \setminus \{k\}}. The XOR is over F2F/(Kt)\mathbb{F}_2^{F/\binom{K}{t}} (bitwise).

Key Takeaway

Each coded message XSβ€²X_{\mathcal{S}'} simultaneously serves exactly t+1t + 1 users β€” namely all k∈Sβ€²k \in \mathcal{S}'. For each k∈Sβ€²k \in \mathcal{S}', user kk can recover Wdk,Sβ€²βˆ–{k}W_{d_k, \mathcal{S}' \setminus \{k\}} because every other summand Wdj,Sβ€²βˆ–{j}W_{d_j, \mathcal{S}' \setminus \{j\}} (with jβ‰ kj \neq k) is already in user kk's cache (since k∈Sβ€²βˆ–{j}k \in \mathcal{S}' \setminus \{j\}). This is the coded multicasting gain in its purest form.

MAN Placement (K=3, t=1)

For K=3K=3, t=1t=1: each file is split into (31)=3\binom{3}{1} = 3 subfiles Wn,{1},Wn,{2},Wn,{3}W_{n,\{1\}}, W_{n,\{2\}}, W_{n,\{3\}}. User kk caches exactly the subfiles indexed by subsets containing kk β€” here, a single subfile per file. Per-user storage: Nβ‹…1/3=MN \cdot 1/3 = M files' worth.

MAN Delivery β€” One XOR Serves t+1t+1 Users

For demands d=(1,2,3)d = (1, 2, 3) on K=3K=3, t=1t=1: three XOR messages, one per 2-subset of [3][3]. Each message uses bits that the two targeted users already have in their caches, so the single message simultaneously delivers one subfile to each of the two.

Example: Walkthrough: K=3K = 3, t=1t = 1, N=2N = 2 Files

Take K=3K = 3, N=2N = 2, M=2/3M = 2/3 (so t=KM/N=1t = KM/N = 1). Execute the MAN scheme for demand d=(1,2,2)\mathbf{d} = (1, 2, 2).

Placement Structure β€” Which Subfile Goes to Which User?

Visualize the MAN placement as a heatmap: rows are subfiles Wn,SW_{n,\mathcal{S}} (indexed by tt-subsets S\mathcal{S} of [K][K]), columns are users. A filled cell means subfile Wn,SW_{n,\mathcal{S}} is placed in user kk's cache. Each row has exactly tt filled cells (subfile in tt caches); each column has (Kβˆ’1tβˆ’1)\binom{K-1}{t-1} filled cells (user kk holds that many subfiles per file).

Parameters
4
2

MAN subfile

A subfile Wn,SW_{n,\mathcal{S}} of file WnW_n indexed by a tt-subset SβŠ†[K]\mathcal{S} \subseteq [K]. Every subfile has equal size F/(Kt)F/\binom{K}{t} bits, and subfile Wn,SW_{n,\mathcal{S}} is stored in the caches of exactly the users k∈Sk \in \mathcal{S}.

Related: Coded multicasting

Coded multicasting

The delivery-phase technique of sending a single XOR-coded message XSβ€²X_{\mathcal{S}'} that simultaneously satisfies t+1t+1 users, one per element of Sβ€²\mathcal{S}'. This is the core combinatorial gain of the MAN scheme, distinguishing it from uncoded delivery.

Related: MAN subfile, Coded caching gain

Coded caching gain

The multiplicative factor (1+t)βˆ’1(1 + t)^{-1} by which the MAN scheme's delivery rate is smaller than the uncoded rate K(1βˆ’M/N)K(1-M/N). For t=KM/Nt = KM/N large, the gain is unbounded.

Related: Coded multicasting