Game theory-based dynamic resource allocations scheme in virtual networks

ABSTRACT This paper deals with resource allocation challenge focusing on Infrastructure Providers (InPs) and Service Providers (SPs) in virtual network environments. In such environments, resources (storage space, bandwidth, CPU, …) can be reallocated easily between users, involving Cloud services widespread. However, while these resources come from physical network, the allocations are constrained. To maintain on demand resources provisioning, service providers must frequently deal with many parameters (use duration, price, availability, fidelity, …) which involve unfair and non-optimal allocation scheme. We propose two game theory-based solutions that allow physical infrastructure providers to assign resources to service providers. Whereas literature works consider only one type of resource, we consider several types, such as storage space, bandwidth, RAM and processor. We design a set of non-cooperative games between physical infrastructure providers and service providers. Simulation results show that our solutions optimize resource usage and service quality compared to the literature.


Introduction
Network virtualization has been proposed to overcome many limitations of the Internet due to the TCP/IP protocol stack's rigidity. Indeed, for a long time, the only possible innovations were reduced to simple updates of existing protocols; this limitation did not allow dynamic user needs in terms of resources, which require deep architectural improvements, to be considered.
Virtualization allows networks to be built with physical topologies, administration and security policies that are totally different from the substrate network. Thanks to this architectural flexibility, the resources of a network can be reassigned to provide a satisfying quality of service or increase the resource providers' incomes. Providers are organized into two categories: the physical infrastructure provider (InP) and the service provider (SP). InP is the owner of the network infrastructure. It is in charge of deploying and sustaining the network's physical resources such as storage space, bandwidth, memory and CPU. The second player is the service provider (SP), which deploys protocols by leasing resources from one or more physical infrastructure providers to create a virtual network (VN). The SP does not have a network infrastructure. It is responsible for delivering end-to-end services to the users. We can consider a third player, the controller, who acts as an interface between the InP and the SP to manage cross-communications.
The InP allows different SPs to share its infrastructure through programmable interfaces. It can turn down an SP's request if no agreement can be achieved between them because of resources misuse. Resource allocation is a problem that needs to address not only the SP needs to ensure the continuity of their users' services but also InP ones to optimize their benefits from the shared resources. This resource allocation and management problem is one of the major issues of network virtualization, because of its NP-Completeness and the major challenge it currently involves for InPs who allocate their resources to several heterogeneous networks (Haider et al., 2009). Moreover, the dynamic aspect of new user needs implies an adaptive allocation of these resources from one user to another according to the requirements encountered. This issue is therefore very important in the network management system in general, and virtual networks in particular, underlying today's widely used cloud.
Most of the literature addresses this issue by reducing the number of constraints in the allocation game to provide solutions. Several formulations and tools are proposed to facilitate the resolution process, namely: the knapsack (Morimoto, 2017;Tchendji & Yankam, 2019), dynamic programming (Morimoto, 2017;Tchendji & Yankam, 2019;Tomaszek et al., 2021), linear programming (Melo et al., 2013;Tomaszek et al., 2021), metaheuristics (Masri et al., 2011), game theory (Charilas et al., 2009;Seddiki, 2015;Wang et al., 2011), training and probability (Yan et al., 2020;Zhang, 2021), etc. Game theory seems to be an interesting approach since it highlights the presence of several players adopting different strategies to achieve success, which reflects the resource allocation challenge. However, the allocation games proposed by the literature methods seek either the profit made by the InPs during the allocation, or the QoS (an important feature for customer loyalty) and consider only one type of resource. The main motivation of this paper is to improve the resource allocation in virtual networks by providing solutions to the limitations of previous work. Specifically, the aim is to maximize each InP's income, but also to ensure an acceptable QoS (equity, throughput) for the SPs.
Our contributions can be summarized in two main points: . a dynamic physical nodes allocation model (storage space, CPU power) in a virtualized network infrastructure aiming to maximize the physical nodes resources use and to ensure the sharing equity under QoS constraints. The node allocation game is based on a balanced sharing mechanism where each SP distributes its budget among several physical nodes and receives a fractional share of each node relative to the offer. This model ensures a fair resource allocation system, for multiple virtual networks sharing the same physical nodes; . a dynamic physical links allocation model that enables the physical network bandwidth to be shared between the virtual links, according to the traffic load growth.
The rest of the paper is organized as follows. Section 2 presents a formulation of the resource allocation problem and the allocation game model. In Section 3, we review the state of the art and today's best practices for resource's allocation issue in virtual networks. This state of the art deals with the nodes and links allocation. Section 4 presents our contribution both for physical nodes and physical links allocation. In Section 5, we discuss the results of the simulations performed. Finally, in Section 6, we draw conclusions and future research perspectives.

