Integrating Device-to-Device Communications in 5G Cellular Networks