 Research
 Open Access
Nested gamebased computation offloading scheme for Mobile Cloud IoT systems
 Sungwook Kim^{1}Email author
https://doi.org/10.1186/s1363801504565
© Kim. 2015
 Received: 20 May 2015
 Accepted: 1 October 2015
 Published: 19 October 2015
Abstract
With an explosive growth of Mobile Cloud and Internet of Things (IoT) technologies, the Mobile Cloud IoT (MCIoT) concept has become a new trend for the future Internet. MCIoT paradigm extends the existing facility of computing process to different mobile applications executing in mobile and portable devices. In this research, we provide a new nested game model to design an effective MCIoT computation offloading algorithm. First, each mobile device determines the portion of remote offloading computation based on the Rubinstein game approach. Then, a computation resource in the cloud system is dynamically assigned for the requested offloading computation. Based on the nested game principle, our proposed scheme can approach an optimal solution for the offloading computation in the MCIoT system. The simulation results show that our gamebased method is effective in distributed IoT environments while supporting application executions timely and ubiquitously.
Keywords
 Mobile Cloud Computing
 Computation offloading
 Dynamic resource allocation
 Game theory
 Nested game
 Rubinstein game
 Internet of Things
1 Introduction
Recently, rapid technology development makes it possible for connecting various smart mobile devices together while providing more data interoperability methods for application purpose. Therefore, the diverse nature of applications has challenged communication and computation mechanisms to look beyond conventional applications for effective network policies, quality of service (QoS), and system performance. The Internet of Things (IoT) paradigm is based on intelligent and selfconfiguring mobile devices interconnected in a dynamic and global network infrastructure. It is enabling ubiquitous and pervasive computing scenarios in the real world [1, 2].
In the current decade, a growing number of researches have been conducted to acquire data ubiquitously, process data timely, and distribute data wirelessly in the IoT paradigm. To satisfy this requirement, mobile devices should have the capacity to handle the required processing and computation work. Unfortunately, the desire for rich, powerful applications on mobile devices conflicts with the reality of these devices’ limitations: slow computation processors, little memory storage, and limited battery life. For this reason, mobile devices still lag behind desktop and server hardware to provide the experience that users expect [3, 4].
The Mobile Cloud (MC) is emerging as one of the most important branches of cloud computing and is expected to expand mobile ecosystems. Usually, cloud computing has long been recognized as a paradigm for big data storage and analytics; it has virtually unlimited capabilities in terms of storage and processing power. MC is the combination of cloud computing, mobile computing, and wireless networks to bring rich computational resources to mobile users and network operators, as well as cloud computing providers. With the explosive growth of multimedia mobile applications, MC computing has become a significant research topic of the scientific and industrial communities [5–7].
The two fields of MC and IoT have been widely popular as future infrastructures and have seen an independent evolution. However, MC and IoT are complementary technologies, and several mutual advantages deriving from their integration have been identified [3]. Therefore, a symbiosis has developed between mobile devices and MC and is expected to be combined for the future Internet. Generally, mobile devices can benefit from the virtually unlimited capabilities and resources of MC to compensate its storage, processing, and energy constraints. Specifically, MC can offer an effective solution to implement IoT service management. On the other hand, MC can benefit from the IoT system by extending its scope to deal with realworld things in a more distributed and dynamic manner [2]. Nowadays, the extension of MC over dynamic IoT environments has been referred as a next generation communication and computing paradigm [5].
In this paper, we focus our attention on the integration of MC and IoT, which we call the MCIoT paradigm. MCIoT should support a wide variety of multimedia applications with different QoS requirements; these applications need different system resources. Therefore, the MCIoT platform can benefit from implementing QoSaware service management algorithms to match application demand to IoT services, while guaranteeing to meet the respective QoS requirements. Such algorithms must take into account that mobile devices are generally characterized with limited storage and processing capacity. A possible way to dealing with this problem is to remotely execute some computation tasks on a more powerful cloud system, with results communicated back to the mobile devices. This method is the computation offloading [8]. Therefore, the synergy of MC and IoT lies at the junction of mobile devices, different wireless network providers, and cloud computing systems. As far as we know, there is no intensive research work considering the multiinteraction aspect of the MCIoT paradigm.
Although the computation offloading approach can significantly augment the computation capability of mobile devices, the task of developing a comprehensive and reliable computation offloading mechanism remains challenging. A key challenge is how to efficiently coordinate multiple mobile devices and the MCIoT system. Usually, individual mobile devices locally make control decisions to maximize their profits in a distributed manner. This situation leads us into the game theory. The game theory is a conceptual and procedural tool to capture the interaction among selfish players and has been successfully applied to typical network management problems, like resource allocation, routing, pricing, and load balancing. In particular, it has been largely applied in mobile and wireless network scenarios in the context of competition in the access to shared communication and computation resources [9].
In 1988, an American political scientist, George Tsebelis, introduced an important new concept, called nested games, to rational choice theory and to the study of comparative politics [10]. Using the notion of nested games, he showed that game players are involved simultaneously in several games. He argued that the “nestedness” of the principal game explains why a player confronted with a series of choices might not pick the alternative which appears to be optimal. In other words, what seems to be irrational in one arena becomes intelligible when the whole network of games is examined. Originally, the nested game has been used by anyone interested in the effects of political context and institutions on the behavior of political actors. Nowadays, the nested game approach can be used to analyze a systematic, empirically accurate, and theoretically coherent account of apparently irrational actions [11–13].
 A.
