Index coding [1]}, [2]} studies the communication problem where a server broadcasts messages to multiple receivers with side information via a noiseless channel.
In the classic multiple-unicast setup of index coding, the server aims at delivering each message to one unique receiver. That is, there is a bijective function between the set of messages and the set of receivers, and each receiver needs to be able to decode its corresponding message based on the broadcast codeword and its own side information.
Roughly speaking, the objective of index coding is to maximize the amount of information can be delivered to the receivers per channel use. For an excellent survey on index coding, see [3]}.
