I Introduction
Ia Motivation
Edge computing has received much attention recently as it enables ondemand provisioning of computing resources for different applications and tasks at the network edge [shi2014online, shi2016edge, satyanarayanan2017emergence]. One of the fundamental advantages of edge computing is that it can provide resources with low latencies when compared with traditional cloud computing architecture [shi2016edge]. The demand for edge computing has further increased due to the advent of Internet of Things (IoT) [atzori2010internet] and widescale use of machine and deep learning [li2018learning] in different industries as these learningbased models can be trained and run using edge computing nodes with adequate storage and computing power [wang2018edge].
A typical edge computing system consists of a large number of edge nodes that have different types of resources. Edge service provider (ESP) earns a utility for allocating resources to different applications and guarantees to provide resources according to a Service Level Agreement (SLA). However, when compared with cloud computing systems and data centers, resources in an edge setting are limited. Therefore, optimal use and allocation of these limited resources has been an active area of research. Even when resources are available, allocating them to applications with the goal of maximizing overall ESP utility is a difficult problem. Furthermore, the aforementioned resource intensive paradigms such as deep learning, and data analytics exacerbate the problem by challenging the scalability of traditional resource allocation techniques.
ESPs typically provide enough resources to different applications at their edge nodes to meet the peak demand. However, it is highly likely that resources of one ESP will be overutilized, while other ESP’s resources will be underutilized. For example, an ESP provisions resources to an application at an edge node that is physically closest to the requesting application. However, if the closest edge node has a resource deficit or is overloaded, the request can be satisfied through ESP’s next closest edge node that may physically be at a distant location or deep in the network such as at the data center. This incurs high cost and causes high latency that may not be acceptable for delay constrained applications. One possible solution is to create a shared resource pool with other ESPs that are physically closer [he2018s, openedge, openfog, etsi]. Such a resource pool allows ESPs to share and use resources whenever needed to meet their dynamic demands. This cooperation and resource sharing among ESPs seem beneficial for them, because it is unlikely that resources of different ESPs will be simultaneously overutilized.
Our work has also been motivated by military settings in which two or more coalition partners^{1}^{1}1Each coalition partner can be considered an ESP. are jointly conducting a military operation using different resources from the partners. As military settings usually have strict latency and reliability requirements, resources are placed at the edge to fulfill the aforementioned requirements. Hence, coalition settings can be considered a practical scenario for edge computing. In contrast with commercial edge computing settings, military settings require a higher reliability and robustness to ensure timely availability of resources. As seen in Figure 1, both coalition partners and satisfy all their applications and have resource surpluses whereas partner has resource deficits when working alone. However, through cooperation among these coalition partner, satisfies its applications by using resources of other coalition partners resulting in an improved utility for all partners. It is evident that if different coalition partners do not share resources, different application requests cannot be satisfied. Therefore, there is a need for a framework that allows resource sharing among these coalition partners (i.e., ESPs). Furthermore, the framework needs to be distributed as a centralized solution may not be acceptable to the different coalition partners or ESPs because:

An adversary can target the central system causing the entire military operation to fail.

Coalition partners need to reach a consensus for choosing the central node that runs the resource sharing algorithm.

A centralized framework requires a large amount of information to be transmitted to the central node. This may not be feasible or preferred by the coalition partners as certain information may be private.
Such a distributed resource sharing gives rise to a number of questions such as:

Should an ESP help another ESP by sharing resources?

How should resources be allocated to applications across different ESPs, while considering issues such as communication cost and resource fragmentation?

How can ESPs share the profits of resource sharing?
We answer these questions in this paper.
IB Methodology and contributions
In this paper, we consider a number of ESPs that share their resources and form a resource pool to satisfy resource requests of different applications as shown in Figure 1. We formulate such resource sharing and allocation among ESPs as a multiobjective optimization (MOO) problem, for which our goal is to achieve a Pareto optimal solution. Furthermore, since Pareto solutions are spread over the Pareto frontier [cho2017survey], choosing a single solution among them is challenging. As the Nash Bargaining Solution (NBS)[nash1950bargaining] guarantees the provision of a fair and Pareto optimal solution to such a MOO problem, we develop a distributed NBSbased framework for resource allocation and sharing here. To the best of our knowledge, this is the first generic NBSbased framework for resource sharing and allocation among ESPs.
The main contributions of this paper are:

We present an NBS based resource sharing framework for ESPs with different objectives in allocating resources to meet the dynamic demands. Our framework also considers practical engineering constraints such as communication costs and resource fragmentation.

We show that ESPs can benefit from sharing resources with other ESPs as they can earn a higher profit and improve the average application satisfaction.

