Fair resource allocation for device-to-device communications in wireless cellular networks | Synapse