On Pliable Index Coding

Shanuja Sasi, B. Sundar Rajan

I Preliminaries

In classical Index Coding Problem (ICP) , there is a single server having a set of PP messages and is connected to a broadcast channel to a set of NN receivers or clients. Each client knows some subset of PP messages apriori which is termed as the side information and demands some other subset of messages which it doesn’t have. The aim is to minimize the number of broadcast transmissions by the server such that it satisfies the requirements of each client. The index coding problem is a distributed source coding problem with side information that has received considerable attention over the past decade. It was motivated by applications such as audio and video-on-demand, in satellite communication, in coded caching etc.

A new variant of the index coding problem was formulated in , which is termed as Pliable Index Coding Problem (PICOD). In PICOD, the setting is same as that of ICP, i.e., there will be a server holding a set of PP messages and a set of NN clients or receivers. Each client knows some subset of PP messages apriori. What makes PICOD different from ICP is that in ICP each client demands a specific message from the server, while in PICOD each client is satisfied if it receives any message it does not have. The objective is to find the minimum number of coded transmissions that the server can make over a noiseless channel so that requirements of all the clients are met. It is motivated from its applications such as in Internet searching. For example, we are searching for latest news and we already have some information with us. We are happy if we get any additional news that we do not have, with minimum delay. Here, we are not specifying the news. This is exactly what happens in PICOD. PICOD(gg) represents a pliable index coding problem where the clients are satisfied it they receive any gg messages that they do not have.

In , an upper bound on the number of broadcast messages for solving any instance of PICOD(g) is obtained. In general, finding the optimal linear code for PICOD is NP-Hard, which is proved in . It is proved that there is an exponential improvement over the worst case scenario in index coding when the cardinalities of side information set are equal. A polynomial time heuristic approximation algorithms for solving PICOD(gg) is also provided.

In this paper we deal with two extreme cases of PICOD. One is where each client gets exactly one message, i.e, no clients get more than one message they have demanded. This has got application in media service providers where we actually pay for the movies. Service providers have a set of movies with them and the clients demands some movies. Clients pay for only certain number of movies, say one movie. Clients are satisfied if they get any movie they do not have. There is a restriction from the service providers’ side as the clients have paid for only one movie. So they have a restriction that they can provide only one movie to each client. The clients are satisfied if they get any movie they have demanded.

The other extreme case is where with minimum delay the clients get maximum number of messages. Consider the above mentioned example where we are searching for latest news and we already have some information with us. In general case for PICOD we are happy if we get any additional news that we do not have with minimum delay. Here we are taking the case where we get maximum amount of information with the same delay.

Let M={x0,x1,...,xP−1}\mathcal{M}=\{x_{0},x_{1},...,x_{P-1}\} be the set of all messages that the server holds and R={R0,R1,...,RN−1}\mathcal{R}=\{\mathcal{R}_{0},\mathcal{R}_{1},...,\mathcal{R}_{N-1}\} be the set of all clients or receivers. Throughout this paper, the message indices are taken modulo PP. In this paper we consider a class of PICOD where each client has any kk consecutive messages as side information. The set of all possible side information patterns is K={K0,K1,...,KP−1}\mathcal{K}=\{\mathcal{K}_{0},\mathcal{K}_{1},...,\mathcal{K}_{P-1}\}, where Ki={xi−1,xi−2,xi−3,...,xi−k}\mathcal{K}_{i}=\{x_{i-1},x_{i-2},x_{i-3},...,x_{i-k}\}, for each i∈[0,P−1]i\in[0,P-1]. Let Wi=M\Ki\mathcal{W}_{i}=\mathcal{M}\backslash\mathcal{K}_{i}.

Without loss of generality, throughout this paper the clients with same set of side information are treated alike. So effectively there are only PP clients since the total number of side information patterns possible is PP. Throughout this paper when we refer to clients, it is basically effective clients.

Let Ci\mathcal{C}_{i} represent the clients whose side information set is Ki\mathcal{K}_{i}, where i∈[0,P−1]i\in[0,P-1]. Let C={C0,C1,...,CP−1}\mathcal{C}=\{\mathcal{C}_{0},\mathcal{C}_{1},...,\mathcal{C}_{P-1}\}, which represent the effective clients.

