# A Novel Energy-Efficiency Social-Inspired Video Sharing Solution in Wireless Networks

Authors: Shijie Jia; Youzhong Ma; Yongxin Zhang; Lujie Zhong; Changqiao Xu
Journal: International Journal of Distributed Sensor Networks
 (2015)

---

## Abstract

Mobile multimedia streaming services provide rich-content visual resources for the mobile users via ubiquitous access to Internet. The video resource sharing focuses on the matching of appropriate resource supplier for the resource requesters and is a key issue for P2P-based video system scalability and user quality of experience. In this context, leveraging social-driven interaction between mobile users enables the discovery of common interests to improve video content sharing efficiency. In this paper, we propose a novel energy-efficiency social-inspired video sharing solution in wireless networks (ESVS). By the analysis of historical request behaviors of users, ESVS designs an estimation method of relationship between videos and groups the videos into a chain-based tree structure. Based on the constructed video tree, ESVS designs a hybrid resource lookup algorithm including push and pull and a communication quality-aware selection strategy of video suppliers, which improves the communication capacities between requesters and suppliers and reduces the network bandwidth consumption. Simulation results also show how ESVS achieves higher resource lookup success rate, lower startup delay, less packet loss rate, and lower maintenance cost than another state-of-the-art solution.


---

## Body

## 1. Introduction

Increasing wireless bandwidth and developmental network technologies such as cellular networks, wireless mesh networks, wireless local networks, and mobile ad hoc networks support the deployment of mobile multimedia streaming services for the mobile users via ubiquitous access to Internet [1]. The video streaming is one of most popular multimedia services in Internet and contributes huge network traffic [2]. The increase in the user scale and the demand of watched quality leads to severe consumption of network bandwidth and influences scalability and quality of service (QoS) of multimedia systems. Peer-to-Peer (P2P) technologies construct the logical link between mobile clients to achieve the resource sharing, which relieves the load of media server to improve the system scalability [3–7]. On the other hand, the deployment of P2P-based video systems in wireless networks also needs to address the problems of video delivery performance caused by the mobility of mobile nodes. A key issue is how to improve the scalability and communication capacities of P2P networks in wireless networks in order to promote the quality of experience (QoE) and energy endurance of mobile users [8–12].The existing P2P multimedia streaming solutions in wireless mobile networks still use the traditional structures to manage the video resources. For instance, in QUVoD [13], the nodes which store available resources are grouped into a chained Chord structure where these resources are deployed in 4G networks. QUVoD relies on the DHT-based structure and the similarity of stored resources between nodes to achieve fast location of video content. However, QUVoD does not address the problems of system scalability caused by the increase in the number of mobile nodes. RACOM in our previous work [14] built a mesh overlay network. Each node maintains the state information of multiple nodes in terms of playback state reliability and prediction results of playback content to achieve fast resource search. Although RACOM does not employ flooding search in the whole P2P networks and avoids the high lookup delay, the redundancy link between nodes increases the maintenance cost of nodes and wastes network bandwidth.The video content has very important influence for the user lookup behaviors [15]. For instance, the popular videos attract the large number of users to access them; the videos in the TV series have high access probabilities. Making use of the relationship between videos to group the resources in P2P networks can promote the performance of resource sharing. Finding relationship between videos and regulating the relationship in real time when the user interests change reduces the “distance" between requesters and desired content, which is very important for improving communication capacities of P2P networks.Social networks are emerging technologies, which build the relationship between users in terms of the similarity in the values and interest and family [16–19]. The interaction in social networks mainly includes searching, forwarding, and attention [20]. The searching denotes that the users actively search the content from other contacted users. The forwarding denotes that the users receive and forward the content generated by other contacted users. The attention denotes that the users are willing to receive the content from other users. Obviously, the content sharing in social networks is classified as pull and push (searching is an active pull, and forwarding and attention are the passive push) [21]. The hybrid searching pattern including pull and push speeds up the content dissemination and improves the content sharing efficiency.In this paper, we proposea novel energy-efficiency social-inspired video sharing solution in wireless networks (ESVS). By estimation of similarity between video content and the analysis of request behaviors of users, ESVS calculates the contact levels between videos and clusters the videos into a chain-based tree structure in order to accurately push interested content to the users. ESVS designs a hybrid resource lookup strategy, which makes use of video tree structure to fast search the resource suppliers and accurately push content in terms of user request, which reduces the lookup “distance" between requester and suppliers. Further, by monitoring the communication quality in video data transmission path, the nodes in ESVS dynamically make the switchover between suppliers in order to obtain high video delivery capacities and improve utilization efficiency of network bandwidth. Extensive tests show how ESVS achieves higher resource lookup success rate, lower startup delay, less packet loss rate, and lower maintenance cost than another state-of-the-art solution.


## 2. Related Work

Recently, some solutions focus on the video sharing in wireless mobile networks by making use of content similarity. For instance, QUVoD in [13] makes use of the distributed hash table (DHT) to cluster the nodes which store the same or similar video chunks into a hybrid group-based DHT structure. Therefore the request nodes can obtain the video resources in intragroups instead of the whole DHT structure, which reduces the number of forwarding request messages. However, because the video resources stored by the intragroup nodes are sequential, the request nodes still need to use the DHT structure when they search the chunks which have long “distance” with current played chunks. Moreover, all nodes are grouped into the DHT structure so that the increase in the number of nodes brings high maintenance cost and limits QUVoD’s scalability. In SURFNet [22], the nodes with long online time form an AVL tree and store the superchunk (relatively long length). The other nodes store short video chunks relative to the superchunk and form the chains which are attached to the corresponding nodes in the AVL tree in terms of the similarity with the superchunk. SURFNet makes use of the hybrid structure to improve lookup performance of video content and balance the node load. However, SURFNet also has the same problem with QUVoD for the system scalability; namely, the increase in the number of nodes in overlay networks brings huge maintenance cost of overlay networks. RACOM [14] enables the nodes to build the logical link in terms of the contact level between video chunks. Because the nodes implement the autonomous management for the logical link, the system has high scalability. However, the increase in the number of nodes leads to fast rise in the number of the logical links (including the large number of redundancy links), which brings high maintenance cost for the link and causes the overload of nodes. QUVoD, SURFNet, and RACOM make use of the similarity between content to construct the P2P networks and obtain high gains for the resource lookup. However, these solutions only estimate the content similarities between chunks in the same video but do not address the similarities between videos.Some social network-based content (video) sharing solutions address the estimation of similarity between content well. SPOON [23] extracts the keywords from the name of files stored by the mobile nodes to construct interest vectors of nodes. The nodes make use of the vector angle cosine to calculate the similarity level of interests between nodes. SPOON further makes use of the common interest and interaction to estimate the contact level between mobile nodes and constructs the node communities. SPOON assigns the role for the community members in order to address the resource request. However, SPOON does not mention the estimation method of interaction in detail. Moreover, the calculation of interest similarity between nodes only relies on the keywords of file name. It is difficult to ensure high accuracy of interest similarity estimation, which leads to fragile community structure and brings negative influence for system scalability and resource lookup performance. SocialTube estimates interest similarity level according to the number in the intersection of watched videos between source nodes and users [24]. A source node and multiple users which have high interest similarity level form a node group where the users are classified into follower and nonfollower according to the similarity level. The source nodes push some video content to the users, which promotes the resource sharing efficiency. However, SocialTube employs the similarity estimation method based on the number of watched videos. It is difficult to capture real common interests, which leads to the low resource push success rate. The relationship between source nodes and users is easily influenced by the change of the video content of source nodes and dynamic user interests; namely, the fragile member relationship also brings high maintenance cost of member state and low efficiency of content sharing. NetTube considers that the users which request and download the same video have common interests and form a node community (swarm) [25]. When the members in community change current watched videos, they move to another community. The construction cost is low for the community structure, and the relationship estimation and state maintenance of members have low complexity. However, NetTube also has some disadvantages, such as high maintenance cost of contacts between communities and low efficiency of resource lookup.Based on the above analysis, the estimation method of relationship between nodes is very important for the stability of community structure and the efficiency of resource sharing. Another key issue is how to handle the change of user interests. This is because the change causes the reconstruction of P2P network topologies and the assignment of suppliers, which consumes the large number of network bandwidths and resources of computing and storage of nodes. Therefore, we investigate the content-based similarity between videos and the playback behavior of users to estimate the contact levels between videos. Making use of accurate relationship between videos can construct the stable P2P network topologies, ensuring resource sharing efficiency (e.g., high success rate of video lookup and push reduces the number of forwarding request messages, which improve the utilization efficiency of network bandwidth) and system scalability (e.g., low maintenance cost). Moreover, the estimation of communication quality in the data transmission path can also achieve bandwidth-saving (e.g., the decrease in the retransmission of data for TCP protocol) and low startup delay, which improves the energy utilization of mobile nodes.


