Two Approaches to Resource Allocation in Hybrid Fog and Cloud
Systems
Dariusz Gasior
a
Faculty of Computer Science and Management, Wroclaw University of Science and Technology, Wroclaw, Poland
Keywords:
Cloud, Fog, Resources, Optimization, Game-theory.
Abstract:
In this paper, two approaches to the hybrid fog and cloud computing environment are presented. The first is
based on the assumption of centralized management performed by cloud, while the latter takes utilization of
self-managing concept enabling distributed resource allocation carried by fogs. The appropriate mathematical
models are introduced and the optimization problems are formulated. While the first concept turned out to be
the mixed nonlinear programming, the second may be interpreted as the noncooperative game. The ideas of
the possible solutions are briefly suggested.
1 INTRODUCTION
Recently fog computing and similar concepts at-
tracted much attention. It turned out that the comput-
ing resources which are around us (e.g. smartphones,
tablets, etc.) has very high computing power in total.
Moreover, it may be possible to use it instead of cloud
to perform some computing tasks. This, in turn, leads
to a reduction in the use of network connections and
cloud resources.
In this paper, we introduce to concepts of resource
and task allocation in the hybrid fog and cloud com-
puting environment. We assume that the computa-
tional task may be divided into the operations. Each
operation may be performed either locally - in the fog
or globally - in the cloud.
2 STATE OF THE ART
The concept of fog computing was first proposed by
Cisco in 2011 (Bonomi, 2011) and its basic assump-
tions can be found in (Cisco, 2015). The computa-
tional fog is to provide cloud computing functional-
ity with the use of devices and network infrastruc-
ture located near terminal devices instead of data cen-
ters (Bonomi et al., 2012). It has been noticed that
a large number of devices with even relatively small
unit computing powers such as mobile devices, termi-
nal network devices or other embedded systems pro-
a
https://orcid.org/0000-0001-6425-1691
vide sufficient resources to perform at least part of
the tasks that were originally directed to the cloud.
The fog approach, on the one hand, makes it possi-
ble to limit the use of cloud computing resources and
network communication resources and, on the other
hand, allows reducing the delivery times of the data
processing results.
In (Varghese et al., 2017) it was demonstrated that
in some applications the use of fog instead of the
cloud allows to reduce the use of network resources
needed to perform computational tasks by up to 90%
while providing results in time 20% shorter. The au-
thors of the work (Hassan et al., 2015) reduced the
waiting time for the results of the face recognition al-
gorithm by 50% using a computational fog instead of
a cloud.
In recent times, solutions have been sought to
make the best use of the advantages of fog and cloud
computing when both approaches are used within a
single hybrid system. The research led to the de-
velopment of the F2C (fog-to-cloud) (Masip-Bruin
et al., 2016) paradigm and the Foud model (Tao et al.,
2017). These efforts made possible to design sys-
tems that can use both fog and cloud resources si-
multanously. However, such hybrid systems can op-
erate on the basis of different architectures, which
should be chosen depending on practical applications.
Sample proposals of structures of fog-cloud systems,
which correspond to various potential applications,
can be found e.g. in (Bierzynski et al., 2017) or (Skar-
lat et al., 2017).
At the same time, one of the most important re-
Gasior, D.
Two Approaches to Resource Allocation in Hybrid Fog and Cloud Systems.
DOI: 10.5220/0008168700990105
In Proceedings of the 9th International Conference on Pervasive and Embedded Computing and Communication Systems (PECCS 2019), pages 99-105
ISBN: 978-989-758-385-8
Copyright
c
2019 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
99
search areas in the field of fog-cloud systems has be-
come the problems of managing their resources. The
effective use of limited local resources of comput-
ing fogs and their proper complementation with cloud
computing resources is now a key issue. At the same
time, the authors of many articles on this topic point
out that work in this area is still in the initial phases.
In (Souza et al., 2016a), the authors propose algo-
rithms that allow for the allocation of tasks. They as-
sume that tasks can be divided into operations (called
atomic services). Each of the fog nodes can perform
only the indicated operations, while in the cloud all
of them can be performed. The resources of com-
puting nodes are treated in an abstract way (they rep-
resent computational possibilities) and are discrete -
they are represented by the so-called slots. Each op-
eration has specific requirements on the number of
resources (slots) needed for its implementation. The
problem is to assign operations to nodes so as not to
exceed the number of available resources and to min-
imize three criteria simultaneously: delays in delivery
of results, node load and energy consumption.
A similar problem was considered in (Souza et al.,
2016b), but in this article, the authors considered a
system in which only two types of tasks exist and
the criterion of its operation was expressed in a total
delay in providing all results. In the article (Szydlo
et al., 2017), the authors focused on the problem of
the separation of operations (performed as part of the
task) between the fog and the cloud. Based on the
distributed data dissection paradigm, they proposed
a method of transforming the task into an operation
graph, based on which the assignment of operations
to be performed in the cloud or in the fog is to be
made. The authors do not address aspects related to
the availability of resources. As in previous cases, the
problem is solved for a deterministic and static case.
The issue related to system adaptation is also over-
looked.
In (Hassan et al., 2015), the authors also deal with
the problem of separating calculations between fog
and cloud. The tasks are represented in the form of an
operation graph. As a consequence, the problem itself
is reduced to the classical task of splitting the graph.
However, the authors consider aspects related to the
existence of various computational resources (proces-
sor, RAM memory) and network resources (band-
width). In addition, they point to the importance of
the variability of resource availability in making deci-
sions on the allocation of tasks.
In (Taneja and Davy, 2017) the problem was con-
sidered, in which not only should the task operations
be divided between the fog and the computational
cloud, but also assign the execution of individual op-
erations to the fog nodes. Both computing resources
in the form of processor power and RAM as well as
network resources in the form of connection band-
width were taken into account. Importantly, it was
taken into account that the allowable assignment of
operations to nodes must take into account the lim-
ited availability of resources.
The authors of the article (Aazam and Huh, 2015)
take into account the uncertainty associated with the
parameters describing the task. To make a proper
reservation of resources, they use predictive models
to determine what the task requirements for comput-
ing resources (CPU, RAM, mass storage) and net-
work (connection capacity) will be. Reservation of
resources is performed independently for each task at
the moment of its appearance in the system. It is as-
sumed that the task is indivisible and the manner of
its implementation can not be changed. The alloca-
tion of resources is carried out in a static manner for a
given system state and remains unchanged. A similar
approach was also proposed in (da Silva and da Fon-
seca, 2018).
In (Shah-Mansouri and Wong, 2018), it is as-
sumed that decisions on the allocation of tasks are
made by local nodes of the computing fog in a dis-
tributed way. It is assumed that each task can be di-
vided in any way between nodes of fog and cloud. In
addition, the processing of individual parts of the task
takes place in a parallel manner and they do not affect
each other. The authors evaluate the operation of the
system by the function of perceived quality (Quality
of Experience - QoE) taking into account energy con-
sumption and waiting time for the result of the opera-
tion. The allocation of tasks is determined only for the
current moment, assuming constant and deterministic
values of the parameters describing the system. The
aspect of resource allocation, the ability to change the
methods of performing tasks and system adaptation
are omitted. Only a limited amount of computing re-
sources are included, network resources are not con-
sidered.
The article (Liu et al., 2017) deals with the prob-
lem of allocating tasks for a stochastic case. It is as-
sumed that services in the system consist of streams
of indivisible tasks. It is taken into account that these
streams have a stochastic character (tasks appear in
random times and have a random size). Using queu-
ing models, the authors propose a method for deter-
mining the probabilities of redirection of entire tasks
to other nodes. The goal is to minimize delays, en-
ergy consumption and costs, taking into account con-
straints related to the availability of computing and
communication resources. The decisions are, how-
ever, determined for the average values of the param-
PECCS 2019 - 9th International Conference on Pervasive and Embedded Computing and Communication Systems
100
eters describing the tasks and for the deterministic
amounts of available resources. In addition, the so-
lution found only for the current moment (statically)
assuming the consistency of the way the tasks are car-
ried out.
A similar approach to allocation of tasks in foggy
cloud systems can be found in (Yu et al., 2017). It
is assumed, however, that computational tasks can be
divided in any way between fog nodes and cloud, and
processing takes place in parallel. Despite taking into
account the stochastic nature of the appearance of
tasks, the decisions are determined only for the cur-
rent moment and only on the basis of average values.
The possibility of adapting the system during its oper-
ation and the tasks are always carried out in the same
way.
In (Pham and Huh, 2016), it was assumed that the
tasks can be represented in the form of an operation
graph. Each operation has a defined size (number of
instructions to be executed) and a volume of result
data. Both computing resources (processor capaci-
ties) and network resources (bandwidth connections)
are included. The system is modeled in the form of
a graph whose vertices correspond to computational
nodes and edges of communication resources. The
problem is considered as a classic task of scheduling
tasks on machines (computing nodes). The ranking is
found only for the current moment and the system’s
volatility and uncertainty are not taken into account.
Tasks can be implemented only one way. In (Skarlat
et al., 2017) the problem of task allocation is consid-
ered. Tasks (identified with applications) are divided
into operations (services). It is necessary to choose on
which fog node or cloud computing the particular op-
erations will be carried out. It takes into account the
existence of many limited computational resources
(such as CPU, RAM memory, mass storage), but com-
munication resources are omitted. It’s assumed only
that the data transfer takes a certain time. At the same
time, it was noted that these parameters are variable
over time and it is proposed to use a simple predictive
mechanism (in the form of a weighted average). It is
assumed that decisions are made cyclically, at regular
intervals, taking into account the current state of the
system.
The review of the literature leads to a conclusion
that works in the field of fog and hybrid systems are
still at a preliminary stage. In particular, no attempt
has been made to solve the allocation problems for
the distributed case, i.e. when the resource and task
allocation problem is solved by each computational
fog independently.
3 SYSTEM MODEL
In this section we describe the hybrid fog-cloud sys-
tem under consideration.
3.1 System Description
Taking into account the indicated principles of the
system’s functioning, it can be stated that its structure
should be layered and correspond to the one shown
in Fig. 1. Such a system can be described as a hy-
brid fog-cloud system, and its individual layers can
be characterized as follows:
1. Sensor layer - consists of devices collecting data,
2. Fog layer - consists of devices (usually mobile),
which are responsible for redirecting data to the
cloud but also able to perform part of the com-
putational tasks needed to provide the service. It
consists of:
at least one permanent node acting as a de-
vice managing the computational fog and en-
abling the implementation of certain computa-
tional tasks,
additional nodes providing computational re-
sources, the number of which can change over
time,
infrastructure of the local network performing
data transmissions within the calculation fog
(e.g. between local calculation nodes).
3. Transmission layer - responsible for transmitting
data from the fog to the cloud.
4. Cloud layer - performing a computational task
needed to complete the services and responsible
for storing data for all users of the system.
Figure 1: Layered architecture of the considered hybrid fog-
cloud system.
Two Approaches to Resource Allocation in Hybrid Fog and Cloud Systems
101
In this paper, we also assume that each fog is iso-
lated from the others (it is not possible to use com-
putational resources for the needs of another fog).
In contrast, the cloud computing provides a common
computing and archiving space for all fogs. In simpli-
fied form, it can be illustrated in Fig. 2. The results
of computation for the services must be sent to the
cloud.
Figure 2: Connection structure of the considered hybrid
fog-cloud system.
3.2 Services
We assume that all computational tasks are performed
to provide particular services. Each task may be per-
formed at any fog node (but only one) or in the cloud.
All tasks may be interrupted at any time of process-
ing. The calculations may be started in the fog and
completed in the cloud. WE assume that services gen-
erates constant streams of tasks.
As an example, one may consider a video image
acquisition and processing system. The basic services
of the system under consideration are: a. streaming -
the service consists in transferring data from IP cam-
eras (sensor layer) to the cloud in order to provide
the currently recorded image and its archiving. Im-
age quality and the amount of data sent to the cloud
depend primarily on: number of frames per second
(frame per second - fps), frame compression rate.
Once the camera may capture video in higher qual-
ity than user requires, some image processing tasks
may be done - e.g. changing fps or increasing degree
of compression. These tasks may be performed either
in the fog or in the cloud. If they are carried out lo-
cally, the less data is to be send. But even performing
them in the cloud is still profitable since it saves the
disk space.
3.3 Resources
The resources of the considered system that can be
allocated for the needs of individual services can be
divided into computational and network (communi-
cation). Among computing resources, the most im-
partant are: CPU, RAM memory and storage. In turn,
among network resources, the capacity of links is crit-
ical (ie the maximum possible data transfer speed be-
tween two network nodes).
The characteristics of the resources of the consid-
ered system that can be used in the implementation of
specific computational tasks from the perspective of
individual layers is as follows:
1. Sensor layer - resources that could be subject to
allocation are not considered here. stream.
2. Fog layer:
Calculation resources - are located in fog
nodes, which most often are mobile devices
(tablets, smartphones) or - potentially - other
equipment that can share its processor and
memory and its appropriate software is possi-
ble. The computational resources of the system
fog node can be characterized as follows: CPU
- mobile processors with relatively low unit ef-
ficiency, the amount of RAM and storage are
relatively small.
Network resources - communication between
devices constituting nodes of the computational
fog and IP cameras takes place within the local
network, usually based mainly on the so-called
Wi-Fi routers operating in accordance with the
IEEE 802.11 b / g / n / ac standards in the
2.4Ghz and 5Ghz band. Fog nodes are most
often equipped with wireless interfaces (WiFi).
The amount of network resources of the fog
may be characterized as follows. Links’ capac-
ities are relatively high (especially when net-
work devices use the latest wireless communi-
cation standards and technologies) and not sub-
ject to significant changes in time (unless the
user uses a local network for other applications
- then the resources can be significantly lim-
ited or strongly variable), the capacity of lo-
cal calls may become critical when the number
of recording devices and computational cloud
nodes increases significantly.
3. Transmission layer:
Calculation resources - computational re-
sources are not considered in this layer, as it
is only used to transmit data from the fog to the
cloud.
Network resources - in this case, the key re-
sources concern the access connection between
the calculation fog and the Internet, allowing
data to be sent to the cloud. These resources
can be described as follows. The link capacities
may be undoubtedly bottlenecks. They are usu-
ally very limited in comparison to the requests.
especially when the user uses the mobile net-
work.
PECCS 2019 - 9th International Conference on Pervasive and Embedded Computing and Communication Systems
102
4. Cloud layer:
Calculation resources - relatively large, but it
involves certain costs.
Network resources - similar to computing re-
sources and these are easily scalable.
The amount of resources allocated to the perfor-
mance of individual operations affects primarily the
time of their implementation, and consequently deter-
mines the time of completion of the task as part of the
service. In addition, there may be requirements re-
lated to the minimum amount of resources needed to
perform a specific service (especially RAM and mass
memory). In this paper we make the following as-
sumptions in the context of resources:
The amounts of available resources within the
calculation nodes and network resources can be
treated as approximate values.
From the point of view of system operation, only
the resources listed above are relevant.
3.4 Objective
The performance of the system may be measured by
the average time of completing tasks. The time of
completing particular task is a sum of fog’s process-
ing time and cloud’s processing time. The processing
time depends on the load of the computational node
(as well in fogs as in the cloud). The higher is load,
the longer is potential processing time.
3.5 Notation
3.5.1 System Parameters
The following notation is used to describe system’s
parameters:
I
k
- set of tasks indexes related to the kth fog,
P
i
- the amount of CPU needed to perform ith task,
M
i
- amount of RAM needed while ith task is pro-
cessed,
S
start,i
- the data volume related to ith task at the be-
gining of processing
S
stop,i
- the data volume related to ith task when the
processing is finished, we assume that the volume of
data linearly decrease during processing, i.e. the data
volume while the ith task is finished in nth percent is
given as S
i
= n/100 (S
start,i
S
stop,i
) + S
stop,i
J
k
- number of kth fog’s nodes (for convenience we
use k = 0 to denote a cloud and we assume J
0
= 1).
CPU
jk
- the amount of CPU resources of the jth node
of kth fog,
RAM
jk
- the amount of RAM resources of the jth
node of kth fog,
HDD
jk
- the amount of storage of the jth node of kth
fog,
CAP
k
- the link capacity between the kth fog and the
cloud,
CPU
CLOUD
- the amount of CPU resources of the
cloud (it is assumed that it is enough to perform all
tasks in the cloud, i.e.
i
P
i
CPU
(CLOUD)
).
Q - the objective function (e.g. the quality of the sys-
tem).
3.5.2 Decision Variables
The decision variable are as follows:
x
i
- the fraction of ith task performed in the fog,
x = [x
i
],
y
ijk
{0, 1} - indicated if ith task is assigned to
jth node of kth fog, y = [y
ijk
],
c
i
- the links capacity allocated to transmit ith task
from the fog to the cloud, c = [c
i
].
3.5.3 Objective Function
Let us assume that the processing time of ith task in
the kth fog may be calculated as follows:
t
F
i
=
j
y
ijk
x
i
P
i
and in the cloud:
t
C
i
=
j
1
(1 x
i
)P
i
. The queing delay of the kth fog node for ith task
may be estimated as follows:
d
F
i
=
j
y
ijk
1
CPU
jk
v
q
x
q
y
qvk
P
q
and the queing delay of the cloud:
d
C
i
=
1
CPU
CLOUD
q
(1 x
q
)P
q
The transmission delay of ith task between fog and
cloud we estimate as:
t
F2C
i
= (x
i
/100)((S
start,i
S
stop,i
) + S
stop,i
)/c
i
The total delay of processing ith task is:
T
i
= t
F
i
+ t
C
i
+ d
F
i
+ d
C
i
+ t
F2C
i
The performance of the system may be measured
as a average total delay of all tasks:
Q(x,y,c) =
1
|I
k
|
i
T
i
Two Approaches to Resource Allocation in Hybrid Fog and Cloud Systems
103
4 PROBLEM FORMULATIONS
4.1 Cloud-based Central Resource
Management
For the centralized resource allocation problem, we
may give the following formal formulation:
Given: system parameters
Find:
(x,y,c) = arg max
(x,y,c)
Q(x,y,c)
subject to the following constraints:
k
iI
k
jJ
k
y
ijk
1 (1)
k
jJ
k
iI
k
y
ijk
x
i
P
i
CPU
jk
(2)
k
jJ
k
iI
k
y
ijk
M
i
RAM
jk
(3)
k
jJ
k
iI
k
y
ijk
S
start,i
HDD
jk
(4)
k
iI
k
c
i
CAP
k
(5)
i
c
i
0 (6)
i
j
k
0 y
ijk
1 (7)
i
x
i
{0,1} (8)
The constraint (1) guarantees that each task is per-
formed by no more than one fog node. The con-
straints (2) - (4) means that computational resources
are not overloaded(according to the assumptions only
fog resource must be taken into consideration). The
network resources are not exceeded while (5) is pre-
served (it is assumed that only transmission layer net-
work resources must be considered). The constraints
(6) - (8) define the variables domains.
4.2 Fog-based Distributed Resource
Management
Let us introduce auxiliary variables x
(k)
which con-
sist of only these x
i
for which i I
k
. Simirarly we
define c
(k)
. Let us also denote y
(k)
= [y
ijk
]. For con-
venience, let x
(k)
means the vector of variables x
i
for
which i 6∈ I
k
and y
(k)
= [y
ijl
]
l6=k
. For simiplicity let
us denote x =< x
(k)
,x
(k)
>, c =< c
(k)
,c
(k)
> and
y =< y
(k)
,y
(k)
>.
Finally, for the distributed resource allocation prob-
lem, we may give the following formal formulation:
Each fog solves the following problem: Given: sys-
tem parameters
Find:
(x
(k)
,y
(k)
,c
(k
)) =
= arg max
(x
(k)
,y
(k)
)
Q(< x
(k)
,x
(k)
>,
< y
(k)
,y
(k)
>,< c
(k)
,c
(k)
>)
subject to the following constraints:
iI
k
jJ
k
y
ijk
1 (9)
jJ
k
iI
k
y
ijk
x
i
P
i
CPU
jk
(10)
jJ
k
iI
k
y
ijk
M
i
RAM
jk
(11)
jJ
k
iI
k
y
ijk
S
start,i
HDD
jk
(12)
iI
k
(x
i
/100)(S
start,i
S
stop,i
) + S
stop,i
CAP
k
(13)
i
c
i
0 (14)
i
j
0 y
ijk
1 (15)
i
x
i
{0,1} (16)
The constraints (9) - (13) corresponds to the ap-
propriate constraints (1) - (5), but only for particular
fog.
This is a set of optimization problems and the so-
lution of one affects the others. Such defined prob-
lem is called a game and may be considered from the
Game Theory perspective. The fogs are the players.
The x
(k)
and y
(k)
constitutes a strategy. The feasible
strategies are defined by the constraints. The objec-
tive is the payoff.
5 SOLUTION
Assuming that Q is the concave function, one may
notice, that the cloud-based central resource manage-
ment problem is the mixed integer nonlinear program-
ming and to solve it, the appropriate optimization
methods may be applied - e.g. the Bender’s decom-
position.
On the other hand, fog-based distributed resource
management problem is the game, since each fog
solves their own optimization problem simultanously
and these solutions affects the objective (so-called
PECCS 2019 - 9th International Conference on Pervasive and Embedded Computing and Communication Systems
104
payoff) of other fogs. In this case, the solution is per-
ceived as an equilibrium. The most common is ap-
plication of a Nash equilibrium since it is a solution
that once obtained, no one is going to change their
decision independently.
6 FINAL REMARKS
In this paper, we described the proposition of hybrid
fog and cloud system. We discussed which resources
are critical for the system’s performance. We also for-
mulate the allocation problems for the case of cen-
tral and distributed resource management in the in-
troducted systems and briefly discussed the possible
solution method.
REFERENCES
Aazam, M. and Huh, E.-N. (2015). Dynamic resource
provisioning through fog micro datacenter. In 2015
IEEE international conference on pervasive comput-
ing and communication workshops (PerCom work-
shops), pages 105–110. IEEE.
Bierzynski, K., Escobar, A., and Eberl, M. (2017). Cloud,
fog and edge: Cooperation for the future? In 2017
Second International Conference on Fog and Mobile
Edge Computing (FMEC), pages 62–67. IEEE.
Bonomi, F. (2011). Connected vehicles, the internet of
things, and fog computing. In The eighth ACM in-
ternational workshop on vehicular inter-networking
(VANET), Las Vegas, USA, pages 13–15.
Bonomi, F., Milito, R., Zhu, J., and Addepalli, S. (2012).
Fog computing and its role in the internet of things. In
Proceedings of the first edition of the MCC workshop
on Mobile cloud computing, pages 13–16. ACM.
Cisco (2015). Fog computing and the internet of things:
Extend the cloud to where the things are. Cisco White
Paper.
da Silva, R. A. and da Fonseca, N. L. (2018). Resource al-
location mechanism for a fog-cloud infrastructure. In
2018 IEEE International Conference on Communica-
tions (ICC), pages 1–6. IEEE.
Hassan, M. A., Xiao, M., Wei, Q., and Chen, S. (2015).
Help your mobile applications with fog computing. In
2015 12th Annual IEEE International Conference on
Sensing, Communication, and Networking-Workshops
(SECON Workshops), pages 1–6. IEEE.
Liu, L., Chang, Z., Guo, X., Mao, S., and Ristaniemi, T.
(2017). Multiobjective optimization for computation
ofoading in fog computing. IEEE Internet of Things
Journal, 5(1):283–294.
Masip-Bruin, X., Mar´ın-Tordera, E., Tashakor, G., Jukan,
A., and Ren, G.-J. (2016). Foggy clouds and cloudy
fogs: a real need for coordinated management of fog-
to-cloud computing systems. IEEE Wireless Commu-
nications, 23(5):120–128.
Pham, X.-Q. and Huh, E.-N. (2016). Towards task schedul-
ing in a cloud-fog computing system. In 2016
18th Asia-Pacific network operations and manage-
ment symposium (APNOMS), pages 1–4. IEEE.
Shah-Mansouri, H. and Wong, V. W. (2018). Hierarchical
fog-cloud computing for iot systems: A computation
ofoading game. IEEE Internet of Things Journal,
5(4):3246–3257.
Skarlat, O., Nardelli, M., Schulte, S., and Dustdar, S.
(2017). Towards qos-aware fog service placement. In
2017 IEEE 1st international conference on Fog and
Edge Computing (ICFEC), pages 89–96. IEEE.
Souza, V. B., Masip-Bruin, X., Marin-Tordera, E., Ram´ırez,
W., and Sanchez, S. (2016a). Towards distributed
service allocation in fog-to-cloud (f2c) scenarios.
In 2016 IEEE global communications conference
(GLOBECOM), pages 1–6. IEEE.
Souza, V. B. C., Ram´ırez, W., Masip-Bruin, X., Mar´ın-
Tordera, E., Ren, G., and Tashakor, G. (2016b). Han-
dling service allocation in combined fog-cloud scenar-
ios. In 2016 IEEE international conference on com-
munications (ICC), pages 1–5. IEEE.
Szydlo, T., Brzoza-Woch, R., Sendorek, J., Windak, M., and
Gniady, C. (2017). Flow-based programming for iot
leveraging fog computing. In 2017 IEEE 26th Inter-
national Conference on Enabling Technologies: In-
frastructure for Collaborative Enterprises (WETICE),
pages 74–79. IEEE.
Taneja, M. and Davy, A. (2017). Resource aware place-
ment of iot application modules in fog-cloud comput-
ing paradigm. In 2017 IFIP/IEEE Symposium on Inte-
grated Network and Service Management (IM), pages
1222–1228. IEEE.
Tao, M., Ota, K., and Dong, M. (2017). Foud: Integrat-
ing fog and cloud for 5g-enabled v2g networks. IEEE
Network, 31(2):8–13.
Varghese, B., Wang, N., Nikolopoulos, D. S., and Buyya, R.
(2017). Feasibility of fog computing. arXiv preprint
arXiv:1701.05451.
Yu, L., Jiang, T., and Zou, Y. (2017). Fog-assisted oper-
ational cost reduction for cloud data centers. IEEE
Access, 5:13578–13586.
Two Approaches to Resource Allocation in Hybrid Fog and Cloud Systems
105