1 Introduction

According to a recent report from Cisco (http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/mobile-white-paper-c11-520862.html).

Deploying caching in a RAN is a promising technique to cope with these challenges and satisfy the quality-of-experience (QoE) and quality-of-service (QoS) (Pedersen and Dey, 2016), which has attracted a lot of attention. By storing popular video objects closer to the mobile users, most video requests can be served from the RAN caches, thereby decreasing the load of original servers and RAN backhaul, as well as the delivery delay (Wang et al., 2014).

One direction is caching popular content in devices (Malak and Al-Shalash, 2014). Pedersen and Dey (2014) introduced a reactive mobile device caching (rMDC) framework, using which a mobile device could cache requested videos reactively and share these video contents with its neighbors using device-to-device communication. In Golrezaei et al. (2014), a novel scheme was presented to improve the throughput of video transmission in cellular communication systems by exploiting the large storage resources on modern smartphones. Nam and Chung (2015) proposed a cluster-based cooperative content caching scheme to reduce the content delivery cost of mobile devices. However, these techniques often face great challenges in motivating users to share their batteries, apart from limited bandwidth.

Another direction is caching within wireless networks. Recently, there have been some efforts conducting research on caching in cellular networks. Erman et al. (2011) showed the potential benefits of caching data in the carrier CN based on a study of Hypertext Transfer Protocol (HTTP) traffic collected in a cellular network. Hamidouche et al. (2014) proposed a many-to-many matching game theory to address the caching problem between small base stations (BSs) and service provider servers (SPSs). The idea of caching content objects at an evolving node B (eNodeB) and leveraging the information from in-network caches to improve caching performance has also been considered by Ming et al. (2014). Zhang et al. (2014) proposed a cooperative caching scheme based on the network coding technique to improve the cache hit rate and decrease the query processing time. A novel multiple-input multiple-output (MIMO) cooperation framework has been proposed by Liu and Lau (2015), to improve the video streaming performance by jointly optimizing cache control and playback buffer management. In addition, Gu et al. (2014) and Pingyod and Somchit (2014a; 2014b) have investigated the cache replacement strategy for cache-enabled nodes in cellular networks. Mavromoustakis (2008) has proposed a stream-oriented modeled scheme to provide optimized and guaranteed QoS, and later introduced a reliable file-sharing scheme for vehicular peer-to-peer (P2P) devices to increase end-to-end availability for delay sensitive streams (Mavromoustakis, 2013). Kryftis et al. (2014) presented a novel multimedia service delivery architecture to satisfy users’ requests efficiently by exploiting a resource prediction system.

Caching video contents at eNodeB could reduce transport energy but it needs additional caching energy. The problem of energy consumption in the eNodeB caching mechanism has also been studied. Xu et al. (2014) built a theoretical model to formulate the energy consumption, with the purpose of minimizing the total network energy consumption at eNodeB caches. Yang et al. (2014) have studied the energy efficiency problem in wireless cooperative caching networks and a suboptimal caching strategy has been proposed. An effective algorithm has been proposed by Arai et al. (2014) to minimize the total energy consumption of user equipments (UEs) by reassigning UEs to eNodeBs.

Although these studies have been conducted for caching in cellular networks, most of the previous works have focused on performance optimization or energy efficiency for content caching (Liu J et al., 2011; Chaudhry et al., 2015; Ding et al., 2015; Liu YX et al., 2015). To the best of our knowledge, the problem of caching space sharing for SPSs has been largely ignored. However, the issue is very important because to maximize the revenue of SPSs, each SPS always hopes to get enough caching space to cache its contents to improve the users’ experience, which may lead the SPSs to compete for the caching space. Therefore, our work is different from previous works. In this study, by assuming that caching capability is deployed in the BS in a RAN, we consider the problem of caching resource sharing for multiple SPSs to compete for the caching space. Some distinct features are listed as follows:

  1. 1.

    We focus on the caching resource sharing problem in RANs. The system is modeled as an oligopoly market, in which the SPSs compete for the caching resources provided by the BS and the cost of the caching resources is defined by a price function.

  2. 2.

    The caching resource sharing problem is formulated as a dynamic non-cooperative Cournot game. In addition, a Newton-Raphson method based iterative algorithm is proposed to obtain the optimal amount of caching space needed by SPSs (i.e., the Cournot equilibrium solution).

  3. 3.

    We evaluate the performance of the proposed caching resource sharing scheme under different system parameters. The stability characteristics of the scheme are also analyzed.

2 System description

In this section, we first briefly depict the system model. Then the problem formulation is presented.

2.1 System model

As shown in Fig.1, ingeneral, whena mobile user accesses a video object, the video is first requested from content servers. Then traveling through the wireless carrier CN and RAN, the video reaches the user’s device. In this case, the SPSs should consume the RAN backhaul resources to guarantee the video QoE, which implies the need to meet an initial delay and to ensure that there is no stalling during playback. If SPSs store popular video content objects in the BS, most video requests could be processed directly from the BS. However, the storage resources are owned by the BS. So, SPSs should pay for the use of these resources.

Fig. 1
figure 1

