# Interaction-Aware Video Community-Based Content Delivery in Wireless Mobile Networks

Authors: Lujie Zhong; Shijie Jia; Youzhong Ma; Yongxin Zhang
Journal: Mobile Information Systems
 (2016)

---

## Abstract

The increase in the demand of content quality and the number of mobile users brings new challenges for the multimedia streaming services in wireless mobile networks. The virtual community technologies are promising by grouping the users with common characteristics to get the gains in the performance of resource lookup and system scalability. In this paper, we propose a novel interaction-aware video community-based content delivery (IVCCD) in wireless mobile networks. IVCCD collects and analyzes the interaction information between users to construct user interaction model and further capture the common characteristics in the request and delivery of video content. IVCCD employs a partition-based community discovery scheme to group the mobile users in terms of the common characteristics and uses a community member management mechanism and a resource sharing scheme to achieve low-cost community maintenance and high searching performance. Extensive tests show how IVCCD achieves much better performance results in comparison with other state-of-the-art solutions.


---

## Body

## 1. Introduction

The increase of communication capacities in wireless mobile networks supports the ubiquitous Internet access of mobile users via smart devices (e.g., smart phones and tablet PC) to obtain multimedia services which require high bandwidth [1–7]. As Figure 1 shows, the mobile users make use of multiple network interfaces equipped in smart devices to fetch multimedia content in heterogeneous wireless mobile networks. Video streaming is a popular application, which promotes fast increase of mobile data traffic in the whole world [8]. Provisioning video content to the mobile uses in wireless mobile networks can improve experience of mobile users (e.g., the mobile video can enrich travel of passengers in train or taxi) [9–11]. The multimedia streaming systems mainly employ peer-to-peer (P2P) technologies to address the problems of large-scale deployment [12–15]. In particular, the emerging mobile P2P (MP2P) technologies provide feasible solutions to support the deployment of mobile video streaming system in wireless mobile networks [16–18]. However, the increase in the number of viewers leads to high cost in the management and scheduling of resources, which brings negative effects for the scalability and quality of service (QoS) of mobile video streaming systems.Figure 1
Multimedia streaming services in wireless mobile networks.The performance of P2P-based resource sharing and peer management determine the QoS and scalability of multimedia streaming systems, so numerous solutions focus on the design of resource sharing and overlay network maintenance. For instance, COME-P2P in [19] groups the mobile nodes into a Chord structure to obtain high performance of resource searching and delivery by making use of the routing information in overlay networks. However, the dynamic peer state causes frequent reconstruction of Chord structure, which increases the maintenance cost of systems. With increasing number of peers, the huge maintenance cost becomes the bottleneck of system scalability. Bethanabhotla et al. proposed a video resource scheduling scheme in wireless networks [20], which supports the dynamic selection of suppliers and adaptively regulates the data transmission rate according to the video quality demand of requesters. However, the adaptive supplier selection leads to high startup delay due to the dynamic distribution of resources. Except for a mass of network bandwidth requirement from high-quality video delivery, the resource redundancy, fragile logical connection, and frequent resource lookup failure in overlay networks also consume the large number of bandwidths. The high-efficiency video content delivery solutions should have optimal distribution and quick lookup for the video resources in overlay networks to support green communications for mobile video streaming services.The virtual community technologies group the users with similar characteristics and define the user behaviors such as search and sharing of resources. The autonomous management of resources in the communities can make the balance between maintenance cost and searching performance of resources to improve the system scalability. For instance, SocialTube captures the common interests between source node and users according to the number of watched videos and groups the users with similar interests into the tree-based communities [21]. However, SocialTube only uses the similarity in the number of requested and stored contents to evaluate the closeness of user relationship, so that the fragile link between users leads to frequent reconstruction of community structure. SAVE in [22] uses two users with common characteristics in watched video content and time period to define the relationship between community members. Although the similar content implies the probability of requesting the same content in the future, the users with common interests still need to use the communication with each other to achieve the resource sharing in multimedia streaming systems. Therefore, an efficient solution which makes use of the interaction behaviors between users to tighten up the relationship between community members and improve searching performance and system scalability should be considered for video sharing in wireless mobile networks.In this paper, we proposea novel interaction-aware video community-based content delivery (IVCCD) in wireless mobile networks. By the investigation of interaction behaviors between mobile users, IVCCD builds a novel interaction model to find the common characteristics between mobile users. IVCCD employs a partition-based community discovery scheme to group the mobile users with similar interaction behaviors by the iterative refinement for the prepartitioned results according to the serving capacities and contact closeness of mobile users. In order to improve video resource sharing performance, IVCCD formulates a community member management mechanism and a resource sharing scheme that defines member role to achieve the autonomous community maintenance, which optimizes resource distribution and balances searching performance and community maintenance cost. Simulation results based on the two mobility models: random and Gauss-Markov mobility model show how IVCCD achieves much better performance results in comparison with other state-of-the-art solutions.


## 2. Related Work

The existing P2P-based multimedia streaming systems make use of the optimization of resource searching and scheduling to improve video sharing performance in recent years. QHWC makes use of caching of video content based on the vehicle disconnectivity and mobility to optimize the resource distribution. QHWC proposed two metrics, LUR and QCR, to ensure high QoS in Internet-based VANETs [23]. Zhou et al. analyze two classes of delayed control information distributions: the class with finite mean and variance and a general class that does not employ any parametric representation in order to understand how the DCI effects the performance of wireless video transmission [24]. The designed distributed video-scheduling scheme realizes the theoretical analysis. COME-P2P in [19] groups the nodes into a DHT structure to obtain the gains of fast resource searching. COME-P2P further makes use of the routing information and multicast path to refine the finger table and routing table by the cross-layer technologies in order to enable smooth video playback. However, COME-P2P relies on the large number of message exchanges to support the update of node state and DHT reconstruction including joining and leaving of nodes. With the increase in the number of nodes, the message overhead brings negative effects for system scalability and wastes mass network bandwidth. Moreover, the dynamic routing and round trip time (RTT) can accurately describe the node mobility, so that it is difficult to achieve the delivery of video resources in near geographical distance. The variation of routing and RTT leads to frequent update of finger table, which further increases the maintenance cost of DHT structure. Bethanabhotla et al. make use of Lyapunov drift plus penalty approach to solve the formulated network utility maximization problem, which achieves the self-adaption in the supplier selection and transmission rate between users and helpers in terms of the user demand for video quality [20]. However, the resource delivery capacities of nodes are dynamic with the change of network topologies in wireless networks. This leads to frequent switchover of link between users and helpers, which increases startup delay of users and influences the playback smoothness. BOSA in [25] assigns the servers in mobile clouds according to the last timeslot information of resource requests and makes use of the first-come-first-served rule to schedule multimedia flows, in order to the impartial use of free time among the servers. However, BOSA neglects the dynamic user demand for the multimedia content, so that it is difficult to achieve impartial scheduling for the server resources.Recently, the numerous researchers focus on the design of virtual community-based resource sharing solutions. For instance, SAVE in [22] investigates the user switchover behavior between video content and groups the nodes which request the same content into the communities. SAVE builds the connection between communities according to the video content contact in order to obtain high gains of video searching performance. However, the nodes which watch similar video content during the same time period form the communities, which results in the low robustness and scalability of community structure. Doulkeridis et al. make use of hierarchical and partitioning clustering method to group the nodes. The ordinary nodes and super nodes with strong capacities which store the same resources form a community [26]. The super nodes make use of the stored resource index list to speed up the resource lookup process. However, the proposed community discovery method relies on the stored same resources, which leads to fragile relationship between community members. The static community structure is difficult to adapt to the dynamic user demand; namely, the variation of resources stored by the nodes causes frequent reconstruction of community structure, reducing the performance of resource sharing and system scalability. SANE in [27] maps various interest characteristics of users into an interest space where the characteristics of each user are corresponding to an interest vector in the space. The cosine value of two vectors is considered as the closeness level of social relationship. However, the estimation methods based on common interests lead to fragile and changeful user relationship, so that the community structure also is subjected to frequent reconstruction. AMCV in [28] clusters the nodes which store the same video chunk into the community and builds two kinds of connections (static and dynamic connection) to bridge communities according to the common interests of users for the video content, which supports fast resource lookup. However, although the static and dynamic connection can adapt to the change of user interest and help the user to fast fetch desired resources, the increase in the number of communities results in the overload of community broker nodes, reducing the system scalability.The above community-based solutions have some defects such as fragile member relationship, low scalability, and high maintenance cost of community. In order to address the above problems, an efficient solution should accurately estimate user relationship and build the flexible and scalable community structure to support fast lookup and high-efficiency delivery. We investigate the interaction behaviors among the mobile users to discover the common interests for the video content and obtain the preference of fetching content, which can accurately evaluate the closeness of user relationship and ensure stable community structure and high-efficiency sharing.


## 3. IVCCD Overview

