A Novel Video Sharing Solution Based on Demand-Aware Resource Caching Optimization in Wireless Mobile Networks

The video services in wireless mobile networks attract massive mobile video users, which triggers the demand for huge network traffic. In order to reduce network load and ensure user quality of experience (QoE), the MP2P-based video systems need to implement high-efficiency management and scheduling of video resources to optimize distribution and promote sharing with offloading traffic in underlaying networks. The traditional solutions do not efficiently address the problems caused by demand variation and node mobility for distribution optimization and resource sharing, so that promotion of video sharing performance in wireless mobile networks for user QoE and reduction of network load still is a significant challenge. This paper proposes a novel video sharing solution based on Demand-aware Resource Caching Optimization in wireless mobile networks (VDRCO). VDRCO models the process of video dissemination in overlay networks in terms of the epidemic model and discusses the main influence factors for video dissemination. By estimation for user demand and video distribution variation, VDRCO makes use of clustering nodes with similar video demand and movement behaviors to achieve distribution optimization and efficient video sharing. Extensive tests showhowVDRCOachievesmuch better performance results in comparisonwith a state-of-the-art solution.


Introduction
The deployment and popularity of video streaming services in wireless mobile networks are benefited from fast increase of wireless bandwidth and continuous improvement [1].The promotion of wireless bandwidth capacity such as WiMAX, 4G, and 5G can accommodate massive network traffic brought by high-definition video application [2], which improves visual experience of users; on the other hand, the various technologies of network access such as MANETs, VANETs, and cellular network enable users to conveniently watch video content via smart terminal [3].As Figure 1 shows, by leveraging the network virtualization methods, the video systems employ the mobile peer-to-peer (MP2P) technologies to achieve large-scale deployment of video applications and promote video sharing in wireless mobile networks [4][5][6][7][8][9].The MP2P-based video systems make use of management and scheduling for video resources in overlay networks to promote video sharing performance.The efficiency of video sharing is a key factor for system quality of service (QoS) and user quality of experience (QoE).The increase in the scale of video users brings huge traffic load for the core network.Offloading video traffic in underlaying networks can relieve load of the core network and reduce delay of video lookup and transmission [10,11].However, this requires video requesters always can find and connect with geographic adjacent providers to fetch desired videos (called "near-end video fetching") instead of geographic far providers (called "far-end video fetching").The near-end video fetching in wireless mobile networks relies on the two perspectives: (1) the efficient resource management achieves optimal video distribution to ensure local balance between supply and demand of resources in geographic area; (2) the efficient resource scheduling supports fast discovery of geographical adjacent video providers on the basis of the optimized distribution.
Recently, massive studies focus on making use of video caching and scheduling to promote sharing performance.For instance, the cooperative caching methods can make use of unoccupied storage space of nodes to cache popular videos in the future [12,13].The prefetching methods enable the nodes prestore the watched videos with high probability in the future, which reduces startup delay of request nodes and ensures smooth playback [14,15].The compelling caching assignment methods make use of the available storage resources to implement caching optimization in terms of variation of video distribution [16][17][18][19][20][21].The socialbased resource scheduling methods further promote resource sharing performance by cache integration in terms of social relationship [22][23][24][25].However, the above methods do not efficiently address the negative influence caused by demand variation and node mobility for balance stability of video distribution, which results in low-efficiency scheduling and high-cost management [26].In fact, user interest for video content is the determining factor for requesting or removing a video.The interest variation drives the nodes to request the desired videos regardless of whether near-end or far-end fetching.In other words, if the requested videos cannot be met by geographical adjacent video providers, the requesters also search geographical far providers, which increase delay of video lookup and transmission.Moreover, when the nodes lose interest for videos in local buffer, they remove the videos in order to cache interested videos.Obviously, variation of node interest is an important influence factor for balance stability of video distribution.On the other hand, the mobile nodes carry the own video resources and move from a geographical area to anther geographical area, which also causes variation of video distribution.A key issue for promotion of video sharing performance in wireless mobile networks is how to address the problems caused by interest variation and node mobility.
In this paper, we propose a novel video sharing solution based on Demand-aware Resource Caching Optimization in wireless mobile networks (VDRCO).By making use of the epidemic model, VDRCO models video dissemination process in overlay networks and analyzes the four influence factors for video dissemination and distribution: number and influence of initial providers and attraction and number of disseminated videos.The influence of initial providers and the attraction of disseminated videos bring severe influence for user demand.The number of initial providers and disseminated videos influences resource distribution in the process of video dissemination.Based on the above analysis, VDRCO designs the two measurement methods for user demand and video distribution variation.By clustering the nodes in terms of interaction frequency and similarity of interest and mobility, VDRCO further designs a video sharing strategy to promote efficiency of near-end video sharing based on the measurement results of user demand and video distribution variation.Simulation results show that VDRCO can obtain much better performance of video delivery in comparison with a state-of-the-art solution.