(1) Each client gets exactly one message.

(2) Total number of messages decoded by the effective clients is maximized.

Another variant of index coding is Constrained Pliable Index Coding. In c-Constrained Pliable Index Coding, each message is decoded by atmost cc clients who demand that message. We put a restriction on the number of clients who can a decode a message. In this paper, we discuss about a class of PICOD where each client has any kk consecutive messages as side information, under a c-constraint, i.e., each message is decoded by atmost c clients demanding that message.

Notations: [a,b][a,b] represent the set of integers {a,a+1,a+2,...,b}\{a,a+1,a+2,...,b\}. ⌈a⌉\lceil a\rceil represent the integer greater than or equal to aa. ⌊a⌋\lfloor a\rfloor represent the integer less than or equal to aa.

The contributions in this paper is summarized as follows.

We provide index code for a class of PICOD where side information is consecutive and each client gets exactly one desired message in Section II.

In Section III, we give index code for a class of PICOD where total number of messages decoded by the effective clients is maximized.

In Section III, we prove that the index code provided for a class of PICOD, where total number of messages decoded by the effective clients is maximized, is optimal.

We discuss about c-constrained pliable index coding with consecutive side information. We provide index code for such cases in Section IV.

II Each client gets exactly one message.

In this section we will provide index code for the first extreme case where each client gets exactly one message. We will prove that for some values of kk, there doesn’t exist a case where each client gets exactly one message, i.e, atleast one client gets more than one message whatever be the coded transmission.

Case 1: For 3≤k<⌈P2⌉3\leq k<\lceil\frac{P}{2}\rceil.

With ⌈P−k−1k−1⌉\lceil\frac{P-k-1}{k-1}\rceil number of transmissions, each client gets exactly one message if 3≤k<⌈P2⌉3\leq k<\lceil\frac{P}{2}\rceil. The code construction is as follows.

Let T=⌈P−k−1k−1⌉T=\lceil\frac{P-k-1}{k-1}\rceil. Let y=P−2k−1y=P-2k-1 and r=yr=y mod (k−1)(k-1).

A coded symbol is obtained by XOR of the messages xix_{i} and xi+P−kx_{i+P-k}, i.e,

If T≥3T\geq 3, do the following. Let V2′=k−1V^{\prime}_{2}=k-1 and V2′′=V2′+1V^{\prime\prime}_{2}=V^{\prime}_{2}+1. For each l∈[3,T−1]l\in[3,T-1], let

For each j∈[2,T−1]j\in[2,T-1], a coded symbol wjw_{j} is obtained, where

Let VT(1)=kV_{T}^{(1)}=k if T=2T=2, VT(1)=VT−1′′+k−1V_{T}^{(1)}=V^{\prime\prime}_{T-1}+k-1 if T≥3T\geq 3. For each s∈[2,k−r]s\in[2,k-r], let

. A coded symbol wTw_{T} is obtained, where

Table I illustrates the message decoded by each client and the coded symbol from which it has decoded that message. If XOR of more than one unknown message (to a client) is present in a coded symbol, then that client cannot decode any message from that coded symbols. For every client, in all other coded symbols except the one from which it decoded one message (as illustrated in Table I), XOR of more than one unknown message (to a client) is present (It is illustrated in table II). Hence each client cannot retrieve more than one message.

Let P=7P=7 and k=3k=3. Here T=⌈P−k−1k−1⌉=2.T=\lceil\frac{P-k-1}{k-1}\rceil=2. Hence two transmissions are required. Here y=P−2k−2=0y=P-2k-2=0 and r=0r=0. Following the procedures as in Construction 1:

A coded symbol w1w_{1} is obtained where w1=x3⊕x0w_{1}=x_{3}\oplus x_{0}.

k−r=3k-r=3. Hence VT(1)=3,VT(2)=2,VT(3)=1V_{T}^{(1)}=3,V_{T}^{(2)}=2,V_{T}^{(3)}=1, since T=2T=2. A coded symbol w2w_{2} is obtained where w2=x4⊕x5⊕x6w_{2}=x_{4}\oplus x_{5}\oplus x_{6}.