Figure2 illustrates the design of IVCCD architecture which includes theinteraction awareness, community construction, andcontent delivery. The mobile nodes join the multimedia streaming system by sending request message to the server or overlay networks. The server or the nodes which stores requested video resources in overlay networks return a response message and transmit video data to the request nodes. The request nodes preferentially search and fetch video content from the suppliers in overlay networks in order to reduce the server load. If there are no requested resources in overlay networks, the server provides the initial video content for the request nodes. The built connections between requesters and suppliers are considered as the interaction behaviors between nodes. Bythe collection and analysis of node interaction behaviors, the system can be aware of interaction range and frequentness of each node to discover the node set with close contact. Based on the results of collection and analysis, IVCCD uses a contact graph to build theinteraction model which defines some important parameters used in thecommunity discovery algorithm such as the serving capacities of nodes and closeness between nodes. Thecommunity discovery algorithm uses the partition method to obtain initial node sets in terms of node degree and merges and refines these initial sets according to closeness between nodes, where these refined sets are considered as node communities. Themember role management defines the roles and task for the community members and formulates the member maintenance scheme. Thedistribution and sharing of community resource require the members to cooperatively store video resources and formulate the intracommunity and intercommunity resource search algorithms.Figure 2
IVCCD architecture.


## 4. IVCCD Detailed Design

The interests for the video content drive the nodes to search the resources in P2P networks. Because the suppliers are watching or have stored the requested video, they can provide corresponding video services for the requesters; namely, the suppliers also are interested in the video content. In fact, the requesters and the suppliers have common interest for current video content and the request-response process between requesters and suppliers is considered as an interaction. The traditional common interest discovery methods rely on the analysis for historical records of watched video content, which difficultly in ensuring accuracy of common interest estimation. The interest-driven interaction not only describes the accurate results of similarity in demand for the video content, but also denotes the close relationship in contact. For instance, if the two nodes have close geographical location, similar demand, and good communication quality, they always keep frequent interaction. The nodes receive the video data from the suppliers and record the information of suppliers. When the nodes quit the system, they send the messages containing the collected information of suppliers and delivery (e.g., transmission delay and packet loss rate (PLR)) to the server. The server uses two tuplesR
=
(
r
e
q
u
e
s
t
e
r
,
s
u
p
p
l
i
e
r
) to denote the interaction between nodes. An interaction set S
R
=
(
R
1
,
R
2
,
…
,
R
n
) is stored at the server side.


### 4.1. Interaction Awareness

The server makes use of a directed contact graphG
=
(
V
,
E
) to model the node interaction behaviors. V
=
(
v
1
,
v
2
,
…
,
v
k
) is a vertex set, where any vertex v
i denotes a node n
i in the system. Any edge e
i
j in the edge set E denotes the interaction between n
i and n
j. The two nodes which have the edges such as n
i and n
j are neighbor relationship. Any node n
i in the system may repeatedly fetch the video from a supplier; namely, there is the difference for the closeness of contact between nodes. We define the edge weight value w
e
i
j to denote the closeness of contact between nodes in terms of the interaction time. The interaction time indicates the transmission time of video data from suppliers to requesters. The connection between nodes is fragile due to the interest change; namely, when the nodes switch the playback content to another video, the data transmission of both communication sides is discontinued. The long interaction time means that the nodes have strong interest for the same video. The estimation value of interaction time between n
i and n
j is defined as(1)
w
e
i
j
=
arctan
⁡
∑
c
=
1
N
i
j
l
c
,
l
≤
L
,
w
e
i
j
∈
0
,
π
2
,where l
c is an interaction time and N
i
j is the number of interaction between n
i and n
j. w
e
i
j also implies the preference of supplier selection of the requester n
i except the contact closeness. For instance, the mobile users preferentially fetch video content from other colleagues in workplace. The degree of each node in G is the total number of in-degree and out-degree due to the directed edge, which represents the interaction range of nodes. The higher the node degree is, the stronger the capacities of resource sharing are.The requesters always want to build the connection with the suppliers which have high-quality delivery capacities, which ensures the watched quality of users. We define serving capacities of each node in terms of the delivery quality of content by the investigation of transmission delay and PLR. Letd
¯
j
i and r
¯
j
i denote the average delay and average PLR in the process of data transmission from n
j to n
i, respectively. The serving capacities of n
j are defined as(2)
S
C
j
=
∑
c
=
1
N
j
r
¯
j
c
N
j
×
log
2
⁡
1
+
∑
c
=
1
N
j
d
¯
j
c
N
j
,where N
j is the number of nodes which receive the data transmission from n
j. The high transmission delay with severe jitter breaks the playback smoothness and the high PLR cause the strong distortion of video screen, reducing the watched quality of users. Further, the low watched quality also results in the fragile connection between nodes; namely, the requesters break current connection and re-search new suppliers. The nodes with strong serving capacities can attract more requesters to fetch the content in order to the better watched quality; namely, they have strong capacities of resource sharing.


### 4.2. Community Construction

The robust and scalable communities not only require close relationship between members, but also need the distinct boundaries to express the difference of intercommunity nodes. We employ a partition method forG to construct the node communities, which includes two steps: firstly, the initial subgraphs are extracted from G according to the node degree; secondly, these subgraphs are combined or partitioned to construct new subgraphs. By the iteration of combination and partition, the refined subgraphs are considered as the node communities. Although there is the probability of interaction for the nodes which do not have edges in G, the frequency of interaction between them is less than that of nodes which have edges. Therefore, the graph partition-based community structure can obtain accurate clustering results.Firstly, the noden
i which has the maximum value of degree in V is selected as the center node of a new subgraph S
G
(
n
i
). The neighbor nodes of n
i (the nodes have the edges with n
i) are extracted from V and become the members of S
G
(
n
i
). In a similar way, we continue to extract a new subgraph S
G
(
n
k
) from the difference set V
-
S
G
(
n
i
). The condition of convergence of the above iteration is that all items in V are partitioned into subgraphs. The nodes with the larger degree have high dissemination capacities, so that the initial subgraphs have better resource sharing performance. However, the partitioned results are limited to the selection of initial subgraph centers. For instance, the degree of noncenter members in S
G
(
n
i
) may be larger than that of center node n
k in S
G
(
n
k
). Therefore, the partitioned results need to be refined; namely; the initial subgraphs are further partitioned or combined.Because the subgraphs are adjacent to each other, the combination mainly is to search the incorporable nodes in adjacent subgraphs. For instance, a membern
a in S
G
(
n
i
) finds a neighbor node n
h in S
G
(
n
k
). If the weight value w
e
a
h of e
a
h is larger than w
e
h
k of edge e
h
k between n
h and n
k, n
h quits from S
G
(
n
k
) and becomes new member in S
G
(
n
i
). When n
a and n
h have two edges e
a
h and e
h
a and n
h and n
k also have two edges e
k
h and e
h
k, we compare the total of w
e
a
h and w
e
h
a with that of w
e
k
h and w
e
h
k to make the decision of combination. If (
w
e
a
h
+
w
e
h
a
)
>
(
w
e
k
h
+
w
e
h
k
), n
h leaves S
G
(
n
k
) and joins S
G
(
n
i
). Otherwise, if (
w
e
a
h
+
w
e
h
a
)
<
(
w
e
k
h
+
w
e
h
k
), n
h stays in S
G
(
n
k
). With the subgraph combination, if all members in some subgraphs are merged into other subgraphs, namely, these subgraphs only include center nodes, the center nodes are marked as ordinary nodes and wait for the combination by other subgraphs. However, the unlimited combination also leads to the inaccurate results. For instance, after the member n
a in S
G
(
n
i
) merges n
h, n
h continues to search new nodes in other subgraphs. If this combination process continues, the longest path and member scale in S
G
(
n
i
) keep increasing so that the partitioned results become local optimum.In order to ensure the accuracy of partitioned results and achieve the global optimum, we define the merging node rule to make the decision of merging searched nodes by the comparison of the state of subgraphs before and after merging the nodes. For instance, letW
(
S
G
(
n
i
)
) and C
(
S
G
(
n
i
)
) be the initial total of edge weight value and node capacities in S
G
(
n
i
), respectively, where W
· and C
· are the functions of calculating the total of edge weight value and node capacities. Any member n
a in S
G
(
n
i
) wants to merge a member n
h in other subgraphs. If W
(
S
G
(
n
i
)
)
/
N
E
(
S
G
(
n
i
)
)
≤
W
(
S
G
(
n
e
w
)
(
n
i
)
)
/
N
E
(
S
G
n
e
w
(
n
i
)
) and C
(
S
G
(
n
i
)
)
/
N
V
(
S
G
(
n
i
)
)
≤
C
(
S
G
(
n
e
w
)
(
n
i
)
)
/
N
V
(
S
G
(
n
e
w
)
(
n
i
)
), n
h is successfully merged into S
G
(
n
i
), where S
G
(
n
e
w
)
(
n
i
) is new subgraph after the combination and N
E
(
·
) and N
V
(
·
) return the number of edges and nodes in graph, respectively. Otherwise, n
h does not become the new member in S
G
(
n
i
) and is marked as the node which is unable to merge by n
a. In the next process of searching nodes, n
a ignores n
h. W
(
S
G
(
n
i
)
)
/
N
E
(
S
G
(
n
i
)
) and C
(
S
G
(
n
i
)
)
/
N
V
(
S
G
(
n
i
)
) denote the mean value of edge weight and node capacities in S
G
(
n
i
), respectively. The defined rule indicates that the new members cannot lead to the decrease in contact closeness and serving capacities for current subgraphs, which ensures the tight relationship and high-quality service provision between members. The convergence condition of combination and partition process for the subgraphs is that all nodes in G are grouped into the subgraphs and the nodes in subgraphs stop to search new nodes in other subgraphs. After the process of combination and partition, the existing subgraphs are considered as the node communities. The pseudocode of the process of community discovery is detailed in Algorithm 1.Algorithm 1:Process of community discovery.
(1)T
G
=
G; i = 0; j = 0;
(2) /∗  V is node set in G; V returns number of nodes in V; D
(
⋅
) returns node’s degree (in-degree and out-degree). ∗/
(3)while(T
G is not NULL &&  i
<
N
V
(
G
))
(4)if
D
(
V
[
i
]
) is maximum value of degree of nodes in T
G
(5)V
[
i
] and V
[
i
]’s neighbor nodes form a sub-graph S
G
(
V
[
i
]
);
(6)T
G
=
G
-
S
G
(
V
[
i
]
);
(7)end if
(8)i++;
(9)end while
(10) /∗  N
B
V
[
j
] is set of V
[
j
]’s neighbor nodes in other sub-graphs; N
B
V
[
j
] returns number of items in N
B
V
[
j
]. ∗/
(11)while(all nodes join into sub-graphs and all nodes stop to search new nodes)
(12)if (V
[
j
] is not center node)
(13)for (k = 0; k
<
N
B
V
[
j
]; k++)
(14)if (N
B
V
[
j
]
[
k
] is not marked by V
[
j
]  &&  N
B
V
[
j
]
[
k
] meets requirement of becoming new member);
(15)N
B
V
[
j
]
[
k
] joins sub-graph of V
[
j
];
(16)else
N
B
V
[
j
]
[
k
] is marked as unavailable node by V
[
j
];
(17)end if
(18)end for
(19)end if
(20)j++;
(21)if (j
≥
V)
(22)j = 0;
(23)end if
(24)end while