Video transmission process: (a) the traditional video access process, in which the requested video is fetched from source content servers through the wireless carrier core network and the radio access network; (b) when the requested video is cached in the base station, it will be provided by the BS locally

In this study, we consider a wireless system with multiple SPSs, a BS, and multiple users (Fig. 2). The BS owns limited but enough storage resources to meet the demands of SPSs. In this case, the BS wants to offer a selling price and sells storage resources to the SPSs to earn profit. From the SPSs’ point of view, they want to buy the storage resources owned by the BS and cache their videos based on specific caching strategies to maximize their revenues. To simplify the analysis of the problem, we assume that the BS charges all SPSs for the same price.

Fig. 2
figure 2

System model for caching resource sharing in radio access networks. BS: base station; S i (i =1, 2, …, M): service provider servers; U j (j =1, 2, …, N): users; b i : the amount of caching space demanded by SPS i ; c i : the selling price of caching space (1 MB) for SPS i ; C i : the cost of RAN backhaul resources paid by SPS i for transmitting 1 MB data

Under this framework, we consider that there are N users in the set \({\mathcal N} = \{ {U_1},\;{U_2},\; \ldots ,\;{U_N}\} \) belonging to the BS and M SPSs in the set \({\mathcal M} = \{ {S_1},\;{S_2},\; \ldots ,\;{S_M}\} \) wanting to buy storage resources from the BS to cache their videos. The BS is ready to allocate some portion of the resources with SPS i , denoted as b i . The BS charges the SPSs for the resources at a rate of c(b) (per MB), where b is the total amount of storage resource demand of all SPSs. Besides, the cost of RAN backhaul resources paid by SPSs for transmitting 1 MB data is C (i.e., the cost of SPS i is C i ).

2.2 Problem formulation

In this subsection, we formulate the caching resource sharing problem as an oligopoly market model. In an oligopoly market, a few players compete with each other to achieve the highest profit based on the amount of supplied commodity in the market. In the caching resource sharing problem considered here, all SPSs compete with each other to share the caching resources provided by the BS, and the goal of all SPSs is to achieve their highest revenue. We can model this situation as a Cournot game.

In a Cournot game, players are the SPSs. The commodity is the caching resource owned by the BS. Each player’s strategy corresponds to the amount of allocated caching resources, denoted as b i for SPS i . The payoff for each player is the revenue of each SPS (denoted as π i for SPS i ) by using the caching resources. In the following part, we first present the price function used by the BS. Then based on the delivery cost without/with caching, the utility function of SPSs is given.

2.2.1 Price function used by the BS

In the oligopoly market, the BS is the only commodity provider and thus stands in a completely monopoly position. In the market economy environment, monopoly price depends on the commodity demand. Therefore, we assume that the price function used by the BS to charge the SPSs is as follows (Niyato and Hossain, 2007; 2008):

$$c({\mathcal B}) = x + y{\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)^\tau },$$
((1))

where x and y are non-negative constants, and \({\mathcal B} = \{ {b_1},\;{b_2},\; \ldots ,\;{b_M}\} \) is the set of strategies of all SPSs. To meet the demand price theory in economics (i.e., when the supply is fixed and the demand increases, the price will go up), we define π ≥ l;in this case, the price function is convex. Caching content objects at the BS would consume additional costs (e.g., central processing unit/system bus usage and storage cost), which depend mainly on the caching hardware technology, such as dynamic random access memory (DRAM), high-speed solid state disk (SSD), ternary content-addressable memory (TCAM), and static random access memory (SRAM). In this study, let w denote the average cost (per MB) of these object-caching technologies. Then we assume \(c({\mathcal B}) > w\); otherwise, the BS is not willing to sell its storage resources to the SPSs.

2.2.2 Delivery cost without caching

In this part, we consider the delivery cost in the absence of caching in cellular networks. As shown in Fig. 1, in this case, each video request begets the costs of traveling through the entire path from the users’ devices to the packet data network gateway (PGW) and then to the source servers (Ming et al., 2014). The total costs of SPS i for processing the requests can be computed as follows:

$${O^{{\rm{noncache}}}} = {n_i} \cdot \left( {{R_i} + {G_i} + {T_i}} \right) \cdot {q_i},$$
((2))

where n i denotes the total number of requests arriving at SPS i , q i is the mean size (MB) of a requested video object, and R i , G i , T i are the cost components denoting the cost (per MB) from the users’ devices to the BS, the cost of the CN link (per MB) from theBSto the PGW, andthe cost (per MB)fromthe PGW to the source servers of SPS i , respectively.

2.2.3 Delivery cost with caching

If SPSs cache popular videos in the BS and the requested videos can be found in BS caches, videos could be fetched from the BS directly. Thus, in the presence of BS caching, inspired by Ming et al. (2014), the costs for SPS i to fulfill the requests can be computed as follows:

$$\begin{array}{*{20}c} {{O^{{\rm{cache}}}} = ({n_i} - n_i^{{\rm{cache}}}) \cdot ({R_i} + {G_i} + {T_i}) \cdot {q_i}} \\ { + n_i^{{\rm{cache}}} \cdot {R_i} \cdot {q_i} + {N_i} \cdot c(b) \cdot {q_i},} \\ \end{array} $$
((3))