## 3. ESVS Detailed Design

The media server has strong capacities of computing, storage, and high bandwidth relative to the nodes in P2P networks and uses stored original video resourcesV
S
=
(
v
1
,
v
2
,
…
,
v
n
) to provide initial streaming data for the request nodes. When a mobile node n
i requests a video, it sends a request message to the media server. The server records the information of n
i into a node list N
S, including requested video file and node ID, and assigns a supplier for n
i from N
S. When n
i receives the video data from the assigned supplier, it has joined into the system. If n
i makes the change in the playback content, it preferentially searches the content suppliers from the P2P networks. If n
i quits the system, it sends a message containing the information of played content and playback time to the server. The server collects the information of playback behaviors of all nodes to analyze the relationship between video content in order to enhance the accuracy of content push and resource lookup success rate.


### 3.1. Analysis of User Lookup Behavior

The interest drives the users to request different video content, so there is the relationship between content and user interest. Letv
i
=
(
n
a
m
i
,
a
c
t
i
,
i
n
t
r
o
i
) denote a video where n
a
m
i, a
c
t
i, and i
n
t
r
o
i are the name, actor, and introduction of v
i, respectively. The feature-based definition method not only can accurately describe the information of video, but also makes it easy to match the similarity between videos. Because the feature items are denoted by text, we extract the feature word and use the vector angle cosine to calculate the similarity between items. For instance, the similarity between name of two videos v
i and v
j is defined as(1)
S
n
a
m
i
,
n
a
m
j
=
f
w
→
i
·
f
w
→
j
f
w
i
·
f
w
j
.The similarity for other feature items ofv
i and v
j uses the above calculation method of n
a
m
i. The video name and actor are key factors for the attraction of user access; namely, the attention levels of video name and actor for the users are more than those of introduction. Therefore, we assign different weight values for three feature items in the following calculation equation of video similarity:(2)
S
v
i
,
v
j
=
S
n
a
m
α
×
S
a
c
t
β
×
S
i
n
t
r
o
γ
,where α, β, and γ are the weight value of name, actor, and introduction and meet the constraint condition: α
,
β
,
γ
∈
(
0,1
), α
=
β
<
γ, and α
+
β
+
γ
=
1. The high similarity between v
i and v
j denotes that the probability of user access to v
i is high when the users are interested in v
j. The content similarity of two videos supports the construction of relationship between videos. ESVS makes use of the relationship to build the one-to-many mapping between videos; namely, a video v
i builds multiple contacts with other videos which have high similarity with v
i.Except the relationship between videos based on the content similarity, the user request behaviors also describe the potential contact between videos. After a user has watched current video, she/he requests another video; namely, the request behaviors are considered as an access path. For instance, letL
S
=
(
l
o
g
1
,
l
o
g
2
,
…
,
l
o
g
m
) denote the playback log set where any item l
o
g
i
=
(
v
a
,
v
b
,
v
c
,
…
,
v
k
) is a playback log of a node n
i (l
o
g
i denotes the accessed content of a user). The accessed content is considered as an access path v
a
→
v
b
→
v
c
⋯
v
k. v
b have the direct contact with v
a and v
c; namely, the user probably accesses v
b due to watched v
a; v
a has indirect contact with v
c, where v
a and v
c have two-hop distance. The request behaviors (playback logs) are stored by the nodes and are sent to the server when the nodes quit the system. The server analyzes the collected playback logs to build the relationship between videos and estimates the probability of jump from a video to another video. The distance between two videos v
i and v
j in l
o
g
k (l
o
g
k includes v
i and v
j) denotes the tight level of contact and is defined as(3)
τ
i
j
l
o
g
k
=
1
D
l
o
g
k
v
i
,
v
j
δ
,
τ
i
j
∈
0,1
,
δ
∈
0
,
+
∞
,where D
l
o
g
k
(
v
i
,
v
j
) returns the number of hops between v
i and v
j in l
o
g
k and δ is an impact factor to control the decrease process of τ
i
j
l
o
g
k. With the increase in the distance between two videos, the tight levels of contacts decrease; otherwise, the near distance denotes that two videos have high levels in the contact compactness. The cumulative sum of tight level in all logs which include v
i and v
j is defined as(4)
τ
^
i
j
=
∑
c
=
1
u
τ
i
j
l
o
g
c
,where u is the total number of logs which include v
i and v
j. On the other hand, we consider the similarity between two videos as the estimation parameter for the calculation of video push probability. The push of similar videos in terms of current playback content of users also improves the push success rate. We employ a playback behavior-based video similarity estimation method, namely, a transitive similarity. For instance, v
a and v
c have two-hop distance in l
o
g
k and the transitive similarity between v
a and v
c is defined as S
(
v
a
,
v
b
)
×
S
(
v
b
,
v
c
). The transitive similarity of any two videos in the same log is defined as(5)
η
i
j
l
o
g
k
=
∏
c
=
i
D
l
o
g
k
v
i
,
v
j
s
i
m
v
c
,
v
c
+
1
.Further, the cumulative sum of tight level in all logs which includev
i and v
j is defined as(6)
η
^
i
j
=
∑
c
=
1
u
η
i
j
l
o
g
c
.The cumulative sum of distance and transitive similarity ofv
i and other contacted videos can be obtained according to the above method. We use ant colony algorithm to calculate the probability of access between v
i and v
j according to the following equation: (7)
P
v
i
,
v
j
=
τ
^
i
j
λ
×
η
^
i
j
μ
∑
c
=
1
s
τ
^
i
c
λ
×
η
^
i
c
μ
,
P
v
i
,
v
j
∈
0,1
,
λ
,
μ
∈
0,1
,where s is the number of videos which have the contact with v
i; λ and μ are the impact factors of τ and η, respectively; and P
(
v
i
,
v
j
) denotes the probability of watching v
j when the users are playing v
i. The video set whose items have the contact with any video v
i is defined as S
v
i
=
(
v
a
,
v
b
,
…
,
v
h
) where v
i is the head item of S
v
i and all items in S
v
i are sorted following descending order in terms of the access probability. When a user requests v
i, the supplier recommends the items in S
v
i in order to improve the sharing efficiency. Based on the above method, the server can obtain the contacted video set of all videos.


### 3.2. Video Clustering-Based Node Community

