Let's Share: A Game-Theoretic Framework for Resource Sharing in Mobile Edge Clouds

Mobile edge computing seeks to provide resources to different delay-sensitive applications. This is a challenging problem as an edge cloud-service provider may not have sufficient resources to satisfy all resource requests. Furthermore, allocating available resources optimally to different applications is also challenging. Resource sharing among different edge cloud-service providers can address the aforementioned limitation as certain service providers may have resources available that can be “rented” by other service providers. However, edge cloud service providers can have different objectives or utilities. Therefore, there is a need for an efficient and effective mechanism to share resources among service providers, while considering the different objectives of various providers. We model resource sharing as a multi-objective optimization problem and present a solution framework based on Cooperative Game Theory (CGT). We consider the strategy where each service provider allocates resources to its native applications first and shares the remaining resources with applications from other service providers. We prove that for a monotonic, non-decreasing utility function, the game is canonical and convex. Hence, the core is not empty and the grand coalition is stable. We propose two algorithms Game-theoretic Pareto optimal allocation (GPOA) and Polyandrous-Polygamous Matching based Pareto Optimal Allocation (PPMPOA) that provide allocations from the core. Hence the obtained allocations are Pareto optimal and the grand coalition of all the service providers is stable. Experimental results confirm that our proposed resource sharing framework improves utilities of edge cloud-service providers and application request satisfaction.


page 1

page 10

page 11

page 12


A Game-Theoretic Framework for Resource Sharing in Clouds

Providing resources to different users or applications is fundamental to...

A Game-Theoretic Approach to Multi-Objective Resource Sharing and Allocation in Mobile Edge Clouds

Mobile edge computing seeks to provide resources to different delay-sens...

A Game-theoretic Framework for Revenue Sharing in Edge-Cloud Computing System

We introduce a game-theoretic framework to ex- plore revenue sharing in ...

Resource Sharing in the Edge: A Distributed Bargaining-Theoretic Approach

The growing demand for edge computing resources, particularly due to inc...

An Online Orchestration Mechanism for General-Purpose Edge Computing

In recent years, the fast development of mobile communications and cloud...

Sharing within limits: Partial resource pooling in loss systems

Fragmentation of expensive resources, e.g., spectrum for wireless servic...

EdgeMatrix: A Resources Redefined Edge-Cloud System for Prioritized Services

The edge-cloud system has the potential to combine the advantages of het...

I Introduction

Mobile edge computing is a viable solution to support resource intensive applications (users)111Throughout the paper, we use the terms “applications” and “users” interchangeably. that relies on mobile edge clouds (MECs) placed at the edge of any network [he2018s]. This, in contrast with running applications on user devices (with limited processing capability) or deep in the Internet, usually allows one-hop communication [jia2015optimal] between edge clouds and applications in order to provide the required processing power and reduce application latency. The goal for any MEC service provider is to provide resources to applications as much as possible, resulting in an increase in application satisfaction and utility for the provider. However, a fundamental limitation of MEC is that in contrast to traditional cloud platforms and data centers, edge clouds have limited resources and may not always be able to satisfy application demands for resources [he2018s]. In addition to commercial settings, this problem of limited resources also occurs in military networks. For example, MEC service providers are equivalent to military coalition partners, who own various parts of the computing resources.

To address resource scarcity, different solutions have been proposed in the literature such as purchasing more resources to meet peak demands, using resources from the same service provider located at a distant location, or sharing resources among co-located mobile edge clouds. However, purchasing more resources to meet peak demands is not an efficient solution as the newly purchased resources may not always be used. Furthermore, it is not always possible to accurately predict peak demand. Hence, delays in purchasing additional resources may introduce delays in satisfying the applications. Similarly, using resources of the same provider at a distant location can increase latency. Creating shared resources among co-located (or physically adjacent) edge clouds is a promising approach as it accounts for the aforementioned shortcomings of buying more resources to meet peak demands or allocating resources at a distant location. However, resources of co-located mobile edge clouds belong to different service providers, each of which may have a particular objective to optimize such as security, throughput, latency, etc. when allocating and utilizing its resources. Therefore creating a resource pool and then allocating these resources requires taking different service provider objectives into account, which results in a multi-objective optimization [cho2017survey] (MOO) problem.

In this paper, we attempt to address these issues. Specifically, we consider a setting where multiple edge clouds reside at the network edge belonging to different service providers. Each MEC has a specific set and amount of resources and a number of applications affiliated with the MEC demand for resources. We consider a strategy where all edge clouds initially allocate resources to their native applications. If an edge cloud satisfies its own applications and has free resources, it can share them with other edge clouds that might need them. This is because satisfying native applications helps the MEC service provider to retain its customers. We present a resource sharing and allocation framework based on cooperative game theory (CGT), in which different edge clouds form a coalition to share their resources and satisfy the requests of different applications. Our CGT-based framework considers the fact that different edge clouds may have different objectives, which makes the traditional single-objective optimization framework inapplicable to the MEC settings.

I-a Summary of the contributions

