This book provides an in-depth discussion on how to efficiently manage resources of heterogeneous wireless networks and how to design resource allocation algorithms to suit real world conditions. Efficiently managing resources of the networks is more crucial now, than ever before, to meet users' rapidly increasing demand for higher data rates, better quality-of-service (QoS) and seamless coverage. Some of the techniques that can be incorporated within heterogeneous wireless networks to achieve this objective are interworking of the networks, user multi-homing and device-to-device (D2D) communication. Designing resource allocation algorithms to suit real world conditions is also important, as the algorithms should be deployable and perform well in real networks. For example, two of the conditions considered in this book are resource allocation intervals of different networks are different and small cell base stations have limited computational capacity. To address the first condition, resource allocation algorithms for interworking systems are designed to allocate resources of different networks at different time-scales. To address the second condition, resource allocation algorithms are designed to be able to run at cloud computing servers. More of such conditions, algorithms designed to suit these conditions, modeling techniques for various networks and performance analysis of the algorithms are discussed in the book. This book concludes with a discussion on the future research directions on the related fields of study. Advanced-level students focused on communication and networking will use this book as a study guide. Researchers and experts in the fields of networking, converged networks, small-cell networks, resource management, and interference management, as well as consultants working in network planning and optimization and managers, executives and network architects working in the networking industry will also find this book useful as a reference.