### 4.3. Content Delivery

The community management mainly includes the role assignment and cache control of members, which reduces the maintenance cost of members and optimize the distribution of community resources. We define three roles for the community members: ordinary member, broker member, and bridged member.(1) The ordinary members are responsible for the provision of requested content delivery for the requesters and make the replacement of cached content in terms of the requirement of broker members. When a mobile node joins the system and becomes new community member, the node maintains a connection with any member in current community at least. If the ordinary members quit current communities, they send a message to the neighbor members in current communities.(2) The center nodes in subgraphs act as the broker members in communities and are responsible for the maintenance of cached resources of members and dissemination of resource request message. The broker members with high degree can achieve the fast and low-cost dissemination of information including resource request and member state in communities, which reduces startup delay and deals with the variation of resource demand of members in real time. When the broker members receive the request messages, they spread the messages to their neighbor members and require these neighbor members to assist the resource searching. When the broker members quit communities, the intracommunity members which have the high node degree become new broker members. The exited broker members require that the neighbor nodes with the maximum degree value maintain the information of their neighbor nodes.(3) The nodes located in boundary of subgraphs are considered as the bridged members which are responsible for maintaining connections with the neighbor nodes in other communities and forwarding the request messages to other communities. Because the bridged members have the connections with the intercommunity members, they are suitable for becoming the interfaces between communities to achieve the resource sharing. When the bridged members leave current communities, they send the information of their neighbor nodes to any neighbor node in current communities.When a membern
i in any community wants to download a video content, it firstly sends the request messages to the intracommunity neighbor members. If the intracommunity neighbor members of n
i store the requested resource, they return the response messages and n
i selects the member with the maximum value of serving capacities as the supplier. Otherwise, if the neighbor members of n
i do not provide desired resource, n
i requests the broker member to assist searching resource by sending a request message containing the information of requested resource and members which have been consulted by n
i. The broker member disseminates the request message to the neighbor members and require that these neighbor members continue to spread the request message when they also do not store requested resource. If the broker member finds that there is no resource in current community, it requires that the bridged members assist searching. The bridged members directly forward the request message to the broker members in adjacent communities. If the adjacent communities do not include the requested resource, n
i directly requests the server to fetch the resource because the lookup resource in the whole overlay network brings high startup delay. The pseudocode of the process of content delivery is detailed in Algorithm 2.Algorithm 2:Process of content delivery.
(1) /∗  n
i is request node in a community C
h; n
j is broker member in C
h; n
k is bridged member in C
h. ∗/
(2)n
i sends request messages to neighbor members maintained by n
i
(3)if(n
i receives response messages)
(4)for(k = 0; k
<
m; k++)
(5)   estimates serving capacities ofm
e
m
b
e
r
k by (2);
(6)end for
(7)  selects member with maximum value of serving capacities as supplier;
(8)else
n
i sends request message to n
j;
(9)n
j forwards message to other members;
(10)if(n
j receives response messages)
(11)n
j returns member list to n
i;
(12)else
n
j forward request message to n
k;
(13)if (n
k successfully receives response from other communities)
(14)n
k returns list of candidate suppliers to n
i;
(15)n
i estimates serving capacities by (2) and select supplier;
(16)else
n
k forward request message to server;
(17)end if
(18)end if
(19)end if
(20)n
k receives video data from supplier (server);With increasing storage capacities of mobile devices, the mobile nodes may carry one or multiple video resources. A key issue is how to make use of storage resource of mobile nodes to support high-efficiency resource sharing. The intracommunity resource lookup can reduce the lookup delay due to the relatively few forwarding nodes. IVCCD employs the local resource lookup strategy in order to avoid the high lookup delay, which reduces the lookup success rate. Therefore, we use a dissemination-aware resource distribution approach to dynamically regulate community resource. AfterG is divided into multiple communities, the server collects the information of dissemination process of resources. For instance, a member n
i in any community requests a video content from the server because there are no available resources in all communities. The other requester connects with n
i and fetches resource; namely, the following members search and select the suppliers in overlay networks. The requesters and suppliers form a tree structure in terms of the video streaming direction; namely, n
i is the root node of tree and n
i’s receivers which obtain the video data from n
i become child nodes of n
i. The server collects the information of nodes in the above dissemination process and selects the node n
k with the maximum receivers as the dissemination relay node which is defined as two-tuple R
N
=
(
n
k
,
V
I
D
c
), where V
I
D
c denotes the ID of video c. We group these relay nodes according to the similarity of watched videos. The similarity between two videos V
I
D
a and V
I
D
b is defined as(3)
S
a
b
=
n
s
a
∩
n
s
b
max
⁡
n
s
a
,
n
s
b
,where n
s
a and n
s
b are the sets of nodes which watch V
I
D
a and V
I
D
b, respectively, and |
n
s
a
∩
n
s
b
| returns the number of intersection between n
s
a and n
s
b. If S
a
b
>
S
¯, where S
¯ is the mean value of similarity of all videos, V
I
D
a and V
I
D
b are similar in content. Because each video is corresponding to a relay node, there is a relationship between the similar video set and the relay node set. When a member fetches a video from the server, the server requires that the nodes in the corresponding relay node set buffer and spread the requested video, which is beneficial to speeding up the resource dissemination with the help of multiple relay nodes. The relay nodes send the messages containing current resources to the broker members and require the broker members to spread the resource information in communities. If there are members which are interested in pushed resource, these members connect with the intracommunity relay nodes to obtain the resource. Although the resource dissemination messages lead to the increase in the message overhead, the small number of bandwidth consumptions reduces the lookup delay.


## 4.1. Interaction Awareness

The server makes use of a directed contact graphG
=
(
V
,
E
) to model the node interaction behaviors. V
=
(
v
1
,
v
2
,
…
,
v
k
) is a vertex set, where any vertex v
i denotes a node n
i in the system. Any edge e
i
j in the edge set E denotes the interaction between n
i and n
j. The two nodes which have the edges such as n
i and n
j are neighbor relationship. Any node n
i in the system may repeatedly fetch the video from a supplier; namely, there is the difference for the closeness of contact between nodes. We define the edge weight value w
e
i
j to denote the closeness of contact between nodes in terms of the interaction time. The interaction time indicates the transmission time of video data from suppliers to requesters. The connection between nodes is fragile due to the interest change; namely, when the nodes switch the playback content to another video, the data transmission of both communication sides is discontinued. The long interaction time means that the nodes have strong interest for the same video. The estimation value of interaction time between n
i and n
j is defined as(1)
w
e
i
j
=
arctan
⁡
∑
c
=
1
N
i
j
l
c
,
l
≤
L
,
w
e
i
j
∈
0
,
π
2
,where l
c is an interaction time and N
i
j is the number of interaction between n
i and n
j. w
e
i
j also implies the preference of supplier selection of the requester n
i except the contact closeness. For instance, the mobile users preferentially fetch video content from other colleagues in workplace. The degree of each node in G is the total number of in-degree and out-degree due to the directed edge, which represents the interaction range of nodes. The higher the node degree is, the stronger the capacities of resource sharing are.The requesters always want to build the connection with the suppliers which have high-quality delivery capacities, which ensures the watched quality of users. We define serving capacities of each node in terms of the delivery quality of content by the investigation of transmission delay and PLR. Letd
¯
j
i and r
¯
j
i denote the average delay and average PLR in the process of data transmission from n
j to n
i, respectively. The serving capacities of n
j are defined as(2)
S
C
j
=
∑
c
=
1
N
j
r
¯
j
c
N
j
×
log
2
⁡
1
+
∑
c
=
1
N
j
d
¯
j
c
N
j
,where N
j is the number of nodes which receive the data transmission from n
j. The high transmission delay with severe jitter breaks the playback smoothness and the high PLR cause the strong distortion of video screen, reducing the watched quality of users. Further, the low watched quality also results in the fragile connection between nodes; namely, the requesters break current connection and re-search new suppliers. The nodes with strong serving capacities can attract more requesters to fetch the content in order to the better watched quality; namely, they have strong capacities of resource sharing.