{C4,C5,C6}\{\mathcal{C}_{4},\mathcal{C}_{5},\mathcal{C}_{6}\} get x0x_{0} and the clients in {C1,C2,C3}\{\mathcal{C}_{1},\mathcal{C}_{2},\mathcal{C}_{3}\} get x3x_{3} from w1w_{1}. The clients in {C0}\{\mathcal{C}_{0}\} get x1x_{1} from w2w_{2}. Since x4⊕x5x_{4}\oplus x_{5} is present in w2w_{2}, the clients in {C2,C3,C4}\{\mathcal{C}_{2},\mathcal{C}_{3},\mathcal{C}_{4}\} cannot retrieve any message from w2w_{2} as x4x_{4} and x5x_{5} are not present as side information with those clients. Similarly the clients in {C5,C6}\{\mathcal{C}_{5},\mathcal{C}_{6}\} cannot retrieve any message from w2w_{2} since x1⊕x6x_{1}\oplus x_{6} is present in w2w_{2}. The clients in C1\mathcal{C}_{1} cannot get any message from w2w_{2} as x1⊕x4x_{1}\oplus x_{4} is present in w2w_{2} while the clients in C0\mathcal{C}_{0} cannot get any message from w1w_{1} as x3⊕x0x_{3}\oplus x_{0} is present in w1w_{1}. Hence all the clients get exactly one message.

Case 2: ⌊P2⌋<k≤P−4\lfloor\frac{P}{2}\rfloor<k\leq P-4.

Let us take the case where ⌊P2⌋<k≤P−4\lfloor\frac{P}{2}\rfloor<k\leq P-4. If PP is divisible by P−kP-k, with one coded transmission each client gets one message it doesn’t have. For all other values of kk, two transmissions are required. The code construction is given below for such cases.

If q=0q=0, a coded symbol w1w_{1} is obtained, where

Two coded symbols w1w_{1} and w2w_{2} are obtained, where

Two coded symbols w1w_{1} and w2w_{2} are obtained, where

Table III and V illustrate the message decoded by each client and the coded symbol from which it is decoded for q=0,1q=0,1 and q≥2q\geq 2 respectively. It is illustrated in table IV and VI that each client doesn’t get more than one message for q=1q=1 and q≥2q\geq 2 respectively (for the same reason as in Case 1).

Let P=9P=9 and k=5k=5. Here t=2t=2, q=1q=1. Following the procedure as in Construction 1,

A coded symbol w1w_{1} is obtained where w1=x1⊕x5⊕x0w_{1}=x_{1}\oplus x_{5}\oplus x_{0}.

A coded symbol w2w_{2} is obtained where w2=x2⊕x4⊕x6⊕x7w_{2}=x_{2}\oplus x_{4}\oplus x_{6}\oplus x_{7}.

The clients in {C2,C3,C4,C5}\{\mathcal{C}_{2},\mathcal{C}_{3},\mathcal{C}_{4},\mathcal{C}_{5}\} get x7x_{7}, those in {C1}\{\mathcal{C}_{1}\} get x1x_{1} and those in {C6}\{\mathcal{C}_{6}\} get x0x_{0} from w1w_{1}. The clients in {C7}\{\mathcal{C}_{7}\} get x7x_{7} while the clients in {C8,C0}\{\mathcal{C}_{8},\mathcal{C}_{0}\} get x2x_{2} from w2w_{2}. Since x2⊕x4x_{2}\oplus x_{4} is present in w2w_{2}, the clients in {C1,C2}\{\mathcal{C}_{1},\mathcal{C}_{2}\} cannot retrieve any message from w2w_{2}. Similarly the clients in {C3,C4}\{\mathcal{C}_{3},\mathcal{C}_{4}\} cannot retrieve any message from w2w_{2} since x4⊕x6x_{4}\oplus x_{6} is present in w2w_{2}. The clients in {C5,C6}\{\mathcal{C}_{5},\mathcal{C}_{6}\} cannot get any message from w2w_{2} as x6⊕x7x_{6}\oplus x_{7} is present in w2w_{2} while the clients in {C7,C8,C0}\{\mathcal{C}_{7},\mathcal{C}_{8},\mathcal{C}_{0}\} cannot get any message from w1w_{1} as x1⊕x0x_{1}\oplus x_{0} is present in w1w_{1}. Hence all the clients get exactly one message.