The main contributions of this paper are:

  1. We present a novel multi-objective resource-sharing problem formulation that considers both service provider utilities and application request satisfaction in mobile edge clouds. We propose a cooperative game theory based framework to solve the formulated problem. We model each edge cloud service provider as a player in our game and model resource sharing and allocation problem as a canonical game with non-transferable utility (NTU). We prove that the game is super-additive and convex, hence the core is non-empty. Therefore, the grand coalition of all edge clouds is stable.

  2. We propose a distributed Game-theoretic Pareto Optimal Allocation (GPOA) algorithm that provides an allocation from the core based on a strategy where all MECs first allocate resources to their native applications, and then MECs with resource surplus share their resources with those that have a resource deficit.

  3. To reduce resource fragmentation222We define resource fragmentation as splitting of the provisioned resources to applications of any player across different MECs. The higher the number of MECs that provide resources to a particular application, the higher will be the resource fragmentation. Ideally, for the applications of a resource deficit MEC, only one MEC with resource surplus should provide the resources. due to resource sharing among MECs, we also propose Polyandrous Polygamous Matching based Pareto Optimal Allocation (PPMPOA) algorithm that aims to match resource deficit MECs with resource surplus MECs. Using evaluations we show that PPMPOA:

    • Provides allocation from the core.

    • Results in a stable matching [maschler2013].

    • Reduces resource fragmentation.

  4. We also prove that the proposed algorithms, GPOA and PPMPOA, enforce truth-telling, i.e., no MEC service provider has the incentive to misreport its capacity and native application requests.

  5. We evaluate the performance of our proposed framework by extensive simulations. We verify the game theoretic properties of our proposed approach by showing that the game is super-additive and the core is nonempty, i.e., our obtained solutions are from the core and satisfy properties such as individual rationality, group rationality, and stability. We also show that the resource sharing and allocation mechanism improves the utilities of game players. Furthermore, our framework also improves application (user) satisfaction.

The rest of the paper is structured as follows. Section II provides a primer on MOO, CGT, and the core. Section III describes our system model and presents the resource sharing/allocation optimization problem. Section IV discusses the game theoretic solution and Section V presents our experimental results. Section VI presents a review of relevant literature, while Section VII concludes the paper.

Ii Preliminaries

In this section, we give a brief overview of Multi-Objective Optimization (MOO), cooperative game theory, and the core.

Ii-a Multi-Objective Optimization

Multi-Objective Optimization (MOO) identifies a vector

that optimizes a vector function


such that


where is a vector of decision variables and the feasible set is denoted by . The fundamental difference between a single objective optimization (SOO) and MOO is that MOO involves a vector of objective functions rather than a single objective function. Hence, the resulting solution is not a single point, but a frontier of solutions known as Pareto frontier or Pareto boundary (see [cho2017survey] for details). Some basic definitions related to MOO are:

Definition 1.

Pareto Improvement or Pareto Dominated Solution: Given an initial allocation, if we can achieve a different allocation that improves at least one individual function without degrading any other, then the initial allocation is called Pareto improvement.

Definition 2.

Pareto Optimality: For any minimization problem, is if the following holds for every ,


where .

Fig. 1: MOO with two objective functions

Figure 1 shows a MOO problem with two objective functions and . The boundary is the Pareto frontier as it consists of all the Pareto optimal solutions.

Ii-B Cooperative Game Theory

Cooperative game theory provides a set of analytical tools that assist in understanding the behavior of rational players in a cooperative setting [han2012game]. Players can have agreements among themselves that affect strategies as well as utilities obtained by the game players. Coalition game, a type of cooperative game, deals with the formation of coalitions, namely groups of two or more cooperating players. Formally,

Definition 3.

Coalition Game [han2012game]: Any coalition game with non-transferable utility (discussed below) can be represented by the pair where is the set of players that play the game, while is a set of payoff vectors such that [roger1991game]:

  1. should be a closed and convex subset of .

  2. should be comprehensive, i.e., if we are given payoffs and where , then . In other words, if the members of coalition can achieve a payoff allocation , then the players can change their strategies to achieve an allocation where .

  3. The set and , with should be a bounded subset of . In other words, the set of vectors in for a coalition where the coalition members receives a payoff at least as good as working alone (non-cooperatively) is a bounded set.

Definition 4.

Utility: The payoff or gain a player receives in the game is known as utility.

Definition 5.

Value of a coalition: The sum of utilities of the coalition members is known as the value of a coalition.

Definition 6.

Non-Transferable Utility (NTU)[han2012game]: If the total utility of any coalition cannot be assigned a single real number or if there is a rigid restriction on utility distribution among players, then the game has a non-transferable utility. In other words, the payoff each player receives and the value of coalition depend on the game strategy. Utility cannot be transfered freely among the players.

Definition 7.

Characteristic function: The characteristic function for any coalition game with NTU is a function that assigns a set of payoff vectors, , to game players where each element of the payoff vector represents a payoff that player obtains given a strategy selected by the player in the coalition .

Definition 8.

Characteristic Form Coalition Games [han2012game]: A coalition game is said to be of characteristic form, if the value of coalition depends only on the members of the coalition. (This means that players that are not part of the game don’t impact the value of coalition.)