The video clustering actually is to build a resource distribution mode in order to obtain optimal resource lookup performance. Before the video clustering, ESVS preprocesses the videos by a self-learning process. A video may keep the contact with multiple videos in other video sets. For instance,S
v
i and S
v
k include v
j, and v
i and v
k have the contact with v
j. When a node n
a searches v
i and v
k, v
j is repeatedly recommended to n
a. Obviously, the low-efficiency push wastes network bandwidth and computing resources of nodes. We hope that the content push has high success rate in terms of user interests; namely, the push content meets the user demand when the users search other videos. We need to eliminate the “noise" contacts between videos to enable the videos to have single contact between videos in terms of the access probability. For instance, v
i and v
j have higher P
(
v
i
,
v
j
) than P
(
v
k
,
v
j
) of v
k and v
j; namely, the push success rate with the high access probability is larger than that with low probability. Therefore, the items with low access probability in the contacted video set are considered as noise items which should be removed in terms of the following rule.Rule 1.
Ifv
i and v
k have the same item v
j in the contacted video set and P
(
v
i
,
v
j
)
>
P
(
v
k
,
v
j
), v
k deletes the contact with v
j and S
v
k removes v
j.By the elimination of noise contact according to Rule1, any video v
i only keeps single contact with v
j which has the highest access probability with v
i compared to that of other videos. By the iteration of elimination of noise contact, there are some sets which only have head items. Therefore, we consider the mergence of video sets by the following rule.Rule 2.
IfS
v
j only has single item v
j and v
i has the highest access probability with v
j compared to that of other videos, S
v
j is merged into S
v
i.By the iteration of set mergence in terms of Rule2, the merged sets meet the requirement: the union set of all items (including head items) in merged sets is equal to V
S; namely, (
v
a
∪
S
v
a
)
∪
(
v
b
∪
S
v
b
)
⋯
(
v
k
∪
S
v
k
)
=
V
S. Any set forms a video cluster in terms of video similarity and playback behaviors. For instance, S
v
i forms a cluster C
v
i where v
i still acts as the head item of C
v
i. The head items in all clusters form a binary tree and the other items in clusters build a chain and connect with corresponding head items. The group strategy for the nodes in the binary tree relies on the cumulative sum of popularities of cluster members according to the following equation:(8)
p
C
i
=
∑
e
=
1
C
i
f
v
e
∑
c
=
1
n
f
v
c
,where f is the access frequency of video; C
i returns the number of videos in C
i and n is the number of all videos; ∑
e
=
1
C
i
f
v
e denotes the cumulative sum of popularities of all items in C
i. All clusters are reordered in terms of their popularities, namely, (
C
v
a
,
C
v
b
,
C
v
c
,
…
,
C
v
k
). The head item in cluster C
v
a which has the largest cumulative popularities compared to other clusters becomes the tree root node and the other members in C
v
a form a chain and connect with v
a. v
b and v
c are the left and right children of v
a, respectively; namely, the left child has higher cluster popularities than those of right child. Based on the above method, we group the surplus head items into the binary tree in terms of the popularities. The nodes which play the same video form a node community which includes one or multiple broker members and ordinary members. For instance, a node subset N
C
v
a
=
(
n
i
,
n
j
,
…
,
n
k
) forms the community corresponding to v
a. Because v
a is the head item in C
v
a and has the contacts with other items in C
v
a, N
C
v
a has multiple broker nodes to maintain the contacts with the broker nodes in communities corresponding to other items in C
v
a. Moreover, N
C
v
a also has two broker nodes to maintain the contacts with the broker nodes of N
C
v
b and N
C
v
c corresponding to v
b and v
c. The communities corresponding to other items in C
v
a only have one broker node to keep the contact with any broker node in N
C
v
a. As Figure 1 shows, N
C
v
a, which is the tree root, locates at the top layer and keeps the contacts with the left and right children N
C
v
b and N
C
v
c at the second layer; N
C
v
u and N
C
v
t form a chain and assign the broker members to maintain the contacts with N
C
v
a.Figure 1
Chain-based binary tree.The node communities at the high layers have high levels in popularities and access probabilities of video content and rely on short logical distance in tree to achieve fast resource location.(
1
) Making use of the popularities to define the relationship between node communities in tree enables the videos with high-frequency access to keep the tight contacts. For instance, the members in N
C
v
u search v
x and the request messages are quickly forwarded by the direct contact between N
C
v
a and N
C
v
b, which reduces the resource lookup delay. (
2
) The integration for the node communities corresponding to videos with high access probabilities at the same layer not only reduces the lookup delay, but also improves the lookup success rate. For instance, the request messages for v
u or v
t only need to be forwarded by the broker members in N
C
v
a. (
3
) The clustering and merging of videos reduces the number of nodes in tree (limits the height of tree); namely, the decrease in the number of rely nodes in the process of forwarding request message reduces the resource lookup delay.


### 3.3. Hybrid Searching

The node communities have one or multiple broker members according to the number of contacts between communities. If a communityN
C
v
u only has one broker member n
i, n
i needs to maintain the state of ordinary members and the broker member n
j in another community N
C
v
a which keeps the contact with N
C
v
u. The resource lookup for the mobile nodes and the members in N
C
v
a and other communities relies on n
i.(1)
When the mobile nodes requestv
u and send request messages to the server, the server records the information of request nodes into N
S and returns the response messages containing the information of suppliers. Because the server does not maintain the real-time state of nodes, the request nodes need to inquire current state of multiple suppliers. The request nodes connect with available suppliers and receive video data and the suppliers forward the information of request nodes to n
i. n
i records the information of the request nodes which become ordinary members of N
C
v
u, including the node ID and stored videos. Moreover, n
i pushes the videos to the request nodes most likely to be interested in them by sending a message containing the information of videos and broker members corresponding to the communities contacted with N
C
v
u.
(2)
When the members inN
C
v
a request v
u, n
j receives the request messages, adds its own information into the messages, and forwards the messages to n
i. The latter assigns the suppliers and records the information of request nodes and resource lookup path (the information of relay nodes in forwarded path of request messages). Because N
C
v
u only keeps the contact with N
C
v
a, n
i does not push the videos to the request nodes.
(3)
If the members inN
C
v
x request v
u, the request messages are firstly forwarded to the broker member n
k of N
C
v
b, where n
k is responsible for maintaining the contact with N
C
v
b. n
k continues to forward the request messages to the broker member n
h in N
C
v
a where n
h is responsible for maintaining the contact with N
C
v
b. When n
h finds that v
u is a member in the attaching chain, n
h pushes the information of v
a and other videos in the chain to the request nodes and forwards the request message to n
i. n
i receives the request messages from n
h, records the information of request nodes and resource lookup path, and returns a message including the information of suppliers.If a community has multiple broker members, these broker members have different task. For instance,n
j is a broker member of N
C
v
a and is responsible for maintaining the state of the broker member n
i of N
C
v
u. n
j receives and handles the request messages from the nodes in N
C
v
u or other communities, assigns the suppliers and pushes the video content for the request nodes, and maintains the state of the request nodes. n
j exchanges the information of broker members of other connected communities in order to fast forward request messages. The fast resource lookup can reduce the startup delay and improve user QoE.Once the request nodes become new members, they record the information of broker members in current communities in order to search other resources. If the request nodes are interested in pushed videos, they send the request messages to corresponding broker members and prefetch the video content into local prefetching buffer and also become the members of communities corresponding to the prefetched videos. Because any node may become the member of multiple communities and record the information of broker members of these communities, it bridges these communities and acts as the associate broker member of communities. The associate broker members share responsibility for the load of broker members (e.g., forwarding request messages and maintaining members), which further improves the scalability and resource sharing efficiency of systems [26]. Moreover, the request nodes also calculate the push success rate according to(9)
R
P
i
j
=
f
i
j
s
f
i
j
p
,where f
v
j
s is the number of successful pushes of v
j, f
v
j
p is the total number of pushing v
i, and R
P
v
i denotes the success rate of pushing v
j when the nodes request v
i. The statistical information of push success rate is sent to the server when the nodes quit the system. The server receives the information of resource lookup path when the broker members quit the system or become the ordinary members in other communities. In order to timely make the regulation for the tree structure in terms of the variation of user interests, the server makes use of the push success rate and the information of resource lookup path to recalculate the access probability between two videos by transforming (7):(10)
P
v
i
,
v
j
=
R
P
i
j
×
τ
^
i
j
λ
×
η
^
i
j
μ
∑
c
=
1
s
τ
^
i
c
λ
×
η
^
i
c
μ
.In order to reduce the calculation load, the server calculates the access probability among all videos according to the period timeT
u and regulates the tree structure and attached chains. The chain-based tree structure makes use of the content similarity levels to group the videos. The change of video relationship in tree relies on the recalculation of video access probability, which ensures the high stability of tree structure by setting T
u. Although the dynamic user demand causes the node movement between communities, the changes of community structure do not bring any influence for the tree structure. Moreover, the videos in chain have high similarity levels in content, so the movement of nodes is kept in small range, which improves the content lookup efficiency. On the other hand, the high-efficiency delivery of video content also is very important for the user QoE. In wireless heterogeneous networks, the complex network environment and node mobility bring very severe negative effects for the delivery of video content. For instance, the fast increase in the data traffic of transmission path results in the network congestion. The large number of video data losses causes severe video distortion, which reduces the user QoE. Due to the node mobility, the transmission distance change from one hop to multiple hops leads to the increase in the risk of decrease of transmission performance. ESVS employs a periodical estimation method of communication quality of transmission path to ensure high delivery performance according to our previous work [27, 28]. When the packet loss rate in the transmission path is higher than threshold T
l, the video data receivers disconnect from the suppliers and search new suppliers. In order to avoid the jitter for the assignment of suppliers, the broker members return the information of multiple suppliers for the request nodes. The latter selects the optimal suppliers in terms of the delivery capacities.The change of played content causes the movement of nodes from a community to another community, namely, the mapping relationship between the members and a community changes to another community. For instance, when a membern
d in a community N
C
v
u changes current played content from v
u to v
a, n
i moves from N
C
v
u to N
C
v
a and becomes new member of N
C
v
a. The broker member n
j in N
C
v
a maintains the state of n
d. If a community has multiple broker members (multiple contacts with other communities), the maintenance cost for the member state is distributed to multiple broker members, which avoids the overload of broker members and improves the scalability of communities. The communities with single broker member have lower node traffic than those with multiple broker members. On the other hand, if the communities with single broker member have high popularities, the high node traffic also leads to the increase in the load of broker members (even if the associate broker members share responsibility for the load of broker members). Therefore, we define a replacement period time [
cos
⁡
1
/
p
v
i
-
1
]
×
(
L
v
i
-
T
p
) of broker members for any community corresponding to v
i. p
v
i
∈
(
0,1
) is the popularity of v
i, L
v
i is the length of v
i, and T
p denotes the playback point when a community member becomes the broker member. Due to cos
⁡
(
1
/
p
v
i
)
-
1
∈
(
0,0.57
), the popularity-based replacement can avoid the overload of broker members in energy. When the broker members leave current communities or quit the system, they select new broker members from the maintained members. The new members which have long online time preferentially are selected as the new broker members. The long online time denotes that the members have stable playback state, which avoids the jitter of replacement of broker members.