## 4.2. Community Construction

The robust and scalable communities not only require close relationship between members, but also need the distinct boundaries to express the difference of intercommunity nodes. We employ a partition method forG to construct the node communities, which includes two steps: firstly, the initial subgraphs are extracted from G according to the node degree; secondly, these subgraphs are combined or partitioned to construct new subgraphs. By the iteration of combination and partition, the refined subgraphs are considered as the node communities. Although there is the probability of interaction for the nodes which do not have edges in G, the frequency of interaction between them is less than that of nodes which have edges. Therefore, the graph partition-based community structure can obtain accurate clustering results.Firstly, the noden
i which has the maximum value of degree in V is selected as the center node of a new subgraph S
G
(
n
i
). The neighbor nodes of n
i (the nodes have the edges with n
i) are extracted from V and become the members of S
G
(
n
i
). In a similar way, we continue to extract a new subgraph S
G
(
n
k
) from the difference set V
-
S
G
(
n
i
). The condition of convergence of the above iteration is that all items in V are partitioned into subgraphs. The nodes with the larger degree have high dissemination capacities, so that the initial subgraphs have better resource sharing performance. However, the partitioned results are limited to the selection of initial subgraph centers. For instance, the degree of noncenter members in S
G
(
n
i
) may be larger than that of center node n
k in S
G
(
n
k
). Therefore, the partitioned results need to be refined; namely; the initial subgraphs are further partitioned or combined.Because the subgraphs are adjacent to each other, the combination mainly is to search the incorporable nodes in adjacent subgraphs. For instance, a membern
a in S
G
(
n
i
) finds a neighbor node n
h in S
G
(
n
k
). If the weight value w
e
a
h of e
a
h is larger than w
e
h
k of edge e
h
k between n
h and n
k, n
h quits from S
G
(
n
k
) and becomes new member in S
G
(
n
i
). When n
a and n
h have two edges e
a
h and e
h
a and n
h and n
k also have two edges e
k
h and e
h
k, we compare the total of w
e
a
h and w
e
h
a with that of w
e
k
h and w
e
h
k to make the decision of combination. If (
w
e
a
h
+
w
e
h
a
)
>
(
w
e
k
h
+
w
e
h
k
), n
h leaves S
G
(
n
k
) and joins S
G
(
n
i
). Otherwise, if (
w
e
a
h
+
w
e
h
a
)
<
(
w
e
k
h
+
w
e
h
k
), n
h stays in S
G
(
n
k
). With the subgraph combination, if all members in some subgraphs are merged into other subgraphs, namely, these subgraphs only include center nodes, the center nodes are marked as ordinary nodes and wait for the combination by other subgraphs. However, the unlimited combination also leads to the inaccurate results. For instance, after the member n
a in S
G
(
n
i
) merges n
h, n
h continues to search new nodes in other subgraphs. If this combination process continues, the longest path and member scale in S
G
(
n
i
) keep increasing so that the partitioned results become local optimum.In order to ensure the accuracy of partitioned results and achieve the global optimum, we define the merging node rule to make the decision of merging searched nodes by the comparison of the state of subgraphs before and after merging the nodes. For instance, letW
(
S
G
(
n
i
)
) and C
(
S
G
(
n
i
)
) be the initial total of edge weight value and node capacities in S
G
(
n
i
), respectively, where W
· and C
· are the functions of calculating the total of edge weight value and node capacities. Any member n
a in S
G
(
n
i
) wants to merge a member n
h in other subgraphs. If W
(
S
G
(
n
i
)
)
/
N
E
(
S
G
(
n
i
)
)
≤
W
(
S
G
(
n
e
w
)
(
n
i
)
)
/
N
E
(
S
G
n
e
w
(
n
i
)
) and C
(
S
G
(
n
i
)
)
/
N
V
(
S
G
(
n
i
)
)
≤
C
(
S
G
(
n
e
w
)
(
n
i
)
)
/
N
V
(
S
G
(
n
e
w
)
(
n
i
)
), n
h is successfully merged into S
G
(
n
i
), where S
G
(
n
e
w
)
(
n
i
) is new subgraph after the combination and N
E
(
·
) and N
V
(
·
) return the number of edges and nodes in graph, respectively. Otherwise, n
h does not become the new member in S
G
(
n
i
) and is marked as the node which is unable to merge by n
a. In the next process of searching nodes, n
a ignores n
h. W
(
S
G
(
n
i
)
)
/
N
E
(
S
G
(
n
i
)
) and C
(
S
G
(
n
i
)
)
/
N
V
(
S
G
(
n
i
)
) denote the mean value of edge weight and node capacities in S
G
(
n
i
), respectively. The defined rule indicates that the new members cannot lead to the decrease in contact closeness and serving capacities for current subgraphs, which ensures the tight relationship and high-quality service provision between members. The convergence condition of combination and partition process for the subgraphs is that all nodes in G are grouped into the subgraphs and the nodes in subgraphs stop to search new nodes in other subgraphs. After the process of combination and partition, the existing subgraphs are considered as the node communities. The pseudocode of the process of community discovery is detailed in Algorithm 1.Algorithm 1:Process of community discovery.
(1)T
G
=
G; i = 0; j = 0;
(2) /∗  V is node set in G; V returns number of nodes in V; D
(
⋅
) returns node’s degree (in-degree and out-degree). ∗/
(3)while(T
G is not NULL &&  i
<
N
V
(
G
))
(4)if
D
(
V
[
i
]
) is maximum value of degree of nodes in T
G
(5)V
[
i
] and V
[
i
]’s neighbor nodes form a sub-graph S
G
(
V
[
i
]
);
(6)T
G
=
G
-
S
G
(
V
[
i
]
);
(7)end if
(8)i++;
(9)end while
(10) /∗  N
B
V
[
j
] is set of V
[
j
]’s neighbor nodes in other sub-graphs; N
B
V
[
j
] returns number of items in N
B
V
[
j
]. ∗/
(11)while(all nodes join into sub-graphs and all nodes stop to search new nodes)
(12)if (V
[
j
] is not center node)
(13)for (k = 0; k
<
N
B
V
[
j
]; k++)
(14)if (N
B
V
[
j
]
[
k
] is not marked by V
[
j
]  &&  N
B
V
[
j
]
[
k
] meets requirement of becoming new member);
(15)N
B
V
[
j
]
[
k
] joins sub-graph of V
[
j
];
(16)else
N
B
V
[
j
]
[
k
] is marked as unavailable node by V
[
j
];
(17)end if
(18)end for
(19)end if
(20)j++;
(21)if (j
≥
V)
(22)j = 0;
(23)end if
(24)end while


## 4.3. Content Delivery