Definition 9.

Superadditivity of NTU games: A canonical game with NTU is said to be superadditive if the following property is satisfied.


where is a payoff allocation for the coalition .

That is, if any two disjoint coalitions and form a large coalition , then the coalition can always give its members the payoff that they would have received in the disjoint coalition and . It is worth mentioning that is the set of payoff vectors while is the sum of payoffs for all coalition players.

Definition 10.

Canonical Game: A coalition game is canonical if it is superadditive and in characteristic form.

The core is a widely used concept for dealing with canonical games as discussed below.

Ii-C Core

To help us explain the core, we first define some terms [han2012game].

Definition 11.

Group Rational: A payoff vector for distributing the coalition value to all players is group-rational if .

Definition 12.

Individual Rational: A payoff vector is individually rational if every player can obtain a payoff no less than acting alone (not in a coalition), i.e., .

Definition 13.

Imputation: A payoff vector that is both individual and group rational is an imputation.

Definition 14.

Grand Coalition: The coalition formed by all game players is the grand coalition.

Based on the above definitions, we can define the core of an NTU canonical coalition game as:

Definition 15.

Core[han2012game]: For any NTU canonical game , the core is the set of imputations in which no coalition has any incentive to reject the proposed payoff allocation and deviate from the grand coalition to form the smaller coalition instead. Mathematically, this is

Remark 1.

Any payoff allocation from the core is Pareto-optimal as evident from definition of the core. Furthermore, the grand coalition formed is stable, i.e., no two players will have an incentive to leave the grand coalition to form a smaller coalition.

However, the core is not always guaranteed to be non-empty. If the core is non-empty, it will be a convex set [shapley1971cores], whereas a convex set consists of infinite convex combinations of the points within the set [boyd2004convex]. Therefore, a non-empty core is large and finding a payoff allocation (vector) in the core is not easy.

Definition 16.

User/Application Request Satisfaction: The extent to which a request for resources is satisfied. Mathematically, if is the requested amount and is the provisioned amount, then application request satisfaction is given by .

Iii System Model

Fig. 2: Our system model with multiple MEC providers

Let be the set of edge cloud-service providers. We assume that each service provider has a set of different types of resources such as communication, computation and storage resources. Let the available resources at service provider be denoted by , where is the amount of type resources available at service provider . Each service provider has a set of native (local) applications . The set of all applications that ask for resources from all service providers (i.e., the grand coalition of service providers) is given by where i.e., each provider has an entirely different set of native applications. Every provider has a request (requirement) matrix .


where the row corresponds to application , while columns represent different resources. That is, is the amount of resource that application requests from provider . When the service provider works alone333Not borrowing from or renting out its resources to any other service provider., its objective is to maximize its utility by allocating resources to its native applications and improving application satisfaction. A service provider earns a non-negative monotonically non-decreasing utility by making allocation decision , i.e., allocating amount of resource to application , where . Table I summarizes the notations used throughout the paper. Below we present the optimization formulation for a single service provider.

Notation Description
Set, number and index of game players (service providers)
Set, number and index of resources
Set, number and index of applications
Set of native applications at player (provider)
A coalition of game players (providers), where
Set of payoff vectors
Value of coalition
Set of players (providers) with resource deficit
Set of players (providers) with resource surplus
Capacity vector of all game players (providers)
Capacity vector of player (provider)
Capacity of resource at player (provider)
Request matrix at player (provider)
Request of application for resource from player (provider)
Allocation decision of resource for application at player (provider)
Allocation decision vector for application at player (provider) when working alone
Allocation decision for player (provider) in the coalition
Allocation decision for the entire coalition
Allocation decision for player (provider) in the coalition excluding its native applications
Allocation decision for applications of player (provider) at player (provider) in the coalition s
Utility player (provider) earns by allocating resource to application
Utility player (provider) earns by allocating vector of resources to application
Grand coalition
Request satisfiability
Transferable utility
Non-transferable utility
Cooperative game theory
Multi-objective optimization
Single-objective optimization
Mobile edge cloud
TABLE I: List of notations used throughout the paper

Iii-a Problem Formulation for Single Service Provider

We first present the resource allocation problem for a single, stand-alone provider (i.e., no resource sharing with other providers). For each provider , the allocation decisions consist of the vectors . The optimization problem is:

s.t. (7b)

The objective function is required to be a monotonic, non-negative and non-decreasing function. For illustration purposes in this paper, we assume that:

where the term captures the request satisfaction (see Definition 16) and is the non-decreasing and non-negative utility the service provider earns by providing the resources to applications. The weight is used for scaling so that both the terms are on the same scale. The first constraint in (7b) indicates that the allocated resources cannot exceed capacity. The second constraint in (7c) indicates that the allocated resources should not exceed the required amounts. The last constraint, (7d) requires the allocation to be non-negative.