Related work
In modern times, a lot of stateoftheart work on cloudbased IoT management schemes has been conducted. In [14], an effective approach to intelligent planning for mobile IoT applications was presented. This approach included a learning technique for dynamically assessing the users’ mobile IoT application and a Markov decision process planning technique for enhancing efficiency of IoT device action planning. In [15], a highly localized IoTbased cloud computing model was proposed. This model allowed clients to create ad hoc clouds using the IoT and other computing devices in the nearby physical environment, while providing the flexibility of cloud computing. It also provided localized computation capability from untapped computing resources. In [16], a novel framework for softwaredefined IoT cloud systems was developed. With feasibility and practical applicability, this framework handled two main tasks: (i) perform dynamic, ondemand provisioning of governance capabilities and (ii) remotely invoke such capabilities in IoT cloud resources remotely, via dynamic APIs.
Recently, related work on an efficient computation offloading mechanism design is reviewed in [11] and [7]. The nested twostage gamebased optimization (NTGO) scheme [11] was developed for an MC computation interaction system. This scheme provides a nested twostage game model for the computation offloading. To maximize the network system performance, all the mobile devices compete for the allocated resources, which becomes a normalform game. Based on the backward induction principle, the NTGO scheme can derive the nearoptimal strategy for all the mobile devices using a convex optimization approach. Nash equilibrium always exists and is unique in the NTGO scheme. The decentralized computation offloading game (DCOG) scheme [7] was envisioned as a promising approach for an MCC algorithm. This scheme formulated a decentralized computation offloading mechanism as a decentralized computation offloading game. As game players, mobile devices make computation offloading decisions locally, which can significantly reduce the controlling and signaling overhead of the cloud. The DCOG scheme also can achieve a Nash equilibrium of the game.
All of the abovementioned solutions in [7, 11] have attracted a lot of attention and introduced unique challenges to efficiently solve the computation offloading decision problems. However, there are several disadvantages. First, these existing schemes rely on high complexity and extra overhead; this increased overhead can exhaust the computation capacity. Second, these schemes cannot adaptively estimate the current system conditions. Third, these schemes operate systems by fixedsystem parameters. Under dynamic MCIoT environments, control mechanisms by using static thresholds can cause potential erroneous decisions. Compared to these schemes [7, 11] in Section III, the proposed scheme attains a better system performance.
This paper is organized as follows. Section II explains the basic concept of the network model for computation offloading. Section III describes our proposed nested gamebased computation offloading scheme in detail. In Section IV, performance evaluation results are presented along with comparisons with the schemes proposed in [7, 11]. Through simulation, we show the ability of the proposed scheme to achieve high accuracy and promptness in dynamic network environments. Finally, concluding remarks are given in Section V.
2 Network model for computation offloading
Under competitive or cooperative environments, the behaviors of game players have a direct influence on each other. Based on rational assumptions, the game theory is to study the decisionmaking mechanism and the balance of decisionmaking interactions [9]. However, game players seem to act irrationally, but if treating the game as a part of a larger game, we can see their behaviors are rational [12]. From the view of a small independent game, each player’s strategy is not the optimal solution. However, from the view of a big game, players’ reactions are the best responses. Such games are called as nested games, and small games may be used as subgames nested in the sequential game of a larger game [11–13]. In multiple fields of a nested game, game players try to optimize their payoffs in the principal game field which also involves a game about the rules of the game. It can lead to apparently suboptimal payoffs as the game player fails to see the other fields that provide context for the small game in the principal field. Several studies use nested game theory to explain political party behavior, budget negotiations, electoral systems, and public policy [13].
In this work, we specify the nested game to design a new computation offloading algorithm. The key point of the MC offloading mechanism hinges on the ability to achieve enough computing resources with small energy consumption. In recent years, this technique has received more attention because of the significant rise of offloadavailable mobile applications, the availability of powerful clouds and the improved connectivity options for mobile devices. The main challenges to design an effective computation offloading algorithm lies in the adaptive division of applications for partial offloading, the mismatch control mechanism between how individual mobile devices demand and access computing resources, and how cloud providers offer them. To decide what, when, and how to be offloaded, we should consider the offload overhead and current MCIoT system conditions.
 1.