The community management mainly includes the role assignment and cache control of members, which reduces the maintenance cost of members and optimize the distribution of community resources. We define three roles for the community members: ordinary member, broker member, and bridged member.(1) The ordinary members are responsible for the provision of requested content delivery for the requesters and make the replacement of cached content in terms of the requirement of broker members. When a mobile node joins the system and becomes new community member, the node maintains a connection with any member in current community at least. If the ordinary members quit current communities, they send a message to the neighbor members in current communities.(2) The center nodes in subgraphs act as the broker members in communities and are responsible for the maintenance of cached resources of members and dissemination of resource request message. The broker members with high degree can achieve the fast and low-cost dissemination of information including resource request and member state in communities, which reduces startup delay and deals with the variation of resource demand of members in real time. When the broker members receive the request messages, they spread the messages to their neighbor members and require these neighbor members to assist the resource searching. When the broker members quit communities, the intracommunity members which have the high node degree become new broker members. The exited broker members require that the neighbor nodes with the maximum degree value maintain the information of their neighbor nodes.(3) The nodes located in boundary of subgraphs are considered as the bridged members which are responsible for maintaining connections with the neighbor nodes in other communities and forwarding the request messages to other communities. Because the bridged members have the connections with the intercommunity members, they are suitable for becoming the interfaces between communities to achieve the resource sharing. When the bridged members leave current communities, they send the information of their neighbor nodes to any neighbor node in current communities.When a membern
i in any community wants to download a video content, it firstly sends the request messages to the intracommunity neighbor members. If the intracommunity neighbor members of n
i store the requested resource, they return the response messages and n
i selects the member with the maximum value of serving capacities as the supplier. Otherwise, if the neighbor members of n
i do not provide desired resource, n
i requests the broker member to assist searching resource by sending a request message containing the information of requested resource and members which have been consulted by n
i. The broker member disseminates the request message to the neighbor members and require that these neighbor members continue to spread the request message when they also do not store requested resource. If the broker member finds that there is no resource in current community, it requires that the bridged members assist searching. The bridged members directly forward the request message to the broker members in adjacent communities. If the adjacent communities do not include the requested resource, n
i directly requests the server to fetch the resource because the lookup resource in the whole overlay network brings high startup delay. The pseudocode of the process of content delivery is detailed in Algorithm 2.Algorithm 2:Process of content delivery.
(1) /∗  n
i is request node in a community C
h; n
j is broker member in C
h; n
k is bridged member in C
h. ∗/
(2)n
i sends request messages to neighbor members maintained by n
i
(3)if(n
i receives response messages)
(4)for(k = 0; k
<
m; k++)
(5)   estimates serving capacities ofm
e
m
b
e
r
k by (2);
(6)end for
(7)  selects member with maximum value of serving capacities as supplier;
(8)else
n
i sends request message to n
j;
(9)n
j forwards message to other members;
(10)if(n
j receives response messages)
(11)n
j returns member list to n
i;
(12)else
n
j forward request message to n
k;
(13)if (n
k successfully receives response from other communities)
(14)n
k returns list of candidate suppliers to n
i;
(15)n
i estimates serving capacities by (2) and select supplier;
(16)else
n
k forward request message to server;
(17)end if
(18)end if
(19)end if
(20)n
k receives video data from supplier (server);With increasing storage capacities of mobile devices, the mobile nodes may carry one or multiple video resources. A key issue is how to make use of storage resource of mobile nodes to support high-efficiency resource sharing. The intracommunity resource lookup can reduce the lookup delay due to the relatively few forwarding nodes. IVCCD employs the local resource lookup strategy in order to avoid the high lookup delay, which reduces the lookup success rate. Therefore, we use a dissemination-aware resource distribution approach to dynamically regulate community resource. AfterG is divided into multiple communities, the server collects the information of dissemination process of resources. For instance, a member n
i in any community requests a video content from the server because there are no available resources in all communities. The other requester connects with n
i and fetches resource; namely, the following members search and select the suppliers in overlay networks. The requesters and suppliers form a tree structure in terms of the video streaming direction; namely, n
i is the root node of tree and n
i’s receivers which obtain the video data from n
i become child nodes of n
i. The server collects the information of nodes in the above dissemination process and selects the node n
k with the maximum receivers as the dissemination relay node which is defined as two-tuple R
N
=
(
n
k
,
V
I
D
c
), where V
I
D
c denotes the ID of video c. We group these relay nodes according to the similarity of watched videos. The similarity between two videos V
I
D
a and V
I
D
b is defined as(3)
S
a
b
=
n
s
a
∩
n
s
b
max
⁡
n
s
a
,
n
s
b
,where n
s
a and n
s
b are the sets of nodes which watch V
I
D
a and V
I
D
b, respectively, and |
n
s
a
∩
n
s
b
| returns the number of intersection between n
s
a and n
s
b. If S
a
b
>
S
¯, where S
¯ is the mean value of similarity of all videos, V
I
D
a and V
I
D
b are similar in content. Because each video is corresponding to a relay node, there is a relationship between the similar video set and the relay node set. When a member fetches a video from the server, the server requires that the nodes in the corresponding relay node set buffer and spread the requested video, which is beneficial to speeding up the resource dissemination with the help of multiple relay nodes. The relay nodes send the messages containing current resources to the broker members and require the broker members to spread the resource information in communities. If there are members which are interested in pushed resource, these members connect with the intracommunity relay nodes to obtain the resource. Although the resource dissemination messages lead to the increase in the message overhead, the small number of bandwidth consumptions reduces the lookup delay.


## 5. Testing and Test Results Analysis

### 5.1. Testing Topology and Scenarios

We compare the performance of the proposed IVCCD with a state-of-the-art P2P-based video sharing solution AMCV [28]. The number of video files is 20 and the length of each file is 100 s. IVCCD and AMCV were modeled and implemented in NS-2 where some simulation parameters of the wireless mobile network are listed in Table 1 for the two solutions.Table 1
Simulation parameter setting for wireless mobile network.
Parameters
Values
Area
1000 × 1000 m2
Channel
Channel/WirelessChannel
Network interface
Phy/WirelessPhyExt
MAC interface
Mac/802_11
Number of mobile nodes
500
Mobile speed range of nodes
[1, 20] 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/sBefore the simulation, in terms of created 6,000 playback logs for 30 video files, IVCCD analyzes these logs to group 100 mobile nodes into the communities and group the videos with similar content, and 100 mobile users in AMCV randomly request 20 videos and join into the communities corresponding to 20 videos which are same as those of IVCCD. In the process of simulation, we generate 100 playback logs for the 100 community members; namely, they watch diverse video content according to the playback logs where the watched time is 10 random. Moreover, we also create 100 playback logs for the 100 mobile nodes; namely, they randomly request and play video content (join corresponding communities) according to the created playback logs, where the viewing time also is random. 100 mobile nodes join the system following the Poisson distribution from 0 s to 450 s. In IVCCD and AMCV, all community member only store a video file and the mobile nodes delete the local resource and rebuffer new resources when they play new videos.On the other hand, we use two mobility models. (1) The first is random mobility model (RMM). Initially, the location, speed, and moving target of mobile nodes are randomly assigned. When the mobile nodes arrive at the assigned target, they keep the movement state following the r-assigned random moving target and speed. (2) The second is Gauss-Markov mobility model (GMM) [29]. Initially, the location and moving target of mobile nodes are randomly assigned. The mobile nodes experience the state of acceleration, stable, turn, and deceleration in the process of movement. When the mobile nodes arrive at the assigned target location, they continue to move according to the reassigned target. Because the movement with high speed influences the performance of content delivery such as delay and PLR, the mobile speed range of nodes is set to [
1,20
] m/s. The default distance between server and nodes is set to 6 hops in order to ensure the equitable cost of fetching resources and differentiate the access cost for the server and the mobile nodes. In AMCV, P
T
b and P
T
r are set to 0.2 and 0.12, respectively.


### 5.2. Performance Evaluation