where \({n_i^{{\rm{cache}}}}\) denotes the number of video requests that can be responded to by the BS directly, c(b) is the cost (per MB) of caching objects paid to the BS, and N i is the number of video objects cached at the BS. Therefore, \(({n_i} - n_i^{{\rm{cache}}}) \cdot ({R_i} + {G_i} + {T_i}) \cdot {q_i}\)represents the cost incurred when the requested objects need to be obtained from source servers, \(n_i^{{\rm{cache}}} \cdot {R_i} \cdot {q_i}\) is the cost incurred on the RAN path from the BS to the users’ devices, and N i · c(b) · q i is the additional cost of SPS i for caching video objects at the BS.

2.2.4 Utility function of SPSs

Given the delivery cost with/without caching, we canobtainthe total costsaving of SPS i as follows:

$$\begin{array}{*{20}c} {{O^{{\rm{savings}}}} = {O^{{\rm{noncache}}}} - {O^{{\rm{cache}}}}\quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ { = n_i^{{\rm{cache}}} \cdot \left( {{G_i} + {T_i}} \right) \cdot {q_i} - {N_i} \cdot c(b) \cdot {q_i}} \\ { = {n_i} \cdot {{n_i^{{\rm{cache}}}} \over {{n_i}}} \cdot {C_i} \cdot {q_i} - c(b) \cdot {b_i},\quad \quad \;} \\ \end{array} $$
((4))

where C i is composed of the CN link cost (per MB) from the BS to the PGW and the cost (per MB) from the PGW to the source servers (i.e., C i = G i + T i ), b i denotes the portion of caching resources that SPS i wants to buy from the BS (i.e., b i = N i · q i ), and \({{{n_i^{{\rm{cache}}}} \over {{n_i}}}}\) denotes the ratio of the requested cached objects to the total requested objects (related to the specific caching policies). There are many caching policies, such as least recently used (LRU), least frequently used (LFU), and user preference profile (UPP). The LRU (Sleator and Tarjan, 1985) replaces videos in the caching space that have been least used recently if the caching space is full. The LFU (Lee et al., 2001) caches the ‘most popular videos’ and discards the least frequently used ones by keeping track of the number of requests to each video. The UPP (Ahlehagh and Dey, 2014) caching policy uses the UPPs of active users in a cell to cache video objects. Although there are many caching policies, they have a common goal, which is caching the videos with the highest requested probability. The larger the requested probability of a video is, the higher the priority of caching by the SPSs.

We assume that the requested probability of each video follows a Zipf-like distribution, which is commonly used to model content popularity in networks (Breslau et al., 1999; Cha et al., 2009); the probability of accessing a video at rank k out of \(N_i^{{\rm{total}}}\) available video objects can be expressed as follows:

$$p({\upsilon _k}) = {{{k^{ - \beta }}} \over {\sum\nolimits_{j = 1}^{N_i^{{\rm{total}}}} {{j^{ - \beta }}} }} = {{{k^{ - \beta }}} \over {{\Omega _i}}},$$
((5))

where \(N_i^{{\rm{total}}}\) denotes the total number of videos owned by SPS i , \({\Omega _i} = \sum\nolimits_{j = 1}^{N_i^{{\rm{total}}}} {{j^{ - \beta }}} \)is a constant used to normalize the requested probability. A larger β means that more requests are concentrated on a few hot video objects. Typically, the value of β ranges between zero and one (i.e., β ∈ (0, 1))(Breslau et al., 1999). In this case, if SPS i wants to cache N i most popular video objects at the BS, \({{n_i^{{\rm{cache}}}} \over {{n_i}}}\) could be computed as follows:

$${{n_i^{{\rm{cache}}}} \over {{n_i}}} = {{\sum\nolimits_{k = 1}^{{N_i}} {{k^{ - \beta }}} } \over {{\Omega _i}}}.$$
((6))

Inspired by Breslau et al. (1999), we can obtain \(\sum\nolimits_{k = 1}^{{N_i}} {{k^{ - \beta }}} \approx {{N_i^{1 - \beta }} \over {1 - \beta }}\). Thus, for Zipf-like distributions, the cumulative probability that one of the top N i video objects is accessed could be given approximately as follows:

$${{n_i^{{\rm{cache}}}} \over {{n_i}}} \approx {{N_i^{1 - \beta }} \over {\left( {1 - \beta } \right){\Omega _i}}}.$$
((7))

In a Cournot game, the utility function of SPSs can be defined as the total cost savings with the existence of caching at the BS. Based on Eqs. (4) and (7), the utility function of SPS i can be computed as follows:

$${\pi _i}({\mathcal B}) = {n_i} \cdot {{N_i^{1 - \beta }} \over {\left( {1 - \beta } \right){\Omega _i}}} \cdot {C_i} \cdot {q_i} - c\left( b \right) \cdot {b_i}.$$
((8))

The Cournot game model has been built, and the equilibrium solution will be described in the next section.

3 Equilibrium solution of Cournot game and stability analysis

As mentioned in Section 2, we can model the problem of caching space sharing as a Cournot game. If we assume that each SPS can completely observe the strategies and the profits gained by the other SPSs, a simple static Cournot game can be modeled to solve the problem. However, this assumption is not practical; in other words, an SPS may not be able to observe the payoff of another SPS. Moreover, the current strategy adopted by another SPS may be unknown, and only the pricing information from the BS could be observed by SPSs. Based on the above situation, in this section, we discuss a dynamic Cournot game model. In this scenario, an SPS adjusts its strategy according to the variations in payoff because of the differential price charging by the BS. The goal of this caching resource sharing problem is to maximize the profit of all SPSs by using the equilibrium concept. In this section, we first introduce the dynamic Cournot game. Then we give the equilibrium solution and stability analysis of the dynamic Cournot game.

3.1 Dynamic Cournot game

As mentioned earlier, the objective of the Cournot game is to maximize the profit of SPSs. Based on Eqs. (1) and (8), we can rewrite the profit as follows:

$${\pi _i}({\mathcal B}) = {n_i} \cdot {{N_i^{1 - \beta }} \over {\left( {1 - \beta } \right){\Omega _i}}} \cdot {C_i} \cdot {q_i} - \left[ {x + y{{\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)}^\tau }} \right] \cdot {b_i}.$$
((9))