For k=1k=1 and PP even, the total number of transmission required is P2\frac{P}{2}. For k=P−2k=P-2 and PP even, with just one coded transmission each client gets one message not in the side information set while for k=P−3k=P-3 and PP even, two transmissions are required. It is trivial for k=P−1k=P-1, where the coded transmission is the sum of all messages the server has. When it comes to k=2,k=2, for different values of qq, the number of transmissions required also varies. The code construction for all such cases is given below.

Let P=t(P−k)+qP=t(P-k)+q if k≥⌊P2⌋k\geq\lfloor\frac{P}{2}\rfloor. If k=2,k=2, then let P=4t+qP=4t+q.

For k=P−1k=P-1, a coded symbol w1w_{1} is obtained, where

For k=1k=1 and PP even, a coded symbol wjw_{j} is obtained for each j∈[1,P2]j\in[1,\frac{P}{2}], where

If q=0q=0, tt coded symbols are obtained, i.e, for each g=[0,t−1]g=[0,t-1],

If q=1,t+1q=1,t+1 coded symbols are obtained, i.e,

If q=2,t+1q=2,t+1 coded symbols are obtained, i.e,

If q=2,t+2q=2,t+2 coded symbols are obtained, i.e,

For k=P−2k=P-2 and PP even, a coded symbol w1w_{1} is obtained, where

For k=P−3k=P-3 and PP odd, if q≠0q\neq 0, two coded symbols are obtained, i.e,

Else if q=0q=0, a coded symbol w1w_{1} is obtained, where

For k=P−3k=P-3 and PP even, if q≠0q\neq 0, two coded symbols are obtained, i.e,

Else if q=0q=0, a coded symbol w1w_{1} is obtained, where

Table VII illustrates the message decoded by each client for some values of kk. It is illustrated in table VIII that each client doesn’t get more than one message for those values of kk (for the same reason as in Case 1).

Let us take an example where k=2k=2 and PP even. Let P=4P=4 and k=2k=2. Let i=1i=1. The coded symbol obtained is w1=x0⊕x2w_{1}=x_{0}\oplus x_{2}. The clients in {C0,C3}\{\mathcal{C}_{0},\mathcal{C}_{3}\} get x0x_{0} and those in {C2,C3}\{\mathcal{C}_{2},\mathcal{C}_{3}\} get x3x_{3} from w1w_{1}.

Consider an example where k=P−3k=P-3 and PP even. Let P=8P=8 and k=5k=5. The coded symbols obtained are w1=x0⊕x2⊕x4⊕x6w_{1}=x_{0}\oplus x_{2}\oplus x_{4}\oplus x_{6} and w2=x1⊕x3⊕x5⊕x7w_{2}=x_{1}\oplus x_{3}\oplus x_{5}\oplus x_{7}. The clients C0\mathcal{C}_{0} gets x1x_{1}, C2\mathcal{C}_{2} gets x3x_{3}, C4\mathcal{C}_{4} gets x5x_{5} and C6\mathcal{C}_{6} gets x7x_{7} from w2w_{2}. The clients C1\mathcal{C}_{1} gets x2x_{2}, C3\mathcal{C}_{3} gets x4x_{4}, C5\mathcal{C}_{5} gets x6x_{6} and C7\mathcal{C}_{7} gets x8x_{8} from w1w_{1}. None of the clients {Cj}\{\mathcal{C}_{j}\}, where j∈{0,2,4,6}j\in\{0,2,4,6\} can decode any message from w1w_{1} as xj⊕xj+2x_{j}\oplus x_{j+2} is present in w1w_{1}, where xjx_{j} and xj+2x_{j+2} are not available as side information with the client {Cj}\{\mathcal{C}_{j}\}. Similarly none of the clients {Cj}\{\mathcal{C}_{j}\}, where j∈{1,3,5,7}j\in\{1,3,5,7\} can decode any message from w2w_{2} as xj⊕xj+2x_{j}\oplus x_{j+2} is present in w2w_{2}. Hence each client can decode only one message.

We will show that for both the cases - k=1k=1 and k=P−2k=P-2, where PP is odd, there doesn’t exist any code where each client gets exactly one message.