\( \mathbb{D}=\left\{{D}_0,{D}_1, \dots,\ {D}_n\right\} \) is the set of mobile devices, and A _{ i }, i ∈ [1, n] is an application, which belongs to the mobile device D _{ i }.
 2.
Mobile device applications are elastic applications and can be split. For example, \( {A}_i={\displaystyle \sum_{k=1}^L}{a}_k^i \), where \( {a}_k^i \) is the kth module of A _{ i }, and some parts (i.e., coded modules) of A _{ i } can be offloaded.
 3.
ℝ = {R _{0}, R _{1}, …, R _{ m }} is the set of idle cloud computing resources in the MCIoT environment, and R _{ j }, j ∈ [1, m] has a computation capacity (\( {\mathrm{\mathcal{F}}}_{R_j}^R \); CPU cycles per second) and expected price (\( {\psi}^{R_j} \); price per CPU cycle of the R _{ j }) to accomplish the offloaded computations.
 4.
Price in each R _{ j,1 ≤ j ≤ m } can be dynamically adjustable according to the auction mechanism.
 5.
For simplicity, we assume that there is no communication noise and uncertainties in MCIoT environments.
In this paper, we develop a twostage nested game model comprised of elastic applications, mobile devices, and computation resources in the MC. In the first stage, applications of mobile devices are divided into two parts: one part runs locally and the other part is run on the MC side. In the second stage, offloaded tasks are matched to computing resources in the MCIoT system. Based on the auction mechanism, computation resources submit different offers to get the requested offload task, and the most adaptable offer is selected. According to the twostage sequential nested game approach, we can make decisions about whether to perform computation offloading, which portion of the application should be offloaded to the cloud, and which resource is selected to accomplish the requested offload.
3 Proposed computation offloading algorithms
 A.
