ArticlePDF Available

Matching IoT Devices to the Fog Service Providers: A Mechanism Design Perspective

Authors:

Abstract and Figures

In the Internet of Things (IoT) + Fog + Cloud architecture, with the unprecedented growth of IoT devices, one of the challenging issues that needs to be tackled is to allocate Fog service providers (FSPs) to IoT devices, especially in a game-theoretic environment. Here, the issue of allocation of FSPs to the IoT devices is sifted with game-theoretic idea so that utility maximizing agents may be benign. In this scenario, we have multiple IoT devices and multiple FSPs, and the IoT devices give preference ordering over the subset of FSPs. Given such a scenario, the goal is to allocate at most one FSP to each of the IoT devices. We propose mechanisms based on the theory of mechanism design without money to allocate FSPs to the IoT devices. The proposed mechanisms have been designed in a flexible manner to address the long and short duration access of the FSPs to the IoT devices. For analytical results, we have proved the economic robustness, and probabilistic analyses have been carried out for allocation of IoT devices to the FSPs. In simulation, mechanism efficiency is laid out under different scenarios with an implementation in Python.
Content may be subject to copyright.
sensors
Article
Matching IoT Devices to the Fog Service Providers:
A Mechanism Design Perspective
Anjan Bandyopadhyay 1,2, Vikash Kumar Singh 3,*, Sajal Mukhopadhyay 1, Ujjwal Rai 1,
Fatos Xhafa 4,* and Paul Krause 5
1Department of Computer Science & Engineering, National Institute of Technology Durgapur,
Durgapur 713209, West Bengal, India; ab.15it1102@phd.nitdgp.ac.in (A.B.);
sajal@cse.nitdgp.ac.in (S.M.); ur.17u10206@btech.nitdgp.ac.in (U.R.)
2Amity School of Engineering & Technology Kolkata, Amity University, Kolkata 700157, West Bengal, India
3School of Computer Science and Engineering, VIT-AP University, Amaravati 522237, Andhra Pradesh, India
4Department of Computer Science, Universitat Politècnica de Catalunya, 08034 Barcelona, Spain
5Department of Computer Science, University of Surrey, Guildford GU2 7XH, UK; p.krause@surrey.ac.uk
*Correspondence: vikash.singh@vitap.ac.in (V.K.S.); fatos@cs.upc.edu (F.X.)
The paper is an extended version of our paper published in Bandyopadhyay, A.; Xhafa, F.; Mallik, S.; Krause, P.;
Mukhopadhyay, S.; Singh, V.K.; Maulik, U. A Framework for allocation of IoT devices to the fog service
providers in strategic setting. In Proceedings of the International Conference on P2P, Parallel, Grid, Cloud and
Internet Computing, Antwerp, Belgium, 7–9 November 2019; pp. 340–351.
Received: 29 October 2020; Accepted: 23 November 2020; Published: 26 November 2020