## 3.1. Analysis of User Lookup Behavior

The interest drives the users to request different video content, so there is the relationship between content and user interest. Letv
i
=
(
n
a
m
i
,
a
c
t
i
,
i
n
t
r
o
i
) denote a video where n
a
m
i, a
c
t
i, and i
n
t
r
o
i are the name, actor, and introduction of v
i, respectively. The feature-based definition method not only can accurately describe the information of video, but also makes it easy to match the similarity between videos. Because the feature items are denoted by text, we extract the feature word and use the vector angle cosine to calculate the similarity between items. For instance, the similarity between name of two videos v
i and v
j is defined as(1)
S
n
a
m
i
,
n
a
m
j
=
f
w
→
i
·
f
w
→
j
f
w
i
·
f
w
j
.The similarity for other feature items ofv
i and v
j uses the above calculation method of n
a
m
i. The video name and actor are key factors for the attraction of user access; namely, the attention levels of video name and actor for the users are more than those of introduction. Therefore, we assign different weight values for three feature items in the following calculation equation of video similarity:(2)
S
v
i
,
v
j
=
S
n
a
m
α
×
S
a
c
t
β
×
S
i
n
t
r
o
γ
,where α, β, and γ are the weight value of name, actor, and introduction and meet the constraint condition: α
,
β
,
γ
∈
(
0,1
), α
=
β
<
γ, and α
+
β
+
γ
=
1. The high similarity between v
i and v
j denotes that the probability of user access to v
i is high when the users are interested in v
j. The content similarity of two videos supports the construction of relationship between videos. ESVS makes use of the relationship to build the one-to-many mapping between videos; namely, a video v
i builds multiple contacts with other videos which have high similarity with v
i.Except the relationship between videos based on the content similarity, the user request behaviors also describe the potential contact between videos. After a user has watched current video, she/he requests another video; namely, the request behaviors are considered as an access path. For instance, letL
S
=
(
l
o
g
1
,
l
o
g
2
,
…
,
l
o
g
m
) denote the playback log set where any item l
o
g
i
=
(
v
a
,
v
b
,
v
c
,
…
,
v
k
) is a playback log of a node n
i (l
o
g
i denotes the accessed content of a user). The accessed content is considered as an access path v
a
→
v
b
→
v
c
⋯
v
k. v
b have the direct contact with v
a and v
c; namely, the user probably accesses v
b due to watched v
a; v
a has indirect contact with v
c, where v
a and v
c have two-hop distance. The request behaviors (playback logs) are stored by the nodes and are sent to the server when the nodes quit the system. The server analyzes the collected playback logs to build the relationship between videos and estimates the probability of jump from a video to another video. The distance between two videos v
i and v
j in l
o
g
k (l
o
g
k includes v
i and v
j) denotes the tight level of contact and is defined as(3)
τ
i
j
l
o
g
k
=
1
D
l
o
g
k
v
i
,
v
j
δ
,
τ
i
j
∈
0,1
,
δ
∈
0
,
+
∞
,where D
l
o
g
k
(
v
i
,
v
j
) returns the number of hops between v
i and v
j in l
o
g
k and δ is an impact factor to control the decrease process of τ
i
j
l
o
g
k. With the increase in the distance between two videos, the tight levels of contacts decrease; otherwise, the near distance denotes that two videos have high levels in the contact compactness. The cumulative sum of tight level in all logs which include v
i and v
j is defined as(4)
τ
^
i
j
=
∑
c
=
1
u
τ
i
j
l
o
g
c
,where u is the total number of logs which include v
i and v
j. On the other hand, we consider the similarity between two videos as the estimation parameter for the calculation of video push probability. The push of similar videos in terms of current playback content of users also improves the push success rate. We employ a playback behavior-based video similarity estimation method, namely, a transitive similarity. For instance, v
a and v
c have two-hop distance in l
o
g
k and the transitive similarity between v
a and v
c is defined as S
(
v
a
,
v
b
)
×
S
(
v
b
,
v
c
). The transitive similarity of any two videos in the same log is defined as(5)
η
i
j
l
o
g
k
=
∏
c
=
i
D
l
o
g
k
v
i
,
v
j
s
i
m
v
c
,
v
c
+
1
.Further, the cumulative sum of tight level in all logs which includev
i and v
j is defined as(6)
η
^
i
j
=
∑
c
=
1
u
η
i
j
l
o
g
c
.The cumulative sum of distance and transitive similarity ofv
i and other contacted videos can be obtained according to the above method. We use ant colony algorithm to calculate the probability of access between v
i and v
j according to the following equation: (7)
P
v
i
,
v
j
=
τ
^
i
j
λ
×
η
^
i
j
μ
∑
c
=
1
s
τ
^
i
c
λ
×
η
^
i
c
μ
,
P
v
i
,
v
j
∈
0,1
,
λ
,
μ
∈
0,1
,where s is the number of videos which have the contact with v
i; λ and μ are the impact factors of τ and η, respectively; and P
(
v
i
,
v
j
) denotes the probability of watching v
j when the users are playing v
i. The video set whose items have the contact with any video v
i is defined as S
v
i
=
(
v
a
,
v
b
,
…
,
v
h
) where v
i is the head item of S
v
i and all items in S
v
i are sorted following descending order in terms of the access probability. When a user requests v
i, the supplier recommends the items in S
v
i in order to improve the sharing efficiency. Based on the above method, the server can obtain the contacted video set of all videos.


## 3.2. Video Clustering-Based Node Community

