04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

15
SDRT: A reliable data transport protocol for underwater sensor networks Peng Xie, Zhong Zhou * , Zheng Peng, Jun-Hong Cui, Zhijie Shi Department of Computer Science and Engineering, The University of Connecticut, Storrs, CT 06269, USA article info Article history: Received 1 April 2009 Received in revised form 14 October 2009 Accepted 4 February 2010 Available online 13 February 2010 Keywords: Sensor network Underwater sensor networks Reliable data transfer Energy efficiency abstract In this paper, we investigate the reliable data transfer problem in underwater sensor net- works. Underwater sensor networks are significantly different from terrestrial sensor net- works in two aspects: acoustic channels are used for communications and most sensor nodes are mobile due to water current. These distinctions feature underwater sensor net- works with low available bandwidth, large propagation delay, highly dynamic network topology, and high error probability, which pose many new challenges for reliable data transfer in underwater sensor networks. In this paper, we propose a protocol, called seg- mented data reliable transfer (SDRT), to achieve reliable data transfer in underwater sensor network scenarios. SDRT is essentially a hybrid approach of ARQ and FEC. It adopts efficient erasure codes, transferring encoded packets block by block and hop-by-hop. Compared with traditional reliable data transfer protocols, SDRT can reduce the total number of trans- mitted packets significantly, improve channel utilization, and simplify protocol manage- ment. In addition, we develop a mathematic model to estimate the expected number of packets actually needed in SDRT with SVT codes. Based on this model, we devise a new window control mechanism to further reduce energy consumption which is introduced by large propagation delay of acoustic channels. Moreover, this model enables us to set the appropriate size of the block to address the mobility of the nodes in the network. We conduct simulations to evaluate our model and SDRT. The results show that our model can closely predict the number of packets actually needed, and SDRT is energy efficient, and can achieve high channel utilization. Ó 2010 Elsevier B.V. All rights reserved. 1. Introduction Sensor networks have been envisioned as powerful solutions for many applications, such as monitoring, sur- veillance, measurement, control and health care. Recently, applying sensor networks in aquatic environments (i.e., building underwater sensor networks) has received grow- ing interests [1,18,25–28]. Compared with traditional tech- niques used in underwater activities such as scientific exploration and commercial exploitation, underwater sen- sor networks empower us to monitor or detect phenomena more accurately and timely in extended areas. In underwater sensor networks, most sensors are not fixed, and can passively float with water current. This fea- ture is common in a wide range of aquatic applications, such as estuary monitoring and submarine detection. Empirical observation suggests that water current moves at the speed of 3–6 km/h in a typical underwater condition. Moreover, different water currents have different direc- tions. For example, in the estuary environment, the water current near the surface is downstream, while the water current near the bottom is upstream. In such application scenarios, most sensor nodes, except some fixed nodes equipped with surface-level buoys, are mobile due to water current. It is reported in [26] that underwater ob- jects move at speed 1–3 m/s. 1570-8705/$ - see front matter Ó 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.adhoc.2010.02.003 * Corresponding author. Address: 371 Fairfield Way, Unit 2155, Storrs, CT 06269, USA. Tel.: +1 860 486 3665. E-mail addresses: [email protected] (P. Xie), [email protected], [email protected] (Z. Zhou), [email protected] (Z. Peng), [email protected] (J.-H. Cui), [email protected] (Z. Shi). Ad Hoc Networks 8 (2010) 708–722 Contents lists available at ScienceDirect Ad Hoc Networks journal homepage: www.elsevier.com/locate/adhoc

Transcript of 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

Page 1: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

Ad Hoc Networks 8 (2010) 708–722

Contents lists available at ScienceDirect

Ad Hoc Networks

journal homepage: www.elsevier .com/locate /adhoc

SDRT: A reliable data transport protocol for underwater sensor networks

Peng Xie, Zhong Zhou *, Zheng Peng, Jun-Hong Cui, Zhijie ShiDepartment of Computer Science and Engineering, The University of Connecticut, Storrs, CT 06269, USA

a r t i c l e i n f o

Article history:Received 1 April 2009Received in revised form 14 October 2009Accepted 4 February 2010Available online 13 February 2010

Keywords:Sensor networkUnderwater sensor networksReliable data transferEnergy efficiency

1570-8705/$ - see front matter � 2010 Elsevier B.Vdoi:10.1016/j.adhoc.2010.02.003

* Corresponding author. Address: 371 Fairfield WCT 06269, USA. Tel.: +1 860 486 3665.

E-mail addresses: [email protected] (P. Xie), [email protected] (Z. Zhou), zhengpeng@[email protected] (J.-H. Cui), [email protected]

a b s t r a c t

In this paper, we investigate the reliable data transfer problem in underwater sensor net-works. Underwater sensor networks are significantly different from terrestrial sensor net-works in two aspects: acoustic channels are used for communications and most sensornodes are mobile due to water current. These distinctions feature underwater sensor net-works with low available bandwidth, large propagation delay, highly dynamic networktopology, and high error probability, which pose many new challenges for reliable datatransfer in underwater sensor networks. In this paper, we propose a protocol, called seg-mented data reliable transfer (SDRT), to achieve reliable data transfer in underwater sensornetwork scenarios. SDRT is essentially a hybrid approach of ARQ and FEC. It adopts efficienterasure codes, transferring encoded packets block by block and hop-by-hop. Comparedwith traditional reliable data transfer protocols, SDRT can reduce the total number of trans-mitted packets significantly, improve channel utilization, and simplify protocol manage-ment. In addition, we develop a mathematic model to estimate the expected number ofpackets actually needed in SDRT with SVT codes. Based on this model, we devise a newwindow control mechanism to further reduce energy consumption which is introducedby large propagation delay of acoustic channels. Moreover, this model enables us to setthe appropriate size of the block to address the mobility of the nodes in the network.We conduct simulations to evaluate our model and SDRT. The results show that our modelcan closely predict the number of packets actually needed, and SDRT is energy efficient,and can achieve high channel utilization.

� 2010 Elsevier B.V. All rights reserved.

1. Introduction

Sensor networks have been envisioned as powerfulsolutions for many applications, such as monitoring, sur-veillance, measurement, control and health care. Recently,applying sensor networks in aquatic environments (i.e.,building underwater sensor networks) has received grow-ing interests [1,18,25–28]. Compared with traditional tech-niques used in underwater activities such as scientificexploration and commercial exploitation, underwater sen-

. All rights reserved.

ay, Unit 2155, Storrs,

[email protected],conn.edu (Z. Peng),u (Z. Shi).

sor networks empower us to monitor or detect phenomenamore accurately and timely in extended areas.

In underwater sensor networks, most sensors are notfixed, and can passively float with water current. This fea-ture is common in a wide range of aquatic applications,such as estuary monitoring and submarine detection.Empirical observation suggests that water current movesat the speed of 3–6 km/h in a typical underwater condition.Moreover, different water currents have different direc-tions. For example, in the estuary environment, the watercurrent near the surface is downstream, while the watercurrent near the bottom is upstream. In such applicationscenarios, most sensor nodes, except some fixed nodesequipped with surface-level buoys, are mobile due towater current. It is reported in [26] that underwater ob-jects move at speed 1–3 m/s.

Page 2: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722 709

The mobility of underwater sensor nodes results in ahighly dynamic network topology. For example, if thetransmission range is 1500 m, the initial distance betweentwo nodes are 750 m. These two nodes will be out of trans-mission range of each other in about 375 s if they move inopposite directions even with 1 m/s. In this work, we callthe time period that two nodes are in transmission rangeof each other neighborhood time period. Underwater sensornetworks are feathered with very limited neighborhoodtime period due to the complex node movement. More-over, in the targeted underwater sensor networks, in orderto save the energy consumptions, the nodes are working inmedium transmission range (less than 1500 m) and dataare forwarded hop-by-hop from data source to datadestination.

Different from terrestrial sensor networks, acousticchannels are used for communications in underwater sen-sor networks. The propagation speed of acoustic signals inwater is about 1.5 � 103 m/s, five orders of magnitude low-er than the radio propagation speed (3 � 108 m/s). In addi-tion, the available bandwidth of underwater acousticchannels is limited and depends on both transmissionrange and frequency [5,6,23,29]. According to [8], nearlyno research and commercial system can exceed40 km � kbps as the maximum attainable range � rate

product. Moreover, underwater acoustic channels are af-fected by many factors such as path loss, noise, multi-path,and Doppler spread. All these cause high error probabilityin acoustic channels. Furthermore, most popular acousticmodems are half-duplex and the transition time betweenthe transmitting and the receiving mode is long [37].

For mission critical applications with high reliabilityrequirements such as submarine detection, reliable datatransfer is indispensable. An efficient reliable data transferprotocol must effectively address the new challenges of theunderwater environment, such as large propagation delay,low communication bandwidth, high error probability, andlimited neighborhood period. In addition, since nodes inunderwater sensor networks are usually powered by bat-teries, high energy efficiency is also desired for the reliabledata transfer protocol.

1.1. Design challenges

The new characteristics of underwater environmentsmake many existing methods in reliable data transferundesirable for underwater sensor networks.

1.1.1. End-to-end approaches does not work wellThe conventional end-to-end based reliable data trans-