Problem description
Virtualization has emerged in recent years as a major paradigm for the use of IT (Information Technology) resources. These resources are made available to the SPs by the InPs and are accessible through requests via a computer network. At any time, an SP can ask an InP for a new resource allocation instance to it or to release a resource. Allocation and release are operations which, although they are not instantaneous, are carried out in a relatively short period of time. Many strategies are used to provide resources to users and they are called 'resource allocation'. It is therefore important within a system to find a good resource allocation strategy to avoid starvation and oversupply states among users. The proposed strategy must be able to satisfy a certain number of properties at all times (the resource is granted to the most loyal customer, the customer who offers the best price, …).
The InP's resources are pooled to support multiple consumers (SPs) using a multitenant model (multiple SPs can use or share the same resource), with physical and virtual resources assigned and dynamically reassigned according to consumer needs. There is location transparency, i.e. the customer (SP) generally has neither control nor knowledge of the exact location of the resources provided. These resources are hosted by InPs.

Modelling of the players in the allocation game
The two main players in network virtualization are service providers and infrastructure providers: . from the physical infrastructure provider (InPs) perspective, a large number of resources need to be allocated to several distributed users in a cost-effective, equitable and dynamic manner (Sun et al., 2013). InPs are modelled by a set InP = InP 1 , InP 2 , …, InP f , where f is the number of InPs present in the network at a given time; . from the service provider (SPs) perspective, they act as an interface between the end user and the InPs. The SPs manage different resources offered by the InPs by creating virtual networks to deploy different services and make them accessible to end users. Service providers are modelled as a set of SPs = SP 1 , SP 2 , …, SP n , where n is the number of service providers requesting resources at a given time. Figure 1 shows a conceptual model for resource allocation in a network virtualization environment. Users need new resources and contact the SP. This SP returns request on the InP resources holder. This InP checks amount of its available resources it will be able to allocate to the SP using the resource allocation system.
In this paper, we consider the resources allocation problem as a resource sharing problem. Intuitively, this is an issue whereby there are resources to be shared among several users. A sharing problem P is an optimization or decision problem that takes as input : . a set of m applicants. These applicants are the network users; . one or more limited common resource(s); . a common preferences expressing language of m users on the resource(s); . a set of constraints on the possible allocation of resources; . an output optimization criterion: the resource allocation process checks the constraints and optimize the criterion. The shared resources can be continuous (cut), indivisible, discrete or mixed (Seddiki, 2015).

State of the art on resource allocation
The deployment of new services on the Internet is QoS-constrained. The key issue for an infrastructure provider is how to share the physical network resources between several service providers dealing with their demands in terms of QoS such as throughput, delay, reliability and ensuring the sharing equity. Most of the existing work in the current literature can be divided into two main issues: resource allocation of physical nodes and resource allocation of physical links.

Physical node's resource allocation scheme
Recently, the resource allocation in virtual networks attracted increasing interest in the scientific community, which led to the emergence of diverse resolution strategies. These strategies address several parameters that ensure the effectiveness of a resource allocation strategy, namely QoS and congestion management, efficient resource sharing and avoidance of resource starvation among service providers. Concerning QoS management, Bays et al. (2012) propose a virtual network integration model that meets the QoS (security) requirements and at the same time optimizes the use of physical resources. This model determines the best mapping in terms of resource usage while considering all safety requirements, but its main limitation is a very long lead time. The resources involved are mainly CPU, storage and bandwidth. Hsu et al. (2012) complete the Bays et al. (2012) approach by proposing more resilient algorithms for the allocation of routers and virtual links with the possibility of path-splitting and migration. The proposed path-splitting algorithm is recursive and uses path-splitting only if necessary: for a bandwidth requirement B, the algorithm first looks for a path with a capacity at least equal to B; if it doesn't find it, algorithm tries to find two paths with a capacity at least equal to B/2 (with common arcs of capacity at least equal to B), and so on. If the algorithm fails to find a path after several iterations, it will try to migrate existing paths. The results of Hsu et al. (2012) show the interest of path-splitting and migration in VN allocation problems. This approach using path-splitting and migration is also discussed by Yu et al. (2008) who propose a 'Try and Error' type method: node allocation, attempting to allocate links without path-splitting and with path-splitting. If the first methods failed, migration of nodes if necessary is performed, followed by link's migration (change of ratio in splits or reallocation, …) if none of the previous trials were successful. The Yu et al. (2008) approach, on the other hand, differs from that of Hsu et al. (2012) in managing the arrival of requests. While Hsu et al. (2012) process requests one by one, Yu et al. (2008) wait until they have a specified number of requests before allocating them to start with those offering the best income. But, an allocation just based on a grouped number of requests offering the best income is not sufficient to ensure a good satisfactory QoS, as it may lead to starvation for some SPs who will not have resources due to insufficient number of requests.
To conciliate QoS with lack of starvation and efficient resource sharing, Seddiki (2015) uses the work (Seddiki & Frikha, 2012b;Seddiki et al., 2013) to propose a game theorybased allocation mechanism, using the total budget concept. They model the SP and InP interaction for resource sharing in two stages. The first is the resource negotiation. The second step is the resource provisioning (of links and nodes). Concerning the resource negotiation game, for each resource sharing request, one instance of this game takes place. This game was originally formulated by Wei et al. (2010) to avoid congestion of the radio link between InPs and SPs in a wireless network environment. Seddiki (2015) take up this concept in their work. The resource negotiation game is in fact an admission control to the InP's network whereby the InP accepts or rejects access requests from the SPs and, in the event of service degradation, the SPs may cancel their contract with cancellation penalties. Indeed, a request's acceptance or rejection is closely linked to the charge inflicted by the SPs already in the InP network and each node and link's capacity.
Regarding the resource provision, Seddiki and Frikha (2012a) see this as a reallocation like Tchendji and Yankam (2019), Yan et al. (2020) and Zhang (2021). Indeed, each SP allocates a budget to each virtual network (services) it deploys, the budget being linked to the level of service quality sought for a particular service. In this case, each SP seeks to reach its equilibrium state by maximizing the earnings functions. This work seems to be a good basis for proposing an efficient resource allocation strategy (compared to unreliable predictive allocation schemes (Yan et al., 2020;Zhang, 2021)), although it does not consider bottlenecks in the nodes and does not present any real accuracy on QoS. We deal with these drawbacks in our solution. We combine this multiple allocation instance idea with a customized resource negotiation game inspired from Seddiki (2015), as well as a load rise control set to manage congestion situations.