The video clustering actually is to build a resource distribution mode in order to obtain optimal resource lookup performance. Before the video clustering, ESVS preprocesses the videos by a self-learning process. A video may keep the contact with multiple videos in other video sets. For instance,S
v
i and S
v
k include v
j, and v
i and v
k have the contact with v
j. When a node n
a searches v
i and v
k, v
j is repeatedly recommended to n
a. Obviously, the low-efficiency push wastes network bandwidth and computing resources of nodes. We hope that the content push has high success rate in terms of user interests; namely, the push content meets the user demand when the users search other videos. We need to eliminate the “noise" contacts between videos to enable the videos to have single contact between videos in terms of the access probability. For instance, v
i and v
j have higher P
(
v
i
,
v
j
) than P
(
v
k
,
v
j
) of v
k and v
j; namely, the push success rate with the high access probability is larger than that with low probability. Therefore, the items with low access probability in the contacted video set are considered as noise items which should be removed in terms of the following rule.Rule 1.
Ifv
i and v
k have the same item v
j in the contacted video set and P
(
v
i
,
v
j
)
>
P
(
v
k
,
v
j
), v
k deletes the contact with v
j and S
v
k removes v
j.By the elimination of noise contact according to Rule1, any video v
i only keeps single contact with v
j which has the highest access probability with v
i compared to that of other videos. By the iteration of elimination of noise contact, there are some sets which only have head items. Therefore, we consider the mergence of video sets by the following rule.Rule 2.
IfS
v
j only has single item v
j and v
i has the highest access probability with v
j compared to that of other videos, S
v
j is merged into S
v
i.By the iteration of set mergence in terms of Rule2, the merged sets meet the requirement: the union set of all items (including head items) in merged sets is equal to V
S; namely, (
v
a
∪
S
v
a
)
∪
(
v
b
∪
S
v
b
)
⋯
(
v
k
∪
S
v
k
)
=
V
S. Any set forms a video cluster in terms of video similarity and playback behaviors. For instance, S
v
i forms a cluster C
v
i where v
i still acts as the head item of C
v
i. The head items in all clusters form a binary tree and the other items in clusters build a chain and connect with corresponding head items. The group strategy for the nodes in the binary tree relies on the cumulative sum of popularities of cluster members according to the following equation:(8)
p
C
i
=
∑
e
=
1
C
i
f
v
e
∑
c
=
1
n
f
v
c
,where f is the access frequency of video; C
i returns the number of videos in C
i and n is the number of all videos; ∑
e
=
1
C
i
f
v
e denotes the cumulative sum of popularities of all items in C
i. All clusters are reordered in terms of their popularities, namely, (
C
v
a
,
C
v
b
,
C
v
c
,
…
,
C
v
k
). The head item in cluster C
v
a which has the largest cumulative popularities compared to other clusters becomes the tree root node and the other members in C
v
a form a chain and connect with v
a. v
b and v
c are the left and right children of v
a, respectively; namely, the left child has higher cluster popularities than those of right child. Based on the above method, we group the surplus head items into the binary tree in terms of the popularities. The nodes which play the same video form a node community which includes one or multiple broker members and ordinary members. For instance, a node subset N
C
v
a
=
(
n
i
,
n
j
,
…
,
n
k
) forms the community corresponding to v
a. Because v
a is the head item in C
v
a and has the contacts with other items in C
v
a, N
C
v
a has multiple broker nodes to maintain the contacts with the broker nodes in communities corresponding to other items in C
v
a. Moreover, N
C
v
a also has two broker nodes to maintain the contacts with the broker nodes of N
C
v
b and N
C
v
c corresponding to v
b and v
c. The communities corresponding to other items in C
v
a only have one broker node to keep the contact with any broker node in N
C
v
a. As Figure 1 shows, N
C
v
a, which is the tree root, locates at the top layer and keeps the contacts with the left and right children N
C
v
b and N
C
v
c at the second layer; N
C
v
u and N
C
v
t form a chain and assign the broker members to maintain the contacts with N
C
v
a.Figure 1
Chain-based binary tree.The node communities at the high layers have high levels in popularities and access probabilities of video content and rely on short logical distance in tree to achieve fast resource location.(
1
) Making use of the popularities to define the relationship between node communities in tree enables the videos with high-frequency access to keep the tight contacts. For instance, the members in N
C
v
u search v
x and the request messages are quickly forwarded by the direct contact between N
C
v
a and N
C
v
b, which reduces the resource lookup delay. (
2
) The integration for the node communities corresponding to videos with high access probabilities at the same layer not only reduces the lookup delay, but also improves the lookup success rate. For instance, the request messages for v
u or v
t only need to be forwarded by the broker members in N
C
v
a. (
3
) The clustering and merging of videos reduces the number of nodes in tree (limits the height of tree); namely, the decrease in the number of rely nodes in the process of forwarding request message reduces the resource lookup delay.


## 3.3. Hybrid Searching

The node communities have one or multiple broker members according to the number of contacts between communities. If a communityN
C
v
u only has one broker member n
i, n
i needs to maintain the state of ordinary members and the broker member n
j in another community N
C
v
a which keeps the contact with N
C
v
u. The resource lookup for the mobile nodes and the members in N
C
v
a and other communities relies on n
i.(1)
When the mobile nodes requestv
u and send request messages to the server, the server records the information of request nodes into N
S and returns the response messages containing the information of suppliers. Because the server does not maintain the real-time state of nodes, the request nodes need to inquire current state of multiple suppliers. The request nodes connect with available suppliers and receive video data and the suppliers forward the information of request nodes to n
i. n
i records the information of the request nodes which become ordinary members of N
C
v
u, including the node ID and stored videos. Moreover, n
i pushes the videos to the request nodes most likely to be interested in them by sending a message containing the information of videos and broker members corresponding to the communities contacted with N
C
v
u.
(2)
When the members inN
C
v
a request v
u, n
j receives the request messages, adds its own information into the messages, and forwards the messages to n
i. The latter assigns the suppliers and records the information of request nodes and resource lookup path (the information of relay nodes in forwarded path of request messages). Because N
C
v
u only keeps the contact with N
C
v
a, n
i does not push the videos to the request nodes.
(3)
If the members inN
C
v
x request v
u, the request messages are firstly forwarded to the broker member n
k of N
C
v
b, where n
k is responsible for maintaining the contact with N
C
v
b. n
k continues to forward the request messages to the broker member n
h in N
C
v
a where n
h is responsible for maintaining the contact with N
C
v
b. When n
h finds that v
u is a member in the attaching chain, n
h pushes the information of v
a and other videos in the chain to the request nodes and forwards the request message to n
i. n
i receives the request messages from n
h, records the information of request nodes and resource lookup path, and returns a message including the information of suppliers.If a community has multiple broker members, these broker members have different task. For instance,n
j is a broker member of N
C
v
a and is responsible for maintaining the state of the broker member n
i of N
C
v
u. n
j receives and handles the request messages from the nodes in N
C
v
u or other communities, assigns the suppliers and pushes the video content for the request nodes, and maintains the state of the request nodes. n
j exchanges the information of broker members of other connected communities in order to fast forward request messages. The fast resource lookup can reduce the startup delay and improve user QoE.Once the request nodes become new members, they record the information of broker members in current communities in order to search other resources. If the request nodes are interested in pushed videos, they send the request messages to corresponding broker members and prefetch the video content into local prefetching buffer and also become the members of communities corresponding to the prefetched videos. Because any node may become the member of multiple communities and record the information of broker members of these communities, it bridges these communities and acts as the associate broker member of communities. The associate broker members share responsibility for the load of broker members (e.g., forwarding request messages and maintaining members), which further improves the scalability and resource sharing efficiency of systems [26]. Moreover, the request nodes also calculate the push success rate according to(9)
R
P
i
j
=
f
i
j
s
f
i
j
p
,where f
v
j
s is the number of successful pushes of v
j, f
v
j
p is the total number of pushing v
i, and R
P
v
i denotes the success rate of pushing v
j when the nodes request v
i. The statistical information of push success rate is sent to the server when the nodes quit the system. The server receives the information of resource lookup path when the broker members quit the system or become the ordinary members in other communities. In order to timely make the regulation for the tree structure in terms of the variation of user interests, the server makes use of the push success rate and the information of resource lookup path to recalculate the access probability between two videos by transforming (7):(10)
P
v
i
,
v
j
=
R
P
i
j
×
τ
^
i
j
λ
×
η
^
i
j
μ
∑
c
=
1
s
τ
^
i
c
λ
×
η
^
i
c
μ
.In order to reduce the calculation load, the server calculates the access probability among all videos according to the period timeT
u and regulates the tree structure and attached chains. The chain-based tree structure makes use of the content similarity levels to group the videos. The change of video relationship in tree relies on the recalculation of video access probability, which ensures the high stability of tree structure by setting T
u. Although the dynamic user demand causes the node movement between communities, the changes of community structure do not bring any influence for the tree structure. Moreover, the videos in chain have high similarity levels in content, so the movement of nodes is kept in small range, which improves the content lookup efficiency. On the other hand, the high-efficiency delivery of video content also is very important for the user QoE. In wireless heterogeneous networks, the complex network environment and node mobility bring very severe negative effects for the delivery of video content. For instance, the fast increase in the data traffic of transmission path results in the network congestion. The large number of video data losses causes severe video distortion, which reduces the user QoE. Due to the node mobility, the transmission distance change from one hop to multiple hops leads to the increase in the risk of decrease of transmission performance. ESVS employs a periodical estimation method of communication quality of transmission path to ensure high delivery performance according to our previous work [27, 28]. When the packet loss rate in the transmission path is higher than threshold T
l, the video data receivers disconnect from the suppliers and search new suppliers. In order to avoid the jitter for the assignment of suppliers, the broker members return the information of multiple suppliers for the request nodes. The latter selects the optimal suppliers in terms of the delivery capacities.The change of played content causes the movement of nodes from a community to another community, namely, the mapping relationship between the members and a community changes to another community. For instance, when a membern
d in a community N
C
v
u changes current played content from v
u to v
a, n
i moves from N
C
v
u to N
C
v
a and becomes new member of N
C
v
a. The broker member n
j in N
C
v
a maintains the state of n
d. If a community has multiple broker members (multiple contacts with other communities), the maintenance cost for the member state is distributed to multiple broker members, which avoids the overload of broker members and improves the scalability of communities. The communities with single broker member have lower node traffic than those with multiple broker members. On the other hand, if the communities with single broker member have high popularities, the high node traffic also leads to the increase in the load of broker members (even if the associate broker members share responsibility for the load of broker members). Therefore, we define a replacement period time [
cos
⁡
1
/
p
v
i
-
1
]
×
(
L
v
i
-
T
p
) of broker members for any community corresponding to v
i. p
v
i
∈
(
0,1
) is the popularity of v
i, L
v
i is the length of v
i, and T
p denotes the playback point when a community member becomes the broker member. Due to cos
⁡
(
1
/
p
v
i
)
-
1
∈
(
0,0.57
), the popularity-based replacement can avoid the overload of broker members in energy. When the broker members leave current communities or quit the system, they select new broker members from the maintained members. The new members which have long online time preferentially are selected as the new broker members. The long online time denotes that the members have stable playback state, which avoids the jitter of replacement of broker members.