Abstract:
In the Internet of Things (IoT) + Fog + Cloud architecture, with the unprecedented growth of
IoT devices, one of the challenging issues that needs to be tackled is to allocate Fog service providers
(FSPs) to IoT devices, especially in a game-theoretic environment. Here, the issue of allocation of FSPs
to the IoT devices is sifted with game-theoretic idea so that utility maximizing agents may be benign.
In this scenario, we have multiple IoT devices and multiple FSPs, and the IoT devices give preference
ordering over the subset of FSPs. Given such a scenario, the goal is to allocate at most one FSP to each
of the IoT devices. We propose mechanisms based on the theory of mechanism design without money to
allocate FSPs to the IoT devices. The proposed mechanisms have been designed in a flexible manner to
address the long and short duration access of the FSPs to the IoT devices. For analytical results, we have
proved the economic robustness, and probabilistic analyses have been carried out for allocation of IoT
devices to the FSPs. In simulation, mechanism efficiency is laid out under different scenarios with an
implementation in Python.
Keywords:
Fog computing; matching; mechanism design; IoT devices; truthful; Pareto optimal; truthful
mechanism
1. Introduction
With the the ever-increasing growth of Internet of Things (IoT) devices across the globe [
1
] (CISCO
has put forward a figure that shows we could have 50 billions devices ready to be linked by the year
2020 with multiple devices belonging to a person on average [
2
]); vast amounts of data are to be stacked
and handled. This study reveals that, one of the prime factors with IoT devices is of limited processing
power and storage. These limitations of the IoT devices give rise to several issues such as reliability,
security, performance, and privacy [
3
]. In order to overcome these issues, one of the potential options
Sensors 2020,20, 6761; doi:10.3390/s20236761 www.mdpi.com/journal/sensors
Sensors 2020,20, 6761 2 of 32
for handling the data is to utilize the Cloud platform [
4
,
5
]. It provides services to the users without
establishing infrastructures to their end.
The integration of IoT with Cloud brings many advantages to different IoT applications [
6
]. One of
the plausible advantages is managing the huge amount of data generated from sensors and other devices
in an efficient and effective manner. These huge amounts of data that are stored in the Cloud are analyzed,
and decisions are taken in many real-life scenarios such as telemedicine and patient care. However,
sending such a huge amount of data to the Cloud and retrieving them back requires an excessively high
network bandwidth. To address this potential point, Fog computing [
3
,
7
] could be a sensible approach.
It is a newly developed technology by CISCO [
8
] that will be benefiting several areas, mainly Internet of
Things (IoT). Like Cloud computing, Fog computing facilitates services such as data repository and data
handling to the IoT users. However, differently from the Cloud, in Fog computing, the processing of data
and storage of data is done locally to the available Fog service providers (FSPs). The general framework
consisting of Cloud computing, Fog computing, and IoT devices is depicted in Figure 1. Talking in terms of
Fog computing, currently, the number of FSPs are not ample. As IoT devices are proliferating, more FSPs
may team up to impart services to match the growing demand from IoT devices. The increasing number
of FSPs dispenses users (synonymously used with IoT devices) with more preferences, and users will
have a chance to speculate about choosing pertinent FSPs. Therefore, for this purpose, the focus should be
on developing a good resource allocation mechanism in the context of Fog computing. To address this
challenge, in the past, several works have been done that propose resource allocation mechanisms for
Fog computing or a similar computing paradigm [
9
12
]. However, most of these mechanisms were not
designed for the system where the participating agents (such as IoT devices, FSPs, etc.) are strategic in
nature. By strategic, we mean that agents will try to game the system in order to gain.
Considering the strategic behavior of the participating agents, previously, research has been carried
out that focused on designing truthful (or strategy-proof) mechanisms, where the agents are incentivized
for reporting their private information in a truthful manner [
5
,
13
18
]. The above presented statistics
and discussion strongly motivated us to explore the resource allocation problem in the context of Fog
computing in strategic setting. A deep learning-based solution coupled with blockchain technology is
addressed in [19]. In this paper, one Fog provider has multiple Fog units as the resources, and taking the
users as the miners in a blockchain network, the Fog units are leveraged to the miners through a deep
learning methodology. Here, the objective is to get the optimal allocation as well as to maximize revenue in
terms of payment. Other directions that are playing a pivotal role for Fog computing research include data
caching and service offloading [
20
,
21
], rendering Quality of Service (QoS) and Quality of Experience (QoE)
guarantees mainly in terms of energy efficient design, minimizing delay and congestion in the network,
and providing efficient local access for achieving the desired objective in Fog computing [21].
Dissimilar to the above discussion and the literature works discussed (see Section 2), in this paper,
the problem of allocating IoT devices in Fog environment is formulated using a game-theoretic idea where
money is not involved. In literature, this game-theoretic idea is named a mechanism design without
money [
22
]. More formally, the FSPs provide their services free of cost to the IoT devices. Prior to this,
in [
23
], the resource allocation problem in Fog computing was investigated in a zero budget environment.
In this, we have multiple FSPs (processes the data) and multiple IoT devices (collects the data). A single
or multiple FSP(s) can handle the data accumulated by the IoT devices, but the immediate question that
arises is how the allocation of FSPs should be done to the IoT devices for processing the data. For this
purpose, each of the IoT devices provide strict preference ordering (or ranking) over all the available FSPs
or the subset of FSPs. Given this setup, the goal is to allocate at most one FSP to each of the IoT devices.
Truthful mechanisms were proposed in [23] for allocating FSPs to the IoT devices.
Sensors 2020,20, 6761 3 of 32
Cloud Computing
Fog Computing
FSP
FSP
FSP
FSP
Cloud Cloud
IoT Devices
Smart
Home
TravelBicycle
Light
Bulb
Electric
Kettle
Car
Data Transfer
Figure 1. General framework of Internet of Things (IoT) + Fog + Cloud.
However, one can think for the more general scenario of the problem considered in [
23
] by relaxing
the constraint that each of the available IoT devices (or users) will be ranking all the available FSPs or
the subset of available FSPs in strict sense. Some of the IoT devices may be indifferent among the FSPs,
so that the preference lists may have ties. Given this setup, the goal is to allocate FSPs to the IoT devices.
However, in this paper, the above discussed problem is studied in two different directions: (1) an IoT
device is assigned to the FSP for exclusive use for a longer duration (afterwards, it is termed
ti=
),
(2) an IoT device is assigned to the FSP for a shorter duration (afterwards, it is termed
ti6=
). This case
where an access of shorter duration is required is more challenging than the case of long duration access.
In these contexts, the truthful (or incentive compatible) mechanisms are proposed, motivated by [
24
,
25
].
In addition to the truthfulness, all the mechanisms that are sifted here run in polynomial time, which
make our proposed mechanisms scalable. Also, the mechanisms support the case of duration without
deadlines and duration with the deadlines for allocating IoT devices to the FSPs and thereby making our
mechanisms amenable to address the time bar.
It should be noted that the allocation problem considered in this paper arises more each time in
many real-life applications and projects, especially with the emergence of 5G technologies, such as from
smart cities and smart transportation systems. For instance, the C-Roads Spain project (with participation
of IMP-Information Modeling Processing research group InLab of Universitat Polit
`
e
cnica de Catalunya,
Spain), which is part of the European project C-Roads, includes the deployment of intelligent transport
systems in five pilot projects throughout the Spanish geography. The aim is to offer warning services to
drivers about the potential risks that can be found on the roads such as road works, stationary vehicle,
adverse weather conditions, etc. to evaluate the effectiveness of these services. As a second example,
a joint EPSRC/Jaguar LandRover funded project with participation of the University of Surrey, UK is
developing an innovative architecture for the dynamic migration of workloads across edge/Fog nodes to
support a wide range of use cases for connected and autonomous vehicles.
Our Contributions
The main contributions of this paper are the following:
The proposed mechanisms in this paper are amenable to address the long and short duration access
of the FSPs to the IoT devices in a more general setting as the
ti6=
situation is extended in
a framework that supports the case where the IoT devices posit their demand that encompasses
Sensors 2020,20, 6761 4 of 32
deadline. (The work done in this paper is an extension of the preliminary version of the paper [
23
] that
appeared in The 14th International Conference on P2P, Parallel, Grid, Cloud and Internet Computing
(3PGCIC-2019). November 7–9, University of Antwerp, Antwerp, Belgium.) The comparison table
comparing the previous framework and the framework presented in this paper is depicted in Figure 2.
In Figure 2, the comparison between the previous framework and the framework presented in
this paper is discussed. In the framework presented in this paper, each of the tasks also have a
deadline and the processing time associated with it, whereas in the previous framework, the tasks
had only processing time associated with them. In this paper, the makespan resulting after scheduling
all the tasks using Further Modified Truthful Mechanism for Fog Service Allocation (FMTM-FSA;
the mechanism proposed in the framework presented in this paper) is less as compared to the
makespan achieved when scheduled using the Modified Truthful Mechanism for Fog Service
Allocation (MTM-FSA; the mechanism proposed in a previous framework).
In this paper, the truthful mechanism is proposed for the setup consisting of multiple IoT devices
and FSPs, where the tasks associated with the IoT devices have both processing time and deadline.
Further in this paper, the proof of the lemmas are presented in detailed manner and the extensive
probabilistic analysis is carried out. In this paper, the simulation presented in Section 8is carried out
on a large data set, whereas for the previous framework, it is carried out on a small data set. Also,
an additional simulation is carried out, where FMTM-FSA and MTM-FSA are compared on the basis
of maximum lateness.
For the case
ti=
, two mechanisms are proposed (one of which is truthful) for allocating FSPs
to the IoT devices, namely, Random Mechanism for Fog Service Allocation (RM-FSA) and Truthful
Mechanism for Fog Service Allocation (TM-FSA). The truthful mechanism is proposed for the case
ti6=
, namely, Modified Truthful Mechanism for Fog Service Allocation (MTM-FSA). The central
idea of the proposed mechanisms is given in Figure 3.
The analytical results are provided in terms of the following:
Economic robustness (strategy-proofness and Pareto optimality)
Probabilistic analysis that envisage the allocation in connection with the preferences furnished
by the IoT devices.
Detailed experimental analysis is carried out based on the following important parameters by
considering all cases regarding the availability of FSPs and IoT devices:
Efficiency Loss.
Best Allocations.
The remaining sections of the paper are described as follows. The prior works are discussed
in Section 2. In Section 3, we describe the system model and formulate the problem. The proposed
mechanisms for the case
ti=
are illustrated in Section 4. In Section 5, analysis of the TM-FSA is carried
out. The algorithm for the extended version of the problem is depicted in Section 6. The discussed model
is further extended in Section 7. The experimental results are discussed in Section 8. Finally, the conclusion
and future work are highlighted in Section 9.
Sensors 2020,20, 6761 5 of 32
Previous
Framework
Framework
Presented in
this paper
Jobs with
time bar
Jobs with
time deadline
considered? considered?
Makespan
minimized?
Truthfulness
under deadline
presented?
Detailed
presented?
X
X X X X X
× × × ×
Probabilistic
analysis
made?
Simulation
with large
data set
presented?
X X
× ×
proof
Figure 2. Comparison between the previous framework and the framework presented in this paper.
Central
Idea
TM-FSA MTM-FSA FMTM-FSARM-FSA
Allocating the available
resources randomly.
Allocating the available
best resources but in
exclusive manner.
(t=) (t6=)
Allocating the available best
resources considering the time
demand, so that more IoT
device get their available best
Considers IoT devices with
deadline and processing time.
Considers available best but
the order in which IoT devices
are accessed is based on the deadline
that minimizes the lateness.
Figure 3. Central idea of the proposed mechanisms.
2. Related Work
As the background of the IoT + Fog + Cloud framework, in the IoT+ Cloud architecture, several
works have been done in the direction of modeling the problem of resource allocation through the concept
of mechanism design with money (mainly auctions) and mechanism design without money, as the
participating agents are strategic in nature. In the scenario where money is involved, in [
26
], an auction
is utilized to allocate the computing capacity of a computer to the users. Based on the demand of the
computation time by the users, the payment of the users are decided. In [
27
], a novel model called Zenith is
proposed for allocating computing resources in an edge computing platform that allows service providers
to establish resource sharing contracts with edge infrastructure providers apriori.
A similar line of thinking is still relevant in today’s Cloud computing market and will be discussed
in many subsequent papers. As the participating agents are rational, they can manipulate their private
information to have some extra incentives. In order to tackle such a situation, some truthful mechanisms
are discussed [
17
]. Other potential directions that are significantly important for Fog computing research
include data caching and service offloading [
20
,
21
], rendering Qos/QoE guarantees for achieving the
desired objective in Fog computing as efficiently as possible, incorporating machine learning to efficiently
allocate the users to the FSPs and to maximize the revenue of the FSPs. The data caching and service
offloading that are discussed in [
20
,
21
] mainly discuss how the Fog nodes can be used as a repository to
provide a local access to the data or service being accessed repetitively instead of accessing the Cloud
infrastructures multiple times for the same and thereby avoiding congestion in the network. The data
caching techniques that are rendered in [
20
,
21
] can be used in our model to have fair allocation where the
assignments that are happening could be stored (as a data cache) and a proportional assignment of the IoT
devices to the FSPs could be proffered.
The guarantee regarding QoS/QoE is another facet of Fog computing. By structure, Fog computing
is potentially viable to inject QoS/QoE guarantees by providing local accesses to the users rather than
communicating every time to the Cloud. In literature, various issues like energy-efficient design, latency,
Sensors 2020,20, 6761 6 of 32
and minimizing congestion as a whole are explored in a reactive (as and when demand comes) or a
proactive (in hindsight) manner in general [
21
,
28
,
29
] or considering particular application in mind [
30
,
31
].
Moving on to the case where money is not involved in any sense, in the setup of [
32
], there are
multiple users (here, users and IoT devices terms are used interchangeably) and multiple service providers,
say n, and users provide preference ordering over the available service provider. Here, the goal is to
allocate the best available service provider to each of the user. The truthful mechanism is proposed for this
discussed setup. Further in [
33
], the setup discussed in [
32
] is extended to the case where both the users
and the service providers provide strict preference ordering (full or partial preference) over the members
of the opposite community. A truthful mechanism is proposed to allocate the services to the users (each
user receives a single service).
Coming back to our IoT + Fog + Cloud framework, currently, there are few existing works on the
concept of Fog computing [
7
,
34
]. For a detailed overview of Fog computing and the research challenges,
the readers can go through [
3
,
7
,
34
,
35
]. In the past, several works have been done that consider the problem
of resource allocation in the context of Fog computing but in a nonstrategic setting [
9
,
11
]. In [
36
], in Fog
computing, the set of participating agents report the bundle of resources along with the bid values. Given
this, the goal is to assign available resources to the participating agents in a conflict-free manner. In [
37
],
in order to schedule the tasks of IoT devices, the idea of data mining is utilized. For this, in order to
classify the tasks, a mechanism is proposed named I-apriori (an improved version of the apriori association
rules algorithm). In [
38
], in Fog environment, the problem of scheduling delay-critical IoT devices service
is formulated using game theory. For this purpose, an intelligent matching algorithm is proposed that
matches the Fog nodes to the IoT devices. The above discussed papers in Fog computing have mainly
considered the problems from a monetary perspective.
3. System Model
In this section, we present the formal statement of our problem. We consider nFSPs and mIoT devices.
It is considered that
m=n
. However, for the simulation purpose, we have also considered that
m6=n
(m>nand m<n). The FSPs are present all the time in order to impart their services on a demand basis.
In this model, it is considered that the FSPs and IoT devices are heterogeneous in nature. By heterogeneity,
we mean that the FSPs may vary in terms of services provided (some FSPs may provide CPU-related
services, some may provide data analytic related facilities, and so on) and IoT devices may vary in terms
of type of services requested (CPU related services, data analytic related services, and so on).
Based on the type of services provided by the FSPs and the demand of services by the users, the users
and the FSPs are categorized into kdifferent categories. Here, the categorization is done on the simple
search techniques and given kdifferent parameters. k-Means clustering or single link clustering using
Kruskal’s algorithm or any other clustering (fulfilling some optimization criteria) could also be used
depending on the situation and objective we have. The set of kdifferent categories is given as
C=
{c1,c2, . . . , ck}.
In any category
ci
, the set of FSPs is given as
fi={f1
i
,
f2
i
,
. . .
,
fni
i}
; here,
ni
is the number of FSPs in
the
i
th category. In our case,
nin
and
ci
ni=n
. The set of all the FSPs in kdifferent categories is given
as
f={f1
,
f2
,
. . .
,
fk}
. In any category
ci
, one of the components that is preserved for any FSP
fj
i
is the
amount of time it is available to provide its service and is denoted by
ej
i
. For all the FSPs in the
i
th category,
it is given as
ei={e1
i
,
e2
i
,
. . .
,
eni
i}
. For all the kdifferent categories, it is given as
e={e1
,
e2
,
. . .
,
ek}
. On the
other hand, in any category
ci
, the set of IoT devices is given as
Ii={I1
i
,
I2
i
,
. . .
,
Imi
i}
; here,
mi
is the
number of IoT devices in the
i
th category such that
mim
and
ci
mi=m
. Further, each IoT device
Ij
i
is
characterized by the two parameters: (1) the preference ordering of
Ij
i
over the subset of
fi
represented
Sensors 2020,20, 6761 7 of 32
by the symbol
j
i
or
=j
i
and (2) the time required to complete the desired job of the IoT device
Ij
i
(here,
job means the desired processing of its collected data) represented by the symbol
tj
i
. Now, considering the
first parameter, each user has a preference ordering over the subset of member of
fi
. The strict preference
ordering of
t
th IoT device
It
iIi
in
i
th category over the set
fi
is denoted by
t
i
. More formally,
f1
it
if2
i
means that in
i
th category tprefers
f1
i
to
f2
i
. The ties in the preference list of
t
th IoT device in
ci
category
over the set
fi
is denoted by
=t
i
, where
f1
i=t
if2
i
means that, in
i
th category, the IoT device
It
i
prefers equally
to
f1
i
and
f2
i
. In our setup,
={1
,
2
,
. . .
,
k}
represents a set consisting of the preferences given by
the IoT devices in kdifferent categories. The symbol
i
represents the preference list of the IoT devices
in category
ci
and is given as
i={1
i
,
2
i
,
=3
i
,
. . .
,
mi
i}
. For the second parameter, for any category
ci
,
tj
i <
. It means that it is just a number, say 10, that depicts the completion time from when it is getting
allocated. The unit of the number may be second, minute, hour, etc. depending on the applications.
Given the preference list of the IoT devices, the goal is to allocate at most one FSP to each of the IoT
devices. Let us say the resulting allocation vector for all the kcategories is given as
α={α1
,
α2
,
. . .
,
αk}
,
in which
αi
is the allocation set of the participating agents that belong to the category
ci
and is denoted as
αi={α1
i,α2
i, . . . , αmi
i}.
3.1. Required Definitions
In this section, we state the definitions that are relevant to our work in this paper.
Definition 1
(
Blocking coalition
)
.
Instead of participating in the mechanism, if a subset of the IoT devices and
the FSPs form a coalition, reassign them and improve their allocation in terms of the preferences they get; then,
the coalition formed is thereby termed a blocking coalition.
Definition 2
(
Core allocation
)
.
Allocations where the agents (IoT devices and the FSPs) cannot improve by
reassigning them without participating in the mechanism. In other words, a core allocation ensures an allocation
without blocking coalition.
Definition 3
(
Truthful or Incentive compatible
)
.
A mechanism is truthful if the agents cannot gain by
misreporting their true preference ordering.
Definition 4
(
Pareto optimal outcome
)
.
An outcome (allocation) where we cannot make anyone better off without
making someone else worse off.
4. Proposed Mechanisms: RM-FSA and TM-FSA (for ti=Case)
In this section, we present and discuss the two proposed mechanisms, namely, RM-FSA and TM-FSA,
for the problem under consideration. The idea behind proposing the RM-FSA for our problem is to better
understand the truthful mechanism called TM-FSA motivated by [24,25].
4.1. Random Mechanism for Fog Service Allocation (RM-FSA)
In this section, RM-FSA is discussed. First, the underlying idea of RM-FSA is presented. After that,
RM-FSA is discussed and presented in a detailed manner.
4.1.1. Outline of RM-FSA
The central idea of RM-FSA is that, for each category
ci
, an IoT device is picked up randomly and
an FSP is assigned randomly from the preference list of the IoT device under consideration. Notice that,
Sensors 2020,20, 6761 8 of 32
once the allocation is done, both the IoT device and the FSP are removed from the market. The process
iterates until the list of available IoT devices gets exhausted. For any arbitrary category ci:
1. In a random order, choose an unassigned IoT device.
2. Go through the preferences of the newly chosen IoT device.
(a)
If the list is not empty, then randomly pick an FSP from the selected IoT device preference list
and allocate it. Remove the IoT device along with the allocated FSP from the market.
(b) Else, remove the unallocated IoT device from market.
3. Until all the IoT devices are not processed, keep repeating the above two steps.
4.1.2. Details of RM-FSA
RM-FSA is a two-phase mechanism: main routine (Algorithm 1) and RM-FSA routine (Algorithm 2).
The core allocation property which is defined in Section 3.1 is not guaranteed for RM-FSA. The main
reason for constructing the main routine is to perform an allocation process for all the kcategories. In lines
2–5 of the main routine, for each iteration of the for loop of Algorithm 1, the RM-FSA routine is called
as depicted in line 3.
α
maintains the IoT device–FSP pairs for each category in line 4. In line 6, the final
allocation αis returned.
Algorithm 1: Main routine (f,I,C,)
Output :α(initialized αφ)
1begin
2for each ci C do
3αiRM-FSA Routine ( fi,Ii,i)
4αα {αi}
5end
6return α
7end
In the RM-FSA routine of Algorithm 2, line 3 is checked for stopping conditions. Lines 4 and 5 choose
which IoT device to be processed next. The condition is checked on whether the preference ordering of
the selected IoT device is empty in line 6. In line 7, an FSP is randomly picked up from the IoT device
k’s preference list and is held in
˙
f
. The selected IoT device–FSP pairs of the
ci
category is maintained in
αi
. Using line 9 of the algorithm, the selected IoT device is removed from the market. Similarly, in line
10, the selected FSA is removed from the market. Line 11 removes the selected FSA from the preference
ordering of the remaining IoT devices. In line 12,
˙
f
and
˚
I
are set to
φ
. Next, if the stopping condition in
line 6 fails, then lines 14–17 of Algorithm 2gets executed. Line 15 removes the selected IoT device from the
IoT devices list. In line 16,
˚
I
is set to
φ
. The RM-FSA routine returns the final allocation vector
αi
in line 19.
4.2. Running Time of RM-FSA
The running time of RM-FSA can be deduced by the combination of the running times of main routine
and RM-FSA routine. Lines 2–5 in the main routine will execute ktimes. For each iteration of the for loop
in Algorithm 1, considering RM-FSA routine, line 2 is bounded by the constant time, i.e., O(1). In line 3,
the condition is checked
(mi+
1
)
times, as there are
mi
IoT devices in category
ci
. The while loop in lines
3–18 is bounded above by
O(m2
ini)
. As in each category
ci
,
ni
and
mi
are functions of
n
and
m
, so we have
O(m2n).
Sensors 2020,20, 6761 9 of 32
Hence, the running time of RM-FSA for all the kdifferent categories will be
O(km2n)
. If
m=n
,
then the running time of RM-FSA will reduce to O(kn3).
Algorithm 2: Random Mechanism for Fog Service Allocation (RM-FSA) routine (fi,Ii,i)
Output :αi(initialized αiφ)
1begin
2k0, ˙
fφ,˚
Iφ
3while Ii6=φdo
4krandom (Ii)
5˚
IIk
i
6if k
i6=φthen
7˙
frandom (k
i)
8αiαi(˚
I,˙
f)
9IiIi\˚
I
10 fifi\˙
f
11 j
i j
i\˙
f,jIi
12 ˙
fφ;˚
Iφ
13 end
14 else
15 IiIi\˚
I
16 ˚
Iφ
17 end
18 end
19 return αi
20 end
4.3. Truthful Mechanism for Fog Service Allocation (TM-FSA)
In this section, first, the underlying idea of the TM-FSA is elaborated. After that, TM-FSA is discussed
and presented in detail.
4.3.1. Outline of TM-FSA
The main observation of TM-FSA is that, for each category
ci
, first, the distinct random numbers
will be generated between 1 to
mi
and will be assigned to the IoT devices. Now, based on the random
numbers assigned, each time an IoT device will be picked up and will be assigned the best available FSP
from its preference list. Once the allocation is done, both the IoT device and the FSA are removed from
the market. The process iterates until the IoT devices list gets exhausted. The idea of TM-FSA is depicted
below. For any arbitrary category ci:
1. IoT devices are numbered with a randomizer.
2.
Each of the IoT devices is processed in a non-decreasing order of the number generated by the randomizer.
3.
When processed, the match between an FSP and the IoT device is fixed with the most favored FSP
available at that time for IoT device.
Sensors 2020,20, 6761 10 of 32
4.3.2. Detailing of TM-FSA
TM-FSA is a two-phase mechanism: main routine and TM-FSA routine. The main routine performs
the allocation process for all the kcategories. In lines 2–5, for each iteration of the for loop of Algorithm 3,
the TM-FSA routine is called as depicted in line 3.
α
maintains the IoT device–FSP pairs that have to be
announced finally, and this implementation is done in lines 4 and 6.
Algorithm 3: Main routine (f,I,C,)
Output :α(initialized αφ)
1begin
2for each ci C do
3αiTM-FSA Routine ( fi,Ii,i)
4αα {αi}
5end
6return α
7end
The TM-FSA routine is mainly implemented with the outline presented above with the three steps.
IoT devices numbering with a randomizer is provided with lines 3–12. Each of the IoT devices is
processed in a non-decreasing order of the number generated by the randomizer and is presented in line
13. Whether the list is exhausted is implemented with line 14. IoT devices are selected sequentially based
on the random number assigned in the next line. In line 16, the selected IoT device is stored in
˚
I
. The main
part of the third step of the outline is executed in line 17 and line 18, where the match between an FSP
and the IoT device is fixed with the most favored FSP available at that time for the IoT device. Line 19
maintains the selected IoT device–FSP pairs in the
R
data structure. Line 20 removes the selected IoT
device and selected FSP from their respective lists. The selected FSP is removed from the preference lists of
the remaining IoT devices as depicted in line 21. Line 22 sets
˚
I
and
˙
f
to
φ
. Next, if the stopping condition
in line 17 fails, then lines 24–27 of Algorithm 4get executed. Line 25 removes the selected IoT device from
the IoT devices list. In line 26, ˚
Iand ˙
fare set to φ. TM-FSA returns the final IoT device–FSP pairs set.
4.4. Illustrative Example
The detailed functioning of TM-FSA for category c1is depicted in Figure 4. The number of FSPs is 3
(i.e.,
n1=
3), and the number of IoT devices is 4 (i.e.,
m1=
4). The preference ordering reported by the IoT
devices is shown in Figure 4a. Following lines 3–13 of Algorithm 4, the random numbers are generated
and assigned to the IoT devices, and based on that, the IoT devices are sorted in ascending order as shown
in Figure 4b. From the sorted ordering, first, the IoT device
I2
1
is picked up and assigned the most preferred
FSP, i.e.,
f2
1
. In a similar fashion, the remaining IoT devices
I3
1
,
I1
1
, and
I4
1
are picked up in the sequence of
random number assigned and allocated with the FSPs
f3
1
,
f1
1
, and none, respectively, as shown in Figure 4c.
The final allocation is shown in Figure 4d.
4.5. Running Time of TM-FSA
The running time of TM-FSA can be deduced by the combination of the running times of main routine
and TM-FSA routine. Lines 2–5 in main routine will execute ktimes. In TM-FSA routine, the random
number generator in lines 3–12 of Algorithm 4is motivated by [
39
] and it takes
O(mi)
time. In line 13, the
IoT devices are sorted in ascending order of the random number assigned and it takes
O(milog mi)
time.
The allocation carried out in the while loop using lines 14–28 is bounded above by
O(m2
ini)
. Therefore, the
Sensors 2020,20, 6761 11 of 32
overall running time of the TM-FSA routine for a category
ci
is given as
O(mi) + O(milog mi) + O(m2
ini) =
O(m2
ini)
. As in each category
ci
,
ni
and
mi
are functions of
n
and
m
, so we have
O(m2n)
. If
m=n
, then
the running time will be
O(n3)
. For kdifferent categories, we have the running time of TM-FSA as
O(kn3)
.
Algorithm 4: Truthful Mechanism for Fog Service Allocation (TM-FSA) routine (fi,Ii,i)
Output :αi(initialized αiφ)
1begin
2k1, j0, ˙
fφ,˚
Iφ,R φ
3for i=1to mido
4R R {i}
5end
6for i=1to mido
7swap R[i]with R[Random (i,mi)]
8end
9foreach Ij
iIido
10 Assign (Ij
i,R[k])/* Assigns a random number to each of the IoT devices. */
11 kk+1
12 end
13 Sort (Ii,R)/* Sort the list of IoT devices in category ci, i.e., Iibased on the
random number assigned to the IoT devices. */
14 while Ii6=φdo
15 jSelect (Ii)/* Sequentially picks an IoT device based on the random number
assigned. */
16 ˚
IIj
i
17 if j
i6=φthen
18 ˙
fSelect_Best (j
i)/* Selects the best FSP from the preference list j
i. */
19 αiαi(˚
I,˙
f)
20 IiIi\˚
I;fifi\˙
f
21 l
i l
i\˙
f,lIi
22 ˚
Iφ;˙
fφ
23 end
24 else
25 IiIi\˚
I
26 ˚
Iφ;˙
fφ
27 end
28 end
29 return αi
30 end
Sensors 2020,20, 6761 12 of 32
f1
1
f2
1
f3
1
I1
1:
I2
1:
I3
1:
I4
1:
1
1
2
1f1
1f3
1
2
1
f2
1f3
1
3
1
f1
1
(a) Initial setup.
f1
1
f2
1
f3
1
I1
1:
I2
1:
I3
1:
I4
1:
1
1
2
1f1
1f3
1
2
1
f2
1f3
1
3
1
f1
1
[1]
[2]
[3]
[4]
(b) Random numbers assigned and sorted.
f1
1
f2
1
f3
1
I1
1:
I2
1:
I3
1:
I4
1:
1
1
2
1f1
1f3
1
2
1
f2
1f3
1
3
1
f1
1
[1]
[2]
[3]
[4]
(c) Resulting allocation.
f1
1
f2
1
I1
1
I2
1
I3
1
I4
1
f3
1
Unallocated
(d) Final allocation.
Figure 4. Detailed illustration of TM-FSA.
5. Analysis of TM-FSA
Now, we will prove some theoretical results about the proposed TM-FSA. It should be noted that,
before applying the concept of the draw [
25
], to which category each IoT device belongs, the duration
with which the demand is put forward, and the preferences imparted by it had been sifted and thereby
makes our mechanism a two-step process. The two-step process is designed when an exclusive access of
the FSP to an IoT device for a longer duration (
ti=
case) is required and when a flexible access in terms
of time is required. For the former case, without changing, the draw can be used to match the FSPs to the
IoT devices, but for the later case with flexible time requirement, Draw is applied with little modification.
The two-step process of the mechanism entices us to prove that our mechanisms assure truthfulness and
Pareto optimality. As we are applying the Draw in our two-fold mechanism, the proof will be similar in
nature to that of [25,40].
Proposition 1. The draw is truthful [25,40].
Theorem 1. TM-FSA mechanism is truthful.
Proof.
Fix a category
ci
. The truthfulness of the TM-FSA algorithm depends on the way that every user
i
gets the most ideal decision from the detailed preferences, independent of the classification
i
1, 2
. . . k
of the user
i
. Notice that the outsider (or the Fog platform) makes a segment for the accessible users and
the service providers into various sets in view of their classification. The partitioning of the FSPs set
f={f1
,
f2
,
. . .
,
fk}
is independent of the partitioning of the accessible users into the set
I={I1
,
I2
,
. . .
,
Ik}
.
Hence, we demonstrate that, for any user
I`
iIi
, misreporting the private data (for this situation, strict
preference over fi) will not make the user I`
ibetter off.
Each user
I`
iIi
is assigned a random number and is processed according to that number. It may seem
at first that the randomization may adversely affect the truthfulness, but a deeper insight will suggest that
it is not. We prove the truthfulness by the induction on j. When j=1, the first user (after randomization,
we sort the list) in category
ci
(note that the users belonging to
ci
are not included in any other category
ck
,
and hence, any other category considered will not be affected by this user and vice-versa) will be processed,
Sensors 2020,20, 6761 13 of 32
and according to the algorithm, the best available service provider will be allocated to them. Since no
other allocation is done, they will get the first choice. At this point, if they would have given any other
rank list, the first preference may come later in rank and would not be the optimal choice. Therefore, the
base case holds. Assume it is true up to
j
th users. Now, consider the
(j+
1
)
th user. The allocation of the
(j+
1
)
th user is independent of the allocation of users that have been allocated before. Therefore, if some
preferences of the
(j+
1
)
th user have already been allocated to the users processed before, they cannot do
anything. Now note that, out of the remaining preferences (if it is not already exhausted), the
(j+
1
)
th
user gets the best available one by the flow of the algorithm. If, at this point, they alter their preference list,
like
j=
1, the best available choice may be pushed down the line of the rank list and they may not get the
best available one, yielding no gain in terms of allocation.
This proves our claim that TM-FSA is truthful.
Proposition 2. The draw is Pareto optimal [25,40].
Theorem 2. The allocation computed by TM-FSA is Pareto optimal.
Proof.
The proof is by a “greedy stays ahead” kind of argument. Assume that any arbitrary algorithm
called ANY is running in parallel with TM-FSA. We will prove that, in any arbitrary iteration, if ANY does
not take the policy of TM-FSA, then the user will be worse-off, violating the Pareto optimality condition.
Say upto the
i
th iteration, the TM-FSA and ANY output the same allocation. Now, consider the
(i+
1
)
th
iteration for allocation of the
(i+
1
)
th user (note that the
(i+
1
)
th user represents a particular category
and no user from other category will compete with the
(i+
1
)
th user). TM-FSA will allocate, by definition,
the best available option to the
(i+
1
)
th user. If ANY chooses other policy than this, then the
(i+
1
)
th
user may not get the best available service provider and definitely will get a lower ranked service provider.
Therefore, we can infer that, in any
i
th iteration, TM-FSA will give the best allocation, considering the fact
that allocation of the (i+1)th user is independent of allocation of the other users of categories.
Therefore, the allocation given by TM-FSA is Pareto optimal.
In the context of allocation mechanisms, it would be interesting to estimate the expected number of
IoT devices getting their first preference allocated. For TM-FSA, we prove the following result.
Lemma 1.
In TM-FSA, for any category
cj
, the expected number of IoT devices getting their first preference is given
by
mj
2
. In other words,
E[Xj] = mj
2
, where
Xj
is the random variable determining the total number of IoT devices
getting their first preference.
Proof.
Fix a category
cj
. Let us define the event
B
as the
i
th agent’s first preference already consumed by
any of the
(i
1
)
th agents. In that case, they will not get the best allocation. Further, let us define the event
Bkas any agent 1 k<ihaving the same best preference as the ith agent. We can then write
Pr{B}=
i1
k=1
Pr{Bi}(1)
Equation (1) signifies the fact that whether
i
th agent’s first preference is consumed by the first agent already
considered or by the second agent already considered and so on up to the
(i
1
)
th agent, and because
of this, we are summing up the probability. One agent’s preference is randomly picked. Therefore,
Sensors 2020,20, 6761 14 of 32
the probability that the
i
th agent’s first preference will become the first preference of any prior agent is
1
mj
,
as the ith agent’s first preference being the first preference is equally likely. Now, from Equation (1):
Pr{B}=
i1
k=1
1
mj
=i1
mj
(2)
In Equation (2), we plug the probability that is calculated for the event of any
Bi
, and with algebraic
manipulation, we get the result. Let us define the event Aas the ith agent’s first preference surviving.
Pr{A}=1Pr{B}=1i1
mj
(3)
Equation (3) is obtained by the complementary event property. Now, let us define the indicator
random variable as Xji =I{ith IoT device of jth category being allocated the best preference }
I=(1, if ith IoT device is allocated
0, otherwise
Let us denote the random variable
Xj
as the total number of agents getting their first preference in
category cj.
Xj=
mj
i=1
Xji
Taking the expectation pf both sides, we get
E[Xj] = Emj
i=1
Xji
By linearity of expectation, we get
E[Xj] =
mj
i=1
E[Xji]
=
mj
i=1
Pr{Xji }
=
mj
i=1
Pr{A}
=
mj
i=1 1i1
mj!
=
mj
i=1
11
mj
mj
i=1
(i1)
=mj1
mj
mj
i=1
i+1
mj
mj
i=1
1
=mj1
mj
·mj(mj+1)
2+1
mj
·mj
Sensors 2020,20, 6761 15 of 32
=mj(mj+1)
2+1
=2mjmj1
2+1
=mj1
2+1
=mj
21
2+1
=mj
2+1
2
'mj
2
For instance, if
mj=
100, then the value of
E[Xj]
will be approximately 50. It means that approximately
half of the IoT devices will be getting their most preferred FSP.
6. Proposed Mechanism: MTM-FSA (for ti6=Case)
In this section, Modified TM-FSA (MTM-FSA) is discussed. We will first make an observation that will
help develop the algorithm in this setting. After that, the underlying idea of the MTM-FSA is elaborated.
Next, MTM-FSA is discussed and presented in a detailed manner.
6.1. Observation
When a flexible time requirement is put forward by the IoT devices to access the FSPs, then a little
care is to be taken for allocating the IoT devices to the FSPs; otherwise, one IoT device will get an entire
access to the FSP, excluding others. In the
ti6=
case, if we take some care, then more than one IoT
devices may be accommodated to the same FSP if they impart the same preference. In this case, we have
modified the TM-FSA to accommodate more users to a particular service provider if IoT devices have the
same preference. We call this algorithm Modified TM-FSA (MTM-FSA).
6.2. Outline of MTM-FSA
In this mechanism, initially, randomizer IoT devices belonging to an arbitrary
ci
are numbered when
they are to be processed. Now, based on the random numbers assigned, each time an IoT device is selected,
it is checked whether the preference list of the IoT device is empty. If not, then a check is made on whether
the time needed to complete the job of the selected IoT device is less than or equal to the available time
of the FSP under consideration. If yes, then the FSP is allocated to the IoT device. Otherwise, the FSP is
removed from the list. The process is repeated until the preference list of the IoT device becomes empty,
or an allocation is made to the IoT device under consideration. On the other hand, if the preference list
of the IoT device is empty, remove the IoT device from the market. Repeat this process until the list of
available IoT devices does not get exhausted. Let us have a look at the outline of the proposed mechanism,
i.e., MTM-FSA depicted below. For any arbitrary category ci:
1. First, midistinct random numbers are generated and assigned to IoT devices.
2. Next, the IoT devices are sorted in ascending order of the random numbers assigned to them.
Sensors 2020,20, 6761 16 of 32
3. In each iteration, an IoT device is selected from the sorted ordering and a check is made on whether
the preference list of the selected IoT device is empty;
- If not, then
Repeat:
(a)
Check, whether the time needed to complete the job of the selected IoT device is less than
or equal to the available time of the FSP under consideration.
(b)
If yes, then allocate the FSP to the IoT device and reduce the available time of FSP by the
amount of time needed to complete the job of the selected IoT device. Remove the IoT
device from the market.
(c) Otherwise, remove the FSP from the preference list of IoT devices under consideration.
Until:
The preference list of the IoT device becomes empty, or an allocation is made to the
IoT device.
- Otherwise, remove the IoT device from the market.
4. Repeat step 3 until the list of available IoT devices becomes empty.
6.3. Detailing of MTM-FSA
MTM-FSA is a two-phase mechanism: main routine and MTM-FSA routine. The main reason for
constructing the main routine is to perform the allocation process for all kcategories. In lines 1–4, for each
iteration of the for loop of Algorithm 5, MTM-FSA routine is called as depicted in line 3.
α
maintains the
IoT device–FSP pairs for each category in line 3. In line 5, the final allocation αis returned.
Algorithm 5: Main routine (f,I,C,,e,t)
Output :α(initialized αφ)
1for each ci C do
2αiMTM-FSA Routine ( fi,Ii,i,ei,ti)
3αα {αi}
4end
5return α
How, with a randomizer, IoT devices are to be numbered and to be accessed one after the other is
discussed in lines 3–17 after initializing the required variables in line 2. In lines 18–28, each time, the best
available FSP is selected from the preference ordering of
I`
i
and the check is made on whether the time
needed to complete the job of the selected IoT device is less than or equal to the available time of the FSP
under consideration. If yes, then allocate the FSP to the IoT device and reduce the available time of FSP by
the amount of time needed to complete the job of the selected IoT device. Otherwise, remove the FSP from
the list of IoT devices under consideration. The while loop terminates once the stopping condition in line
18 becomes false. Line 30 removes the considered IoT device from the IoT devices list. Line 31 sets
˚
I
and
˙
f
to φ. The MTM-FSA returns the final IoT device–FSP pairs set αi.
6.4. Illustrative Example
The detailed functioning of MTM-FSA for category
c1
is depicted in Figure 5a. The number of FSPs is
assumed to be 3 (i.e,
n1=
3
)
, and the number of IoT devices is 4 (i.e.,
m1=
4
)
. The preference ordering
reported by the IoT devices is shown in Figure 5a. For the running example, it is considered that each
Sensors 2020,20, 6761 17 of 32
FSP will provide its service for 8 h. The times required to complete the jobs of the IoT devices
I1
1
,
I2
1
,
I3
1
,
and
I4
1
are 4 h, 5 h, 3 h, and 4 h, respectively. Following lines 3–12 of Algorithm 6, the random numbers
are generated and assigned to the IoT devices, and based on that, the IoT devices are sorted in ascending
order, as shown in Figure 5b. From the sorted ordering, first, the IoT device
I2
1
is selected and it is seen that
FSP f3
1is the most preferred FSP, so a check is made on whether that job requested time is 5 8 h.
Algorithm 6:
Modified Truthful Mechanism for Fog Service Allocation (MTM-FSA) routine (
fi
,
Ii
,
i,ei,ti)
Output :αi(initialized αiφ)
1begin
2k1, `0, ˙
fφ,˚
Iφ,R φ
3for i=1to mido
4R R {i}
5end
6for i=1to mido
7swap R[i]with R[Random (i,mi)]
8end
9foreach Ij
iIido
10 Assign (Ij
i,R[k])
11 kk+1
12 end
13 Sort (Ii,R)/* Sort Iibased on random number generated. */
14 while Ii6=φdo
15 `Select (Ii)/* Sequentially picks the IoT device based on the random number
assigned. */
16 ˚
II`
i
17 if `
i6=φthen
18 while I`
iis not allocated and `
i6=φdo
19 kSelect_Best (`
i)
20 ˙
ffk
i
21 if t`
iek
ithen
22 αiαi(˚
I,˙
f)
23 ek
i=ek
it`
i
24 end
25 else
26 `
i←`
i\˙
f
27 end
28 end
29 end
30 IiIi\˚
I
31 ˚
Iφ;˙
fφ
32 end
33 return αi
34 end
Sensors 2020,20, 6761 18 of 32
If the answer is yes, then the most preferred FSP, i.e.,
f2
1
, is assigned to
I2
1
for 5 h. Now, the remaining
available time of FSP
f2
1
is 3 h. Next, the IoT device
I3
1
will be picked up and it can be seen that the most
preferred FSP is
f2
1
. Now, the check is made on whether 3
3 h. If the condition is true,
f2
1
will be assigned
to
I3
1
. Next, the IoT device
I1
1
is picked up and a test is made on whether 4
8 h. If the condition is true,
f1
1
will be assigned to
I1
1
. Finally, we are left with the IoT device
I4
1
. The time required to complete the job
of
I4
1
is 4 h. From the preference list of
I4
1
, it can be seen that the FSP
f1
1
is the most preferred one. Now,
a check is made on whether 4
4 h. If the condition is true,
f1
1
is allocated to
I4
1
. The final allocation is
shown in Figure 5d.
f1
1
f2
1
f3
1
I1
1:
I2
1:
I3
1:
I4
1:
1
1
2
1f1
1f3
1
2
1
f2
1f3
1
3
1
f1
1
(a) Initial configuration.
(b) Random numbers assigned.
f1
1
f2
1
f3
1
I1
1:
I2
1:
I3
1:
I4
1:
1
1
2
1f1
1f3
1
2
1
f2
1f3
1
3
1
f1
1
[1]
[2]
[3]
[4]
(c) Resulting allocation.
f1
1
f2
1
I1
1
I2
1
I3
1
I4
1
f2
1
f1
1
(d) Final allocation.
Figure 5. Detailed illustration of MTM-FSA.
6.5. Analysis of MTM-FSA
We now prove that MTM-FSA possesses some interesting economic properties such as truthfulness
and Pareto optimality, in Theorem 3and Theorem 4, respectively.
Theorem 3. MTM-FSA is truthful.
Proof.
Fix a category
ci
, and consider the
i
th user being processed. The question is whether they should
provide the preference list truthfully. Our claim is yes. First observe that all the users 1, 2,
. . .
,
i
1
being processed independently of the preference list provided by the
i
th user and the processing is done
sequentially. This ensures that no further processing will be made to users 1,2,
. . .
,
i
1. Some of the
choices that are common to
i0s
preference may be taken away by the earlier users processed before the
i
th
user and the
i
th user cannot do anything. Now, the proof reduces to whether the
i
th user gets the best
available choice when it is their turn in the processing. By construction of the algorithm,
i0s
preference list
will be scanned from top to bottom in that order and they will get the next choice when and only when the
previous list has been exhausted. Therefore, we can infer that they will always get the best available choice.
Therefore, they should report the privately held preference list in a truthful manner. Any possible lie will
allocate him a service provider which is not better than the current best. Hence, MTM-FSA is truthful.
Theorem 4. MTM-FSA is Pareto optimal.
Sensors 2020,20, 6761 19 of 32
Proof.
In MTM-FSA, a user is allocated their first choice as long as possible. Otherwise, they are allocated
the best available option. At any
i
th stage, if we consider allocating a user by any other algorithm, they have
to chose the strategy of the MTM-FSA; otherwise, it will lead to a sub-optimal allocation in terms of choice
(the user will be getting a lower ranked service provider than the current best, a worsening effect, and hence
violating the Pareto optimal property). Therefore, we conclude that MTM-FSA is Pareto optimal.
Again, we are interested in estimating the expected number of allocations of first preferences.
Lemma 2. The following inequality holds:
mj1
i=0
ikmjk+1
k+1(4)
Proof.
In the summation
mj1
i=0
ik
,
ik
is a monotonically increasing function, so we can approximate it with
the integral as follows:
mj1
i=0
ik
mj
Z
0
xkdx =xk+1
k+1mj
0
=mjk+1
k+1(5)
In Equation (5), the summation is approximated by the integral with the standard inequality
n
k=mf(k)
Rn+1
mf(x)dx.
Next, the result obtained in the above lemma is used for proving the result of Lemma 3.
Lemma 3.
In MTM-FSA, for any category
cj
, the expected number of allocations of the first preference of all the
agents will increase based on the number of slots, say k, available to an FSP.
Proof.
Let us first fix slot kfor a service provider. At the end, we can vary kand explore several possibilities
of the expected number of allocations of the first preference of all the agents. First, consider the case that
the
i
th agent will not get their first preference when being considered for allocation. This will happen
when all kslots of their preferred service providers are occupied while allocating
(i
1
)
agents prior to
that
i
th agent. Let us define event
Oj
as the
j
th slot of the preferred service provider being occupied
j
and
j=
1,
. . .
,
k
. When
j=
1, all
(i
1
)
agents are available and anyone can be allocated to the first slot, i.e.,
j=
1. By Lemma 1, we get
Pr{O1}=(i1)
mj
. When
j=
2, anyone from
(i
2
)
agents may be mapped at
the second slot, i.e.,
j=
2. As the first allocation and second allocation are independent, following the
standard result, we can write the probability that both the first and second slots are occupied [39]:
Pr{O1O2}=Pr{O1} · Pr{O2}(6)
By plugging the probabilities of O1and O2in Equation (6), we get
=(i1)
mj
·(i2)
mj
(7)
In a similar manner, we can infer the probability that the
k
slots of the preferred service provider of
the ith agent being occupied is as follows:
Pr{O1O2. . . Ok}=
k
l=1
(il)
mj
(8)
Sensors 2020,20, 6761 20 of 32
Equation (8) is obtained by extending Equation (6) in a general setting. Now, we define event
M
as
the event that all the kslots of the preferred service providers are not allocated and, in that case, the
i
th
agent will get the first preference.
Pr{M}=1Pr{O1O2. . . Ok}(9)
=1
k
l=1
(il)
mj
(10)
Now, define the indicator random variable Xi= I{theith agent will get their first preference}
I=(1, if allocated
0, otherwise (11)
Therefore,
X=
mj
i=1
Xi
counts the number of agents being allocated to their first preference. Taking
expectation on both sides, we get
E[X] = Emj
i=1
Xi(12)
By linearity of expectation, we have
E[X] =
mj
i=1
E[Xi](13)
=
mj
i=11
k
l=1
il
mj
=
mj
i=1
1
mj
i=1
k
l=1
il
mj
=mj
mj
i=1
i1
mj
·i2
mj
. . . ik
mj
=mj1
mk
j
mj
i=1
(i1)·(i2). . . (ik)
Using Lemma 2, we can write
E[X]mj1
mjk
mj
i=1
(i1)k(14)
=mj1
mjk
mj1
i=0
ik
=mj1
mjk·mjk+1
k+1=mjmj
k+1
Sensors 2020,20, 6761 21 of 32
If we put
k=
1, i.e., only one slot, then it is the case of Lemma 1. If
k=
2, then
E[X]mjmj
3=2mj
3
.
Therefore, the expected number of allocations of first preference increases. It can even be observed that,
with a small k, many of the agents will get their first preference, as we will see in next section.
7. Further Extension of Model
In this section, we provide the variant of our proposed model discussed in Section 6. The setup
consists of multiple IoT devices and multiple Fog service providers. Each of the IoT devices have a task
that is to be done by utilizing the services provided by FSPs. Here, each of the tasks have a deadline
along with processing time. The IoT devices provide preference ordering over the FSPs. Given this setup,
the goal is to allocate tasks to the service providers in such a manner that minimizes the maximum lateness.
In the setup discussed in Section 6, given the preference list of the IoT devices, the order in which the
IoT devices will be given a chance for executing their tasks is decided by the random number assigned.
The IoT devices are sorted in increasing order of the random number assigned. From the sorted ordering,
each time, an IoT device is picked up and the most preferred FSP is assigned for performing the task.
However, following the above discussed approach, a problem that may arise is that the IoT devices may
not be able to complete their tasks before the deadline of the tasks. Let us understand the problem that
may arise with the help of an example. Let us say we have two users with the same first preference for a
service provider. The first user needs 2 h to complete the job with a deadline of 3, and second user needs
3 h to complete the job with a deadline of 5. Now, random numbers are generated and are assigned to
the IoT devices. Let us say the first user and second user are assigned the random numbers as 2 and 1,
respectively. Following the MTM-FSA (discussed in Section 6), first, the second user will be processed and
then the first user. In this case, the second user takes 3 h to complete the assigned job, so it will be finished
by 3 (starting from 0). It can be seen that a job is completed within the deadline. Next, as the deadline
of the first user is 3, starting from 0, it should complete by 3. However, it can be seen that the job of first
user started at 3 and will take 2 h. Therefore, it will be finished by 5. Here, both IoT devices completed
their jobs, but the first user faces a lateness of 2 h. Now the question is can we reduce the lateness faced by
users? The answer to this question is yes, by utilizing the idea of earliest deadline first (see Section 7.1).
For the above discussed situation, in this part, we have proposed a truthful mechanism namely Further
Modified Truthful Mechanism for Fog Service Allocation (FMTM-FSA).
7.1. Proposed Mechanism: FMTM-FSA
Here, the underlying idea of FMTM-FSA is discussed. After that, FMTM-FSA is presented and
discussed in a detailed manner.
7.1.1. Outline of FMTM-FSA
In this paper, we have provided the underlying idea of the proposed mechanism. The key idea of
FMTM-FSA is that, for each category
ci
, the IoT devices are sorted in increasing order of the deadline of
the jobs associated with them. From the sorted ordering, each time, an IoT device will be selected and will
be checked on whether the preference list of the IoT device is empty. If not, then the check is made on
whether the time needed to complete the job of the selected IoT device is less than or equal to the available
time of the FSP under consideration. If yes, then the FSP is allocated to the IoT device. Otherwise, the FSP
is removed from the list. The process is repeated until the preference list of the IoT device becomes empty
or an allocation is made to the IoT device under consideration. On the other hand, if the preference list of
the IoT device is empty, the IoT device is removed from the market. Repeat this process until the list of
available IoT devices does not get exhausted. For any category ci:
1.
First, sort the IoT devices based on the increasing order of the deadline of the jobs associated with them.
Sensors 2020,20, 6761 22 of 32
2. In each iteration, an IoT device is selected from the sorted ordering.
- If its preference list is not void, then
Repeat:
(a)
Check whether the time needed to complete the job of the selected IoT device is less than
or equal to the available time of the FSP under consideration.
(b)
If yes, then allocate the FSP to the IoT device and reduce the available time of FSP by the
amount of time needed to complete the job of the selected IoT device. Remove the IoT
device from the market.
(c) Otherwise, remove the FSP from the preference list of IoT devices under consideration.
Until:
The preference list of the IoT device becomes empty, or an allocation is made to the IoT device.
- Otherwise, remove the IoT device from the market.
3. Repeat step 3 until the list of available IoT devices becomes empty.
7.1.2. Detailing of FMTM-FSA
FMTM-FSA is a two-phase mechanism: main routine and FMTM-FSA routine. The main reason for
constructing the main routine is to perform the allocation process for all kcategories. In lines 1–4, for each
iteration of the for loop of the Algorithm 7, FMTM-FSA routine is called as depicted in line 3.
α
maintains
the IoT device–FSP pairs for each category in line 3. In line 5, the final allocation αis returned.
Algorithm 7: Main routine (f,I,C,,e,t)
Output :α(initialized αφ)
1for each ci C do
2αiFMTM-FSA Routine ( fi,Ii,i,ei,ti)
3αα {αi}
4end
5return α
In Algorithm 8, the main trick is applied in line 3 where the IoT devices list
Ii
is sorted based on the
deadline of the tasks assigned to them. From line 4, it is clear that the mechanism terminates once the IoT
devices list becomes empty. In lines 5–7, selection of the IoT device and availability of its preference list is
inquired. In lines 8–18, each time, the best available FSP is selected from the preference ordering of
I`
i
and
a check is made on whether the time needed to complete the job of the selected IoT device is less than or
equal to the available time of the FSP under consideration. If yes, then the FSP is allocated to the IoT device
and the available time of FSP is reduced by the amount of time needed to complete the job of the selected
IoT device. Otherwise, the FSP is removed from the list of IoT device under consideration. The while loop
terminates once the stopping condition in line 8 becomes false. Line 20 removes the considered IoT device
from the IoT devices list. Line 21 sets
˚
I
and
˙
f
to
φ
. FMTM-FSA returns the final IoT device–FSP pairs set
αi
.
Sensors 2020,20, 6761 23 of 32
Algorithm 8:
Further Modified Truthful Mechanism for Fog Service Allocation (FMTM-FSA)
routine ( fi,Ii,i,ei,ti)
Output :αi(initialized αiφ)
1begin
2k1, `0, ˙
fφ,˚
Iφ
3
Sort (
Ii
)
/* Sort Iibased on increasing order of the deadline of the jobs associated
with them. */
4while Ii6=φdo
5`Select (Ii)/* Sequentially picks the IoT device from the sorted ordering.
*/
6˚
II`
i
7if `
i6=φthen
8while I`
iis not allocated and `
i6=φdo
9kSelect_Best (`
i)
10 ˙
ffk
i
11 if t`
iek
ithen
12 αiαi(˚
I,˙
f)
13 ek
i=ek
it`
i
14 end
15 else
16 `
i←`
i\˙
f
17 end
18 end
19 end
20 IiIi\˚
I
21 ˚
Iφ;˙
fφ
22 end
23 return αi
24 end
7.2. Illustrative Example
Detailed functioning of FMTM-FSA for category
c1
is depicted in Figure 6. The number of FSPs is
assumed to be 3 (i.e, n1=3), and the number of IoT devices is 4 (i.e., m1=4).
The preference ordering reported by the IoT devices is shown in Figure 6a. For the running example,
it is considered that each FSP will provide its service for 8 h. In Figure 6a, the first value represents the time
required to complete the jobs of the IoT devices and the second value represents the deadline of the jobs
associated with the IoT devices. Following lines 3 of Algorithm 8, the IoT devices are sorted in ascending
order of the deadline of the jobs, as shown in Figure 6b. From the sorted ordering, first, the IoT device
I4
1
is selected and it is seen that FSP
f1
1
is the most preferred FSP, so a check is made on whether that job
requested time is 1
8 h. As the answer is yes, then the most preferred FSP, i.e.,
f1
1
, is assigned to
I4
1
for 5 h.
Now, the remaining available time of FSP
f1
1
is 7 h. Next, the IoT device
I3
1
will be picked up, and it can be
seen that the most preferred FSP is
f2
1
. Now, the check is made on whether
18 h
. If the condition is true,
f2
1
will be assigned to
I3
1
. Next, the IoT device
I1
1
is picked up and a test is made on whether
27 h
. If the
condition is true,
f1
1
will be assigned to
I1
1
. Finally, we are left with the IoT device
I2
1
. The time required
to complete the job of
I2
1
is 3 h. From the preference list of
I2
1
, it can be seen that the FSP
f2
1
is the most
Sensors 2020,20, 6761 24 of 32
preferred one. Now, a check is made on whether 3
7 h. If the condition is true,
f2
1
is allocated to
I2
1
.
The final allocation is shown in Figure 6d.
f1
1
f2
1
f3
1
I1
1:
I2
1:
I3
1:
I4
1:
1
1
2
1f1
1f3
1
2
1
f2
1f3
1
3
1
f1
1
[2, 3]
[3, 4]
[1, 2]
[1, 1]
(a) Initial configuration.
I4
1:f1
1
I3
1:f2
1f3
1
3
1
f2
1
I2
1:2
1f1
1f3
1
2
1
f1
1f3
1
I1
1:1
1
(b) Sorted in ascending order of deadline.
f1
1
f2
1
f3
1
I1
1:
I2
1:
I3
1:
I4
1:
1
1
2
1f1
1f3
1
2
1
f2
1f3
1
3
1
f1
1
(c) Resulting allocation.
f1
1
f2
1
I1
1
I2
1
I3
1
I4
1
f2
1
f1
1
(d) Final allocation.
Figure 6. Detailed illustration of FMTM-FSA.
8. Experiments and Results
Here, the experimental results are provided regarding TM-FSA (where full exclusive access is given)
and MTM-FSA (for the case
ti6=
) via simulations (the simulations are done using Python). Considering
the first case, TM-FSA is compared with the carefully crafted benchmark mechanism called RM-FSA that is
non-truthful in nature. The manipulative behavior of the IoT devices in case of RM-FSA can be seen in the
simulation results. On the other hand, the proposed mechanism for the second case, namely MTM-FSA,
is compared with the TM-FSA on the ground of number of users getting the most preferred FSP among
the available ones. For this case, TM-FSA is considered the benchmark mechanism.
8.1. Simulation Setup
We have done simulations for the 5 different categories of the FSPs and the IoT devices. In each
category, a substantial number of FSPs and IoT devices are considered for providing and taking the
services. Here, for both cases, the simulations are performed by considering three different scenarios:
(1) the total number of IoT devices and FSPs are the same (
m=n
), (2) the total number of IoT devices is
less than the total number of FSPs (
m<n
), and (3) the total number of IoT devices is greater than the total
number of FSPs (
m>n
). Here, the simulations are accomplished by considering a large data set where
the users (IoT devices) could be at most 5000. The preference lists of the users are generated randomly.
In the case of extended setup, the processing time and deadline of the tasks are generated using random
distribution and normal distribution. Here also, the preference lists of the users are generated randomly.
The table shown in Figure 7depicts the data used for comparing TM-FSA and RM-FSA.
The table shown in Figure 8depicts the data used for comparing FMTM-FSA and MTM-FSA.
Sensors 2020,20, 6761 25 of 32
Number of
Users
Generated
Preferences
m== n
1000 2000 3000 4000 5000 800 1600 2400 3200 4000 1000 2000 3000 4000 5000
m < n m > n
Randomly Randomly Randomly
Figure 7. Data set (DS) used for comparing TM-FSA and RM-FSA.
Number of
Users
Processing Time
Generated (for RD)
5 10 15 20 25
Deadline
Generated (for RD)
Processing Time
Generated (for ND [µ,σ])
Deadline
Generated (for ND [µ,σ])
[2,5]
[3,8] [3,8] [3,8] [3,8] [3,8]
[2,5] [2,5] [2,5] [2,5]
[3,10] [3,10] [3,10] [3,10] [3,10]
[5,12] [5,12] [5,12] [5,12] [5,12]
(a)
Number of
Users
Processing Time
Generated (for RD)
1000 2000 3000 4000 5000
Deadline
Generated (for RD)
Processing Time
Generated (for ND [µ,σ])
Deadline
Generated (for ND [µ,σ])
[75,10]
[50,100]
[75,110]
[75,10] [75,10] [75,10] [75,10]
[85,10] [85,10] [85,10] [85,10] [85,10]
[50,100] [50,100] [50,100] [50,100]
[75,110] [75,110] [75,110] [75,110]
(b)
Figure 8.
Data set used for comparing FMTM-FSA and MTM-FSA: (
a
) a small DS used for comparing
FMTM-FSA and MTM-FSA and (b) a large DS used for comparing FMTM-FSA and MTM-FSA.
8.2. Performance Evaluation Criteria
Execution of the proposed systems is estimated under the standard of three vital parameters:
Efficiency Loss (EL): Efficiency loss can be calculated by the difference between the index of the
allocated service provider from the user preference list and the index of the most preferred service
provider by the user from their preference list.
Best Allocation (BA): It evaluates the number of the users getting their most preferred service provider
from their provided preference list over the accessible number of service providers.
Lateness: Lateness of the task is defined as the length of time past the deadline of the task. The lateness
criteria is considered for the extended setup.
The experimental results according to these performance evaluation criteria are graphically shown in
Figures 912.
8.3. Discussion
In order to analyze the manipulative nature of the agents, the simulation is performed in two different
directions: (1) when all the agents are reporting their true preference ordering and (2) when part of the
total available agents are misreporting their true preference ordering.
Considering the scenario pointed out in point 2 above, for our simulation purpose, we have considered
the following:
1. Small variation (S-var): 1
8
of the total available users are manipulating their true preference ordering.
2. Medium variation (M-var): 1
4
of the total available users are manipulating their true preference ordering.
3. Large variation (L-var): 1
2
of the total available users are manipulating their true preference ordering.
8.4. Analysis of the Results
In this section, the analyses of the results obtained for two different cases, i.e.,
ti=
and
ti6=
,
are discussed. In the first case, the comparative results of TM-FSA and RM-FSA are depicted in Figure 9a–f.
Sensors 2020,20, 6761 26 of 32
On the other hand, in the second case, the results obtained on comparing MTM-FSA and TM-FSA are
given in Figure 10a–c.
Case 1: ti=
. In Figure 9a–c, it can be seen that the total efficiency loss in case of RM-FSA is more
as compared to the total efficiency loss in case of TM-FSA. This is due to the reason that, in contrast
to the RM-FSA, TM-FSA allocates the best possible FSP to each of the IoT devices present in the
system. In Figure 9a–c, where the IoT devices are not truthfully providing the list that consists of their
preferences, then (i) the total efficiency loss of the users in case of TM-FSA-L-var is increased compared
to TM-FSA-M-var, (ii) is more than the total efficiency loss of the users in case of TM-FSA-S-var, and
(iii) is more that the total efficiency loss of the users in case of TM-FSA. This nature of TM-FSA comes
from its construction. Considering the second parameter, i.e., best allocation, in Figure 9d–f, it can
be seen that the best allocation of the system in case of RM-FSA is less than the best allocation in
the case of TM-FSA. This is due to the reason that TM-FSA allocates the best possible FSP to each of
the IoT devices as compared to RM-FSA. In Figure 9d–f, where the list announcement is not done
truthfully, we have that the best allocation of the users in the case of TM-FSA-L-var (i) is less than the
best allocation of the users in case of TM-FSA-M-var, (ii) is less than the best allocation of the users in
the case of TM-FSA-S-var, and (iii) is less than the best allocation of the users in the case of TM-FSA.
Again, this is natural from the construction of TM-FSA.
Case 2: ti6=
. In Figure 10, MTM-FSA is compared with TM-FSA based on the second parameter,
i.e., Best allocation. In Figure 10, it can be seen that the number of best allocations made in the
case of MTM-FSA is more as compared to that of TM-FSA in all three different scenarios. This is
due to the reason that, in the case of MTM-FSA, no FSP is exclusively given access to a particular
user and a single FSP can be allocated to multiple users. If this is the case, then the number of
users getting their best preference among the available FSPs gets increased as depicted in Figure 10.
Also, these simulation results are supporting the claim made in Lemma 3that the expected number
of allocation of the first preference of all the agents will increase as the available number of slots
is increased.
In Figures 11a and 12b, the comparison between MTM-FSA and FMTM-FSA is done on the basis of
lateness incurred on scheduling the tasks of the users. The x-axis represents the number of users, and the
y-axis represents the total maximum lateness (in hours). In Figure 11a,b, the simulations are performed on
a small data set, whereas in Figure 12a,b, the simulations are performed on a large data set. In the case of
MTM-FSA, it can be seen that the tasks of the users are scheduled based on the random number assigned
to the users. On the other hand, in the case of FMTM-FSA, the tasks of the users are scheduled based
on the earliest deadline first. The simulations are done for two different distributions, namely random
distribution (RD) and normal distribution (ND). In Figure 11a, for the ND case, the mean (
µ
) and standard
deviation (
σ
) for the processing time are 5 and 2, respectively. The mean and standard deviation for the
deadline are taken as 8 and 3, respectively. In Figure 11b, for the RD case, the processing time and deadline
are generated randomly between [3, 10] and [5, 12], respectively. In Figure 11a,b, it can be seen that the
total maximum lateness in the case of FMTM-FSA is less as compared to MTM-FSA. This is due to the
reason that, in the case of FMTM-FSA, the tasks of the users are scheduled based on the earliest deadline
first, whereas in the case of MTM-FSA, the tasks of the users are scheduled based on the random number
assigned to the users. Therefore, it can be inferred that FMTM-FSA performs better than MTM-FSA on
the basis of maximum lateness. In Figure 12a, for the ND case, the mean and standard deviation for
the processing time are 75 and 10, respectively. The mean and standard deviation for the deadline are
taken as 85 and 10, respectively. In Figure 12b, for the RD case, the processing time and deadline are
generated randomly between [50, 100] and [75, 110], respectively. In Figure 12a,b, it can be seen that the
Sensors 2020,20, 6761 27 of 32
total maximum lateness in the case of FMTM-FSA is less as compared to MTM-FSA due to same reason
as above.
8000
16,000
24,000
32,000
40,000
48,000
56,000
64,000
72,000
1000 2000 3000 4000 5000
Total Efficiency Loss
Number of Users
RM-FSA
TM-FSA
TM-FSA-L-var
TM-FSA-M-var
TM-FSA-S-var
(a) Efficiency Loss (EL) for m=n
8000
16,000
24,000
32,000
40,000
48,000
56,000
800 1600 2400 3200 4000
Total Efficiency Loss
Number of Users
RM-FSA
TM-FSA
TM-FSA-L-var
TM-FSA-M-var
TM-FSA-S-var
(b) EL for the m<ncase
8000
16,000
24,000
32,000
40,000
48,000
56,000
64,000
72,000
80,000
1000 2000 3000 4000 5000
Total Efficiency Loss
Number of Users
RM-FSA
TM-FSA
TM-FSA-L-var
TM-FSA-M-var
TM-FSA-S-var
(c) EL for the m>ncase
0
500
1000
1500
2000
2500
3000
1000 2000 3000 4000 5000
Number of Best Allocation
Number of Users
TM-FSA-L-var
TM-FSA-M-var
TM-FSA-S-var
TM-FSA
RM-FSA
(d) Best Allocation (BA) for m=n
0
500
1000
1500
2000
2500
3000
800 1600 2400 3200 4000
Number of Best Allocation
Number of Users
TM-FSA-L-var
TM-FSA-M-var
TM-FSA-S-var
TM-FSA
RM-FSA
(e) BA for the m<ncase
0
500
1000
1500
2000
2500
3000
1000 2000 3000 4000 5000
Number of Best Allocation
Number of Users
TM-FSA-L-var
TM-FSA-M-var
TM-FSA-S-var
TM-FSA
RM-FSA
(f) BA for the m>ncase
Figure 9.
Comparisons of TM-FSA and RM-FSA based on the total efficiency loss and number of
best allocation.
0
1000
2000
3000
4000
5000
1000 2000 3000 4000 5000
Number of Best Allocations
Number of Users
TM-FSA
MTM-FSA
(a) BA for the m=ncase
0
1000
2000
3000
4000
5000
800 1600 2400 3200 4000
Number of Best Allocations
Number of Users
TM-FSA
MTM-FSA
(b) BA for the m<ncase
0
1000
2000
3000
4000
5000
1000 2000 3000 4000 5000
Number of Best Allocations
Number of Users
TM-FSA
MTM-FSA
(c) BA for the m>ncase
Figure 10. Comparison of TM-FSA and MTM-FSA based on the number of best allocation.
Sensors 2020,20, 6761 28 of 32
0
500
1000
1500
2000
2500
3000
5 10 15 20 25
Total Maximum Lateness in hours
Number of Users
Comparision between FMTM-FSA and MTM-FSA
FMTM-FSA
MTM-FSA
(a)
0
500
1000
1500
2000
5 10 15 20 25
Total Maximum Lateness in hours
Number of Users
Comparision between FMTM-FSA and MTM-FSA
FMTM-FSA
MTM-FSA
(b)
Figure 11.
Comparison of FMTM-FSA and MTM-FSA based on lateness for the normal distribution
(ND) and random distribution (RD) cases: (
a
) comparing FMTM-FSA and MTM-FSA (ND case) and (
b
)
comparing FMTM-FSA and MTM-FSA (RD case).
0
2x107
4x107
6x107
8x107
1x108
1000 2000 3000 4000 5000
Total Maximum Lateness in hours
Number of Users
Comparision between FMTM-FSA and MTM-FSA
FMTM-FSA
MTM-FSA
(a)
0
1x108
2x108
3x108
4x108
5x108
6x108
1000 2000 3000 4000 5000
Total Maximum Lateness in hours
Number of Users
Comparision between FMTM-FSA and MTM-FSA
FMTM-FSA
MTM-FSA
(b)
Figure 12.
Comparison of FMTM-FSA and MTM-FSA based on lateness for the ND and RD cases:
(
a
) comparing FMTM-FSA and MTM-FSA (ND case) and (
b
) comparing FMTM-FSA and MTM-FSA
(RD case).
9. Conclusions and Future Work
In this paper, we have studied the problem of allocating Fog Service Providers (FSPs) to IoT devices
in a game-theoretic environment. Here, the FSPs are ranked by the IoT devices in some order and it is not
required that all FSPs are ranked. This gives flexibility to the environment. We have considered that the IoT
devices provide preference ordering over the subset of available FSPs. We have designed a truthful and
Pareto optimal mechanism for allocating at most one FSP to each of the IoT devices. In this case, once the
allocation is done, an FSP is exclusively given to a user for a longer period of time. Here, the proposed
mechanism, i.e., TM-FSA, is compared with the benchmark mechanism, i.e., RM-FSA, and it is found
that TM-FSA performs better than RM-FSA in terms of efficiency loss and number of best allocations.
Further, we have extended the setup by considering the case that the participating IoT devices need the
FSPs for a specific duration of time from when they are allocated and the demand from the IoT devices
for executing the task comprising a deadline along with a processing time. For this setup, we have again
Sensors 2020,20, 6761 29 of 32
designed a truthful and Pareto optimal mechanism. In this case, the proposed mechanism, i.e., FMTM-FSA
is compared with MTM-FSA and found that FMTM-FSA performs better than MTM-FSA on the basis
of lateness. For all the discussed mechanisms, polynomial time solutions are proposed that signify our
mechanisms are scalable.
Till now, we have investigated the case where, given the preference ordering of the IoT devices, each
IoT device requests a single FSP. However, in the future, one can consider the case where each IoT device
may request for multiple FSPs from its preference list among the available FSPs. Further, in our model,
money is not involved. However, by incorporating money in our model, one can prioritize the IoT devices
during assignment to the FSPs. A hybrid model can be developed where some assignments may be based
without money and some assignments may be based on the priority that could have been imposed to the
IoT devices in terms of money.
Author Contributions:
Conceptualization, A.B., V.K.S., F.X., and S.M.; methodology, A.B., V.K.S., F.X., and
S.M.; validation, A.B., V.K.S., and U.R.; formal analysis, S.M. and V.K.S.; investigation, F.X.; data curation, P.K.;
writing—original draft preparation, A.B., V.K.S., F.X., and S.M.; writing—review and editing, A.B., V.K.S., S.M., and
F.X.; supervision, S.M., F.X., and P.K. All authors have read and agreed to the published version of the manuscript.
Funding:
This work is supported by the Visvesvaraya Ph.D. scheme, sponsored by MeitY Govt. of India with grant
number [PhD-MLA/4(29)/2014-15]. Fatos Xhafa’s work is supported by the Spanish Ministry of Science, Innovation
and Universities, Programme Estancias de profesores e investigadores sénior en centros extranjeros, incluido el Programa
Salvador de Madariaga 2019”, PRX19/00155 and by Research Project, “Efficient & Sustainable Transport Systems in Smart
Cities: Internet of Things, Transport Analytics, and Agile Algorithms" (TransAnalytics) PID2019-111100RB-C21/AEI/
10.13039/501100011033, Ministerio de Ciencia e Innovación, Spain.
Acknowledgments:
We thank NIT Durgapur, Department of CSE, NIT Durgapur, Ministry of Electronics and
Information Technology (MeitY) Government of India and Media Lab Asia (Digital India Corporation) for
their support.
Conflicts of Interest:
The authors declare no conflict of interest. The funders had no role in the design of the study;
in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish
the results.
Abbreviations
The following abbreviations are used in this manuscript:
IoT Internet of Things
FSP Fog Service Provider
RM-FSA Random Mechanism for Fog Service Allocation
TM-FSA Truthful Mechanism for Fog Service Allocation
MTM-FSA Modified Truthful Mechanism for Fog Service Allocation
FMTM-FSA Further Modified Truthful Mechanism for Fog Service Allocation
References
1.
Brogi, A.; Forti, S. QoS-Aware Deployment of IoT Applications Through the Fog. IEEE Internet Things J.
2017
,
4, 1185–1192. [CrossRef]
2.
CISCO. Fog Computing and the Internet of Things: Extend the Cloud to Where the Things Are. 2015.
Available online: https://www.cisco.com/c/dam/en_us/solutions/trends/iot/docs/computing-overview.pdf
(accessed on 24 November 2020).
3.
Puliafito, C.; Mingozzi, E.; Longo, F.; Puliafito, A.; Rana, O. Fog Computing for the Internet of Things: A Survey.
ACM Trans. Internet Technol. 2019,19, 18:1–18:41. [CrossRef]
4.
Bokhari, M.U.; Makki, Q.; Tamandani, Y.K. A Survey on Cloud Computing. In Big Data Analytics; Aggarwal, V.B.,
Bhatnagar, V., Mishra, D.K., Eds.; Springer: Singapore, 2018; pp. 149–164.
Sensors 2020,20, 6761 30 of 32
5.
Wang, Q.; Ren, K.; Meng, X. When cloud meets eBay: Towards effective pricing for cloud computing.
In Proceedings of the IEEE INFOCOM, Orlando, FL, USA, 25–30 March 2012; pp. 936–944. [CrossRef]
6.
Ai, Y.; Peng, M.; Zhang, K. Edge computing technologies for Internet of Things: A primer. Digit. Commun. Netw.
2018,4, 77–86. [CrossRef]
7.
Hu, P.; Dhelim, S.; Ning, H.; Qiu, T. Survey on Fog Computing. J. Netw. Comput. Appl.
2017
,98, 27–42. [CrossRef]
8.
Bonomi, F.; Milito, R.; Zhu, J.; Addepalli, S. Fog Computing and Its Role in the Internet of Things. In Proceedings
of the First Edition of the MCC Workshop on Mobile Cloud Computing, Helsinki, Finland, 17 August 2012;
MCC ’12; ACM: New York, NY, USA, 2012; pp. 13–16. [CrossRef]
9.
Aazam, M.; nam Huh, E. Fog Computing Micro Datacenter Based Dynamic Resource Estimation and Pricing
Model for IoT. In Proceedings of the 2015 IEEE 29th International Conference on Advanced Information
Networking and Applications, Gwangju, Korea, 25–27 March 2015; pp. 687–694.
10.
Chen, W.; Paik, I.; Li, Z. Cost-Aware Streaming Workflow Allocation on Geo-Distributed Data Centers.
IEEE Trans. Comput. 2017,66, 256–271. [CrossRef]
11.
Gu, Y.; Chang, Z.; Pan, M.; Song, L.; Han, Z. Joint Radio and Computational Resource Allocation in IoT Fog
Computing. IEEE Trans. Veh. Technol. 2018,67, 7475–7484. [CrossRef]
12.
Zhang, H.; Xiao, Y.; Bu, S.; Niyato, D.; Yu, F.R.; Han, Z. Computing Resource Allocation in Three-Tier IoT Fog
Networks: A Joint Optimization Approach Combining Stackelberg Game and Matching. IEEE Internet Things J.
2017,4, 1204–1215. [CrossRef]
13.
Chawla, S.; Devanur, N.R.; Holroyd, A.E.; Karlin, A.R.; Martin, J.B.; Sivan, B. Stability of Service Under
Time-of-use Pricing. In Proceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing,
Montreal, QC, Canada, 19–23 June 2017; STOC 2017; ACM: New York, NY, USA, 2017; pp. 184–197. [CrossRef]
14.
Lucier, B.; Menache, I.; Naor, J.S.; Yaniv, J. Efficient Online Scheduling for Deadline-sensitive Jobs: Extended
Abstract. In Proceedings of the Twenty-fifth Annual ACM Symposium on Parallelism in Algorithms and
Architectures, Montreal, QC, Canada, 23–25 July 2013; SPAA ’13; ACM: New York, NY, USA, 2013; pp. 305–314.
[CrossRef]
15.
Shi, W.; Wu, C.; Li, Z. An Online Auction Mechanism for Dynamic Virtual Cluster Provisioning in Geo-Distributed
Clouds. IEEE Trans. Parallel Distrib. Syst. 2017,28, 677–688. [CrossRef]
16.
Wang, C.; Ma, W.; Qin, T.; Chen, X.; Hu, X.; Liu, T.Y. Selling Reserved Instances in Cloud Computing.
In Proceedings of the 24th International Conference on Artificial Intelligence, Buenos Aires, Argentina,
25–31 July 2015; IJCAI’15; pp. 224–230.
17.
Zhang, X.; Wu, C.; Li, Z.; Lau, F.C.M. A Truthful
(
1
e)
-Optimal Mechanism for On-demand Cloud Resource
Provisioning. IEEE Trans. Cloud Comput. 2019. [CrossRef]
18.
Zhu, Y.; Fu, S.D.; Liu, J.; Cui, Y. Truthful Online Auction Toward Maximized Instance Utilization in the Cloud.
IEEE/ACM Trans. Netw. 2018,26, 2132–2145. [CrossRef]
19.
Luong, N.C.; Jiao, Y.; Wang, P.; Niyato, D.; Kim, D.I.; Han, Z. A Machine-Learning-Based Auction for Resource
Trading in Fog Computing. IEEE Commun. Mag. 2020,58, 82–88. [CrossRef]
20.
Xiang, H.; Peng, M.; Cheng, Y.; Chen, H. Joint mode selection and resource allocation for downlink fog radio
access networks supported D2D. In Proceedings of the 2015 11th International Conference on Heterogeneous
Networking for Quality, Reliability, Security and Robustness (QSHINE), Taipei, Taiwan, 19–20 Augest 2015;
pp. 177–182.
21.
Moura, J.; Hutchison, D. Game Theory for Multi-Access Edge Computing: Survey, Use Cases, and Future Trends.
IEEE Commun. Surv. Tutor. 2019,21, 260–288. [CrossRef]
22.
Nisan, N.; Roughgarden, T.; Tardos, E.; Vazirani, V.V. Algorithmic Game Theory; Cambridge University Press:
New York, NY, USA, 2007.
Sensors 2020,20, 6761 31 of 32
23.
Bandyopadhyay, A.; Xhafa, F.; Mallik, S.; Krause, P.; Mukhopadhyay, S.; Singh, V.K.; Maulik, U. A Framework
for Allocation of IoT Devices to the Fog Service Providers in Strategic Setting. In Advances on P2P, Parallel, Grid,
Cloud and Internet Computing (3PGCIC 2019), LNNS; Springer, Cham, Switzerland, 2019; Volume 96, pp. 1–12.
[CrossRef]
24.
Gale, D.; Shapley, L.S. College admissions and the stability of marriage. Am. Math. Mon.
1962
,69, 9–15.
[CrossRef]
25.
Roughgarden, T. CS269I: Incentives in Computer Science, (Stanford University Course), Lecture #1: The
Draw and College Admissions. 2016. Available online: http://timroughgarden.org/f16/l/l1.pdf (accessed on
24 November 2020).
26. Sutherland, I.E. A futures market in computer time. Commun. ACM 1968,11, 449–451. [CrossRef]
27.
Xu, J.; Palanisamy, B.; Ludwig, H.; Wang, Q. Zenith: Utility-Aware Resource Allocation for Edge Computing.
In Proceedings of the 2017 IEEE International Conference on Edge Computing (EDGE), Honolulu, HI, USA,
25–30 June 2017; pp. 47–54.
28.
Shuminoski, T.; Kitanov, S.; Janevski, T.; Molinaro, A. Advanced QoS Provisioning and Mobile Fog Computing
for 5G. Wirel. Commun. Mob. Comput. 2018,2018. [CrossRef]
29.
Bacci, G.; Belmega, E.V.; Mertikopoulos, P.; Sanguinetti, L. Energy-Aware Competitive Power Allocation for
Heterogeneous Networks Under QoS Constraints. IEEE Trans. Wirel. Commun. 2015,14, 4728–4742. [CrossRef]
30.
Tsipis, A.; Oikonomou, K.; Komianos, V.; Stavrakakis, I. QoE-Aware Rendering Service Allocation in
Fog-Assisted Cloud Gaming Environments. In Proceedings of the 2020 5th South-East Europe Design Automation,
Computer Engineering, Computer Networks and Social Media Conference (SEEDA-CECNSM), Corfu, Greece,
25–27 September 2020; pp. 1–8. [CrossRef]
31.
Madiha, H.; Lei, L.; Laghari, A.A.; Karim, S. Quality of Experience and Quality of Service of Gaming Services in
Fog Computing. In Proceedings of the 2020 4th International Conference on Management Engineering, Software
Engineering and Service Sciences, Wuhan, China, 17–19 January 2020; ICMSS 2020; Association for Computing
Machinery: New York, NY, USA, 2020; pp. 225–228. [CrossRef]
32.
Bandyopadhyay, A.; Mukhopadhyay, S.; Ganguly, U. Allocating resources in cloud computing when users
have strict preferences. In Proceedings of the 2016 International Conference on Advances in Computing,
Communications and Informatics, ICACCI, Jaipur, India, 21–24 September 2016; pp. 2324–2328. [CrossRef]
33.
Bandyopadhyay, A.; Mukhopadhyay, S.; Ganguly, U. On free of cost service distribution in cloud computing.
In Proceedings of the 2017 International Conference on Advances in Computing, Communications and
Informatics (ICACCI), Udupi, India, 13–16 September 2017; pp. 1974–1980. [CrossRef]
34.
Mahmud, R.; Kotagiri, R.; Buyya, R., Fog Computing: A Taxonomy, Survey and Future Directions. In Internet of
Everything: Algorithms, Methodologies, Technologies and Perspectives; Di Martino, B., Li, K.C., Yang, L.T., Esposito, A.,
Eds.; Springer: Singapore, 2018; pp. 103–130.
35.
Mouradian, C.; Naboulsi, D.; Yangui, S.; Glitho, R.H.; Morrow, M.J.; Polakos, P.A. A Comprehensive Survey
on Fog Computing: State-of-the-Art and Research Challenges. IEEE Commun. Surv. Tutor.
2018
,20, 416–464.
[CrossRef]
36.
Fawcett, L.; Broadbent, M.; Race, N. Combinatorial Auction-Based Resource Allocation in the Fog. In Proceedings
of the 2016 Fifth European Workshop on Software-Defined Networks (EWSDN), Den Haag, The Netherlands,
10–11 October 2016; pp. 62–67. [CrossRef]
37.
Liu, L.; Qi, D.; Zhou, N.; Wu, Y. A Task Scheduling Algorithm Based on Classification Mining in Fog Computing
Environment. Wirel. Commun. Mob. Comput. 2018,2018, 1–11. [CrossRef]
38.
Arisdakessian, S.; Wahab, O.A.; Mourad, A.; Otrok, H.; Kara, N. FoGMatch: An Intelligent Multi-Criteria IoT-Fog
Scheduling Approach Using Game Theory. IEEE/ACM Trans. Netw. 2020,28, 1779–1789. [CrossRef]
39.
Cormen, T.H.; Leiserson, C.E.; Rivest, R.L.; Stein, C. Introduction to Algorithms, 3rd ed.; MIT Press: Cambridge,
MA, USA, 2009.
Sensors 2020,20, 6761 32 of 32
40.
Roughgarden, T. CS269I: Incentives in Computer Science (Stanford University Course), Lecture #2: Stable
Matching. 2016. Available online: https://timroughgarden.org/f16/l/l2.pdf (accessed on 24 November 2020).
Publisher’s Note:
MDPI stays neutral with regard to jurisdictional claims in published maps and institutional
affiliations.
©
2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article
distributed under the terms and conditions of the Creative Commons Attribution (CC BY)
license (http://creativecommons.org/licenses/by/4.0/).
... Moreover, the dynamic nature of fog computing environments, characterized by varying resource availability and user demand, necessitates adaptive resource allocation approaches. [1] [2] Additionally, pricing mechanisms play a crucial role in incentivizing efficient resource utilization and optimizing the allocation of resources. By appropriately pricing resources, fog nodes can encourage users to make optimal decisions regarding resource consumption, considering the quality of service requirements, available resources, and demand fluctuations. ...
... The calculation of minimums includes finding the first and second minimum price from the list of requests in L * and returning the per unit price of the minima found.2 This wouldn't happen when the sample data increases and becomes denser.VOLUME 4, 2016 ...
Article
Full-text available
Fog computing is a promising and challenging paradigm that enhances cloud computing by enabling efficient data processing and storage closer to data sources and users. This paper introduces a game-theoretic approach called GTRADPMFC (Game-Theoretic Resource Allocation and Dynamic Pricing Mechanism in Fog Computing) to address resource allocation and dynamic pricing challenges in fog computing environments with limited resources. The proposed model features non-cooperative competition among fog nodes for resources and dynamic pricing mechanisms to encourage efficient resource utilization. Theoretical analysis and simulations demonstrate that GTRADPMFC improves resource efficiency and overall fog computing system performance. Additionally, the paper discusses how to handle situations with insufficient samples and provide flexibility for users unable to meet completion time requirements. GTRADPMFC effectively manages resource allocation by establishing pricing in fog computing, considering potential delays in completion time. This is achieved through research, simulations, convergence analysis, complexity evaluation, and optimization guarantees.
... In light of the fact that applications for intelligent transportation systems and other delay-critical services sometimes need answers in milliseconds, this poses a severe difficulty. Fog computing [16], [17] is an emerging method that addresses latency problems by enabling data analysis at the edge [18], [19] in close proximity to IoT device sources [20], [21]. It is important to note that IoT devices have limited computational network, and storage capabilities [22], [23]. ...
Article
Full-text available
For an extended period, a technological architecture known as cloud IoT links IoT devices to servers located in cloud data centers. Real-time data analytic are made possible by this, enabling better, data-driven decision making, optimization, and risk reduction. Since cloud systems are often located at a considerable distance from IoT devices, the rise of time-sensitive IoT applications has driven the requirement to extend cloud architecture for timely delivery of critical services. Balancing the allocation of IoT services to appropriate edge nodes while guaranteeing low latency and efficient resource utilization remains a challenging task. Since edge nodes have lower resource capabilities than the cloud. The primary drawback of current methods in this situation is that they only tackle the scheduling issue from one side. Task scheduling plays a pivotal role in various domains, including cloud computing, operating systems, and parallel processing, enabling effective management of computational resources. In this research, we provide a multiple-factor autonomous IoT-Edge scheduling method based on game theory to solve this issue. Our strategy involves two distinct scenarios. In the first scenario, we introduced an algorithm containing choices for the IoT and edge nodes, allowing them to evaluate each other using factors such as delay and resource usage. The second scenario involves both a centralized and a distributed scheduling approach, leveraging the matching concept and considering each other. In addition, we also introduced a preference-based stable mechanism (PBSM) algorithm for resource allocation. In terms of the execution time for IoT services and the effectiveness of resource consolidation for edge nodes, the technique we use achieves better results compared with the two commonly used Min-Min and Max-Min scheduling algorithms.
... A problem of allocation of FSPs to IoT devices is studied in [67]. Taking into account the heterogeneity of system, the IoT devices are assumed to have different services requested periodically. ...
Article
Full-text available
Fog computing has been widely integrated in the IoT-based systems, creating IoT-Fog-Cloud (IFC) systems to improve the system performances and satisfy the quality of services (QoS) and quality of experience (QoE) requirements for the end users (EUs). This improvement is enabled by computational offloading schemes, which perform the task computation nearby the task generation sources (i.e., IoT devices, EUs) on behalf of remote cloud servers. To realize the benefits of offloading techniques, however, there is a need to incorporate efficient resource allocation frameworks, which can deal effectively with intrinsic properties of computing environment in the IFC systems such as resource heterogeneity of computing devices, various requirements of computation tasks, high task request rates, and so on. While the centralize optimization and non-cooperative game theory based solutions are applicable in a certain number of application scenarios, they fail to be efficient in many of cases, where the global information and control might be unavailable or cost-intensive to achieve it in the large-scale systems. The need of distributed computational offloading algorithms with low computation complexity has motivated a surge of solutions using matching theory. In the present review, we first describe the fundamental concept of this emerging tool enabling the distributed implementation in the computing environment. Then the key solution concepts and algorithmic implementations proposed in the framework of literature are highlighted and discussed. Given the powerful tool of matching theory, its full capability is still unexplored and unexploited in the literature. We thereby discover and discuss existing challenges and corresponding solutions that the matching theory can be applied to resolve them. Furthermore, new problems and open issues for application scenarios of modern IFC systems are also investigated thoroughly.
Article
Fog computing alleviates the cloud-centric limitations of Internet of Things (IoT). However, in the dynamic landscape of fog computing, the uneven distribution of workload among fog nodes emerges as a substantial obstacle to both, data latency and network profit. To mitigate workload imbalances, data packet offloading offers a twofold benefit. The offloading fog node leverages latency satisfaction, while the recipient fog node gains a financial advantage by leasing out its available processing resources. Motivated by the aforementioned advantages, in this work, we propose a novel load-balancing method to maximize monetary gains without affecting the Quality-of-Service (QoS) constraints of the subscribed IoT users in a biased fog network. The proposed method introduces an Optimized Matching Theory (OMAT)-guided data offloading framework, employing many to many matching without externalities. The method returns a novel matching among disparate fog nodes thereby achieving uniform workload distribution. The obtained results demonstrate that the proposed method attains improved performance in terms of inverse latency, throughput, and non-matchings, when compared to existing methods in the literature.
Chapter
This chapter provides a state-of-the-art review regarding matching theory-based distributed computation offloading frameworks for IoT-fog-cloud (IFC) systems. In this review, the key solution concepts and algorithmic implementations proposed in the literature are highlighted and discussed thoroughly. Given the powerful tool of matching theory, its full capability is still unexplored and unexploited in the literature. We thereby discover and discuss existing challenges and corresponding solutions that the matching theory can be applied to resolve them. Furthermore, new problems and open issues for application scenarios of modern IFC systems are also investigated.
Article
Internet of Things (IoT) devices have become part of our daily life. IoT applications are used in vast domains such as smart healthcare, smart cities, smart transportation, Industry 4.0, and so forth. However, many IoT applications come under the ultra‐reliable and low‐latency communications category; minimal execution time is crucial for such applications. Limitations such as network reliability and the cloud's multi‐hop distance to the IoT devices can affect providing efficient solutions for IoT applications. Fog computing has emerged as an important paradigm that extends cloud computing by delivering cloud‐like services nearer to the end‐users. Placement of IoT applications onto the appropriate fog nodes has an important influence on the overall execution time of applications and energy consumption of fog nodes. Efficiently deploying IoT applications to fog nodes is difficult due to two factors: fog nodes have varying processing capacity and are geographically located in different places from IoT devices. Hence, this article proposes a decentralized bi‐objective optimization application placement policy, that is, DMAP, to minimize IoT applications' overall execution time and energy consumption of fog nodes. The matching game methodology is used for mapping applications to fog nodes. The performance of DMAP is verified using large‐scale simulation experiments. Experimental results show significant improvement in overall execution time, energy consumption, and scalability compared to the existing solutions.
Article
Full-text available
Cloud computing has long been the main backbone that Internet of Things (IoT) devices rely on to accommodate their storage and analytical needs. However, the fact that cloud systems are often located quite far from the IoT devices and the emergence of delay-critical IoT applications urged the need for extending the cloud architecture to support delay-critical services. Given that fog nodes possess low resource capabilities compared to the cloud, matching the IoT services to appropriate fog nodes while guaranteeing minimal delay for IoT services and efficient resource utilization on fog nodes becomes quite challenging. In this context, the main limitation of existing approaches is addressing the scheduling problem from one side perspective, i.e., either fog nodes or IoT devices. To address this problem, we propose in this paper a multi-criteria intelligent IoT-Fog scheduling approach using game theory. Our solution consists of designing (1) preference functions for the IoT and fog layers to enable them to rank each other based on several criteria latency and resource utilization and (2) centralized and distributed intelligent scheduling algorithms that capitalize on matching theory and consider the preferences of both parties. Simulation results reveal that our solution outperforms the two common Min-Min and Max-Min scheduling approaches in terms of IoT services execution makespan and fog nodes resource consolidation efficiency. To know more about the project, you can watch the introductory video via: https://youtu.be/PLT-e50ExDo
Chapter
Full-text available
In the IoT+Fog+Cloud architecture, with the ever increasing growth of IoT devices, allocation of IoT devices to the Fog service providers will be challenging and needs to be addressed properly in both the strategic and non-strategic settings. In this paper, we have addressed this allocation problem in strategic settings. The framework is developed AQ1 under the consideration that the IoT devices (e.g. wearable devices) collecting data (e.g. health statistics) are deploying it to the Fog service providers for some meaningful processing free of cost. Truthful and Pareto optimal mechanisms are developed for this framework and are validated with some simulations.
Article
Full-text available
Game Theory (GT) has been used with significant success to formulate, and either design or optimize, the operation of many representative communications and networking scenarios. The games in these scenarios involve, as usual, diverse players with conflicting goals. This paper primarily surveys the literature that has applied theoretical games to wireless networks, emphasizing use cases of upcoming Multi-Access Edge Computing (MEC). MEC is relatively new and offers cloud services at the network periphery, aiming to reduce service latency backhaul load, and enhance relevant operational aspects such as Quality of Experience or security. Our presentation of GT is focused on the major challenges imposed by MEC services over the wireless resources. The survey is divided into classical and evolutionary games. Then, our discussion proceeds to more specific aspects which have a considerable impact on the game’s usefulness, namely: rational vs. evolving strategies, cooperation among players, available game information, the way the game is played (single turn, repeated), the game’s model evaluation, and how the model results can be applied for both optimizing resource-constrained resources and balancing diverse trade-offs in real edge networking scenarios. Finally, we reflect on lessons learned, highlighting future trends and research directions for applying theoretical model games in upcoming MEC services, considering both network design issues and usage scenarios. IEEE
Article
Full-text available
Fog computing (FC) is an emerging paradigm that extends computation, communication, and storage facilities towards the edge of a network. In this heterogeneous and distributed environment, resource allocation is very important. Hence, scheduling will be a challenge to increase productivity and allocate resources appropriately to the tasks. We schedule tasks in fog computing devices based on classification data mining technique. A key contribution is that a novel classification mining algorithm I-Apriori is proposed based on the Apriori algorithm. Another contribution is that we propose a novel task scheduling model and a TSFC (Task Scheduling in Fog Computing) algorithm based on the I-Apriori algorithm. Association rules generated by the I-Apriori algorithm are combined with the minimum completion time of every task in the task set. Furthermore, the task with the minimum completion time is selected to be executed at the fog node with the minimum completion time. We finally evaluate the performance of I-Apriori and TSFC algorithm through experimental simulations. The experimental results show that TSFC algorithm has better performance on reducing the total execution time of tasks and average waiting time.
Conference Paper
Cloudification of heterogeneous networks along with the virtualization of gaming resources, allow the game providers to move into the cloud gaming era. Cloud gaming offloads computation-intensive tasks to the cloud in order to alleviate the computational burden of end-users' devices, but introduces delay which deteriorates their Quality of Experience (QoE). To solve the optimization problem of rendering service allocation with QoE guarantees and reduce the operational expenditures of game providers, fog computing is deemed a promising solution. However, the optimization problem is NP-hard since it falls into the category of the well-known Facility Location Problems. In the current paper, a distributed policy is proposed, named QoE-Aware Rendering Service Allocation (QoERSA), which takes advantage of strictly local network information, to reallocate the rendering services inside the fog computing network, towards an optimal delay-sensitive placement, given the QoE gaming constraints and the need for capital investment reduction. To this end, it employs Mean Opinion Score objective QoE assessment and simple mechanics that move, copy and merge services with high elasticity and scalability. QoERSA is evaluated through simulations that highlight its efficiency and showcase its capability of overall service access and deployment cost reduction.
Article
Fog computing is considered to be a key enabling technology for future networks. By broadening the cloud computing services to the network edge, fog computing can support various emerging applications such as IoT, big data, and blockchain with low latency and low bandwidth consumption cost. To achieve the full potential of fog computing, it is essential to design an incentive mechanism for fog computing service providers. Auction is a promising solution for the incentive mechanism design. However, it is challenging to design an optimal auction that maximizes the revenue for the providers while holding important properties: IR and IC. Therefore, this article introduces the design of an optimal auction based on deep learning for the resource allocation in fog computing. The proposed optimal auction is developed specifically to support blockchain applications. In particular, we first discuss resource management issues in fog computing. Second, we review economic and pricing models for resource management in fog computing. Third, we introduce fog computing and blockchain. Fourth, we present how to design the optimal auction by using deep learning for the fog resource allocation in the blockchain network. Simulation results demonstrate that the proposed scheme outperforms the baseline scheme (i.e., the greedy algorithm) in terms of revenue, and IC and IR violations. Thus, the proposed scheme can be used as a useful tool for the optimal resource allocation in general fog networks.
Article
Research in the Internet of Things (IoT) conceives a world where everyday objects are connected to the Internet and exchange, store, process, and collect data from the surrounding environment. IoT devices are becoming essential for supporting the delivery of data to enable electronic services, but they are not sufficient in most cases to host application services directly due to their intrinsic resource constraints. Fog Computing (FC) can be a suitable paradigm to overcome these limitations, as it can coexist and cooperate with centralized Cloud systems and extends the latter toward the network edge. In this way, it is possible to distribute resources and services of computing, storage, and networking along the Cloud-to-Things continuum. As such, FC brings all the benefits of Cloud Computing (CC) closer to end (user) devices. This article presents a survey on the employment of FC to support IoT devices and services. The principles and literature characterizing FC are described, highlighting six IoT application domains that may benefit from the use of this paradigm. The extension of Cloud systems towards the network edge also creates new challenges and can have an impact on existing approaches employed in Cloud-based deployments. Research directions being adopted by the community are highlighted, with an indication of which of these are likely to have the greatest impact. An overview of existing FC software and hardware platforms for the IoT is also provided, along with the standardisation efforts in this area initiated by the OpenFog Consortium (OFC).
Article
Although infrastructure as a service (IaaS) users are busy scaling up/out their cloud instances to meet the ever-increasing demands, the dynamics of their demands, as well as the coarse-grained billing options offered by leading cloud providers, have led to substantial instance underutilization in both temporal and spatial domains. This paper systematically examines an instance subletting service, where sublettable instances can be leased to others within predetermined periods when underutilized, from both theoretical and practical perspectives. The studied instance subletting service extends and complements the existing instance market of IaaS providers. We identify the unique challenges and opportunities in this new service, and design online auction mechanisms to make allocation and pricing decisions for the instances to be sublet. For static supplies of instances, our mechanism guarantees truthfulness and individual rationality with the best possible competitive ratio. We then incorporate a multi-stage discount strategy to gracefully handle dynamic supplies. Extensive trace-driven simulations show that our service achieves significant performance gains in both cost savings and social welfare. We further pinpoint the challenges in implementing such a service in the real-world system and validate our modeling assumptions through a container-based prototype implemented over Amazon EC2. IEEE