Physical link's resource allocation scheme
The resource allocation problem for virtual links can easily be assimilated to a Multi-Commodity Flow problem. Masri et al. (2011) propose an 'Ant Colony' meta-heuristic algorithm to solve the problem of routing several multisource and multicast flows, considering the bandwidth and minimizing delay and cost (price). The limitation of this work lies in the fact that the reliability constraint is not studied. To provide more reliability, Wang et al. (2011) and Zhou et al. (2010) proposed a non-cooperative games model where each virtual network tries to maximize its utility function when sharing physical infrastructure. The utility function of the virtual network depends primarily on the provided bandwidth, the physical link state and the price that the virtual network has to pay to share that link. The authors provide an iterative algorithm to achieve Nash's equilibrium 1 when sharing bandwidth while considering the performance of each virtual network. The approach aims to dynamically allocate a portion of each physical link's capacity to avoid congestion in the physical infrastructure. The authors fail to consider equity in the bandwidth allocation process and QoS constraints. They also assume that it is the role of the InP to motivate the SP to change its strategy to ensure that the demands of virtual networks will not exceed the link capacity. Without the InP's involvement, the solution does not ensure an efficient and equitable physical link's sharing. This efficiency should depend on the time and income of the SPs to avoid under-utilization (Shun-li et al., 2011). He et al. (2008) proposed a so-called DaVinci approach that allows a portion of the bandwidth to be periodically reallocated to multiple virtual networks, dealing with the congestion levels of the physical infrastructure. On each physical link, there is a bandwidth coordinator who adjusts the portion of capacity offered to each VN. This solution is based on optimization theory 2 to maximize the overall performance of all VNs. Each virtual network runs a distributed protocol maximizing the objective performance function. The latter varies according to the class of traffic carried by each VN.
In a context other than network virtualization, Padala et al. (2007) present a resource control system that automatically adapts to dynamic changes in a shared virtualized data centre infrastructure to meet application needs. The authors use a line-estimation model to capture the relationship between the application performance and server resource allocation. Then they use several controllers that automatically determine the portion of the resources required to meet the needs of an application. The solution enables the detection of bottlenecks on shared servers and provides service differentiation for applications. We find the principle interesting and inspiring for the dynamic physical resources allocation in a virtualized network environment. Charilas et al. (2009) formulate a non-cooperative game between the SP and customers in radio resource management, addressing equity, efficiency and customer satisfaction during congestion. Thus it implements a scale-up control game. There are two variants of this game: the local game and the global game. Figure 2 shows the load control process (Charilas et al., 2009). The game process is periodically repeated, independently of the resource negotiation game process. We refer to the interval time between two successive rounds as a 'window', since the game will only deal with the data received or sent during the last window. As a result, the QoS assigned to a session or service will only indicate the most recent condition, allowing the game scheme to react quickly in the event of a degradation in QoS. At the beginning of each load check, the QoS level for each session is extracted; then the average QoS is specified for each type of service. The QoS threshold is the lowest QoS level that can be tolerated.
If the QoS of at least one type of service is under the acceptance threshold, then the global game is triggered. The games run between the provider and all current sessions. This game can result in disappointment of customers leaving the supplier or termination of unprofitable customers by the supplier. If one of them decides to end a connection, the session ends and the customer is directed to another service provider. The penality is only applicable if the customer chooses to leave voluntarily. On the other hand, if the global game is not triggered and at least one session has a QoS below the acceptance threshold, then the local game is triggered. In this case, a letter game is played between each session that triggered the game, leaving the other sessions unchanged. This game type can also cause some sessions to be stopped.
In this paper, we provide a resource allocation scheme using a combination of the ideas of Charilas et al. (2009) andSeddiki (2015). Seddiki (2015) present a game-theoretic model for resource allocation based on the income of InPs within a time interval. Indeed, their approach relies on the search for an equilibrium state during the resource sharing process by forecasting the resource demands of each SP through the study of historical data on allocation. They introduce negotiation of resources before sharing, which enables them to optimize the resources usage and share resources efficiently and equitably. The Charilas et al. (2009) idea helps dealing with congestion control.
Our approach attempts, on the one hand, to maximize each InP revenue and, on the other hand, to ensure a quality of service (equity, throughput) for the SPs. Table 1 summarizes the comparison of our resource allocation scheme with some relevant work in the literature.