The performance of IVCCD is compared with that of AMCV in terms of average startup delay (ASD), packet loss rate (PLR), throughput, video quality, and overlay maintenance cost, respectively.ASD. Let t
i
(
s
) and t
i
(
r
) be the time of sending request message and receiving first video data of a node n
i, respectively. t
i
(
r
)
-
t
i
(
s
) is considered as the startup delay of n
i. The mean value of startup delay of all nodes during a time interval T denotes ASD.Figures3 and 4 show the performance of ASD of two solutions AMCV and IVCCD in terms of two mobility models: RMM and GMM with the increase in the simulation time, where the time interval T is set to 20 s. As Figure 3 shows, AMCV’s ASD results firstly experience a fall after rise from t
=
0 s to t
=
140 s. AMCV’s curve also fast increases from t
=
160 s to t
=
280 s and fast decreases from t
=
300 s to t
=
500 s. AMCV’s ASD results are in the delay range between 1.2 s and 2.75 s and reach the peak value 2.748 at t
=
280 s. IVCCD’s curve fast increases from t
=
0 s to t
=
100 s and relatively slowly falls with slight fluctuation from t
=
100 s to t
=
200 s. The red curve also fast rises from t
=
220 s to t
=
280 s and slowly decreases to roughly 1 s at t
=
500 s with slight fluctuation. In Figure 4, the two curves corresponding to the delay results of AMCV and IVCCD experience the two processes of rise and fall. The blue curve has a fall after rise with the fluctuation from t
=
0 s to t
=
180 s, starts to increase from t
=
200 s, and decreases from t
=
340 s to t
=
500 s after reaching the peak value (2.571 s) at t
=
340 s. The red curve firstly experiences a fall after rise with the fluctuation from t
=
0 s to t
=
200 s and keeps the fluctuation at high levels. IVCCD’s results also have a fall after rise from t
=
220 s to t
=
500 s and reach the peak value (2.718 s) at t
=
360 s. Although IVCCD’s results are higher than those of AMCV during initial simulation time, IVCCD’s curve maintains lower level than that of AMCV.Figure 3
ASD with RMM against simulation time.Figure 4
ASD with GMM against simulation time.Figures5 and 6 show the performance of ASD of AMCV and IVCCD in terms of RMM and GMM with increasing number of nodes. As Figure 5 shows, AMCV’s blue curve has two processes of rise and fall with increasing number of request nodes and AMCV’s results are in the range (1.55, 2.50). IVCCD’s red curve also experiences the two variation process of rise and fall with the fluctuation and IVCCD’s results are in the range (1.25, 2.20). In Figure 6, AMCV’s blue curve shows a process of rise and fall with the frequent fluctuation and AMCV’s results are in the range (1.45, 2.55). IVCCD’s results are kept in a stable interval (1.3, 2.2) with the fluctuation. IVCCD’s results have both lower values and less fluctuation than those of AMCV.Figure 5
ASD with RMM against number of request nodes.Figure 6
ASD with GMM against number of request nodes.The delay of searching and transmission determines the performance of startup delay. After the construction of communities, AMCV relies on the static and dynamic connections between communities to forward the request message where the dynamic connections are built by the probability of requesting resources of community members. The low accuracy of prediction results leads to the fact that the dynamic connections cannot be built, so that the request messages cannot fast arrive at the suppliers. Moreover, AMCV does not consider the performance of resource delivery between nodes, so that the low delay of data transmission cannot be ensured. On the other hand, if there are no available suppliers in overlay network, the request nodes need to connect with the server to obtain the initial resources. Because the default distance between server and nodes is set to 6 hops, the high data transmission delay also brings negative effects for the startup delay. For instance, AMCV’s ASD value reaches 2.29 s att
=
80 s and IVCCD’s ASD values keep high level from t
=
80 s to t
=
140 s. In IVCCD, the request nodes only search the suppliers in current and adjacent communities, which reduces the searching delay. IVCCD makes use of the buffering and dissemination of resources of relay nodes to enlarge the coverage range of requested resources in overlay network, which further reduces the searching delay of resources. Moreover, IVCCD investigates the serving capacities of community members and the requested nodes can select the optimal suppliers to improve the delivery performance. Therefore, IVCCD’s ASD results are better than those of AMCV.Packet Loss Rate (PLR). Let N
s and N
r be the number of sent and received packets, respectively. The mean value of ratio between N
s
-
N
r and N
s during a time interval T is defined as PLR.Figures7 and 8 show the PLR performance of AMCV and IVCCD in terms of RMM and GMM with increasing simulation time, where the time interval T is set to 50 s. As Figure 7 shows, the curves of AMCV and IVCCD have similar changing process; namely, they experience fall after fast rise with the increase in the simulation time, where T is set to 50 s. Although IVCCD’s curve keeps higher level than that of AMCV from t
=
150 s to t
=
200 s, AMCV’s results have both larger PLR values and higher increment than those of IVCCD where the curves of AMCV and IVCCD reach the peak value 0.44 and 0.38 at t
=
350 s, respectively. In Figure 8, the results of AMCV and IVCCD show the trend of fall after rise during the whole simulation time. The curve of IVCCD is higher than that of AMCV from t
=
0 s to t
=
200 s, but it has lower increment and peak value than those of AMCV from t
=
250 s to t
=
500 s.Figure 7
PLR with RMM against simulation time.Figure 8
PLR with GMM against simulation time.Figures9 and 10 show the PLR performance of AMCV and IVCCD in terms of RMM and GMM with the increase in the number of nodes. As Figure 9 shows, the curves of AMCV and IVCCD also have a rise trend with the increase in the number of request nodes, where T is defined as the time when every 20 request nodes start to search resources. The AMCV results are between [0.03, 0.41] and reach the peak value 0.41 when the number of request nodes is 200. The red curve corresponding to the IVCCD results is between 0.04 and 0.37 and keeps lower levels than that of AMCV. The IVCCD results are roughly 10% lower than those of AMCV. In Figure 10, AMCV’s curve experiences the three processes: slow rise and fast and stable increase. IVCCD’s results have slow increase and keep uniform rise. Although the IVCCD’s curve is higher than that of AMCV during initial stage, IVCCD’s results are lower than those of AMCV during the later period of increase in the number of nodes.Figure 9
PLR with RMM against number of request nodes.Figure 10
PLR with GMM against number of request nodes.Initially, because the small number of nodes request videos, the relatively enough network bandwidth can support the high-efficiency delivery; namely, the PLR results of two solutions keep low levels. When the number of request nodes increases, the available network bandwidth is consumed fast so that the PLR results of AMCV and IVCCD fast increase due to the network congestion. Because the request nodes stop the resource searching fromt = 450 s to t = 500 s and some of them have finished video playback, the fast decrease of congestion levels and network traffic lead to fast fall of two curves. On the other hand, AMCV only focus on the efficiency of resource searching and neglect the performance of content delivery. The nodes in AMCV cannot select the optimal suppliers, which leads to the fact that the delivery process of content is subjected to the severe negative influence in wireless mobile network. The high mobility of mobile nodes results in the fast change of geographical distance between two communication parties, which introduces the jitter of delivery performance and increases the probabilities of packet loss. IVCCD investigates the interaction between nodes and the serving capacities of nodes to build the communities. Moreover, the relay nodes can assist spreading resources to multiple communities, which enhances the probabilities of intracommunity delivery. Therefore, the request nodes select optimal suppliers, which ensures high-efficiency data transmission.Average Throughput. Let N
p
r and s
i
z
e
p be the number and size of packets received in the overlay during a certain time period T, respectively. The ratio between N
p
r
×
s
i
z
e
p and T is defined as the average throughput, where T is set to 20 s.Figures11 and 12 show the average throughput performance of AMCV and IVCCD in terms of RMM and GMM with increasing simulation time, where the time interval T is set to 20 s. As Figure 11 shows, the curves of average throughput of AMCV and IVCCD have similar changing trend with increasing simulation time. The blue curve corresponding to AMCV’s results fast increases from t
=
0 s to t
=
300 s and keeps a slight rise from t
=
320 s to t
=
440 s. AMCV’s results decrease to 4465 kb/s from t
=
460 s to t
=
500 s. IVCCD’s red curve keeps a fast rise from t
=
0 s to t
=
100 s and slowly increases from t
=
120 s to t
=
140 s. This red curve also fast increases from t
=
160 s to t
=
440 s and finally decreases to 4842 kb/s at t
=
500 s. Although IVCCD’s curve is lower than that of AMCV from t
=
120 s to t
=
240 s, the increment and peak value of IVCCD results are larger than those of AMCV. In Figure 12, the two curves of AMCV and IVCCD also have similar variation process during the whole simulation time. The blue curve fast increases from t
=
0 s to t
=
200 s, keeps slow rise from t
=
220 s to t
=
420 s, and fast decreases after reaching the peak value at t
=
420 s. The red curve also has a fast rise from t
=
0 s to t
=
280 s, keeps slow increase from t
=
300 s to t
=
440 s, and starts to fall from t
=
460 s to t
=
500 s. Although IVCCD’s results are less than those of AMCV from t
=
0 s to t
=
200 s, IVCCD’s curve is higher than that of AMCV and has larger peak value than that of AMCV.Figure 11
Throughput with RMM against simulation time.Figure 12
Throughput with GMM against simulation time.The mobile nodes for two solutions AMCV and IVCCD request and fetch the video content following a Poisson distribution fromt
=
0 s to t
=
450 s. The increase in the number of request nodes causes fast rise of network traffic. The two curves corresponding to AMCV and IVCCD fast increase from t
=
0 s to t
=
440 s and rapidly fall from t
=
460 s to t
=
500 s due to the decrease in the amount of video streaming. Because the high traffic is greater than the available network bandwidth, the generated network congestion leads to high PLR so that the throughput of AMCV and IVCCD keeps slow increase from t
=
300 s to t
=
440 s. In AMCV, the request nodes randomly select the suppliers, so the delivery performance of video content is subjected to severe influence by the network congestion and mobility of nodes. In IVCCD, the request nodes select the suppliers with maximum serving capacities, which reduce the negative effects by the network congestion and mobility of nodes. Therefore, the delivery performance of IVCCD including average throughput and PLR is better than that of AMCV.Video Quality. Let E
X
P
_
T
h
r and C
R
T
_
T
h
r be the average throughput expected from the video delivery and actual throughput measured, respectively. M
A
X
_
B
i
t denotes the average bitrate of the video stream and M
A
X
_
B
i
t and E
X
P
_
T
h
r are set to 128 kb/s according to the simulation settings. We make use of the Peak Signal-to-Noise Ratio (PSNR) to measure the video quality of two solutions in decibels (dB) [30]. The PSNR value is calculated according to(4)
P
S
N
R
=
20
·
log
10
⁡
M
A
X
_
B
i
t
E
X
P
_
T
h
r
-
C
R
T
_
T
h
r
2
.Figures13 and 14 show the PSNR performance of AMCV and IVCCD in terms of RMM and GMM with increasing number of request nodes. Figure 13 shows PSNR values of AMCV and IVCCD for the single video streaming corresponding to every request node with the increase in the number of request nodes. The two curves of AMCV and IVCCD have a fast fall trend, where AMCV’s results are in the range [
7
,
30
] and IVCCD’s results are between 8 dB and 28 dB. In Figure 14, AMCV’s results fast decrease with the increase in the number of request nodes. However, IVCCD’s results keep a stable decrease. Although the IVCCD’s results are lower than those of AMCV in the initial phase, IVCCD’s bars are higher than those of AMCV in the later stage.Figure 13
PSNR with RMM against number of request nodes.Figure 14
PSNR with GMM against number of request nodes.PSNR represents the watched quality of users and includes some key impact factors such as throughput and stream bitrate. With the increase in the number of request nodes, the huge traffic triggers the network congestion, which seriously limits the increase of throughput due to high PLR. In other words, PSNR values keep low level with decreasing throughput. In AMCV, the performance of content delivery between request nodes and suppliers is subjected to the influence by the node mobility and network congestion. In IVCCD, the high-efficiency data transmission benefit from the strong serving capacities of suppliers. Therefore, the congestion period time is longer than that of IVCCD and the decrement of AMCV’s PSNR values is larger than that of IVCCD.Maintenance Overhead. The maintenance cost of overlay topology mainly includes the management of member state, forwarded request message, and interaction between communities. We use the average bandwidth used by the sent messages for maintaining the overlay topology to denote the maintenance overhead.As Figure15 shows, the two curves of AMCV and IVCCD have fast rise trajectory with the increase in the simulation time. AMCV’s blue curve keeps fast rise from t
=
50 s to t
=
450 s and slightly decreases at t
=
500 s. IVCCD’s red curve maintains a slow increase from t
=
50 s to t
=
450 s and finally decreases at t
=
500 s. The increment and peak value of AMCV’s results are larger than those of IVCCD.Figure 15
Maintenance overhead against simulation time.In AMCV, the broker members need to forward and handle the messages of requesting resources and member state and maintain the static and dynamic connections with other communities. The increase in the number of request nodes and dynamic connections leads to high load of broker members, which limits the system scalability. Moreover, the frequent change of requested content of community members causes the continuous movement of nodes between communities. The fragile community structure further increases the maintenance cost. However, IVCCD has stable community structure and the dynamic change of requested videos of members cannot cause the community reconstruction. Although the broker members assist spreading resource information in communities and the bridged members maintain the connections with other communities, the range of message dissemination is relatively limited and is low frequency. Therefore, IVCCD’s maintenance overhead keeps lower levels than that of AMCV.


