I Introduction
Mobile edge computing is a viable solution to support resource intensive applications (users)^{1}^{1}1Throughout 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 onehop 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 colocated 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 colocated (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 colocated 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 multiobjective 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 CGTbased framework considers the fact that different edge clouds may have different objectives, which makes the traditional singleobjective optimization framework inapplicable to the MEC settings.
Ia Summary of the contributions
The main contributions of this paper are:

We present a novel multiobjective resourcesharing 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 nontransferable utility (NTU). We prove that the game is superadditive and convex, hence the core is nonempty. Therefore, the grand coalition of all edge clouds is stable.

We propose a distributed Gametheoretic 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.

To reduce resource fragmentation^{2}^{2}2We 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.


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

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 superadditive 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 MultiObjective Optimization (MOO), cooperative game theory, and the core.
Iia MultiObjective Optimization
MultiObjective Optimization (MOO) identifies a vector
that optimizes a vector function(1) 
such that
(2)  
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 ,
(3) 
where .
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.
IiB 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 nontransferable 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]:

should be a closed and convex subset of .

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 .

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 (noncooperatively) 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.
NonTransferable 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 nontransferable 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.
(4) 
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.
IiC 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 grouprational 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
(5) 
Remark 1.
Any payoff allocation from the core is Paretooptimal 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 nonempty. If the core is nonempty, 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 nonempty 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
Let be the set of edge cloudservice 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 .
(6) 
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 alone^{3}^{3}3Not 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 nonnegative monotonically nondecreasing 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  
Nontransferable utility  
Cooperative game theory  
Multiobjective optimization  
Singleobjective optimization  
Mobile edge cloud 
Iiia Problem Formulation for Single Service Provider
We first present the resource allocation problem for a single, standalone provider (i.e., no resource sharing with other providers). For each provider , the allocation decisions consist of the vectors . The optimization problem is:
(7a)  
s.t.  (7b)  
(7c)  
(7d) 
The objective function is required to be a monotonic, nonnegative and nondecreasing function. For illustration purposes in this paper, we assume that:
where the term captures the request satisfaction (see Definition 16) and is the nondecreasing and nonnegative 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 nonnegative.
The goal of this singleobjective 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 singleprovider 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.
IiiB 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 nondecreasing and nonnegative net utility , which in this paper is assumed to be
(8) 
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 nondecreasing 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:
(9) 
Note that is monotonic nondecreasing and nonnegative. 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:
(10) 
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:
(11a)  
s.t.  (11b)  
(11c)  
(11d)  
(11e) 
where and are given in (IIIB) 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 multiobjective optimization problem, which will be solved by a gametheoretic approach as follows.
Iv Game Theoretic Solution
In this section, we first present general properties of our game and show that the resourcesharing problem for multiple providers can be modeled as a canonical cooperative game with nontransferable utility. We then show that the core is nonempty, by proving that our canonical game is cardinally convex[sharkey1981convex]. Finally, we propose algorithms in Section IVB to obtain allocations from the core.
Iva 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, (IVA), where is the feasible set for resource sharing and allocation given by, (11b)(11d) and is the set of applications in ,
(12) 
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 nonempty 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 :
(13) 
whereas is given in definition 3.
Theorem 1.
Our canonical game is cardinally convex.
Proof.
Let us consider two coalitions and that are nonempty subsets of . Then from superadditivity of the game,
(14) 
Furthermore, due to the nonnegative and nondecreasing nature of the utility used,
(15) 
The proof follows. ∎
Remark 3.
The core of any convex game is nonempty[sharkey1982cooperative] and large [maschler2013].
Remark 4.
Our canonical cooperative game with NTU can be used to obtain the Paretooptimal solutions for the multiobjective resource allocation for various service providers.
The convexity of our game proves that the core is nonempty. However, obtaining an allocation from the core is challenging, which we address in the following subsection.
IvB 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.
IvB1 Gametheoretic Pareto Optimal Allocation
We propose a computationally efficient algorithm, Algorithm 1, that obtains a Paretooptimal 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.
Theorem 2.
The solution obtained from Algorithm 1 lies in the core.
Proof.
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 subcoalition .
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 nonnegative, .
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 (IVA) 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 superadditivity of the game and monotonic nondecreasing 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 Paretooptimal.
Remark 7.
The allocation decision obtained using Algorithm 1 always belongs to the core irrespective of the order in which players execute Step .
(16a)  
s.t.  (16b)  
(16c)  
(16d)  
(16e) 
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.

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.

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.

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 forloop in Step requires evaluating all possible combinations of possible orders for executing the forloop. 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 matchingbased resource sharing algorithm that further reduces resource fragmentation while providing an allocation from the core.
IvB2 PolyandrousPolygamous 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 twosided 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 nondecreasing 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/manytoone matching [maschler2013] or stable marriage/onetoone 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 nonnegative 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 polyandrouspolygamous matching in Algorithm 2 is stable.
Proof.
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 nonconvex. 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 nonconvex optimization problems can usually be solved to optimality by proving that the strong duality holds [boyd2004convex], and then solving the convex dual of these nonconvex problems. Detailed discussions on strong duality can be found in [boyd2004convex] whereas [tychogiorgos2013non] presents the necessary and sufficient conditions for strong duality of nonconvex problems. If the optimal solutions are not found for (7), (16) or (17), then the allocation will not be from the core.
(17a)  
s.t.  (17b)  
(17c)  
(17d)  
(17e) 
Lemma 1.
Our resource sharing framework improves request satisfaction.
Proof.
Let the average application request satisfaction for the nonresource 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 . ∎
IvC StrategyProof 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.
Proof.
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.
The larger the amount of resources provided and requests satisfied, the higher the obtained payoff will be. There are two cases for cheating:

Underreporting^{4}^{4}4Reporting 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 underreport its capacity and application requests.

Overreporting^{5}^{5}5Reporting 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.
(18) 
(19) 
is chosen to be whereas the constants and were randomly generated. Requests and capacities are randomly generated for each setting within a prespecified 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} 
Simulations were run in Matlab R2019b on a Corei7 processor with 16 GB RAM. To solve the optimization problems, we used the OPTItoolbox[currie2012opti]. Below, we provide detailed experimental results for both algorithms.
Va Results for Algorithm 1
VA1 Verification of gametheoretic properties
In Table III, we present results for a 3player 20application 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 forloop 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 
VA2 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 player6 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 player20 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.
VB 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 auctionbased 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 longheld assumption that storage resources are not shareable and study the optimal allocation of both shareable and nonshareable resources in a mobile edge computing setting. The authors consider the joint problem of service placement and request scheduling, and propose constantfactor approximation algorithm as the problem is proven to be NPhard. 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 multihomed subscribers that relies on a trust mechanism for verifying the reliability of edge computingenabled 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, nondecreasing and nonnegative 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.
Acknowledgments
This work was supported by the U.S. Army Research Laboratory and the U.K. Ministry of Defence under Agreement Number W911NF1630001. 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 copyright 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.