The goal of this single-objective optimization problem for every provider, as mentioned earlier, is to maximize its utility by allocating available resources to its native applications and improving application satisfaction. We note that this single-provider formulation does not consider the following. For example, it is possible that a service provider may earn a larger utility by providing its resources to applications of other service providers. Furthermore, provider(s) may not have sufficient resources to satisfy requests of all its native applications, while other providers may have resource surpluses that can be “rented” and utilized by other providers. In this work, we focus on strategies where each service provider allocates resources to its native applications and then shares any remaining resources with other service providers who are not able to fully satisfy their native applications. These aspects are considered in the following formulation.

Iii-B Problem Formulation for Multiple Service Providers

Let us assume that a mobile edge service provider does not have sufficient resources to satisfy all its native applications. Suppose that service provider has a resource surplus, after allocating its resources to its native applications that can be shared with . Allowing resource sharing among such providers can improve resource utilization and application satisfaction. By sharing and allocating its type resources to application , service provider earns a non-decreasing and non-negative net utility , which in this paper is assumed to be


where is the amount of resource allocated already to application by providers other than . captures the incremental increase in utility of provider due to the allocation of additional resource . represents the communication cost of serving application by using resource of type at provider rather than its native service provider . We assume that the communication cost is a positive monotonic non-decreasing function. The term , which takes a value in , is used to reduce resource fragmentation by providing a higher utility for providing more resources at a particular provider.

To consider each provider and its native applications, let represent the utility service provider earns by allocating resources to its native applications along with the increase in request satisfaction due to provision of resources to its applications at different service providers including itself. We assume:


Note that is monotonic non-decreasing and non-negative. Furthermore, we implicitly assume that . The latter assumption reflects that different providers earn the same utility when allocating the same amount of resources of the same type to a given application, either locally or remotely. Furthermore,

That is, the total resources allocated to any application is the sum of resource allocated to it across all service providers. The resource sharing and allocation framework, based on resource requests and capacities of service providers, has to make allocations that optimize the utilities of all the service providers while satisfying user requests as well. The allocation decision is given by , where is given by:


When service providers share resources, each service provider aims to maximize the sum of utilities obtained by a) allocating resources to its native applications; b) allocating resources (if available) to applications of other service providers; c) improving the request satisfaction of its applications by using its own resources or borrowing from other service providers (when needed and possible); and d) reducing resource fragmentation. In the resource sharing case, each service provider allocates its resources by solving the following optimization problem:

s.t. (11b)

where and are given in (III-B) and (9). Constraints (11b)-(11d) are similar to those for the formulation in (7), except that (11e) indicates that the utility earned by sharing resources must be higher than the communication cost.

As the utility can differ for each application , (11) for all providers represents a multi-objective optimization problem, which will be solved by a game-theoretic approach as follows.

Iv Game Theoretic Solution

In this section, we first present general properties of our game and show that the resource-sharing problem for multiple providers can be modeled as a canonical cooperative game with non-transferable utility. We then show that the core is non-empty, by proving that our canonical game is cardinally convex[sharkey1981convex]. Finally, we propose algorithms in Section IV-B to obtain allocations from the core.

Iv-a General Game Properties

We model each service provider as a player in our game to obtain the optimal resource sharing/allocation decision. Let be the set of players that play the resource sharing and allocation game. The value of coalition for the game players is given by, (IV-A), where is the feasible set for resource sharing and allocation given by, (11b)-(11d) and is the set of applications in ,


Here indicates the native player to which application belongs. Our strategy to achieve the aforementioned value of coalition is that each player first allocates resources to its own applications and then shares its remaining resources (if any) with other players.

Remark 2.

A resource allocation and sharing problem (with multiple objectives) for the aforementioned system model can be modeled as a canonical cooperative game with NTU.

This is so because the stated problem satisfies the following two conditions.

  • Characteristic form of payoff: As the utility function in our formulated resource sharing and allocation problem only relies on service providers that are part of the coalition, the game or payoff function is of characteristic form.

  • Superadditivity: Let where are non-empty and . Hence, . Superadditivity follows from the monotonic utility functions.

Definition 17 (Cardinally Convex Games[sharkey1981convex]).

An NTU game is said to be cardinally convex if :


whereas is given in definition 3.

Theorem 1.

Our canonical game is cardinally convex.


Let us consider two coalitions and that are non-empty subsets of . Then from super-additivity of the game,


Furthermore, due to the non-negative and non-decreasing nature of the utility used,


The proof follows. ∎

Remark 3.

The core of any convex game is non-empty[sharkey1982cooperative] and large [maschler2013].

Remark 4.

Our canonical cooperative game with NTU can be used to obtain the Pareto-optimal solutions for the multi-objective resource allocation for various service providers.

The convexity of our game proves that the core is non-empty. However, obtaining an allocation from the core is challenging, which we address in the following subsection.

Iv-B Proposed Algorithms

We first propose an efficient algorithm that provides an allocation from the core. Then, we propose a second algorithm based on polygamous matching [maschler2013] that obtains an allocation from the core subject to resource fragmentation constraints at the cost of higher computational complexity when compared with the first algorithm. Below we discuss these algorithms in detail.

Iv-B1 Game-theoretic Pareto Optimal Allocation