Related Work
Recently, many studies employ caching and scheduling methods to improve resource distribution and delivery.For instance, the asymmetric cooperative resource caching approach proposed in [13] enables the nodes to build cache layer, so that request and response of data are transmitted to the cache layer, which efficiently reduces overhead of data copying and decreases end-to-end transmission delay.In [14], Kozat et al. designed the three cache mechanisms in P2Pbased systems: (1) cache prefetching: the peers prefetch all content even if the content is not desired; (2) opportunistic cache update: if a cached content is last in local buffer, the peers can replace the content; (3) hybrid scheme composed of the above two strategies, which can efficiently reduce the server load.In [16], Tan and Massoulié designed the caching strategies in P2P system based on the two scenarios: (1) pure P2P network and (2) distributed server networks.In pure P2P network, each peer assigns one cache slot for the most popular content and the remaining cache slots are assigned for the more popular content.In distributed server networks, the peers randomly cache content according to the overall popularity distribution and switch out content from cache space with uniformly probability.In [18], a commercial caching system is designed, which includes a video retailer (VR) and multiple network service providers (NSPs).By caching popular videos in the rented SBSs, the VR leases small-cell base stations (SBS) of NSPs to provide better local video services to the mobile users.In [19], Mokhtarian and Jacobsen designed the four algorithms: (1) a flexible ingress-efficient algorithm; (2) an offline caching algorithm based on awareness of future requests; (3) an optimal offline caching algorithm; (4) an adaptive ingress control algorithm, handling the demand for content caching on the servers of CDNs.In [20], a cache replacement method, Trend-Caching, is proposed, which optimizes caching performance according to the popularity trends of video content.Trend-Caching makes the decision of caching and removing videos in terms of popularity trend of video content, which achieves fast convergence and improves cache hit rate.
In order to further promote resource sharing performance, massive researchers have leveraged other technologies, such as the social network, to improve efficiency of resource caching and scheduling.For instance, in [22], SAVE considers channel switching as the interactions between channels and clusters channels with high-frequency interactions.SAVE builds contacts between channels with highfrequency and low-frequency interactions, which enables the nodes to stay in the same channel clusters or makes use of interchannel contacts to join a new channel instead of accessing server.The nodes also make use of the maintained friend lists to record common-interest channels and watching time shared by nodes, which achieves fast channel switching and reduces server load.Zhang et al. designed a resource prefetching strategy for video services based on online social network [24].Because the popular videos are watched with high probability, the nodes can prefetch prefix chunks of popular videos, which reduce startup delay and achieves smooth playback.In [23], social-P2P groups nodes with common interests and close social relationship into a cluster by investigation of social interests and relationships in social network.Furthermore, the relatively stable nodes in each cluster also are clustered in terms of the Distributed Hash Table (DHT).When any node requests video content, it sends request message to content providers by making use of the DHT structure, which improves lookup success rate and reduces lookup delay.
Moreover, some resource caching methods in new network architecture such as Content-Centric Networks (CCNs) and Information-Centric Networks (ICNs) are proposed.In [27], CodingCache makes use of network coding and random forwarding to support multipath routing in CCNs and improve diversity of cached content along different paths, which increases cache hit rate with reasonable cache privacy.Si et al. investigated the use of harvested bands for caching video contents closed to the interested nodes [28], in order to improve the performance of video distribution.Based on transforming the allocation of harvested bands (a Markov decision process) into a partially observable Markov decision process and a multiarmed bandit formulation, a spectrum management mechanism is designed, which improves efficiency of proactive video caching and spectrum utilization.

Model of Video Dissemination
The management for video resources cached by nodes in overlay networks focuses on achieving optimal video distribution to support high-efficiency video sharing.The local balance between supply and demand of videos is an important characteristic of optimal video distribution.For instance, when a node   always can find the video providers which cache the requested video from one-hop neighbor nodes of   , the one-hop neighbor relationship can minimize the number of forwarding request message and video data, which ensures low delay of video lookup and transmission and reduces risk of video data loss.Obviously, the local balance between supply and demand of videos can efficiently support near-end video fetching (e.g., the above one-hop video fetching) to promote video sharing performance.
The maintenance for stability of local balance of video resources in wireless mobile nodes is a significant challenge.This is as interest variation and node mobility bring severely negative influence for local balance of video resources.For instance, a node   has watched all videos cached in onehop neighbor nodes of   , so that   loses interests for videos with high probability.In the other words,   does not request videos which have been watched and may fetch new videos from other nodes instead of one-hop neighbor nodes.Obviously, the interest variation results in imbalance of video distribution.On the other hand, because the mobile nodes are the carriers of video resources, the node mobility makes the video resources move in geographical area, which also results in variation of video distribution in geographical area.The maintenance for stability of local balance needs continuous adjustment (caching new videos and removing old videos) in terms of interest variation and node mobility.The variation of user interests can change the number of available resources in video systems, which determines the Mobile Information Systems performance of video lookup.The node mobility only leads to the variation of geographical distribution of video resources instead of changing total amount of available video resources, which determines the performance of video delivery.

Construction of Video Dissemination Model.
For convenience, several notations used in sections are defined in Notations (notations used by models).The video distribution is continuous variation in the whole process of video dissemination.This is as the video dissemination process has obvious periodicity.When a new video V  appears in overlay networks, the nodes have potential interest for V  .Some nodes cache V  and push V  to other contacted nodes, which increases the range and speed of dissemination of V  .At the moment, number of cached V  in overlay networks fast increases.When the most of nodes have watched V  , they lose the interests for V  and remove V  in local buffer in terms of their storage capacity.The number of cached V  in overlay networks fast decreases.Therefore, the video dissemination process can be influenced by variation of user interests instead of the node mobility.The initial providers of V  act as the infected nodes.The nodes interested in V  are considered as the susceptible nodes.The nodes which have watched V  are considered as the immune nodes.In the process of video dissemination, the susceptible nodes actively send request messages to search V  (pull mode) and the initial providers send the advertisement messages to push V  for other nodes (push mode).The two modes of pull and push enable V  to be spread in overlay networks.Therefore, the dissemination process of V  follows the epidemic model [29]. is the total number of nodes in overlay networks. = ()+()+(), where () is the number of nodes interested in V  ; () is the number of nodes which have cached V  ; () is the number of nodes which have been uninterested in V  and have removed V  in local buffer. = ()/,  = ()/, and  = ()/ denote the ratio between (), (), (), and , respectively.At the time , , , and  meet the equation () + () + () = 1 and the dissemination model of V  can be defined as where  and  are the increasing rate of nodes which request and remove V  , respectively.If the content of V  is wonderful, the probability of requesting V  for nodes in overlay networks is high.If the nodes which have cached V  have strong influence level for other nodes, the pushed V  is accepted with high probability.Therefore, the wonderful content and strong influence level of push nodes make the value of  keep high levels, so that V  can be fast disseminated to the whole overlay networks (the value of  also keeps fast increase).If the nodes cached in V  have watched V  , they lose the interests for V  and remove V  in local buffer, so that the values of  also keep high levels (the value of  fast increases).