Offloading communication and computation process
where \( {\lambda}_{D_i}^{A_i} \) is a parameter to control the relative weights given to execution time and energy consumption. To satisfy A _{ i }’s demand, \( {\lambda}_{D_i}^{A_i} \) is adaptively decided. In Eq. (7), the \( {\lambda}_{D_i}^{A_i} \) value decision process is explained in detail.
where ℬ is the channel bandwidth and P _{ i } is the transmission power of device D _{ i }. H _{ i, BS} denotes the channel gain between the mobile device D _{ i } and the BS, and ω denotes the interference power [7]. From the Eq. (4), we can see that if too many mobile devices choose to offload the computation via wireless access simultaneously, they may incur severe interference, leading to low data rates. It would negatively affect the performance of MC communication. Therefore, offloading decisions among mobile devices are tightly coupled to each other [7]. To address this conflicting situation, game theory can be adopted to achieve efficient computation offloading decisions.
 B.
Application partitioning game
An important challenge for partial offloading is how to partition elastic applications and which part of the partitioned application should be pushed to the remote clouds. In this section, we analyze how mobile devices can exploit a partial offloading between cloud computation and local computation. To distribute computation tasks for partial offloading, we provide a noncooperative bargaining game model by considering the consuming cost and computation time. Usually, a solution to the bargaining game model enables the game players to fairly and optimally determine their payoffs to make joint agreements [17, 18]. Therefore, the bargaining model is attractive for the partitioning problem.
\( \mathrm{s}.\mathrm{t}.,\left({x}_1^{*},{x}_2^{*}\right)\in {R}^2:{x}_1^{*}+{x}_2^{*}=1,{x}_1^{*}\ge 0,{x}_2^{*}\ge 0 \) and 0 ≤ δ _{1}, δ _{ s } ≤ 1
where Φ is the time period of a negotiation round. Given that Φ is fixed, δ is monotonically decreasing with ξ. Therefore, ξ is an instantaneous discount factor to adaptively adjust the bargaining power. Usually, the bargaining power represents the relative ability to exert influence over other players; the more bargaining power a player has, the more payoff a player attains.
 C.
Cloud resource selection game
 D.
The main steps of proposed algorithm
A more recent and rapidly increasing trend deals with two technologies (MC and IoT) together, and they have combined synergistically. Without the MC computing technology, many mobile applications in the IoT system would not exist. The complementary characteristics of MC and IoT inspire a new MCIoT paradigm. This integration realizes a new convergence scenario and will impact future application development where new opportunities arise for data aggregation, integration, and sharing with third parties. Although the MC and IoT may seem to be a mature technology, this work is only at the very beginning of exploiting the potential approach of the MC and IoT integration.

Step 1: At the initial time, applications in each mobile device are equally partitioned for local and remote offloading computations. At the beginning of the game, this starting guess is useful to monitor the current MCIoT situation.

Step 2: According to Eqs. (1)–(9), mobile devices can estimate their total offload overhead \( \left(T\_{O}_{\mathrm{off}}^{\left(\cdotp \right)}\right) \) and the total execution overhead \( \left({\mathcal{S}}^{\left(\cdotp \right)}\left(\mathbb{D}\right)\right) \) individually.

Step 3: Based on Eqs. (10)–(12), each mobile device adaptively repartitions its application based on the RubinsteinStahl bargaining game model.

Step 4: One part is computed locally on the mobile device. In the MC side, the other part is computed remotely on the computation resource, which is selected according to the auction game.

Step 5: For the next resource selection process, computation resources periodically adjust their selling prices (ψ ^{(·)}) according to Eq. (13).

Step 6: As game players, elastic applications, mobile devices, and MC computation resources are interrelated and interact with each other in a twostage nested game. In each stage game, game players try to maximize their payoffs while they are involved in a bigger game.

Step 7: Under widely diverse MCIoT environments, mobile devices and computation resources are selfmonitoring constantly for the next iterative feedback processing. This iterative feedback procedure continues under the MCIoT system dynamics.

Step 8: When a new application service is requested, it can retrigger another computation offloading process; the service proceeds to Step 1 for the next game iteration.
4 Performance evaluation

