INTRODUCTION
Currently, internet is very important for our daily life. We use internet to
access various kinds of information and media (Mayadas et
al., 2009; Smith, 2009). Among them, network
transmission intensive applications such as file sharing and streaming are very
popular (Jurca et al., 2007). For more and more
applications require network to transmit data, many of these applications suffer
from network congestion, jitter and packets loss (Setton
et al., 2006; Hei et al., 2008). More
and more people tend to have broader bandwidth and more reliable network links.
But in most cases, the present available network infrastructure is not powerful
enough to satisfy these demands. Network infrastructure is becoming a precious
resource in modern society.
However, current applications only optimize for their own performance and neglect
saving network transmission resources (Mushtaq and Ahmed,
2006). Let us consider Peer-to-Peer (P2P) multicasting (Peltotalo
et al., 2008), which is focused in many works (Narayanan
et al., 2007; Padmanabhan et al., 2002).
Data transmission performance of P2P overlay differs from that of network layer
(Yu et al., 2007). But in practice, if network
layer performance is not considered, ideal overlay performance can not be approached
(Liao et al., 2007). Among the current available
P2P streaming techniques, Application Level Multicast Infrastructure (ALMI)
(Pendakaris and Shi, 2001) is optimized for total performance
of the whole system.
Randomized tree and deterministic tree for streaming multicasting are analyzed
in (Padmanabhan et al., 2003). In relatively deeper
randomized trees, the nodes select parents at random. Transmission delays are
accumulated along the paths. While, in the deterministic ones, each node tries
to select parent node with least children. Thus, loads between the parent nodes
are balanced; depth of the trees is also decreased. Yu and
Wang (2007) all nodes in the same subnet are clustered as neighbors. Each
node tries to get data from its neighbors at first. It improves the routing
performance of structured P2P network dramatically. However, the strategy is
only effective when the nodes are in the same subnet. It doesnt work well
in general network conditions. Hybrid multicast may provide a better solution
(Buford and Kolberg, 2009). However, the total transmission
cost is not considered. Round Trip Time (RTT) based fuzzy clustering reduces
transmission latency significantly (Bing et al.,
2008). This method is optimized for source-to-end transmission latency.
In ALMI (Pendakaris and Shi, 2001) all peers form a Minimum
Spanning Tree (MST) (Pettie and Ramachandran, 2002).
Transmission performance of the whole system is improved significantly. But
all the peers in the whole system should be known before the multicasting tree
is constructed. Otherwise, the newcomer makes the system suffer resource consuming
reorganization. So, it is not suitable for applications in which the peers may
join and leave at anytime. These strategies are not optimized for transmission
resource saving.
In order to use network transmission resource more effectively, transmission
delay based network friendly tree is introduce in previous work (Peng
et al., 2008, 2009). In this study, network
transmission is analyzed and the factors which influence network transmission
resource occupation are discovered. Then, quantitative analysis of transmission
cost is carried out and the transmission resource occupation metrics for applications
are proposed. According to the model, Transmission Resources Saving Tree (TRST)
which can use the transmission resource more effectively is proposed. Simulation
results show that it exceeds other overlay tree construction strategies.
TRANSMISSION RESOURCE OCCUPATION ANALYSIS
Currently, the processing capability of computers is increasing constantly. In most cases, we have abundant power at the computing nodes to handle the data. But with a constantly increasing amount of data being transmitted along the network paths, more and more applications suffer from network congestion, jitter and packet losses. We can infer that, in the current Internet environment, the transmission resource is becoming a precious resource. So, we should use it with restraint.
There are a couple of studies focusing on analyzing transmission cost of the
Internet. Traditionally, transmission cost comprises data queuing, switching,
dispatching and link cost. This model is concise and works well in some cases.
However, these factors are not easy to obtain at the application layer. It is
not suitable for transmission cost evaluation for P2P multicasting applications.
An active network is a programmable network, each node has computing capability.
It has the capability to compute and modify data transmitting across itself
(Najafi and Leon-Garcia, 2000). In an active network,
the bandwidth occupation and processing capability of the nodes are balanced,
thus, routing and resource reserving strategy is approached. But, its advantages
and transmission cost model dont take effect in a traditional network,
for processing capability of nodes is not available. Sonia
and Minseok (2007), hops and link stress are used to evaluate network transmission
cost. Nevertheless, in practice, it is not easy to obtain physical transmission
path of the packets. Hence, this strategy is hard to deploy in practical applications.
Influence factors: In streaming multicasting, media data are transmitted across a network infrastructure. Data transmission performance is influenced by capability of network facilities, background data flow and other factors. These factors should be considered in the transmission resource occupation model. Nevertheless, data sent by other applications is hard to manage. So, for a specified application, the practical way to save transmission resource is by cutting down its own transmission resource occupation. For live multicasting applications, the transmission resource occupation model should be based on two basic facts:
• |
During network transmission, media data travel across nodes
and links to reach the destination nodes. Both link resources and node resources
are needed during this process. According to this fact, transmission resource
occupation comprises node and link resources |
• |
Occupied node resource can be evaluated according to transmission
related resource occupation, such as CPU and memory usage. Occupied link
resource can be considered by means of available bandwidth, required bandwidth,
delay, jitter, etc |
Among them, transmission delay and jitter characteristics are important (Jun
et al., 2003). Thus, transmission resource occupation can be denoted
as a tuple of three variables:
Where:
Media |
= |
Transmitted media type |
Onode |
= |
Occupied resource at nodes |
Bw |
= |
Used bandwidth ratio of the node |
Memory |
= |
The memory occupied |
CPU |
= |
CPU occupation rate |
Olink |
= |
Occupied resource at links |
Br |
= |
Payload bitrate of multicasting |
Delay |
= |
Transmission delay between adjacent nodes |
Jitter |
= |
Transmission delay jitters |
LossRate |
= |
Packets loss rate |
Hope |
= |
Router hops between two nodes |
Transmission resource occupation of multicasting is influenced by media data
and resource occupation of nodes and links. Occupied node resource is determined
by used bandwidth, available bandwidth, memory and CPU processing power. Occupied
link resource is determined by payload bitrate, transmission delay, jitter,
packets loss rate and hops.
Transmission resource occupation model: A modern network consists of routers, links and other facilities. They work as a whole system to serve the applications. In practice, it is very hard to measure resource occupation at each network component. So, we need a method to evaluate resource occupation of the whole network system. Network resource occupied by the specified application is useful to evaluate its transmission cost.
In all Internet applications, the network resource is occupied by the application
only when corresponding data are traveling along the network links. In practice,
data from various hosts and applications are traveling along the network links.
It is very hard to measure and analyze all these data in detail. On the other
hand, for a specified application, only data of the application itself is manageable.
So, analyzing data transmission of other applications is not meaningful for
a specified application.
For any multimedia multicasting applications, media data is transmitted from a source node to destination one. When the data is sent by the source node and is still not received by the destination, it is traveling along the network infrastructure. In practice, the infrastructure has its own capability to serve the data. When the quantity of the data is too large, congestion would occur and excessive data may be discarded. In other words, network infrastructure has a limited data capacity. If this capacity is exceeded, problems will occur. Thus, there is another easy way to evaluate network resource occupation. That is the quantity upper limit of the data transmitting along the network infrastructure.
|
Fig. 1: |
Data
transmission between source and destination |
To make the problem easy to characterize, the basic model of data transmission
is shown in Fig. 1. We consider data transmission between
two nodes, which are denoted as src and dst. The source is sending data to the
destination from the beginning of the application. Quantity of sent data of
src at any given time t is denoted as s(t). Quantity of received data of dst
at the same time t is denoted as r(t). Thus, at any given time T, quantity of
transmitted data which are still in the network infrastructure can be denoted
as s(t)-r(t). Occupied network transmission resource until T is given in Eq.
5.
During P2P multicasting, network delay, jitter, loss rate and hops also have influence on network resource usage. Loss rate means more data should be transmitted to compensate it. Jitter and hops mean resource occupation of network infrastructure. If these factors are considered, transmission resource occupation between src and dst can be evaluated according to. In, transmission path between src and dst is denoted as link:
Where:
OLlink (T) |
= |
Occupied transmission resource until T corresponding to link
e |
b |
= |
Bitrate of multicast streaming |
d |
= |
Transmission delay |
j |
= |
Transmission jitter |
h |
= |
Hops along link |
l |
= |
Loss rate |
λ |
= |
Weight for jitter |
γ |
= |
Weight of hops |
In Eq. 6, 0 ≤λ≤ 1, 0 ≤γ≤1. For jitter
and hops do not influence network resource occupation significantly, in our
experiments, λ is set to 0.2, γ is set to 0.02.
Node resource occupation can be evaluated according to CPU, memory and bandwidth occupation ratio. Quantitative index for node n1 is given in Eq. 7.
Where:
ONni (T) |
= |
Occupied resource at node pi until T |
CPUi |
= |
CPU processing power occupation ratio of ni |
Memory |
= |
Used memory ratio |
Bwi |
= |
Used bandwidth ratio of network interface at ni |
w1 |
= |
Weight of CPU power |
w2 |
= |
Weight of memory |
w3 |
= |
Weight of bandwidth |
If a peer needs to serve another child peer, available CPU power, memory and
bandwidth of it should be enough to serve one more child. So, fan out degree
of p1 can be given as Eq. 8:
Transmission resource occupation metrics: In P2P multicasting, the peers duplicate the received data and transmit them to other peers through network links. The peers and the network links form the whole P2P multicasting system. We consider the whole multicasting system as a graph G = (N, L), where, N is the set of nodes and L is the set of links. niεN denotes a node and liεL denotes a link along which data are transmitted from the parent node to one child node. Then, average transmission resource occupation of the nodes is given as Eq. 9. We use it as transmission resource occupation metrics:
In Eq. 9, n stands for the number of nodes in the whole P2P system. OLli is calculated according to Eq. 6, ONni is calculated according to Eq. 7. Here, Oa stands for the average transmission resource occupation of the peers in the P2P multicasting tree. We call it average transmission cost.
In most cases, network transmission resource is precious; however, the process capability of the peers is abundant. Accordingly, it is in practice, reasonable that only the network link resource is considered in transmission resource occupation metrics. Node resource occupation is considered as fan out degree limit. It is used to determine whether another child peer can be added.
PROPOSED STRATEGY
In P2P multicasting, when media data are transmitted along the network path, transmission resource is occupied. For current available network infrastructure has its own limitation of transmission capability. If the application reduces their network resource consumption, network transmission resource will be economized. Thus, network condition will be better and it is easier to ensure transmission QoS for the streaming applications. In order to achieve this objective, TRST is proposed.
In TRST, transmission resource consumption between the peers is calculated; then, the P2P multicasting tree is organized with consideration of minimizing transmission resource occupation.
Transmission resource occupation detecting: The transmission resource
occupation related parameter detecting process is conducted as follows. When
pi wants to detect transmission related parameters between itself
and pj, it sends t network condition detecting packets to pj.
In our implementation, UDP packets with the time stamp of sending are employed.
Packets with different payload size are used to measure available bandwidth.
At the same time, it starts to receive the packets returned from pj.
When pj receives the detecting packets, it sends them back immediately.
After all the detecting packets are sent, pi waits until overtime
threshold toverlime expires. Then, pi terminates the packet
receiving process. According to the received packets of pi, transmission
delay, jitter and other related parameters are computed. Available bandwidth
between pi and pj is figured out according to pathload
(Jain and Dovrolis, 2003). Jitter and loss rate of the
packets are also calculated. Hops are also obtained according to the returned
packets. Thus, related parameters of the possible network paths are found out.
Tree construction: When a peer wants to join a P2P system, it may choose
any peer which is already in the P2P system as parent peer. Transmission resource
occupation introduced varies according to which peer is selected as parent.
So, the new peer should choose parent peer carefully to improve the performance
of the whole system. If it chooses a parent peer at random or without consideration
of resource saving, the expected transmission resource occupation is the mean
value of all the possible transmission resource occupations. If the new peer
detects transmission resource occupation between more peers and selects the
peer with least resource occupation as parent, transmission resource can be
saved. Accordingly, TRST is proposed as following.
|
Fig. 2: |
Construction
process of transmission resource saving tree |
As shown in Fig. 2, when a new peer N wants to enter the
P2P streaming system, it sends a request to the P2P system and gets the list
of the peers. When the P2P system is too large, only a subset of the peers in
the system is contained in the list. Then, N sends detecting packets to the
peers in the list. At first, the new peer N invokes the detecting component
to obtain transmission resource occupation related parameters. Then, transmission
resource occupation values to the peers are computed. According to the results,
N tries to send join request to the peers with the least transmission resource
occupation. By doing this, the new peer joins the P2P multicasting system with
least additional resource occupation. In this way, TRST is constructed.
EXPERIMENTAL RESULTS AND ANALYSIS
In order to obtain practical performance of TRST, comparison experiments are conducted. More than a dozen of the nodes in PlantLab are selected as our testbed. At first, transmission resource occupation related parameters are detected at these nodes. Based on the data, the P2P multicasting tree is constructed as a randomized tree, deterministic tree and TRST and MST. Then, practical performances according to resource occupation metrics of these trees are evaluated.
PlantLab contains 936 nodes at 456 sites. These nodes are located throughout
the world. Location diversity and global distribution of the nodes are ensured.
|
Fig. 3: |
Simulation
results |
The topology of these nodes is complex and hard to gather detail information
it. But it comprises the nodes of the real Internet. Thus, it is a nice testbed
to test practical performance networked applications. In order to estimate the
performance of the proposed TRST, 18 nodes in PlantLab were selected to evaluate
transmission related parameters. Then, transmission related parameter detecting
programs are deployed on these nodes and corresponding data are obtained.
In order to obtain a practical transmission resource occupation index of different
multicasting trees, simulation program of randomized tree and deterministic
tree are implemented according to (Padmanabhan et al.,
2003). Simulation program of TRST is implemented according to strategy shown
in Fig. 2. Simulation program of MST is implemented according
to Pendakaris and Shi (2001). Average transmission resource
occupation is computed according to as performance metrics. In order to ensure
the reliability of experimental results, 8000 peer entering sequences are used
the experiment.
Simulation results of deterministic tree, TRST and MST are shown in Fig. 3. Corresponding statistical results are shown in Table 1. The average transmission resource occupation of randomized tree and deterministic tree has almost the same numerical feature. Their values are concentrated to 147, the standard deviation and standard error of them are about 0.0022. The proposed TRST has given an outstanding performance result. The mean value of its average transmission resource occupation is about 48 and standard deviation and standard error of its result are much smaller than that of the randomized tree and deterministic tree. For the given set of nodes, MST gives the best result in terms of average transmission resource occupation. Its value is about 29.8. This is the limitation of possible optimization.
|
Fig. 4: |
Histogram
of transmission delay |
Table 1: |
Statistics
of experimental results |
 |