k=1k=1 and odd PP: If the coded symbol transmitted has more than two XORed messages, none of the clients can decode any message from that since the cardinality of side information is one. Hence coded symbols transmitted can have atmost two XORed messages.

Let us take the case where we initially transmit some message uncoded. If we transmit any message xix_{i} uncoded, all other clients except Ci+1\mathcal{C}_{i+1} get xix_{i} as they do not have xix_{i} as side information. Since the clients in Ci+1\mathcal{C}_{i+1} have only one side information xix_{i}, to retrieve any message they do not have, we need to transmit either xjx_{j} or xi⊕xjx_{i}\oplus x_{j}, for some xj∈M\xix_{j}\in\mathcal{M}\backslash x_{i}. All other clients except Cj+1\mathcal{C}_{j+1} get xjx_{j} as they do not have xjx_{j} as side information if we transmit xjx_{j}. Hence some clients get both xix_{i} and xjx_{j}. So this is ruled out. If we transmit xi⊕xjx_{i}\oplus x_{j}, since xix_{i} is already transmitted, all the clients can decode xjx_{j} from this. Hence this is also ruled out. In short, we cannot transmit any messages uncoded.

The only possibility left is to transmit XOR of two messages. If we transmit XOR of two messages, say xi1⊕xj1x_{i_{1}}\oplus x_{j_{1}}, the clients in Ci1+1\mathcal{C}_{i_{1}+1} can decode xj1x_{j_{1}} and the clients in Cj1+1\mathcal{C}_{j_{1}+1} can decode xi1x_{i_{1}}. None of the other clients can decode anything. Following that if we transmit some message xi2x_{i_{2}} uncoded, all the clients except Ci2+1\mathcal{C}_{i_{2}+1} get xi2x_{i_{2}} (Clients in Ci2+1\mathcal{C}_{i_{2}+1} already have this as side information). Hence either the clients in Ci1+1\mathcal{C}_{i_{1}+1} or the clients in Cj1+1\mathcal{C}_{j_{1}+1} can decode xi2x_{i_{2}}. So we cannot transmit any messages uncoded and instead we transmit xi2⊕xj2x_{i_{2}}\oplus x_{j_{2}}. If xi2x_{i_{2}} is same as xi1x_{i_{1}}, the clients in Ci1+1\mathcal{C}_{i_{1}+1} will get xj2x_{j_{2}} apart from xj1x_{j_{1}}. Similarly Cj1+1\mathcal{C}_{j_{1}+1} will get xj2x_{j_{2}} apart from xi1x_{i_{1}} if xi2x_{i_{2}} is same as xj1x_{j_{1}}, Cj1+1\mathcal{C}_{j_{1}+1} will get xi2x_{i_{2}} apart from xi1x_{i_{1}} if xj2x_{j_{2}} is same as xj1x_{j_{1}} and Ci1+1\mathcal{C}_{i_{1}+1} will get xi2x_{i_{2}} apart from xj1x_{j_{1}} if xj2x_{j_{2}} is same as xi1x_{i_{1}}. Hence xi1,xi2,xj1x_{i_{1}},x_{i_{2}},x_{j_{1}} and xj2x_{j_{2}} are all different messages. Hence if we transmit xi2⊕xj2x_{i_{2}}\oplus x_{j_{2}}, the clients in Ci2+1\mathcal{C}_{i_{2}+1} can decode xj2x_{j_{2}} and the clients in Cj2+1\mathcal{C}_{j_{2}+1} can decode xi2x_{i_{2}}. We continue transmitting xi3⊕xj3,xi4⊕xj4,...,xiP−12⊕xjP−12x_{i_{3}}\oplus x_{j_{3}},x_{i_{4}}\oplus x_{j_{4}},...,x_{i_{\frac{P-1}{2}}}\oplus x_{j_{\frac{P-1}{2}}}, where each of the messages are distinct. With these coded transmissions P−1P-1 set of clients in C\mathcal{C} are satisfied. There exists a set of clients Cir\mathcal{C}_{i_{r}} whose requirement is not met by those transmissions. The side information of those clients is xir−1=M\((⋃l=1P−12xil)∪(⋃l=1P−12xjl))x_{i_{r}-1}=\mathcal{M}\backslash((\bigcup_{l=1}^{\frac{P-1}{2}}x_{i_{l}})\cup(\bigcup_{l=1}^{\frac{P-1}{2}}x_{j_{l}})). Hence we need to transmit either xjx_{j} or xj⊕xir−1x_{j}\oplus x_{i_{r}-1}, where xj∈((⋃l=1P−12xil)∪(⋃l=1P−12xjl))x_{j}\in((\bigcup_{l=1}^{\frac{P-1}{2}}x_{i_{l}})\cup(\bigcup_{l=1}^{\frac{P-1}{2}}x_{j_{l}})). If we transmit xjx_{j} and if xj=xil,x_{j}=x_{i_{l}}, for some l∈[1,P−12]l\in[1,\frac{P-1}{2}], then the clients in Cil+1\mathcal{C}_{i_{l}+1} get xir+1x_{i_{r}+1} apart from xilx_{i_{l}} and if xj=xjl,x_{j}=x_{j_{l}}, for some l∈[1,P−12]l\in[1,\frac{P-1}{2}], then the clients in Cjl+1\mathcal{C}_{j_{l}+1} get xir+1x_{i_{r}+1} apart from xjlx_{j_{l}}. Hence we cannot transmit xjx_{j}. If we transmit xj⊕xir−1x_{j}\oplus x_{i_{r}-1} also, the above problem arises. Hence we cannot do that also.