## 4. Testing and Test Results Analysis

### 4.1. Simulation Settings and Scenarios

We compare the performance of ESVS with a state-of-the-art solution SURFNet [22]. ESVS and SURFNet are deployed in the wireless network whose settings are described in Table 1. The two solutions are modeled and implemented in NS-2. The media server stores 100 video files and the length of each file is set to 100 s. The initial target location and speed of 300 mobile nodes are randomly assigned. When the mobile nodes arrive at the assigned target location, they continue to move according to the reassigned target location and speed. We generate the information of 100 videos (including name, actor, and introduction) and 20,200 playback logs (including played video ID and watched time) where the video information and 20,000 playback logs are used to calculate the access probabilities between videos. 200 mobile nodes join the system following Poisson distribution and play video content following generated 200 logs where the popularities of played content meet the Zipf distribution and 50 nodes play 4 video files during the whole simulation time. When any node finishes the playback, it quits the system. In ESVS, the value of threshold T
l is set to 0.35. Before starting the simulation, the chain-based tree structure of ESVS has been built; namely, the logical relationship between videos has been defined. When the mobile nodes join the system, they form the communities corresponding to the played videos. In SURFNet, the nodes which have the long online time form AVL tree and the nodes which play the same video form a chain and attach the corresponding nodes in AVL tree.Table 1
Simulation parameter setting for wireless network.
Parameters
Values
Area
1000 × 1000 m2
Channel
Channel/WirelessChannel
Network interface
Phy/WirelessPhyExt
MAC interface
Mac/802_11
Number of mobile nodes
300
Number of mobile nodes playing video
200
Mobile speed range of nodes
[0, 30] m/s
Simulation time
500 s
Signal range of mobile nodes
200 m
Default distance between server and nodes
6 hops
Transmission protocol
UDP
Wireless routing protocol
DSR
Bandwidth of server
20 Mb/s
Bandwidth of mobile nodes
10 Mb/s
Transmission rate of video data
128 kb/s
Travel direction of mobile nodes
Random
Pause time of mobile nodes
0 s


### 4.2. Performance Evaluation

The performance of ESVS is compared with that of SURFNet in terms of average resource lookup success rate (ARLSR), startup delay, packet loss rate (PLR), and maintenance cost, respectively.(
1) ARLSR. The event-request nodes send the lookup messages and successfully obtain the video content from the P2P network which is defined as a success lookup. The ratio between the number of successful lookups and the total number of lookups denotes the resource lookup success rate. The mean values of resource lookup success rate during a time interval of 50 s and the process of node joining the system are shown in Figures 2 and 3, respectively.Figure 2
ARLSR against simulation time.Figure 3
ARLSR against number of nodes.As Figure2 shows, the two curves corresponding to the results of ESVS and SURFNet have a fast increase trend during the whole simulation time. SURFNet curve keeps fast rise from t
=
50 s to t
=
250 s and maintains a relatively slow increase from t
=
300 s to t
=
500 s. ESVS curve has a relatively slow increase after a fast rise from t
=
50 s to t
=
300 s. The increment and peak value (83.8%) of ESVS are larger than those of SURFNet.Figure3 also shows the increase trend of two curves with increasing number of nodes. The blue curve of SURFNet maintains a fast rise during the process of node joining the system, but it also has an obvious fluctuation. ESVS curve keeps higher levels than that of SURFNet and has larger increment and peak value than those of SURFNet.In SURFNet, the nodes with long online time are grouped into an AVL tree and the other nodes which store the same videos with the nodes in tree form the chain and attach the tree. In initial simulation, the nodes which have joined the system firstly form the AVL tree and obtain the video resources from the media server. Therefore, the values of SURFNet ARLSR keep the low levels. The increase in the number of nodes provides the relatively enough available resources for the new system members so that the values of SURFNet ARLSR maintain fast rise. The change of user interests for the video content brings the uncertainty of resource demand; namely, some nodes still do not obtain the requested resources from the P2P network and only receive the video data from the server. Therefore, the ARLSR results of SURFNet keep a stable slight increment after the fast increase. ESVS groups the videos into a chain-based tree structure and enables the nodes to form the communities corresponding to the played videos. Moreover, the nodes prefetch the videos of interest into local buffer and make use of prefetched resource to serve other nodes; namely, the prefetched content increases the available resources in the P2P network. Therefore, the curve corresponding to the results of ESVS ARLSR keeps the fast rise and has higher increment than that of SURFNet.(
2) Startup Delay. The difference values between the time of sending request message and receiving first video data are defined as the startup delay. The mean values of startup delay during a time interval 50 s and the process of node joining the system are shown in Figures 4 and 5, respectively.Figure 4
Startup delay against simulation time.Figure 5
Startup delay against number of nodes.As Figure4 shows, the two curves corresponding to ESVS and SURFNet have two fluctuation processes during the whole simulation time. The blue curve of SURFNet experiences a slight fluctuation from t
=
50 s to t
=
200 s, starts to quickly increase from t
=
200 s to t
=
400 s, and shows the fast fall from t
=
400 s to t
=
500 s. The red curve of ESVS has a slight increase from t
=
50 s to t
=
100 s and quickly decreases from t
=
100 s to t
=
200 s. The curve also keeps a fast rise trend from t
=
200 s to t
=
350 s and maintains the fall from t
=
350 s to t
=
500 s. The curve of ESVS keeps lower level than that of SURFNet and has less peak value (2.87 s) than that (3.32 s) of SURFNet.Figure5 shows the variation process of two curves with increasing number of nodes. The curve of SURFNet has a rise trend with relatively severe fluctuation and reaches peak value (2.95 s) when the number of nodes is 160. The curve of ESVS also has severe fluctuation in the rise process but keeps lower level than that of SURFNet and has lower peak value (2.53 s) than that of SURFNet.In SURFNet, forwarding the request message relies on the nodes in the AVL tree; namely, the nodes in tree make use of the predefined parent-child relationship to relay the request messages. The more the number of relay nodes is, the longer the startup delay is. SURFNet can obtain low lookup delay by making use of the AVL tree structure. With the increase in the number of nodes, the amount of video streaming in network also quickly increases, which leads to the network congestion. Therefore, the startup delay results of SURFNet show a fast rise trend fromt
=
200 s to t
=
400 s. Because 50 nodes quit the system after they play 4 video files, the decrease in the network congestion level enables the startup delay to quickly decrease. ESVS analyzes the content similarity between videos and the playback behaviors of users to calculate the contact level between videos. The videos which have close contact are clustered into a chain-based tree structure. The nodes which have joined the system form the communities corresponding to the played videos. Because the videos in the chains have high access probabilities with each other, the request messages only experience two relay nodes, ensuring low lookup delay. Moreover, the communities may have multiple associate broker members, which reduces the “distance" between the requesters and suppliers and obtains low startup delay. The request nodes in ESVS estimate the communication quality of transmission with the suppliers, which ensures the low transmission delay. Because the resource receivers can disconnect from current suppliers and research new suppliers when the communication quality in the transmission path decreases, the interval time relieves the congestion degree (the congestion time and level of ESVS are lower than those of SURFNet). Therefore, the performance of startup delay of ESVS is better than that of SURFNet.(
3) PLR. The ratio between the number of packets lost in the process of video data transmission and the total number of packets sent denotes PLR. The mean values of PLR during a time interval 50 s and the process of node joining the system are shown in Figures 6 and 7, respectively.Figure 6
PLR against simulation time.Figure 7
PLR against number of nodes.As Figure6 shows, the blue curve of SURFNet has a fast rise from t
=
50 s to t
=
350 s, keeps a decrease trend from t
=
350 s to t
=
500 s, and reaches the peak value (0.49) at t
=
350 s. The red curve of ESVS experiences a fast rise with severe fluctuation from t
=
50 s to t
=
400 s, reaches the peak value (0.38) at t
=
400 s, and decreases t
=
400 s to t
=
500 s. The curve of ESVS keeps lower levels than those of SURFNet.Figure7 illustrates the variation of two curves corresponding to ESVS and SURFNet with increasing the number of nodes. The curve of SURFNet keeps the fast trend with two fluctuations and reaches the peak value (0.43) when the number of nodes is 160. Although the red curve corresponding to the ESVS results also experiences the fluctuation, it shows a stable increase process relative to that of SURFNet and the increment and peak value (0.369) are lower than those of SURFNet.The nodes in SURFNet do not consider the communication quality in the data transmission path. The performance of data transmission easily is subjected to the severe negative influence due to the change of wireless mobile network topologies. For instance, the network congestion leads to fast increase of PLR results of SURFNet (the curve of SURFNet keeps high level fromt
=
200 s to t
=
350 s). The nodes in ESVS estimate the communication quality of data transmission path before the construction of connection with suppliers in order to obtain the optimal performance of content delivery, which ensures the low PLR. Moreover, when the resource receivers find the decrease of content delivery (if the PLR in current transmission path is larger than T
l
=
0.35), they disconnect from the suppliers and research new suppliers, which reduces the packet loss. Therefore, the PLR results of ESVS are better than those of SURFNet. In particular, because the network congestion may result in the large number of packet losses, the packet loss rate may have been larger than 0.35 (e.g., 0.4 or 0.5) when the receivers find the decrease of transmission performance so that the peak value (0.369) of ESVS curve is greater than T
l
=
0.35.(
4)
Maintenance Cost. The messages used by maintaining the P2P network such as nodes joining, leaving, and searching are considered control messages. The occupied bandwidth per second of control messages is defined as the maintenance cost.Figure8 illustrates the variation of maintenance cost results of ESVS and SURFNet with the increase in the simulation time. The blue curve corresponding to SURFNet results keeps the fast rise with severe fluctuation from t
=
50 s to t
=
400 s, reaches the peak value (4.8) at t
=
400 s, and gradually decreases from t
=
4000 s to t
=
500 s. The red curve corresponding to ESVS results has a slow increase with slight fluctuation from t
=
50 s to t
=
250 s, maintains fast rise from t
=
250 s to t
=
400 s, and shows a decrease trend from t
=
4000 s to t
=
500 s. The ESVS curve has lower level than that of SURFNet and the peak value (4.3) of ESVS also is less than that of SURFNet.Figure 8
Maintenance cost against simulation time.The maintenance cost of SURFNet mainly includes the exchange of state messages of nodes in the AVL tree, the state management of members in the chain attached to tree, forwarding and handling the request messages of resources, and the assignment of suppliers. The nodes in the tree have longer online time than those of nodes in the chain; the maintenance cost for the tree is low relative to the chain. In initial simulation, the maintenance cost of SURFNet keeps the slight increase. With the increase in the number of nodes and corresponding resource demand, the maintenance cost of SURFNet quickly increases. Because some nodes quit the system, the decrease in the number of request messages and node state lead to the fast fall of the maintenance cost of SURFNet. The dynamic change of node state is mainly the reason for the maintenance cost level of the system. The frequent change of state of nodes in the tree leads to the increase in the frequency of tree reconstruction, which results in the increase in the tree maintenance cost. The resource lookup failure indicates that the request nodes find that the resource demand cannot be met after the traversal of request messages in the whole tree, which enables the request messages to consume the large number of network bandwidth. Although ESVS also employs the chain-based tree structure, the tree scale (height and weight of tree) keeps low level. This is because the chain includes the videos which have close contact with the videos in the tree. Flattening tree structure reduces the maintenance cost of tree and the negative influence caused by the state churn of nodes in tree, which also reduces the number of forwarding request messages. Some node communities have multiple broker members or associate broker members, which increases the message cost of state maintenance. However, the small scale of (associate) broker members relative to the community members only results in the slight rise of maintenance cost. These (associate) broker members not only share responsibility for the maintenance cost of the whole P2P network and improve system scalability, but also speed up the resource lookup process and reduce the number of forwarding request messages. Moreover, sharing prefetched resources between community members promotes the resource lookup success rate, which further reduces the number of forwarding request messages. Therefore, the performance of ESVS maintenance cost is better than that of SURFNet.