Analysis for Video Distribution
Variation.We further describe variation process of  and  to discuss the variation of distribution of V  .
(1) Initially, because the number of initial providers is less and there are some nodes which are uninterested in V  in overlay networks, the dissemination rate of V  is low and the value of  slowly increases.At the moment, because the nodes which cache V  do not finish the playback for V  , the value of  is 0.
(2) With the increase in the dissemination time, if the content of V  is wonderful, the large amount of nodes make use of pull mode to request and cache V  ; if the nodes which have cached V  have strong influence level for other nodes, the pushed V  easily is accepted.
The value of  fast increases and reaches the peak.At the moment, because some nodes have watched V  and lose the interests for V  , they remove V  in local buffer.
The value of  keeps the increase trend.
(3) When the increment of number of nodes interested in V  decreases, the value of  decreases.At the moment, because the large amount of nodes have watched V  and remove V  , the value of  fast increases and reaches the peak.
(4) When the number of nodes interested in V  keeps relatively stable at the later stage of dissemination process, the value of  keeps low level.Because the number of nodes which remove V  decreases, the value of  fast decreases and also keeps low level.
(5) Finally, when all nodes finish the playback and remove V  , the values of  and  are 0, respectively (the values of  and  are 0).In fact, the number of nodes in overlay networks always keeps dynamic variation in the real video services.The new mobile nodes join into the video systems, so the values of  and  always keep slight fluctuation in the reasonable range.
If the nodes finish the playback and immediately remove V  , the values of  and  have the same variation process.If the nodes finish the playback and do not immediately remove V  in order to serve other request nodes, the values of  have longer and more moderate variation process than those of .In fact, we only consider the latter case in terms of the characteristic of resource sharing with each other in MP2Pbased video systems.
On the other hand, the values of  and  reflect the variation levels of distribution of V  .The attraction of video content and the influence of providers are the two impact factors for the values of  and  and variation of user interests.For instance, the two nodes are interested in the NBA and frequently share related videos with each other.If a node pushes videos of the CBA to another node, the latter may accept the pushed videos with high probability.However, if a node pushes videos of the World Cup to another node, the latter may reject the pushed videos with high probability.This is as the pushed videos go beyond the demand (interest) ranges of the latter (the latter is immune for the pushed videos).The wonderful video content can attract large amount of nodes and the high-level influence of providers increases the probability of push success, which speeds up the video dissemination.As we know, the fast dissemination can increase the provision of available resources to reduce startup delay of request nodes caused by shortage of resources.In order to efficiently improve rate and range of video dissemination, a key issue is how to be aware of user demand and select appropriate push nodes.
Except for attraction of video content and influence of providers, number of initial providers and number of disseminated videos are the two influence factors for the dissemination process.The large amount of initial providers not only ensures enough provision of available resources but also increases the value of  due to extension of push range.Moreover, the dissemination of multiple videos in overlay networks not only leads to the fast change of user interests but also causes the competition for bandwidth and storage resources of nodes.For instance, the small number of new videos lengthens the process of video dissemination.This is as the nodes do not fast lose the interests for the existing videos in overlay networks.The content providers do not eagerly remove V  to fetch new videos due to limited storage space.Otherwise, if the massive new videos appear in overlay networks, the nodes continually request more interested videos, which reduce the stay time of V  in local buffer of content providers.This speeds up the convergence of process of video dissemination, which results in the fast variation of distribution of V  .Therefore, in order to improve video sharing performance, the management and scheduling of video resources need to consider awareness of user demand, selection of push nodes in terms of estimation of common interests between nodes, and monitoring of variation level of video distribution.

VDRCO Detailed Design
As we know, the optimal video distribution can improve resources sharing performance of video systems and reduce delay of video lookup and delivery.The accurate awareness for user demand and distribution variation level is significant for optimization of video distribution.The awareness for user demand enables the video systems to be aware of caching what resources.The awareness for distribution variation level enables the video systems to be aware of period time of scheduling resources.