We propose a computationally efficient algorithm, Algorithm 1, that obtains a Pareto-optimal allocation by solving optimization problems, where represents the set of players with resource surplus. Inputs are available resources/capacities, application requests and utilities of all game players. The algorithm outputs an allocation. In Step 1, utilities of players, the allocation decision, and vectors , and are initialized. stores the utility each service provider achieves when working alone. stores the utility of players in whereas stores the utility increase due to request satisfaction of applications in resource deficit group . Step 2 calculates every player’s utility in the absence of resource sharing, i.e., the single objective optimization problem in (7) is solved by every player. To consider the resources allocated in Step 2, the remaining resource capacities and requests for various applications are updated and stored in and , respectively. Step divides players into two groups (resource deficit) and (resource surplus), on the basis of updated capacities and requests. Step allocates the shared resources of players in to players in . denotes the total resources allocated to an application previously in Step and up to the current iteration of Step . Up to this point, a given application can receive resources from multiple players due to resource sharing. In step , the utility reflecting an increase in application satisfaction for native applications of players in is calculated using the allocation obtained in Step . Below, we prove that Algorithm 1 provides an allocation from the core.

Input: and vector of players’ utility function
Step : 0, 0, 0, 0, 0, 0
Step :
     Objective function value of (7)
     Allocation decision of (7)
     Update ’s based on the allocation decision of (7)
end for
Step : Update and based on Step 2
Step : Divide the players into two subsets and representing players with resource deficit and resource surplus
Step :
      Optimal allocation decision of (16)
      Utility earned by due to resource allocation
     Update ’s based on
     Update and
end for
Step :
      Utility earned by satisfying users due to allocation decision in Step
end for
Algorithm 1 Game-theoretic Pareto optimal allocation (GPOA)
Theorem 2.

The solution obtained from Algorithm 1 lies in the core.


To prove the theorem, we need to show that a) utilities obtained using Algorithm 1 are individually rational and group rational, and b) no group of players has the incentive to leave the grand coalition to form another sub-coalition .
Individual Rationality: (See definition 12) For each player , obtained by solving (7) is the utility a player obtains by working alone in the absence of resource sharing. Because the utilities are non-negative, . Furthermore utilities of players in may increase due to increase in request satisfaction if its applications are provided additional resources by players in given by . Hence Algorithm 1 produces an individually rational resource allocation.
Group Rationality: The value of the grand coalition as per Equation (IV-A) is the sum of different utilities. Steps , and of Algorithm 1 obtain the sum of utilities as well. Hence the solution obtained as a result of Algorithm 1 is group rational.

Furthermore, due to super-additivity of the game and monotonic non-decreasing nature of the utilities, no group of players has the incentive to form a smaller coalition. Hence Algorithm 1 provides a solution from the core. ∎

Remark 5.

Algorithm 1 is a distributed algorithm. All players first allocate resources to their native applications and then update their capacities and requests. The updated requests and capacities are broadcasted by all players to obtain and . The order to execute Step is chosen based on some criteria (see details below). Players in , after allocating resources, send the updated requests to other players in that have not yet executed Step .

Remark 6.

Any payoff allocation from the core generated by Algorithm 1 is Pareto-optimal.

Remark 7.

The allocation decision obtained using Algorithm 1 always belongs to the core irrespective of the order in which players execute Step .

s.t. (16b)

Based on Remark 7, it is important to note that Algorithm 1 can generate different solutions according to the order in which players execute Step . Some candidate ordering schemes listed below.

  1. Capacity ascending order (CAO): Players in are arranged in an ascending order on the basis of the remaining capacities of a resource , which is then used for executing Step 5.

  2. Capacity descending order (CDO): Players in are arranged in a descending order on the basis of the remaining capacities of a resource , which is then used for executing Step 5.

  3. Random Order: The order in which players execute Step is random.

While all these variants provide allocations from the core, finding the most beneficial order for the for-loop in Step requires evaluating all possible combinations of possible orders for executing the for-loop. Since Algorithm 1 always provides an allocation from the core, it is desirable to identify the order of surplus players considered in Step that also considers physical constraints such as resource fragmentation across multiple players (service providers). Toward this goal, we present below a matching-based resource sharing algorithm that further reduces resource fragmentation while providing an allocation from the core.

Iv-B2 Polyandrous-Polygamous Matching for Resource Sharing

Our proposed algorithm is based on polyandrous polygamous matching [baiou2000many] that matches players (service providers) in to with the goal of maximizing utility for players in and reducing resource fragmentation for supporting native applications from players in . The idea behind our matching algorithm, inspired from two-sided markets [maschler2013], for reducing resource fragmentation is as follows. Players in have specific preferences for which players in they would like to obtain resources from. On the other hand, players in aim to maximize their utilities. As our framework relies on monotonic non-decreasing utilities, the objectives of players in and can be mapped to each other, i.e., the more resources players in share with players in , the higher will their utilities be and the lower the resource fragmentation will be. Therefore, during each round, resources of one player in are assigned to applications of a player in that produces the largest increase in its utility. This means that a player will provide as many resources as possible (increasing its utility) that in turn should reduce resource fragmentation for applications in . From resource fragmentation perspective, our scheme will transform into polygamous/many-to-one matching [maschler2013] or stable marriage/one-to-one matching[gale1962college] in the best case scenario. Below, we discuss the different steps of the algorithm.

