In mobile social networks (MSN), with the aim of conserving limited resources, egotistic nodes might refuse to forward messages for other nodes. Different from previous work which mainly focuses on promoting cooperation between selfish nodes, we consider it from a more pragmatic perspective in this paper. Be specific, we regard selfishness as a native attribute of a system and allow nodes to exhibit selfish behavior in the process of message forwarding. Apparently, selfishness has a profound influence on routing efficiency, and thus novel mechanisms are necessary to improve routing performance when self-centered nodes are considered. We first put forward a stateless approach to measure encounter opportunities between nodes, and represent forwarding capabilities of nodes by combining the acquired encounter opportunities with node selfishness.
We then quantify receiving capabilities of nodes based on their available buffer size and energy. Taking both forwarding and receiving capabilities into account, we finally present a forwarding set mechanism, which could be deduced to a multiple knapsack problem to maximize the forwarding profit. Consequently, we take all the above studies into the design of a context-aware message forwarding algorithm (CAMF). Extensive trace-driven simulations show that CAMF outperforms other existing algorithms greatly. In fact, it achieves a surprisingly high routing performance while consumes low transmission cost and resource in MSN.