## 4.1. Simulation Settings and Scenarios

We compare the performance of ESVS with a state-of-the-art solution SURFNet [22]. ESVS and SURFNet are deployed in the wireless network whose settings are described in Table 1. The two solutions are modeled and implemented in NS-2. The media server stores 100 video files and the length of each file is set to 100 s. The initial target location and speed of 300 mobile nodes are randomly assigned. When the mobile nodes arrive at the assigned target location, they continue to move according to the reassigned target location and speed. We generate the information of 100 videos (including name, actor, and introduction) and 20,200 playback logs (including played video ID and watched time) where the video information and 20,000 playback logs are used to calculate the access probabilities between videos. 200 mobile nodes join the system following Poisson distribution and play video content following generated 200 logs where the popularities of played content meet the Zipf distribution and 50 nodes play 4 video files during the whole simulation time. When any node finishes the playback, it quits the system. In ESVS, the value of threshold T
l is set to 0.35. Before starting the simulation, the chain-based tree structure of ESVS has been built; namely, the logical relationship between videos has been defined. When the mobile nodes join the system, they form the communities corresponding to the played videos. In SURFNet, the nodes which have the long online time form AVL tree and the nodes which play the same video form a chain and attach the corresponding nodes in AVL tree.Table 1
Simulation parameter setting for wireless network.
Parameters
Values
Area
1000 × 1000 m2
Channel
Channel/WirelessChannel
Network interface
Phy/WirelessPhyExt
MAC interface
Mac/802_11
Number of mobile nodes
300
Number of mobile nodes playing video
200
Mobile speed range of nodes
[0, 30] m/s
Simulation time
500 s
Signal range of mobile nodes
200 m
Default distance between server and nodes
6 hops
Transmission protocol
UDP
Wireless routing protocol
DSR
Bandwidth of server
20 Mb/s
Bandwidth of mobile nodes
10 Mb/s
Transmission rate of video data
128 kb/s
Travel direction of mobile nodes
Random
Pause time of mobile nodes
0 s


## 4.2. Performance Evaluation