We show that strongduality property holds for the formulated problem, which enables us to propose a distributed algorithm to obtain the NBS.

We evaluate the performance of our algorithms using synthetic and real world traces. Results show that resource sharing improves the utilities of ESPs, increases resource utilization and enhances average user (application) satisfaction. Furthermore, our results show that the profit sharing among ESPs is also fair.
The rest of this paper is structured as follows. We present the system model in Section II. In Section III, we first present a primer on NBS. We then describe our proposed NBS framework for resource sharing and allocation. In Section IV, we present a distributed algorithm for obtaining the NBS. In Section V, we present simulation results of the proposed framework for different settings. We describe the related work in Section VI, and conclude the paper in Section VII.
Ii System Model
Let be the set of all ESPs. We assume that each provider has a set of types of resources such as communication, computation and storage resources. , with denoting the amount of type resources available at service provider .
Each service provider has a set of native applications . The set of all applications that request resources from all service providers is given by where we assume i.e., each application initially demands resources from only its native service provider. We also define to represent and to represent . Every ESP has a request (requirement) matrix ,
(1) 
Here is the amount of resource that application requires. When an ESP is working alone (no sharing of its resources with any other service provider), its objective is to maximize its utility by allocating resources to its native applications. A service provider earns a utility by allocating amount of resource to application
, where the vector
. Table I contains notations used throughout the paper. We present the optimization formulation for a single service provider in Section IIA, followed by a formulation for the multiple service provider problem in Section IIB.Notation  Description 

Set, number and index of ESPs  
Set, number and index of resources  
Set, number and index of applications  
Set of native applications at ESP  
Capacity vector of all ESPs  
Capacity vector of ESP  
Capacity of resource at ESP  
Request matrix at ESP  
Request of application for resource from ESP  
Allocation decision of resource for application at ESP  
Allocation decision vector for application at ESP when working alone, i.e.,  
Allocation decision for ESP in the resource sharing case  
Allocation decision for the entire set of ESPs  
Utility ESP earns by allocating resource to application  
Utility ESP earns by allocating vector of resources to application 
Iia Problem Formulation for Single Service Provider
We first present the resource allocation problem for a standalone single service provider (i.e., no resource sharing with other service providers). For a single ESP , the allocation decision consists of vectors . The optimization problem is:
(2a)  
s.t.  (2b)  
(2c)  
(2d) 
The goal of a single service provider in solving this single objective optimization (SOO) problem, as mentioned earlier, is to maximize its utility by appropriately allocating resources. The first constraint (2b) indicates that allocated resources cannot exceed capacity. The second constraint (2c) reflects that allocated resources should not exceed the requested amounts. The last constraint, (2d) says the allocation cannot be negative. However, it is possible that a service provider may earn a larger utility by providing its resources to applications of other service providers or it may not have sufficient resources to satisfy requests of all its native applications. On the other hand, there may be another service provider that may have a surplus of resources, which can be “rented" by service provider . Below, we discuss resource sharing among these service providers.
IiB Multiple Service Providers Problem Formulation
Allowing resource sharing among service providers, while considering their objectives, could improve resource utilization and application satisfaction. Let denote the communication cost of serving application at service provider rather than at its native service provider . By sharing its resources, ESP earns a utility,
(3) 
after allocating for application , i.e., the net utility ESP earns is calculated as the differential utility () earned due to providing amount of resources minus the communication cost between the native and nonnative ESP. We assume that when . We also let
i.e., the total resource allocated to any application is the sum of resources allocated to application from all service providers. The resource sharing and allocation algorithm, based on resource requests and capacities of service providers, has to make an allocation that optimizes utilities of all service providers and satisfy user requests as well. The allocation decision is given by , where is given by:
(4) 
Each service provider aims to maximize the sum of utilities by allocating its resources to its native applications, and allocating resources to applications belonging to other service providers. Each provider solves the following multiobjective optimization problem.
(5a)  
s.t.  (5b)  
(5c)  
(5d)  
(5e) 
The first summation term in (5a) represents the utility earned by an ESP providing resources to the native applications, whereas the second summation term describes the utility earned by providing resources to nonnative applications. Note that constraint (5b) indicates that the total allocated resources cannot exceed the resource capacity of the service providers. (5c) states that the total amount of resources allocated to any application using the resourcesharing framework cannot exceed the amount of requested resources. (5d) says that the resource allocation cannot be negative whereas (5e) indicates that the incremental increase in utility earned by providing resources to nonnative applications should be nonnegative.
IiC Assumptions
In our model, we assume that each utility is a concave injective function for which the inverse of the first derivative exists, such as . Strictly speaking, our centralized NBS framework requires only concave injective utility functions[yaiche2000game]. However, the existence of the inverse of the first derivative is required for the distributed NBS (see details in Section III). The communication cost is a convex function, hence the objective function in (5) is concave. All resources are fully utilized in the optimal solution. However, there are enough resources to provide a positive utility to all service providers when sharing resources. This is a realistic assumption as the demand for resources is usually more than the supply. Furthermore, we assume that when ESPs share resources, there exist solutions that are better than when they are all working alone. This assumption can be relaxed, that is, if certain ESPs cannot improve their utility using the bargaining solution, they will not participate in the resource sharing framework. However, the framework can still be used for the remaining ESPs.
IiD Choice of utility function
While our framework works with any utility that satisfies the conditions in Section IIC, choosing a suitable utility function along with the communication cost can minimize resource fragmentation^{2}^{2}2We define resource fragmentation as the process in which resources provided to an application are split across multiple ESPs rather than a single ESP. . Generally, a concave utility has a steeper slope at start that becomes flatter as more resources are allocated, i.e., the rate of increase in the payoff for allocating resources reduces with increase in the amount of allocated resources. This results in an ESP providing a fraction of originally requested resources to an application and keeping the remaining resources for other applications. Hence, the application does not get all the resources it needed, and has to ask another ESP for more resources, resulting in resource fragmentation. For example, assume that two applications require units of a particular resource from ESP that only has units available. Due to the nature of many concave utilities, ESP for maximizing its utility will provide part of its resources to one application and the remaining resources to the other application rather than providing all available units to one application and borrowing resources for the other application. This causes resource fragmentation, i.e., both applications received only a part of the required resources and they will need to obtain the remaining amount from other ESP(s). To avoid such problems, we propose that the utility function should consider:

Minimum acceptable amount of resources: The ESPs should earn either zero utility or a negative utility if the resources provided are not within units of the requested resource . Rather than using a utility function such as that pays the ESP even when a small amount of resources are provided, it is better to use that becomes positive only when the allocation is within units of the requested resource . Such a utility along with the communication cost helps minimize the aforementioned fragmentation problem.
Iii NBS for Resource Sharing among CSPs
We first present an introduction to NBS and then discuss our proposed NBS based resource sharing framework.
Iiia Primer on Nash Bargaining Solution (NBS)
We use a twoplayer game as a toy example to introduce NBS. Consider two players and that need to reach an agreement (e.g., resource allocation decision) in an outcome space [han2012game]. Both players have a utility given by and over the space where specifies a disagreement outcome for players in the event of a disagreement, i.e., when two players cannot reach an agreement. Let be the set of all possible utilities that both players can achieve:
(6) 
We also define , where and , as the payoff each player receives at the disagreement point. We define the bargaining problem as the pair where and such that

is a convex and compact set;

There exists such that .
In NBS, the goal is to obtain a function that provides a unique outcome in for every bargaining problem . Nash studied the possible outcomes (agreements) that players can reach whereas the agreements, along with the Pareto optimality, must also satisfy the following set of axioms (also called fairness axioms) [han2012game]:

Symmetry: The bargaining solution will not discriminate among players if players are indistinguishable, i.e., players have identical utilities.

Invariance to equivalent utility representation: If a bargaining problem is transformed into another bargaining problem where and , , then

