A Distributed Truthful Auction Mechanism for Task Allocation in Mobile Cloud Computing