In a practical competitive scenario, only the pricing information from the BS could be observed by SPSs. Therefore, we have to obtain the best response of each SPS on the basis of the interaction with the BS only. In this case, each SPS communicates with the BS to receive the differentiated pricing information and uses only this local information to adjust its strategy. Because all SPSs are rational in maximizing their profits, they can adjust their caching space demands b i by using the marginal profit function as shown in Eq. (10). Let b i (t) denote the strategy of SPS i at iteration t, and b i (t + 1) is defined similarly. Therefore, the relationship between the strategies in the current and the future iterations can be expressed as follows (Niyato and Hossain, 2007; 2008):

$${b_i}\left( {t + 1} \right) = {b_i}\left( t \right) + {\alpha _i}{b_i}\left( t \right){{\partial {\pi _i}({\mathcal B})} \over {\partial {b_i}(t)}},$$
((10))

where α i is the learning rate of SPS i and

$$\begin{array}{*{20}c} {{{\partial {\pi _i}({\mathcal B})} \over {\partial {b_i}}} = {{{n_i} \cdot {C_i} \cdot b_i^{ - \beta }} \over {{\Omega _i} \cdot q_i^{ - \beta }}} - \left( {x + y{{\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)}^\tau }} \right)} \\ { - {b_i}y\;\tau {{\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)}^{\tau - 1}}.} \\ \end{array} $$
((11))

Therefore, the dynamic Cournot game can be represented as shown in Eq. (12).

3.2 Equilibrium solution of dynamic Cournot game

In a dynamic Cournot game, the strategy profile \({\mathcal B} = \left\{ {{b_1},\;{b_2},\; \ldots ,\;{b_M}} \right\}\) is a set of strategies.

$${b_i}\left( {t + 1} \right) = {b_i}\left( t \right) + {\alpha _i}{b_i}\left( t \right) \cdot \left( {{{{n_i} \cdot {C_i} \cdot {b_i}^{ - \beta }} \over {{\Omega _i} \cdot {q_i}^{ - \beta }}} - \left( {x + y{{\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)}^\tau }} \right) - {b_i}y\;\tau {{\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)}^{\tau - 1}}} \right).$$
((12))

An element in this set corresponds to the strategy of an SPS, and a strategy profile must include one and only one strategy for each SPS. For ease of analysis, we can also write \({\mathcal B}\) as (b i , \({{\mathcal B}_{ - i}}\)), where b i is the strategy of SPS i , and \({{\mathcal B}_{ - i}}\) denotes the set of strategies of all SPSs except SPS i (i.e., \({{\mathcal B}_{ - i}} = \left\{ {{b_j}|j = 1,\;2,\; \ldots ,\;M;j \ne i} \right\}\), M; ji}. Now, we analyze the Cournot game model to obtain the stable solutions called ‘Nash equilibrium’.

Nash equilibrium is a combination of optimal strategies, that is, \({{\mathcal B}^*} = \left\{ {b_1^*,\;b_2^*,\; \ldots ,\;b_M^*} \right\}\), where \(b_i^*\) denotes the best response of SPS i , whereby this participant cannot increase its payoff by choosing a different action given the other participants’ actions. It means that \({\pi _i}\left( {{b_i},\;{\mathcal B}_{ - i}^*} \right) \le {\pi _i}\left( {b_i^*,\;{\mathcal B}_{ - i}^*} \right)\), where \({{\mathcal B}_{ - i}^*}\)denotes the set of optimal strategies of all SPSs except SPS i . So, the Nash equilibrium in a non-cooperative game is a situation in which all of the players use the optimal strategies and none of them wish to deviate from the equilibrium (Dufwenberg, 2011).