Awareness of User Demand.
When the users are interested in videos, they send request messages to fetch and cache the requested videos.Obviously, the requested videos can embody the interests of users and the interest range of users is limited.For instance, a user has the highest interest level for the NBA-related videos among all videos.The user pays more time to search and watch the NBA-related videos.On the other hand, because the users may push some interested videos to other users, the pushed videos also reflect the interests levels of users.Therefore, the videos which are watched for a long time or are pushed by users can represent the interest of users.The interest range can be considered as demand range of users.
In order to accurately measure the interest range, we cluster the videos watched by users and define the interest range in terms of the interest levels of users for videos.The set of clustered videos is considered as the interest range of users.Let  V (  ) denote the set of watched videos of   .The similarity   between any two videos V  ∈  V (  ) and V  ∈  V (  ) can be calculated according to our previous work [30].If   is the largest among the similarity values between V  and other items in  V (  ), V  and V  form a new video subset  sub  = (V  , V  ), as Figure 2(a) shows.Similarly, if  ℎ denotes the similarity between V ℎ ∈  V (  ) and V  ∈  V (  ) and  ℎ is larger than the similarity values between V ℎ and other items in  V (  ), V ℎ joins into  sub  , as Figure 2(b) shows.After the iteration of video clustering, the items in  V (  ) are grouped into several video subsets; namely,  V (  ) = ( sub  ,  sub  , . . .,  sub  ), as Figure 2(c) shows.Because any video in each subset  sub  only has a similarity value with another video in  sub  , all items in  sub  can be ranked in terms of the ascending similarity; namely,  sub  = (V  , V  , . . ., V  ).In fact, the video subsets may include many noise items.For instance, V  ∈  sub  and the similarity value   between V  and V  is larger than the values between V  and other items in  V (  ).If the value of   is very small and the similarity values between V  and other items in  sub  are also very small, V  is unsuitable to become the member in  sub  ; namely, V  is a noise item in  sub  .This is as the above video clustering only considers the similarity between V  and V  and neglects the similarity between V  and other items in  sub  .In order to remove the noise items in video subsets, we firstly calculate the average value of similarity among all items in  sub  according to the following equation: where | sub  | returns the number of items in  sub  .The initial average value of similarity among items in  sub  is defined as ( sub  ) (1) .Because all items in  sub  have been ranked in terms of the ascending similarity and V  is first item with minimum similarity, V  is removed from  sub  and other items form a new set  (2)  sub  .The average value of similarity among all items in  (2)   sub  is recalculated according to (2); namely ( sub  ) (2) .If ( sub  ) (2) < ( sub  ) (1) , V  is not a noise item and is readded to  (2)  sub  .Otherwise, if ( sub  ) (2) > ( sub  ) (1) , V  is considered as a noise item.Although the similarity value between V  and another item in  sub  is high, V  may have the low similarity with other items in  sub  .Therefore, when V  is removed, the average value of similarity in  (2)   sub  increases.
After making the decision of retaining or removing V  ,  (2)    continues to remove V  .Other items in  (2)   sub  form a new subset  (3)  sub  .If ( sub  ) (3) > ( sub  ) (2) , V  is a noise item.Otherwise, if ( sub  ) (3) < ( sub  ) (2) , V  is not a noise item and is readded to  (2)  sub  .By iteration of the above process, the noise videos in  sub  are removed, as Figure 2(d) shows.Similarly, the noise items in all video subsets can be removed and form a new video subset.We continue to cluster and refine items in subset composed of noise videos according to the above process.The condition of convergence is that each noise video forms a subset.
In order to extract the demand regions of   from the video subsets, we firstly make use of the watched time and pushed frequency to estimate the interest level for any video V  according to the following equation: where Further, the average value of interest level of all items in  V (  ) can be defined as where On the other hand, the push between nodes also drives the video dissemination except for the video request.For instance, a provider   stores a video V  and pushes V  to another node   .If   accepts the pushed V  , it returns an acknowledgement message to   and receives the video data from   .Otherwise, if   is uninterested in V  , it neglects the pushed V  .The push success rate also is an important factor for period time of video dissemination.If the number of successful push for V  during the period time   −  of video dissemination is NU  , the variation level of V  distribution during   −   is defined as VL  = (NR  + NU  )/(NP  − NR  − NU  ), where NP  > NR  +NU  .Obviously, (NR  +NU  )/(  −   ) and (NP  − NR  − NU  )/(  −   ) denote the increase and decrease rate of V  , respectively ( = (NR  + NU  )/(  −   ) and  = (NP  − NR  − NU  )/(  −   )).The variation level of video distribution can be defined as VL  = /.