## 5.1. Testing Topology and Scenarios

We compare the performance of the proposed IVCCD with a state-of-the-art P2P-based video sharing solution AMCV [28]. The number of video files is 20 and the length of each file is 100 s. IVCCD and AMCV were modeled and implemented in NS-2 where some simulation parameters of the wireless mobile network are listed in Table 1 for the two solutions.Table 1
Simulation parameter setting for wireless mobile network.
Parameters
Values
Area
1000 × 1000 m2
Channel
Channel/WirelessChannel
Network interface
Phy/WirelessPhyExt
MAC interface
Mac/802_11
Number of mobile nodes
500
Mobile speed range of nodes
[1, 20] 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/sBefore the simulation, in terms of created 6,000 playback logs for 30 video files, IVCCD analyzes these logs to group 100 mobile nodes into the communities and group the videos with similar content, and 100 mobile users in AMCV randomly request 20 videos and join into the communities corresponding to 20 videos which are same as those of IVCCD. In the process of simulation, we generate 100 playback logs for the 100 community members; namely, they watch diverse video content according to the playback logs where the watched time is 10 random. Moreover, we also create 100 playback logs for the 100 mobile nodes; namely, they randomly request and play video content (join corresponding communities) according to the created playback logs, where the viewing time also is random. 100 mobile nodes join the system following the Poisson distribution from 0 s to 450 s. In IVCCD and AMCV, all community member only store a video file and the mobile nodes delete the local resource and rebuffer new resources when they play new videos.On the other hand, we use two mobility models. (1) The first is random mobility model (RMM). Initially, the location, speed, and moving target of mobile nodes are randomly assigned. When the mobile nodes arrive at the assigned target, they keep the movement state following the r-assigned random moving target and speed. (2) The second is Gauss-Markov mobility model (GMM) [29]. Initially, the location and moving target of mobile nodes are randomly assigned. The mobile nodes experience the state of acceleration, stable, turn, and deceleration in the process of movement. When the mobile nodes arrive at the assigned target location, they continue to move according to the reassigned target. Because the movement with high speed influences the performance of content delivery such as delay and PLR, the mobile speed range of nodes is set to [
1,20
] m/s. The default distance between server and nodes is set to 6 hops in order to ensure the equitable cost of fetching resources and differentiate the access cost for the server and the mobile nodes. In AMCV, P
T
b and P
T
r are set to 0.2 and 0.12, respectively.


## 5.2. Performance Evaluation