In an actual system, the SPSs can estimate the value of \({{\partial {\pi _i}\left( {\mathcal B} \right)} \over {\partial {b_i}}}\) (Niyato and Hossain, 2008). In a particular case, at time t, each SPS submits the storage resource size b i (tδ to the BS, where δ is a small number (e.g., δ = 0.001). Then the BS computes the price c(·) and c+(·) for b i (t) − δ and b i (t) + δ respectively, according to the price function. Next, the BS sends the information to these SPSs. With this information, each SPS can compute the profits \(\pi _i^ - \left( \cdot \right)\) and \(\pi _i^ + \left( \cdot \right)\) locally and then estimate the marginal profit from \({{\partial {\pi _i}\left( \cdot \right)} \over {\partial {b_i}\left( t \right)}} \approx {{\pi _i^ + \left( \cdot \right) - \pi _i^ - \left( \cdot \right)} \over {2\delta }}\)

The concept of bounded rationality is used in the strategy adaptation definition, in which the optimal strategies could not be reached immediately. With the help of accurate pricing information given by the BS, strategies will be adjusted and improved gradually by the SPSs in a distributed manner. At the equilibrium point, we have b i (t +1) = b i (t) = b i (i = 1, 2, … M) (Agiza et al., 1999). With a linear price function (i.e., τ =1; note that this linear price function is a common assumption for an oligopoly market), the optimal response can be obtained by solving the following set of equations (i =1, 2, … M):

$${\alpha _i}{b_i} \cdot \left( {{{{n_i} \cdot {C_i} \cdot {b_i}^{ - \beta }} \over {{\Omega _i} \cdot {q_i}^{ - \beta }}} - \left( {x + y\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)} \right) - {b_i}y} \right) = 0.$$
((13))

For ease of illustration, we first consider a specific system model with two SPSs in the radio environment (M = 2); Eq. (13) can be rewritten as follows (note that to facilitate the analysis, we let x = 0):

$$\left\{ {\matrix{ {{{{n_1} \cdot {C_1} \cdot {b_1}^{1 - \beta }} \over {{\Omega _1} \cdot {q_1}^{ - \beta }}} - 2yb_1^2 - y{b_1}{b_2} = 0,} \cr {{{{n_2} \cdot {C_2} \cdot {b_2}^{1 - \beta }} \over {{\Omega _2} \cdot {q_2}^{ - \beta }}} - 2yb_2^2 - y{b_1}{b_2} = 0.} \cr } } \right.$$
((14))

According to the first expression of Eq. (14), we can obtain the relationship between b1 and b2 as follows:

$${b_2} = {{{g_1} \cdot {b_1}^{ - \beta } - 2y{b_1}} \over y},$$
((15))

where \({g_1} = {{{n_1} \cdot {C_1}} \over {{\Omega _1} \cdot {q_1}^{ - \beta }}}\) and \({g_2} = {{{n_2} \cdot {C_2}} \over {{\Omega _2} \cdot {q_2}^{ - \beta }}}\). Based on Eq. (15) and the second expression of Eq. (14), we can obtain

$${g_2} \cdot {\left( {{{{g_1} \cdot {b_1}^{ - \beta } - 2y{b_1}} \over y}} \right)^{ - \beta }} - 2{g_1} \cdot {b_1}^{ - \beta } + 3y{b_1} = 0.$$
((16))

We can use Newton’s method (Kelley, 2003) to solve Eq. (16) to obtain the optimal solution of SPS1, i.e., b1. Then according to the relationship between b1 and b2 (i.e., Eq. (15)), we can obtain the optimal solution of SPS2, i.e., b2.

$$\left\{ {\begin{array}{*{20}c} {{f_1}(b) = {b_1} + {\alpha _1}{b_1} \cdot \left( {{{{n_1} \cdot {C_1} \cdot {b_1}^{ - \beta }} \over {{\Omega _1} \cdot {q_1}^{ - \beta }}} - y{{\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)}^\tau } - {b_1}y\;\tau {{\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)}^{\tau - 1}}} \right),\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ {{f_2}(b) = {b_2} + {\alpha _2}{b_2} \cdot \left( {{{{n_2} \cdot {C_2} \cdot {b_2}^{ - \beta }} \over {{\Omega _2} \cdot {q_2}^{ - \beta }}} - y{{\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)}^\tau } - {b_2}y\;\tau {{\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)}^{\tau - 1}}} \right),\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ { \vdots \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ {{f_M}(b) = {b_M} + {\alpha _M}{b_M} \cdot \left( {{{{n_M} \cdot {C_M} \cdot {b_M}^{ - \beta }} \over {{\Omega _M} \cdot {q_M}^{ - \beta }}} - y{{\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)}^\tau } - {b_M}y\;\tau {{\left( {\sum\limits_{i = 1}^M {{b_i}} } \right)}^{\tau - 1}}} \right),\quad b = {{({b_1},\;{b_2},\; \ldots ,\;{b_M})}^T}.} \\ \end{array} } \right.$$
((17))