To summarize, we cannot find any code such that all the clients get exactly one message.

k=P−2k=P-2 and PP odd: We randomly pick some message xi1x_{i_{1}}. It satisfies the requirements of the clients in Ci1−1\mathcal{C}_{i_{1}-1} and Ci1\mathcal{C}_{i_{1}}. In general a message xax_{a} satisfies the requirements of exactly two set of clients - Ca−1\mathcal{C}_{a-1} and Ca\mathcal{C}_{a}. Now we choose a message xi2x_{i_{2}} such that it is in the side information of Ci1−1\mathcal{C}_{i_{1}-1} and Ci1\mathcal{C}_{i_{1}}. The message xi2x_{i_{2}} satisfies the requirements of the clients Ci2−1\mathcal{C}_{i_{2}-1} and Ci2\mathcal{C}_{i_{2}}. We keep on choosing messages such that all the previously selected clients requirement is met even if we choose a pick a new message. We do this until no more messages can be picked. Assume rr messages are picked up, say xi1,xi2,...,xirx_{i_{1}},x_{i_{2}},...,x_{i_{r}}. If we XOR these rr messages and send, it satisfies the requirements of even number of clients - ⋃a=1r(Cia−1∪Cia)\bigcup_{a=1}^{r}(\mathcal{C}_{i_{a}-1}\cup\mathcal{C}_{i_{a}}). Since the cardinality of the set C\mathcal{C} is odd, there exists a set of clients Cl∉⋃a=1r(Cia−1∪Cia)\mathcal{C}_{l}\notin\bigcup_{a=1}^{r}(\mathcal{C}_{i_{a}-1}\cup\mathcal{C}_{i_{a}}). In order to satisfy the requirement of this set of clients, we need to transmit either xj1x_{j_{1}} or XOR of xj1x_{j_{1}} with some of the side information of the clients in Cl\mathcal{C}_{l}, where xj1∈{xil,xil+1}x_{j_{1}}\in\{x_{i_{l}},x_{i_{l}+1}\}. If we transmit xj1x_{j_{1}} and if xj1=xilx_{j_{1}}=x_{i_{l}}, the clients in Cil−1\mathcal{C}_{i_{l}-1} get xilx_{i_{l}} apart from xil−1x_{i_{l}-1}, since xil−1∈{xi1,xi2,...,xir}x_{i_{l}-1}\in\{x_{i_{1}},x_{i_{2}},...,x_{i_{r}}\}. If we transmit xj1x_{j_{1}} and if xj1=xil+1x_{j_{1}}=x_{i_{l}+1}, the clients in Cil+1\mathcal{C}_{i_{l}+1} get xil+1x_{i_{l}+1} apart from xil+2x_{i_{l}+2}, since xil+2∈{xi1,xi2,...,xir}x_{i_{l}+2}\in\{x_{i_{1}},x_{i_{2}},...,x_{i_{r}}\}. Hence we cannot transmit xj1x_{j_{1}} alone. Now, if we transmit XOR of xj1x_{j_{1}} with some of the side information of the clients in Cl\mathcal{C}_{l} also the same argument holds. Hence we cannot do that also. Hence it is not possible to find a code such that all the clients get exactly one message for this case.