The performance of IVCCD is compared with that of AMCV in terms of average startup delay (ASD), packet loss rate (PLR), throughput, video quality, and overlay maintenance cost, respectively.ASD. Let t
i
(
s
) and t
i
(
r
) be the time of sending request message and receiving first video data of a node n
i, respectively. t
i
(
r
)
-
t
i
(
s
) is considered as the startup delay of n
i. The mean value of startup delay of all nodes during a time interval T denotes ASD.Figures3 and 4 show the performance of ASD of two solutions AMCV and IVCCD in terms of two mobility models: RMM and GMM with the increase in the simulation time, where the time interval T is set to 20 s. As Figure 3 shows, AMCV’s ASD results firstly experience a fall after rise from t
=
0 s to t
=
140 s. AMCV’s curve also fast increases from t
=
160 s to t
=
280 s and fast decreases from t
=
300 s to t
=
500 s. AMCV’s ASD results are in the delay range between 1.2 s and 2.75 s and reach the peak value 2.748 at t
=
280 s. IVCCD’s curve fast increases from t
=
0 s to t
=
100 s and relatively slowly falls with slight fluctuation from t
=
100 s to t
=
200 s. The red curve also fast rises from t
=
220 s to t
=
280 s and slowly decreases to roughly 1 s at t
=
500 s with slight fluctuation. In Figure 4, the two curves corresponding to the delay results of AMCV and IVCCD experience the two processes of rise and fall. The blue curve has a fall after rise with the fluctuation from t
=
0 s to t
=
180 s, starts to increase from t
=
200 s, and decreases from t
=
340 s to t
=
500 s after reaching the peak value (2.571 s) at t
=
340 s. The red curve firstly experiences a fall after rise with the fluctuation from t
=
0 s to t
=
200 s and keeps the fluctuation at high levels. IVCCD’s results also have a fall after rise from t
=
220 s to t
=
500 s and reach the peak value (2.718 s) at t
=
360 s. Although IVCCD’s results are higher than those of AMCV during initial simulation time, IVCCD’s curve maintains lower level than that of AMCV.Figure 3
ASD with RMM against simulation time.Figure 4
ASD with GMM against simulation time.Figures5 and 6 show the performance of ASD of AMCV and IVCCD in terms of RMM and GMM with increasing number of nodes. As Figure 5 shows, AMCV’s blue curve has two processes of rise and fall with increasing number of request nodes and AMCV’s results are in the range (1.55, 2.50). IVCCD’s red curve also experiences the two variation process of rise and fall with the fluctuation and IVCCD’s results are in the range (1.25, 2.20). In Figure 6, AMCV’s blue curve shows a process of rise and fall with the frequent fluctuation and AMCV’s results are in the range (1.45, 2.55). IVCCD’s results are kept in a stable interval (1.3, 2.2) with the fluctuation. IVCCD’s results have both lower values and less fluctuation than those of AMCV.Figure 5
ASD with RMM against number of request nodes.Figure 6
ASD with GMM against number of request nodes.The delay of searching and transmission determines the performance of startup delay. After the construction of communities, AMCV relies on the static and dynamic connections between communities to forward the request message where the dynamic connections are built by the probability of requesting resources of community members. The low accuracy of prediction results leads to the fact that the dynamic connections cannot be built, so that the request messages cannot fast arrive at the suppliers. Moreover, AMCV does not consider the performance of resource delivery between nodes, so that the low delay of data transmission cannot be ensured. On the other hand, if there are no available suppliers in overlay network, the request nodes need to connect with the server to obtain the initial resources. Because the default distance between server and nodes is set to 6 hops, the high data transmission delay also brings negative effects for the startup delay. For instance, AMCV’s ASD value reaches 2.29 s att
=
80 s and IVCCD’s ASD values keep high level from t
=
80 s to t
=
140 s. In IVCCD, the request nodes only search the suppliers in current and adjacent communities, which reduces the searching delay. IVCCD makes use of the buffering and dissemination of resources of relay nodes to enlarge the coverage range of requested resources in overlay network, which further reduces the searching delay of resources. Moreover, IVCCD investigates the serving capacities of community members and the requested nodes can select the optimal suppliers to improve the delivery performance. Therefore, IVCCD’s ASD results are better than those of AMCV.Packet Loss Rate (PLR). Let N
s and N
r be the number of sent and received packets, respectively. The mean value of ratio between N
s
-
N
r and N
s during a time interval T is defined as PLR.Figures7 and 8 show the PLR performance of AMCV and IVCCD in terms of RMM and GMM with increasing simulation time, where the time interval T is set to 50 s. As Figure 7 shows, the curves of AMCV and IVCCD have similar changing process; namely, they experience fall after fast rise with the increase in the simulation time, where T is set to 50 s. Although IVCCD’s curve keeps higher level than that of AMCV from t
=
150 s to t
=
200 s, AMCV’s results have both larger PLR values and higher increment than those of IVCCD where the curves of AMCV and IVCCD reach the peak value 0.44 and 0.38 at t
=
350 s, respectively. In Figure 8, the results of AMCV and IVCCD show the trend of fall after rise during the whole simulation time. The curve of IVCCD is higher than that of AMCV from t
=
0 s to t
=
200 s, but it has lower increment and peak value than those of AMCV from t
=
250 s to t
=
500 s.Figure 7
PLR with RMM against simulation time.Figure 8
PLR with GMM against simulation time.Figures9 and 10 show the PLR performance of AMCV and IVCCD in terms of RMM and GMM with the increase in the number of nodes. As Figure 9 shows, the curves of AMCV and IVCCD also have a rise trend with the increase in the number of request nodes, where T is defined as the time when every 20 request nodes start to search resources. The AMCV results are between [0.03, 0.41] and reach the peak value 0.41 when the number of request nodes is 200. The red curve corresponding to the IVCCD results is between 0.04 and 0.37 and keeps lower levels than that of AMCV. The IVCCD results are roughly 10% lower than those of AMCV. In Figure 10, AMCV’s curve experiences the three processes: slow rise and fast and stable increase. IVCCD’s results have slow increase and keep uniform rise. Although the IVCCD’s curve is higher than that of AMCV during initial stage, IVCCD’s results are lower than those of AMCV during the later period of increase in the number of nodes.Figure 9
PLR with RMM against number of request nodes.Figure 10
PLR with GMM against number of request nodes.Initially, because the small number of nodes request videos, the relatively enough network bandwidth can support the high-efficiency delivery; namely, the PLR results of two solutions keep low levels. When the number of request nodes increases, the available network bandwidth is consumed fast so that the PLR results of AMCV and IVCCD fast increase due to the network congestion. Because the request nodes stop the resource searching fromt = 450 s to t = 500 s and some of them have finished video playback, the fast decrease of congestion levels and network traffic lead to fast fall of two curves. On the other hand, AMCV only focus on the efficiency of resource searching and neglect the performance of content delivery. The nodes in AMCV cannot select the optimal suppliers, which leads to the fact that the delivery process of content is subjected to the severe negative influence in wireless mobile network. The high mobility of mobile nodes results in the fast change of geographical distance between two communication parties, which introduces the jitter of delivery performance and increases the probabilities of packet loss. IVCCD investigates the interaction between nodes and the serving capacities of nodes to build the communities. Moreover, the relay nodes can assist spreading resources to multiple communities, which enhances the probabilities of intracommunity delivery. Therefore, the request nodes select optimal suppliers, which ensures high-efficiency data transmission.Average Throughput. Let N
p
r and s
i
z
e
p be the number and size of packets received in the overlay during a certain time period T, respectively. The ratio between N
p
r
×
s
i
z
e
p and T is defined as the average throughput, where T is set to 20 s.Figures11 and 12 show the average throughput performance of AMCV and IVCCD in terms of RMM and GMM with increasing simulation time, where the time interval T is set to 20 s. As Figure 11 shows, the curves of average throughput of AMCV and IVCCD have similar changing trend with increasing simulation time. The blue curve corresponding to AMCV’s results fast increases from t
=
0 s to t
=
300 s and keeps a slight rise from t
=
320 s to t
=
440 s. AMCV’s results decrease to 4465 kb/s from t
=
460 s to t
=
500 s. IVCCD’s red curve keeps a fast rise from t
=
0 s to t
=
100 s and slowly increases from t
=
120 s to t
=
140 s. This red curve also fast increases from t
=
160 s to t
=
440 s and finally decreases to 4842 kb/s at t
=
500 s. Although IVCCD’s curve is lower than that of AMCV from t
=
120 s to t
=
240 s, the increment and peak value of IVCCD results are larger than those of AMCV. In Figure 12, the two curves of AMCV and IVCCD also have similar variation process during the whole simulation time. The blue curve fast increases from t
=
0 s to t
=
200 s, keeps slow rise from t
=
220 s to t
=
420 s, and fast decreases after reaching the peak value at t
=
420 s. The red curve also has a fast rise from t
=
0 s to t
=
280 s, keeps slow increase from t
=
300 s to t
=
440 s, and starts to fall from t
=
460 s to t
=
500 s. Although IVCCD’s results are less than those of AMCV from t
=
0 s to t
=
200 s, IVCCD’s curve is higher than that of AMCV and has larger peak value than that of AMCV.Figure 11
Throughput with RMM against simulation time.Figure 12
Throughput with GMM against simulation time.The mobile nodes for two solutions AMCV and IVCCD request and fetch the video content following a Poisson distribution fromt
=
0 s to t
=
450 s. The increase in the number of request nodes causes fast rise of network traffic. The two curves corresponding to AMCV and IVCCD fast increase from t
=
0 s to t
=
440 s and rapidly fall from t
=
460 s to t
=
500 s due to the decrease in the amount of video streaming. Because the high traffic is greater than the available network bandwidth, the generated network congestion leads to high PLR so that the throughput of AMCV and IVCCD keeps slow increase from t
=
300 s to t
=
440 s. In AMCV, the request nodes randomly select the suppliers, so the delivery performance of video content is subjected to severe influence by the network congestion and mobility of nodes. In IVCCD, the request nodes select the suppliers with maximum serving capacities, which reduce the negative effects by the network congestion and mobility of nodes. Therefore, the delivery performance of IVCCD including average throughput and PLR is better than that of AMCV.Video Quality. Let E
X
P
_
T
h
r and C
R
T
_
T
h
r be the average throughput expected from the video delivery and actual throughput measured, respectively. M
A
X
_
B
i
t denotes the average bitrate of the video stream and M
A
X
_
B
i
t and E
X
P
_
T
h
r are set to 128 kb/s according to the simulation settings. We make use of the Peak Signal-to-Noise Ratio (PSNR) to measure the video quality of two solutions in decibels (dB) [30]. The PSNR value is calculated according to(4)
P
S
N
R
=
20
·
log
10
⁡
M
A
X
_
B
i
t
E
X
P
_
T
h
r
-
C
R
T
_
T
h
r
2
.Figures13 and 14 show the PSNR performance of AMCV and IVCCD in terms of RMM and GMM with increasing number of request nodes. Figure 13 shows PSNR values of AMCV and IVCCD for the single video streaming corresponding to every request node with the increase in the number of request nodes. The two curves of AMCV and IVCCD have a fast fall trend, where AMCV’s results are in the range [
7
,
30
] and IVCCD’s results are between 8 dB and 28 dB. In Figure 14, AMCV’s results fast decrease with the increase in the number of request nodes. However, IVCCD’s results keep a stable decrease. Although the IVCCD’s results are lower than those of AMCV in the initial phase, IVCCD’s bars are higher than those of AMCV in the later stage.Figure 13
PSNR with RMM against number of request nodes.Figure 14
PSNR with GMM against number of request nodes.PSNR represents the watched quality of users and includes some key impact factors such as throughput and stream bitrate. With the increase in the number of request nodes, the huge traffic triggers the network congestion, which seriously limits the increase of throughput due to high PLR. In other words, PSNR values keep low level with decreasing throughput. In AMCV, the performance of content delivery between request nodes and suppliers is subjected to the influence by the node mobility and network congestion. In IVCCD, the high-efficiency data transmission benefit from the strong serving capacities of suppliers. Therefore, the congestion period time is longer than that of IVCCD and the decrement of AMCV’s PSNR values is larger than that of IVCCD.Maintenance Overhead. The maintenance cost of overlay topology mainly includes the management of member state, forwarded request message, and interaction between communities. We use the average bandwidth used by the sent messages for maintaining the overlay topology to denote the maintenance overhead.As Figure15 shows, the two curves of AMCV and IVCCD have fast rise trajectory with the increase in the simulation time. AMCV’s blue curve keeps fast rise from t
=
50 s to t
=
450 s and slightly decreases at t
=
500 s. IVCCD’s red curve maintains a slow increase from t
=
50 s to t
=
450 s and finally decreases at t
=
500 s. The increment and peak value of AMCV’s results are larger than those of IVCCD.Figure 15
Maintenance overhead against simulation time.In AMCV, the broker members need to forward and handle the messages of requesting resources and member state and maintain the static and dynamic connections with other communities. The increase in the number of request nodes and dynamic connections leads to high load of broker members, which limits the system scalability. Moreover, the frequent change of requested content of community members causes the continuous movement of nodes between communities. The fragile community structure further increases the maintenance cost. However, IVCCD has stable community structure and the dynamic change of requested videos of members cannot cause the community reconstruction. Although the broker members assist spreading resource information in communities and the bridged members maintain the connections with other communities, the range of message dissemination is relatively limited and is low frequency. Therefore, IVCCD’s maintenance overhead keeps lower levels than that of AMCV.


## 6. Conclusion

In this paper, we propose a novel interaction-aware community-based video sharing solution (IVCCD) in wireless mobile networks. IVCCD constructs a directed graph-based interaction model according to the analysis of interaction behaviors between the mobile users. In order to obtain scalable and robust community structure, IVCCD partitions nodes in graph in terms of the node degree and uses the weight values of edges and serving capacities of nodes as refined rules to generate the node community. IVCCD employs a multiple role-based community member management mechanism to balance the community maintenance cost and optimize resource distribution. IVCCD analyzes the resource dissemination process in overlay networks and uses the resource push and prebuffering approach to improve the performance of resource searching. The simulation results based on the two mobility models, random and Gauss-Markov mobility model, show how IVCCD has lower average startup delay, less packet loss rate, higher throughput, higher video quality, and lower maintenance overhead than AMCV. The simulation results also show that the mobility is an important influence factor for the performance of multimedia streaming systems. In the future work, we focus on the modeling of mobility of mobile nodes and the evaluation of mobility influence for the performance of multimedia streaming systems.



---

*Source: 4047213-2016-06-26.xml*