Video Sharing Strategy.
Based on the awareness results for user demand and distribution variation level, the video systems make use of video caching and scheduling to optimize distribution and achieve high-efficiency sharing in the process of video dissemination.For instance, if the two nodes   and   frequently share cached videos with each other,   /  pushes videos which may be interested by   /  in terms of results of demand awareness, which increases probability of push success.When their video demand is out of original range and has high variation level, they can adjust cached videos in local buffer to maintain the stability of balance of video supply and demand between them.Moreover, if the nodes have similar demand and are clustered into a node set, the similar demand ensures the videos cached by them can meet the requirement with each other.The nodes in the same set share cached videos and adjust local cached videos according to variation of demand and cached resources in the set, which achieves balance between supply and demand in the whole overlay networks.
On the other hand, the construction of logical links between items in node sets relies on similarity level of demand and does not consider the factor of their geographical location.The adjacent geographical location between video providers and requesters can reduce number of relay nodes in the path of data transmission, which decreases delay of data transmission and probability of data loss and relieves traffic load of networks.The mobility results in dynamic geographical location of nodes, which brings severely negative influence for video delivery.For instance, the onehop data transmission between requesters and providers may become multihop transmission with the continuous movement.The estimation of mobility similarity between nodes can measure the stability of relative distance between nodes.The construction of node sets (clustering nodes in overlay networks) needs to investigate similarity of demand and mobility of nodes, which achieves local balance between video supply and demand in geographical area.
We investigate the interaction (push and pull) between nodes to estimate similarity of demand.The high-frequency and successful interaction denotes that the nodes can meet the demand for the videos with each other, which increases lookup success rate and reduces lookup delay.The total number of interaction between any two nodes   and   is defined as where   /  denotes the interaction success rate where  ()   is the number of successful interaction.The higher the value of IR  is, the more efficient the video dissemination is.Moreover, the highfrequency interaction and high interaction success rate also reflect the closeness and stability of relationship between nodes.The close and stable relationship between nodes avoids the frequent message exchange to fetch state information with each other such as cached videos, which reduces the energy consumption of mobile nodes caused by huge message overhead.
Because the mobile nodes have low capacity in bandwidth, computation, storage, and energy, they difficultly bear the load for the estimation of mobility similarity with each other in large geographic areas.We investigate the stability of one-hop neighbor relationship between nodes to estimate their mobility similarity.The estimation of mobility similarity in small geographic areas can reduce the load of mobile nodes.If the two nodes have one-hop neighbor relationship at the time   , the two nodes are considered as encounter at   .The more the number of encounter is, the longer the period time of stable one-hop neighbor relationship is.The stability st of one-hop relationship between nodes can be estimated according to our previous work [31].Therefore, the relationship level between any two nodes   and   can be defined as Because the values of st  are in the range (−∞, +∞), the values of 1 − arccot(st  )/ are in the range [0, 1] and GR  ∈ [0, 1].Any node   records the information of nodes which encountered   and interacted with   and builds a node set GN  .  estimates the relationship level with all items in GN  according to (8).We cluster the nodes in overlay networks into multiple node subsets by employing the above demand region construction method in Section 4.1.
If   has the highest relationship level with   among GN  ,   and   form a node set GS  .If another node   also has the highest relationship level with   among items in GN  ,   joins into GS  .After the iteration of the above clustering process, the built node subsets continue to remove the noise nodes according to the variation of average values of relationship between nodes in subsets.Finally, the nodes in overlay networks are grouped into multiple node subsets; namely, NS = (GS 1 , GS 2 , . . ., GS  ).The nodes in the same subsets are aware of the deputy videos corresponding to demand regions with each other by periodical exchange of messages.
The nodes preferentially send request messages for the videos to members in the same subsets.Before   requests a video V  , it firstly calculates the similarity between V  and deputy videos of other nodes in current subset; namely, LS  = (  ,   , . . .,   ), where   denotes the similarity value between V  and V  .If the similarity between the deputy video V ℎ and V  is the largest among all deputy videos and a node   in current subset stores V ℎ ,   sends the request message to   .If   also stores V  in local buffer,   directly returns an acknowledge message and transmits data of V  for   .Otherwise, if   does not store V  , it returns a lookup failure message to   .  uses a threshold Thr  to filter some items in LS  .If the similarity values between V  and items in LS  is greater than Thr  , these deputy videos are marked as the selected videos.  sends the request messages to the nodes which cache the selected videos except for   .If these nodes store V  , they return the acknowledge messages to   and   selects a node as the provider.Otherwise, if these nodes do not store V  ,   broadcasts the request message in the whole network after receiving the lookup failure messages.
On the other hand, because the nodes can be aware of number of request for V  and number of nodes which cache V  in subsets by message exchange, they estimate the variation level VL  of distribution for V  during a period time.If VL  is the minimum value among the variation levels of all videos in current subset, V  can be preferentially removed in local buffer of nodes after a period time Δ.Otherwise, if VL  is not the minimum value among the variation levels of all videos in current subset and the nodes carrying V  do not receive the request message during a period time (1 + VL  )Δ, these carriers can remove V  from their local buffer.

Testing Topology and Scenarios.
The performance of the proposed solution VDRCO compares with a state-of-theart community-based video sharing solution AMCV [32].We use in NS-2 to model and implement the two solutions VDRCO and AMCV.The 400 mobile nodes are deployed in the 1000 × 1000 m 2 area and have 200 m signal range.The mobile speed of nodes is in the range [1,20] m/s.The simulation time is set to 400 s.The data transmission protocol is UDP and the wireless routing protocol is DSR.In order to reduce the influence caused by network congestion for the simulation results, the server and the mobile nodes have 20 Mb/s and 10 Mb/s bandwidth, respectively.The transmission rate of video data (the playback rate of mobile nodes) is set to 128 kb/s.
The 200 mobile nodes request videos and join the video system, which are considered as the system members.The number of video files is 30 and the length of each file is 100 s.The 200 playback logs are generated for the system members, which are used to define the requested resources and playback time of system members.After simulation startup, the system members finish the first request for the videos in terms of the playback logs following the Poisson distribution from  = 0 s to  = 100 s.The requested resources and playback time of each system member in playback logs are randomly assigned.The number of videos requested by nodes in playback logs is 5 and the system members quit the system when they have watched all videos.The number of resources cached in each system member is 3.In VDRCO, the 200 historical playback logs are generated, which are used to estimate demand regions of the 200 system members.The historical logs of encounter and interaction of system members are generated.The system members are clustered in terms of their historical logs of encounter and interaction before the simulation. and  are set to 0.5, respectively.The threshold Thr of all system members is set to 0.2.Δ is set to 20 s.
On the other hand, the 400 movement behavior logs are generated for the 400 mobile nodes.In the movement behavior logs, the location, speed, and moving target of mobile nodes are randomly assigned.The mobile nodes move from the initial location.When the mobile nodes arrive at the assigned target, they do not stay and continue to move in terms of the new speed and moving target defined in movement behavior logs.In VDRCO, the members in node subsets are reestimated the relationship between them in terms of the new movement traces and make the selection: leaving current subset and joining new subset or staying current subset.
AMCV is suitable for the performance comparison with VDRCO.AMCV has the flexible deployment strategy to implement video file sharing in wireless mobile networks.In AMCV, the nodes which request the same video chunk are grouped into a community.In the simulation, AMCV clusters the nodes which request the same video file into a community.The number of communities in AMCV is in the range (0, 30].The maintenance strategy in AMCV also is suitable for the video file sharing.(2) The sharing strategy of video chunks in AMCV is suitable for the video file sharing.We assign the ID for the 30 video files, so the communities in AMCV can build the static connections with each other.We also generated the 5000 historical playback logs which include ID of videos by nodes.AMCV can construct the dynamic connections between communities according to the request behaviors of nodes. and  are also to 0.5, respectively.PT  and PT  are set to 0.2 and 0.12, respectively.The value of UT is defined as 60 s.(3) AMCV and VDRCO make use of community-based MP2P network architecture and estimation for the video request behaviors of nodes to support high-efficiency video sharing.AMCV relies on the association relationship between videos requested by nodes to build the dynamic connections between communities and support the fast video lookup.VDRCO investigates the content similarity level between videos requested by nodes and node mobility to build the node subsets and support the video sharing between nodes in subsets.Before simulation startup, the system members also are clustered in terms of the community construction method.