Game theory description
In this section, we address the resource allocation mechanism formulation as a set of non-cooperative games. This mechanism is carried out in two stages. The first stage concerns the non-cooperative game of resource negotiation between the InP and the SP, also called Admission Control (AC). Indeed, we will adjust to the negotiation game of Seddiki (2015) a technique for recovering QoS at the end of a game round. The second step is dedicated to sharing the bandwidth and resources of the nodes. By one or more InPs between the different SPs, i.e. a game consisting of k SPs and m resources.  Wang et al. (2011), and Zhou et al. Another step is associated with the previous ones depending on the game conditions: it is the load rise control game (see Figure 2). This game runs in a similar mode as the resource negotiation game. The main difference is that it is played periodically during the sessions. Following these steps, we intend to end sessions that significantly consume system resources and thus cause a degradation of the QoS and a reduction in the total revenue of the provider. In addition, dissatisfied customers have the opportunity to seek out more efficient networks based on their preferences. For example, at-risk customers (low capital and low resource customers) will tolerate low levels of QoS and prefer to stay with the same provider to minimize the total cost.
The physical network is represented by an undirected graph G = (N, L) where N is the set of physical nodes and L is the set of physical links. Similarly, a service provider's virtual network is defined as a graph G ′ = (N ′ , L ′ ) in which N ′ and L ′ are the virtual nodes and links that are built on the InP's physical network. Constraints C N ′ (n) and C L ′ (l) are respectively assigned to each node n [ N ′ and each link l [ L ′ . These constraints can represent, at the node level, the CPU allocation time offered for packet processing and, at the link level, packet transit delay constraints.
Initially, each SP can choose the most suitable mapping algorithm for its needs from the InP. Then, to receive a fraction of each node or physical link, the SP starts a competition with the other SPs. This approach aims to reduce the complexity of managing network resources and to avoid performance degradation between the logical and physical network configuration. Figure 3 illustrates the different stages relating to the dynamic allocation of the network's physical resources. Indeed, each SP submits its request for shared resources (nodes and links) to each infrastructure provider. Initially, the InP chooses to accept or decline its request. If the SP's request is accepted, the InP allocates a part of each link and node. Then, each SP deploys its protocols to create a new virtual network. Depending on the quality of service requested by the virtual network users, the SP can readjust its request and meet the requirements of end-users.

Physical node resource allocation game
In this section, we propose a model for the dynamic allocation of physical nodes in a virtualized network infrastructure. This model is based on an approach similar to that of Seddiki (2015), proposed for the allocation of computing resources in a computer network. However, we improve the game by proposing a predictive algorithm of the next strategy for each player. This algorithm aims to maximize the use of the physical nodes resources and the provider profits, and to ensure equity of sharing under QoS constraints.
The node allocation set is based on a balanced sharing mechanism where each SP shares its budget among several physical nodes and receives a fraction of each node proportionally to its offer. Through this model, we ensure a fair distribution system for several virtual networks sharing the same physical nodes. Each physical node hosts an hypervisor that allows creating and running multiple virtual nodes. In fact, the hypervisor is responsible for sharing the physical node's resources among multiple VNs. We focus on maximizing players' winnings, fairness in the game rather than uniqueness of Nash's equilibrium, as this wouldn't affect our bottom line.

Solution modelling
Let us consider n SPs that deploy l virtual networks and share m physical network nodes. Let a ij , i ≤ n, j ≤ l be the allocation grid which specifies the amount of resources allocated to the SP i for its virtual network j. Note that the InP updates a depletion function f Total amount of the requested resource L(t) Losses over the time of an InP when more than one SP is dissatisfied Losses over the time of a InP when a SP decides to leave it during sharing y k l Bandwidth assigned to the kth VN on the physical link l z k l Throughput assigned to the kth VN on the physical link l w k l Weighted price factor of kth VN on the physical link b l Congestion charges on link l associated to each resource. This function expresses a resource consumption rate. To set up our model, we consider the additional notations in Table 2.
Let U i (a ij ) the utility function of the SP i according to its allocated resource a ij . Note that (a ij ) must be an ascending function, strictly concave and twice continuously differentiable. The equilibrium demonstrated by John Forbes Nash is in fact a clarification of Shizuo Kakutani's fixed point theorem (Nash & Rassias, 2016). Let us further assume that these functions are additive. The problem of controlling the allocated resource can be formulated as Equation (1): For each SP, its allocated resources must be greater than or equal to 0. Since the utility functions are strictly concave, therefore continuous, and the set of feasible solutions is compact, then Equation (1) has a single optimal solution. This is a global optimization problem with multiple constraints. We consider the following facts: . the SPs are based on game theory; . the InP publishes a rental price per resource unit; . SPs on virtual networks do not cooperate in requests for network resources.
The resulting resource allocation at the Nash equilibrium point of the game solves Equation (1). This equation can be rewritten as Equation (2): Equation (2) shows that Equation (1) can be changed to several optimization subproblems. When the resource allocation for each virtual network is optimal, the global optimization problem in Equation (1) can be solved simultaneously. Then, we get the optimization sub-problems (3): where n is the number of SPs, a i indicates the amount of resources allocated to the SP i . In this game, the SP i strategy is to submit a bid for each physical node that will be used by the virtual networks deployed by this service provider. Then, the SP receives, according to its bid, a part of each node. In addition, the SP assigns a weight to each required physical node. The weights reflect the preference degree of each node. For the sharing of nodes N k , we define through Equation (4) the offer submitted by an SP i for its virtual network VN j : B i,j,k k=1,...,m = B i,j,1 , B i,j,2 , . . ., B i,j,m .
The sum of the bids for a SP i is always less than or equal to its budget G i as defined in Equation (5): The budget of an SP depends on the required user QoS for each virtual network. This is a monetary value that allows giving priority to SPs whose service deployed on a VN has several QoS constraints. As an example, we allocate a large budget to an SP providing Video on Demand (VoD) and a smaller budget to another SP deploying a cloud storage service. Therefore, we set up the non-cooperative function of the game model for resource allocation according to Equation (3). Let's pose D i = B i,j,k , the utility function of each SP is given by Equation (6): After collecting each D i , the physical network chooses a a(a 1 , a 2 , . . ., a N ) allocation strategy. If the InP still attempts to allocate almost all the resources of a node, the price of the node will be considered as given by Equation (7).
Assuming that all the SPs on the node k are rational and do not know the offer of the others during the game and that Equations (6) and (7) define an uncooperative game, at the Nash optimal equilibrium point, the resource allocation is optimal. Equation (7) is used to calculate the amount of resources allocated to the FP i . So, let's rewrite the utility function of each virtual network as (8): For the game defined by Equation (8), there is a Nash equilibrium point for the SP i only when there is no change in the supply of other SPs. Thus we deduce a D * meeting strategy (Equation 9).
Let W −i = i=k D k . If we substitute i=k D k by W −i in (8) and calculate the first-order derivative. This derivative will be given by (10): As u i is concave and twice differentiable, u ′ i c is strictly descending in a i ≥ 0. Obviously cW −i /(W −i + D i ) 2 is strictly decreasing and D i ≥ 0. Then, F ′ ≥ 0, which means F is concave and twice differentiable. Therefore, there is a D * that maximizes the F function, which means that the game has a balance point. At the equilibrium point, the profit of the InP is maximal and the allocated resource is fair and efficient.
The equity criterion for the node allocation between the SPs is indispensable. Each physical node has a limited resource capacity. In our game, we assume that the SP tries to maximize its utility function by predicting the next bids. To do this, each SP uses the performance of the past moments and the old price of the node to find the best answer maximizing its utility function in the game. It is then necessary to find the bottleneck 3 for each VN; that is, the physical node where packets from a given VN deployed by an SP, spend the maximum processing time. Each deployed virtual network has a bottleneck at some point. The idea of prediction is to minimize the delay of packets in the bottleneck of a given resource and to maintain the same performance for the remainder.
At each moment of the game, the bottleneck (node that slows down the processing of requests) changes. For example, at a time T and for a virtual network VN j deployed by the service provider SP i , the bottleneck may be the physical node N 3 . Subsequently, due to the sporadic nature of the flow, the bottleneck may become the physical node N 5 . The infrastructure provider attempts to use 100% of the node's performance. At time T + 1, when the physical node k prime is considered as a bottleneck for the SP i , the bid submitted by this one is given by Equation (11): The idea is to use the price of the resource k ′ at time T to predict the new price and minimize packet delays.

Algorithmic description
The aim of this algorithm is to provide a better resource allocation. To achieve this goal, it is carried out in two main steps: . the first step is resource negotiation, whereby the InP approves the SPs that make up its distribution network. State 0 represents this phase for this purpose. The initial allocation of resources takes place as the InP approves SPs; . the second step is considered as a reallocation phase following the release of resources from step 1: after several reallocations, if the requested resources are greater than the available resources, we call the prediction games demands. Afterwards, given that the requests on these resources will be modified each one according to the client's needs with the sole and main goal of the client to achieve the best possible profits, a competition will arise. The client formulates a request consisting of its id SP identifier and a table containing the desired resource, the time of use and the budget. If after allocations and reallocations of resources the transmission time becomes long, there may be a third stage: this is called the ramp-up negotiation game. To achieve their ends (best gains), customers exploiting data such as the old node price and its budget, run the equation max n i=1 W k U i (a i )∀i, a i ≥ 0 and 0 ≤ W k ≤ 1 to reach mutually their Nash equilibrium.
During this second round, the demand prediction on resources is also used (Nash's equilibrium search). At the end of this round, each player finds a better prediction than his past prediction, hence the efficient use of resources in the sequence of several predictions. Algorithm 1 summarizes our resource allocation scheme on a non-cooperative gaming system. The State i vector represents the resource allocated to all virtual networks at the ith iteration.
Algorithm 1: Resource allocation on a non-cooperative gaming system Input: . the number of service providers; . the physical infrastructure provider; . G = (N, L) an undirected network graph, N set of nodes and L the set of links; . W = {W 1 < W 2 < W 3 < . . . < W p } the set of weights associated to the nodes. Output: Nash equilibrium 1 Let State_0 be the negotiation game for resources and the initial resource allocation // Resource negotiation step 2 While State i = State i−1 do // Nash equilibrium not achieved 3 compute the i + 1 st iteration; 4 for Each VN in G=(N,L) do 5 An InP provides SPs with the available nodes' resources; 6 A request for resource allocation (id SP , tab) is formulated by the SP i and sent to the InP; 7 for k = 1 to m do 8 if node price == P k and offer == D i then 9 Finding the best answer by solving the equation max n i=1 W k U i (a i ); /* The outcome of the (i + 1) st if Requests responses take a long time compared to normal then // the node is a bottleneck 13 The variable state i gives the state of the allocation game at any given time. The size of this vector depends on the number of SPs participating in the game. Let q be the maximum number of state i vectors. The maximum number of comparisons is q−1. If z is the number of VNs in G(N,L), Algorithm 1 performs in O(qzm) execution time. m is the maximum iteration number of the second loop in this algorithm.

Physical link resource allocation game: bandwidth
For the sake of simplicity and without loss of generality, we assume that each user uses only one class of service (platinum, gold, silver and bronze) at any given time. We also assume that the network has already informed users of their bandwidth recommendations B rec . Since a user has no information about the actual usage of bandwidth by the other n−1 applicants, let us assume that all users are playing an uncooperative game. At the beginning of a session, the user i [ N = 1, . . ., n submits a bandwidth request B i req . Let's assume that the user expects a bandwidth of B i exp . The utility function of SP i does not change for bandwidth allocations greater than or equal to B i exp . This means that a user cannot increase his utility with more bandwidth when his needs are not less than his expectations.
In a dynamic environment, the InP monitors the current network traffic and recalculates the fixed bandwidth B rec . When users receive this information, they check the situation and re-submit their bandwidth request B i req [ [0, B i exp ] to maximize their gains under the new network conditions as shown in Figure 4. The network checks the available bandwidth B j disp and allocates B i all to the user. Price per packet for any user i is given by (12), where p i fac and p i ini are the invoice price and the initial resource price, respectively.
where v i refers to how an SP estimates its price for acquiring a fraction of a physical link's bandwidth.

System model
Let us consider a physical network with a set of links L, i.e. C j the capacity of the link j of the InP, j [ L. The network resources are shared by an N set of SPs and indexed by i. We consider a vector B i all j which refers to the bandwidth allocated to the SP i in the link j. Let us note that the utility U i (B i all j ) must be an ascending function, non-negative, strictly concave and twice continuously differentiable B i all j ≥ 0. Suppose furthermore that the utilities are additive. The bandwidth control problem can be formulated as the optimization problem Equation (13) can be divided into several distributed problems. Each B i all j in the vector denotes the bandwidth allocated to the SP i for the link j. For any set of links L i of the SP i , we get L i # L. Given the diversification and variability of virtual network topologies, we need to regulate all dimensions of L i and make them equal to dimension L. Let L ′ i be the new set of virtual network links i. The two subsets are equivalent (Equation 14).
L ′ ij = 0 means that the bandwidth allocated for SP i on the link j is 0. Then, we repeat the transformation (2) of Section 4.2.1. We obtain the game model described by Equation (15), where n is the number of SP, B i all is the amount of allocated bandwidth to SP i .

Service provider's earning and request strategies
For SP i , to request one or more resources, it is necessary to provide a bandwidth request B i req knowing B i rec . It will be easy to assume v i ≥ p i ini . Otherwise, the user would not be the first one to receive the resource. In this case, the gain per unit of time for the user i is given by (16).
When v i ≥ rp i ini , it means that SP i is ready to pay the penalty fee. Thus the best strategy is to ask for bandwidth equal to that expected as in Equation (17).
The introduction of ρ is intended to prevent some rich and greedy ρ users from taking up all the available bandwidths. ρ actually sets a bandwidth ceiling for users. An important feature of our approach is that aggressive users are penalized by a price increase for each of their transferred packets. The choice of this parameter depends on the capacity of the physical link and the bandwidth recommended to all SPs.
When v i , rp i ini and the SP i has no information about B j disp , the following two scenarios are applicable: . if B exp ≤ B rec , the best strategy for the service provider is to request a bandwidth equal to its expected bandwidth (B exp = B req ); . if B exp . B rec , the SP will attempt to maximize its gain using Equation (18): We model the optimal bandwidth allocation and the best strategy to submit by Equation (19). In this case, B i * all represents the previously allocated bandwidth.
is a Nash's equilibrium if for each SP, the following relation is verified: Let us discuss now about the existence of Nash's equilibrium in different configurations. (17)  (2) Bandwidth allocation to greedy SPs Since B i req rB i rec assumes that the network has enough available bandwidth to allocate. We have B i all = rB i rec . For those rB i rec users whose bandwidth demands have been limited by the network, their utilities reached the highest possible amount in the current situation. Therefore, they maintain their status.

Oversupplying. There is a Nash's equilibrium where
(3) Bandwidth allocation to normal SPs Previous allocations allow us to determine if there is a Nash's equilibrium at this stage. All users in the previous two phases have no incitement to change their strategies; therefore a Nash's equilibrium can be drawn from all players in the game. The condition of Nash's equilibrium at this stage is given by (20).
From Equation (19), we get : , a Nash's equilibrium is reached. In our bandwidth allocation game, Nash's equilibrium state depends on the traffic load and the physical link bandwidth distribution between the different SPs.

Algorithmic description
The aim of this algorithm is to provide a better bandwidth allocation for each virtual network deployed by the SPs. This algorithm runs in two rounds: . the first round is considered as the allocation phase where each SP submits a request including its identifier and a table containing the following information: the resource time usage and budget allocated to the resource. As a result, the InP will compute and make available to each SP the bandwidth B rec that it recommends to it, and the initial resource price p ini . Finally, the SP will compute and return to the InP the requested amount of resource; . the second round is the reallocation stage. Indeed, following the first round (release of resources), bandwidth requirements have either increased or decreased. As a result, the SP seeks to maximize its utility function. To do this, it relies on the former price of the resource provided by the InP and the recommended quantity of resources. As the game unfolds, the InP divides these SPs into three roles: reserved clients, avid clients and normal clients.
Algorithm 2 summarizes our bandwidth allocation game. The State i vector represents the allocated bandwidth to all virtual networks at the ith iteration.
Algorithm 2: Bandwidth allocation based on a non-cooperative gaming system parameters such as delay, jitter , 4 throughput and packet loss. The weights w i , 1 ≤ i ≤ 4, change depending on the service and may be calculated based on network performance (Charilas et al., 2008;Markaki et al., 2007). This choice is based on the fact that user satisfaction is subjective and therefore difficult to characterize mathematically. Thus, in this work, we use Equation (22) to express the satisfaction or dissatisfaction level of each customer, considering four service quality parameters.
Assuming that more satisfied users are less the probability is that they leave the game (since the QoS expresses the satisfaction of the SP), we can estimate the probability that a customer leaves his current provider with Equation (23):

Simulation results
In this section, we discuss the simulation results achieved for both our resource allocation game of physical nodes and physical links. The simulations were carried out on a DELL machine, Intel(R) Core (TM) i5-3337 CPU 1.80GHz (4 CPUs), 4GB RAM, Windows 7 professional 64-bit operating system.

Evaluation of our physical nodes's resource allocation game
In this section, we present an evaluation of our physical node resource allocation game. We assume that six virtual networks are created and deployed by five different SPs (SP 1 , SP 2 , SP 3 , SP 4 and SP 5 ). These virtual networks share the resources of six physical nodes managed by a single InP. We intend to appreciate the fraction of resource allocated to each SP in our game. Note that these nodes have CPU time, RAM and storage space as resources. The simulations first focus on the competition on one node resources and second involve more than one node. Figure 5 illustrates the physical infrastructure topology shared by the different Service Providers. We allocate budgets (G1, G2, G3, G4, G5) to the SPs. This budget depends on the level of the requested QoS. We assume that G1 ≥ G2 ≥ G3 ≥ G4 ≥ G5. We monitor the fraction of resources allocated to the SPs at each point during the times T and T + 1. Each SP predicts the next bids to find the best answer during the game at time T + 1 and to reach balance in the game.
Impact of our allocation game scheme on resources allocation rate Figure 6 shows in percentage, the fraction of resources allocated to the SP 1 , SP 2 and SP 3 competing on node 1. Globally, we notice that the allocations are well distributed between the players, which means that our solution offers an allocation game whereby each player gets satisfied with the outcome of its demands. Nevertheless, between the time 25 ms and 30 ms, we notice a slight divergence in the allocated resource ratios. This suggests that as the game interaction between SP1, SP2 and SP3 becomes longer, some game participants succeed in obtaining more resources than others. This is certainly due to the fact that as the game goes on, each player adjusts to his opponent's strategy. This is for example the case of the service provider SP2.
This fairness in resource allocation between SPs in the single node case is also observed between nodes when we consider several nodes and more service providers. Indeed, Figure 7 displays the average of all allocated resources (RAM, storage space) to the service providers in a 4-node game, involving 20 customers on node 1, 10 on node 2, 6 on node 3 and 15 on node 4. It can be seen that during most of the game time (30 ms), the allocated resources are selected from all the nodes with available resources; this means that our allocation strategy ensures that each node remains in the game as long as possible. The consequence is the permanent availability of resources for the virtual infrastructure. This observation is the same when considering each type of resource on these nodes individually (see Figures 8 and 9). Figure 8 depicts 200 GB of storage space distributed over 4 nodes and Figure 9 represents the distribution of 20GB of Ram on 4 nodes. For the times T = 14 ms and T = 15 ms, we can see on Figure 10 a high packet delay for the SP 1 compared to the other nodes. Indeed, node 1 has become a bottleneck; therefore, SP 1 increases its offer at times T = 16 ms and T = 17 ms as described in Equation (11) to receive more fractions of the node 1. It precomputes this new offer according to the price of node 1 when it becomes a bottleneck. Contrary to the Seddiki (2015) approach, if a node becomes a bottleneck, the processing time of the bundles will increase over time.

Impact on the allocation delay
Indeed, over a 30-ms interval with the same dataset, we allocate 5% more resources than Seddiki (2015) but, it takes a little longer time to achieve this. Since the InP's increased earnings are a direct outcome of the increased use of its resources, its full income is therefore defined by Equation (24). W price is the maximum money the customer  can pay during a single time interval. nbr−serv is the number of current resource types and nbr−sess−i is the number of running sessions for each resource.
Since equity is a very important performance criterion in our model, we present in Figure  11 the resource allocated average (storage space) to each SP: 10 times evaluated test with 1000 GB of capacity on 3 SPs. Between the time t = 0 and t = 14 ms, our allocation game provides more resources on average than the Seddiki (2015) approach, with a notable difference in the allocated amounts between the two approaches. On the other hand, beyond 14 ms, this difference is less pronounced with overall a certain regularity of the  allocation curve of our approach compared to Seddiki (2015). This is because our allocation game is always looking for a certain equilibrium in the allocation, taking into account the earnings (voir Figure 16) and the quality of the service (voir Figure 22) provided by the service provider. We can conclude that our game fairly provides resources to SPs compared to the work of Seddiki (2015) and also significantly improves the resource usage.

Evaluation of our physical links resource allocation game
In this section, we present the performance of our physical link allocation mechanism in terms of allocated bandwidth, recommended bandwidth, requested bandwidth. We also  discuss the QoS of our approach. We assume that the InP has already accepted 12 SPs sharing the physical link with 5 Gbps capacity. We also assume that the InP controls the use of the network links. Therefore, it recommends a bandwidth of B rec =50 Mbps and r =0.75. Figure 12 shows the bandwidth allocated according to the recommended bandwidth, the expected bandwidth and the requested bandwidth. Indeed, we built the network so that the first 4 SPs are reserved, the next 4 are greedy or aggressive and the last 4 are normal. This figure reveals that the bandwidth allocated to greedy providers using our negotiation and allocation games, is uniformly distributed and balanced in relation to that allocated to the last four providers that behave normally. There is no disparity in the allocations, even with aggressive demands for resources. The permanent balance research in the allocation using our game strategy explains this observation. This search for fairness ensures that with greedy applicants, our allocation strategy tries to satisfy as much as possible without hurting other applicants.
The disposition to pay v i (t) and the price p i for each InP is uniformly distributed. Figure  13 represents the willingness to pay of some service providers. We can see that some SPs have a high predisposition to pay (v i ≥ r * p i ). They therefore request B req = B exp ; other providers (v ≤ r * p i ), as far as their disposition to pay is limited, will request less bandwidth than expected. Their request is expressed by Equation (25). Figure 13 illustrates this SP's disposition to pay.

Conclusion
In this paper, we proposed a new physical network resource allocation mechanism between service providers (SPs) and infrastructure providers (InPs). This mechanism uses a non-cooperative game theory to analyse the interaction between SPs and InPs. The aim is to dynamically allocate the physical resources between the two entities. We studied the egoistic behaviour of each player who tries, at any moment, to maximize his utility function to improve his performance without worrying about other players. We modelled resource allocation as a set of competitive games. We showed that the state of Nash's equilibrium is achieved at each stage where neither the SP nor the InP is called to modify its strategy. Our approach avoids congestion on the nodes and the physical links, without compromising the virtual network running performances. Simulations performed showed that our dynamic resource allocation approach provides better resource sharing compared to static solutions. Furthermore, using the Nash's equilibrium, our solution achieves a lower churn rate than Seddiki (2015). As a research perspective, we intend to conciliate budget, time of resource use and fidelity in resource sharing. This is to better manage interlocking cases where the different actors have the same strategies.