II-B Optimality

In this section we provide the lower bound on the minimum number of scalar transmissions required for PICOD with consecutive side information.

For q=0q=0, with one transmission each client gets one message they have demanded, for any value of PP. The coded symbol is

. The client Cj\mathcal{C}_{j}, where j∈[(g)(P−k)+1,(g+1)(P−k)],g∈[0,t−1]j\in[(g)(P-k)+1,(g+1)(P-k)],g\in[0,t-1] gets x(g+1)(P−k)x_{(g+1)(P-k)} from w1w_{1}.

For q≠0q\neq 0, we will prove in the coming part that with one transmission it is not possible for all the clients to retrieve the message they demanded. One transmission implies either sending a message uncoded or sending one coded symbol. If we send some message xix_{i} uncoded, then the client Ci+1\mathcal{C}_{i+1} doesn’t get any message it doesn’t have. Hence we cannot send any message uncoded. Considering the transmission of a coded symbol. Let us assume that it is possible for all the clients to retrieve the messages they demanded with one coded transmission. Let us start building up such a coded symbol. Start with a random message xix_{i}. We cannot pick any of the messages in {xi+1,...,xi+P−k−1}\{x_{i+1},...,x_{i+P-k-1}\} to add to the coded symbol as the client Ci\mathcal{C}_{i} won’t be able to decode any message if we add any one of them. We have to pick xi+P−kx_{i+P-k}, otherwise the client Ci+1\mathcal{C}_{i+1} won’t be able to decode any message. Continuing the same argument we pick the messages xi+g(P−k)x_{i+g(P-k)}, where g∈[2,t−1]g\in[2,t-1]. Next we have to pick xi+t(P−k)x_{i+t(P-k)}, else the client Ci+(t−1)(P−k)+1\mathcal{C}_{i+(t-1)(P-k)+1} won’t be able to decode any message. But if we pick xi+t(P−k)x_{i+t(P-k)}, the client Ci+(t)(P−k)\mathcal{C}_{i+(t)(P-k)} won’t be able to decode any message as both xix_{i} and xi+t(P−k)x_{i+t(P-k)} will be there in the coded symbol and both are not available as side information. Hence with one coded transmission it is impossible for all the clients to decode the message they demanded. So minimum number of coded transmissions required is two.

Hence for the second extreme case discussed in this section, the code provided is optimal.

III Total number of messages decoded by effective clients is maximized.

In this section we will provide the code for the second extreme case where the effective clients get maximum number of messages.

Note: Any receiver Rj\mathcal{R}_{j} decodes atmost one message from any coded symbol wnw_{n} transmitted. If it can decode two messages from wnw_{n}, say xax_{a} and xbx_{b}, then both the messages must be wanted by Rj\mathcal{R}_{j} and both have to be there in wnw_{n}. Since XOR of xax_{a} and xbx_{b} is present in wnw_{n}, we cannot decode xax_{a} and xbx_{b} individually. Hence Rj\mathcal{R}_{j} can decode atmost one message from the coded symbol wnw_{n}.

So, from two coded symbols, a receiver can decode atmost two messages. Our objective is to find coded symbols, of optimal length, such that maximum receivers will get maximum messages from the coded symbols.

Let P=(P−k)t1+q1P=(P-k)t_{1}+q_{1} and k+q1=(P−k)t2+q2k+q_{1}=(P-k)t_{2}+q_{2}.

If q1=0,q_{1}=0, one coded symbol w1w_{1} is obtained, where

If q2=0q_{2}=0 or b=q2b=q_{2} two coded symbols w1w_{1} and w2w_{2} are obtained, where

If b=P−k−q2b=P-k-q_{2}, two coded symbols w1w_{1} and w2w_{2} are obtained, where w1w_{1} and w2w_{2} are given below.

