In this section, we introduce the proposed SC resource sharing scheme in detail. Based on the TS game model, our proposed scheme can approximate a globally desirable system performance while ensuring user cooperations.
Social cloud is a form of community cloud and is designed to enable access to elastic compute capabilities contributed by socially connected community [
10]. To avoid the social dilemma such as “Tragedy of the Commons”, social incentives motivate users to participate in, and contribute to, SC systems in different ways. Motivation is generally categorized as either intrinsic or extrinsic. Extrinsic motivation represents that users are motivated by an external reward, e.g., virtual currency. Therefore, they will contribute to the SC while the expected benefits exceed the cost of contribution. Intrinsic motivation represents an internal satisfaction obtained from the task itself rather than the rewards or benefits. In realities, people incline to cooperate with others for reciprocation and altruism. These factors rationalize non-economic behaviors and motivates users to contribute to SC [
8].
In this study, we leverage social incentives to create ad hoc clouds without incurring the overhead of central complex processes. To implement a fair-efficient resource sharing mechanism, we pay serious attention to contribution evaluation, repeated interactions, and iterative self-learning algorithms. In the proposed scheme, these techniques have been incorporated into the TS game model, which is developed to let distributed players learn the best strategy in the step-by-step interactive online manner. This approach can induce all SC users to share resources as much as possible and ensure a good tradeoff between the implementation complexity for real-world SC operations and an effective system performance. Therefore, the proposed scheme can be used to overcome one of the major limitations of traditional SC monitoring methods.
To characterize our proposed scheme, we design a new TS game model
\( \mathbb{G} \) for SC systems. In a realistic SC scenario, each user, i.e., network device, can be a resource supplier or demander. Suppliers make their decisions by considering the possible reactions of demanders. Demanders react dependently based on the decision of suppliers while attempting to maximize their satisfaction. Therefore, in our TS game model
\( \mathbb{G} \), suppliers plays the role of leaders and demanders become followers. Based on these assumptions,
\( \mathbb{G} \) is defined as a tuple
\( \mathbb{G} \) = (ℕ, (
V
i
)
i ∈ ℕ, (
S
i
)
i ∈ ℕ, (
Λ
i
)
i ∈ ℕ, (
U
i
)
i ∈ ℕ,
T) at each time period
t of gameplay.
-
ℕ is the finite set of players, and ℕ = {p
1, …, p
n
} where p
i,1 ≤ i ≤ n
represents the ith user. A player can be a supplier or a demander at times. Therefore, the position of each player would be dynamically changeable as a leader or a follower.
-
V
i
is the amount of exchangeable resources of the player i. In this study, V is the computing capacity, e.g., CPU cycles.
-
S
i
is the set of strategies with the player i. If the player i is a supplier, S
i
can be defined as the amount of sharing resource. If the player i is a demander, S
i
is defined as the amount of requested resource.
-
Λ
i
is the contribution level of the player i in the SC community.
-
The U
i
is the payoff received by the player i. Traditionally, the payoff is determined as the obtained outcome minus the cost to obtain that outcome.
-
The T is a time period. The \( \mathbb{G} \) is repeated t ∈ T < ∞ time periods with competitive and cooperative manner.
In the SC system, each network device has its own computation resources and executes elastic applications. Applications can be divided into two parts: one part runs locally and the other part can be executed on the cloud side. Therefore, applications in each network device can be computed either locally or remotely via computation offloading. In general, the main challenges to design an offloading mechanism are to decide what, when, and how to be offloaded. In the proposed scheme, available resources in suppliers are matched to demanders based on the supplier-demander interactive relationship. According to the proposed TS game model, network devices can self-organize into the mutually satisfactory computation offloading decisions.
2.2 Resource sharing process in social cloud systems
Different users may pursue individually to maximize their profits. From the viewpoint of demanders, the payoff corresponds to the resource sharing benefit minus the incurred cost to share the remote resource. Therefore, the utility function of demander
i
\( \left({U}_i^D\right) \) is defined as follows:
$$ {U}_i^D\left({x}_i,{\varLambda}_i\right)={\mathrm{\mathcal{B}}}_i\left(j,{x}_i\right)-{\mathcal{C}}_i\left(j,{x}_i\right),\kern1em j\;\mathrm{is}\;\mathrm{a} \operatorname {supplier}\kern0.5em \in \kern0.5em \mathbb{N}\; and\;i\ne j $$
(1)
where
\( \mathcal{X} \)
i
is the requested resource amount, and ℬ
i
(·) and
\( \mathcal{C} \)
i
(·) are the benefit and cost functions for the demander
i. Usually, elastic applications have concave benefit function, which provides monotone increasing values in proportion to the assigned resource amounts. According to the amount of assigned resource, ℬ
i
(·) and
\( \mathcal{C} \)
i
(·) are given by
$$ {\mathrm{\mathcal{B}}}_i\left(j,{x}_i\right)= \sin \left(\frac{\pi }{2}\times \frac{b_j^i}{x_i}\right)\mathrm{and}\kern0.5em {\mathcal{C}}_i\left(j,{x}_i\right)=\zeta \times \left(\varrho \times \frac{b_j^i}{\mathrm{\mathcal{M}}\mathcal{X}}\right) $$
(2)
$$ \mathrm{s}.\mathrm{t}.,\kern1em \zeta =\raisebox{1ex}{${b}_j^i$}\!\left/ \!\raisebox{-1ex}{$ \max\ \left\{{\varLambda}_i,{b}_j^i\right\}$}\right.\kern1.25em and\kern0.5em \varrho =\raisebox{1ex}{$\mathrm{\mathcal{E}}\left({b}_j^i\right)$}\!\left/ \!\raisebox{-1ex}{$\mathrm{\mathcal{E}}\left(\mathrm{\mathcal{M}}\mathcal{X}\right)$}\right. $$
where \( {b}_j^i \) is the assigned resource amount from the supplier j. ζ is a cost control parameter, and ℳ\( \mathcal{X} \) is the total resource amount to process the corresponding application. ℰ(ℳ\( \mathcal{X} \)) and \( \mathrm{\mathcal{E}}\left({b}_j^i\right) \) are the energy consumption to execute ℳ\( \mathcal{X} \) and \( {b}_j^i \) amount resources, respectively. In this study, ℰ(·) is a linear function. \( \varLambda i \) is the accumulated contributiveness of the demander i. After the remote execution, \( \varLambda i \) is decreased by \( {b}_j^i \), i.e., \( {\varLambda}_i={\varLambda}_i-{b}_j^i \). Based on the expected payoff U
D
(·), demanders can try to find the best actions, i.e., the decision of \( \mathcal{X} \)
i
amount.
From the viewpoint of suppliers, the payoff also corresponds to the received benefit minus the incurred cost to assign the sharing resource. However, in contrast to the demanders’ interest, the sharing benefit is defined according to the reciprocal cooperation, more generally, the combination of evolution, altruism, and reciprocity. In this study, we assume that users can be altruistic toward others and react to other users’ altruism. Therefore, the received benefit function is developed based on the simple reciprocal mechanism. By considering the service cost, the supplier
j’s utility function to the demander
i
\( \left({U}_j^S\left(\cdotp \right)\right) \) is defined as follows:
$$ {U}_j^S\left({\mathcal{Z}}_j,{\varLambda}_j,i\right)={\mathbb{B}}_j\left({\mathcal{Z}}_j,{\varLambda}_j,i\right)-{\mathrm{\mathbb{C}}}_j\left({\mathcal{Z}}_j\right) $$
(3)
where
\( \mathcal{Z} \)
j
is the amount of sharing resource of the supplier
j and
\( {\mathbb{B}}_j\left({\mathcal{Z}}_j,{\varLambda}_j,i\right) \) and ℂ
j
(
\( \mathcal{Z} \)
j
) are the benefit and cost functions for the supplier
j, respectively. To get the optimal payoff, suppliers try to maximize their benefit function while minimizing their cost function. According to the
\( \mathcal{Z} \)
j
and
Λ values,
\( \mathbb{B} \)
j
(·) and ℂ
j
(·) are given by
$$ {\mathbb{B}}_j\left({\mathcal{Z}}_j,{\varLambda}_j,i\right)=\left[\left({\theta}_j^i\times {e}^{{\mathcal{Z}}_j}\right)+{\mathrm{\mathcal{F}}}_j\left({\varLambda}_j\right)\right]\mathrm{and}\;{\mathrm{\mathbb{C}}}_j\left({\mathcal{Z}}_j\right)=\lambda \times \left(\raisebox{1ex}{$\mathrm{\mathcal{E}}\left({\mathcal{Z}}_j\right)$}\!\left/ \!\raisebox{-1ex}{$\mathrm{\mathcal{E}}\left(\mathfrak{T}\right)$}\right.\right) $$
(4)
$$ \mathrm{s}.\mathrm{t}.,\ {\theta}_j^i=\frac{\varphi_j+\left({\varphi}_j\times \left(\raisebox{1ex}{${\varLambda}_i$}\!\left/ \!\raisebox{-1ex}{$\left({\varLambda}_i+{\varLambda}_j\right)$}\right.\right)\right)}{1-\left(\raisebox{1ex}{${\varLambda}_i$}\!\left/ \!\raisebox{-1ex}{$\left({\varLambda}_i+{\varLambda}_j\right)$}\right.\right)}\mathrm{and}\kern0.5em {\mathrm{\mathcal{F}}}_j\left({\varLambda}_j\right)=\left(\raisebox{1ex}{${\mathcal{Z}}_j$}\!\left/ \!\raisebox{-1ex}{$ \max\ \left\{{\varLambda}_j,{\mathcal{Z}}_j\right\}$}\right.\right) $$
\( {\theta}_j^i \) is the supplier j’s altruistic parameter to the demander i, and φ
j
is the supplier j’s general altruistic propensity. ℰ(\( \mathfrak{T} \)) and ℰ(\( \mathcal{Z} \)
j
) are the energy consumption to execute the supplier j’s total resource (\( \mathfrak{T} \)) and \( \mathcal{Z} \)
j
, respectively. λ is the cost control parameter. After the resource sharing process, Λj is increased by \( \mathcal{Z} \)
j
, i.e., Λj = Λj + \( \mathcal{Z} \)
j
.
Under dynamically changing SC environments, a fixed altruistic propensity cannot effectively adapt to the current SC condition. Therefore, the
φ value should be dynamically adjustable. In order to implement the
φ value adjustment process, suppliers should learn how to perform well by interacting with demanders and dynamically adjust their
φ levels. Based on the exponential weight learning algorithm [
17], suppliers in our TS game model can constantly adapt each
φ level to get an appropriate attitude to their corresponding SC environments. Let
\( \mathbb{K} \) be the set of all possible altruistic propensity levels, i.e., φ∈
\( \mathbb{K} \). In the proposed learning algorithm, the probability of choosing the
k’s propensity level in
\( \mathbb{K} \) at time
\( t\left({P}_k^{\varphi }(t)\right) \) is defined by
$$ {P}_k^{\varphi }(t)=\left(1-\gamma \right)\times \left(\raisebox{1ex}{${\omega}_k(t)$}\!\left/ \!\raisebox{-1ex}{${\displaystyle {\sum}_{j=1}^K}{\omega}_j(t)$}\right.\right)+\frac{\gamma }{\left\Vert \mathbb{K}\right\Vert } $$
(5)
$$ \mathrm{s}.\mathrm{t}.,\ {\omega}_j(t)={\omega}_j\left(t-1\right)\times \exp \left(\gamma \times \left[\raisebox{1ex}{${\mathcal{U}}_j\left(t-1\right)$}\!\left/ \!\raisebox{-1ex}{$\left({P}_j^{\varphi}\left(t-1\right)\times \left\Vert \mathbb{K}\right\Vert \right)$}\right.\right]\right) $$
where γ ∈ [0,1] is an egalitarianism factor, which tunes the desire to pick an action uniformly at random. That is, if γ = 1, the weights have no effect on the choices at any step. \( \left\Vert \mathbb{K}\right\Vert \) is the total number of propensity levels, and \( {\mathcal{U}}_j\left(t-1\right) \) is the obtained payoff \( \left({U}_j^S\left(\cdotp \right)\right) \) at time t − 1. According to the distribution of P(t), suppliers can modify their φ levels without any impractical rationality assumptions. During the step-by-step iteration, suppliers individually adjust the φ value by using the dynamics of feedback-based repeated process. Therefore, under dynamic SC situations, the main advantage of our proposed approach is a real-world practicality.
During real-world SC operations, multiple demanders can request the resource sharing from the same supplier. In this case, the role of supplier is to distribute dynamically the limited resource for each demander. To get a fair-efficient resource allocation, we develop a new resource distribution algorithm based on the relative utilitarian bargaining model [
18]; it can be applicable and useful in a SC system with a frequently changing situation. In the proposed scheme, we consider each demanders’
Λ values as asymmetric bargaining powers. Therefore, our bargaining solution (ℛ_ℬ) for resource distribution is given by
$$ \mathrm{\mathcal{R}}\_\mathrm{\mathcal{B}}=\underset{b_j^i,\kern0.5em i\in {\mathbf{\mathcal{N}}}_j}{\mathbf{max}}\left({\displaystyle \sum_{i\in {\mathbf{\mathcal{N}}}_j}}{\mathfrak{U}}_i\left({b}_j^i,{\varLambda}_i\right)\right),\kern1em \mathrm{s}.\mathrm{t}.,\ {\mathfrak{U}}_i\left({b}_j^i,{\varLambda}_i\right)={\left(\frac{b_j^i}{x_i}\right)}^{\eta_i}\mathrm{and}\;{\eta}_i=\raisebox{1ex}{${\varLambda}_i$}\!\left/ \!\raisebox{-1ex}{${\displaystyle {\sum}_{j=1}^K}{\varLambda}_j$}\right. $$
(6)
where \( {\mathbf{\mathcal{N}}}_j \) is the set of all resource requesting demanders to the supplier j. ℛ_ℬ is a vector, which corresponds to the resource distribution amounts to each demander.
In general, traditional game models have focused on investigating
which decisions are made or
what decisions should be made. Therefore, an equilibrium point is a well-known solution concept in classical game models. The strategy in equilibrium is the best response to the strategies of the other users. In the proposed TS game model, an equilibrium point of suppliers and demanders can be defined as follows:
$$ {\boldsymbol{U}}^{*}\left({U}^{D*},{U}^{S*}\right)=\left\{\begin{array}{l}{U}^{S*}=\left\{\begin{array}{l} \arg \underset{{\mathcal{Z}}_j\in {\boldsymbol{S}}_j}{\mathbf{max}\ }\left\{{U}_j^S\left({\mathcal{Z}}_j,{\varLambda}_j,i\right)\right\},\mathrm{if}\;j\;\mathrm{is}\ \mathrm{a}\ \mathrm{s}\mathrm{upplier}\\ {}\kern9em \mathrm{with}\ \mathrm{s}\mathrm{ingle}\ \mathrm{demander}\ i\\ {} \arg \underset{i\in \mathcal{N},{\mathcal{Z}}_j^i\in {\boldsymbol{S}}_j}{\mathbf{max}}\left\{{U}_j^S\left({\mathcal{Z}}_j,{\varLambda}_j,\mathcal{N}\right)\right\},\mathrm{if}\ j\ \mathrm{is}\ \mathrm{a}\ \mathrm{s}\mathrm{upplier}\\ {}\kern6em \mathrm{with}\ \mathrm{multiple}\ \mathrm{demander}\mathrm{s}\ N\end{array}\right.\\ {}{U}^{D*}= arg\underset{x_i\in {\boldsymbol{S}}_i}{\mathbf{max}\ }\left\{{U}_i^D\left({x}_i,{\varLambda}_i\right)\right\},\kern1em \mathrm{if}\;i\;\mathrm{is}\ \mathrm{a}\ \mathrm{demander}\end{array}\right. $$
(7)
In recent decades, there had been many conceptual and empirical critiques toward the equilibrium concept. First, in the scenario of equilibrium, the players are assumed to be fully rational. This perfect rational assumption requires complete information; all factors of the game should be common knowledge. However, in reality, this assumption is actually disputable and rarely holds. In particular, the hypothesis of exact rationality does not apply to many interactive situations. Second, the idea of equilibrium has mostly been developed in a static setting. Under the dynamic changing SC environments, it cannot capture the adaptation of players to change their strategies and reach equilibrium over time.
In this study, we introduce a new solution concept for the TS game model; it is the obtained consensus with reciprocal advantage. Such a consensus in multi-player decision-making process is defined as Cooperative Consensus Equilibrium (CCE). During TS game operations, game players may adjust their altruistic propensities when outcome contradicts their beliefs and adaptively modify their altruistic propensities in an attempt to reach a mutually acceptable decision vector. Therefore, the solution concept of CCE presents a dynamic learning interpretation to adapt the current SC situations. To the best of our knowledge, this is the first study to address the iterative SC resource sharing problem with a reciprocal consensus solution concept.
Definition
CCE is a system status that can be obtained through repeating the TS game with receiving feedbacks. When all the accumulated contributiveness (
Λ) of users are balanced, i.e., the relative contribution differences of users are less than a pre-defined maximum bound ( ), this state is defined as the CCE. That is formally formulated as
$$ \underset{i}{\mathbf{max}}\left\{i\in \mathrm{\mathbb{N}}\left|\left(\raisebox{1ex}{$\left(\raisebox{1ex}{${\varLambda}_i$}\!\left/ \!\raisebox{-1ex}{${T}_i^M$}\right.\right)$}\!\left/ \!\raisebox{-1ex}{$\left({\displaystyle {\sum}_{k\in \mathrm{\mathbb{N}}}\raisebox{1ex}{${\varLambda}_k$}\!\left/ \!\raisebox{-1ex}{${T}_k^M$}\right.}\right)$}\right.\right)\right.\right\}<{\varGamma}_{\varLambda } $$
(8)
where \( {T}_k^M \) is the maximum resource capacity of user k’s device. Therefore, the main idea of CCE is to minimize the maximum unbalanced behavior degree of users.