I Introduction
With the advent of the era of Internet of Things (IoT), the unprecedented growth of latencycritical applications are nevertheless hardly satisfied by mobile cloud computing (MCC) alone. To cater for the lowlatency requirements while alleviating the burden over backhaul networks, mobileedge computing (MEC), also interchangeably known as fog computing has aroused a paradigm shift by extending cloud capabilities to the very edge within the radio access network (RAN) (see [1] and the references therein).
Both industry and academia have devoted constant effort to providing the next generation mobile networks with ultrareliable low latency communications (uRLLC). Among pioneering industrialization on fog computing, Cisco has proposed fog computing as a promising candidate for IoT architecture [2]. In academics, [3, 4, 5, 6] focused on onetoone offloading scheme where there is one mobile user and one corresponding cloudlet, [7] [8] presented multipleuser cases where there are multiple edge servers, while [9] related to multipletoone scenarios where multiple mobile users offload computing to one edge server.
Recently, the intrinsic collaborative properties of the input data for computation offloading was investigated for augmented reality (AR) in [10]. In fact, in many mobile applications such as augmented reality (AR) and virtual reality (VR), multiple mobile devices share parts of computing input/output in common, thus making it possible for further reducing computing latency at the edge. In [11], some important insights on the interplay among the social interactions in the VR mobile social network was revealed, and a significant reduce on the endtoend latency was achieved through stochastic optimization technique. [12] investigated potential spatial data correlation for VR applications to minimize the delay of accomplishing computation.
On another front, joint optimization of computation offloading with communications resources (such as power, bandwidth, and rate) proves to improve the performance of fog computing by explicitly taking channel conditions and communications constraints into account. In an early research [13]
, the offloading decision making was examined through the estimation of bandwidth data without considering the allocation of communication resources and channel conditions. For communicationsaware computation offloading,
[14] minimized the local user’s computation latency in a multiuser cooperative scenario, while [15] minimized the energy consumption of remote fog computing nodes. However, these line of work have not taken the shared data feature aforementioned into account, thus failing to fully reap the advantage of fog computing.In this paper, we consider a multiuser fog computing system, in which multiple singleantenna mobile users running applications featuring shared data can choose between (partially) offloading their computing tasks to a nearby singleantenna cloudlet and executing them locally, and then download the results from the cloudlet. Mobile users’ overall energy consumption is minimized via joint optimization of computation offloading and communications resource allocation. Compared with existing literature, e.g., [10], although it investigated the energy minimization problem of shareddata featured offloading, it did not find the optimal solution. Moreover, it did not draw explicit conclusion regarding the channel condition’s influence in the computation offloading. From this point of view, our work provides indepth understanding of the shareddata featured offloading in MEC systems.
Ii System Model
We consider a mobileedge system that consists of mobile users running AR applications, denoted as , and one base station (BS) equipped with computing facilities working as a cloudlet. All of the mobile users and the BS are assumed to be equipped with single antenna.
The input data size for user is denoted by , , in which one fraction data size of bits are the shared data that is the same across all mobile users and the other fraction of bits are the data executed locally by user . The shared data can be transmitted from each user by part, denoted by , , such that . The amount of input data that is exclusively transmitted by is thus given by .
It can be seen from Fig. 1 that there are two consecutive subphases for both input data offloading and results downloading phases: the shared and the individual data transmission. The transmission duration for offloading the shared input data is denoted by , ; the offloading duration for the individual data is denoted as , ; and the durations for downloading the shared and the individual output data are and , respectively. The remote computation time are also illustrated in Fig. 1, where and , , denote that for the shared and the individual data transmitted to the cloudlet, respectively. Similarly, and , , denote the computational frequency (in cycles/s) allocated to the shared and the individual tasks, respectively, by the cloudlet. In addition, the local computation time is denoted by , .
Iia Uplink Transmission
As observed from Fig. 1, there are two consecutive uplink transmission subphases: the shared data and the individual data offloading [10]. Each mobile user offloads its computation task to the cloudlet server via frequency division multiple access (FDMA). The channel coefficient from user is given by , which is assumed to remain unchanged during the uplink transmission duration. With the transmission power given by , the achievable individual data rate for offloading the shared data is expressed as:
(1) 
where with denoting the overall bandwidth available for the uplink transmission, and is the additive white Gaussian noise (AWGN) power. Accordingly, , and the energy consumed by the th user in the shared data offloading subphase is given as
(2) 
where the function is defined as .
Similarly, the energy consumption for the th user in the individual data offloading subphase is expressed as:
(3) 
IiB Computation Model
Based on the energy model in [9], given the local computing bits , the energy consumption for executing local computation is given by:
(4) 
where (in cycles/bit) denotes the number of CPU cycles needed for processing one bit of input data, and is the energy consumption capacitance coefficient.
IiC Downlink Transmission
Similar to the uplink transmission, the downlink transmission phase also has two separate subphases: the shared and the individual results downloading. The shared output data are multicasted to the mobile users by the cloudlet at its maximum transmitting power . The achievable individual rate for the shared data downloading is thus given by
(5) 
where with denotes the overall bandwidth available for downlink transmission. The downlink channel coefficient is given by , . The relation between the shared output data and the input data is given by , where is the factor representing the number of output bits for executing one bit of input data. Accordingly, , and thus the latency for transmitting the shared output data to all mobile users is given by
(6) 
This is because the individual results downloading cannot be initiated until the shared data has finished transmission.
After the multicasting transmission, the individual output data is sent to each mobile user via FDMA. Denoting the downlink transmitting power for the th individual data by , the achievable rate for individual data downloading is thus expressed as:
(7) 
Similarly, denoting the individual output data size by , , , and .
For energy consumption, the overall energy consumed for decoding the result sent back by the cloudlet at the th mobile user is given by [10]
(8) 
where (in Joules/second) captures the energy expenditure per second.
In addition, the total energy consumed by the BS for results transmission is given by,
(9) 
which is required not to exceed by the BS operator.
IiD Total Latency
Next, we consider the overall computing latency. As illustrated in Fig. 1, it is observed the individual data downloading in Phase II cannot start until the cloudlet completes individual data computing, and the BS finishes the shared data transmission over the downlink. Moreover, for the individual data computing, it cannot start before either the corresponding individual data finishes offloading or the cloudlet completes the shared data computing, i.e., . Furthermore, also seen from Fig. 1, for the shared data results, it can only start being transmitted in the downlink after the cloudlet completes the shared data computing and all the individual data finishes offloading in the uplink, i.e., . Combining the above facts, the total computing latency is expressed as follows:
(10) 
Iii Problem Formulation
The overall energy consumption at the mobile users consists of three parts: data offloading over the uplink (c.f. (2) and (3)), local computing (c.f. (4)), and results retrieving (c.f. (8)), which is thus given by
(11) 
The objective is to minimize the overall energy consumption given by , subject to the computing latency constraints, the maximum local computing frequencies, and the total energy consumption on the individual data at the BS. Specifically, the optimization problem is formulated as below:
(12a)  
(12b)  
(12c)  
(12d)  
(12e)  
(12f)  
(12g)  
(12h) 
Constraint (12b) and (12d) gives the latency constraints that the time taken for accomplishing computing tasks cannot excess the maximum allowed length, both for offloading and local computing. (12c) tells that the available energy for downlink transmission of remote computing node should be lower than a maximum level. (12e) restricts the number of allowable local computing bits imposed by local computing capabilities. Besides, (12g) puts that adding all the shared data bits offloaded by all mobile users respectively, the value should be equal to the exact amount of shared bits existing in the same user group.
Iv Optimal scheme for joint offloading and communication resource allocation
Iva Problem Reformulation
Although the latency expression (10) looks complex in its from, (12b) is still a convex constraint. For the ease of exposition, we assume herein that the cloudlet executes the shared and the individual computing within the duration of the individual data offloading and the shared results downloading, respectively, i.e., , and , ^{1}^{1}1We assume herein that the computation capacities at the cloudlet is relatively much higher than those at the mobile users, and thus the computing time taken is much shorter than the data transmission time.. As a result, (12b) can be simplified as below:
(13) 
by introducing the auxiliary variable , which satisfies , (13) reduces to
(14) 
Notice that ’s (c.f. (4)) is monotonically decreases with respect to the local computing time for each mobile user. To obtain the minimal energy consumption, it is obvious that . Then the optimization problem to be solved is reformulated as:
(15a)  
(15b)  
(15c) 
IvB Joint offloading and communication resource allocation
Introducing dual variables , the Lagrangian of problem is presented as:
(16) 
where are dual variables associated with the latency constraint (14), are associated with local computing bits constraint (12e)), are connected with the constraint for auxiliary variable , and catches the downlink transmission energy constraint (12c). Hence, we have the Lagrangian dual function expressed as:
(17) 
s.t. (12f12h).
Consequently, the corresponding dual problem is formulated as:
(18) 
s.t.
Proposition 1.
Given a determined set of dual variables , the optimal solution to the Lagrangian dual problem (16) can be determined as follows.
The optimal primal variables , , and , are given by
(19) 
(20) 
(21) 
where is the principle branch of the Lambert function defined as the solution for [15], is the base of the natural logarithm; the optimal auxiliary variable is given by:
(22) 
and the optimal local computing data size is given by
where and , .
Proof:
Please refer to Appendix A. ∎
In fact, on one hand, ’s and ’s can be interpreted as the optimum transmission rate for the shared/individual data offloading and the individual data downloading, respectively, given the dual variables. On the other hand, for each user , the optimal transmission rate for the shared data is seen to be identical to that of the individual data over the uplink, given that the uplink channel gains remain unchanged during the whole offloading phase.
Next, to obtain the optimal offloading bits of the shared data for each user, i.e., , we need the following lemma.
Lemma 1.
The optimal offloaded shared data for user is expressed as,
(23) 
where .
Proof:
Please refer to Appendix B. ∎
Notable, it is easily observed from Lemma 1 that the shared data is optimally offloaded by one specific user instead of multiple ones.
V Numerical Results
In this section, the numerical results of the proposed algorithm together with other baseline algorithms are presented. Except for the local computing only scheme where users execute all the data bits locally, there are three other offloading schemes presented as baseline algorithms: 1) Offloading without considering the shared data: the collaborative properties are ignored, every user makes the offloading decision without coordination among other users; 2) Full offloading only: the shared data is taken into consideration, but the whole chunks of input data of every user are forced to be offloaded to the edge computing node, excluding the local computing capability from participating in the computation tasks; 3) Offloading with equal time length: taking the correlated data into consideration, the data offloading and downloading are performed for each user with equal time length, with optimal solutions obtained through CVX.
In the simulation, the bandwidth avaialble is assumed to be =10MHz, the maximum downlink transmit power , and the input data size for all users. The spectral density of the (AWGN) power is 169 dBm/Hz. The mobile energy expenditure per second in the downlink is =0.625 J/s [10], the maximum local computing capability Hz. Besides, cycle/bit, , . The pathloss model is , where represents the distance between user and edge computing node in kilometers.
Fig.2 depicts how the energy consumption changes with different latency constraints. The energy consumption are becoming lower as the latency requirement gets longer for all listed offloading algorithms. Only the proposed offloading scheme can give the lowest energy consuming performance. The best energy saving improvement can only be achieved through the joint participation of local computing and shared data coordination. Besides, even though the equal time length offloading has lower complexity than the proposed algorithm, it cannot compete with the proposed one in terms of energy saving. Recalling our conclusion that the best way to achieve the energy saving is to let these correlated bits transmitted by one specific user, the reason is that forcing offloading time duration to be equal makes the shared data to be transmitted by all users simultaneously.
The energy consumed for computing one data bit increases exponentially as the latency constraint diminishes. Hence for the local computing only scheme, when latency constraint comes to 0.01 second the energy taken to finish the computation tasks, which is 1000 mJoules, can reach up to nearly 100 times more than those of all the offloading algorithms. Then it drops exponentially to 10 mJoules when the latency constraint goes to 0.1 second. As a result, the curve representing local computing only is not added in Fig.2, otherwise the comparison of the offloading schemes will not be clear.
In Fig.3, the energy consumption changes with the percentage of shared data is demonstrated. Apparently, as long as we take the shared data into consideration when making offloading decisions, the lower overall energy consumption is achieved when the proportion of shared data gets higher. More energy will be saved when the percentage of shared data gets higher for proposed offloading scheme compared to the scheme without considering the existence of shared data. This trend applies to the full offloading only algorithm as well, because it also cares about the existence of shared data when making offloading decisions. The energy consumptions for full offloading only do not always go under that of offloading without considering shared data. That is because when given specific latency constraint, the importance of local computing capabilities diminishes in saving mobile users’ energy consumption as the share of common data increases. Since most of the data will be offloaded to the edge node, few input bits would remain local for computing. Then the energy consumption of the full offloading only scenario represents that it get closer to that of the proposed algorithm when the percentage of shared data increases. Similar trend applies to the equal time length offloading as well.
(24) 
Vi Conclusions
In this paper, a multiuser fog computing system was considered, in which multiple singleantenna mobile users running applications featuring shared data can partially offload their individual computation tasks to a nearby singleantenna cloudlet and then download the results from it. The mobile users’ energy consumption minimization problem subject to the total latency, the total downlink transmission energy and the local computing constraints was formulated as a convex problem with the optimal solution obtained by classical Lagrangian duality method. Based upon the semiclosed form solution, it was proved that the shared data is optimally transmitted by only one of the mobile users instead of multiple ones collaboratively. The proposed joint computation offloading and communications resource allocation was verified by simulations against other baseline algorithms that ignore the shared data property or the mobile users’ own computing capabilities..
Appendix A
In order to find the optimal solutions of the primary problem, we need to examine the related partial derivatives . After obtaining these partial derivatives, the KKT conditions can be applied to find the optimal solutions. For example, let and be equal to 0. The inverse function of for is given by . Then it follows that , and the optimal uplink transmission rate of the shared data and that of the exclusively offloaded data are thus derived. Then the expressions of the optimal primary variables are readily obtained as shown in (19), (20), (21), (22), (1), and (23).
Appendix B
To obtain how the shared input data offloading are distributed among users, we need to examine the partial Lagrangian regarding and . Replacing the shared data offloading time with , the partial Lagrangian is expressed as
(24a) 
s.t.
(24b) 
where we define as a constant given the dual variable
’s. As a result, the optimal solution to the linear programming (LP) (24) is easily obtained as shown in (
23).
John Doe Hello, here is some text without a meaning. This text should show what a printed text will look like at this place. If you read this text, you will get no information. Really? Is there no information? Is there a difference between this text and some nonsense like “Huardest gefburn”? Kjift – not at all! A blind text like this gives you information about the selected font, how the letters are written and an impression of the look. This text should contain all letters of the alphabet and it should be written in of the original language. There is no need for special content, but the length of words should match the language. 
References
 [1] Y. Mao, C. You, J. Zhang, K. Huang, and K. B. Letaief, “A survey on mobile edge computing: The communication perspective,” Commun. Surveys Tuts., vol. 19, pp. 2322–2358, Fourth Quarter 2017.
 [2] F. Bonomi, R. Milito, J. Zhu, and S. Addepalli, “Fog computing and its role in the Internet of Things,” in Proc. ACM SIGCOMM Workshop on Mobile Cloud Computing (MCC), (Helsinki, Finland), Aug. 2012.
 [3] W. Zhang, Y. Wen, K. Guan, D. Kilper, H. Luo, and D. O. Wu, “Energyoptimal mobile cloud computing under stochastic wireless channel,” IEEE Trans. Wireless Commun., vol. 12, pp. 4569–4581, September 2013.
 [4] J. Kwak, Y. Kim, J. Lee, and S. Chong, “Dream: Dynamic resource and task allocation for energy minimization in mobile cloud systems,” IEEE J. Sel. Areas Commun., vol. 33, pp. 2510–2523, Dec 2015.
 [5] C. You, K. Huang, and H. Chae, “Energy efficient mobile cloud computing powered by wireless energy transfer,” IEEE J. Sel. Areas Commun., vol. 34, pp. 1757–1771, May 2016.
 [6] Y. D. Lin, E. T. H. Chu, Y. C. Lai, and T. J. Huang, “Timeandenergyaware computation offloading in handheld devices to coprocessors and clouds,” IEEE Syst. J., vol. 9, pp. 393–405, June 2015.
 [7] R. Kaewpuang, D. Niyato, P. Wang, and E. Hossain, “A framework for cooperative resource management in mobile cloud computing,” IEEE J. Sel. Areas Commun., vol. 31, pp. 2685–2700, December 2013.
 [8] J. Cheng, Y. Shi, B. Bai, and W. Chen, “Computation offloading in cloudRAN based mobile cloud computing system,” in 2016 IEEE International Conference on Communications (ICC), pp. 1–6, May 2016.
 [9] X. Chen, “Decentralized computation offloading game for mobile cloud computing,” IEEE Trans. Parallel Distrib. Syst., vol. 26, pp. 974–983, April 2015.
 [10] A. AlShuwaili and O. Simeone, “Energyefficient resource allocation for mobile edge computingbased augmented reality applications,” IEEE Wireless Commun. Lett., vol. 6, pp. 398–401, June 2017.
 [11] J. Park, P. Popovski, and O. Simeone, “Minimizing latency to support VR social interactions over wireless cellular systems via bandwidth allocation,” IEEE Wireless Commun. Lett., pp. 1–1, 2018.

[12]
M. Chen, W. Saad, C. Yin, and M. Debbah, “Echo state transfer learning for data correlation aware resource allocation in wireless virtual reality,” in
2017 51st Asilomar Conference on Signals, Systems, and Computers, pp. 1852–1856, Oct 2017.  [13] R. Wolski, S. Gurun, C. Krintz, and D. Nurmi, “Using bandwidth data to make computation offloading decisions,” in 2008 IEEE International Symposium on Parallel and Distributed Processing, pp. 1–8, April 2008.
 [14] H. Xing, L. Liu, J. Xu, and A. Nallanathan, “Joint task assignment and wireless resource allocation for cooperative mobileedge computing,” Proc. IEEE International Conference on Communications (ICC), May 2018.
 [15] F. Wang, J. Xu, X. Wang, and S. Cui, “Joint offloading and computing optimization in wireless powered mobileedge computing systems,” IEEE Trans. on Wireless Commun., vol. 17, pp. 1784–1797, March 2018.
 [16] S. Boyd, “Lecture notes for EE364b: Convex Optimization II.”