fer is inefficient in underwater sensor networks. This is be-cause compared with radio channels, underwater acousticchannels feature with much higher error rate. The end-to-end approaches will bring about too many end-to-endretransmission. Recent studies in [9,15,17] show that theend-to-end approach is even infeasible for sensor networksbecause of its low efficiency. For sensor networks, hop-by-hop reliable data transfer, which guarantee the reliabledata transfer per hop, is more promising.

1.1.2. Conventional hop-by-hop approaches does not workwell

Most hop-by-hop based reliable data transfer protocolsfor terrestrial radio networks still do not work in underwa-ter environments. The naive Stop-and-Wait automatic re-peat request technique (ARQ) protocol is undesirable inunderwater sensor networks. Stop-and-Wait ARQ resultsin extremely low channel utilization if applied in underwa-ter sensor networks due to the low propagation speed ofacoustic signal. In addition, this protocol is not energy effi-cient because for every data packet, an ACK will begenerated.

Even though some pipelined ARQ protocols, such as Go-Back-N ARQ and Selective Repeat ARQ, can achieve higherchannel utilization than the Stop-and-Wait ARQ protocol,these protocols are not efficient in underwater sensor net-works. First, most of these protocols assume the full-du-plex operation on every node, which is not supported byexisting half-duplex underwater acoustic modems. Second,since multiple packets are sent together in these protocol,a long time (including retransmission) is needed for everyinteraction between the sender and the receiver, whichmay exceed the limited neighborhood time period. More-over, these protocols have to address the problems re-sulted from ACKs such as timeout problem andsynchronization between transmission of data and ACKs.All these problems are further complicated by the longpropagation delay of underwater acoustic channels.

1.1.3. Pure feedback-free protocols are not energy efficientSome reliable data transfer protocols resort to pure For-

ward-Error-Correcting (FEC). In a FEC approach, the senderkeeps sending encoded packets, and the receiver keepsreceiving encoded packets. At the receiver side, lost pack-ets are ignored, and original data packets can be recon-structed after enough number of encoded packetssuccessfully received. The management of feedback-freeprotocols using FEC is usually simple in that encodingand decoding are the only additional overhead introducedto the sender and receiver, respectively. However, FECessentially exploits redundancy for reliability. In otherwords, additional energy is always used for reliable datatransfer irrespective of the channel conditions. In sensornetworks, due to energy constraints, pure FEC scheme isnot a good choice [36].

1.2. SDRT overview and contributions

Summarizing the above discussions, we want to designa reliable data transfer protocol for underwater sensor net-works, with the goals of energy efficiency, high channelutilization and simple protocol management. In this paper,we propose a protocol called, Segmented Data ReliableTransfer (SDRT). It is essentially a hybrid approach, explor-ing both FEC and ARQ.

The target sensor networks are relatively dense, withnodes working in medium transmission range (less than1500 m). The maximum data rate in such networks canreach about 10 kbps [10]. SDRT assumes that receiverscan detect corrupted packets. This can be done by addingsome redundant information in each packet. When a packet

Page 3: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

710 P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722

is unrecoverable from corruption, this packet is treated aslost. In this paper, we are interested in reconstructing lostpackets, not error correction within packets.

In SDRT, the data source first groups data packets intoblocks. The data packets are delivered from the source tothe destination block by block, and hop-by-hop. An inter-mediate node encodes each data block using an efficienterasure codes. (In this work, a simple variant of Tornadocodes [11], referred to as SVT codes, is proposed for SDRT.)and pumps encoded packets into its channel. When a recei-ver receives the encoded packets, it decodes and recon-structs the original block. After the reconstruction isdone, the receiver encodes the block again and relays theblock to the nodes in next hop. For each relay of a block,the sender keeps pumping encoded packets until receivinga positive feedback from next hop.

Our contributions can be summarized are follows:

� We design a reliable data transfer protocol, SDRT, whichcan well satisfy the harsh requirements in underwatersensor networks: efficient erasure codes enable SDRTto improve channel utilization significantly and relieveboth senders and receivers of handling excessive feed-backs as in pure ARQ; along with SDRT, we proposeSVT codes, simplified Tornado codes, which have easyand quick encoding and decoding algorithms, makingit practical to encode and decode data packets hop-by-hop.

� We develop a novel window control mechanism toreduce the unnecessary data transmission caused bythe large RTT and half-duplex acoustic modem. A math-ematical model for the sender to estimate the expectednumber of needed packets is proposed for SDRT withSVT codes. This model also enables the sender to addressthe dynamic network topology problem. SDRT controlsthe transmission time of each block by setting an appro-priate block size, which loosens the stability require-ment for the underlying network topology.

� We conduct simulations to evaluate the performance ofSDRT and our theoretical model. The results show thatour SDRT is energy efficient and can achieve high chan-nel utilization. And our simulations also verify our theo-retical analysis.

The rest of this paper is organized as follows. We firstpresent our SDRT protocol in Section 2 and give a brief re-view of our SVT codes in Section 3. After that, we develop amathematical model to estimate the number of packetsactually needed in Section 4. We then conduct simulationsto evaluate our model and SDRT, and present the results inSection 5. Finally we discuss related work in Section 6. Weconclude our paper in Section 7.

2. Protocol design

The key idea of the segmented data reliable transfer(SDRT) protocol is to transfer encoded packets, block byblock and hop-by-hop. In order to reconstruct the originaldata packets, the receiver has to receive sufficient en-coded packets. Because the node mobility in underwater

environment results in short communication time be-tween any pair of sender and receiver, the transmissiontime for the encoded packets is limited. Thus, SDRT hasto guarantee that the receiver can receive enough en-coded packets in such a limited time interval. By settingthe block size n (the number of original data packets ineach block) appropriately, SDRT can control the transmis-sion time and allow the receiver to be able to receive en-ough packets in order to reconstruct original block evenin node motion.

2.1. Segmented data reliable transfer (SDRT)

In SDRT, a data source first groups data packets intoblocks of size n, i.e., there are n data packets in each block.Then the source encodes these blocks of packets, and sendsthe encoded blocks into the network. The data packets areforwarded from the source to the destination block byblock and each block is forwarded hop-by-hop.

In each hop-by-hop relay, the sender keeps sending theencoded packets until receiving a positive feedback fromthe receiver. While receiving packets, the receiver tries toreconstruct the original data packets. If the reconstructionis successful, it sends back a positive feedback. On recep-tion of a feedback, the sender stops sending packets, whilethe receiver encodes the original data packets again and re-lays them to the next hop.

The operations performed on the sender and the recei-ver are presented in the following:

Sender(1) Encodes a block of packets.(2) Keeps pumping a stream of encoded packets (in a

random order), until receiving a positive feedbackfrom the receiver. A carefully designed window con-trol mechanism is applied to adjust the sending rate,which will be described in detail in Section 2.2.

Receiver(1) Keeps receiving packets until it can reconstruct the

original data packets, and sends a positive feedbackto the sender.

(2) Encodes the reconstructed packets again and relaythem to the next hop.

From the above description, we can see that SDRT un-loads the burden of the sender and the receiver by requir-ing only one feedback per block. The sender has noadditional responsibility except encoding and injectingpackets, and the receiver only needs to send one feedbackafter reconstructing the original packets.

It is evident that the coding scheme has great impactson the system’s performance. In our work, we propose asimplified version of Tornado code, SVT code, which canbe easily and quickly encoded and decoded. We will dis-cuss SVT code in Section 3. But any coding strategies canbe easily incorporated into our SDRT protocol.

In SDRT, a sender keeps sending randomly ordered en-coded packets into the network until receiving a positivefeedback for the target block. On the one hand, this

Page 4: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722 711

improves the channel utilization since the sender does notneed to wait the feedback from the receiver to send subse-quent packets. On the other hand, the lack of synchroniza-tion between the sender and the receiver in SDRT maycause more energy consumption because the sender doesnot know the exact time to stop sending packets. Due tothe extremely low propagation speed of sound, the delaybetween the feedback sending time (at the receiver side)and receiving time (at the sender side) is very large, thusthe sender will waste a certain amount of energy to keepsending unnecessary packets till it receives the feedbackfrom the receiver. To reduce such energy consumption,next, we introduce a widow control mechanism for SDRT.

2.2. Window control mechanism

The acoustic modems are half-duplex by current tech-nology. The underwater sensor nodes cannot receive anyACKs from the receiver while they are sending packets.This pose one problem for all the protocols that requirefeedback from the receiver, i.e., how does the sender re-ceive the ACK from the receiver? As for SDRT, the senderhas to determine when to stop transmission state and waitfor the positive ACK from the receiver. Even if acousticmodem supports full duplex communication, the longpropagation delay still results in energy waste. The band-width of acoustic channels is low (about 10 kbps withinthe transmission range of 1500 m) compared with RFchannels, however, the propagation speed of sound is evenlower (about 1500 m/s) compared with that of radio. Thiscauses large RTTs even for hop-by-hop communication.For example, if the distance between the sender and the re-ceiver is 1000 m, then RTT is at least 1.3 s, in which about13,000 bits of data can be transmitted. In other words, thesender has to send 1625 bytes of unnecessary data beforeit receives a feedback. If the packet size is 50 bytes, itmeans that about more than 30 packets are transmittedunnecessarily per hop. This overhead is very significantconsidering it is hop-by-hop based transmission. Somecontrol mechanisms are definitely desirable here.

