This book provides comprehensive coverage of the major aspects in designing, implementing, and deploying wireless sensor networks by discussing present research on WSNs and their applications in various disciplines. It familiarizes readers with the current state of WSNs and how such networks can be improved to achieve effectiveness and efficiency. It starts with a detailed introduction of wireless sensor networks and their applications and proceeds with layered architecture of WSNs. It also addresses prominent issues such as mobility, heterogeneity, fault-tolerance, intermittent connectivity, and cross layer optimization along with a number of existing solutions to stimulate future research.