Real Time Video Splitting and Merging techniques for Inverse Mu

advertisement
Video Splitting Techniques for Inverse Multiplexing
over Multiple GPRS Channels
(Final Report)
Muhammad Mudassar Nazar
Lahore University of Management Science
06030031@lums.edu.pk
ABSTRACT
Inverse multiplexing is an old phenomenon used
to aggregate bandwidth of multiple network links. It
can also be used to aggregate low bandwidth GPRS
channels to create a single higher bandwidth virtual
channel. The performance of this virtualization layer
totally depends on how we schedule packets from
above layer to the actual physical channels. For
using Inverse Multiplexing to stream videos,
importance of another component, video stream
splitter, comes into play. Now in multimedia context,
video splitting and scheduling both determine the
performance of the inverse multiplexed system.
In this writing we have tried to motivate the need
for a sophisticated scheduler and video splitter in
order to achieve high bandwidth utilization, smooth
latency, and error resilience during packet loss for
the inverse multiplexing over GPRS. We have
explored different video splitting techniques and
developed an emulation layer to experiment with
techniques.
1.
need is to adapt and modify this work to cater the
situation in our country.
Inverse multiplexing will enable us to meet the
high bandwidth requirements of some applications.
Video streaming is one such application that requires
higher bandwidth. Inverse multiplexing over GPRS
will enable us to stream video to and from anywhere,
especially in rural areas. This work can potentially
carry emerging applications like telemedicine, online
video lecturing, and video on demand etc in the areas
where it was never possible. Using telemedicine, we
can provide better health care facilities in our remote
areas. Similarly, video lecturing and video on
demand can be used to increase the education and
entertainment level of our rural areas. However
inverse multiplexing over GPRS involves a list of
research problems that need to be solved:
1.
2.
INTRODUCTION
Scarcity of bandwidth is an important hurdle in
deployment of multimedia applications everywhere.
In countries like Pakistan, this issue is more
highlighted as we have very low bandwidth last mile
connectivity e.g. dialup connections. DSL is being
offered by different ISPs but is limited to a subset of
city regions and is expensive. This situation is more
severe in rural areas where even dialup connectivity
is difficult to find. However, recent telecom
revolution in our country enabled us to use GPRS as
a last mile connectivity alternative to dialup. GPRS
connections just like dialup are low bandwidth. In
addition to it, available bandwidth and latency is
highly variable due to short term fading and multipath effects. However research efforts have been
made in order to make a higher bandwidth virtual
channel by aggregating the bandwidth of multiple
low bandwidth channels [1, 2, 3]. This virtualization
strategy is known as Inverse Multiplexing. Now, the
3.
4.
5.
Maintenance, graceful degradation of GPRS
channels (low bandwidth channels)
Calculation of end-to-end channel characteristics
like calculation of bandwidth, delay, jitter and
packet loss. [7] lists down the current work in
this research area. However as GPRS is a low
bandwidth channel, we need to measure these
characteristics in a manner that the measurement
procedure is bandwidth efficient i.e. consume
less bandwidth. This bandwidth consumption has
a direct influence on the available bandwidth of
the virtual channel as a whole.
Splitting, encoding, decoding and merging of
video streams. Some techniques are presented in
[8, 9, and 10]. These techniques derive the QoS
specification for each block that in turn will be
used for scheduling decisions.
A sophisticated scheduling scheme to schedule
data packets to underlying physical channels of
the inverse multiplexer.
Graceful degradation of the video with respect to
the available bandwidth. This includes
dynamically changing codec according to the
bandwidth available as available bandwidth is
time-varying in nature. Efficient utilization of
available bandwidth i.e. quality should be
directory proportional to available bandwidth.
1
In this writing, we have highlighted several
video splitting techniques and developed an
emulation layer to experiment with techniques.
Several experiments have been performed and their
results are analyzed. This emulation layer will
multiplex the packets to multiple available physical
channels and provide a high bandwidth virtual
channel abstraction to the application layer.
Scheduler implemented in the emulation layer
schedules requests to underlying physical channels in
a round robin fashion. We will prove by experiment
that we need a sophisticated scheduling and video
splitting scheme in order to achieve high bandwidth
utilization, smooth jitter and error resilience during
packet loss
architecture of such middleware in an effective
fashion but does not provide the mechanism to
implement scheduler in order to achieve the goals
specified by the application. Applications specify
their goals using objective specification language to
the middle ware and it is harder to write lengthy
specifications. Horde uses a random-walk scheduler
that uses QoS specified by the application to schedule
packets. Our scheduler will provide the application
specific QoS by giving more consideration to end-toend GPRS channel characteristics (available
bandwidth, latency jitter and loss) and we can say
that our scheduler QoS mechanism is network driven.
Different network characteristics measurement tools
are available, latest study of such tools is given in [7].
2.
The problems of using a simple round-robin
scheduling are highlighted in [3] as it will fail in
achieving a higher bandwidth virtual channel that
guarantees application specific QoS. RR may lead to
adverse effects, in case we schedule a packet
requiring a reliable channel to a lossy channel.
Hence, scheduling scheme should take care of the
characteristics of channels instead of blind
scheduling. This type of simple scheduling scheme
can work in circumstances when underlying physical
channels are less varying channels. We will prove in
our experiments that GPRS channels are highly
variable and thus these simple scheduling schemes
will not work effectively.
RELATED WORK
Inverse multiplexing is used to aggregate the
bandwidth of multiple network channels to create a
single higher bandwidth virtual channel. This
mechanism is being used in circumstances where
individual bandwidth of channels is not sufficient
enough to fulfill higher bandwidth demand of
applications e.g. multimedia applications [1, 2].
Inverse multiplexing can be implemented above the
transport layer [2] or at link layer level as Multilink
PPP under IP layer [1].
However, whatever is the architecture of the
inverse multiplexer and wherever we implement it in
the protocol stack, scheduling scheme is at the core
of its success. In the case when we are using inverse
multiplexing for video streaming, a scheduler is
sandwiched between the network channels and the
different data streams generated by the Splitter.
Network channels are time-varying and scheduler has
to take care of this fact. On the other end, Splitter
splits a video stream into multiple video streams with
different QoS requirements. Scheduler has to meet
these QoS requirements with respect to the QoS
provided by the network channels at a particular time.
Horde[2] proposes an architecture that can be
used to inverse multiplex multiple GPRS channels. It
makes the claim of separating striping policy from
mechanism by providing support for application
specific QoS provisioning. Applications can specify
their QoS features dynamically and Horde uses
underlying (possibly heterogeneous) GPRS channels
to transfer the data. As the QoS characteristics
exhibited by these individual GPRS channels is a
function of time, the overall performance of the
middleware (Inverse Multiplexer) is dependent on the
scheduling scheme used to schedule packets on these
channels. Horde lays down a comprehensive
The disadvantages of using TCP as a transport
mechanism over GPRS are discussed in [4, 5]. TCP
flows destined to a single mobile host should be
aggregated to increase the TCP performance [4]. This
aggregation is accomplished using a TCP aggregation
proxy at the wired-wireless network boundary. This
proxy avoids TCP slow-start mechanism and attains
the full utilization of link from the start known as
fast-startup. This mechanism will only increase the
performance of TCP to individual mobile hosts and is
beneficial when user is surfing internet and opening
different sites. In our case, it is not beneficial as we
will be using at most two connections per GPRS
channel (control and data). Moreover this aggregation
mechanism only work for the flows generated from
wired to the wireless medium and not the other way.
GPRSWeb [5] presents a UDP based transport
mechanism that is optimized to be used over GPRS.
Like [4], GPRSWeb is also optimized for web surfing
i.e. to service HTTP content in an efficient manner.
Moreover it also needs addition of a GPRSWeb
proxy node in the existing GPRS infrastructure. As
our scheduling algorithm will schedule data from
different type of applications, we assume a best effort
2
service from underlying channels i.e. UDP transport
mechanism and ARQ disabled link layer. Although
[4, 5] are providing mechanisms to improve web
surfing experience of the mobile users, but proposing
techniques that need a change in the underlying
infrastructure that is harder to accomplish.
A scheduling problem is formulated in [6] that
conform to our scenario; Splitting, replication and
erasure coding techniques are used to optimally
schedule the packets in delay tolerant networks
(DTN) context. It tries to maximize the probability of
successful packet delivery in path volume
constrained environment. In general, optimization
problem formulated is proved to be NP-hard.
However for some special cases this is solvable i.e. Si
is approximated by Gaussian distribution. We can
find the behavior of Si in our case and apply the
formulation to solve the scheduling problem. Among
other things we need to consider is that techniques
given in [6] are related to DTN. In our scenario we
have limited bandwidth; replicating data in order to
maximize guaranteed delivery may not be a good
idea. Our traffic (video and audio) needs bounds on
latency and jitter; however we can tolerate some loss.
So problem formulated in [6] is relevant to our
problem but with different constraints.
MobiStream [11] uses virtual channel link layer
level abstraction. Application can open multiple
virtual channels and can choose different channels for
different blocks of a video stream, depending on QoS
provided by a virtual channel and QoS required by a
particular video block. To achieve a higher level of
error resilience, MobiStream partitions a video frame
into slices that are independently decodable and
priorities the slices on the basis of their perceptual
usefulness. It also introduces techniques like multiple
description coding, slice structured coding, and interframe/intra-frame slice interleaving. Slice structured
coding and slice interleaving are used to mitigate the
effects of bursty losses.
Three simple and elegant block interleaving
techniques, namely triangular, quadrant and
coefficient interleaving schemes are proposed in [10].
In triangular interleaving scheme, a DCT block is
divided into a lower triangular region and an upper
triangular region. These upper and lower regions
from one DCT block are interleaved with the regions
of other DCT blocks. This interleaving is done in
such a way that if a lower region from a particular
block is lost then there is higher probability that
upper triangular region from that block is not lost.
Here DC coefficients are grouped in a different block
and thus can be transmitted on a more reliable GPRS
channel.
In quadrant interleaving scheme, we have four
interleaving groups instead of two. Each 8x8 DCT
block is divided into four quadrants namely L (low
frequency), HD (Horizontal medium to high
frequency), VD (vertical medium to high frequency)
and HI (high frequency). Interleaving is done by
combining four 8x8 blocks to make a 16x16 macro
block in such way that each 8x8 block in the new
macro block contains quadrants from different block.
Each 8x8 block is number clock-wise from 0 to 3 in
the macro block. The
general formula for
interleaving is that select Li (i= 0,1,2,3) and HDi+1,
HIi+2 and UDi+3 to form new interleaved 8x8 blocks
within the16x16 block.
Coefficient interleaving scheme treats each AC
coefficient as a group. So, we have sixty three
interleaving groups per DCT block. Although this
scheme optimally interleaves the information but it
has higher processing cost and may lead to
compression inefficiency. Interleaving block is made
by combing groups from different blocks in a way
that we select first group from first block, second
group from second block and so on.
3.
EXPERIMENTS
We have performed some experiments in order
to increase our knowledge about characteristics of the
GPRS network. So far, we have completed three
types of experiments: RTT, jitter and bandwidth
estimation for a single GPRS channel.
3.1 Experimental Setup
Currently multiple operators are providing GPRS
services in Pakistan, we have chosen Warid GPRS
for our experiments. We have made a ppp connection
with a GPRS enabled mobile handset over Bluetooth.
This connection is made over rfcomm to use GPRS
as the last mile connectivity to internet.
3.2 RTT calculation using PING
Using the above mentioned setup we have
estimated the RTT for one thousand packets. Figure 1
shows the variability among the RTT’s of different
packets.
These high fluctuations in the RTT behavior
favor our thesis that overall performance of the
inverse multiplexer for GPRS will depend on the
scheduling scheme used.
3
ti-1 is the time stamp for (i-1)th packet and
α is the time spacing for generation of two
consecutive packets at sender.
Figure 1
2500
Practically, during these experiments we have
taken care of losses using sequence numbers in
packets. Sequence numbers have helped us to filter
wrong jitter results.
1500
1000
500
0
1
83
165 247 329 411 493 575 657 739 821 903 985
Time
Figure 1.Result of RTT experiments
Table 1 shows the statistics for this experiment
as RTT. Fluctuations observed in figure 1 have
resulted in the higher value of standard deviation.
Higher mean value can become problematic in
bounds for latency in real time applications.
Experiment
RTT
Jitter(1s)
Jitter(2s
Mean
588
333
149
Dev.
353
289
208
Max.
2367
1830
1390
Min.
204
0
0
Table 1.Statistics for all the experiments
However the actual value need to be looked is
deviation instead of the mean. This high deviation
emphasizes the need for a sophisticated scheduler in
order to achieve bounded jitter. One can argue that
RTT is not a good measure to estimate jitter as it is
two-way. However it gives a rough behavior of the
delay (one way) and is somehow related to jitter that
we will experience.
We have experimented for two values of α
respectively 1 and 2 seconds. This allows us to
examine the behavior in periods of higher utilization
of the link and relatively low utilization of the link
respectively. Figure 2 and 3 plot results of both the
experiments respectively. From Table1 it is clear that
variability for both the experiments is high 289 and
208 respectively.
During these experiments, loss occurred was
2.6% and 2.2% respectively. We have mentioned
losses in order to highlight that we are using lossy
channel. Therefore, one objective of the scheduling
scheme is to provide error resilience in case of packet
loss. So here comes the importance of using video
splitting techniques.
Figure 2
2000
1500
Jitter(ms)
RTT(ms)
2000
1000
500
0
0
Another statistic we have measured in RTT
estimation experiments is packet loss that is around
5%. This is low as ARQ is enabled at the link layer.
ARQ is enabled between Mobile and the Base Station
to balance the signal attenuation due to fading and
multi-path behavior of the wireless medium.
200
400
600
800
1000
Time
Figure 2.Jitter estimation for α = 1 s
Figure 3
1600
3.3 Jitter Estimation
1400
ji = │ti-ti-1- α│
Where
ji is the jitter for ith observation
ti is the time stamp for ith packet
Jitter(ms)
1200
We have also estimated the jitter for a particular
time period. We have a sender that sends a packet
after a regular time interval α. At receiver we record
the time at which every packet received. Then we use
the following formula to calculate the relative delay
variance between two successive packets.
1000
800
600
400
200
0
0
200
400
600
800
1000
1200
Time
Figure 3.Jitter estimation for α = 2 s
By closely observing Figure 2, we can define 4
classes for the jitter observations:
4
a.
b.
c.
d.
Jitter observations that are close to zero
Jitter observations that are close to 150
Jitter observations that are close to 500
Jitter observations that are highly variable and
greater than 600
Figure 3 can be summarized as that, in case
when we have relatively less congestion in the
network, jitter observation can be classified in two
classes, one in which observations are less variable
i.e. observations less than 200 and other in which
observations are highly variable i.e. observations
greater than 200.
Now, we can see that difference between packet
losses is very less for both jitter experiments.
However jitter values for both experiments have a
significant difference. This is because that the jitter
introduced is not due to high loss but is due to the
queuing delay in the intermediate nodes. We need to
define the scheduling scheme in way that it does not
congest the network.
3.4 Bandwidth Estimation
We have used pathload, a bandwidth
measurement tool to estimate the available bandwidth
of the GPRS channel. Its open source implementation
is available. We have to change some configuration
variables in order to adapt it for estimating bandwidth
for low bandwidth channels e.g. GPRS.
We have estimated the available bandwidth at
different times of the day. It was ranging from 2kbps
to 4kbps. According to Horde [2] measurements, it
ranges from 19kbps to 25kbps. But these
measurements have been performed in US.
intervals, making connection with the newly
discovered devices, creating routing table and routing
rules for each discovered device. Beyond that it adds
each discovered device in the device list.
Channel manager is used to synchronize the
device list maintained by the layer with actual
physical devices available at that particular time.
Some devices may disappear and we have to remove
them from the device list.
Scheduler queues the requests from the outer
world and schedule requests to available devices
(GPRS channels) in a round robin fashion. Different
shell scripts have been developed for different
purpose. Following is the description of work done
by each script:
makeConnection.sh: Device Discover uses this script
to make a GPRS connection with a device. This
script also releases the unused rfcomm devices as
part of selecting rfcomm device for this particular
connection.
getLastInterfaceDetails.sh: Device Discoverer uses
this script to get the interface name, IP address and
gateway of the last device added.
getPPPInterfaces.sh: This is used by the Channel
Manager in order get all available GPRS channels at
this particular time.
init_alternate_route.sh: This script is used by both,
the Device Discoverer and Channel Manager, to
create a separate routing table and rule for each
network channel.
init_route.sh: This script is called at the start of
program in order to initialize routing tables for
Ethernet interfaces (if any)
5.
4.
We have developed an emulation layer to
experiment with the above mentioned video splitting
techniques on real GPRS channels. This layer has
three major tasks:
Up till now we have explored different video
splitting techniques, conducted experiments to study
the behavior of network channels and implemented
an emulation layer. Some future directions are:
a.



FUTURE WORK
EMULATION LAYER
It provides an interface to outer world in order to
schedule packets
It Identifies new GPRS devices and make
connection with them using Bluetooth
It maintains a list of available GPRS devices for
scheduling purpose
b.
c.
Major components of this layer are Device
Discoverer, Channel Manager, Scheduler and shell
scripts. Responsibility of the Device Discoverer is to
initiate a search for new devices after periodic
Setting up experiments for video splitting
techniques using emulation layer described
above.
Defining a better scheduling scheme that
maximizes the performance of the inverse
multiplexer. This include the rate control on
different links to reduce packet loss and jitter
The gap between the bandwidth available in
Pakistan and US has guided us to validate the
feasibility of video streaming over inverse
multiplexed system. One direction is that instead
of using GPRS channels on one side and internet
5
on other side, we use GPRS channels at both
sides. This idea may boost the bandwidth
available as data is not routed to internet.
6.
CONCLUSION
High variability in RTT and jitter values is
giving us a clue that whatever is the architecture of
the inverse multiplexer and wherever we implement
it in the protocol stack, we need a sophisticated
scheduling scheme.
For video streaming over an inverse multiplexed
system, we need a splitter that splits a video stream
into multiple streams and define the QoS of each new
stream. Scheduler is sandwiched between the
network channels at one side and splitter on the other
side. At one end, it has to look at the characteristics
provided by the network channels and at the other
end, it has to meet the QoS requirement of each
stream.
SIGCOMM’05
Computer
Communication
Review
7. http://www.icir.org/models/tools.html
8. Goyal V., “Multiple description coding:
compression meets the network”, IEEE Signal
Processing Magazine, vol. 18, pp. 74-93,
September 2001.
9. Rajiv Chakravorty, Suman Banerjee and Samrat
Ganguly., “MobiStream: Error-resilient video
streaming in wireless WANs using virtual
channels”, in IEEE Infocom, Barcelona, Spain,
2006
10. Add reference to paper written by sir
11. Rajiv Chakravorty, Suman Banerjee, Samrat
Ganguly, “MobiStream: Error-Resilient Video
Streaming in Wireless WANs using Virtual
Channels”, Proceedings of IEEE Infocom 2006
Different values of jitter are experienced for
different values of α. So we need some mechanism
for rate control at each network channel. This
mechanism should take care of the fact that our
sending rate to particular channel should not exceed
the bandwidth provided by that channel.
7.
REFERENCES
1.
Alex
C.
Snoeren,
“Adaptive
Inverse
Multiplexing for wide-area wireless networks”,
Proceedings of IEEE GlobeCom’99
Qureshi A. and Guttag J., “Horde: Separating
Network Striping Policy from Mechanism”,
ACM MOBISYS’05
James C. Funk, Heidi R. Duffin, Lichen Dai,
Charles D. Knutson, “Inverse Multiplexing in
Short-Range
Multi-TransportWireless
Communications”, Proceedings of the IEEE
Wireless Communications and Networking
Conference 2003
Rajiv Chakravorty, Sachin Katti, , Ian Pratt, Jon
Crowcroft, “Using TCP Flow-Aggregation to
Enhance Data Experience of Cellular Wireless
Users” IEEE Journal on selected areas in
Communications’06
Rajiv Chakravorty, Andrew Clark, Ian Pratt,
“GPRSWeb: Optimizing the web for GPRS
Links” MobiSys 2003: The first international
conference on Mobile Systems, Applications and
Services
Sushant Jain, Michael Demmer, Rabin Patra,
Kevin Fall, “Using Redundancy to Cope with
Failures in a Delay Tolerant Network”, ACM
2.
3.
4.
5.
6.
6
Download