In Algorithm 2, all variables are initialized in Step . is a vector that stores allocations for every application across different players. In Step , all game players allocate resources to their native applications. Request matrices and capacity vectors are updated in Step , and players are divided into two groups and in Step . Here and records utilities of players in and , respectively. Step is the core of the algorithm. In Step , Algorithm 3 is used to construct a matching matrix . The elements of matching matrix ( rows and columns) are obtained by solving and obtaining the objective function value of the the problem in (17) for every possible pair of . (17) maximizes the incremental utility a player in earns by sharing its resources with a player in , whereas the second summation term is used to reduce resource fragmentation. (17b) indicates that the allocated resources cannot exceed the capacity. (17c) indicates that the allocation cannot be more than the required resources. (17d) shows that the allocation decision is non-negative whereas (17e) indicates that the incremental increase in utility cannot be less than the communication cost.

Algorithm 3 also provides total amount of resources used for each element of and allocation decision that captures how resources are allocated to all applications for at player . In , the largest element in , given by , is used to match to , i.e., the player (with resource surpluses) shares its resources with the player (with resource deficits). If there are multiple maximum values, then the one that uses smallest number of resources is used to choose the matching. In , applications are assigned to . In , is updated with the utility of player based on the assignment in . Similarly, and are updated to reflect the increase in application satisfaction, resources allocated by to different applications and resources allocated to , respectively. Requests and capacities are updated in whereas updates elements of and if required.

Definition 18.

Objection to a matching[maschler2013]: A player and object to a matching if they both prefer being matched to each other than to whom they are matched by .

Definition 19.

Stable matching[maschler2013]: A matching is stable if there is no pair and that objects to a matching.

Theorem 3.

The polyandrous-polygamous matching in Algorithm 2 is stable.


We prove this by contradiction. Assume that the matching obtained from Algorithm 2 is not stable and there exists a pair that objects to the matching. has originally matched to and to . The objection by means that it can achieve a higher utility by being matched with when compared with the current match . However, this is not possible as was matched with based on the maximization problem given in (17), i.e., provides the highest utility to for its resources. Hence, our assumption is wrong and the matching is stable.

Remark 8.

Algorithm 2 provides an allocation from the core.

Remark 9.

The optimization problems in (7), (16) and (17) are non-convex. The hardness of these problems depend on the parameters such as the utility functions, requests and capacities. Therefore, it is difficult to evaluate the hardness of these problems, but the instances we consider in Section V are easily solved using existing solvers. In general, certain non-convex optimization problems can usually be solved to optimality by proving that the strong duality holds [boyd2004convex], and then solving the convex dual of these non-convex problems. Detailed discussions on strong duality can be found in [boyd2004convex] whereas [tychogiorgos2013non] presents the necessary and sufficient conditions for strong duality of non-convex problems. If the optimal solutions are not found for (7), (16) or (17), then the allocation will not be from the core.

Input: and vector of players’ utility function
Step : , , ,
Step :
     Objective function value from Equation (7)
     Allocation decision from (7)
     Update ’s based on the allocation decision of (7)
end for
Step : Update and based on Step 2
Step : Divide the players into two subsets and             representing players with resource deficit and             resource surplus
Step :
     Step : Algorithm 3 for constructing
matching matrix
     Step :
     if Multiple maximum values in  
         Choose one with the lowest
         Obtain the row and column of the maximum           value in
     end if
     Step : Assign all to
     Step : Update and using the preceding assignment
     Step : Update and
     Step :
     end if
     end if
end while
Algorithm 2 Polyandrous-Polygamous Matching based Pareto Optimal Allocation (PPMPOA)
s.t. (17b)
Lemma 1.

Our resource sharing framework improves request satisfaction.


Let the average application request satisfaction for the non-resource sharing case be given by , where is obtained following the resource allocation decision in Step of Algorithms 1 and 2, . As players in share their resources with players in , average user satisfaction as a result of the allocation, given by is also positive, i.e., . Hence, user satisfaction achieved using our framework is given by , where . ∎

Iv-C Strategy-Proof Incentive

In this section, we answer the question: Is there an incentive for a single player or group of players to cheat and report incorrect capacities and application requests to other players? That is, will misreporting the capacities or application requests improve the payoff a player or group of players receive? The answer is no as given by the following Theorem.

Theorem 4.

When the service providers use Algorithms 1 and 2 for resource sharing and allocation, no player or group of players has any incentive to cheat and misreport capacities and application requests, i.e., each player can achieve the highest payoff by truthfully reporting its capacity and requests.


Assume a player improves its utility by misreporting its capacity and application requests, i.e., where is the utility obtained by cheating and is the utility obtained by truthful reporting. Each player receives its payoff for providing resources to its own applications first and then sharing the remaining resources (if any) with the applications of other service providers. Player payoff improves once resources are provided and user requests are satisfied.