Table IX illustrates the effective clients who get minimum number of messages with the coded transmissions. If q1=0q_{1}=0, then each client gets exactly one message from one coded transmission. If q2=0q_{2}=0, every client gets exactly two messages from the two coded transmission. For all other cases, from the two coded transmissions, P−bP-b number of effective clients get two messages. All other clients can decode only one message.

Let P=10,k=6P=10,k=6. Here, t1=2,q1=2,t2=2t_{1}=2,q_{1}=2,t_{2}=2 and q2=0q_{2}=0. b=q2=0b=q_{2}=0 Let i=0i=0. The coded symbols obtained are w1=x0⊕x4⊕x6w_{1}=x_{0}\oplus x_{4}\oplus x_{6} and w2=x0⊕x2⊕x6w_{2}=x_{0}\oplus x_{2}\oplus x_{6}. All the clients get two messages from the two coded transmissions.

IV Constrained Pliable Index Coding

In this section, we provide index code for a class of PICOD where each client has any kk consecutive messages as side information, under a c-constraint, i.e., each message is decoded by atmost c clients demanding that message. We consider the case where c≥kc\geq k.

For c≥kc\geq k, if P−k≤cP-k\leq c, then use the index code for the second extreme case given in the previous section.

For c≥kc\geq k, if P−k>cP-k>c, the code construction is as follows.. Let P−2k−1=kt+qP-2k-1=kt+q.

For even tt, ⌊t2⌋+2\lfloor\frac{t}{2}\rfloor+2 coded symbols are obtained, where

for each j=[0,⌊t2⌋]j=[0,\lfloor\frac{t}{2}\rfloor], a coded symbol wj+1=xi+2jk⊕xi+(2j+1)kw_{j+1}=x_{i+2jk}\oplus x_{i+(2j+1)k} is obtained.

for j=⌊t2⌋+1j=\lfloor\frac{t}{2}\rfloor+1, a coded symbol wj+1=xi+2jk⊕xi+(2j−1)k−1w_{j+1}=x_{i+2jk}\oplus x_{i+(2j-1)k-1} is obtained.

For odd tt, ⌊t2⌋+2\lfloor\frac{t}{2}\rfloor+2 coded symbols are obtained, where

for each j=[0,⌊t2⌋+1]j=[0,\lfloor\frac{t}{2}\rfloor+1], a coded symbol wj+1=xi+2jk⊕xi+(2j+1)kw_{j+1}=x_{i+2jk}\oplus x_{i+(2j+1)k} is obtained.

Let P=9,k=4P=9,k=4 and c=4c=4. P−2k−1=0P-2k-1=0. Hence t=0t=0. Let i=0i=0. The coded symbols obtained are w1=x0⊕x4w_{1}=x_{0}\oplus x_{4} and w2=x3⊕x8w_{2}=x_{3}\oplus x_{8}. With this transmissions, the message x3x_{3} is decoded by the clients {C0,C1,C2,C3}\{\mathcal{C}_{0},\mathcal{C}_{1},\mathcal{C}_{2},\mathcal{C}_{3}\}, the message x4x_{4} by {C4,C1,C2,C3}\{\mathcal{C}_{4},\mathcal{C}_{1},\mathcal{C}_{2},\mathcal{C}_{3}\}, the message x8x_{8} by {C4,C5,C6,C7}\{\mathcal{C}_{4},\mathcal{C}_{5},\mathcal{C}_{6},\mathcal{C}_{7}\} and the message x0x_{0} by {C5,C6,C7,C8}\{\mathcal{C}_{5},\mathcal{C}_{6},\mathcal{C}_{7},\mathcal{C}_{8}\}. Hence all the messages are decoded by four clients which is equal to cc.

V Conclusion

We provide index code for two extreme classes of PICOD - for the class where each client gets exactly one desired message and for a class where total number of messages decoded by the effective clients is maximized.

We also provide index code for c-constrained pliable index coding with consecutive side information.

Acknowledgment

This work was supported partly by the Science and Engineering Research Board (SERB) of Department of Science and Technology (DST), Government of India, through J. C. Bose National Fellowship to B. Sundar Rajan.

References