Independence of irrelevant alternatives: For any two bargaining problems and where , if , then .
[nash1950bargaining] shows that there is a unique bargaining solution that satisfies above axioms. We present it in the following theorem.
Theorem 1.
[han2012game] There exists a unique solution satisfying the aforementioned axioms and this solution is the pair of utilities that solves the following optimization problem:
(7) 
The solution of (7) is the NBS. The above framework can be extended to players by allowing to be an dimensional space [harsanyi1963simplified]. For this case, the bargaining problem , with as the disagreement point, becomes the unique solution of the optimization problem below.
(8) 
Solving (7) is easier compared to the player bargaining problem in (IIIA)[han2012game]. In this paper, we transform our problem into an equivalent convex problem that is comparatively easier to solve.
Remark 1.
As each player in an player bargaining game has a particular objective to optimize, the resulting problem is multiobjective, where the goal is to obtain a Pareto optimal solution. NBS is a fair and Pareto optimal solution for such MOO problems, provided that the fairness axioms are satisfied.
IiiB Proposed Framework
As mentioned earlier, NBS is a Pareto optimal and fair solution in settings that involve different players (ESPs in our case) where each player has an objective to optimize. Therefore, it can be used to solve our MOO problem in (5) as we have different ESPs that need to optimize their objectives and improve their utilities over what they would receive working alone. We first specify the disagreement point for our bargaining problem. If the ESPs cannot come to an agreement, they can all start working alone. Hence the disagreement point is the solution to the SOO problem given in (2) for all ESPs. Let us denote the solution to the SOO problem by . In the cooperative setting^{3}^{3}3Service providers share resources among each other., the utility (represented by in (IIIA)) for an ESP is given by:
Below, we present the centralized NBS algorithm.
IiiB1 Centralized NBS
We first present the optimization problem to obtain NBS for our ESP bargaining game [harsanyi1963simplified] and then present its equivalent problem [yaiche2000game] that is computationally efficient to solve.
Theorem 2.
The NBS for the MOO optimization problem in (5) can be obtained by solving the following optimization problem:
(9a)  
s.t.  
(9b) 
Proof.
The feasible set for the above optimization problem is convex and compact, since all constraints are convex and intersection of convex sets is a convex set. Furthermore, based on our assumptions, there exist solutions (allocation and sharing decisions) that provide better utility than the disagreement point . Hence, the solution of the optimization problem in (9) is the NBS. ∎
However, solving (9) is computationally complex and the problem is not always convex. Therefore, there is a need for an efficient method to obtain the NBS. Toward this goal, we transform the problem (9) into an equivalent problem as proposed in [yaiche2000game].
Corollary 1.
The NBS for (5) is obtained by solving the following optimization problem:
(10)  
s.t. 
Proof.
ESP utilities are concave and bounded above. Furthermore, the feasible set along with the set of achievable utilities () is convex and compact (due to the nature of utilities and constraints). Utilities of ESPs are also injective functions of the allocation decision. Hence (1) is equivalent to (9) [yaiche2000game]. Since the logarithm of any positive real number is concave[boyd2004convex], (1) is a convex optimization problem with a unique solution, which is the NBS. ∎
The centralized Algorithm 1 provides the allocation decision using NBS.
(11) 
Iv Distributed algorithm for NBS
While resource allocation and sharing using a central algorithm is feasible, it is desirable to develop low overhead distributed algorithms. To obtain a distributed algorithm, we rely on Duality Theory and use the Lagrangian function in (IIIB1). The dual optimization problem is given by
(12) 
(13) 
The dual problem can be solved iteratively using gradient descent (since the dual problem is a minimization problem) as below:
(14) 
where , , , and are positive step sizes. Furthermore, the gradients in (IV) are given below.
(15) 
Unless certain conditions such as Slater’s constraint qualification are satisfied, strong duality^{4}^{4}4Strong duality implies that there is no duality gap between the primal and dual problem. is not guaranteed to hold for our primal and dual problems [boyd2004convex]. However, we rely on the following theorems to show that strong duality holds.
Theorem 3 (Sufficient Condition[tychogiorgos2013non]).
Theorem 4 (Necessary Condition[tychogiorgos2013non]).
Lemma 1.
At the optimal solution, the optimal Lagrange multiplier vector corresponding to the capacity constraint is nonzero, i.e., .
Proof.
At the optimal point, all resources are fully utilized, i.e., capacity constraints are active. From complementary slackness[boyd2004convex], we know that
(16) 
Since , i.e., the constraint is active, which implies that . ∎
Theorem 5.
Proof.
We show that the price function obtained by is continuous at one or more of the optimal Lagrange multipliers for (IIIB1).
Let and represent the inverses of the first derivative of and , respectively. , , , and are the Lagrange multipliers whereas:
(17) 
We consider two different cases
Iv1 :
(18) 
We prove that (IV1) is continuous at the optimal point by showing that the numerator and denominator are positive^{5}^{5}5Positive numerator and denominator are required if is . For other cases, it will suffice to prove that the denominator is nonzero. . At the optimal point, the denominator is positive as (from Section IIC) and (from complementary slackness). Similarly, in the numerator, , as (from Lemma 1) and (from sensitivity analysis [boyd2004convex]). Hence, (IV1) is continuous at the optimal point.
Iv2 :
The continuity at optimal point can be established using arguments similar to that for case. The proof of zeroduality gap follows from Theorem 3. Hence, strong duality holds and our proposed distributed algorithm converges to the NBS. ∎
For calculating at time , we use calculated at . Algorithm 2 is a distributed algorithm that provides the global optimal solution to (9).
Protocol for Distributed Execution
All ESPs first broadcast information regarding resource requests from their native applications. Then any randomly chosen ESP starts allocating resources as specified in Step of Algorithm 2 and updates the corresponding Lagrangian multipliers. This ESP then passes on the information about its allocation and updated request matrix to the next ESP (that has not yet allocated resources in the current round^{6}^{6}6A single round consists of all the ESPs executing Step of Algorithm 2 once.) that repeats the same procedure until all the ESPs allocate their resources. This process continues until the first order conditions given in [ktlagrangian] are met.