Fig. 3: Performance of our framework with Algorithm 1 for player - application settings.
Fig. 4: Performance of our framework with Algorithm 1 for player - application settings.
          Payoff for allocation           decision from (17)
          Resources allocated in (17)
     end for
end for
Algorithm 3 Constructing matching matrix

The larger the amount of resources provided and requests satisfied, the higher the obtained payoff will be. There are two cases for cheating:

  • Under-reporting444Reporting a lower value than the actual value. the capacity and application requests: In this case, the player will not receive the payoff possible by satisfying its applications and fully utilizing its capacity by allocating resources to its own applications and applications of other players. This contradicts the assumption that . Hence, the player has no incentive to under-report its capacity and application requests.

  • Over-reporting555Reporting a larger value than the actual value. the capacity and application requests: Since the payoff depends on the actual amount of resources provided and requests satisfied rather than the reported capacity and application requests, the highest payoff possible for the player is contradicting our assumption that .

V Experimental Results

We evaluate the performance of proposed resource sharing and allocation framework for several parameter settings as shown in Table II, where and represent the set of service providers with resource deficits and surpluses respectively. Each player has three different types of resources (), i.e., storage, communication and computation. Without loss of generality, the model can be extended to include other types of resources. We use linear and sigmoidal utilities for all the players given below.


is chosen to be whereas the constants and were randomly generated. Requests and capacities are randomly generated for each setting within a pre-specified range. To show the advantage of resource sharing, we allocate larger capacities to certain players that share available resources with other domains and assist other players in meeting demand in order to increase their utilities.

Setting Parameters
1 {1} {2, 3}
2 {1} {2, 3}
3 {1, 2, 3} {4, 5, 6}
4 {1, 2, 5} {3, 4, 6}
TABLE II: Simulation network settings.
Fig. 5: Performance of our framework with Algorithm 1 for player - application settings.
Fig. 6: Performance of our framework with Algorithm 1 for player - application settings.

Simulations were run in Matlab R2019b on a Core-i7 processor with 16 GB RAM. To solve the optimization problems, we used the OPTI-toolbox[currie2012opti]. Below, we provide detailed experimental results for both algorithms.

V-a Results for Algorithm 1

V-A1 Verification of game-theoretic properties

In Table III, we present results for a 3-player 20-application game that verify different game theoretic properties such as individually rationality, group rationality, super additivity and show that the obtained allocation lies in the core. Player has a resource deficit while players and have resource surpluses. The payoffs all players receive in the grand coalition are at least as good as they would receive working alone. This shows that the solution obtained using Algorithm 1 for the grand coalition is individually rational. Similarly, the value of coalition is the sum of payoff all players receive, hence our solution is group rational. Furthermore, as the coalition size increases, coalition value increases. Hence, the grand coalition has the largest value, which shows the super additive nature of the game. Also, no set of players has any incentive to divert from the grand coalition and form a smaller coalition. Hence, the grand coalition is stable and the allocation we obtain using Algorithm 1 lies in the core. There are two different results for the grand coalition, i.e., or and or which shows that changing the order of for-loop in Step of Algorithm 1 only changes the utility achieved by players in . However, btoh allocations lie in the core. Similar results are seen for other settings given in Table II, and hence are omitted here due to space constraints. For , player precedes player in Step (of Algorithm 1) while player precedes player in Step for the grand coalition in . From the results, it is evident that having player execute Step in Algorithm 1 before player is preferable to the order player before player . However, it is impossible to know that in advance and we need to try all possible combinations.

Coalition Player 1 Player 2 Player 3 Value of coalition
{1} 108.74 0.00 0.00 108.74
{2} 0 120 0 120
{3} 0 0 120 120
{1, 2} 111.51 131.01 0 242.52
{1, 3} 112.04 0 130.75 242.79
{2, 3} 0 120 120 240
{1, 2, 3} 114.39 131.01 122.75 368.15
{1, 3, 2} 114.39 120 130.75 365.14
TABLE III: Player payoff in different coalitions for a player - application game

V-A2 Efficacy of the resource sharing framework

Figures 3 and 4 show the efficacy of our resource sharing framework using Algorithm 1 and compare it with a setting in which the MECs are working alone for the 3 players and different application settings given in Table II. We evaluate the impact of the proposed framework on MEC utility, request satisfaction, and resource utilization. It is evident that MECs with resource deficits are able to improve their application satisfaction and utilities (due to increase in application satisfaction) whereas MECs with resource surpluses improve their utilities by sharing their resources, which in turn increases resource utilization. For results in the 6 player-6 application setting, player 4 and 5 precede player 6 in Step of Algorithm 1 whereas in , player 6 precedes players and . For results in the player-20 application setting, players 3 and 4 precede player 6 whereas in , player precedes players 3 and 4 in step 5 of Algorithm 1. The utility function distributions among players vary for and , however, both allocations are in the core and are Pareto optimal. Figures 5 and 6 show the performance of Algorithm 1 in the 6 player, 6 and 20 application settings, respectively. It is evident from the results that resource sharing improves utility of MECs with resource surplus and user satisfaction of resource deficit MECs.

