[dtn-interest] ZebraNet introduction and deployment experience
tliu@CS.Princeton.EDU Sat, 07 February 2004 04:04 UTC
Received: from bluebox.CS.Princeton.EDU (bluebox.CS.Princeton.EDU [128.112.136.38]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id i1744Ve30931 for <dtn-interest@mailman.dtnrg.org>; Fri, 6 Feb 2004 20:04:31 -0800
Received: from web0.CS.Princeton.EDU (web0.CS.Princeton.EDU [128.112.136.35]) by bluebox.CS.Princeton.EDU (8.12.11/8.12.11) with ESMTP id i1744VCU020638 for <dtn-interest@mailman.dtnrg.org>; Fri, 6 Feb 2004 23:04:32 -0500 (EST)
Received: (from www@localhost) by web0.CS.Princeton.EDU (8.11.7p1+Sun/8.11.6) id i1744VC25463 for dtn-interest@mailman.dtnrg.org; Fri, 6 Feb 2004 23:04:31 -0500 (EST)
X-Authentication-Warning: web0.CS.Princeton.EDU: www set sender to tliu@CS.Princeton.EDU using -f
Received: from 211.150.245.133 ([211.150.245.133]) by webmail.cs.princeton.edu (IMP) with HTTP for <tliu@imap.CS.Princeton.EDU>; Fri, 6 Feb 2004 23:04:31 -0500
Message-ID: <1076126671.402463cf6813e@webmail.cs.princeton.edu>
Date: Fri, 06 Feb 2004 23:04:31 -0500
From: tliu@CS.Princeton.EDU
To: dtn-interest@mailman.dtnrg.org
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
User-Agent: Internet Messaging Program (IMP) 3.2.1
X-Originating-IP: 211.150.245.133
Subject: [dtn-interest] ZebraNet introduction and deployment experience
Sender: dtn-interest-admin@mailman.dtnrg.org
Errors-To: dtn-interest-admin@mailman.dtnrg.org
X-BeenThere: dtn-interest@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
List-Help: <mailto:dtn-interest-request@mailman.dtnrg.org?subject=help>
List-Post: <mailto:dtn-interest@mailman.dtnrg.org>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-interest>, <mailto:dtn-interest-request@mailman.dtnrg.org?subject=subscribe>
List-Id: Delay Tolerant Networking Interest List <dtn-interest.mailman.dtnrg.org>
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-interest>, <mailto:dtn-interest-request@mailman.dtnrg.org?subject=unsubscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-interest/>
Greetings to all DTN members! I work with Professor Margaret Martonosi on the ZebraNet wildlife tracking project in Princeton University. Thanks to Kevin who introduced me to the DTN interest group. It's a great opportunity to share our experience on ZebraNet with DTN researchers and talk about interesting issues in this area. ZebraNet is a mobile, wireless sensor network aimed at improving tracking technology for wildlife tracking [1]. While ZebraNets most immediate focus is to track african zebras across large regions with little communication infrastructure, its broader goals concern the deployment, management, and communication issues for large numbers of both static and mobile sensors. To achieve a sensor network system for real deployment, we built energy- efficient hardware nodes, developed a lightweight operating system, and implemented application-level peer-to-peer protocols for data communication [2] [3]. At the hardware level, a ZebraNet node includes a global positioning system (GPS) unit to gather position data, a 16-bit microcontroller CPU, a 1W 900MHz radio with 5-mile range as wireless transceiver, 4Mbits of non-volatile FLASH memory to hold logged data, and solar arrays for energy supply. At the middleware level, Impala, ZebraNet's middleware layer, acts as a lightweight operating system, but also has been designed to encourage application modularity, simplicity, adaptivity, and repairability. It schedules regular operations, handles irregular asynchronous events, and provides a networking interface which unifies media access control and transport control into an efficient network protocol that supports a range of message models: reliable and unreliable, unicast and multicast, tailored to ZebraNets application needs. At the application-level, ZebraNet does not count on constant communication access to a base station, but instead uses periodic node discovery and peer-to-peer communication to communicate data towards the base station by using other peer nodes for store-and-forward routing. Rather than a connection-oriented scheme in which a node identifies a full route to the base, the data is instead transmitted to base hop by hop via other nodes, with heuristics that guide the data to where the base was last seen. Since the zebras form a sparse network over a very large area, disconnections is common and data homing latency is potentially long. Therefore, ZebraNet has some typical attributes of delay-tolerant networks. During January 4 to 23, 2004, our ZebraNet group headed to Kenya for its first test deployment. We stayed at the Mpala Research Centre and deployed seven nodes on zebras at the 24,000-acre Sweetwaters Reserve. Several issues arised during the deployment which gave us lots of input on improving the system and are discussed here and hopefully will also be useful to the DTN-interest group. First, the network connectivity was unexpectedly poor, which imposed design optimizations on the middleware and application-level network protocols. When we put the tracking devices on animals, we found that the radio range was reduced by a magnitude to several hundred meters as the radiation was substantially absorbed by the animal body. This greatly degraded the network connectiviy and the radio channel quality. Disconnection and packet loss became more common. As a result, the performance of our network protocols and therefore our design choices were affected in several aspects. (1) Retransmission was frequent, in some cases, due to lost acknowledgements. This was because the ACK packets were always the first ones to transmit, followed by the data packets, and therefore were easier to lose due to the signal synchronization between the sender's radio and the receiver's radio. This caused our valuable communication time, which was already minimal given our tight energy budget, used up by transmitting duplicate data. To address this problem, we changed to use duplicate acknowledgements and are considering switching to unreliable data transmission that performs continuous data forwarding without requiring portion acknowledgements or retransmissions. (2) In some other cases, retransmission was caused by the heterogeneous communication range and channel quality across different nodes. For example, when one node was multicasting to a bunch of neighors, some neighbors might be hard to reach and cause repeated retransmissions, while others were easy to reach but still had to stay idle for the retransmissions to finish before more data could proceed. Therefore, it would be interesting to find an appropriate timeout point to cut off retransmissions and balance between sending more data to less destinations and sending less data to more destinations in terms of achieving the goal of efficiently delivering all the data to the base station eventually. (3) Nearby nodes sometimes could not find each other due to lost peer discovery messages. Even worse, after the short peer discovery period without hearing from any network neighbor, the nodes gave up the effort of finding neighbors and remained silent during the subsequent long data transfer period. This meant the valuable communication opportunities in the sparse network were not fully explored. To address this problem, we changed to use a series of duplicate peer discovery messages and are considering performing peer discovery over time rather than only in a limited period. (4) Sometimes, the base station ignored valid incoming data packets simply because those packets were not addressed to it. Therefore, to maximize the chance of data collection, we decided that eavesdropping should be performed by the base station in addition to participating in the actual conversations. The second issue that came to us was that the Impala middleware should add in more operating system support for several emerging application needs. (1) In the original ZebraNet design, communcations between different nodes could be performed only at regular times, for example, the first five minutes of every two hours, and only in the assigned timeslots. However, it became evident that irregular, opportunistic, and long-lasting communications were also desired under some circumstances. For example, the base station might want to interrogate a node and download its full FLASH content immediately after they encountered, rather than waiting until the regular talk time came. Therefore, Impala should have support for a variety of communication patterns. (2) It was pointed out by our biologist collaborators that it was desirable to have an adjustable system which, for example, allowed the time schedule of device operations to change. This can be achieved by receiving a set of new parameters from the base station and applying to the local system. For example, the current GPS position sampling interval is eight minutes, however, based on the analysis of sampling efficiency and energy consumption, switching to 16-minute intervals may be better for energy-efficiency. Therefore, Impala should have support for parameterized adjustable system configurations. (3) As the tracking devices were collared on zebras and were not easy to retrieve for diagnostic and debugging purposes, it was of high interests to have a remote diagnostic mechanism that could show at the base station the runtime system state of a deployed node. For example, this mechanism should be able to tell the base station that a node was not responding because it was having low battery voltage and hibernating. It should also respond to base station queries about how much data was currently stored in the FLASH and how many peer-to-peer communications had happened before. Finally, some existing hardware constraints which were not realized as critical issues became more evident during the deployment time. The radio range problem mentioned before was one example. Another example was related to the hardware clock signal. Since each node had constant access to the GPS signal which provided global time synchronization across different nodes, we adopted a TDMA-mannered timeslot mechanism for media access control. Each timeslot was two seconds long. This implied that a reasonable time variance among the nodes should be within a hundred milliseconds. However, the clock signal on the hardware nodes was not as accurate. As was measured, it skewed on different nodes up to +/-200ms in 8 minutes which was the interval between two closest time synchronizations with the GPS time. If the GPS signal was not available in an extended period, the time variance would grow even bigger. To accommodate the big time variance, we chose to use non-consecutive timeslots for radio transmissions to prevent collision. More efficient solutions are still under study. For yet another example, we found that the GPS unit dominated the energy consumption compared with the radio unit. Therefore, switching to a lower-power GPS chip would effectively yield more radio communication time and was also included in our to-do list. At this point, I hope the introduction to our ZebraNet project and the stories about our deployment trip to Kenya can give you some useful information. For more details, please refer to our project homepage at http://www.ee.princeton.edu/~mrm/zebranet.html. We will be very glad to hear your comments. Thanks. Ting [1] Philo Juang, Hidekazu Oki, Yong Wang, Margaret Martonosi, Li-Shiuan Peh, and Daniel Rubenstein. "Energy-Efficient Computing forWildlife Tracking: Design Tradeoffs and Early Experiences with ZebraNet". the Tenth International Conference on Architectural Support for Programming Languages and Operating Systems. October, 2002. [2] Ting Liu and Margaret Martonosi. "Impala: A Middleware System for Managing Autonomic, Parallel Sensor Systems". ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'03), June 2003. [3] Ting Liu, Christopher Sadler, Pei Zhang, and Margaret Martonosi. "Implementing Software on Resource-Constrained Mobile Sensors: Experiences with Impala and ZebraNet". To appear in the Second International Conference on Mobile Systems, Applications, and Services (MobiSys 2004), June 2004. ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/