A Software-Defined Device-to-Device Communication Architecture for Public Safety Applications in 5G Networks