2.2.1. Window controlThe basic idea of the window control mechanism is sim-

ple. A sender estimates the expected number of packetsneeded for a receiver to reconstruct the original data pack-ets and sets its window accordingly. The sender pumps thepackets within the window quickly to improve channelutilization. After that, the sender becomes careful in packetsending. It extends the time interval between any two con-tinuous packets to some pre-defined value, which is calledwaiting interval, denoted by Tw (Tw should be greater thanthe maximum RTT). The sender converts to its receivingstatus to receive ACKs from the receiver during the intervalbetween two continuous packet sending.1 The sender keeps

1 It is still possible that ACKs form the receiver arrive when the sender isin its transmitting status. But this probability is quite small since thewaiting interval Tw is much larger than the transmission time for a packet.In practice. even if the sender missed the ACKs, the receiver can judgewhether its ACKs are lost or not by the subsequent packets from the sender,if it is lost, the receiver can resend its ACKs to the sender.

sending packets at such a slow rate until receiving a positivefeedback from the receiver.

The size of the window should be controlled in such away that with a very low probability, the packets withina window are more than what are needed. After a windowof packets are injected into the network, the receiver onlyneeds a few more packets to reconstruct the original datapackets with high probability. In this way, SDRT cangreatly reduce the number of packets to be sent after thereceiver reconstructs the original data packets, thus savingenergy.

Although the window control mechanism is not new,we creatively use it here to combat the long propagationdelay of underwater networks. In addition, we proposean approach to estimate the sending window size in Sec-tion 4, which greatly improves the system’s performance.

The overall working process of SDRT is shown in Fig. 1.

2.2.2. DiscussionsIt is worth noting that due to the very low propagation

speed and relatively high bandwidth, even small fraction ofpackets sent outside the window cause a significant degra-dation on throughput compared with the one without win-dow control mechanism. However, for long-term missionsensor networks, saving energy is much more importantthan throughput. Moreover, compared with a pure ARQ ap-proach, such as PSFQ in [17], the window control mecha-nism improves the throughput significantly since all thepackets in an ARQ approach (e.g., PSFQ) are sent at a lowrate.

A crucial issue in window control mechanism is to accu-rately estimate the number of packets actually needed. Themodel we present in Section 4 will enable the sender topredict the number of packets needed and thus set thewindow size accordingly. If the window size is appropriate,SDRT can reduce the waste of energy greatly. Meanwhile,SDRT enables the sender to pump a window of packets intothe network fast, thus improving the channel utilization.As shown in Section 5, we can reduce the number of pack-ets unnecessarily transmitted significantly compared withSDRT without window control mechanism.

Fig. 1. Overall working process of SDRT.

Page 5: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

712 P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722

Recall that SDRT is a transfer protocol not a routing pro-tocol. The highly dynamic network topology issue inunderwater sensor networks is a major concern of therouting protocols. However, SDRT can address this prob-lem by setting appropriate block size such that the nexthop has sufficient time to reconstruct the whole block evenin motion. The block size n is determined by many factorssuch as the coding scheme, the moving speed of nodes, thebandwidth of communication channels, the propagationspeed and the distance between the sender and the recei-ver. We will present an approach to estimate the blocksize, n, for our proposed SVT code in Section 4.3.

d1d1c1

b1

3. Simple variant of tornado (SVT) codes

To simplify the encoding/decoding process, we proposeto use SVT codes, which is simplified Tornado codes in ourSDRT protocol. And later in Section 4, we also use SVT codeto illustrate the estimation of the sending window size.However, it should be noted that our SDRT is a flexibleframework for hop-by-hop reliable data transfer in under-water networks and any coding techniques can be im-ported into it. Since the performance of SDRT and theestimation process for the sending window size is closelyrelated to the properties of the underlying coding tech-nique, we will first briefly introduce Tornado codes in thenext.

Tornado codes [11] are one type of erasure codes, whichtypically encode a set of n original packets into a set of Nencoded packets, where N P n. In order to reconstruct noriginal packets, the receiver has to receive a certain num-ber (larger than n) of encoded packets. The stretch factor,defined as N

n, is used to measure the redundancy of erasurecodes.

Tornado codes are preferred in many network applica-tions in that they can be easily and quickly encoded anddecoded. The encoding and decoding of Tornado codes onlyinvolve XOR operations which are suitable for sensor nodeswith limited computation capability. These simple opera-tions also make Tornado codes much faster than other cod-ing methods like Reed-Solomon codes.

Before introducing encoding and decoding algorithmsof Tornado codes, we first give some definitions. For anytype of erasure codes, we call n original packets data pack-ets and other packets check packets. In this paper, a packetmay refer to a data packet or a check packet. XOR operationis denoted as �. Let P1 and P2 be two packets of the samesize, then P1 � P2 is the result of bitwise-XOR’ing packetsP1 and P2.

d2

d3

d4

d2

d3

d4

c2

c3

b2

3.1. Encoding

The encoding algorithm in Tornado codes is equivalentto constructing a multi-level bipartite graph2 where thenodes at each level are randomly connected to the nodesat adjacent levels. Fig. 2 illustrates an example of three-level

2 bipartite graph is defined as a graph whose vertices can be divided intotwo disjoint sets U and V such that every edge connects a vertex in U to onein V. Interested reader can refer [16] for details of the bipartite graph.

Tornado encoding. In the graph, the nodes at the first (left-most) level denote original data packets, and the nodes atother levels are the XORs of all their neighbors (nodes) inthe left adjacent level. The randomly ordered packets includ-ing both data packets and check packets constitute the finalencoded packets.

For a multiple-level bipartite graph, any two adjacentlevels are connected by edges and constitute a subgraph,denoted as Gk, which specifies the way to generate thecheck packets. For example, in Fig. 2, G0 and G1 are twosubgraphs. In a subgraph, the left(right) degree of an edgeis defined as the degree of its left(right) node. For example,in subgraph G0, edge ðd1; c2Þ has a left degree of 2 since thedegree of node d1 is 2. A subgraph is determined by twoedge-degree vectors, namely, left degree vectork ¼ ðk1; k2; . . . ; kMÞ and right degree vector q ¼ ðq1;q2; . . . ;

qMÞ, where ki is the fraction of edges with the left degreei and qi the fraction of edges with the right degree i. Thusfor subgraph G0; k ¼ 2

8 ;68

� �and q ¼ 0; 2

8 ;68

� �. Given these two

vectors, we can generate the subgraph by a simple methodsuggested in [11].

In the example shown in Fig. 2, d1; d2; . . . ; d5 denote theoriginal data packets. c1 ¼ d1 � d2 � d3; c2 ¼ d1 � d3�d5; c3 ¼ d2 � d4 are the nodes in the second level, andb1 ¼ c1 � c2 and b2 ¼ c1 � c3 constitute the third level.

3.2. Decoding

While the encoding process of Tornado codes is to con-struct a graph from left to right, the decoding process ofTornado codes is to reconstruct the graph from right to left.In a subgraph Gk, if most of the nodes are known, then wehave a higher chance to reconstruct the unknown nodesuntil all the nodes in the left level (which is the right levelfor the subgraph Gk�1) are recovered. Following this way,we can recover all the nodes until the leftmost level arereconstructed. The reconstruction processes within eachsubgraph is one step of the decoding process.

In each decoding step, for a node on the right side, if allbut one of its neighbors are known, then this lost packetcan be recovered by XOR all the related packets. For exam-ple, in Fig. 2, suppose packet d1 is lost, we can reconstructd1 by d2 � d3 � c1. For a subgraph Gk, its decoding subgraphconsists of the nodes on the left side that are lost and notdecoded yet, all nodes on the right side (already recovered

d5d50G 1G

Fig. 2. An example of Tornado codes.

Page 6: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722 713

in subgraph Gkþ1) and all the edges between them. Onedecoding step is equivalent to finding a node of degree 1on the right side in the decoding subgraph, and removingit, its left neighbor and all edges adjacent to its neighborfrom this decoding subgraph. This procedure is repeated un-til all the lost packets are reconstructed or no more node ofdegree 1 on the right side.

Tornado codes have encoding time and decoding timeproportional to Nln 1

� �P, where P is the length of a packet,

N is the number of encoded packets and � is the decodinginefficiency factor, i.e., ð1þ �Þn packets are needed for a re-ceiver to reconstruct n packets [11].

SVT codes: Tornado codes are preferred in manynetwork applications in that they can be easily and fastencoded and decoded [4,3,2]. However, the originaldesign of Tornado codes uses a multi-layer bipartitegraph to encode and decode packets. This still resultsin significant computational overhead, which is usuallynot desirable in our scenarios since the data packetshave to be encoded and decoded hop-by-hop. Moreover,the number of the data packets is very limited, the leftdegree and right degree distributions proposed in [11]are not feasible in our case. Thus, to improve encoding/decoding efficiency, we adopt a simple variant ofTornado codes (referred to as SVT codes in this paper)for SDRT. SVT codes are essentially two-layer Tornadocodes, but, the left degree and right degree distribu-tions in SVT codes are different from that of originalTornado codes and the specific requirements are asfollows.