Performance Evaluation.
The performance comparison between VDRCO and AMCV includes the three aspects average startup delay (ASD), caching utilization rate, and packet loss rate (PLR).
(1) ASD.Let SD =   −  V denote the definition of startup delay.  is the time of sending the packet containing request message at the application layer;  V is the time of receiving first packet containing video data at the application layer.
Figure 3 shows the variation of ASD of the two solutions VDRCO and AMCV with increasing simulation time.ASD = ∑  =1 SD  / denotes the average startup delay where  is the The AMCV results keep relatively stable rise from  = 0 s to  = 120 s and reach the peak values at  = 220 s.Although the VDRCO results are higher than those of AMCV from  = 0 s to  = 60 s, the red curve corresponding to VDRCO is lower than that of AMCV from  = 80 s to  = 400 s and the peak value of VDRCO is less than that of AMCV. Figure 4 shows the variation of ASD of VDRCO and AMCV with increasing number of request nodes.ASD = ∑  =1 SD  / also denotes the average startup delay where  is the number of nodes which have finished startup during a time interval of every 20 nodes requesting videos.The red curve corresponding to VDRCO keeps fast rise with increasing number of request nodes from 0 to 100 and also falls with increasing number of request nodes from 100 to 140.Finally, the red curve continues to keep the rise trend with increasing number of request nodes from 140 to 200.The blue curve corresponding to AMCV always fast increases in the process of the 200 request nodes joining.Although the red curve of VDRCO is higher than that of AMCV with increasing number of request nodes from 0 to 120, the VDRCO results are better than those of AMCV in the increase process of request nodes from 140 to 200. Figure 5 shows the results of ASD of VDRCO and AMCV in the different range of mobile speed where the mean values of startup delay of all nodes during the whole simulation corresponding to the four range of mobile speed denote ASD.The bars corresponding to VDRCO and AMCV keep the rise trend with the increase in the mobile speed.The red bars of VDRCO are lower than those of AMCV in all range of mobile speed.
In AMCV, the system nodes which request the same video are grouped into a node community and these communities rely on the static and dynamic connections to support the node movement between communities (namely, video lookup).If there are the communities corresponding to all videos in overlay networks, the request nodes can fast find the video providers by making use of the connections between communities to forward the request messages.Therefore, the ASD results of AMCV in the initial simulation process are better than those of VDRCO.However, the system members continuously move between communities with the variation of requested videos, which leads to the dynamic and fragile community structure.In the other words, the interest variation for the video content results in the generation and disappearance of communities, which brings severely negative influence for the lookup success rate.If the request messages cannot be forwarded to the corresponding communities, they only are forwarded to the server.Therefore, the ASD values of AMCV fast increase.On the other hand, AMCV does not consider the mobility of mobile nodes in the process of video delivery, so that the far-end access for the video resources is not avoided.The fast increase in the number of requested videos brings large amount of data traffic, which leads to the network congestion.The ASD values of AMCV keep high level in the process of network congestion from  = 140 s to  = 340 s, which means that the ASD values of AMCV are subjected to the severe influence of network congestion.When some system members have watched the 5 videos and quit the system, the decrease of traffic relieves the congestion level, so that the ASD values of AMCV can quickly decrease.Moreover, the mobility of mobile nodes may result in the increase of hop number between requesters and providers, so the increase of mobile speed also causes the rise of ASD results of AMCV.The ASD values of AMCV with low mobile speed are less than those with high mobile speed.In VDRCO, the system members are clustered in terms of the frequency of interaction and encounter between them and preferentially request and push the video content in current subsets.Because the system members in subsets continuously estimate the relationship between them according to the current frequency of interaction and encounter, the variation of subset structure brings severely negative influence for the sharing performance.Initially, the new movement traces lead to the change of subset structure; namely, the system members leave current subsets and join other subsets, which increase the ASD values of VDRCO.Once the subset structure keep relatively stable state, the intrasubset video sharing relies on the close geographical distance to obtain low transmission delay of request messages and video data.Further, the system members in the same subsets are aware of the demand regions with each other in the process of video sharing and dynamically regulate the local cached resources according to the demand variation and video dissemination.The adjustment of cached resources based on the awareness of demand variation ensures local balance between supply and demand to promote the intrasubset sharing and reduce lookup delay.Therefore, the ASD values of VDRCO can keep the level of decrease and stability from  = 60 s to  = 120 s.With the fast increase in the number of requested videos, VDRCO also is subjected to the network congestion from  = 140 s to  = 340 s, but the ASD values of VDRCO still are less than those of AMCV.The peak value of VDRCO is less than that of AMCV and the ASD decrease rate of VDRCO also is higher than that of AMCV.On the other hand, because the system members in the same subsets keep frequent encounter and have the stable one-hop neighbor relationship, the nearend video delivery reduces the influence caused by network congestion.The ASD values of VDRCO keep the rise trend with the increase in the mobile speed, but the increment of ASD values of VDRCO is less than that of AMCV.
(2) Caching Utilization Rate.Making use of video resources cached in local buffer of system members to serve the requesters denotes the caching utilization.Let  CU and  RM denote the number of caching utilization and all request messages, respectively.The caching utilization rate can be defined as  CU =  CU / RM .
Figure 6 shows the variation of caching utilization rate of VDRCO and AMCV every 40 s.The curves of VDRCO and AMCV have the rise trend during the whole simulation process.The blue curve corresponding to AMCV fast increases from  = 40 s to  = 320 s and keeps stable rise from  = 340 s to  = 400 s.The red curve corresponding to VDRCO has the stable increase from  = 200 s to  = 400 s after a fast rise from  = 40 s to  = 180 s.The results of caching utilization rate of VDRCO are higher than those of AMCV.
In AMCV, the system members firstly send the request messages to the broker members in current communities.The broker members make use of the maintained connections with other communities to forward the request messages.If the requested videos are not played by the system members, the communities corresponding to the requested videos also are not built and the request nodes need to fetch the requested video resources from the server.Although the members in communities which have watched the requested videos and do not immediately remove the videos, they continue to request new videos, quit current communities, and join the new communities.The original videos cached by them are not used to serve other requesters.This is as these members have quit the original communities, which results in the link disconnection with the broker members of original communities.On the other hand, the interests of users have random and extensive characters; it is difficult to all videos being watched during the same period time.Therefore, the caching utilization rate of AMCV always keeps the lower level than those of VDRCO.In VDRCO, the system members in the same subsets have high-frequency interaction and similar interests, so they make use of local cached videos to serve with each other.Even if the system members do not fetch the desired video resources from the nodes in current subsets, they require other nodes in subsets forward the request messages or broadcast the request messages to obtain the requested videos from the nodes in overlay networks.Therefore, the results of caching utilization rate of VDRCO are higher than those of AMCV in the whole process of simulation.Moreover, the high caching utilization rate also means that VDRCO reduces the load of the server to obtain higher system scalability than AMCV.
(3) Packet Loss Rate.The ratio between number of lost data at the application layer in the transmission process and number of total number of data sent by video providers and the server denotes the packet loss rate.Figure 7 shows the PLR variation of VDRCO and AMCV with increasing simulation time where the PLR values during a time interval  = 40 s denote the PLR.The two curves corresponding to VDRCO and AMCV have similar variation process of PLR.The results of VDRCO and AMCV decrease from  = 200 s to  = 400 s after slow rise from t = 40 s to  = 120 s and fast increase from  = 120 s to  = 200 s.The blue curve of AMCV is higher than the red curve of VDRCO where AMCV's results have higher increment and peak value than those of VDRCO from  = 40 s to  = 200 s.The decrement of AMCV's results is lower than that of VDRCO from  = 240 s to  = 400 s.
Figure 8 shows the PLR variation of VDRCO and AMCV with increasing number of request nodes.Because the 200 system members request the videos following the Poisson distribution from  = 0 s to  = 100 s, the PLR results of VDRCO and AMCV with the increase in number of request nodes from  = 0 s to  = 100 s are shown in Figure 8.The two curves of VDRCO and AMCV have the similar variation trend with variation of number of request nodes from 20 to 200.The red curve corresponding to VDRCO firstly keeps the fast rise with increasing number of request nodes from 20 to 80, experiences a transient fall from 80 to 100, and also continues to quickly increase from 120 to 200.The blue curve corresponding to AMCV firstly has a fast rise with increasing number of request nodes from 20 to 80, experiences a stable process from 100 to 140, and continues to quickly increase from 160 to 200.The blue curve of AMCV is higher than that of VDRCO during increase process in number of request nodes.
Figure 9 shows the PLR variation of VDRCO and AMCV in different range of mobile speed.The bars of VDRCO and AMCV keep the rise trend with increasing mobile speed.The red bars of VDRCO keep the low levels in the low range of mobile speed [0, 5] and (5,10] and have the fast rise in the high range of mobile speed (10,15] and (15,20].The blue bars of AMCV also have low levels in the range of mobile speed [0, 5], keep the slow rise with the variation of mobile speed from (5,10] and (10,15], and have the distinct increase in (15,20].The PLR results of VDRCO are less than those of AMCV in the four range of mobile speed. AMCV does not consider the negative influence caused by the node mobility for the video delivery; namely, AMCV groups the system members into communities according to the videos requested by them.The forwarding process of request messages only reflects the logical distance between requesters and providers.The neglect for the geographical distance between requesters and providers leads to the increase in the probability of far-end video fetching, which brings the two types of negative influence for the video delivery.(1) The video delivery with geographical long distance increases the load core networks, which aggravates the level of network congestion.When the network congestion occurs, the PLR values of AMCV keep high levels during a long period time from  = 200 s to  = 400 s, even if some system members continuously quit the video system.
(2) There is high risk of packet loss in the process of data transmission with geographical long distance.For instance, if the receiving buffer of a relay node is full, the relay node drops the subsequent data; if there are many relay nodes in the data transmission path, the fast movement of some relay nodes leads to the frequent change of data transmission path which increases the probability of packet loss.Therefore, AMCV has the higher PLR values than VDRCO.VDRCO groups the system members into multiple subsets according to the frequency of interaction and encounter.The system members in the same subsets have stable one-hop neighbor relationship, so they achieve near-end video fetching with high probability.The near-end video fetching not only relieves the load of core network to reduce the level of network congestion but also avoids the risk of packet loss caused by node mobility in the process of data transmission.The PLR values of VDRCO keep relatively low level from  = 200 s to  = 280 s and fast decrease from  = 280 s to  = 400 s, which means that the negative influence caused by the network congestion for VDRCO is low relative to AMCV.Moreover, because VDRCO considers the stability of mobility of system members in subsets (namely, stability of one-hop neighbor relationship), the PLR values of VDRCO keep low increase in the range of mobile speed [0, 5], (5,10] and (10,15].Although the PLR values of VDRCO are subjected to the distinct negative influence in the high mobile speed (15,20], VDRCO's PLR results are better than those of AMCV.