The performance of ESVS is compared with that of SURFNet in terms of average resource lookup success rate (ARLSR), startup delay, packet loss rate (PLR), and maintenance cost, respectively.(
1) ARLSR. The event-request nodes send the lookup messages and successfully obtain the video content from the P2P network which is defined as a success lookup. The ratio between the number of successful lookups and the total number of lookups denotes the resource lookup success rate. The mean values of resource lookup success rate during a time interval of 50 s and the process of node joining the system are shown in Figures 2 and 3, respectively.Figure 2
ARLSR against simulation time.Figure 3
ARLSR against number of nodes.As Figure2 shows, the two curves corresponding to the results of ESVS and SURFNet have a fast increase trend during the whole simulation time. SURFNet curve keeps fast rise from t
=
50 s to t
=
250 s and maintains a relatively slow increase from t
=
300 s to t
=
500 s. ESVS curve has a relatively slow increase after a fast rise from t
=
50 s to t
=
300 s. The increment and peak value (83.8%) of ESVS are larger than those of SURFNet.Figure3 also shows the increase trend of two curves with increasing number of nodes. The blue curve of SURFNet maintains a fast rise during the process of node joining the system, but it also has an obvious fluctuation. ESVS curve keeps higher levels than that of SURFNet and has larger increment and peak value than those of SURFNet.In SURFNet, the nodes with long online time are grouped into an AVL tree and the other nodes which store the same videos with the nodes in tree form the chain and attach the tree. In initial simulation, the nodes which have joined the system firstly form the AVL tree and obtain the video resources from the media server. Therefore, the values of SURFNet ARLSR keep the low levels. The increase in the number of nodes provides the relatively enough available resources for the new system members so that the values of SURFNet ARLSR maintain fast rise. The change of user interests for the video content brings the uncertainty of resource demand; namely, some nodes still do not obtain the requested resources from the P2P network and only receive the video data from the server. Therefore, the ARLSR results of SURFNet keep a stable slight increment after the fast increase. ESVS groups the videos into a chain-based tree structure and enables the nodes to form the communities corresponding to the played videos. Moreover, the nodes prefetch the videos of interest into local buffer and make use of prefetched resource to serve other nodes; namely, the prefetched content increases the available resources in the P2P network. Therefore, the curve corresponding to the results of ESVS ARLSR keeps the fast rise and has higher increment than that of SURFNet.(
2) Startup Delay. The difference values between the time of sending request message and receiving first video data are defined as the startup delay. The mean values of startup delay during a time interval 50 s and the process of node joining the system are shown in Figures 4 and 5, respectively.Figure 4
Startup delay against simulation time.Figure 5
Startup delay against number of nodes.As Figure4 shows, the two curves corresponding to ESVS and SURFNet have two fluctuation processes during the whole simulation time. The blue curve of SURFNet experiences a slight fluctuation from t
=
50 s to t
=
200 s, starts to quickly increase from t
=
200 s to t
=
400 s, and shows the fast fall from t
=
400 s to t
=
500 s. The red curve of ESVS has a slight increase from t
=
50 s to t
=
100 s and quickly decreases from t
=
100 s to t
=
200 s. The curve also keeps a fast rise trend from t
=
200 s to t
=
350 s and maintains the fall from t
=
350 s to t
=
500 s. The curve of ESVS keeps lower level than that of SURFNet and has less peak value (2.87 s) than that (3.32 s) of SURFNet.Figure5 shows the variation process of two curves with increasing number of nodes. The curve of SURFNet has a rise trend with relatively severe fluctuation and reaches peak value (2.95 s) when the number of nodes is 160. The curve of ESVS also has severe fluctuation in the rise process but keeps lower level than that of SURFNet and has lower peak value (2.53 s) than that of SURFNet.In SURFNet, forwarding the request message relies on the nodes in the AVL tree; namely, the nodes in tree make use of the predefined parent-child relationship to relay the request messages. The more the number of relay nodes is, the longer the startup delay is. SURFNet can obtain low lookup delay by making use of the AVL tree structure. With the increase in the number of nodes, the amount of video streaming in network also quickly increases, which leads to the network congestion. Therefore, the startup delay results of SURFNet show a fast rise trend fromt
=
200 s to t
=
400 s. Because 50 nodes quit the system after they play 4 video files, the decrease in the network congestion level enables the startup delay to quickly decrease. ESVS analyzes the content similarity between videos and the playback behaviors of users to calculate the contact level between videos. The videos which have close contact are clustered into a chain-based tree structure. The nodes which have joined the system form the communities corresponding to the played videos. Because the videos in the chains have high access probabilities with each other, the request messages only experience two relay nodes, ensuring low lookup delay. Moreover, the communities may have multiple associate broker members, which reduces the “distance" between the requesters and suppliers and obtains low startup delay. The request nodes in ESVS estimate the communication quality of transmission with the suppliers, which ensures the low transmission delay. Because the resource receivers can disconnect from current suppliers and research new suppliers when the communication quality in the transmission path decreases, the interval time relieves the congestion degree (the congestion time and level of ESVS are lower than those of SURFNet). Therefore, the performance of startup delay of ESVS is better than that of SURFNet.(
3) PLR. The ratio between the number of packets lost in the process of video data transmission and the total number of packets sent denotes PLR. The mean values of PLR during a time interval 50 s and the process of node joining the system are shown in Figures 6 and 7, respectively.Figure 6
PLR against simulation time.Figure 7
PLR against number of nodes.As Figure6 shows, the blue curve of SURFNet has a fast rise from t
=
50 s to t
=
350 s, keeps a decrease trend from t
=
350 s to t
=
500 s, and reaches the peak value (0.49) at t
=
350 s. The red curve of ESVS experiences a fast rise with severe fluctuation from t
=
50 s to t
=
400 s, reaches the peak value (0.38) at t
=
400 s, and decreases t
=
400 s to t
=
500 s. The curve of ESVS keeps lower levels than those of SURFNet.Figure7 illustrates the variation of two curves corresponding to ESVS and SURFNet with increasing the number of nodes. The curve of SURFNet keeps the fast trend with two fluctuations and reaches the peak value (0.43) when the number of nodes is 160. Although the red curve corresponding to the ESVS results also experiences the fluctuation, it shows a stable increase process relative to that of SURFNet and the increment and peak value (0.369) are lower than those of SURFNet.The nodes in SURFNet do not consider the communication quality in the data transmission path. The performance of data transmission easily is subjected to the severe negative influence due to the change of wireless mobile network topologies. For instance, the network congestion leads to fast increase of PLR results of SURFNet (the curve of SURFNet keeps high level fromt
=
200 s to t
=
350 s). The nodes in ESVS estimate the communication quality of data transmission path before the construction of connection with suppliers in order to obtain the optimal performance of content delivery, which ensures the low PLR. Moreover, when the resource receivers find the decrease of content delivery (if the PLR in current transmission path is larger than T
l
=
0.35), they disconnect from the suppliers and research new suppliers, which reduces the packet loss. Therefore, the PLR results of ESVS are better than those of SURFNet. In particular, because the network congestion may result in the large number of packet losses, the packet loss rate may have been larger than 0.35 (e.g., 0.4 or 0.5) when the receivers find the decrease of transmission performance so that the peak value (0.369) of ESVS curve is greater than T
l
=
0.35.(
4)
Maintenance Cost. The messages used by maintaining the P2P network such as nodes joining, leaving, and searching are considered control messages. The occupied bandwidth per second of control messages is defined as the maintenance cost.Figure8 illustrates the variation of maintenance cost results of ESVS and SURFNet with the increase in the simulation time. The blue curve corresponding to SURFNet results keeps the fast rise with severe fluctuation from t
=
50 s to t
=
400 s, reaches the peak value (4.8) at t
=
400 s, and gradually decreases from t
=
4000 s to t
=
500 s. The red curve corresponding to ESVS results has a slow increase with slight fluctuation from t
=
50 s to t
=
250 s, maintains fast rise from t
=
250 s to t
=
400 s, and shows a decrease trend from t
=
4000 s to t
=
500 s. The ESVS curve has lower level than that of SURFNet and the peak value (4.3) of ESVS also is less than that of SURFNet.Figure 8
Maintenance cost against simulation time.The maintenance cost of SURFNet mainly includes the exchange of state messages of nodes in the AVL tree, the state management of members in the chain attached to tree, forwarding and handling the request messages of resources, and the assignment of suppliers. The nodes in the tree have longer online time than those of nodes in the chain; the maintenance cost for the tree is low relative to the chain. In initial simulation, the maintenance cost of SURFNet keeps the slight increase. With the increase in the number of nodes and corresponding resource demand, the maintenance cost of SURFNet quickly increases. Because some nodes quit the system, the decrease in the number of request messages and node state lead to the fast fall of the maintenance cost of SURFNet. The dynamic change of node state is mainly the reason for the maintenance cost level of the system. The frequent change of state of nodes in the tree leads to the increase in the frequency of tree reconstruction, which results in the increase in the tree maintenance cost. The resource lookup failure indicates that the request nodes find that the resource demand cannot be met after the traversal of request messages in the whole tree, which enables the request messages to consume the large number of network bandwidth. Although ESVS also employs the chain-based tree structure, the tree scale (height and weight of tree) keeps low level. This is because the chain includes the videos which have close contact with the videos in the tree. Flattening tree structure reduces the maintenance cost of tree and the negative influence caused by the state churn of nodes in tree, which also reduces the number of forwarding request messages. Some node communities have multiple broker members or associate broker members, which increases the message cost of state maintenance. However, the small scale of (associate) broker members relative to the community members only results in the slight rise of maintenance cost. These (associate) broker members not only share responsibility for the maintenance cost of the whole P2P network and improve system scalability, but also speed up the resource lookup process and reduce the number of forwarding request messages. Moreover, sharing prefetched resources between community members promotes the resource lookup success rate, which further reduces the number of forwarding request messages. Therefore, the performance of ESVS maintenance cost is better than that of SURFNet.


## 5. Conclusion

In this paper, we propose a novel energy-efficiency social-inspired video sharing solution in wireless networks (ESVS). ESVS builds a model to estimate the access probabilities between videos in terms of the similarity of video content and user playback behaviors. ESVS makes use of the access probabilities to cluster videos into a chain-based tree structure and group the nodes into the communities corresponding to the videos in the chain-based tree. In order to improve the sharing efficiency of video content, ESVS designs a hybrid resource lookup algorithm including push and pull and makes use of the sharing of prefetched content to improve the shortness of available resources in P2P networks. ESVS further enables the receivers of video data to dynamically regulate the suppliers in terms of the communication quality in the data transmission path, which not only improves QoE and energy endurance of mobile nodes, but also reduces the consumption of network bandwidth. Simulation results also show that ESVS obtains higher resource lookup success rate, lower startup delay, less packet loss rate, and lower maintenance cost than SURFNet.



---

*Source: 518289-2015-12-17.xml*