Incentives to collaborate

In cases of mobile devices themselves acting as resource providers as discussed in Section 3.2 and in works such as Hyrax [14], the participating devices need to have incentives as to ‘loaning’ their resources. Furthermore, there need to be mechanisms to prevent ‘free riding’.
In [12], users are enticed to participate in sharing their mobile resources by ‘common goals’. If many users need to execute the same task, it can be partitioned so that each user only has to do a small part. The result of the task will be shared among all the participants. For example, consider the case of a group of people performing an activity together, such as visiting a museum. Say someone is interested in translating a foreign text on an exhibit, but his/her phone does not possess the capabilities or resources to process such a task. Connecting to a remote server via the Internet would mean paying for data roaming. His/her solution is to collaborate with other people in the same group who would also be interested in translating the aforementioned text. The authors argue that people sharing the same location are also likely to share common objectives, thereby providing them with an incentive to share their resources.
For the same kind of collaborative cloud computing, monetary incentives can also be considered in the means of micropayment schemes as discussed in [69] and [70]. In [71], the use of monetary and social incentives for mobile distributed systems based on opportunistic networks have been discussed. Their focus is on message transmissions in delay tolerant networks (DTN) formed by typical mobile devices. The monetary incentives are proposed to be implemented in the form of prioritizing the payload in the order of importance. Thus, a selfish mobile host will only relay a message with a certain priority or higher since it implies the sender is willing to pay a price for successful delivery. The authors argue that, as the mobile hosts become more and more selfish, the delivery rate of high priority messages become higher while the low priority message delivery rate slowly decreases. However, this result depends on the high to low priority ratio as well, since if all messages have a high priority, there will be no discrimination.
The social incentives are based on the premise that even a selfish host will have a set of social relationships, and hence, will not display the same behavior towards all the other hosts. The authors surmise that since the selfish host will also need to send messages using other hosts at times, it is in the selfish host’s interest not to ask for monetary payment from hosts in its work group/community. They also implemented a simulation where each host records encounters with other hosts. Whenever a selfish host receives a message from another host, it refers to these records and calculates the percentage of meeting days, and the standard deviation of the daily meetings. Based on this, the selfish hosts display an altruistic behavior towards hosts they meet often, and the authors show that these hosts are better off than the hosts who are always selfish.
Other methods include enforcement schemes employed in peer-to-peer file sharing systems to control free riding [72].

4.2.2. Presentation and usability issues

Although there is lack of focus in this issue in mobile cloud computing research, presentation in the user interface does pose a valid challenge. This has been frequently discussed in mobile computing research [73][74][75] and [76], and lessons can be drawn from these to apply for mobile clouds as well.
User interface issues in mobile computing. Mobile devices span a large number of heterogeneous platforms. To design and develop separate user interfaces (UIs) for each and every type of device would be highly inconvenient and unrealistic for the UI developers  [74].
Since the display area of a mobile device is small, which information and the way to present it to the user is a problem. Applications designed for mobiles may interact differently with users from normal desktops, for example, less data entry, and using popup menus to conserve the meager screen space [75].
Furthermore, user interaction methods with the application may depend on the user’s context such as location, bandwidth and remaining energy [76].
In addition, users of mobile cloud computing frameworks would also need some user level controls in the interface specific mobile clouds. For example, users may need to specify constraints, select from available surrogates, define their priorities, and deal with cost negotiation.

4.3. Service and application level issues

Service and application level issues relate to the factors concerned with performance measurements of the system, and the QoS of the system. For example, in what ways do mobile cloud computing systems ensure availability? What are the fault-tolerance (FT) mechanisms employed to ensure smooth execution and uninterrupted service? Cloud APIs providing libraries to support cloud application development for mobiles are also discussed.