There are 10 mobile devices and 15 computation resources in our MCIoT system.

Applications can be split differently according to application type.

The application generation rate is a Poisson with rate ∆ (applications/s), and the range of offered computation load was varied from 0 to 3.0.

Different applications are assumed based on computation requirement, duration, and required QoS (i.e., T_D).

The T_D of each application is exponentially distributed with different means for different applications.

The performance measures obtained on the basis of 50 simulation runs are plotted as a function of the offered applications per second at each mobile device (applications/s/D).

The MCIoT system performance is estimated in terms of the normalized energy consumption, application execution time, and QoS satisfaction probability under various offered computation loads.
Application and system parameters used in the simulation experiment
Application type  Applications  Computation requirement  Computation duration average/sec  

I  Voice telephony, video phone  128 K cycle/s  180 s (3 min)  
II  Remote login, teleconference  512 K cycle/s  120 s (2 min)  
Parameter  Value  Description  
n  10  The number of mobile devices in MCIoT  
m  15  The number of computation resources in MCIoT  
L  6 or 10  The number of split coded modules in applications  
ℱ^{ L }  64 K cycle/s  A computation capacity of mobile device  
ℱ^{ R }  {128, 256, 512 K cycle/s}  A computation capacity of computation resource  
ρ  1  The price per CPU cycle of mobile device  
ℬ  1 MHz  The channel bandwidth  
P  100 mW  The transmission power of mobile device  
ω  100 dBm  The interference power  
μ  1  The mean of the normal distribution  
σ  1  The standard deviation of the normal distribution  
Parameter  Initial  Description  Values  
ψ  1  The price per CPU cycle of resources  Dynamically adjustable  
λ  0.5  The relative weights given to time and energy  0 ~ 1 
As mentioned earlier, the DCOG and NTGO schemes [7, 11] have been recently published and introduced unique challenges to efficiently solve the computation offloading decision problems. However, they are successful only in certain circumstances. In addition, it is observed that the DCOG and NTGO schemes [7, 11] require higher control overhead for computation offloading via wireless communication. Compared to these schemes, we can confirm the superiority of our proposed approach.
From the simulation results in Figs. 2, 3, 4, 5, it can be seen that the proposed scheme, as expected, achieves better performance than the DCOG and NTGO schemes. Traditionally, energy consumption and total computation time are the key performance indicators for offloading computation. However, there is a tradeoff. Based on the nested game model, our approach allows that each mobile device can make decisions individually, while pursuing the minimization of the computation time with a constraint over the energy consumption. It is essential in order to be close to the optimized system performance. Performance evaluation results indicate that our proposed scheme can attain appropriate performance balance, while other schemes [7, 11] cannot offer such an attractive system performance.
5 Summary and conclusions
Over the recent past years, a novel paradigm where cloud and IoT are merged is expected to be an important component of the future Internet. In this paper, we review the integration of MC and IoT and design a new computation offloading scheme in the MCIoT platform. Based on the nested game model, the main goal of our proposed scheme is to maximize mobile device performance while providing service QoS. To satisfy this goal, the proposed nested game model consists of an application partitioning game and cloud resourceselection game. In our partitioning game, applications are adaptively partitioned according to the RubinsteinStahl bargaining model. In our resourceselection game, computation resources in the MC system are selected based on the onetomany auction game model. Based on the nested game principle, these game models are interrelated to each other and operated as a twostage sequential game. The simulation results show that our nested game approach can outperform existing computation offloading schemes. For the future work direction in this promising field, novel system architectures that seamlessly integrate MC and IoT and protocols that facilitate big data streaming from IoT to MC should be addressed when adopting a multiMCIoT environment. In addition, QoS and QoE, as well as data security, privacy, and reliability issues, are critical concerns for the further research.
Declarations
Acknowledgements
This research was supported by the Ministry of Science, ICT and Future Planning (MSIP), Korea, under the Information Technology Research Center (ITRC) support program (IITP2015H8501151018) supervised by the Institute for Information & communications Technology Promotion (IITP) and by the Sogang University Research Grant of 2014(201410020.01).
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
 KS Kim, S Uno, MW Kim, Adaptive QoS mechanism for wireless mobile network. JCSE 4(2), 153–172 (2010)Google Scholar
 A Botta, W de Donato, V Persico, A Pescape, On the integration of cloud computing and internet of things. IEEE FiCloud 2014, 23–30 (2014)Google Scholar
 D Singh, G Tripathi, AJ Jara, A survey of internetofthings: future vision, architecture, challenges and services. IEEE World Forum on Internet of Things (WFIoT) 2014, 287–292 (2014)View ArticleGoogle Scholar
 O Vermesan, P Friess, Internet of Things  Global Technological and Societal Trends from Smart Environments and Spaces to Green Ict, ed. by O Vermesan, P Friess (River Publishers, Denmark, 2011)Google Scholar
 AS Sabyasachi, S De, S De, On the notion of decoupling in Mobile Cloud Computing. IEEE HPCC_EUC 2013, 450–457 (2013)Google Scholar
 W Zhu, C Lee, A new approach to web data mining based on cloud computing. JCSE 8(4), 181–186 (2014)MathSciNetGoogle Scholar
 C Xu, Decentralized computation offloading game for Mobile Cloud Computing. IEEE Transactions on Parallel and Distributed Systems 26(4), 974–983 (2015)View ArticleGoogle Scholar
 K Sinha, M Kulkarni, Techniques for finegrained, multisite computation offloading. IEEE CCGRID 2011, 184–194 (2011)Google Scholar
 Sungwook Kim, Game theory applications in network design, (IGI Global, Hershey, Pennsylvania (USA), 2014)Google Scholar
 G Tsebelis, Nested games: the cohesion of french electoral coalitions. British Journal of Political Science 18(2), 145–170 (1988)View ArticleGoogle Scholar
 W Yanzhi, L Xue, M Pedram, A nested two stage gamebased optimization framework in Mobile Cloud Computing system. IEEE SOSE 2013, 494–502 (2013)Google Scholar
 P Yongshia, S Xie, J Shasha, The application of nestedgame theory in the public participation mechanism in the decisionmaking of large engineering projects. Systems Engineering Procedia 1, 142–146 (2011)View ArticleGoogle Scholar
 NG Jesse, U Heo, K DeRouen Jr, A nested game approach to political and economic liberalization in democratizing states: the case of South Korea. International Studies Quarterly 46(3), 401–422 (2002)View ArticleGoogle Scholar
 SS Yau, AB Buduru, Intelligent planning for developing mobile IoT applications using cloud systems. IEEE MS’ 2014, 55–62 (2014)Google Scholar
 R Hasan, MM Hossain, R Khan, Aura: an IoT based cloud infrastructure for localized mobile computation outsourcing. IEEE MobileCloud 2015, 183–188 (2015)Google Scholar
 S Nastic, M Vogler, C Inzinger, T HongLinh, S Dustdar, rtGovOps: a runtime framework for governance in largescale softwaredefined IoT cloud systems. IEEE MobileCloud 2015, 24–33 (2015)Google Scholar
 H Park, M van der Schaar, Bargaining strategies for networked multimedia resource management. IEEE Trans. on Signal Processing 55(7), 3496–3511 (2007)View ArticleGoogle Scholar
 JE Suris, LA DaSilva, Z Han, AB MacKenzie, Cooperative game theory for distributed spectrum sharing. IEEE ICC 2007, 5282–5287 (2007)Google Scholar
 Z Yu, H Zhao, Study on negotiation strategy. International Conference On Power System Technology 2002, 1335–1338 (2002)Google Scholar
 M Pan, Y Fang, Bargaining based pairwise cooperative spectrum sensing for cognitive radio networks. IEEE MILCOM 2008, 1–7 (2008)Google Scholar