For network condition is varying all the time, performance of each tree is
varying also. In order to figure out how these strategies interact with this
factor, variation of Internet transmission characteristics are also detected.
The whole detecting process is conducted at a central control node; it sends
detecting packets to the target nodes. In this process, the nodes in plantlab
are used as target sites. During this period, if a detecting packet is received,
it is returned by these target sites immediately. After the packets are received
by the control node, transmission delay, loss rate are calculated. For transmission
delay and loss rate are influenced by packet size, different sizes of the packets
are used. For network condition is varying with time, the period of experiment
should be long enough. Thus, reliability of the results is ensured.
According the results of the experiment, distribution of transmission delay
is plotted in Fig. 4 in the form of histogram. We can infer
that transmission delays of the most packets are concentrated around the mean
value. A very few packets reached the destination in longer time. In current
internet, the facilities have their own transmission limitation. The relationship
between loss rate and packet size are shown in Fig. 5. When
the packets are small, most facilities can transfer the packets successfully.
When the packets become bigger, more and more packets are discarded during the
transmission process. During the experiment, if the size of the packets exceeds
1000 bytes, loss rate becomes overwhelming. On the contrary, if the packets
are smaller than 1000 bytes, loss rate of the packets is relatively small. Under
common network condition, its value is in vicinity of 0.05. We can infer that,
if size of the packets is below 1000 bytes, the loss rate of the packets is
acceptable as a whole.
|
Fig. 5: |
Relationship
between loss rate and packet size |
For a P2P streaming application, it is common to last for 1 or 2 h. In this
period, variation of Internet has significant influence on its performance.
In this study, characteristic of network variation is measured for a couple
of days. Corresponding variation of occupied transmission resource is shown
in Fig. 6. According to it, during the long period of time,
performance of TRST is fairly stable.
TRST has much more stable performance than the randomized tree and deterministic tree. Least resource is needed by MST to serve the same set of peers. Nevertheless, it is not suitable for the applications in which peers may join and leave at any time.
In the randomized tree and the deterministic tree, the new nodes chose parent
node without consideration of transmission resource; they have almost the same
practical performance in terms of transmission resource occupation.
|
Fig. 6: |
Variation
of occupied transmission resource of TRST |
The randomized tree strategy is very simple, this factor makes it easy to implement.
For its random selection of parent node feature, it has good load balance features.
In the deterministic tree, client load is distributed equally among the nodes;
this strategy comes with best load balance feature. In the proposed TRST, the
new nodes chose parent node with efforts to minimize introduced transmission
resource occupation; transmission resource occupation of the whole P2P system
is reduced by doing this. TRST approaches better performance at the cost of
additional network condition detection; load balance is not considered. If transmission
resource saving is implemented in MST, it has the best performance. But in MST,
the nodes cant enter the P2P system at random; this factor makes MST not
easy to deploy in practical P2P system. In a practical network condition, network
resource is precious, while the nodes have enough processing capability in most
cases. Approaching high transmission performance is more essential in a real
network condition. According to these factors, TRST is the most promising one
in the practical environment.
CONCLUSIONS AND FUTURE WORK
Nowadays, network transmission resource is becoming precious. Media streaming system is one of the most transmission intensive applications in current internet. In order to provide resource saving strategy for P2P multicasting system, influencing factors related to transmission resource consumption are analyzed in detail. Transmission resource occupation index are proposed according to these factors. Then, average transmission resource occupation of the peers is used as a metric of efficiency of transmission resource usage. Thus, TRST is proposed as resource saving method for P2P multicasting system. In this strategy, resource occupation of the whole system is reduced by choosing the parent peer for the new ones with introducing minimum additional resource occupation. According to the experimental results, the proposed TRST consumes less transmission resources than other available strategies. In order to obtain its performance in practical network condition, variation of network transmission delay, loss rate of the packets are also considered. The results show that the performance of TRST is stable and reliable with consideration of these factors. This makes it a promising strategy for P2P multicasting.
Currently, this strategy is still in its developing stage. It should be implemented in large scale P2P streaming systems to validate it in industrial applications.
ACKNOWLEDGMENT
This study is supported by NSFC (60825202, 60633020) and National High Tech. Development Plan (2006BAH02A24-2, 2006BAF02A00, 2006BAK11B02, 2007AA01Z475,2009BAH51B00).