Fig. 7: Performance of our framework with Algorithm 2 for player- application settings.
Fig. 8: Resource fragmentation for Algorithms 1 and 2 in 6 player-6 application setting.

V-B Results for Algorithm 2

Figure 7 presents the results for Algorithm 2. It is evident that Algorithm 2 improves the utilities and application satisfaction of different MECs (compared with MECs working alone). To highlight the decrease in resource fragmentation due to Algorithm 2, we compare it with Algorithm 1. Figure 8 shows the percentage of resources allocated to applications of different MECs in by MECs in using Algorithms 1 and 2. Using Algorithm 1 for resource sharing in the 6 player 6 application setting (), applications of MEC 1 are allocated resources at MEC 4 and 6, whereas applications of both MEC 2 and MEC 3 receive resources from MECs 4, 5, 6. For the same setting and using Algorithm 2, resources to applications of MEC 1 are provided by MEC 4 and 6. Resources to applications of MEC 2 and 3 are provided by MEC 4 and 5, respectively. This shows that resources fragmentation significantly reduces by Algorithm 2 when compared with Algorithm 1 at the cost of added computational complexity.

The experimental results show that the proposed resource sharing framework can benefit MECs. While Algorithm 1 is computationally more efficient, it may result in comparatively larger resource fragmentation. On the other hand, Algorithm 2 reduces resource fragmentation at the cost of computational complexity.

Vi Related Work

There have been a number of solutions proposed in the literature related to resource allocation in edge computing [you2017energy, wang2017computation, sardellitti2015joint, xu2017zenith, he2018s, zhang2017computing, xu2018game, liu2017incentive, zafari2018game]. Xu et al. [xu2017zenith] propose a novel model for allocating resources in an edge computing setting where the allocation of distributed edge resources is decoupled from service provisioning management at the service provider side. The authors develop an auction-based resource sharing contract establishment and resource allocation that maximizes the utilities of service providers and edge computing infrastructure providers. He et al. [he2018s] relax the long-held assumption that storage resources are not shareable and study the optimal allocation of both shareable and non-shareable resources in a mobile edge computing setting. The authors consider the joint problem of service placement and request scheduling, and propose constant-factor approximation algorithm as the problem is proven to be NP-hard. Liu et al. [liu2017incentive] model the interaction among cloud service operators and edge service owners as a Stackelberg game for maximizing the utilities of both cloud and edge service providers. The authors obtain the optimal payment along with the computation offloading strategies. Zhang et al. [zhang2017computing] propose an optimization framework, formulated as a Stackelberg equilibrium, for edge nodes, data service operators and service subscribers that provides optimal resource allocation in a distributed manner. Xu et al. [xu2018game] propose a secure caching scheme in heterogeneous networks for multi-homed subscribers that relies on a trust mechanism for verifying the reliability of edge computing-enabled small cell base stations. The authors also propose a Chinese reminder theorem based protocol for preserving privacy. A Stackelberg game is used to model the interaction between the mobile users and the edge cloud and the goal is to maximize utilities of both users and service providers.

Our work in this paper differs from [he2018s, xu2017zenith, xu2018game, liu2017incentive, zhang2017computing] as we consider objectives of different service providers and allow resource sharing among edge cloud service providers. In [zafari2019game], we consider the strategy where the players do not differentiate between their own applications and applications of other players, and propose a centralized algorithm that provides an allocation from the core. This work is an extension of our earlier work in [zafari2018game], where we model the resource sharing among mobile edge clouds as a canonical cooperative game with transferable utility (TU). However, in this work, we model the problem as an NTU game which is more generic than the TU game [roger1991game]. Unlike [zafari2018game], we do not rely on Shapley value, due to high complexity for obtaining a solution. Furthermore, we have not included application satisfaction and resource fragmentation as part of the resource sharing game in [zafari2018game].

Vii Conclusions

In this paper, we have proposed a cooperative game theory based resource sharing and allocation framework for edge clouds. We showed that for monotonic, non-decreasing and non-negative positive utilities, resource sharing among edge clouds can be modeled as a cardinally convex canonical game. We have proved that the core exists and proposed two efficient algorithms that provide allocation from the core. Hence, the obtained solutions are Pareto optimal and the grand coalition of the edge service providers is stable. Furthermore, we have reduced resource fragmentation using the matching based algorithm that also provides an allocation in the core. Experimental results show that utilities of all service providers and user satisfaction are improved, when compared with edge clouds working alone, using our framework.


This work was supported by the U.S. Army Research Laboratory and the U.K. Ministry of Defence under Agreement Number W911NF-16-3-0001. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the U.S. Army Research Laboratory, the U.S. Government, the U.K. Ministry of Defence or the U.K. Government. The U.S. and U.K. Governments are authorized to reproduce and distribute reprints for Government purposes notwithstanding any copy-right notation hereon. Faheem Zafari also acknowledges the financial support by EPSRC Centre for Doctoral Training in High Performance Embedded and Distributed Systems (HiPEDS, Grant Reference EP/L016796/1), and Department of Electrical and Electronics Engineering, Imperial College London.