The index coding problem provides a simple yet rich model for several important engineering tasks such as satellite communication, content broadcasting, distributed caching, device-to-device relaying, and interference management. This monograph provides a broad overview of this fascinating subject, focusing on the simplest form of multiple-unicast index coding. The main objective in studying the index coding problem are to characterize the capacity...