(1) The left degree of SVT codes is at least 3, i.e.,k1 ¼ k2 ¼ 0.

(2) The bipartite graphs used for SVT encoding are notregular.

In [11], some degree generation regulations based ondifferential equations are proposed, which is not feasiblein our scenarios since the number of data packets is verylimited. However, the regulation that the first two ele-ments of the left degree vector k are fixed to 0, i.e.,k1 ¼ k2 ¼ 0, is based on combinatorial argument, and stilltrue for SVT codes. In [11], it is proved that codes basedon regular graphs are not optimal. This is also validatedby our simulation results in Section 5. Moreover, we expectthat codes with different degree distributions behave sim-ilarly since the number of the data packets is very limited.This is confirmed by our simulation results in Section 5.

4. Analysis

In this section, we present a model to estimate thenumber of data packets sent in our SDRT scheme withSVT code. Based on this model, we can set the window sizeand block size accordingly.

4.1. Mathematical models for SVT codes

We have the following assumptions for the SVT codeswe use. First, we assume packet loss is independent. Sec-

ond, we assume that the sender sends at most three roundsof encoded packets to guarantee the receiver successfullyrecovers the original data packets. This can be achievedby selecting appropriate left degree vectors and right de-gree vectors.

SVT codes can be represented by bipartite graphs[16]. Let G ¼ fV ; Eg be the bipartite graph, where E isthe set of edges and V is the set of nodes in the graph.V ¼ D [ C and D \ C ¼ /, where D is the set of data pack-ets and C is the set of check packets. The edges in G ran-domly connect the nodes in D and the nodes in C. Foreach node v 2 C, we define a box, bv ¼ fuju ¼v ; or uv 2 Eg. Thus, for each node v 2 C, there is a corre-sponding box, which is the set of this node and itsneighbors. There are jCj totally boxes in graph G. If theleft degree of node v 2 C is i, we say the degree of bv

is i and the capacity of bv (i.e., the number of nodes inthis box) is iþ 1. We call the set of all the boxes withthe same degree a cluster. The cluster of boxes with de-gree i is denoted as Bi.

For a sender-receiver pair, the receiving process atthe receiver side is equivalent to filling packets intojCj boxes. When a check packet is delivered successfully,it is equivalent to putting one packet into one box. If adata packet of degree j is received, it is equivalent toput j packets into j different boxes. For clarity, werefer to a packet in a box as a replica, which can be adata packet or a check packet. A data packet may beplaced in multiple boxes, thus having multiple replicasin different boxes. These replicas, associated with thesame data packet, will be referred to as siblingreplicas.

We assume that sibling replicas are independent ofeach other. This assumption is reasonable since siblingreplicas are independently and randomly placed into dif-ferent boxes. When a box of capacity k is filled withk� 1 or k replicas, we consider this box full and all thereplicas in this box can be recovered. When the associ-ated packet is reconstructed, all the replicas generatedby this packet are considered to be recovered. Thus, inSVT codes, one full box can potentially cause other boxesfull.

We still use k and q to specify the edge-degreevectors, i.e., k ¼ fk1; k2; . . . ; kMg is the left degree vec-tor and q ¼ fq1;q2; . . . ;qMg is the right degree vector.We use p to denote the erasure probability, n to de-note the number of data packets or block size, and1þ b to denote the stretch factor. Then jDj ¼ n;jCj ¼ nb, and the total packet numberN ¼ jCj þ jDj ¼ ð1þ bÞn. Then, we can get the followinglemmas.

Lemma 1. The average degree of data packets, l ¼ 1Pj

kjj

, andthe average degree of check packets, r ¼ 1P

j

qjj

.

Proof. Assume the total number of edges is E, by defini-tion, the number of edges of degree i on the left is Eki,therefore, the number of data packets of degree i is Eki

i ,

the total number of data packets isP

jEkj

j . The average

degree of data packets is calculated as:

Page 7: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

714 P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722

l ¼ 1� Ek1Pj

Ekj

j

þ2� E k2

2Pj

Ekj

j

þ � � � þM � E kM

MPj

Ekj

j

¼ Eðk1 þ k2 þ k3 þ � � � þ kMÞPj

Ekj

j

¼ EPj

Ekj

j

¼ 1Pjkj

j

:

Similarly, the average degree of check packets isr ¼ 1P

j

qjj

. h

Lemma 2. Given the left degree vector k, right degree vector

q, then b ¼P

j

qjjP

j

kjj

.

Proof. By Lemma 1, we know the average degree of datapackets is l ¼ 1P

j

kjj

and the average degree of check packets

is r ¼ 1Pj

qjj

. Since the number of edges emanating from data

packets is equal to the number of edges entering checkpackets and there are n packets, we get, n� l ¼ b� n� r.

Therefore, b ¼ lr ¼

Pj

qjjP

j

kjj

. h

Lemma 3. The probability that a replica is put into a box in

cluster Bi (called the ration of Bi), qi ¼qii �ðiþ1ÞP

j

qjj �ðjþ1Þ

� �.

Proof. For a check packet of degree i, the capacity of thecorresponding boxes is iþ 1. The number of boxes ofdegree i is E� qi

i . Therefore, the total capacity of all boxes

isP

jE�qj

j � ðjþ 1Þ. The capacity of the cluster with degree

i is E� qii � ðiþ 1Þ. For any replica, the probability that this

replica is put into the cluster with degree i isE�qi

i �ðiþ1ÞPjE�

qjj �ðjþ1Þ¼

qii�ðiþ1ÞPj

qjj�ðjþ1Þ

. h

Lemma 4. For a randomly selected packet, the probabilitythat this packet is a check packet, pc ¼ b

bþ1, the probability

that this packet is a data packet, pd ¼ 1� pc ¼ 1bþ1, and

the probability that this data packet has degree i is

pd �kiiP

j

kjj

.

Proof. Since the total number of packets is ðbþ 1Þn, thenumber of check packets is bn. Therefore, for a randomlyselected packet, the probability that this packet is a checkpacket, pc ¼ b

bþ1 and the probability that this packet is a

data packet, pd ¼ 1� bbþ1 ¼ 1

bþ1. The number of data packets

of degree i is E� kii , where E is the total number of edges,

the number of data packets isP

jE�kj

j , therefore, the prob-

ability that a data packet has degree i is pd �kiiP

j

kjj

. h

From Lemma 2, we can see that left degree vector k,right degree vector q and the number of data packetsdetermine SVT codes. In this rest of this paper, we use lto denote the average degree of data packets, qi to denote

the ration of Bi; pd to denote the probability of data pack-ets, and pc to denote the probability of check packets. Thenwe can define a function HðxÞ to represent the number ofreplicas generated by x packets as follows HðxÞ ¼ xpd�lþ x� pc .

4.2. Estimation of the number of packet to send

In this subsection, we present a model to estimate theexpected number of packets actually needed by the recei-ver to reconstruct original data packets.

Suppose x packets have been sent out. Let f ðxÞ be theprobability that the receiver can reconstruct all originaldata packets. Let dð1jxÞ be the probability that the nextsuccessfully delivered packet is duplicate (i.e., the packethas been delivered successfully or recovered) and rð1jxÞbe the probability that the receiver can reconstruct originaldata packets when a non-duplicate packet is successfullydelivered. Then, we have

f ð0Þ ¼ 0f ðxþ 1Þ ¼ 1 if dð1jxÞ ¼ 1;otherwisef ðxþ 1Þ ¼ pf ðxÞ þ ð1� pÞðdð1jxÞf ðxÞ þ ð1� dð1jxÞÞrð1jxÞÞ;

ð1Þ

where p is the erasure probability.Calculating dð1jxÞ: When there is no packet sent before,

it is impossible that the new packet is duplicate. In the firstround of transmission of the encoded packets, the onlychance for the new packet is duplicate is that it has beenrecovered earlier.

If we use RðxÞ to denote the expected number of packetsreceived or recovered by the receiver given that x packetsare sent out before, then we have dð1jxÞ and RðxÞ asfollows:

dð1jxÞ ¼0 x ¼ 0RðxÞ�xð1�pÞ

N�xð1�pÞ 0 < x 6 NRðxÞ

N x > N

8><>: ð2Þ

and

Rð0Þ ¼ 0Rðxþ 1Þ ¼ RðxÞ þ ð1� dð1jxÞÞð1� pÞðDðx;1Þ þ 1Þ;

ð3Þ

where Dðx;1Þ is the number of newly recovered packetswhen a non-duplicate packet is delivered given that xpackets are sent out before, and it is evaluated as

Dðx;1Þ ¼ ðN � RðxÞ � 1Þ � 1� 1� 1N � RðxÞ � 1

� �dðxÞ !

:

ð4Þ

In Eq. (4), dðxÞ is the number of replicas newly recoveredwhen a non-duplicate packet is delivered given that xpackets are set out before, which is computed by algorithmRecoveryReplicaðx;1Þ. The second term in Eq. (4) is theprobability that a lost packets is recovered because of therecovery of dðxÞ replicas. Here we assume that each ofthese dðxÞ replicas has the same probability to beassociated with the lost packets. The algorithmRecoveryReplicaðx;1Þ is presented as follows.

Page 8: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722 715

Algorithm 1. RecoveryReplica(x,1)

1: tp ¼ N � RðxÞ � 1 {tp: number of lost packets}2: tr ¼ HðRðxÞ þ lÞ {tr: number of received replicas}3: lr ¼ HðNÞ � tr {lr: number of lost replicas}4: r ¼ 05: repeat6: for all i such that qi – 0 do7: lr;i ¼ lr � qi {lr;i: number of lost replicas in Bi}8: if lr;i 6 2:0� jBij then

9: ri ¼ lr;i � 1� 1jBi j

� �lr;i�1{ri: number of recovered

replicas in Bi}10: r ¼ r þ ri

11: lr ¼ lr � ri

12: end if13: end for

14: rp ¼ 1� 1� 1tp

� �r� �� tp {rp: number of recovered

packets}15: tn ¼ HðrpÞ � r {tn: number of extra recovered

replicas}16: lr ¼ lr � tn

17: tp ¼ tp � rp

18: r ¼ r þ tn

19: until tn < 120: return r

In SVT codes, when a box is one replica short, then thelost replica in this box can be recovered. In Algorithm 1, wecount the number of boxes with one replica short as theinitial recovered replicas. Then we compute the numberof extra replicas recovered due to these recovered replicas,we repeat these steps until no more replica can be recov-ered. The number of boxes with one replica short is veryimportant for the recovery of lost packets. In Algorithm1, we begin the loop of recoveries when there exists abox with one replica short averagely. As shown in line 9computes the number of boxes with one replica short forcluster Bi. After getting all the number of recovered replica,line 14 computes the number of packets recovered bythese replicas. Then line 15 computes the number of extrareplicas recovered. The procedure from line 5 to line 19 isrepeated until there is no more extra replica recovered.

Calculating rð1jxÞ: We compute rð1jxÞ as follows:

rð1jxÞ ¼0 if x¼ 0rð1jx�1Þþ ð1� rð1jx�1ÞÞVðx;1Þ otherwise;

�ð5Þ

where Vðx;1Þ is a function to compute the success proba-bility (i.e., the probability that the original data packetscan be reconstructed) when a non-duplicate packet isdelivered given that exact x packets are sent out before,and it is evaluated as

Vðx;1Þ ¼X

j

pj �xðx; jÞ; ð6Þ

where pj is the probability that a packet has degree j, andthe check packets can be considered as packets with de-gree 1. The probability, pj can be easily computed usingLemma 4. xðx; jÞ is the success probability when the newly

added packet has degree j given that x packets have beensent out. It is computed by the algorithm Recoveryðx; jÞ asfollows.

Algorithm 2. Recovery(x,j)

1: tp ¼ N � RðxÞ � 1 {tp: number of lost packets}2: tr ¼ HðRðxÞÞ {tr: number of received replicas}3: lr ¼ HðNÞ � tr � j {lr: number of lost replicas}4: repeat5: r ¼ 06: for all i such that qi – 0 do7: lr;i ¼ lr � qi {lr;i: number of lost replicas in Bi}8: if lr;i 6 jBij then9: if Bi is not marked recovered or done then10: pi ¼ 111: r ¼ r þ lr;i12: mark Bi done13: end if14: if Bi is recovered then

15: pi ¼ e�lr;i ðlr;i�1Þ

2jBi j

16: r ¼ r þ lr;i17: mark Bi done18: end if19: end if20: if jBij < lr;i 6 2� jBij then

21: r ¼ r þ lr;i � 1� 1jBi j

� �lr;i

22: pi ¼ 023: mark Bi recovered24: end if25: if lr;i > 3� jBij then26: pi ¼ 027: end if28: end for29: lr ¼ lr � r

30: rp ¼ 1� 1� 1tp

� �r� �� tp {rp: number of recovered

packets}31: tp ¼ tp � rp

32: tn ¼ HðrpÞ � r {tn: number of extra recoveredreplicas}

33: lr ¼ lr � tn

34: until tn < 135: return

Qpi

In the algorithm, the success probability, xðx; jÞ is theproduct of the success probabilities of all the clusters. Eachcluster has two states, namely recovered, and done. If acluster is in state done, it means that all the boxes in thiscluster are full. If a cluster is in state recovered, then somelost replicas in this cluster are recovered. If the number oflost replicas is smaller than the number of boxes in a clus-ter, we assume this cluster is full and the success probabil-ity for this cluster is 1. After a series of recoveries, if eachbox in a cluster is less than 1 replica short, the successprobability is the probability that these lost replicas are lo-cated in different boxes, which is essentially the bin andball problem [12], i.e., given m balls and n bins, the m ballsare randomly thrown into n bins, the probability that allthese balls are in different bins Pr 6 e

�mðm�1Þ2n . Line 21 com-

putes the number of recovered replicas for the clusterswhose shortage of replicas per box is less than 2. Line 30

Page 9: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

716 P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722

computes the average number of recovered packets causedby the r recovered replicas. Line 32 computes the numberof newly recovered replicas due to these recovered pack-ets. The loop of recoveries stops when there is no extra rep-lica recovered.

Now, we can evaluate the probability that a receiverrecovers the original data packets when the sender sendsout exactly x encoded packets. Let P(x) denote this proba-bility, and it is computed as

PðxÞ ¼ f ðxÞ � f ðx� 1Þ: ð7Þ

Then, the average number of packets a sender needs tosend can be evaluated as

ER ¼X1i¼0

i� PðiÞ: ð8Þ

4.3. Block size estimation

As we state earlier, in order to address the node mobil-ity issue in underwater sensor networks, SDRT limits thetransmission time by grouping the original data packetsinto blocks. The block size, n, i.e., the number of data pack-ets is determined by many factors such as the stretch fac-tor, the confidence factor, the speed of nodes, thebandwidth of communication channels and the propaga-tion speed of sound. We use 1þ b to denote the stretch fac-tor, c to denote the confidence factor and bw to denote thebandwidth of communication channels, V to be the propa-gation speed of acoustic signals, and Tw to be the waitinginterval when sending packets beyond the window thresh-old. Further, we denote the possible minimum time inter-val for the communication between a sender and a receiver(supported by the underlying routing protocol) as Tr . Thenthe block size, n, must satisfy the following inequity:

c� ER � Lbw

þ ERð1� cÞTw < Tr; ð9Þ

where L is the packet size. From ER, we can get the corre-sponding block size n by Eq. (8).

If we have n ¼ 100; b ¼ 0:6; bw ¼ 10 kbps; V ¼1500 m=s, the erasure probability p ¼ 0:5, the packet sizeL ¼ 40 bytes; Tw ¼ 1:5 s, the left degree vector k ¼ f0;0;0;1g and the right degree vector q ¼ 0;0;0;0; 1

8 ;0;78

, in

the case of single receiver, the average number of packetsneeded is 332. If c ¼ 0:8, i.e., the window size is 266, thenthe transmission time is less than 107.5 s. In other words, ablock size of 100 requires that the minimum time intervalfor the communication between a sender and a receiver isat least 107.5 s.

Note that the window size estimation can be done off-line and stored in a table when the sensor nodes are de-ployed. When SDRT gets the statistical value of the erasureprobability from the underlying protocols, SDRT can checkthe table and set the block size accordingly.

5. Performance evaluation

In this section, we evaluate the performance of SDRTand our theoretical model by simulations. In the simula-

tions, the number of data packets is set to 100 and thestretch factor is 1.6, i.e., the number of check packets is60. The size of the data packet is 50 bytes. The bandwidthof the channel is 10 kbps and distance between the senderand the receiver is 1000 m. The propagation speed ofacoustic signal is set to 1500 m/s. The maximum degreefor SVT codes is 8. Every simulation runs 100 trials.

5.1. Metrics

We define the following metrics to measure the perfor-mance of SDRT.

(1) Sending inefficiency: This metric is defined as

a ¼ # of packets sent# of original data packets

: ð10Þ

(2) Goodput: This metric is define as

h ¼ # of original data packetstimetosendthetotalpackets

: ð11Þ

(3) Number of packets actually sent.

We use inefficiency a to measure the efficiency of com-munication. The smaller the sending inefficiency, the fewerpackets are sent into the network, thus, the less energyconsumption. We use goodput h to measure the channelutilization. SDRT employs a window control mechanismto reduce the number of packets sent unnecessarily dueto the large RTT of acoustic channels. We measure thenumber of packets actually sent to evaluate the effect ofthe window control mechanism.

5.2. Effects of the degree distributions

In this simulation setting, we probe the effects of differ-ent degree distributions adopted by SVT codes on the per-formance of SDRT. Since the number of the data packets isvery limited, we expect that SVT codes based on differentdegree distributions behave similarly. We implement SVTcodes with five different degree distributions as follows:

(1) Case 1: k ¼ ð0;0;0;1:0;0;0;0Þ and q ¼ ð0;0;0;0;0;1:0Þ;

(2) Case 2: k ¼ ð0;0;0;0;1:0;0;0;0Þ and q ¼ ð0;0;0;0;0;0:125;0;0:875Þ;

(3) Case 3: k ¼ ð0;0;0;0;1:0;0;0;0Þ and q ¼ ð0;0;0;0;0;0;0:3;0:7Þ.

(4) Case 4: k ¼ ð0;0;0;0:9;0:1Þ and q ¼ ð0;0;0;0;0:4;0;0:6Þ;

(5) Case 5: k ¼ ð0;0;0; 0:3;0:2;0:5Þ and q ¼ ð0;0;0;0;0;0:125;0;0:875Þ;

From Fig. 3, we can see that the code based on regulargraphs, i.e., code following the degree distribution in Case1, has the worst performance. This conforms the conclu-sion in [11] that codes based on regular graphs are notoptimal. Fig. 3 also shows that there is no significant differ-ence among all other codes, which validates our assump-tion that degree distributions have less effects on the

Page 10: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.51

1.5

2

2.5

3

3.5

Erasure Probability

Inef

ficie

ncy

Sim−case−1−1Sim−case−2−1Sim−case−3−1Sim−case−4−1Sim−case−5−1

Fig. 3. SVT codes with different degree distributions.

0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.51

1.5

2

2.5

3

3.5

4

Erasure Probability

Num

ber o

f pac

kets

sen

t (10

0)

Model−case−5Sim−case−5

Fig. 5. The computed value vs. simulation result fork ¼ ð0; 0; 0;0:3; 0:2; 0:5Þ and q ¼ ð0;0; 0; 0;0; 0:125; 0;0:875Þ.

P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722 717

performance, given that degree distributions satisfy thebasic requirements for SVT codes proposed in Section 3.

5.3. Accuracy of estimation model

In Section 4, we develop a mathematical model to esti-mate the average number of packets needed for the recei-ver to reconstruct the original data packets given theerasure probability and degree distributions. Here, wecompare the theoretical value from our model with thesimulation results. We set the maximum number of roundsto 3 in the model since the change on the results is negli-gible beyond that value.

We have conducted a large number of simulations toevaluate our model under different SVT codes. The simula-tion results show that our model approximates the simula-tion results well in all simulations. Due to the space limit,we only show the results for codes following degree distri-bution in Case 2 and Case 3 in Figs. 4 and 5. Fig. 4 shows

0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.51

1.5

2

2.5

3

3.5

Erasure Probability

Num

ber o

f pac

kets

sen

t (10

0)

Model−case−2Sim−case−2

Fig. 4. The computed value vs. simulation results fork ¼ ð0;0; 0;0;1:0;0; 0; 0Þ and q ¼ ð0;0; 0; 0;0; 0:125; 0; 0:875Þ.

the results with standard deviations for SVT codes withk ¼ ð0;0;0;0;1:0;0;0;0Þ and q ¼ ð0;0;0;0;0;0:125;0;0:875Þ and Fig. 5 for SVT codes with k ¼ ð0;0;0; 0:3;0:2;0:5Þ and q ¼ ð0;0;0;0;0;0:125;0;0:875Þ.

5.4. Effects of window size control

We also conduct simulations to evaluate the perfor-mance of SDRT window control mechanism. In this set ofexperiments, We implement two versions of SDRT, onewithout window control and one with window controlmechanism. For the SDRT with window control mechanism,we set the confident factor, c ¼ 1:0, 0.9 and 0.8,respectively, i.e., we set the actual window size to 100%,80% and 90% of the expected value calculated from our mod-els. The distance between the sender and the receiver is setto 1000 m. We measure the number of the packet actuallysent in these two versions of SDRT. In the simulation setting,

0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5120

140

160

180

200

220

240

260

280

300

320

Erasure Probability

Num

ber o

f pac

kets

sen

t

Non−windowWindow (80%)Window (90%)Window (100%)

Fig. 6. Effect of window control for single receiver.

Page 11: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

0.1 0.2 0.3 0.4 0.50

1000

2000

3000

4000

5000

Goo

dput

(bps

)

SDRTARQSelective ARQ n=10Selective ARQ n=15

718 P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722

the erasure probability of the positive ACK is one-fifth ofthat of a data packet. The Tw is set to 1.5 s.

Fig. 6 clearly shows that when the window size is set to80% of the calculated expected value, SDRT reduce thewaste packets most. While even if c is set large, say 1.0,the window control mechanism can still reduce the num-ber of unnecessary packets compared with SDRT withoutwindow control. With the decrease of c, the total numberof packets sent decreases, which contributes to the sys-tem’s energy efficiency. On the other hand, with the de-crease of c, the transmission rate of every node is slowdown. Thus, the system throughput decreases. By control-ling c. We can adjust the tradeoff between the energy effi-ciency and the throughput.

Erasure probability

Fig. 8. Goodput vs. the erasure probability.

5.5. Effects of SVT codes

In this set of simulations, we evaluate the effect of SVTcodes on the performance of SDRT. We compare SDRT withthe common used ARQ schemes. The results are shown inFigs. 7 and 8.

For the simple ARQ approach, data packets are not en-coded at all. The sender sends a packet and waits forACK. After some pre-defined time period, if the sender doesnot receive ACK yet, the sender retransmits the packet. Weassume that the erasure probability of the ACK packet isone-fifth of that of a data packet. When we measure thesending inefficiency, we count the number of ACK packetsand data packets actually sent as the total number of pack-ets. This approach is actually PSFQ proposed in [17].

We also modify the selective ARQ protocols to fit thehalf-duplex acoustic modem. In this protocol, the sendersends multiple packets at a time and wait for the ACK,the receiver replies an ACK for all these packets. In theACK packet, the receiver specifies the IDs of packets suc-cessfully received. After receiving an ACK, the sender con-tinues sending packets, includes the previously lostpackets and some new packets. In the figures, ‘‘n” is thewindow size of the selective ARQ protocol.

Here, SDRT adopts the SVT codes with degree distribu-tion k ¼ ð0;0;0;0;1:0;0;0; 0Þ and q ¼ ð0;0;0;0;0;0:125;0;0:875Þ. And we change the erasure probabilities from

0.1 0.2 0.3 0.4 0.5100

150

200

250

300

350

400

450

Erasure probability

Num

ber o

f pac

kets

sen

t

SDRTARQSelective ARQ n=10Selective ARQ n=15

Fig. 7. Number of packets sent vs. the erasure probability.

0.1 to 0.5. As shown in Fig. 7, we observe that when theerasure probability increases, the sending inefficiency alsoincreases. And our SDRT outperforms other approaches un-der all erasure probabilities. Compared with ARQ ap-proaches, SDRT can almost reduce the number of packetsneeded by more than half, which can greatly improve thesystem’s energy efficiency.

We also compare the goodputs of SDRT with simpleARQ and selective ARQ. In SDRT, the confidence factorc ¼ 0:8, i.e., the window size is 80% of the expected num-ber of packets actually needed and the waiting intervalTw ¼ 1:34 s. The results are shown in Fig. 8. As shown inthis figure, SDRT always outperforms both simple ARQand selective ARQ. When the erasure probability is low,selective ARQ can achieve better goodput than simpleARQ. However, when the erasure probability increases,the goodput of selective ARQ degrades.

To summarize, SDRT reduces the number of packets un-der various erasure probabilities, thus, reducing energyexpenditure. On the other hand, SDRT also improves thegoodput compared with simple ARQ and selective ARQ.

5.6. Effects of the number of data packets

In this set of simulations, we evaluate the effects ofnumber of data on the performance of SDRT. Here, wechange the number of data packets from 60 to 160 andmaintain the number of check packets to 60, thus, thestretch factor of SDRT changes from 2 to 1.375. The packeterasure probability is set to be 0.3. We compare SDRT withthe common used ARQ schemes.

Figs. 9 and 10 clearly show us that SDRT can achievemuch higher goodput with much less number of packets.With the increase of the number of data packets, the num-ber of packet sent for increases for all schemes. However,the increase rate of our SDRT is much slower than the oth-ers. Fig. 10 shows us that although the goodput for the ARQschemes almost does not change with the increase of thenumber of data packet, the goodput of SDRT increases withit. This is because of the hybrid mechanism and the opti-mized window size of SDRT, which can successfully trans-mit more packets in shorter time than the ARQ schemes.

Page 12: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

60 80 100 120 140 160100

200

300

400

500

600

700

Number of data packets

Num

ber o

f pac

kets

sen

t

SDRTARQSelective ARQ n=10Selective ARQ n=15

Fig. 9. Number of packets sent vs. the number of data packets.

200 300 400 500 600100

200

300

400

500

600

Packet length(bits)

Num

ber o

f pac

kets

sen

t

SDRTARQSelective ARQ n=10Selective ARQ n=15

Fig. 11. Number of packets sent vs. packet length.

200 300 400 500 6000

500

1000

1500

2000

2500

3000

Packet length(bits)

Goo

dput

(bps

)

SDRTARQSelective ARQ n=10Selective ARQ n=15

Fig. 12. Goodput vs. packet length.

60 80 100 120 140 1600

500

1000

1500

2000

2500

3000

3500

Number of data packets

Goo

dput

(bps

)

SDRTARQSelective ARQ n=10Selective ARQ n=15

Fig. 10. Goodput vs. the number of data packets.

P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722 719

5.7. Effects of the packet length

In this set of simulations, we evaluate the effects ofpacket length on the performance of SDRT. Here, we

change packet length from 200 bits to 600 bits. And wecompare SDRT with the common used ARQ schemes.

From Fig. 11, we can see that with the increase of thepacket length, the number of packet sent increase rapidly.This is because with the increase of the packet length, thepacket error probability increases, which introduces moreretransmissions in the networks. Fig. 11 also show us forSDRT, the number of packets sent is much less than others,which makes it much more energy efficient.

Fig. 12 shows us with the increase of the packet length,the Goodput increases slowly at first and then decreases.This can be explained as follows. the packet length hasdouble effects on the goodput. On one hand, the longer apacket is, the more goodput will be contributed by the suc-cessful transmission of the packet. On the other hand, thelonger a packet is, the higher error probability for thispacket, which results in retransmission and will degradethe goodput. when the packet length is small, the first ef-fect plays a major part and thus, the throughput will in-crease. However, with the further increase of the packetlength, the second effect becomes more prominent, whichleads to the decrease of the goodput.

5.8. Summary

From our results and analysis, we can conclude that inSDRT, even though the sender has to send some redundantcheck packets, the total number of packets that are actuallyneeded are still much smaller than the approaches withoutcheck packets. Thanks to the window size control mecha-nism, SDRT can estimate and send an exactly needed num-ber of packets into the network, thus saving energy.

6. Related work

In the literature, there are several reliable transferprotocols proposed for terrestrial sensor networks[9,14,15,17,19]. However, due to the significant distinctionsbetween underwater sensor networks and terrestrial sensornetworks, these protocols are unsuitable for underwater

Page 13: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

720 P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722

sensor networks. We review and discuss each of the proto-cols as follows.

Wan et al. designed PSFQ (Pump Slowly and FetchQuickly) in [17], which employs the hop-by-hop approach.In this protocol, a sender sends data packet to its immedi-ate neighbors at very slow rate. When the receiver detect apacket loss, it has to fetch the lost packet quickly. The rateof fetching lost packet is five times as fast as the rate oftransmitting data. However, PSFQ employs ARQ mecha-nism in the transmission from hop to hop, it suffers theproblems inherited in ARQ paradigms in the case of under-water sensor networks as we discussed in Section 1.1.

ESRT (Event to Sink Reliable Transfer) is a transfer pro-tocol for homogeneous sensor networks, where each nodehas the same sending rate [14]. This protocol achieves thereliable detection of an event by controlling the sendingrate of sources. When the sink detects the congestion inthe network, it commands all sources to reduce the send-ing rate by broadcasting a control message. ESRT uses con-gestion avoidance techniques to improve reliability insteadof providing reliable data transfer, which is different fromthe problem we are investigating. Furthermore, theassumptions such as homogeneous sensor networks andinstant feedback from the sink are not applicable to thecase of underwater sensor networks.

RMST (Reliable Multi-Segment Transfer) and RBC (Reli-able Bursty Convergecast) are two other recently proposedreliable data transfer protocols for terrestrial sensor net-works [15,19]. RMST [15] is designed for the directed diffu-sion paradigm [7]. In the proposed architecture, reliabledata transfer schemes are implemented at both transportand MAC levels, and ARQ mechanism is adopted. In RBC[19], a window-less block ACK is used to improve the chan-nel utilization, and a differentiated contention controlmechanism is employed to reduce the end-to-end delay.Both RMST and RBC have the problems inherited in ARQparadigm when applied in underwater sensor networks.

In [9], Kim et al. evaluate several methods to improvethe reliability of data transfer, namely erasure code,retransmission and route fix. All the methods are imple-mented and evaluated in a real testbed of Mica2Dot. Theresults shows that each of these methods are effective toovercome some failures. However, the erasure codes eval-uated in this work is Reed-Solomon codes [13]. Tornadocodes are more efficient and practical than Reed-Solomoncodes in underwater sensor networks since the computa-tion overhead of the encoding and decoding algorithmsof Reed-Solomon codes are much higher than Tornadocodes.

Hybrid ARQ schemes which combine forward error cor-rection (FEC) and automatic repeat request (ARQ) has alsobeen widely investigated for terrestrial wireless network[30–33]. But these schemes usually ignore the propagationdelay, which is quite huge for underwater environments.Thus, they cannot be used in underwater networksdirectly.

Recently, Efficient data transfer for underwater net-works have received tremendous research interests. Onepioneering work is reported in [34]. This paper analyzesthree kinds of Stop-and-Wait protocols for underwaternetworks and shows that the performance of the basic

Stop-and-Wait protocols can be significantly improved bytransmitting packets in group and selective acknowledge-ment. Optimal packet size are also analyzed. In [35], Kimet al. propose an efficient transfer scheme, which controlsthe packet size such that the transmission time becomessmaller than the propagation delay to avoid collisions.

Coding schemes for underwater networks have alsobeen widely investigated in the last couple of years. In[21], the authors propose to use network coding for effi-cient error recovery in underwater sensor networks. A net-work coding scheme with implicit acknowledgement hasbeen propose in [22], which can improve the energy effi-ciency and decrease the transmission delay. Based on theiracoustic channel model, Lucani et al. investigate the lowerbound for transmitting power with networking coding forunderwater networks [23]. In [24], Fountain Codes areexploited to enhance the efficiency of the data dissemina-tion process for broadcasting in underwater networks.

Different from all above work, our SDRT is tailored forthe long-delay error-prone underwater networks. SDRT isbased on coding and ARQ techniques. However, SDRT isnot a simple addition of the above two techniques. Insteadof transmitting one data packet per time as most hybridARQ schemes do for terrestrial wireless networks, SDRTtransmits a bunch of coded data segments to the receiverand then wait for the ACK. And the number of the trans-mitted data segments can be estimated according to thenetwork condition. By transmitting a bunch of data seg-ments together and the window control mechanism, SDRTgreatly improves the system’s performance.

7. Conclusions and future work

The unique characteristics of underwater sensor net-works pose many new challenges for reliable data transfer.To address these issues, we have proposed segmented datareliable transfer (SDRT) protocol. SDRT is a hybrid protocolwhich combine coding with ARQ. With a carefully de-signed window control mechanism, SDRT can greatly im-prove the system’s energy efficiency and channelutilization. In our work, we devise SVT codes, which canbe used efficiently in our SDRT protocol. Based on SVTcode, we propose a theoretical model to estimate the ex-pected number of packets needed for SDRT, which is quiteuseful for the estimation of window size. In addition, thistheoretical model also enables SDRT to set the block appro-priately to address the dynamic network topology. OurSDRT protocol can also be easily incorporated with othercoding scheme. Simulation results verify our theoreticalmodel and show that our SDRT has much higher energyefficiency and channel utilization than other approaches.

Acknowledgements

This work is supported in part by the US National Sci-ence Foundation under CAREER Grant Nos. 0644190,0709005, 0721834, and 0821597 and the US Office of NavyResearch under YIP Grant No. N000140810864. A prelimin-ary version of this work is published ICCCN’07, HI, USA, Au-gust 13–16, 2007 [20].

Page 14: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

P. Xie et al. / Ad Hoc Networks 8 (2010) 708–722 721

References

[1] I.F. Akyildiz, D. Pompili, T. Melodia, Challenges for efficientcommunication in underwater acoustic sensor networks, ACMSIGBED Review 1 (1) (2004).

[2] J.W. Byers, J. Considine, M. Mitzenmacher, S. Rost, Informed contentdelivery over adaptive overlay networks, in: ACM SIGCOMM’02,Pittsburgh, PA, August 2002.

[3] J.W. Byers, M. Luby, M. Mitzenmacher, Accessing multiple mirrorsites in parallel: using Tornado codes to speed up downloads, in:INFOCOM’99, New York, NY, March 1999.

[4] J.W. Byers, M. Luby, M. Mitzenmacher, A. Rege, A digital approach toreliable distribution of bulk data, in: ACM SIGCOMM’98, Vancouver,British Columbia, August 1998.

[5] V. Capellano, Performance improvement of a 50 km acoustictransmission through adaptive equalization and spatial diversity,in: Oceans’97, Nova Scotia, Canada, 1997.

[6] V. Capellano, G. Loubet, G. Jourdain, Adaptive multichannel equalizerfor underwater communications, in: Oceans’96, Ft. Lauderdale, FL,USA, 1996.

[7] C. Intanagonwiwat, R. Govindan, D. Estrin, Directed diffusion: ascalable and roust communication paradigm for sensor networks, in:ACM International Conference on Mobile Computing andNetworking (MOBICOM’00), Boston, MA, USA, August 2000.

[8] D.B. Kilfoyle, A.B. Baggeroer, The state of the art in underwateracoustic telemetry, IEEE Journal of Oceanic Engineering OE-25 (5)(2000) 4–27.

[9] S. Kim, R. Fonseca, D. Culler, Reliable transfer on wireless sensornetworks, in: First IEEE International Conference on Sensor and AdHoc Communication and Networks (SECON’04), Santa Clara, CA,October 4–7, 2004.

[10] LinkQuest. <http://www.link-quest.com>.[11] M. Luby, M. Mitzenmacher, A. Shokrollahi, D. Spielman, V. Stemann,

Practical loss-resilient codes, in: ACM STOC, 1997, pp. 150–159.[12] R. Motwani, P. Raghavan, Randomized Algorithms, Cambridge

University Press, 2000.[13] I. Reed, G. Solomon, Polynomial codes over certain finite fields,

Journal of the Society for Industrial and Applied Mathematics (1960)8:300–8:304.

[14] Y. Sankarasubramainam, Ö.B. Akan, I.F. Akyildiz, ESRT: event-to-sinkreliable transport in wireless sensor networks, in: The 4th ACMInternational Symposium on Mobile Ad Hoc Networking andComputing (MobiHoc’03), Annapolis, MD, USA, June 2003.

[15] F. Stann, J. Heidemann, RMST: reliable data transport in sensornetworks, in: 1st IEEE International Workshop on Sensor NetProtocols and Applications (SNPA), Anchorage, AK, USA, May 2003.

[16] Russell Merris, Graph Theory, John Wiley, New York, 2001.[17] C.-Y. Wan, A.T. Campbell, L. Krishnamurthy, PSFQ: a reliable

transport protocol for wireless sensor networks, in: WSNA’02,Atlanta, GA, USA, September 2002.

[18] P. Xie, J.-H. Cui, L. Lao, VBF: vector-based forwarding protocol forunderwater sensor networks, in: Proceedings of IFIP Networking’06,Coimbra, Portugal, May 2006.

[19] H. Zhang, A. Arora, Y. Choi, M.G. Gouda, Reliable bursty convergecastin wireless sensor networks, in: Mobihoc’05, Urbana-Champaign, IL,USA, May 25–27 2005.

[20] P. Xie, J.-H. Cui, An FEC-based reliable data transport protocol forunderwater sensor networks, in: Proceedings of the 16thInternational Conference on Computer Communications andNetworks (ICCCN’07), Honolulu, HI, USA, August 13–16, 2007.

[21] Z. Guo, P. Xie, J.-H. Cui, B. Wang, On applying network coding tounderwater sensor networks, in: Proceedings of the 1st ACMInternational Workshop on Underwater Networks, Los Angeles, CA,USA, September 25, 2007, pp. 109–112.

[22] D. Lucani, M. Medard, M. Stojanovic, Network coding schemes forunderwater networks: the benefits of implicit acknowledgement, in:Proceedings of the 2nd ACM International Workshop on UnderwaterNetworks, Montreal, Canada, September 14, 2007, pp. 25–32.

[23] D. Lucani, M. Medard, M. Stojanovic, Underwater acoustic networks:channel models and network coding based lower bound ontransmission power for multicast, in: IEEE Journal on SelectedAreas in Communications (JSAC), Special Issue on UnderwaterWireless Communications and Networks, vol. 1(11), November2008, pp. 1–12.

[24] P. Casari, M. Rossi, M. Zorzi, Fountain codes and their application tobroadcasting in underwater networks, in: Proceedings of the 3rdACM International Workshop on Underwater Networks, SanFrancisco, CA, USA, September 14, 2008, pp. 11–18.

[25] M. Chitre, S. Shahabudeen, M. Stojanovic, Underwater acousticcommunication and networks: recent advances and futurechallenges, Marine Technology Society Journal (1) (2008) 103–116.

[26] J.-H. Cui, J. Kong, M. Gerla, S. Zhou, Challenges: building scalablemobile underwater wireless sensor networks for aquaticapplications, in: IEEE Network, Special Issue on Wireless SensorNetworking, vol. 20(3), 2006, pp. 12–18.

[27] J. Heidemann, Y. Li, A. Syed, J. Wills, W. Ye, Research challenges andapplications for underwater sensor networking, in: Proceedings ofthe IEEE Wireless Communications and Networking Conference(WCNC), 2006, pp. 228–235.

[28] L. Liu, S. Zhou, J.-H. Cui, Prospects and problems of wirelesscommunication for underwater sensor networks, WirelessCommunications and Mobile Computing 8 (2008) 977–994.

[29] M. Stojanovic, On the relationship between capacity and distance inan underwater acoustic communication channel, ACM SIGMOBILEMobile Computing and Communications Review (MC2R) 11 (4)(2007) 34–43.

[30] S. Wicker, Error Control Systems for Digital Communications andStorage, Prentice-Hall, Englewood Cliffs, NJ, 1995.

[31] Q. Zhang, S.A. Kassarm, Hybrid ARQ with selective combining forfading channels, IEEE Journal on Selected Areas in Communications17 (5) (2001) 867–880.

[32] G. Caire, D. Tuninetti, The throughput of hybrid-ARQ protocols forthe Gaussian collision channel, IEEE Transactions on InformationTheory 47 (2001) 1971–1988.

[33] B. Zhao, M.C. Valenti, Practical relay networks: a generalization ofhybrid-ARQ, IEEE Journal on Selected Areas in Communications 23(1) (2005) 7–18.

[34] M. Stojanovic, Optimization of a data link protocol for an underwateracoustic channel, in: Proceedings of IEEE Oceans conference, June2005.

[35] J.-W. Lee, J.-P. Kim, J.-H. Shen, Y.S. Jiang, K. Cheol, K. Son, H.-S. Cho,An improved ARQ scheme in underwater acoustic sensor networks,in: Proceedings of MTS/IEEE Oceans, September 14, 2008, pp. 1–6.

[36] H. Dubois-Ferriere, D. Estrin, M. Vetterli, Packet combining in sensornetworks, in: Proceedings of the 3rd International Conference onEmbedded Networked Sensor Systems, November 2005, pp. 102–115.

[37] L. Freitag, M. Grund, S. singh, J. Partan, P. Koski, K. Ball, The WHIOmicro-modem: an acoustic communications and navigation systemfor multiple platforms, in: Proceedings of MTS/IEEE OCEANS, vol. 2,June 2005, pp. 1086–1092.

Peng Xie (M’08) received his B.E. and M.S.degrees in Computer Engineering from HarbinInstitute of Technology (HIT), China, in 1990and 1995, respectively, and his Ph.D. degree inComputer Science from the University ofConnecticut in 2008, majoring in computernetworks. He is currently a research scientistat Intelligent Automation Inc. His expertiseincludes research and development on net-work protocols, network and system security,network management, and distributedsystems.

Zhong Zhou (S’06) received B.Eng. in Tele-communication Engineering in 2000 andM.Eng. in Computer Science in 2003, bothfrom the Beijing University of Posts andTelecommunications, Beijing, China. He iscurrently working toward the Ph.D. degree inComputer Science and Engineering at theUniversity of Connecticut (UCONN), Storrs.

Since January 2006, he has been with theUnderwater Sensor Network Lab. and theUbiquitous Networking Research Lab.,UCONN, as a graduate Research Assistant. His

current research interests include underwater acoustic communication

and networking, localization, and cross layer design for wirelessnetworks.
Page 15: 04-3 SDRT a Reliable Data Transport Protocol for Underwater Sensor Networks (2010)

etworks 8 (2010) 708–722

Zheng Peng (S’05) received B.S. degrees inboth computer science and control science

from Zhejiang University, China, in 2002. Hethen received a M.S. degree in computer sci-ence from University of Electrical Science andTechnology of China (UESTC) in 2005. He iscurrently pursuing his Ph.D. and working as aresearch assistant at the Underwater SensorNetwork (UWSN) Lab., University of Con-necticut. His main research interests are inunderwater acoustic networks, includingprotocol design, operating system, underwa-

ter sensor nodes and testbeds.

722 P. Xie et al. / Ad Hoc N

Jun-Hong Cui (M’03): received her B.S. degreein Computer Science from Jilin University,China in 1995, her M.S. degree in ComputerEngineering from Chinese Academy of Sci-ences in 1998, and her Ph.D. degree in Com-puter Science from UCLA in 2003. Currently,she is on the faculty of the Computer Scienceand Engineering Department at University ofConnecticut.

Her research interests cover the design,modelling, and performance evaluation ofnetworks and distributed systems. Recently,

her research mainly focuses on exploiting the spatial properties in the

modelling of network topology, network mobility, and group member-ship, scalable and efficient communication support in overlay and peer-to-peer networks, algorithm and protocol design in underwater sensornetworks. She is actively involved in the community as an organizer, aTPC member, and a reviewer for many conferences and journals. She is aguest editor for ACM MCCR (Mobile Computing and CommunicationsReview) and Elsevier Ad Hoc Networks. She co-founded the first ACMInternational Workshop on UnderWater Networks (WUWNet’06), and sheis now serving as the WUWNet steering committee chair. Jun-Hong is amember of ACM, ACM SIGCOMM, ACM SIGMOBILE, IEEE, IEEE ComputerSociety, and IEEE Communications Society. Her email address [email protected].

Zhijie Shi (M’04): is currently an AssistantProfessor of Computer Science and Engineer-ing at the University of Connecticut. Hereceived his Ph.D. degree from PrincetonUniversity in 2004 and his M.S. and B.S.degrees from Tsinghua University, China, in1996 and 1992, respectively. He is a memberof IEEE and ACM. Professor Shi received USNational Science Foundation CAREER award in2006. His current research interests includeunderwater sensor networks, sensor networksecurity, hardware mechanisms for secure

and reliable computing, side channel attacks and countermeasures,

primitives for cipher designs.