Professional Documents
Culture Documents
______________________________________________________________________________________
Abstract 1 Introduction
Mobile ad hoc networks are prone by nature to path Streaming media is a technique that allows the con-
breaks and reconnections. Routing protocols such as sumption of the media while it is being delivered. It is
OLSR that provide topology information with a mini- very useful for devices with low storage capacity such
mum delay to the quick reconfiguration of path breaks as mobile phones and PDAs and for users connected
are desired. Applications and protocols should be able to WiFi links [1].
to adapt to the dynamics of these networks. However, Usually User Datagram Protocol (UDP) is used to
this is not true for most applications and protocols. transmit live streaming video [2]. The couple Real-
For example, a video streaming server does not be- time Transport Protocol (RTP) and Real-time Trans-
come aware of the path break because it does not in- port Control Protocol (RTCP) [3] are used to transmit
teract with lower layers that inform about this event. real time streaming video [4]. The server continuously
As a result, important resources such as battery and sends frames and the client can not pause the stream-
bandwidth are not used efficiently, and TCP connec- ing. The persistent version of HiperText Transfer Pro-
tion failures happen frequently. In this paper, we tocol (HTTP) [5] also supports streaming for Video
present a proxy based solution to detect path breaks On Demand (VoD) so a client sends a request and
and reconnections using the proactive OLSR protocol gets a response, and then sends additional requests
for ongoing streaming sessions and we do corrective and gets additional responses without Transmission
actions at the application layer to lead a more effi- Control Protocol (TCP) connection release. In [6] a
cient usage of the bandwidth during disconnections. new video file format is presented to achieve this. A
Keywords: WiFi ad hoc networks, Streaming the standard protocol that allows the user remotely con-
video, Save the bandwidth and battery, Frames lost, trol a streaming media server using commands such
OLSR as play and pause defining a streaming session is Real
Time Streaming Protocol (RTSP) [7]. RTSP can use
any of the above protocols for transmitting multime-
dia data.
∗ Manuscript
To manage efficiently the disconnections and re-
received August 31, 2006. An earlier version
of this paper was published in IWWN’06 (IMECS’06): ”Us- connections of participating wireless devices in the
ing OLSR for Seamless Streaming Video in 802.11 Ad Hoc streaming session, some streaming servers set up a
Networks”, pp. 932–937, Hong Kong, 2006. Research par- socket for verifying peer host accessibility to avoid the
tially supported by the Spanish CICYT (MEC) and Euro- maintenance of a session indefinitely open (following
pean Regional Development Fund (FEDER) under Contract
TSI2005-07764-C02-01 and The Canaries Regional Education, the polling recommendation of [8]). After several un-
Cultural and Sports Ministry and FEDER under Contract successful requests, the server silently frees the soft-
PI042004/164. Elsa M. Macı́as and Alvaro Suárez are with ware resources reserved for serving the client and the
Grupo de Arquitectura y Concurrencia, Departamento de In- session ends. A new attempt of the reconnected client
genierı́a Telemática, Universidad de Las Palmas de G. C.
(ULPGC), Campus Universitario de Tafira, 35017 Las Pal- to continue with the session will be not accepted, that
mas de G.C., Spain. Tel: 34 928 451239; Fax: 34 928 is to say, the client and the server must set up a new
451380; Email: {emacias,asuarez}@dit.ulpgc.es. J. Martı́n is session and the content must start from the beginning.
a graduate of Technical Engineering of Telecommunications at
ULPGC. Vaidy Sunderam is with Department of Math and
A design parameter is the number of unsuccessful re-
Computer Science, Emory University, Atlanta, USA. Email: quests considered before closing the session. As far as
vss@mathcs.emory.edu. we know, this is chosen irrespective of a wireless or a
(Advance online publication: 13 February 2007)
fixed client is being served. However, it could be desir- In this paper we consider not only UDP-based stream-
able to try a higher number of attempts before closing ing video but also TCP-based. On the other hand, we
a session with a wireless client due to the problems consider both the client and the server mobiles in a
associated with the mobility, high error rates, hidden mobile ad hoc network (MANET). In this scenario,
terminal and radio signal propagation. path breaks take place frequently and quickly due to
the movement of end nodes or intermediate nodes in
Notice that during the polling, the server continues the path (we use Optimized Link State Routing Proto-
with the frame transmission and the traffic sent will col (OLSR) [13] for the quick reconfiguration of path
be lost whenever the client is out of coverage and the breaks for a MANET) so the proactive adaptation
transport protocol is UDP. If TCP is used to transport proposed in [11] could not be viable.
the data, the TCP reliability mechanism will retrans-
mit the missing data. The socket will become invalid We present streaming sessions that use RTSP, stand-
to the server or the client if an abort occurs and with alone RTP or HTTP protocols, we include corrective
high probability the session will end abruptly. Aborts actions during disconnections and reconnections, we
primarily occur when data goes unacknowledged for manage long disconnections and the TCP connection
a period of time that exceeds the limits on retrans- failures. More in detail, the contributions of this pa-
mission defined by TCP. Other causes for an abort per are:
include a request by the application, too many unac-
knowledged TCP keepalive probes, receipt of a TCP • A system to control the client’s availability in or-
reset packet, and some types of network failures re- der to avoid the sending of frames while it is tem-
ported by the IP layer. porarily disconnected.
Some work has been recently done to improve the • A system to announce the UDP services provided
performance of TCP [9] over ad hoc networks for by the server in order to let the clients request
streaming taking into account mobility-induced dis- UDP streams on demand. Otherwise, the server
connections, reconnections and high-of-order delivery can not control the client’s availability due to the
ratios. They use a novel multimetric join identifica- connection-less nature of the UDP protocol.
tion of packets and connection behavior to simulate
the performance of their proposal. It is important to • A mechanism to pause the VoD of ongoing RTSP
control the disconnections and reconnections of wire- sessions to save computing resources and battery
less devices that participate in the streaming session. on the server while the client is disconnected. In
A good control, pausing the server while the client this paper we are not concerned about the losing
is disconnected (or any other device in the network of frames during a disconnection for live video
path from the server to the client), it will improve sessions or VoD over HTTP or RTP, i.e, streams
the energy consumption of batteries [10], it will save that can not be paused with RTSP commands.
bandwidth because the data transmission is frozen,
and it will avoid the data lost. • A mechanism for transparently detecting TCP
connection failures and to create a new TCP con-
In [11] it is presented a proactive adaptation to the nection that avoids the streaming session release
UDP-based streaming video sent by a fixed server to a and to end sessions with clients disconnected for
mobile client connected to one 802.11b infrastructure a long time that use TCP to transport data or
wireless network. The adaptation consists of increas- commands (i.e. RTSP and HTTP).
ing the buffer size on the client to store more frames
just before entering the low quality area (termed trou- • An analysis of the experimental results that show
ble spot) in the hope that the mobile client will exit the benefits of using our whole system.
the trouble spot before the buffer runs out.
All the above contributions have been developed with-
In [12] we presented a proactive mechanism that de- out modifying neither the player nor the server, and
tects path breaks and reconnections between the video not even the streaming media protocols. For doing
streaming server and the client for a VoD ongoing that, we use proxies.
RTSP session and a solution at the application layer
based on proxies that provides the corrective actions The rest of the paper is organized as follows: section 2
during disconnections and reconnections. reviews the hardware and software architecture. Sec-
tion 3 is devoted to present in detail the system to
control the client’s availability and to announce the for a period of time so expired information
UDP services provided by the server. In section 4 is removed.
is described the proxies’ behavior during disconnec-
tions and reconnections for different streaming pro- All the traffic in OLSR is UDP and it is trans-
tocols. Section 5 presents the mechanism to manage mitted by broadcast or multicast on port 698.
TCP connection failures and end sessions with clients
• The communication between the client and the
disconnected for a long time. Then in section 6 we
server is made by proxies. The proxy on the
describe our experimental tests. And finally, conclud-
server and client side are called proxy server and
ing remarks and ongoing research are summarized in
client agent respectively. Since both the client
section 7.
and the server are mobile, the proxy server is
installed on the wireless node that serves the
2 Hardware and Software Architec- stream (S), and the client agent on the client
ture node. The proxies are also in charge of detecting
if there is, or is not, a path between the server
The topology we consider is shown in Fig.1.a. It con- and client to do corrective actions. These correc-
sists of a MANET of any number of hops, where the tive actions depend on the type of video stream-
server node (S) communicates with the client node ing being served (VoD or live video) and the type
(C) directly or via one or more intermediate nodes (I) of streaming protocol used to transport the data
due to the movement of end nodes. Fig.1.b to d shows (RTSP, HTTP or RTP) as we will show in section
the network architecture for the different nodes. The 4.
shaded parts in Fig.1.b to d are the new software ele-
ments we introduce to avoid modifying the client, the • To control the client’s availability and to an-
server and the streaming protocols: nounce the UDP services we use olsrd as the most
efficient way to transport our own control and
announcement packets into the MANET. OLSR
• olsrd (OLSR daemon) [14] is an implementation
lets use its optimized flooding mechanism to send
of OLSR. OLSR routes efficiently the packets into
information, routing related or not, from the ap-
the network according to the number of hops be-
plication level using a plug-in. We just use this
tween the sender and the receiver. Due to the
property to inject user defined packets (OLSR
time-varying characteristics of the wireless links,
packets type 200) for our purposes as we will de-
olsrd can be configured to calculate the optimal
scribe in next section. The plug-in on the server,
routes defined as the number of attempts by a
client and intermediate nodes conveys to olsrd the
node on average to successfully transmit a packet
information to be sent into OLSR packets type
to a destination, instead of the number of hops.
200 to the MANET. The plug-in on the server
OLSR consists of:
and client nodes also communicates to the prox-
– A neighbor sensing mechanism that detects ies the OLSR packets type 200 captured by olsrd
changes in its neighborhood injecting and from the network.
receiving HELLO messages periodically.
• TCPControl is the mechanism for transparently
– An efficient flooding of control traffic, i.e. detecting TCP connection failures and to create
OLSR packets injected into the network for a new TCP connection that avoids the stream-
the quick reconfiguration of path breaks. All ing session release. Despite the fact there are
nodes receive the messages and there are enhancements to TCP for MANET, we do not
not duplicated messages thanks to the use consider them because of the following reasons:
of multipoint relays (concept invented for some require modifications to the existing TCP
HiperLAN/1). This is an important prop- protocol (e.g. TCP-F [15] and Split-TCP [16]),
erty that favors its use in a wireless net- more bandwidth and power consumption during
work which is by nature prone to mobility of a path failure is required (TCP-ELFN [17]), de-
nodes and collisions due to the hidden ter- pendency on a particular routing protocol to im-
minal problem. prove its performance (TCP-Bus [18]), addition
– Diffusion of topological information neces- of layers to the TCP/IP protocol stack (ATCP
sary to obtain optimal routes in terms of the [19]), implementation of a new transport proto-
number of hops. This information is valid col that leads a lack of interoperability with TCP
congestion but the proxy server or the client agent
wrongly detect a disconnection.
S I C
The packet size injected by the proxy server and the
client agent is 206 and 66 bytes respectively. The
a)
difference in size is due to the message content dif-
streaming server / proxy server client / client agent fers. For example, the proxy server is concerned about
streaming protocol streaming protocol
olsrd plug-in olsrd plug-in broadcasting the type of server (e.g. VideoLan [22]),
UDP
TCPControl
UDP
TCPControl its IP address, the proxy server’s name to the client
TCP TCP
IP IP
agent can distinguish among different proxies, a com-
MAC-802.11 MAC-802.11 mand used by the TCPControl mechanism, the play
PHY-radio PHY-radio
listing using RTSP, and HTTP and UDP ports avail-
b) c)
able to serve streams. As you can see, the broad-
olsrd plug-in casting of the own OLSR packets type 200 is also the
UDP TCP
IP
mechanism used to announce the UDP services. The
MAC-802.11 message content is useful since the client agent shows
PHY-radio
it to the user via a Graphical Unit Interface (GUI)
d) and then it launches the user’s player with the appro-
priate command according to the user’s election. The
Figure 1: A two hop MANET. Topology (a), Soft- content of the packet injected by the client agent in-
ware architecture: server node (b), client node (c), cludes its IP address, the type of player and requests
intermediate node (d). of UDP streams.
C S
Server/Client Node
proxy server
or
client agent
normal
1 operation
Intermediate Node A M
Information about clients or servers STRE
10
6
2 OLSR packets type 200
OLSR packets type 200 5 PLAY
Server
9
available normal
olsrd operation
E AM
olsrd STR
7
3 OLSR packets
OLSR packets 4
8 Client Client agent Proxy server Server
network
network disconnection detected reconnection detected disconnection period
and the proxy server ends the session when the discon-
nection exceeds a period of time. For the streaming Server not
available
protocols built on top of TCP (RTSP and HTTP),
the TCP connection between the proxy server and
the client agent is closed when a disconnection hap- Server
available normal
pens and a new one is created after the reconnection. EAM
operation
STR
Using RTSP compliant commands such as pause and
play, the proxy server pauses or resumes the server.
For HTTP or RTP, the server is not paused during Client Client agent Proxy server Server
the disconnection period but the frames are not for- disconnection detected reconnection detected disconnection period
PLAY
PLAY Session
PLAY
communication
EAM
STR
Disconnection detected
close socket 2 (client out of coverage) Figure 6: Traffic OLSR (red curve) and RTSP traffic
TCP socket 4 disconnection detected (green curve).
reconnection detected
TCPControl:19
tro l:OK
TCPCon
TCPF
a ll 6.1 OLSR Traffic
Disconnection detected
(server out of coverage)
TCP socket 5
Fig.6 shows the bytes per second for a RTSP session
TCPControl:19
(green curve) and the traffic due to OLSR protocol in-
l:OK
TCPCon
tro
cluding our own packets type 200 (red curve) obtained
close using Ethereal tool [23]. As you can see, the overhead
sess
TCP socket
6
ion End session due to OLSR is negligible in comparison with the traf-
expired timeout for session 19
TCPControl:19 fic of the ongoing streaming session.
OR
trol:ERR
TCPCon
proxy-server
a) 0
1 3 5 7 9 11 13 15 17 19 21 23 25
1,5 client agent
number of packets
1
0,5
number of packets
proxy-server
b) 3
client-agent
2
Figure 8: Delay and jitter for 25 samples. Without
1 proxies (a), With proxies (b).
0
1 2 3 4 5 6 7 8 9 10
RTP ongoing sessions 6.3 Delay and Jitter
3,5 Fig.8.a shows the delay in microseconds to transmit
3 from 1 to 25 consecutive packets from the server to the
2,5 client when only olsrd, the server and the player are
running. It is also presented the jitter. The average
c) 2
% CPU
proxy-server
jitter is 1.13608 ms, a viable value for the streaming
1,5 client-agent
transmission. Fig.8.b shows the same results when
1 also the proxies are running. In this case, the average
0,5 jitter is lower (0.94224 ms).
0
1 2 3 4 5 6 7 8 9 10 6.4 Corrective Actions
HTTP ongoing sessions
9
Fig.9.a presents the number of packets per second in-
8
jected by the server during a VoD RTSP streaming
7 client
session at a rate of 2000Kbps (green curve). The red
6
client and client curve is the OLSR traffic transmitted by the client
% battery
5
d) agent
node. We forced a disconnection period of 8s (about
4 server
the 8th second to the 16th second). During this time
3
server and proxy interval, Ethereal tool did not capture OLSR traf-
2 server
fic since the client is out of coverage but it captured
1
RTSP traffic transmitted by the server since the server
0
1 2 3 4 5
is not aware of the disconnection period (no proxies
RTSP ongoing sessions were used for this experiment). As a result, about
2MB are transmitted using RTP protocol and lost
since we don’t use a proxy server to pause the server.
Figure 7: CPU consumption for: RTSP (a), RTP To correct this inefficient usage of the server and the
(b) and HTTP sessions (c). Battery consumption for available wireless bandwidth, we repeated the experi-
RTSP sessions (d). ment using the proxies and we forced a higher discon-
nection period of 35s (Fig.9.b). During this period,
the server is paused and no frames are transmitted
500
8s
a) 500
250
0
0
5s 10s 15s 20s 25s
25s 30s 35s
1.5s 2s
Figure 10: Management of long disconnections over
b)
TCP.
[8] Schulzrinne, H., Rao, A., Lanphier, R., Wester- [19] Liu, J., Singh, S. ATCP: TCP for Mobile Ad
lund, M., Narasimhan, A. Real Time Streaming Hoc Networks, IEEE Journal on Selected Areas
Protocol (RTSP), Internet Draft, Internet En- in Communications, vol. 19, no. 7, pp. 1300-1315,
gineering Task Force, February 2004, Work in 2001.
progress.
[20] Liu, J., Singh, S. ATP: Application Controlled
[9] Fu, Z., Meng, X., Lu, S. A Transport Protocol for Transport Protocol for Mobile Ad Hoc Networks,
Supporting Multimedia Streaming in Mobile Ad IEEE WCNC, vol. 3, pp. 1318-1322, 1999.
Hoc Networks, IEEE Journal on Selected Areas [21] Sundaresan, K., Anantharaman, V., Hsieh, H.Y.,
in Communications, vol. 21, issue 10, pp. 1615– Sivakumar, R. ATP: A Reliable Transport Proto-
1626, 2003. col for Ad Hoc Networks, ACM MOBIHOC, pp.
64-75, 2003.
[10] Wei, Y., Bhandarkar, S.M., Chandra, S. A
Client-side Statistical Prediction Scheme for En- [22] VideoLAN - Free Software and Open Source
ergy Aware Multimedia Data Streaming, IEEE Video Streaming Solution for Every OS!,
Transactions on Multimedia, vol. 8, issue 4, pp. http://www.videolan.org/.
866–874, 2006.
[23] Ethereal: A Network Protocol Analyzer,
[11] Sunderam, V., Pascoe, J., Tonev, G. Reconciling www.ethereal.com.
the Characteristics of Wired and Wireless Net- [24] Siva Ram Murthy, C., Manoj, B.S. Ad Hoc Wire-
works: The Janus Approach, 4th Annual Interna- less Networks. Architectures and Protocols, Pren-
tional Workshop on Active Middleware Services, tice Hall PTR, 2004.
2002.