Now, we consider the situation with more than two SPSs. Because in a dynamic Cournot game, SPSs adjust their demanded caching space b i dynamically, the caching resource sharing problem can be expressed as a system of nonlinear equations, as in Eq. (17). Inspired by Kelley (2003), we can use the following iterative algorithm based on the Newton-Raphson method to obtain the Cournot game equilibrium solution. The basic idea of the Newton-Raphson method is to linearize nonlinear equations successively, each step solving linear equations, consequently forming an iterative algorithm. The iterative algorithm is given in Algorithm 1.

In the proposed algorithm, the caching space demands could be updated for each iteration, i.e., b i (k + 1) = b i (k) − μ i (k)d i (k) (i =1, 2,…, M), to guarantee that b i is a positive value, and

$${\mu _i}(k) = \left\{ {\begin{array}{*{20}c} {\;1,\quad {b_i}(k + 1) = {b_i}(k) - {d_i}(k) > 0,\quad \quad \quad } \\ {\;0.5\;\min \left\{ {{{{b_i}(k)} \over {{d_i}(k)}},\;{d_i}(k) > 0} \right\},\;\;{\rm{otherwise}}{\rm{.}}} \\ \end{array} } \right.$$
((18))

When the caching space demands converge (i.e., ∥f i (b(k)) − f i (b(k − 1))∥ < ε)where b = (b1,b2,…b M )T and i = 1, 2, …, M, the algorithm terminates. In this case, the equilibrium solutions of the Cournot game are obtained (i.e., b(k)). The performance of the proposed algorithm will be shown later through simulations.

3.3 Stability analysis of the dynamic Cournot game

Now we give the stability analysis of the caching space allocation scheme by considering the eigenvalues of the Jacobian matrix (Eq. (19)) and applying the Routh-Hurwitz stability condition (Sonis, 1996). By definition, the equilibrium point is stable if, and only if, all the eigenvalues of the Jacobian matrix are inside the unit circle of the complex plane (i.e., |λ i | < 1) (Agiza et al., 1999; Niyato and Hossain, 2008).

When we consider the scenario with two SPSs, the Jacobian matrix can be expressed as Eq. (20).

The two eigenvalues of the Jacobian matrix can be obtained by solving

$$\begin{array}{*{20}c} {J = \left[ {\begin{array}{*{20}c} {{{\partial {b_1}(t + 1)} \over {\partial {b_1}(t)}}} & {{{\partial {b_1}(t + 1)} \over {\partial {b_2}(t)}}} & \ldots & {{{\partial {b_1}(t + 1)} \over {\partial {b_M}(t)}}} \\ {{{\partial {b_2}(t + 1)} \over {\partial {b_1}(t)}}} & {{{\partial {b_2}(t + 1)} \over {\partial {b_2}(t)}}} & \ldots & {{{\partial {b_2}(t + 1)} \over {\partial {b_M}(t)}}} \\ \vdots & \vdots & {} & \vdots \\ {{{\partial {b_M}(t + 1)} \over {\partial {b_1}(t)}}} & {{{\partial {b_M}(t + 1)} \over {\partial {b_2}(t)}}} & \cdots & {{{\partial {b_M}(t + 1)} \over {\partial {b_M}(t)}}} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {1 + {\alpha _1}\left( {{g_1} \cdot \left( {1 - \beta } \right) \cdot {b_1}^{ - \beta } - x - y\left( {\sum\limits_{i = 1}^M {{b_i}} } \right) - 3{b_1}y} \right)} \\ \vdots \\ { - {\alpha _M}{b_M}y} \\ \end{array} } \right.} \\ {\left. {\begin{array}{*{20}c} \cdots & { - {\alpha _1}{b_1}y} \\ {} & \vdots \\ \cdots & {1 + {\alpha _M}\left( {{g_M} \cdot \left( {1 - \beta } \right) \cdot {b_M}^{ - \beta } - x - y\left( {\sum\limits_{i = 1}^M {{b_i}} } \right) - 3{b_M}y} \right)} \\ \end{array} } \right].\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ \end{array} $$
((19))
$$\begin{array}{*{20}c} {J({b_1},\;{b_2}) = \left[ {\begin{array}{*{20}c} {{j_{1,\;1}}} & {{j_{1,\;2}}} \\ {{j_{2,\;1}}} & {{j_{2,\;2}}} \\ \end{array} } \right]\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ { = \left[ {\begin{array}{*{20}c} {1 + {\alpha _1}({g_1} \cdot (1 - \beta ) \cdot b_1^{ - \beta } - x - 4y{b_1} - y{b_2})} & { - y{\alpha _1}{b_1}} \\ { - y{\alpha _2}{b_2}} & {1 + {\alpha _2}({g_2} \cdot (1 - \beta ) \cdot {b_2}^{ - \beta } - x - 4y{b_2} - y{b_1})} \\ \end{array} } \right].} \\ \end{array} $$
((20))
$$\begin{array}{*{20}c} {\varphi (\lambda ) = \det (\lambda I - J) = \left| {\begin{array}{*{20}c} {\lambda - {j_{1,\;1}}} & { - {j_{1,\;2}}} \\ { - {j_{2,\;1}}} & {\lambda - {j_{2,\;2}}} \\ \end{array} } \right|\quad \quad \quad \quad } \\ {\; = {\lambda ^2} - \lambda ({j_{1,\;1}} + {j_{2,\;2}}) + ({j_{1,\;1}}{j_{2,\;2}} - {j_{1,\;2}}{j_{2,\;1}})} \\ {\; = 0,\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ \end{array} $$
((21))

where I is the identity matrix. The solution is

$$({\lambda _1},\;{\lambda _2}) = {{({j_{1,\;1}} + {j_{2,\;2}}) \pm \sqrt {4{j_{1,\;2}}{j_{2,\;1}} + {{({j_{1,\;1}} - {j_{2,\;2}})}^2}} } \over 2}.$$
((22))

By definition, if the evolutionary equilibrium of the dynamic Cournot game with two SPSs is stable, |λ1| < 1 and |λ2| < 1.

In the scenario that there are more than two SPSs in the system, we can obtain all eigenvalues by solving the characteristic equation of the Jacobian matrix (i.e., φ(λ) = det(λIJ)= 0). Then based on the Routh-Hurwitz stability condition, we can confirm whether the Nash equilibrium point is stable.

4 Simulation results and discussion

In this section, we use simulations to evaluate the performance of the distributed dynamic caching resource sharing scheme. For illustration purposes, we first consider a simple network environment with two SPSs and one BS. The simulation parameters are set as follows. For the price function, we set x =0, y = 1, and τ =1 (Niyato and Hossain, 2007; 2008). We assume that each video object of each SPS has the same size, which is 25 MB (i.e., q i = 25), and that the content popularity follows the Zipf-like distribution with the skewness factor β = 0.8 (Ahlehagh and Dey, 2014). Besides, the total number of requests arriving at each SPS is 10 000 (i.e., n i = 10 000). The backhaul cost of transmitting 1 MB data is 10.0 (i.e., C i = 10). The total number of video contents owned by each SPS is 1000 (i.e., \(N_i^{{\rm{total}}} = 1000\)). Note that some of these parameters have to be adjusted based on the evaluation scenarios.

Fig. 3 shows the effect factors of caching space sharing. From Figs. 3a and 3b, we can see that the best response of SPS1 increases with the increase of its total number of requests (n1) and decreases with the increase of the total number of requests arriving at SPS2 (n2). This is not hard to understand. When there are more requests, SPSs need larger bandwidth to deliver video objects, which will result in the increase of backhaul costs. In this case, SPSs prefer to buy more caching space. In Figs. 3c and 3d, we analyze the relationship between the caching space demand from the SPS and the backhaul cost of transmitting 1 MB data. Relationships with mean size of a video content are evaluated in Figs. 3e and 3f. In Figs. 3g and 3h, we investigate the relationship between the caching space demand from the SPS and the total number of videos owned by each SPS. Obviously, caching space demand depends largely on the price given by the BS to sell its storage resources and backhaul costs used by SPSs to transmit requested video objects to UEs. While caching space demand is a decreasing function of resource price, it is an increasing function of backhaul costs. Specifically, when the resource price increases the SPS needs to pay the BS more fees for a certain amount of storage resources, resulting in the situation in which the SPS tends to buy less caching space. However, with the increase of backhaul costs, the SPS is willing to buy more caching space to reduce expenditure in backhaul bandwidth. When there are more requests arriving at SPS2, SPS2 tends to demand more storage resources, and therefore the BS will charge higher price for the same size of resources (as shown in Eq. (1), the price function is convex). As a result, the profit of SPS1 decreases and the size of the demanded storage resources from SPS1 becomes smaller. This analysis method can be used for other evaluation results in Fig. 3.

Fig. 3
figure 3

Effect factors of caching space sharing: (a) and (b) show the effect of the total numbers of requests of SPS1 and SPS2; (c) and (d) present the effect of the backhaul costs (per MB) of SPS1 and SPS2;(e) and (f) show the effect of mean sizes of a video object of SPS1 and SPS2; (g) and (h) present the effect of the total numbers of videos owned by SPS1 and SPS2

In Fig. 4, we evaluate the variations of the revenue of an SPS when the caching space demand of the other SPS is given. From the figure, we can see that the revenue of SPS1 first increases with the increase of its caching space. Then when the caching space size reaches a certain value, the revenue of SPS1 begins to decrease. This is because when the storage resources demanded by either SPS (i.e., SPS1 or SPS2) increases, the price given by the BS will become larger (Eq. (1) with τ =1). In this case, the cost of buying storage resources will increase. As a result, the SPS first benefits from buying caching space. However, at a particular point (e.g., b1 = 245), the revenue gained by the SPS decreases because the storage resource price becomes too high.

Fig. 4
figure 4

Revenue of SPS1 versus the caching space size

Fig. 5 shows the best responses of both SPSs. The best response of each SPS is a nonlinear function of the other SPS’s strategy due to the nonlinearity of the utility function. The intersection of the best response curves indicates the Nash equilibrium point. In the following simulations, we use \({g_k} = {{{n_k} \cdot {C_k}} \over {{\Omega _k} \cdot {q_k}^{ - \beta }}}\) (k = 1, 2) to denote the variations of several parameters (e.g., n k and C k ). From the figure, we note that the best response of the SPSs has a demand for a larger caching space when g k is higher. This is because the SPSs will reduce more backhaul cost when the value of g k is larger. So, in this case, the SPSs expect to get more storage resources to maximize their revenue by caching more popular video contents.

Fig. 5
figure 5

Best responses of two SPSs

In Fig. 6, we show the impact of the Zipf-like distribution on the caching space demand of an SPS when the number of SPSs is fixed at two. When the value of the parameter β increases, g1 and g2 become larger, resulting in both the SPSs needing more caching space. In this case, the BS will achieve benefits from charging higher price from the SPSs (as shown in Eq. (1), the price function is convex). However, at a particular point (e.g., β = 0.75), the caching space demand of SPS1 decreases because the price of the storage resources becomes too high and the cost of sharing storage resources increases at a rate larger than the revenue of SPS1.

Fig. 6
figure 6

Caching space demand of SPS1 under different values of the Zipf parameter

Fig. 7 gives the dynamic behavior analysis of the non-cooperative game. First, we set the initial strategies of the two SPSs to b1(0) = b2(0) = 300. With the proposed dynamic caching space sharing scheme in which an SPS is not aware of others, and it adjusts its demand based on the marginal profit for the SPS, we illustrate the variations in caching space demand for both SPSs in Fig. 7 when g1 = 60 000 and g2 = 50 000. Obviously, with these parameters, the Nash equilibrium point is located at b1 = 250.95 and b2 = 217.39. As shown in Fig. 7, when the learning rate is set properly (e.g., α1 = 0.0015 and α2 =0.0015), the caching space demand will converge gradually and finally reach the Nash equilibrium. However, if the learning rate is large (e.g., α1 =0.0023 and α2 = 0.0023), the strategies of both SPSs will swing drastically and may never converge to the Nash equilibrium. This is because if the learning rate is too large, the determination of an SPS strategy greatly depends on the latest information obtained from the BS, such as the pricing information. Therefore, the strategies of SPSs fluctuate too much to converge to the equilibrium.

Fig. 7
figure 7

Dynamic behaviors of stable and unstable cases

So far, we have simulated the network scenario with two SPSs and one BS. In the following part, we will consider the situation with more than two SPSs. In this case, we use Algorithm 1, which has been described in Section 3, to obtain the Nash equilibrium. In Fig. 8, we investigate the performance of the iteration algorithm. Fig. 8 shows the convergence of the storage resource demand over the iteration step. It is obvious that given the initial strategies, the storage resource sharing scheme could converge to the Nash equilibrium after several iteration steps. This is because when the price offered by the BS decreases, the storage resource demand of SPSs increases and when the storage resource demand of SPSs increases, the price offered by the BS increases. In this case, the SPSs tend to decrease the demanded storage resources. So, after several steps, the storage resource demand of SPSs attains the Nash equilibrium.

Fig. 8
figure 8

Convergence of the proposed iteration algorithm based on the Newton-Raphson method

In Fig. 9, we present the caching space demand and the revenue of the SPSs and the BS for different values of g k . We observe that the location of the Nash equilibrium depends on the value of g k . From Fig. 9, we can see that as the value of g3 increases, SPS3 prefers to demand a larger caching space size from the BS. Moreover, the value of g3 affects the caching space demands of other SPSs. From the figure, we can see that with the increase of the value of g3,the demanded caching space and revenue of other SPSs (i.e., SPS1 and SPS2) decrease. Furthermore, the revenue and the demanded caching space of other SPSs decrease at a rate smaller than the increasing rate of SPS3. In addition, the revenue of the BS increases at a low rate. Similar results are expected for scenarios with a larger number of SPSs.

Fig. 9
figure 9

Caching space demand and revenue of SPSs and the BS under different values of g3

5 Conclusions and future work

In this paper, we have discussed the issues of the caching resource sharing strategy in RANs to save the bandwidth of RAN backhaul networks. The caching resource sharing problem is formulated as a dynamic Cournot game. Then we computed the equilibrium solution of a specific system model with two SPSs and proposed an iteration algorithm based on the Newton-Raphson method to obtain the equilibrium solution with more than two SPSs. Next, the stability analysis of the dynamic Cournot game has been presented. Simulation results have been presented to illustrate the performance of the proposed scheme and demonstrate the instability effects due to changes in the learning rate.

In this paper, we consider the scenario in which there is only one BS to cache video objects of several SPSs. In our future work, we will consider inter-domain collaborative caching scenarios, wherein multiple BSs cooperate in caching. The storage resource sharing problem in these cooperative scenarios should consider the imperfect and dynamic radio channel condition (Xie et al., 2012a). Moreover, this research is based on the LTE network. However, in recent years, the fifth-generation (5G) network has become an advanced research hotspot in academia and industry (Liang et al., 2015). So, the potential caching techniques that might be used in 5G mobile networks will be considered in our future work. Future works also include exploring new relevant opportunities and challenges of caching contents in 5G systems.