Conclusion
In this paper, we propose a novel video sharing solution based on Demand-aware Resource Caching Optimization in wireless mobile networks (VDRCO).By construction of video dissemination process model in terms of the epidemic model, VDRCO discusses the main influence factors for the dissemination and distribution of videos.By estimation for user demand range and video distribution variation level, VDRCO groups the nodes into multiple subsets in terms of interaction frequency and similarity of interest and mobility, which optimizes video distribution.VDRCO further designs video sharing strategies to balance local supply and demand and make use of near-end video fetching to improve sharing performance.The simulation results also show how VDRCO has lower startup delay, higher caching utilization rate, and lower packet loss rate than AMCV.

Figure 1 :
Figure 1: MP2P-based video streaming services in wireless mobile networks.
push  and  pull  are the number of videos pushed and requested by   for   ;  push  and  pull are the number of Mobile Information Systems videos pushed and requested by   for   .The accepted video push and the successful response for the video request are considered the successful interaction.IR  = ()

Figure 5 :
Figure 5: Average startup delay against range variation of mobile speed.

Figure 6 :
Figure 6: Caching utilization rate against simulation time.

Figure 7 :Figure 8 :
Figure 7: Average packet loss rate against simulation time.

Figure 9 :
Figure 9: Average packet loss rate against range variation of mobile speed.
;   is the total push frequency of   for all watched videos. and  are the weight values of watched time and push frequency, respectively, and + = 1.Therefore, the value of   (V  ) is in the range [0, 1].If a video V  ∈  sub  has the highest interest level among all items in  sub  , V  acts as the deputy video of  sub  .Each video subset  sub  has an average value of interest level according to the following equation: is the watched time of a node   for V  ;   is the total playback time of   for all watched videos;   (V  ) is the pushed frequency of   for V sub  is considered as a demand region of   .Therefore, the set of demand regions can be defined as   = ( 1 ,  2 , ...,   ).When   requests and watches a new video V  , the similarity between V  and deputy videos in all demand regions is calculated.If the similarity between V  and a deputy video V  in  sub  is the largest similarity among all deputy videos, V  is added to  sub  .By the purification for the subset, if V  is a noise video, the similarity values between V  and all noise videos are calculated.V  is added to the video subset corresponding to the noise video which has the largest similarity; otherwise, if V  is not a noise video, it stays in  sub  .4.2.Awareness of Variation Level of Video Distribution.When the nodes want to watch new videos and the local buffer is full, they remove the videos which have been watched.The replacement of cached videos in local buffer of nodes directly results in the variation of video distribution in overlay networks.The stay time of cached videos in local buffer is an important factor for the measurement of replacement.For instance, when a request node   wants to watch a video V  , it sends the request message in overlay networks and waits for the returned video data.If a video provider   stores V  and receives the request message of   , it needs to transmit video data to   and cannot remove V  in local buffer.In other words, the more the number of received request messages is, the longer the stay time of cached videos is.Obviously, the period time of video dissemination is the impact factor for stay time.The time of downloading V  from   can be defined as  is the size of V  ;   and   are the average values of bandwidth and packet loss rate of   in the process of transmission.We assume that the video providers remove V  in local buffer when they do not receive the request messages during a short period time Δ.If the number of request messages received by   is NR  during a period time   < NR  × TR  (V  ), the stay time of V  in local buffer of   is NR  × TR  (V  ) + Δ.If   is equal to the playback rate of requesters, the transmission time of V  is equal to the playback time of requesters.If the number of requesters and providers is NR  and NP  for V  during the period time   −   , respectively, and NR  < NP  , the NR  video requesters cache and watch V  and also become video providers of V  .The number of cached V  in networks is 2 × NR  and the number of V  removed by providers is NP  − NR  .This is as the NP  − NR  providers do not receive the request messages for V  .The variation level of V  distribution during   −   is defined as VL  = NR  /(NP  − NR  ).
returns the number of video subsets included in  V (  ).If the value of ( sub  ) is greater than ( V (  )), Number of nodes interested in V  (): Number of nodes which have cached V  (): Number of nodes which lose interest for V  and have removed V  : Increasing rate of nodes which request V  : Increasing rate of nodes which remove V   V (  ): Set of videos watched by    sub  : A video subset in  V (  )