Sensornetze - Institut für Informatik
Transcrição
Sensornetze - Institut für Informatik
10. Fachgespräch Sensornetze der GI/ITG Fachgruppe Kommunikation und Verteilte Systeme 15.‐16. September 2011 Technischer Bericht TR‐RI‐11‐313 Jun.‐Prof. Dr. Hannes Frey (Hrsg.) KuVS Institut für Informatik Warburger Str. 100 33098 Paderborn Inhaltsverzeichnis Session 1 – Lokalisierung Towards Autonomous Indoor Flights Using Wireless Sensor Network Based Localization ....... 01 Jürgen Eckert, Falko Dressler Distribute & Erase, a Self‐Calibration Algorithm for Ultrasound Based Localization Systems .. 005 Armin Runge, Marcel Baunach, Reiner Kolla Ein adaptives Vorhersagemodell für Signalstärken in einem Funknetzwerk ............................. 09 Christian Huisinga, Jens Kamenik Session 2 ‐ Hardware Plattformen SuperG: A Multi‐Radio Architecture to interconnect multiple Wireless Sensor ........................ 13 NetworksClemensMühlberger, Tobias Schäfer Wireless Sensor Actor Nodes for theBuilding Automation ........................................................ 17 Hannes Frey, Rafael Funke, Marcus Autenrieth, Harald Mundinger, Peter Detzner, Roland Groll 21 We Must Move ‐ We Will Move: On Mobile Phones as Sensing Platforms ............................... 25 DelphineChristin, Matthias Hollick INGA ‐ Architektur eines universell einsetzbaren Sensorknotens .............................................. Ulf Kulau, Felix Büsching, Wolf‐Bastian Pöttner, Lars Wolf Poster‐Session: MAC, Kommunikation, Entwicklung, Anwendung Reasons for priority‐based Medium Access in Wireless Sensor Networks ................................ Alexander Klein, Lothar Braun 29 QoS‐Routing und Reservierungen in mobilen Ad‐Hoc‐Netzwerken ........................................... Anuschka Igel, Reinhard Gotzhein 33 Kommunikationsanforderungen in zukünftigen Ad‐Hoc‐Netzwerken ....................................... Dennis Christmann, Reinhard Gotzhein 37 Energy Profiling for Wireless Sensor Networks .......................................................................... Oliver Hahm, Stephan Adler, Nicolai Schmittberger, Mesut Günes 41 Simulationsgestützte Algorithmenentwicklung für drahtlose Sensornetze .............................. Stefan Lange, Oliver Stecklina, Michael Methfessel 45 On the Integration of Wireless Sensor Networks and Smartphones in the Logistics Domain … Sebastian Zöller, Andreas Reinhardt, Heiko Guckes, Dieter Schuller, Ralf Steinmetz 49 Session 3: Energieeffizienz Implementation and simulation of an energy‐efficient cluster‐based wireless sensor network ........................................................................................................................................ Volker Delport, Mario Gessner, Toni D. Grossmann, Adrian Singer 53 Utilizing Voltage Decline for Reaching Lifetime Goals ................................................................ André Sieber, Jörg Nolte 57 Session 4: Sicherheit A Secure Monitoring and Control System for Wireless Sensor Networks ................................. Michael Riecker, Walther Müller, KarstenSaller, Matthias Hollick 61 Vertrauenswürdige drahtlose Sensornetze in sicherheitsrelevanten Einsatzszenarien …......... Björn Stelte 65 Security for PracticalCoAPApplications: Issuesand Solution Approaches .................................. Martina Brachmann, Oscar Garcia‐Morchon, Michael Kirsche 69 Session 5: Anwendungen / Virtuelle Maschinen Zellenweiser Messbetrieb, Vorverarbeitung und drahtlose Kommunikation bei Fahrzeugbatterien ........................................................................................................................ Sergej Ilgin, Niels Jegenhorst, Raik Kube, Simon Püttjer, Karl‐RagmarRiemschneider, Matthias Schneider, Jürgen Vollmer 73 Efficient Power Management Using Out‐of‐Band Signaling ….................................................... Tobias Vaegs, Muhammad Hamad Alizai, Jó Ágila Bitsch Link, Klaus Wehrle 77 Wireless Sensor Network‐Based Asset Management for Mobile Measurement Devices ......... 81 Helena Preiss, Sebastian Lempert, Christopher Kaffenberger, Alexander Pflaum TakaTuka ‐ Java for Wireless Sensor Motes ................................................................................ Christian Schindelhauer, Faisal Aslam, ZartashUzmi 85 Towards Autonomous Indoor Flights Using Wireless Sensor Network Based Localization Juergen Eckert∗ , Reinhard German∗ and Falko Dressler† ∗ Dept. of Computer Science, University of Erlangen, Germany of Computer Science, University of Innsbruck, Austria {juergen.eckert,german}@cs.fau.de, [email protected] † Institute Abstract—Indoor hovering objects such as quadrotors need to continuously be controlled to hold their position in space. For real autonomous flight of these copters, the necessary position control including all related information transfers have to be provided in a fully decentralized and autonomous manner. We discuss challenges related to flight control based on our Autonomous Localization Framework (ALF), which provides scalable and decentralized localization in GPS-denied areas. Using a sensor network based on the IEEE 802.15.4 communication protocol, continuous position maintenance is feasible but, unfortunately, in no way stable. Therefore, we introduce a sensor array, which reduces the system dynamics and allows a robust position control of the platform. scope of this paper, we rely on our ALF framework, which, to the best of our knowledge, is the first platform fulfilling all the requirements for a real autonomous indoor flying system; including the necessary sensor deployment and information acquisition. II. AUTONOMOUS L OCALIZATION F RAMEWORK Our Autonomous Localization Framework (ALF) has been designed to fulfill the task of providing a zero-effort accurate localization system for autonomously flying robots [3]. However, it is not exclusively restricted to this. The framework satisfies several requirements, low cost being probably the most I. I NTRODUCTION important one. This is the main reason why we not built-up Six degrees of freedom need to be controlled continuously a SLAM approach (usually expensive laser distance scanners for motion in the three-dimensional space. The usual fall back would be needed). Furthermore, the framework should be able mechanism for unsolvable problems in the field of robotics is to operate with minimal computational power. simply to stop. This, of course, can not be applied during the ALF has been designed as a decentralized system without flight of an Unmanned Aerial Vehicle (UAV). In this paper, any synchronization or global knowledge and a finite amount we are focusing on a UAV subclass, the so called vertical of energy. The typical operation scenario is depicted in take-off and landing (VTOL) devices. They are most suited for Figure 1. Sensor nodes need to be capable of detecting and our indoor usage scenario. Here, however, not much space for communicating with their direct neighbors; no special routing maneuvering is available, which forces the platform to mostly information or topology is required. For localization, at least remain in the most unstable condition: hovering. Serious selfthe distance to the neighbors needs to be measurable. As we caused air turbulences additionally affect the flight stability. desire an accurate localization system, we do not rely on rather Copters (classical, coaxial, quad, etc) are basically controlled vague Received Signal Strength Indicator (RSSI) measurements the same way. The forward/back and left/right axes get (although it would be possible [4]). Our ground platform [5] indirectly controlled by pitch and roll, respectively. Applying is equipped with an ultrasound based Time of Flight (ToF) a constant angle, different from zero, to an axis will cause the measuring hardware. It reports distances with an observational platform to move into this direction with increasing speed. This error of less than ±2 cm. A byproduct is a rough estimation reduces the amount of independent degrees to four: pitch, roll, of the angle to a neighbor (±45◦ ), which is sub sequentially yaw, and altitude (also indirectly controlled by thrust). Even also used but not required. The mobility is a key feature of a if it would be possible to perfectly control the pitch and roll truly autonomous system but not required for ALF. axes, the system would still move according to Newton’s first law of motion. Moreover, each disturbance in the air results in an on-board unpredictable and unmeasurable movement. To counteract such involuntary movement, a guidance system is needed to continuously control the position – otherwise the system would quickly crash into walls or other obstacles. Indoor position controlling approaches for flying objects based using localization systems [1] or Simultaneous Localization and Mapping (SLAM) [2] already exist. However, they either depend on a highly accurate and expensive localization system that needs to be deployed manually; or they need a Fig. 1. Autonomous Localization Framework scenario [3] high amount of (mostly off-board) computing power. In the 1 We evaluated the system performance in a lab experiment: Nine nodes were placed on the floor to build up a coordinate system. We simulated a customer by a sensing device on a stick (fixed altitude) mounted on a toy train. Two different experiments were evaluated: Line of Sight (LOS) and NLOS measurements. For the latter one, obstacles were placed into the testbed. These obstacles introduced incorrect NLOS measurements with a probability of PNLOS ≈ 30 % (this value is commonly reported in the literature [8]). Due to the lack of a more accurate localization system, the error of the generated absolute position was not directly measurable. However, Figure 2 shows the altitude error of the experiment. All the results are shown in form of boxplots: The thick line represents the median, the rectangular boxes contains 50 % of the measurements, the boundaries are indicating the 25 % and 75 % quantiles. The circles show statistical outliers. The dashed red lines are indicating the hardware sensing accuracy of ±2 cm. It can be seen that at least 50 % of the measurements of both experiments are within that range. A maximum error of ±20 cm and ±40 cm can be given for the LOS and for the NLOS experiment, respectively. IV. C OMMUNICATION As stated before, ALF relies on simple direct neighbor communication. When a customer wants to know its position it triggers an active ultra sound measurement. The sound pulse is received by the ground nodes. This flight duration needs to be reported back, using the radio, to conclude to a position. We used SunSpot nodes in our experiments. These systems operate an IEEE 802.15.4 [9] compatible Chipcon CC2420 interface for wireless communication. The primary design goals 2 -0.4 Altitude Error in m -0.2 0.0 0.2 NLOS Experiment Fig. 2. Customer localization accuracy 80 III. S YSTEM ACCURACY LOS Duration in ms 100 120 140 160 180 200 First (step 1 in Figure 1) each node needs to find a “convenient” place, which is a trade-off between area coverage, accuracy, and cost. As no global knowledge exists, each node needs to find this independently from the states of its neighbors. A local decision table based approach is used. Afterwards (step 2), the node localizes itself according to an already existing reference grid [6]. Using this information as an initial position, the node joins the reference network and enters the maintenance and correction process, which is based on our Advanced MassSpring-Relaxation (advMSR) approach [7]. Again, only local information are used. In this process, as typical for indoor scenarios, many Non Line of Sight (NLOS) measurements may happen. In order not to corrupt the system those need to be detected and blacklisted [3]. The algorithm was designed so that it reaches convergence. At any point in time, nodes are allowed to join or leave the network. Reason for leaving might be unsatisfied system parameters or the depletion of the battery. Finally (step 3), the nodes and the generated position information are used as a reference grid for providing a localization support for customers [6], such as the autonomously flying copters. The trilaturation-based scheme was specially designed to fulfill real-time requirements. 3 4 5 Fig. 3. 6 7 8 9 10 11 12 Reference nodes Communication Latency of this interface were energy efficiency and scalability. High latency and low bit rates were accepted, but low-latency support has been worked on for this protocol [10], [11], but completely different low latency MAC approaches might be even more suitable [12]). However, we intended to stick to the default setup to show the general applicability of ALF. We showed that a custom agent based application layer protocol can collect the information in time [6]. It performs significantly better than a pure broadcast based approach. In an experiment we placed three to twelve ground nodes around one customer. We measured the required time for collecting enough measurement tuples to robustly determine the customer’s position. The results are plotted in Figure 3. Three is the minimum number of reference nodes required for g 0.15 1 u VI. O PTICAL S ENSOR α a 1 1 v Fig. 4. x System model of a copter trilaturation. The red dashed line shows the upper border of a time slot, which must not be exceeded by all means. The red rhombi are showing the mean values. It can be seen that the slot boarder is never crossed and that the duration significantly decreases for five and more nodes. This is because we stop the collection process prematurely, because five tuples are enough to robustly compute a position [6]. On the average, it takes 100 ms to 160 ms to complete the data collection. No outliers exceeded the 200 ms border. V. C ONTROL T HEORY In order to reduce system dynamics and to have a temporary fall back mechanism, we currently experiment with an optical flow sensor. These sensors are very low cost, low power, and light-weight, typically also installed in computer mice, with an adjusted lens. They have already been identified as suitable for this application [13]. Usually this sensor is facing downwards to the floor and controls the speed on the forward/back and left/right axes. Before the velocity control can do its work, two more things are required: The altitude, which is rather simple to obtain, is needed to derive the moved distance. More important and but even more difficult to estimate is the nick and roll angle on the copter. As the platform tilts to move and the sensor is rigidly mounted to the frame, it detects a relatively high movement into the inverse direction of the actual movement (see Figure 5(b)). This is counter-productive and needs to be compensated by the knowledge of the current slant. However, this is very time critical and the angles need to be very accurate, especially for large altitudes. Therefore, we are planing to exploit a unique feature of indoor flights: Rooms not only have floors but also ceilings. Thus, we use one down and one up facing sensor. This way the angle of the platform can be neglected. Figure 5(a) depicts one axis of a quadrotor hovering at time t. The current tilting αt usually needs to be known, but the absolute value is not important. It additionally knows the distances to the floor df and to the ceiling dc . If the room height h is known, dc = h − df needs not to be measured. In Figure 5(b), the quadrotor has a different tilting αt+1 and has also moved a distance ∆x. However, the up facing sensors reports the distance ∆xc and the down facing one reports ∆xf . NB: For improved visualization the values are already normalized according to the resolution of the sensor and the distance to the surface. The common approach is now just to use the down facing sensor, which might report a movement into the negative direction as depicted in Figure 5(b). An inclination correction can be calculated as From a control theory point of view, we approximated the system of the roll and nick axes as depicted in Figure 4. Both axes can be controlled independently from each other. The system input u is tilt information, given in radian. The platform tries to reach this value by tilting. Due to inertia this takes some time (150 ms on our platform). We approximated this using a first order lag element. Now, considering that it hovers in the air |Fweight f orce | = |Flif t | and only very small angles are applied, it is sufficient to multiply the previous outcome with the gravitational acceleration g to get an acceleration into the direction of the axis. By double integrating the value a position x is obtained, which, can be measured by ALF. This system could be stabilized by a classical PD controller. Due to the previously mentioned communication latency ∆x = ∆xf − df tan ∆α, (1) the control frequency is fairly low (5 Hz). However, results reported in the literature indicate that under optimal conditions where ∆α = αt+1 − αt . stabilization is still doable [1]. By moving from the classical It can be seen that for large df accurate tilting information continuous to a time discrete perspective and by utilizing a state- is mandatory and needs to be measured with a high resolution. space position controller, we tried to overcome the tremendous Unfortunately, tilting information in general is very hard delay time of the communication channel. Still, the total delay to obtain on such dynamic systems. The relative distance time of up to 195 ms (including measurement, information movement ∆x is normally in the range of a few millimeters transport and computation) made the system very susceptible. (due to high sampling rates), whereas the average flight height The slightest measurement or communication error results df is usually in the range of 1 m to 2 m. That clearly shows in an overshoot, potentially followed by a crash. We see two the error-proneness of this approach. NB: It is assumed that possible solutions to this problem: (a) A significant reduction of the platform is only doing minor inclinations, i.e., αt is always the communication latency (e.g., a different MAC layer [12]). nearly orthogonal to the floor (see Figure 5(a)). (b) A reduction of the system dynamic of the customer. We We are about to circumvent the evaluation of the tilting chose to rely on the second option following our discussions angle by placing an additional sensor on top of the platform. ob the communication hardware options. Using the intercept theorem gives us the following angle free 3 ∆xc ∆x dc dc h h αt df df ∆α xt xt ∆xf x Fig. 5. Quadrotor movement equation for the platform movement ∆x: (2) In case of an undetectable surface (no contrasts) on one sensor, the fall back to the others in combination with the standard angle based approach (Equation 1) provides a second safety stage. VII. C ONCLUSION We briefly introduced a scalable, real-time capable localization framework using sensor network technology. It is fully aware of scenario driven limitations such as energy and computing power boundedness. Additionally it does not require synchronization, routing information or any other global knowledge. As shown it is mostly (P ≈ 50 %) as accurate as the utilized sensing hardware. However, due to measurement outliers in combination with the communication time lag we were not yet able to continuously stabilize the quadrotor. After reducing the system dynamic of the copter by the use of the optical flow sensor, the Autonomous Localization Framework will be able to stabilize the platform permanently. R EFERENCES [1] D. Gurdan, J. Stumpf, M. Achtelik, K.-M. Doth, G. Hirzinger, and D. Rus, “Energy-efficient Autonomous Four-rotor Flying Robot Controlled at 1 kHz,” in IEEE International Conference on Robotics and Automation (ICRA 2007). Roma, Italy: IEEE, April 2007, pp. 361 –366. [2] S. Hochdorfer and C. Schlegel, “6 DoF SLAM using a ToF Camera: The Challenge of a Continuously Growing Number of Landmarks,” in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2010). Taipei, Twaiwan: IEEE, October 2010, pp. 3981–3986. [3] J. Eckert, R. German, and F. Dressler, “ALF: An Autonomous Localization Framework for Self-Localization in Indoor Environments,” in 7th IEEE/ACM International Conference on Distributed Computing in Sensor Systems (DCOSS 2011). Barcelona, Spain: IEEE, June 2011. 4 x (b) Time t + 1 (a) Time t ∆xc − ∆x dc = ∆x − ∆xf df xt+1 [4] K. Chintalapudi, A. P. Iyer, and V. N. Padmanabhan, “Indoor Localization Without the Pain,” in 16th ACM International Conference on Mobile Computing and Networking (MobiCom 2010). Chicago, IL: ACM, September 2010, pp. 173–184. [5] J. Eckert, K. Koeker, P. Caliebe, F. Dressler, and R. German, “Selflocalization Capable Mobile Sensor Nodes,” in IEEE International Conference on Technologies for Practical Robot Applications (TePRA 2009). Woburn, MA: IEEE, November 2009, pp. 224–229. [6] J. Eckert, R. German, and F. Dressler, “An Indoor Localization Framework for Four-rotor Flying Robots Using Low-power Sensor Nodes,” IEEE Transactions on Instrumentation and Measurement, vol. 60, no. 2, pp. 336–344, February 2011. [7] J. Eckert, F. Villanueva, R. German, and F. Dressler, “Distributed Mass-Spring-Relaxation for Anchor-free Self-localization in Sensor and Actor Networks,” in 20th International Conference on Computer Communication Networks (ICCCN 2011). Maui, HI: IEEE, July/August 2011. [8] R. Casas, A. Marco, J. Guerrero, and J. Falco, “Robust Estimator for Non-Line-of-Sight Error Mitigation in Indoor Localization,” EURASIP Journal on Applied Signal Processing, vol. 2006, pp. 1–8, 2006. [9] “Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low Rate Wireless Personal Area Networks (WPANs),” IEEE, IEEE Standard 802.15.4-2006, 2006. [10] F. Chen, R. German, and F. Dressler, “Towards IEEE 802.15.4e: A Study of Performance Aspects,” in 8th IEEE International Conference on Pervasive Computing and Communications (PERCOM 2010), 2nd IEEE International Workshop on Information Quality and Quality of Service for Pervasive Computing (IQ2S 2010). Mannheim, Germany: IEEE, March 2010, pp. 68–73. [11] A. Koubaa, M. Alves, B. Nefzi, and Y.-Q. Song, “Improving the IEEE 802.15.4 Slotted CSMA/CA MAC for Time-Critical Events in Wireless Sensor Networks,” in 5th International Workshop on Real-Time Networks (RTN 2006), Dresden, Germany, July 2006. [12] D. Carlson and A. Terzis, “Flip-MAC: A Density-Adaptive ContentionReduction Protocol for Efficient Any-to-One Communication,” in 7th IEEE/ACM International Conference on Distributed Computing in Sensor Systems (DCOSS 2011). Barcelona, Spain: IEEE, June 2011. [13] S. Lange, N. Sunderhauf, and P. Protzel, “A vision based onboard approach for landing and position control of an autonomous multirotor UAV in GPS-denied environments,” in IEEE International Conference on Robotics and Automation (ICRA 2009), Kobe, Japan, June 2009, pp. 1–6. Distribute & Erase, a Self-Calibration Algorithm for Ultrasound Based Localization Systems Armin Runge, Marcel Baunach and Reiner Kolla Department of Computer Engineering, University of Würzburg, Germany Email: {runge,baunach,kolla}@informatik.uni-wuerzburg.de Abstract—Most indoor localization systems are based on static sensor nodes with known position. By means of this infrastructure and measured distances to the static nodes, mobile nodes can localize themselves. But a major problem is the manual position determination of all static sensor nodes, since this procedure is time consuming and fault-prone. In this paper, we present Distribute & Erase, a self-calibration algorithm for ultrasound based localization systems. Distribute & Erase calibrates progressively, is fault tolerant, and achieves an accuracy of millimeters. wheels. Since this method presupposes a special mobile vehicle it is also prone to slippage of the tires. In contrast to the mentioned approaches, we present a precise self-calibration method for ultrasound based sensor networks, which just requires small, cheap, and energy-efficient sensor nodes. I. I NTRODUCTION To apply our Distribute & Erase (D&E) algorithm only few pre-conditions must be fulfilled. Not a single pre-calibrated anchor is required if relative positions are sufficient for the underlying localization system. If absolute position estimations are required, two (for 2D calibration) or three (for 3D calibration) pre-calibrated anchors at fixed positions are needed. The pre-calibration corresponds to the specification of the origin and orientation of the local coordinate system within the global coordinate system. Distribute & Erase calibrates the anchors through the gradual improvement of the estimated positions. The anchors’ estimated initial positions can be chosen randomly. However, as trilateration is used for all localizations, the positions used for a localization must not be collinear. The mobile nodes can take arbitrary positions for distance measurement, too, as long as each anchor measures a sufficient number of distances. The required time for a localization step depends strongly on the time of the data aggregation. To achieve a high localization frequency, the data must be packed tightly. To ensure a minimal and predictable transfer time and to avoid mutual interference, the TDMA (time division multiple access) communication protocol HashSlot [8] is used. HashSlot assigns an exclusive transmission slot to each anchor. HashSlot requires that the anchors are arranged roughly along a grid because the slot number relies on each anchor’s known cell, and is calculated by each anchor autonomously. In the case of uncalibrated anchors, the anchors’ cells must be determined. But as an anchor cell is usually few square meters in size, the effort is not high and no special equipment like a laser distance measurement system is required. So, if HashSlot is used to control the transmission of the radio packets, every anchor just has to know its anchor cell. D&E employs this precondition for successive calibration of all anchors. While D&E can also be used with other MAC protocols, like CSMA-CA, this reduces the calibration speed remarkably. Ultrasound (US) based localization systems are an important research area within the WSN domain. This is the reason why various such systems exist, like Cricket [1], AHLoS [2], or SNoW Bat [3]. But a common problem of anchor based localization systems is the determination of the anchors’ positions. Our objective was to find a self-calibration method, which achieves an accuracy of millimeters and requires no further hardware. Several self-calibration approaches are based on distance measurement between anchor nodes, such as the method introduced by Capkun et al. [4]: Local coordinate systems are generated for each anchor and then are joined together to a global coordinate system. As the distances in our real world localization system are measured by TDoA (time difference of arrival) between ultrasound and radio signals emitted by a mobile node and received by an anchor, a distance measurement between two anchors is not feasible without adaption of our hardware. A GPS-based method was provided by Sichitiu and Ramadurai [5]: Instead of equipping each node with an expensive GPS-receiver, just one mobile node with GPS was used. The positions of the static anchors were determined using the distances between the anchors and the mobile node. However, GPS-based methods are not suitable for indoor localization because of the unreliable reception of GPS signals inside buildings. The achievable localization accuracy of 1-2 m is insufficient for us, too. A higher accuracy was achieved by Moses et al. [6] through the use of sensors measuring both the direction-of-arrival (DOA) and the time-of-arrival (TOA). But the sensor nodes used in our localization system can not measure the DOA without expensive hardware modification. Menegatti et al. investigated the capability of WSNs and AMRs (autonomous mobile robots) for calibration [7]: They introduced a self-calibration method with an AMR that determines its position through odometers attached to the driving II. R EQUIREMENTS 5 III. D ISTRIBUTE & E RASE This section introduces our self-calibration algorithm Distribute & Erase, which can replace the manual calibration process. For the rest of this paper, pi,real denotes the real position of an anchor ai with i ∈ {1, . . . , n}, and pi,est denotes the estimated position of anchor ai . Anchor ai ’s grid cell is herein referred to as Ai . In order to simplify, we assume just one single mobile node m with real position pm,real , and estimated position pm,est respectively. A localization is initiated by the mobile node by sending a radio signal followed by an US signal. Every anchor that has received both signals returns the calculated distance and its own position pi,est to the mobile node. This radio packet is called DV (distance vector). A. Procedure Initially, the estimated position pi,est of each anchor ai is placed at the middle of the corresponding anchor cell, but every other position in the anchor cell would be possible, too. The mobile node takes a new position and locates itself using the received DVs from the anchors. The mobile node sends the newly estimated position back to the anchors, which in turn buffer this position for their own positioning. 1 while ( true ) { 2 take new position ; 3 measure distances ; 4 calculate pm,est ; 5 broadcast pm,est ; 6 } / / change pm,real / / using TDoA method / / using t r i l a t e r a t i o n (III-B) If an anchor ai has collected at least three non-collinear position estimations of the mobile node, it is able to update its own estimated position pi,est , which offers a smaller position error on average. 1 while ( true ) { 2 / / localization dependent parts 3 i f (new position pm,est received ) { 4 store DV; / / pm,est and measured distance to m 5 } 6 i f (enough DVs stored ) { 7 update pi,est ; / / using t r i l a t e r a t i o n (III-B) 8 } 9 } A DV contains an estimated position pm,est or pi,est and the measured distance between m and the anchor ai . Through the repeating localization of m and the anchors ai , after a few (depending on the number of anchors) calibration steps, a consistent anchor arrangement will be achieved (see section III-C). One step corresponds to a positional change of m. An anchor arrangement is called consistent, if the re-localization of all anchors with perfect distances only confirms the already estimated positions. adapted trilateration fulfills these requirements. The adapted trilateration for a node k ∈ {m, ai , . . . , an } looks as follows: 1 generate j t r i p l e t s ; 2 generate j position estimations ; 3 i f ( position estimations ∈ Ak ≥ 4) { 4 pk,f inal = coordinate−wise median of a l l estimations ∈ Ak ; 5 } The adapted trilateration builds j triplets from the q received DVs. If j < 3q , the triplets that span the largest triangles are selected. Throughout our tests we found that j = 12 3q results in a good trade-off between run-time and accuracy. With each of the j triplets a position is estimated using a regular trilateration. Only position estimations located in the area Ak will be considered. By discarding all estimations ∈ / Ak the average accuracy can be improved. The final position estimation pk,f inal is calculated using the coordinate-wise median of all considered position estimations. To achieve position estimations that are as accurate as possible, the adapted trilateration requires at least four positions ∈ Ak . C. Illustration and match operation Fig. 1 shows the calibration process for a small anchor plane with 3 × 3 anchors and a grid-length of ≈ 1.3 m1 . The estimated position of each anchor is located in the middle of the corresponding cell and the real position is randomly placed anywhere within the cell. It is obvious that there is still after 800 steps a significant deviation between pi,est and pi,real (Fig. 1b). According to the plotted path in Fig. 1b it seems that the distance between two estimated positions for an anchor ai was small in the recent steps. The reason for the small distances is an almost consistent anchor arrangement. To match the real and the estimated positions two anchors af ix1 and af ix2 with known real positions are required. But the match operation is only necessary if absolute coordinates are desired. With af ix1 the translation values δx and δy can be calculated: δx = pf ix1 ,real .x − pf ix1 ,est .x δy = pf ix1 ,real .y − pf ix1 ,est .y with pi,real = (pi,real .x, pi,real .y), Three-dimensional coordinates can translation matrix 1 0 Atrans = 0 1 0 0 and pi,est respectively. be translated with the δx δy . 1 B. Localization algorithm Afterwards, the translated coordinates must be rotated around the chosen point of origin pf ix1 ,real = (x0 , y0 ). The rotation angle θ is the angle between the straight connection of pf ix1 ,real and pf ix2 ,real , and the straight connection of The D&E algorithm requires a localization algorithm, which tolerates inaccurate anchor positions, but still provides precise position estimations with accurate anchors. In several tests, an 1 The grid-length was automatically calculated depending on the height of the room, the US emission angle, and the necessary number of anchors within the cone. 6 (a) initial anchor arrangement (b) anchor arrangement after 800 steps Fig. 1. (c) anchor arrangement after transformation Anchor plane during calibration pf ix1 ,real and the translated coordinate pf ix2 ,est . The rotation is realized using the transformation matrix cos(θ) − sin(θ) xθ − xθ · cos(θ) + yθ · sin(θ) Arot = sin(θ) cos(θ) yθ − xθ · sin(θ) − yθ · cos(θ) . 0 0 1 The affine transformation Aat to match all anchors is Aat = Arot × Atrans . Fig. 1c shows the matched anchor plane, now offering an average error of just 0.7 mm. For three-dimensional calibrations a further rotation around the axis joining af ix1 and af ix2 is necessary. The corresponding rotation angle can be calculated with a third static anchor af ix3 with known position pf ix3 ,real . D. Improvements The achievable calibration accuracy depends strongly on the error characteristic of the distance measurement. Therefore, it can be necessary to improve the accuracy by distance filtering. Instead of using the first distance measured, the median of 100 distance measurements is used if the variance of the distance sequence is ≤ 1.0. If the variance is > 1.0, the complete sequence is discarded. The error probability measured in our real world localization system could be improved significantly (see Fig. 2). Note that the error characteristic was measured under stable environmental conditions. During development, the accuracy of the calibration can be determined by the average position error of all anchors n X fa = |pi,est − pi,real |. i=1 As the real positions are unknown, a self-calibration algorithm can not compute fa . Thus, for the localization of node k the agreementk is defined, which depends on the size of the adapted trilateration’s scatter plot: c 1X agreementk := |pk,f inal − pj | c j=1 Fig. 2. Frequency density of the error characteristic of the distance measurement where pj , j ∈ {1, . . . , c} are the position estimations ∈ Ak and pk,f inal is the final position estimation. If the resulting scatter plot is large, the likelihood for an imprecise position estimation is high, too. In contrast, a small scatter plot is an indication for a more precise position estimation. The localization of a node k can also degrade the accuracy, since the localization is possibly based on faulty position estimations. To shorten the calibration time, an agreementk dependent adjustment was implemented. If a new position pi,est is estimated for an anchor ai , the adjustment vector xt−1 −xt from the past estimated position (xt−1 , yt−1 ) to yt−1 −yt the new estimated position (xt , yt ) is calculated. Instead of accepting the new position estimation, a weighted adjustment is performed with α ∈ (0, 1): pi,est = (xt−1 , yt−1 )T + xt−1 −xt yt−1 −yt · αagreementi . A sufficient value of α at system start is 0.9. But as fa decreases over time, after some calibration steps, a smaller α value should be chosen. This is the reason, why α is calculated using the average of the last 100 agreementm values of the mobile node m. 7 steps to achieve a certain accuracy 40000 fa < 0.1 mm fa < 0.2 mm fa < 0.5 mm fa < 1.0 mm 35000 30000 25000 20000 15000 10000 5000 0 0 50 100 150 200 250 300 350 400 450 anchors (a) Run of fa with and without weighting (b) Run of fa for different distance errors Fig. 3. Simulated results of the calibration IV. E XPERIMENTAL RESULTS Fig. 3a shows the run of fa for a calibration of 11 × 11 anchors using distance filtering with and without weighted adjustment. The advantage of the weighted adjustment becomes even more obvious for longer calibrations, where unique distance errors recurrently increasing the average position error if no weighting is used. As mentioned in section III-D, the achievable calibration accuracy depends strongly on the accuracy of the distance measurement. Fig. 3b shows the average error during calibration of 11 × 11 anchors. With perfect distances, 1200 calibration steps are required to achieve an average error fa < 1 mm, and 3000 steps for fa ≈ 0.0 mm. Even with faulty distances an accuracy < 1 mm can be achieved after 1800 steps using distance filtering. Without distance filtering, large distance errors can increase the average error fa , e.g. the average error is still > 5 mm even after 3000 steps. The time to achieve a calibration of a certain accuracy depends also on the number of anchors to be calibrated. Fig. 3c shows the required steps to calibrate various numbers of anchors using exact distance measurements. The most time consuming parts of the calibration are the movement of m and the data aggregation. Assuming a localization frequency of 5 Hz, 100 distance measurements per step for distance filtering, a duration of 10 seconds per movement of m, and 1800 calibration steps (Fig. 3b), the calibration of an anchor plane with 11 × 11 anchors takes: tdue = 1800 × (10 s + 100 ) = 15 h 5 Hz This time can be reduced if several mobile nodes are used, or if a reduced accuracy is acceptable. As D&E is a progressive calibration method, the last calibration steps could also be gained during the operation of the localization system. As distance errors are unavoidable, and can cause position errors, a high fault-tolerance is of particular importance for self-calibration methods. Distribute & Erase purges such position errors as the position error of an anchor is distributed to its neighboring nodes and is then erased through a match operation. 8 (c) Necessary steps to achieve a certain accuracy for a given number of anchors V. C ONCLUSION In this paper we introduced Distribute & Erase, a precise self-calibration approach for US based localization systems. Some improvements were developed to enhance the accuracy and speed of the calibration. We showed that the achievable accuracy highly depends on the accuracy of the distance measurement system. With the error characteristics measured in our real world localization system an average position error fa < 1 mm is reachable. Distribute & Erase can replace the hard, time-consuming and fault-prone manual calibration, and operates distributed, autonomously and without further hardware or special a priori knowledge. Therefore, D&E is suitable for the fast, cheap and easy calibration of localization systems during deployment. As D&E calibrates progressively, it is also suitable for recalibration, especially after changes of the infrastructure. R EFERENCES [1] N. B. Priyantha, A. Chakraborty, and H. Balakrishnan, “The Cricket Location-Support System,” in 6th ACM International Conference on Mobile Computing and Networking, 2000. [2] A. Savvides, C.-C. Han, and M. B. Strivastava, “Dynamic fine-grained localization in Ad-Hoc networks of sensors,” in MobiCom ’01: Proceedings of the 7th annual international conference on Mobile computing and networking, 2001, pp. 166–179. [3] M. Baunach, R. Kolla, and C. Mühlberger, “SNoW Bat: A high precise WSN based location system,” Universität Würzburg, Lehrstuhl für Informatik V, Tech. Rep. 424, 2007. [4] S. Capkun, M. Hamdi, and J.-P. Hubaux, “GPS-free positioning in mobile ad hoc networks,” in Cluster Computing, 2001, pp. 3481–3490. [5] M. L. Sichitiu and V. Ramadurai, “Localization of Wireless Sensor Networks with a Mobile Beacon,” in Proceedings of the First IEEE Conference on Mobile Ad-hoc and Sensor Systems (MASS 2004), 2004. [6] R. L. Moses, O. L. Moses, D. Krishnamurthy, and R. Patterson, “A SelfLocalization Method for Wireless Sensor Networks,” EURASIP Journal on Applied Signal Processing, vol. 4, pp. 348–358, 2002. [7] E. Menegatti, L. Lazzaretto, and A. Zanella, “Self-localization of Wireless Sensor Nodes by means of Autonomous Mobile Robots,” in Proceedings of the Tyrrhenian International Workshop on Digital Communication Wireless Communications (TIWDC 2007), 2007. [8] M. Baunach, R. Kolla, and C. Mühlberger, “A Method for Self-Organizing Communication in WSN Based Localization Systems: HashSlot,” in Second IEEE International Workshop on Practical Issues in Building Sensor Network Applications, SenseApp 2007, 2007. Ein adaptives Vorhersagemodell für Signalstärken in einem Funknetzwerk Christian Huisinga und Jens Kamenik OFFIS, Escherweg 2, 26121 Oldenburg, Germany Email: [email protected], [email protected] Zusammenfassung—Drahtlose Sensornetze kommunizieren über (Funk-)Antennen und verändern dadurch die Verhältnisse des elektromagnetischen Feldes. Somit stellt die Antenne beim Empfangen einen Aktor und beim Senden einen Sensor gegenüber dem elektromagnetischen Feld dar. Dieses Feld steht in Wechselwirkung mit den Gegenständen und Lebewesen in seiner Umgebung. An vielen Einsatzorten von drahtlosen Sensornetzwerken ist keine direkte Sichtverbindung der Sensorknoten untereinander möglich. Auch kann sich die Umgebung am Einsatzort des Sensornetzwerkes mit der Zeit ändern. Ein einmal erhobenes Vorhersagemodell zur Ausbreitung der Wellen (auch Ausbreitungsmodell genannt) kann immer nur eine Momentaufnahme darstellen und wird zur Laufzeit, mit erheblichen Aufwand und Kosten, angepasst werden müssen. Der Ansatz, der in dieser Arbeit vorgestellt wird, ermöglicht eine schnelle und automatische Modellierung durch maschinelles Lernen. Mit der entwickelten Software namens Evodel können die Parameter eines Ausbreitungsmodells zur Laufzeit angepasst und optimiert werden. Evaluiert wird die Methode anhand der Parameteroptimierung eines Multi-Wall-Ausbreitungsmodells sowie anhand der Lokalisation eines Sensorknotens. I. E INLEITUNG Der vorherrschende Übertragungsweg zur Kommunikation in Sensornetzen ist das Senden und Empfangen elektromagnetischer Wellen mittels Antennen. Eine Antenne kann als Sensor für die elektrische Feldstärke angesehen werden. Zwischen dem Aussenden und Empfangen einer Nachricht propagiert die elektromagnetische Welle durch den Raum und wird von Gegenständen und Lebewesen in ihrer Umgebung beeinflusst. In Mobilfunknetzten werden daher, zum Beispiel, Modelle zur Vorhersage der Ausbreitung der elektromagnetischen Wellen eingesetzt, um die Netz-Abdeckung zu optimieren. Die Beeinflussung der Umgebung kann mit einem Sender/EmpfängerPaar gemessen werden. So stellt ein Antennen-Paar indirekt einen Sensor für seine Umgebung dar. Typisch ist der Einsatz von Sensornetzwerken in Bürogebäuden oder Wohgebäuden in denen keine direkte Sichtverbindung der Sensorknoten untereinander möglich ist. Außerdem ändert sich die Umgebung am Einsatzort des Sensornetzwerkes mit der Zeit. Ein detailliertes, mühevoll erhobenes Vorhersagemodell zur Ausbreitung der Wellen kann so nur eine Momentaufnahme darstellen. Die Abweichung der Vorhersagen zur Realität kann deshalb sehr groß sein. Der Ansatz, der in dieser Arbeit vorgestellt wird, ermöglicht eine schnelle und automatische Modellierung durch maschinelles Lernen. Damit können die Parameter eines Ausbreitungsmodells zur Laufzeit optimiert werden und zum Beispiel, die Erreichbarkeit von Sensorknoten im Sensornetzwerk sichergestellt werden, auch wenn sich die Einsatzumgebung ändert. Durch permanente Kontrollmessungen und automatische Anpassung der Fitting-Parameter eines Ausbreitungsmodells, wird eine robuste Vorhersage der Signalstärken in einem Sensornetz erreicht. In [4] wird bereits vorgeführt, dass sich Modellparameter durch die Evolutionsstrategie anpassen lassen, um so zu einer Vorhersage der Signalstärken zu gelangen. Bei umgekehrter Anwendung dieses Ansatz, kann mit ausreichender Anzahl von Messungen, die Umgebung auch rekonstruiert werden, um z.B. ein Sensorknoten oder eine Person zu lokalisieren. Die implementierte Software Evodel setzt diesen Ansatz in beiden Anwendungsrichtungen um. Durch die freie Wahl der Fitting-Parameter entsteht ein flexibles Werkzeug zur Vermessung, Planung oder Überwachung. Zwei Anwendungsbeispiele zeigen die Anpassung eines Multi-WallModells [5] und die Lokalisation eines Sensorknotens. Dabei werden jeweils verschiedene Parameter als zu optimierende Fitting-Parameter eingesetzt - im ersten Fall sind dies die Materialeigenschaften der Wände und im zweiten Fall die Position eines Sensorknotens. II. G RUNDLAGEN ZU AUSBREITUNGSMODELLEN Dieser Abschnitt behandelt die Grundlagen zur Freiraumdämpfung, die zur Log-Distanz-Gleichung [3] verallgemeinert wird. Durch die Verallgemeinerung der Freiraumausbreitung, wird die grundlegende Funktion eines FittingParameters erläutert. Des Weiteren wird als zusätzliches Ausbreitungsmodell das Multi-Wall-Modell [5] beschrieben. A. Freiraumdämpfung Die Betrachtung der Freiraumdämpfung liefert ein erstes Modell zur Ausbreitung elektromagnetischer Wellen. Die Freiraumdämpfung F ist der Quotient von Leistung P , die eine λ2 im Abstand r empfängt, isotrope Antenne mit der Fläche 4π zu abgestrahlter Leistung P0 . Gleichung 1 zeigt die Freiraumdämpfung, wobei λ die Wellenlänge der elektromagnetischen Welle ist. 2 P0 4πr F (r) = = (1) P λ In logarithmischer Schreibweise kann die empfangene Leistung durch Gleichung 2 dargestellt werden. p = p0 − 2 · 10 log r (2) Die Gleichung 2 gilt für den freien Raum ohne Wechselwirkungen mit Materie. Sie beschreibt die Verteilung eines 9 Umgebung Freiraum Freie Ebene In Gebäuden mit Sichtverbindung In Gebäuden abgeschattet Exponent n 2 <2 1, 6 ... 1, 8 4 ... 6 k =n−2 0 <0 −0, 4... − 0, 2 2...4 Tabelle I E XPONENTEN IM L OG -D ISTANZ -M ODELL F ÜR VERSCHIEDENE U MGEBUNGEN [3] Abbildung 2. Abbildung 1. Gemessene Signalstärke über den Abstand zwischen Sender und Empfänger konstanten Energieflusses auf eine mit dem Abstand immer größer werdenden Fläche und stellt somit keine Dämpfung im physikalischen Sinn dar. Während dieses Vorhersagemodell (Gleichung 2) für den Außenbereich - bei freier Sichtverbindung - noch zufriedenstellende Ergebnisse liefert, hat die Wechselwirkung mit der Materie für die Ausbreitung innerhalb von Gebäuden einen nicht zu vernachlässigen Einfluss. Um die Vorhersagegenauigkeit für die Ausbreitung innerhalb von Gebäuden zu verbessern, existieren zwei verschiedene Herangehensweisen. Zum einen kann ein Modell durch zusätzlich betrachtete Effekte präzisiert werden, wie zum Beispiel durch die Reflexion an Wänden oder durch die Beugung an Kanten. Diese Effekte können theoretisch hergeleitet werden und in das Modell eingefügt werden, so dass sich die Effekte überlagern. B. Log-Distanz-Gleichung Ein anderer Weg, um die Vorhersagegenauigkeit eines Modells zu verbessern ist es, ein vorliegendes Modell anzupassen. Hierzu werden zunächst eine Anzahl von Messungen durchgeführt. Im gegebenem Vorhersagemodell werden Fitting-Parameter identifiziert, die es ermöglichen das Modell anzupassen. Im Fall der Freiraumdämpfung wird der Exponent in Gleichung 1 als Fitting-Parameter identifiziert. Die Verallgemeinerung von Gleichung 2 führt zur allgemeinen LogDistanz-Beziehung Gleichung 3, wobei p0 eine Konstante und n der Fitting-Parameter ist. p(r) = p0 − n · 10 log r (3) Der Exponent n setzt sich additiv aus dem Exponent der Freiraumdämpfung 2 und einem Korrekturanteil k, also n = 2 + k zusammen. Der Wert k repräsentiert alle auftretenden Effekte außer der Freiraumdämpfung. Tabelle I zeigt die empirisch ermittelten Exponenten für unterschiedliche Umgebungen aus [3]. Neben der zu erwartenden Dämpfung durch Abschattung, stellt man bei der direkten Sichtverbindung in Gebäuden eine Verstärkung fest. Die Gesamtheit der Reflexionen an den 10 Allgemeiner Ansatz der automatischen Parameteroptimierung Decken und Wänden führt - im Mittel - zu einer konstruktiven Überlagerung und somit zur Verstärkung. Durch die richtige Wahl des Fitting-Parameters n wird diesem Kanalisierungseffekt Rechnung getragen. Die Reflexion als physikalischer Effekt wird im Modell nicht explizit berücksichtigt. Dennoch wird der Einfluss der (vielen) Reflexionen durch die Wahl des Fitting-Parameters gemittelt berücksichtigt. Mit der Messung der Signalstärken für verschiedene Abstände zum Sender kann durch lineare Regression der Fitting-Parameter bestimmt werden. Abbildung 1 zeigt eine Messung in einem Wohnraum. Abbildung 1 zeigt zudem, dass die Freiraumdämpfung mit n = 2 nur im Fernfeld gilt. Im Nahfeld muss ein höherer Exponent gefordert werden. C. Multi-Wall-Modell Im Wall-Modell werden die Wände eines Gebäudes berücksichtigt. Dabei geht man von der einfachen Annahme aus, dass jede Wand, die von einem Signal durchdrungen wird, das Signal in quantitativ gleicher Weise dämpft - nämlich um einen Faktor. In der dB-Skala wird der Faktor als Summand dwall angegeben. Gleichung 4 berechnet die Dämpfung eines Signals, dass w Wände durchdringt. fwm = f + w · dwall (4) Die Funktion f ist dabei die Dämpfung ohne Hindernisse. Hier kann z.B. die Freiraumdämpfung verwendet werden. Etwas detaillierter ist das Multi-Wall-Modell [5]. Es berücksichtigt, dass verschiedene Wände unterschiedlich stark dämpfen. Es werden Dämpfungen di aller Wände i definiert. Gleichung 5 zeigt die Berechnung der Dämpfung im Multi-Wall-Modell für ein Signal, dass w Wände durchdringt. fmw = f + w X di (5) i=1 In diesem Ausbreitungsmodell sind die Dämpfungen di ... dw die Fitting-Parameter. III. A NSATZ MIT MASCHINELLEM L ERNEN Um das Prinzip der Anpassung der Fitting-Parameter automatisiert auf die Ausbreitung elektromagnetischer Wellen anzuwenden, wurden folgende Teilaspekte verknüpft: Ein Model, welches Fitting-Parameter enthält, berechnet die Signalstärken innerhalb des Sensornetzes. • Die Sensorknoten messen die Signalstärken vor Ort oder es liegen Messdaten vor. • Eine Metrik bestimmt den Abstand zwischen Berechnung und Messung der Signalstärken als reelle Zahl. • Ein Optimierer nach der Evolutionsstrategie variiert die Fitting-Parameter mit dem Ziel, den in der Metrik definierten Abstand zwischen Berechnung und Messung zu minimieren. Die Dämpfungen zwischen den Sensorknoten im Sensornetz können als Matrix dargestellt werden (Gleichung 6). 0 d1,2 d1,3 · · · d1,n 0 d2,3 · · · d2,n d2,1 d d 0 · · · d3,n 3,1 3,2 (6) D= . . . .. .. .. .. .. . . dn,1 dn,2 dn,3 · · · 0 • Abbildung 2 zeigt den iterativen Optimierungszyklus. Als Optimierer wird die Evolutionsstrategie eingesetzt, da sie sich flexibel auf sich ändernde Bedingungen durch eine automatische Schrittweiteregelung anpassen kann. Ein umfassenden Überblick zur Evolutionsstrategie erhält man z.B. in [1]. Vom Evolutionsalgorithmus werden ständig neue Variationen der Fitting-Parameter generiert und mit der Fitnessfunktion bewertet. Dabei werden die Signalstärken berechnet und gleichzeitig gemessen. Anhand der Fitness werden die verschiedenen Varianten verglichen und die Besten werden ausgewählt. Durch Gleichung 7 wird der Abstand zwischen zwei Dämpfungsmatrizen hDm , Dw i definiert. Es wird nicht ausgenutzt, dass es sich um eine symmetrische Matrix handelt. v u X n u1 n X 2 ∆ = hDm , Dw i := t · (dm,i,j − dw,i,j ) (7) s i=1 j=1 Die Zahl s gibt die Anzahl der Einzeldämpfungen an. Der definierte Abstand multipliziert mit (−1) wird als Bewertungskriterium für die Ähnlichkeit zweier Dämpfungsmatrizen verwendet. Gleichung 8 zeigt die Fitness bzw. die Qualität, dessen Maximalwert Null ist. q = −∆ = −hDm , Dw i = −hM (u), Dw i (8) IV. S YSTEMAUFBAU Abbildung 2 zeigt den funktionellen Aufbau des Vorhersagesystems, dessen Komponenten nun beschrieben werden. A. Das Ausbreitungsmodell Das Ausbreitungsmodell, welches aus gegebenen Parameter die Signalstärken berechnet, berücksichtigt folgende Ausbreitungseffekte: • Freiraumausbreitung • Winkel-abhängige Dämpfung durch Wände • Winkel-abhängige Reflexion an Wänden und Personen • Beugungseffekte durch eine Person Die Freiraumausbreitung wird durch die Log-DistanzGleichung (Gleichung 3) berechnet. Die Dämpfung durch die Wände werden mit dem Multi-Wall-Modell (Gleichung 5) berechnet. Dem Wert der Dämpfung aus dem Multi-WallModell wird eine Winkel-abhängige Dämpfung überlagert, Abbildung 3. modells Optimierte Umgebung und Berechnungen des Ausbreitungs- dem Reflexionsvermögen. Das Reflexionsvermögen folgt theoretisch aus den Maxwell’schen Gleichungen [2] und wird im Ausbreitungsmodell als globale Funktion definiert. Die Funktion des Reflexionsvermögens wird in mehrere Werte diskretisiert. Diese Werte, zusammen mit den Parametern aus der Log-Distanz-Gleichung, den Parametern des Multi-WallModells und den Knotenpositionen bilden eine Zahlenfolge, die die Umgebung repräsentiert. Die Gesamtheit der Modellparameter ist die Repräsentation der Umgebung. B. Feldstärkemessung Es wurde ein Sensornetz aus micaZ-Sensorknoten verwendet. Dieser Sensorknoten verfügt über einen CC2420-Funkchip [6], der eine Messung der empfangenen Feldstärke durchführt. Der RSSI-Wert wird ausgelesen und über eine Basisstation an einen PC übermittelt. C. Optimierung der Modellparameter Die Parameter des Ausbreitungsmodells werden durch die Evolutionsstrategie optimiert. Die Gesamtheit der Parameter bilden die Repräsentation der Umgebung. Mit der Optimierung sollen jedoch nicht alle Parameter verändert werden. Die Position einer Wand z.B. sind meist nicht-veränderbare Parameter. Nur die veränderbaren Parameter bilden zusammen ein Individuum (= sein Genom) im Kontext der Evolutionsstrategie. Nach der Optimierung werden die Parameter kombiniert und bilden wieder eine Repräsentation der Umgebung. Welche Parameter des Modells optimiert werden sollen, kann dabei frei gewählt werden. V. S YSTEMANWENDUNG Die erste Anwendung zeigt die Vorgehensweise zur Vorhersage von Signalstärken in einem Sensornetz. Die zweite Anwendung demonstriert die Lokalisation eines Sensorknotens. Die implementierte Software trägt den (Titel-) Namen Evodel. A. Vorhersage von Signalstärken In dieser Anwendung werden Sensorknoten in einer Wohnung verteilt. Die Abmessungen der Wände und die Positionen der Sensorknoten wurden vermessen und in Evodel eingegeben. Diese Parameter werden fixiert. Die Materialparameter für das Multi-Wall-Modell und die Log-Distanz-Parameter 11 Abbildung 4. Mobiler Sensorknoten auf einer Modellbahn Abbildung 5. Links: Ermittelte Sensorknotenposition, rechts: Fitness und Schrittweite der Evolution werden als veränderbar markiert. Die veränderbaren Parameter (Fitting-Parameter) werden durch die Evolutionsstrategie variiert und optimiert. Abbildung 3 zeigt die in Evodel angezeigte Umgebung aus Wänden, Sensorknoten und Verbindungslinien nach dem Evolutionslauf. Rechts der Verlauf der Fitness und unten der Verlauf der Schrittweite während der Optimierung skizziert. Die mittlere quadratische Abweichung aller Messwerte zu den Berechnungen des Ausbreitungsmodells sinkt von 17,00 dBm vor der Optimierung auf 6,22 dBm nach der Optimierung. Mit der optimierten Repräsentation der Umgebung kann das Ausbreitungsmodell nun zur Vorhersage von Signalstärken eingesetzt werden. B. Lokalisation eines Sensorknotens Zunächst werden fünf Sensorknoten ohne den mobilen Knoten auf einem Tisch aufgestellt. Abbildung 4 zeigt den Aufbaus des Experiments. Vier Sensorknoten wurden in die Ecken des Tisches und ein Knoten in die Mitte des Tisches platziert. Die Positionen der Sensorknoten werden ausgemessen und in Evodel eingegeben. Nun misst das Sensornetz die Signalstärken und sendet diese über die Basisstation an das laufende Programm. Die Verbindungen werden im Programmfenster von Evodel angezeigt. Bevor der mobile Knoten zum Einsatz kommt, werden zunächst die vorherrschenden Log-DistanzParameter ermittelt. Dazu werden alle Knotenpositionen über das Programmfenster fixiert und die Log-Distanz-Parameter als veränderbar markiert. Wird nun ein Evolutionslauf gestartet, werden die Log-Distanz-Parameter ermittelt. Bei 100 Generationen und 40 Individuen nimmt dies ca. 60 Sekunden in Anspruch. Das Ergebnis ist hier p0 = 24, 07 dBm und n = 3, 42, vergleiche Gleichung 3 und Abbildung 1. Die Log-Distanz-Parameter werden jetzt wieder fixiert. Danach wird der sechste Sensorknoten in das Sensornetz eingebracht, dessen Position als veränderbar markiert wird. Die beiden Koordinaten der Position des mobilen Sensorknoten sind nun die einzigen veränderbaren Parameter und somit Gene des Individuums. Die Messung der Signalstärken wird nun fortgesetzt. Die Signalstärken - inklusive die zum mobilen Knoten - werden nun kontinuierlich gemessen und angezeigt. Anschließend wird die Evolution gestartet. Die Position des mobilen Sensorknotens wird nun variiert mit dem Ziel die kontinuierlichen Messungen vorhersagen zu können. Nach jeder Generation der Evolution wird das Ergebnis der Optimierung im Programmfenster angezeigt. Abbildung 5 zeigt die von Evodel angezeigte Umgebung bei der Lokalisation 12 des Sensorknotens. Es wurde die Spur des mobilen Knotens für einen Umlauf der Modellbahn aufgezeichnet. Die Rechenzeit für eine Generation der Evolution beträgt Bruchteile einer Sekunde. Die Fitness von -4,126 bedeutet, dass aktuell die Messdaten im quadratischem Mittel um 4,126 dBm von den Berechnungen des Ausbreitungsmodells abweichen. Die Schrittweite von 117 mm bedeutet, dass das beste Individuum der letzten Generation 117 mm von seinem Eltern-Individuum abweicht. Die Schrittweite korrespondiert dabei mit der Bewegungsgeschwindigkeit des Sensorknotens. VI. R ES ÜMEE In dieser Arbeit wurde gezeigt, dass man durch Kombination von variablem Ausbreitungsmodell, experimentellen Feldstärkemessungen und Parameteroptimierung in der Lage ist, die Parameter eines Ausbreitungsmodells zur Laufzeit anzupassen und zu optimieren. Damit kann, z.B. die Umgebung eines Sensornetzes rekonstruiert werden. Die gewonnene Repräsentation der Umgebung kann für weitere Berechnungen eingesetzt werden, z.B. zur Berechnung des Ausbreitungsverhaltens eines (virtuellen) Senders. Evaluiert wurde die Methode anhand der Anwendungsbeispiele der Parameteroptimierung eines Multi-Wall-Ausbreitungsmodells sowie anhand der Lokalisation eines Sensorknotens. Für genaue Vorhersagen in Bezug auf die Signalstärken muss das verwendete Ausbreitungsmodell noch verbessert werden. Die Lokalisation des mobilen Sensorknotens dagegen lieferte im Vergleich bessere Genauigkeiten. L ITERATUR [1] Ingo Rechenberg: Evolutionsstrategie ’94 – Werkstatt Bionik und Evo” 1, Friedrich Frommann Verlag, Stuttgart, 1994 lutionstechnik“, Band [2] Wolfgang Demtröter: Experimentalphysik 2 – Elektrizität und Optik“, ” 2.Auflage Springer-Verlag, 2002 [3] T. S. Rappaport u.a.: Wireless communications: principles and practice“, ” Prentice Hall PTR, New Jersey, 1996 [4] M. Klepal, D. Pesch und Z.Hradecky: Optimising motif models for ” indoor radio propagation prediction using evolutionary computation“, The Irish Signals and Systems Conference (S. 301-306), 2002 [5] M. Lott und I. Forkel: A multi-wall-and-floor model for indoor radio propagation“, Vehicular ”Technology Conference, 2001, IEEE, 2002 [6] CC2420 Datasheed. Link (im Juli 2011) inst.eecs.berkeley.edu/˜cs150/Documents/CC2420.pdf SuperG: A Multi-Radio Architecture to interconnect multiple Wireless Sensor Networks Clemens Mühlberger and Tobias Schäfer Institute of Computer Science University of Würzburg 97074 Würzburg, Germany Email: {muehlberger, schaefer}@informatik.uni-wuerzburg.de Abstract—On the way to the “Internet of Things” the coexistence of highly adapted but yet deployed sensor networks and future wireless sensor networks using advanced radio technologies must be considered increasingly crucial. This is the reason why we do want to interconnect wireless sensor networks using diverse radio interfaces and communication protocols to form one homogeneous network from a logical point of view. Therefore, we developed a modular architecture for multi-layer multi-radio gateways. We also present our hardware prototype SuperG, which offers four sub 1-GHz as well as two 2.4 GHz based radio devices at a single node. To the best of our knowledge, this is the first paper describing a multi-radio gateway interconnecting more than two wireless sensor networks, where each of them uses different communication interfaces. I. I NTRODUCTION In recent years, both the number of Wireless Sensor Networks (WSNs) deployed and the diversity of Sensor Nodes (SNs) installed has increased. Therefore, the spectrum of radio devices used at such wireless platforms nowadays ranges from sub 1-GHz transceivers like RFM TR1000/TR1001 (e.g. at early platforms like EYES, ScatterWeb ESB, and MICA) and Chipcon CC1000/CC1100/CC1101 (e.g. at SNoW5, BTnode, ScatterNode, Mica2, and Mica2Dot), to 2.4 GHz IEEE 802.15.4/ZigBee compliant transceivers Chipcon CC2420/CC2520 (e.g. at MicaZ, TelosB, tmote sky, Sun SPOT, and Imote2) and System-on-Chip radio transceiver Nordic nRF24 (e.g. at EcoSpire). This very variety of radio interfaces as well as the offered communication protocols complicates the interconnection of miscellaneous WSNs. However, the re-utilization of already installed sensor nodes is not only cost-efficient, but also inevitable in some cases, e.g. if nodes are firmly connected to the surroundings or even encased in concrete. Furthermore, coordination and interoperability between yet established and recently deployed WSNs using (potentially) incompatible communication interfaces becomes more and more important on the way to “Cooperating Objects” [1] and the “Internet of Things” [2]. The installation of one or more auxiliary gateways1 is a simple, fast, and cost-efficient solution to establish communication links when incompatible communication interfaces are used within the heterogeneous network. Indeed, all messages are delayed when passing such a gateway. More precisely, protocol adaption and protocol conversion (cf. Sec. III-A2) are causing such a delay, which mainly depends on additional but specific calculation efforts as well as a potential waiting time for the next time of transmission. In this paper we present our modular architecture for a multi-layer multi-radio gateway which supports the interconnection of an unlimited number of networks per se. This approach allows application dependent operation modes, like repeater, hub, and switch. In principle, our architecture is an adaption and extension of the IEEE 802.11 WLAN infrastructure [3]. To evaluate the suitability of this multi-radio gateway under real conditions, we developed the hardware prototype SuperG which offers four sub 1-GHz and two 2.4 GHz radio devices. First tests were successful and promising (see Sec. V), thus we are currently trying to interconnect several networks consisting of SNoW5 [4], and TelosB [5] sensor nodes respectively, assisted by our SuperG gateway node. The remainder of this paper is organized as follows. In Section II, we give a brief overview of related work. Section III describes in detail our architecture for a multi-layer multi-radio gateway with a special focus on distribution and integration services. Section IV outlines potential operation modes of this multi-radio gateway node, whereas Section V presents our hardware prototype of such a gateway. A brief summary and an outlook to future work in Section VI closes this paper. II. R ELATED W ORK This section gives a short overview over current research concerning the interconnection of heterogeneous networks, and available gateway nodes in particular. General considerations about the interconnection challenges and strategies, especially when combining a WSN to the Internet, as well as the need for gateways at all, can be found in Karl et al. [6]. A good overview of nodes with more computational power is listed in [7]: these ”large sensor nodes” often offer more communication interfaces, e.g. an additional Ethernet connector. Of course, in some cases it is sufficient to just plug a specific sensor node to a more powerful device like an PC or PDA, e.g. via RS232 or USB interface. But our goal is the interconnection of multiple sensor networks, not just the Internet. 1 Within this paper, the term (communication) gateway means an instrument forming a homogeneous network out of a heterogeneous network in a logical point of view, whereat a heterogeneous network is a collection of two or more homogeneous networks. 13 Due to its modular design, the s-net Mobile Gateway [8] is very versatile, because it offers up to four Mini PCI Express slots. Amongst others, cards for s-net, WLAN, UMTS, and GSM network are yet available. This gateway architecture is pretty close to our vision of an interconnecting gateway for multiple WSNs, because it already allows the combination of up to four (different) networks at once. One of the rare gateway nodes supporting both IEEE 802.15.4 and sub 1-GHz radio is the NanoRouter Ethernet 2.0 [9]. However, this gateway is just able to interconnect 6LoWPAN based enterprise sensor networks to IPv4/IPv6 Ethernet networks. Though, our intention is to stay independent of the used protocols as far as possible. With respect to the installed radio devices, the sensor node of Ansari et al. [10] is most similar to our approach, because it also combines both IEEE 802.15.4 and proprietary sub 1GHz radio units at one extended TelosB sensor node. This allows an interconnection of a burst radio interface realized by a CC2420 radio chip, and the low frequency radio chip CC1100. Indeed, the two different radio interfaces were used to find energy-efficient MAC operation, i.e. on the one hand a transmitter for data at high bandwidth, and on the other hand a sniffer for control messages at lower bandwidth. However, what we do want is the interconnection of quite different (wireless) communication interfaces. This also implies that our architecture has to offer application dependent operation modes, like repeater, hub, and switch. III. O UR G ATEWAY A RCHITECTURE Our gateway architecture mainly was inspired by the IEEE 802.11 WLAN infrastructure [3]: There, a Distribution System (DS) provides logical support to map addresses to destinations and to integrate multiple subnetworks seamlessly. That means, for members of the subnetwork the access to the DS is offered by an Access Point (AP). Nevertheless, APs are sufficient, if all members of such a subnetwork use the very same protocol on both medium access as well as physical layer. Therefore, a so called portal (a specific AP) is required when integrating an IEEE 802.x LAN based network. Such a portal has to provide both distribution and integration services. A. Our Multiple WSN Architecture In the context of WSN, several sensor nodes in combination with a portal form a simple WSN. To interconnect various WSNs, an Extended Distribution System (EDS) must be installed. This EDS concatenates the portals of the corresponding WSNs with each other. According to Figure 1, a portal acts like a sensor node within the corresponding WSN, but offers access to the EDS. Due to our goal to simplify the integration of various protocols, the most significant software part relies on a portal: it should provide an interface for the required protocols without any changes concerning their implementation, if possible. Please note, the EDS Medium (EDSM) and the Wireless Medium (WM) must be clearly distinguished from a logical point of view: First, the EDSM should not be visible for the sensor nodes because the EDSM is not part of any WSN. 14 Fig. 1. Schematic of our multiple WSN architecture Second, the EDSM should be exchangeable, i.e. the EDSM could be realized in various ways, e.g. at a single device (just like our SuperG does, cf. Sec. V), as a wired bus between specific portal nodes, or even wirelessly. This architecture classifies two subsets of the main services as follows: Each sensor node basically relies on the Sensor Node Service (SNS), which is defined by the communication protocol of the corresponding WSN. In contrast, the EDS implements the EDS Service (EDSS), which relies on both main services of the WSN Infrastructure: the Distribution Service and the Integration Service. 1) Distribution Service: Depending on the functionality of the entire architecture, the Distribution Service covers two essential tasks. First, it has to achieve the message flow throughout the EDS. To support various architectures, the type of transmission is not made mandatory. For example, several sensor nodes can be interconnected via a wired bus system like Serial Peripheral Interface (SPI) to form an EDS. Obviously, in this case there is no additional transmission protocol within the EDS required. Indeed, timings and delays are going to become particularly critical, e.g. broadcast messages within such a wired EDS will not arrive at each destination at the very same time. An EDS could also be implemented for example at a single sensor node offering more than one radio unit (cf. also Sec. V). Here, the EDS complies to the controller’s RAM in general. Thus, data packets have not to be propagated further within the EDSM, because the controller now serves all radio units. The delay of broadcast messages is not that critical anymore. The second task is responsible for the operation mode, like hub, switch, and repeater. For example, if implemented as simple hub or repeater, data messages have to be transmitted to all other portals within the EDS. Whereas, to support switching or bridging some additional functionality is required, like providing and maintaining address tables as well as making a decision to switch. 2) Integration Service: So far, we have not yet discussed the hard problem of protocol translations. In fact, in some cases it is even impossible to translate one communication protocol into another to establish an interconnection between both networks. Basically, there are two methods for protocol translation: protocol conversion and protocol adaption. Protocol conversion addresses the conversion of the complete functionality of protocols at a specific layer in terms of the provided services, interfaces, and the protocol’s set of rules. Obviously, protocol conversion is not always applicable for all scenarios. Therefore S. S. Lam [11] and K. Okamura [12] developed a formal method to decide, whether a protocol conversion is possible, or not. They also advice some construction methods, to build a protocol converter when protocol conversion is possible at all. In contrast, protocol adaption can be done in various ways. Addressed by von Bochmann et al. [13], service concatenation tries to install a global communication service which is built upon several basic communication services. This can be achieved either by service adaption or interface adaption. In both cases, protocols need not to be translated completely, instead the translation of a small subset of services is adequate to enable data transmission then. B. Dealing with Dynamic The multiple WSN architecture described so far is static, because we have not defined any service which connects newly entering sensor nodes to an existing WSN. This is sufficient for simple hub and repeater functionality. Therefore, if the functionality of a switch is desired and dynamic topologies shall be supported as well, additional services at both SNS as well as EDSS are required. That means, the protocol of the relevant WSN has to offer services for the entering and leaving of sensor nodes. With it, the EDS in turn has to offer services for (dis)connection of sensor nodes. When these services are invoked by those sensor nodes related to portals to introduce newly added nodes of the corresponding WSN to the EDS, the underlying protocol of this appropriate WSN must not be changed. These services allow the EDS to update e.g. its address translation table. IV. O PERATION M ODES Due to the modular and variable design of the EDS architecture (cf. Sec. III), the following operation modes become feasible. As already mentioned before, these operation modes are defined within the EDS according to the relationship of its portals. First of all, the functionality of a repeater can be implemented. That means, a pair of radio units is fixed permanently in such a way, that a packet received at one node of this pair will be transmitted immediately by the other node of that pair. Due to a shared SPI bus, a short delay has to be accepted. Next, if any received packet will be propagated over the remaining radio transceivers without any deeper packet analysis, the functionality of a hub is implemented. Assumed, all Fig. 2. SuperG expansion board stacked onto RSK+ SH7203 radio units share the very same SPI bus, the broadcast of such a message probably will be delayed noticeably. Also possible is the functionality of a switch. Here, the EDS has to analyze the MAC address of a received packet and to store it within a source address table. Entries in this table and the received MAC address determine, which radio device has to further transmit this packet. If there are packets addressed to unknown receivers, these packets are flooded to all remaining transceivers. All in all, our gateway architecture not only allows protocol conversion depending on the used MAC protocols, but even offers some sort of media conversion when connecting networks of different frequency bands. V. S UPER G P LATFORM We developed the SuperG platform, which will be described within this section in detail, to first evaluate the suitability of our gateway architecture from Section III and finally to analyze the functionality of our hardware prototype when using one of the operation modes named above. Using a high-performance microcontroller, the handling of multiple radio devices should become possible. Therefore, our gateway node SuperG is based upon the Renesas Starter Kit+ (RSK+) for SH7203 [14]. The SH7203 is a superscalar 32bit RISC microcontroller, incorporating an SH2A-FPU core. The maximum operating frequency is 200 MHz, peripheral functions such as a CAN controller, a serial communication interface, an USB host/server module, as well as an I2C bus interface are already integrated into the microcontroller (cf. [15]). In addition, the RSK+ evaluation board provides an Ethernet controller and connector. Besides, we use a migration of the real-time operating system SmartOS [16]. For wireless interaction, we developed a stackable expansion card consistent with the RSK+ evaluation board (see Figure 2). Here, we focused on sub 1-GHz radio as well as 2.4 GHz IEEE 802.15.4/ZigBee compliant radio systems, because both radio systems can be found at a broad variety 15 of current sensor nodes (cf. Section I). In detail, we assembled four CC1100 radio units [17] and two CC2520 ZigBee compliant radio devices [18]. For each CC2520 radio device an inverted-F on-board antenna can be used alternatively. Each radio unit can be connected to the SH7203 microcontroller via both installed SPI buses. To provide the accurate timeline with a temporal resolution of 1 µs as requested by the operating system (cf. [19]), we attached an external 1 MHz quartz oscillator onto the expansion board. A first implementation of the hub (and repeater) functionality upon our prototype gateway was successful and promising: Beside our SuperG prototype, we used several SNoW5 sensor nodes at the 915 MHz band for these tests. For medium access we used a proprietary CSMA protocol. To simulate incompatible communication interfaces even if the radio units are configured almost identically, we divided the set of SNoW5 sensor nodes into four disjoint subsets by using four different frequency channels. According to these subsets, each CC1100 radio unit of the SuperG node was now connected to just one of these subsets, i.e. it used the very same frequency channel. Because the relationship of the corresponding portals defines the operation mode of the gateway node, we just had to connect there two specific portals with each other (to get repeater functionality), and one specific portal to the remaining ones (to get hub functionality) respectively. VI. C ONCLUSION AND O UTLOOK In this paper we introduced our approach of a multi-radio gateway platform. After a short overview of existing gateway nodes, we described our architecture in detail in Section III. In Section IV we listed possible operation modes of our gateway node, whereas we outlined our first hardware prototype in Section V. Currently, we are setting up additional (cf. Sec. V) realworld testbeds consisting of SNoW5 [4] and TelosB [5] sensor nodes. With the help of these testbeds we hope to verify the feasibility of all operation modes listed in Section IV under real-world conditions. We also want to analyze and minimize the delay when a packet passes the EDS of the SuperG gateway. Additional server tasks, like information processing, data gathering, or data preparation, could be installed also at such a high-performance gateway node (cf. Figure 1). The interconnection of further networks like the Internet (cf. Figure 1 again) or support for other network services, like tunneling and remote management of data, are also part of our future research. Finally, we want to analyze and minimize the energy consumption of this gateway node and its radio chips in particular. 16 R EFERENCES [1] Pedro José Marrón, Daniel Minder, Andreas Lachenmann, Olga Saukh, and Kurt Rothermel, “Generic Model and Architecture for Cooperating Objects in Sensor Network Environments,” African Journal of Information & Communication Technology, vol. 2, no. 1, pp. 1–11, Mar. 2006. [2] L. Atzori, A. Iera, and G. Morabito, “The Internet of Things: A survey,” Comput. Netw., vol. 54, pp. 2787–2805, Oct. 2010. [3] IEEE, IEEE Standard for Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications (IEEE Std 802.11-2007), IEEE Computer Society, New York, NY 10016-5997, USA, Jun. 2007. [4] M. Baunach, R. Kolla, and C. Mühlberger, “SNoW5 : a modular platform for sophisticated real-time wireless sensor networking,” Institut für Informatik, Universität Würzburg, Tech. Rep. 399, Jan. 2007. [5] J. Polastre, R. Szewczyk, and D. Culler, “Telos: Enabling Ultra-Low Power Wireless Research,” in Proceedings of the Fourth International Conference on Information Processing in Sensor Networks, 25.-27. Apr. 2005. [6] H. Karl and A. Willig, Protocols and Architectures for Wireless Sensor Networks. John Wiley & Sons, Ltd, 2005. [7] M. Yarvis and W. Ye, “Tiered Architectures in Sensor Networks,” in Handbook of Sensor Networks: Compact Wireless and Wired Sensing Systems, M. Ilyas and I. Mahgoub, Eds. CRC Press, 2005, ch. 13, pp. 1–22. [8] Fraunhofer IIS, s-net Mobile Gateway - Produktinformation, FraunhoferInstitut für Integrierte Schaltungen (IIS), 2011. [9] Sensinode Ltd., NanoRouter Ethernet 2.0 Reference Platform, Sensinode Ltd., FIN-90100 Oulu, Finland, Mar. 2010. [10] J. Ansari, X. Zhang, and P. Mähönen, “Multi-radio medium access control protocol for wireless sensor networks,” IJSNET, vol. 8, no. 1, pp. 47–61, 2010. [11] S. S. Lam, “Protocol Conversion,” IEEE Trans. Softw. Eng., vol. 14, pp. 353–362, Mar. 1988. [12] K. Okumura, “A formal protocol conversion method,” SIGCOMM Comput. Commun. Rev., vol. 16, pp. 30–37, Aug. 1986. [13] G. v. Bochmann and P. Mondain Monval, “Design Principles for Communication Gateways,” IEEE Journal on Selected Areas in Communications, vol. 8, no. 1, pp. 12–21, Jan. 1990. [14] Renesas Starter Kit+ for SH7203 – User’s Manual, Reg10j00600200 ed., SWRS038D, Renesas Electronics Corporation, Kanagawa (Japan), 17. Jan. 2009. [15] SH7203 Group – Hardware Manual, Rej09b0313-0300 ed., SWRS038D, Renesas Electronics Corporation, Kanagawa (Japan), 28. Sep. 2009. [16] M. Baunach, “Dynamic Hinting: Real-Time Resource Management in Wireless Sensor/Actor Networks,” Real-Time Computing Systems and Applications, International Workshop on, vol. 0, pp. 31–40, 2009. [17] CC1100 Low-Power Sub-1 GHz RF Transceiver, SWRS038D, Texas Instruments Inc., Dallas, Texas (USA), May 2009. [18] CC2520 2.4 GHZ IEEE 802.15.4/ZIGBEE RF TRANSCEIVER, SWRS038D, Texas Instruments Inc., Dallas, Texas (USA), Dec. 2009. [19] M. Baunach, R. Kolla, and C. Mühlberger, “Introduction to a Small Modular Adept Real-Time Operating System,” in 6. GI/ITG KuVS Fachgespräch Drahtlose Sensornetze. RWTH Aachen University, Jul. 2007. Wireless Sensor Actor Nodes for the Building Automation Hannes Frey, Rafael Funke, and Marcus Autenrieth Harald Mundinger, Peter Detzner, and Roland Groll University of Paderborn, Germany {hannes.frey, rfunke, marcus.autenrieth}@upb.de Insta Elektro GmbH, Germany {mundinger, p.detzner, r.groll}@insta.de Abstract—This work presents a snapshot of a joint industry and academic research project on wireless sensor actor networks for the building automation. We briefly present a new developed generic sensor/actor node and a testbed support node. We further explain the software parts which have been developed for this project. This includes the porting of TinyOS on the developed hardware platform and the additional software needed to control test deployments. Our hardware is a ready to use contribution to the wireless sensor/actor network community working with real world indoor deployments. The generic sensor/actor node together with the testbed support node can be plugged into a PoE LAN. This allows quick indoor deployments and convenient control over testbed experiments. I. I NTRODUCTION Building automation is the monitoring and control of buildings with a network of sensors and actuators. Actuators control building services like electric lighting, air conditioning, sunblinds, sprinklers, or door/window locking systems. Sensors measure current physical parameters like temperature, humidity, luminosity, smoke emission or motion. Furthermore, simple sensors like switches or buttons allow direct actor control by the user like lifting sunblinds or just turning on the light. The interplay of sensors and actuators requires them to be networked together. Such sensor/actor network allows sending control data to the actors and collecting sensor data from the sensors. Networking can be wired, wireless or a mix of both. The beauty of wireless networking is that it allows quick and easy installation of building automation into already existing buildings. In this work we summarize the current status of a wireless building automation communication platform we are developing together with an industry partner. The central part of that project is a generic wireless network node which can serve as a host for sensors, which can control actors or which can just serve as a relay for sensor and control traffic between other nodes. This device can be attached to a support node which we developed in this project as well. Together with the support node, the hardware can be attached to a PoE LAN. This allows rapid testbed setups in buildings equipped with such LAN. The remainder of this work is organized as follows. In the next section we will briefly summarize the state of the art of wireless building automation. In Section III we briefly describe the generic wireless sensor/actor node and the support node. Moreover, we sketch two testbed settings which we plan to use for evaluating our developed wireless sensor/actor network. After the hardware description we will then in Section IV sketch the software parts developed in this project. This includes the porting of TinyOS on our platform, our networking approach, and our library to control field trials with test deployments. Finally, in Section V we conclude this work with arguments highlighting the benefits for other researchers to use the hardware and software developed in this project. II. R ELATED W ORK A. Single-Hop Networks KNX [4] is the international standard for wired networked building automation. The standard describes how sensors and actors are networked and defines the network protocols between them. A variant KNX RF allows wireless sensors or actors at the “last mile”, i.e., messages can be transmitted wireless from the core wired network to the sensor or actor device. The EnOcean alliance [1] focuses on miniaturized energy converters which allow the energy of a pressed button to be converted in a short radio signal which can then be received by an electricity powered base station. This allows an easy installation of control buttons (e.g. to switch on and off the light) without the need for external or battery power supply. The IO-Homecontrol alliance [3] offers products for remote controlling IO-Homecontrol compatible home automation products. The technique is based on a direct communication between controller and actor. The communication range covers the common private real estate market. B. Multi-Hop Networks Z-Wave [8] is a wireless communication standard for the building automation which also enables wireless multihop communication. The multihop communication is based on a combination of link-state and source routing. Mutual connectivity among nodes is first determined and collected at a central node. Communication paths are computed before routing starts and stored in the message. The INSTEON [2] alliance also allows wireless multihop communication in building automation. Multihop communication is based on plain flooding. Every node repeats a received message. To increase success rate, nodes repeat this message several times. 17 Wavenis [6] is a wireless communication platform used for automatic measurement and monitoring of smart meters. As shown in a large-scale monitoring case study in Sables, France, multihop communication from sensors to a data sink is achieved in networks organized as a tree. With such a tree a very high scale network (e.g. 25.000 nodes) can be constructed. ZigBee [7] is a standard for low powered embedded devices not specifically focused on building automation. Physical and link layer including MAC are based on the IEEE802.15.4 standard. ZigBee specifies network and application layer. Building automation is one application scenario described in the ZigBee standard. The standard allows multihop wireless communication with a hierarchical network organization using so called PAN coordinators to manage a set of wireless attached devices. B. Support Nodes A further requirement in the whole project is to enable easy experimental evaluation of single nodes and a network of nodes. This includes flashing of new firmware images, sending data to and receiving data from already deployed nodes. To avoid bias of the experimental wireless network evaluation, all control traffic has to be transmitted over a separate wired control network. III. H ARDWARE A. Generic Network Nodes (a) Casing The main requirements for the generic wireless sensor/actor network nodes are small form factor and low price. In the current project status we consider nodes with standardized wall mounted electrical outlet or light switch sizes. Processing of information on the node is limited to low cost micro controllers. The micro controller must support 32 kilobyte flash ROM to store network controller code and 5 kilobyte RAM for storing network related node status like information about neighboring nodes. For compatibility of physical layer, link layer and MAC with other hardware we have to use IEEE 802.15.4. Power consumption is to be limited to less than one Watt to comply with industry standards for building automation. Energy consumption needs not further be reduced, since the nodes will finally be attached to the building electricity, i.e., energy efficiency is not as critical as with battery operated sensor/actor nodes. (a) Front side Fig. 1. (b) Electronics Support node prototype To keep the actual developed sensor/actor nodes independent from additional hard and software needed for the experimental evaluation, we developed a further support node where the sensor/actor node can be attached to (see Fig. 2). Combined together the two nodes form a complete experimental node unit. Communication between both parts in that unit is done via a UART interface. The support node is built around an Atmel AT91SAM micro controller unit and a Davicom DM9161AEP Ethernet controller. The support node has to be attached to a power over Ethernet (PoE) LAN. It supports the wireless sensor/actor node with electricity and allows flashing images, sending data to and receiving data from the sensor/actor node over a standard Ethernet. Addressing of the support nodes is done via IP addresses which are acquired via DHCP. (b) Back side Generic network node prototype The current prototype depicted in Fig. 1 consists of an Atmel ATMega 1281 micro controller and an Atmel ATRF 231 transceiver unit. It has two LEDs for rudimental debugging output. It has four user buttons which can be integrated in standard light switch casings. With exception of the form factor, the node design is close to the one of the IRIS motes [5]. 18 Fig. 2. (a) Single PoE attached node unit Fig. 3. (b) Grid Example Deployments C. Testbed Setups With their standard Ethernet adapter, the support nodes allow a rapid deployment of nodes to construct a test network. We consider two deployments in this project (see Fig. 3). To evaluate the standard use case, we deploy the node units in a university building by just utilizing free PoE sockets in each room. To further evaluate an extreme setting of many nodes collocated in the same collision domain we assembled six 4x12 grids of 1.3 m × 0.5 m size. In each grid the single units are attached to a 48 port PoE switch. This allows easy integration of such grids into an Ethernet LAN. Fig. 4. Example Network with MIS Clustering. Filled circles represent cluster heads, unfilled circles represent cluster members and triangles represent gateways IV. S OFTWARE A. TinyOS Porting We ported TinyOS to our platform to benefit from its reusability and transparent programming model. TinyOS enabled us to unit-test central parts of our system in the TinyOS simulator TOSSIM, as well as produce hardware independent code. Our hardware platform closely resembles the Iris platform, using identical microcontrollers and radio chips. Because of that, we could reuse much of the existing TinyOS codebase and only had to write adapter-code where our platform differs. One large difference to other TinyOS platforms is the onchip bootloader mechanism. Our platform uses the UART1 for the on-chip bootstrap loader, as well as for communicating with the connected support nodes. Because of that, we had to adapt the low level driver code of TinyOS to support both functionalities in parallel. To activate the bootloader on the microcontroller two magic bytes have to be received: the first one writes a flag byte into EEPROM, the second reboots the microcontroller. Upon reboot, the bootloader is executed first, looks for the flag byte in the EEPROM and upon finding it, listens for the incoming image on the UART. If the bootloader does not find the flag byte in the EEPROM, it executes the main program. Since the bootloader is activated by two magic bytes sent over the UART by the support node, we had to insert a byte-escaping mechanism into the UART communication stack of TinyOS. This prevents normal communication data to accidentally trigger the bootloader. B. Network Control As broadcast traffic is our biggest concern, we chose to thin out the network topology. That reduces redundant retransmissions and the risk of collisions. We realize the thin topology by building a connected dominating set (CDS) on top of the network topology. A dominating set (DS) is a subset of nodes such that each node is either in the subset, or is a neighbor of a node in the DS. A CDS is a DS where the subset of nodes forms a connected graph. We realize the CDS by building a maximal independent set (MIS) clustering and by choosing gateways to connect the cluster heads. The MIS gives us a set of nodes, called cluster heads, such that each node is either cluster head or one-hop neighbor of a cluster head and no two cluster heads are one-hop neighbors of each other. The gateways are necessary to build connections between the cluster heads. Figure 4 shows an example. We chose a MIS-clustering approach in our project, because it can be built based on local decisions. Even repairing the structure upon node failures or link failures can be done locally. Thus, the approach scales well for large networks. Building the MIS is done with a simple contention-based local decision rule. If a node is a one-hop neighbor of a cluster head, it becomes a member of this cluster head. Otherwise it becomes cluster head. For finding gateways to build up connections between clusters, each cluster head starts a discovery to find the clusters that can be reached with at most three hops. The CDS structure may be destroyed if nodes fail due to depleted batteries or if links fail due to slow fading for amounts of time that are significantly longer than a packet transmission time. In these cases the MIS structure and the gateway paths need to be repaired. To keep up the MIS structure, nodes can periodically check if they can still reach their cluster head. If not, they search for other cluster heads in their one-hop neighborhood. If they find any, they join as member, otherwise they become cluster heads. Keeping up the gateway structure is done by periodic rediscovery. C. Testbed Control The testbed is controlled by communicating with the support nodes. As these nodes are powered and interconnected via Ethernet, PoE switches are needed for the communication infrastructure. Upon power-up the support nodes use DHCP to form an IP network. Once the network is established, the nodes can be controlled via a custom protocol, encapsulated in UDP Packets. To control the nodes, a computer first has to announce its presence by a broadcast packet, upon which all support nodes register themselves to that computer, which in turn assigns them special IDs. These ID’s can later be used by the controlling computer to send multicast messages to the network of support nodes. All messaging over the support node’s IP network happens via UDP packets, which encapsulate our custom protocol. The following operations are currently supported by the protocol: 1) Discovery: is the function where the controlling computer sends out a broadcast, upon which support nodes respond with a registration request which is answered with and ID assignment by the computer. 19 2) Reset: is a simple software-reset for the whole unit of support and sensor node. 3) Identify: An LED on the sensor node can be switched on and off over the network to visually find and identify a node. 4) UART Tunnel: The sensor nodes are coupled to the support nodes via a UART bridge which can be used to communicate with the software on the sensor node. 5) Firmware Update: Via the UART bridge the support node also puts the sensor nodes into bootloader mode and sends new firmware images to it. To control a network of support nodes via this protocol, we have developed a library in the Python programming language. The library centers around a language for describing packet structures in a C-like fashion, which is embedded into Python. The library realizing this embedded language works standalone and can also be used for other message protocols. Figure 5 shows how a message can be specified by using a simple C struct. The example in Figure 6 shows how such a message format can then be specified in Python. Once specified, the message structure can then be used to encode and decode binary data. struct message { uint8_t id; uint8_t len; uint8_t data[MAX_LEN]; }; Fig. 5. A message specified using a C struct from striptease import Struct, uint8 message = Struct().append( uint8(’id’), uint8(’len’), uint8(’data’)[’len’], ) Fig. 6. A message specified using the striptease library V. C ONCLUSION In this work we summarized the hard and software developed in the LightOn project, a joint project between the University of Paderborn and the Insta Elektro GmbH. Though there are sensor network nodes available on the market, the specific needs in this project and also a desired vendor independence of the building automation product produced by the industry partner drove us to develop our own hardware. The sensor actor node part is close to the IRIS Mote architecture. The combination of the sensor actor nodes with the support node goes beyond this architecture. As one node unit it turns out to be very practicable when it comes to real testbed deployments. Though the nodes were developed with the project specific requirements in mind, they are generic enough to support 20 other research projects as well. We see them as a possible contribution for other researchers who want to rapidly set up indoor testbed deployments. The hardware including the TinyOS port can be ordered by contacting the authors of this work. Circuit layout and source code can on request be provided as confidential information. Our solution requires that Ethernet with PoE is available. In industry or university buildings a Ethernet infrastructure is most commonly available. Even if PoE is not supported, switches in the infrastructure can easily be replaced by PoE supporting switches. If replacing switches is not an option, PoE adapters can be used where the node units are plugged into the infrastructure. This requires however a power plug close by the node is deployed. ACKNOWLEDGEMENTS This work is funded in part by the BMWi/AiF ZIM research grant LightOn, grant number KF2071406KM9, a cooperative research project of the University of Paderborn and the Insta Elektro GmbH. R EFERENCES [1] [2] [3] [4] [5] EnOcean Alliance. www.enocean-alliance.org. INSTEON. www.insteon.net. IO-homecontrol. www.io-homecontrol.com. KNX Association. www.knx.org. MEMSIC: Wireless Modules, IRIS, MicaZ, TelosB, Imote2, Cricket. www.memsic.com. [6] Wavenis Open Standard Alliance. www.wavenis-osa.org. [7] ZigBee Alliance. www.zigbee.org. [8] Z-Wave. www.z-wave.com. INGA - Architektur eines universell einsetzbaren Sensorknotens Ulf Kulau Felix Büsching Institut für Betriebssysteme und Rechnerverbund TU Braunschweig Email: [email protected] Institut für Betriebssysteme und Rechnerverbund TU Braunschweig Email: [email protected] Wolf-Bastian Pöttner Lars Wolf Institut für Betriebssysteme und Rechnerverbund TU Braunschweig Email: [email protected] Institut für Betriebssysteme und Rechnerverbund TU Braunschweig Email: [email protected] Ausgangspunkt für unsere Arbeit war eine Analyse vorhandener und frei erhältlicher Sensorknoten. Da wir in mehreren Projekten ”Contiki” als Betriebssystem einsetzen, fiel ein besonderes Augenmerk bei der Analyse auf den weit verbreiteten TMote Sky und auf den Atmel AVR Raven. Im FP7-Projekt GINSENG [1] sind wir des Öfteren an die Grenzen des adressierbaren Speichers des MSP430 Microcontrollers im TMote Sky gestoßen und auch der Energiebedarf dieses Knotens ist verhältnismäßig hoch. Beim GAL-Projekt [2] und den dort verwendeten AVR Raven Sensorknoten störten die Größe, die schlechte Handhabbarkeit und das ungeeignete Sensorset. Letztendlich haben wir uns für eine Basis-Architektur bestehend aus einem AVR Amega1284p und einem AT86RF231 entschieden. In Hinblick auf den Einsatz des Sensorknotens in Forschung und Lehre, ist die große AVR Community, welche den Einstieg in die Programmierung erleichtert, ein weiteres Argument für unsere Entscheidung. Die Auswahl der Sensorik richtet sich primär an Anforderungen aus dem medizinischen Umfeld: Zum Messen von Beschleunigungen wird ein Accelerometer eingesetzt, welches die Kraft, die auf eine seismische Masse wirkt, in drei Dimensionen quantifiziert. Damit lassen sich Bewegungen und Bewegungsabläufe erkennen, die ein Körper vollzieht, an welchem der Sensor befestigt ist. Auf diese Weise lassen sich Stürze erkennen oder auch Ganganalysen durchführen. Da jeweils auch die Erdbeschleunigung gemessen wird, lässt es sich auch für eine Lagebestimmung nutzen. Zur genaueren Lagebestimmung und Erkennung von Richtungsänderungen SPI UART / USB UART / USB FTDI232 FTDI232 UART0 Flash Flash Memory Memory AT45DBxx1 AT45DBxx1 I/O MCU / CPU MCU / CPU ADC ADXL345 ADXL345 Pressure / Temp Pressure / Temp Sensor Sensor BMP085 BMP085 UART0 RX/TX Gyroscope Gyroscope L3G4200D L3G4200D GPIO / ADC Power Power Monitoring Monitoring Acceleration Acceleration Sensor Sensor I²C Bus ATmega1284p ATmega1284p Battery Charger Battery Charger MicroSD MicroSD Card Card MSPI Bus AREF I. E INLEITUNG Transceiver Transceiver 802.15.4 802.15.4 AT86RF231 AT86RF231 User LEDs User LEDs User Switch User Switch JTAG Header JTAG Header PCB Antenna PCB Antenna MSPI Chip Select Abstract—Nachdem wir einige Erfahrung auf dem Gebiet der drahtlosen Sensornetze gesammelt haben, haben wir uns entschieden, einen weiteren – eigenen – Sensorknoten zu entwickeln. Ziel war es dabei, die Stärken vorhandener Sensorknoten möglichst zu kombinieren und die Schwächen zu minimieren. Außerdem war es uns wichtig, ein Set an aktuellen Sensoren anzubinden, welche eine Aktivitäts- und Bewegungsüberwachung erlauben. Heraus kam dabei INGA - ”Inexpensive Sensor Node for General Applications”. Pin Header (2.54mm) Pin Header (2.54mm) Fig. 1. Architektur von INGA. kommt ein micromechanisches Kreiselinstrument zum Einsatz. Das verwendete Gyroskop kann Änderungen von bis zu 2000 Grad pro Sekunde in drei Dimensionen detektieren. Ebenfalls zur Ganganalyse, bzw. zur Aktivitätserkennung kann der Luftdrucksensor verwendet werden; er ist in der Lage, Luftdruckänderungen im Bereich von bis zu 0,01 hPa zu registrieren, was einer Höhenänderung im Bereich von wenigen Zentimetern entspricht. Zur Temperaturkompensation ist ein Temperatursensor integriert, was auch die Bestimmung des absoluten Luftdrucks erlaubt. II. A RCHITEKTUR In Abbildung 1 ist ein Blockschaltbild des INGA Sensorknotens zu sehen: Herzstück ist die ATmega1284p MCU, die auch beim Atmel AVR Raven zum Einsatz kommt. Als Funktransceiver kommt hier aber der neuere und leistungsfähigere AT86RF231 zum Einsatz, der unter anderem auch eine Hardwareunterstützung für AES bietet. A. PCB-Antenne Die Sendereichweite der AVR-Raven hat sich in unseren Untersuchungen als sehr gut herausgestellt. Da eine 21 micro SD micro SD C. Power Management und Monitoring Sobald INGA von der USB - Schnittstelle getrennt wird, besteht keine Notwendigkeit mehr, den FTDI232 weiterhin mit Spannung zu versorgen. Die kontrollierte Ladung des Lithium-Ionen-, bzw. Lithium-Polymer-Akkus erfolgt durch einen Maxim Max1555, welcher maximal 100mA Ladestrom aus dem USB abzieht, um einen 1 Zellen Akku aufzuladen. Das Design sieht alternativ eine Versorgung über ’normale’ Batterien bzw. andere externe lineare Spannungsquellen vor, wobei Batterien durch eine Diode vor parasitären Ladeströmen geschützt werden. Eine interne Temperaturkontrolle reduziert bei zu hoher Chiptemperatur den Ladestrom, sodass eine Beschädigung des Akku vermieden werden kann. Für das Power-Monitoring werden zwei Kanäle des internen ADC des ATmega1284p genutzt, um die Akku- / Batteriespannung sowie den Versorgungsstrom des Sensorknotens über die Zeit zu ermitteln. Hierfür wurde ein Impedanzwandler bestehend aus einem Operationsverstärker durchaus Sinn ergeben, doch in Hinblick auf ein energiesparendes Design würde eine zusätzliche Belastung des Akkus die Folge sein. Die minimalistische Lösung eines hochohmigen einfachen Spannungsteilers ist durch die hohe Eingangsimpedanz des ADC möglich und daher vorzuziehen. D. MSPI-Bus Der USART des ATmega1284p kann alternativ als MSPI (Master SPI) genutzt werden. Die MCU (ATmega1284p) dient dabei als Master und hat die Aufgabe den jeweiligen Kommunikationspartner (Slave) über eine Chip-Select Leitung (CS) explizit auszuwählen, sowie den Takt (SCK) zur synchronen Datenübertragung zu generieren. Für jeden Slave wird demnach eine eigene Chip-Select-Leitung benötigt, sodass der Verdrahtungsaufwand bei 3+n liegt. Um den Aufwand an GPIOPins der MCU zu reduzieren, wird im INGA ein 22 USART1 MSPI MCU / CPU MCU / CPU Atmega1284p Atmega1284p SCK SDO SDI CS SCK SDO SDI CS SCK SDI SDO CS Flash Memory Flash Memory AT45DBxx1 AT45DBxx1 Acceleration Acceleration Sensor Sensor ADXL345 ADXL345 Tri Sate Buffer Tri Sate Buffer Enable MOSI MOSI MISO MISO SCK PA5 PA6 1of8 demultiplexer 1of8 demultiplexer PA7 Ext. SPI Interface Ext. SPI Interface Der UART kann zur Kommunikation mit einem HostPC verwendet werden, wovon auch beim INGA Gebrauch gemacht werden soll. Die Designanforderungen des INGA sehen deshalb eine Unterstützung der USB Schnittstelle vor, welche durch ein FTDI232, einem UART-USB-Konverter, realisiert wird. Diese Lösung findet sich u.A. auch im Tmote Sky wieder und bietet mehrere Vorteile:Mit der Fähigkeit des ATmega1284p, den UART mittels eines Bootloaders als Schnittstelle zur Programmierung des Programmspeichers zu nutzen, kann somit die USB-Schnittstelle des INGA sowohl zur Kommunikation (z.B. Debug-Ausgaben printf ) wie auch als Programmierschnittstelle genutzt werden. Die vom USB gelieferte Leistung wird außerdem genutzt, um über einen Laderegler den LiPo-Akku des INGA aufzuladen. Enable PORT A I/O B. UART/USB Interface Vcc ’gedruckte’ PCB-Antenne noch dazu billig ist, haben wir uns entschieden, dieses Antennenlayout einfach aus den Designrichtlinien von Atmel zu übernehmen. Als Nachteil kann hier jedoch die Größe gesehen werden: knapp die Hälfte des Sensorknotens ist ”Antenne”. SCK CS3 CS4 PA4 Fig. 2. Der MSPI-Bus. Demultiplexer eingesetzt, sodass für n Slaves lediglich i = log2(n) I/O-Pins verwendet werden müssen. Das Logik-IC 74LCX138 leistet das gewünschte Verhalten eines 1-of-8 Demultiplexers mit lowaktiven Ausgangspins zur Selektion der einzelnen Slaves. Nach Auswahl des Slave über die Chip-Select Leitung, wird auf der MOSI Leitung (Master Out Slave In) die Adresse des Registers übertragen, welches man lesen oder schreiben möchte. Je nachdem, ob es sich dabei um einen Lese- oder Schreibzugriff handelt, werden anschließend taktsynchron Daten vom Master an das Slaveregister gesendet (MOSI), oder der Slave sendet ebenfalls taktsynchron Daten über die MISO Leitung (Master In Slave Out) an den Master. Die Übertragung wird durch das lösen der Chip-Select Leitung beendet. Die auf dem INGA eingesetzten Slaves sind ein Flash-Speicher (AT45DBxx1 series), ein Beschleunigungssensor ADXL345 und ein Slot zur Verwendung einer microSD Karte. Zusätzlich sind das MSPI und zwei weitere Chip-Select Leitungen auf das User-Interface geführt und ermöglichen bei Bedarf den Anschluss weiterer Slaves (vgl. Abbildung 2) in Form von Sensoren, Speichern oder anderer SPI kompatibler Komponenten. E. Micro-SD-Card Zusätzlich zum internen Speicher der MCU und des onboard-Flash-Speichers ist als flexibles Speichermedium die Möglichkeit zur Verwendung von microSD Karten vorgesehen. Neben dem Vorteil eines austauschbaren Datenträgers, ist eine microSD Karte als Consumer-Produkt sehr gut verfügbar und lässt sich über das integrierte SPI Interface komfortable in ein Mikrocontrollersystem integrieren. Dennoch ist die Verwendung einer microSD Karte nicht vergleichbar mit anderen SPIfähigen Komponenten und gerade im mobilen Einsatz stellt sich die Frage, wie man die hohe Leistungsaufnahme (Isd ¡ 45mA) der microSD Karte begrenzen kann. Ein Problem mit dem SPI der microSD Karte entsteht dann, wenn sich mehrere Slaves den Bus teilen. Zur Initialisierung müssen an die microSD Karte mindestens 74 Takte auf der SPI Taktleitung (SCK) gesendet werden, allerdings bei Nichtaktivierung des Chip-Select[42]. Nun ist es aber so, dass sich klassischerweise alle am Bus befindlichen Komponenten die Signalleitungen MOSI, MISO und SCK teilen, sodass der Fall von Takten auf der SCK-Leitung bei nicht gewählter microSD Karte durchaus SDA Ext. SPI Interface Ext. SPI Interface Atmega1284p Atmega1284p Pressure and Pressure and Temperature Temperature Sensor Sensor BMP085 BMP085 SCL SCL TWI I²C MCU / CPU MCU / CPU SDA Gyroscope Gyroscope L3G4200D L3G4200D SDA SCL Fig. 3. SDA SCL Der I2 C-Bus. eintritt. Eine einfache Möglichkeit, welche auch das Problem der hohen Leistungsaufnahme löst, ist das Abschalten der Versorgungsspannung bei Inaktivität. Leider zeigt sich, dass microSD Karte aufgrund des internen Aufbaus ihres Interfaces auch über ihre I/O-Leitungen mit Strom versorgt werden kann. Mit einem Tri-State Buffer ist es möglich, die microSD Karte komplett vom Bus zu isolieren, da dieser wahlweise einen hochohmigen Zustand annehmen kann. In Abbildung 2 ist diese Lösung schematisch illustriert. F. I2 C-Bus Der zweite im INGA eingesetzte Peripherie-Bus ist der I2 C. Im Gegensatz zum MSPI ist der Leitungsaufwand deutlich geringer, da unabhängig von der Anzahl eingesetzter Slaves, lediglich zwei Leitungen (Serial Data (SDA), Serial Clock (SCL)) zur Auswahl eines Slave und zur bidirektionalen Kommunikation benötigt werden. Ein Slave wird dabei mittels einer 7 Bit breiten Adresse ausgewählt. Die auf dem INGA eingesetzten Slaves sind ein 3-Achsen Gyroskop mit integriertem Temperatursensor (L3G4200D) und ein Luftdrucksensor (BMP085), welcher ebenfalls über einen internen Sensor zur Temperaturmessung verfügt. Zusätzlich sind SCL und SDA auf das User-Interface geführt und ermöglichen bei Bedarf den Anschluss weiterer Slaves (vgl. Abbildung 3) in Form von Sensoren, Speichern oder anderer kompatibler Komponenten. III. AVRDUDE KOMPATIBLER B OOTLOADER Die klassische Variante, ein kompiliertes Programm in den On-Chip Flash - Programmspeicher eines AVR Mikrocontrollers zu schreiben oder auszulesen (Upload / Download), ist die Benutzung des ISP (in System Programmer) oder der JTAG (Joint Test Action Group) Schnittstelle. Beide Methoden setzen jedoch den Einsatz einer separaten Hardware voraus,was einen zusätzlichen Kostenaufwand und Umstand bedeutet. Des Weiteren ist ein Update von im Feldversuch eingesetzten Sensorknoten immer mit einem relativen Aufwand verbunden, da der Sensorknoten und ein entsprechender Programmieradapter lokal verfügbar sein müssen. Die Fähigkeit von AVR Mikroprozessoren zur Nutzung eines bestimmten Bereiches ihres Programmspeichers als Bootloader-Section, bietet eine sehr flexible Basis, um auch zukünftige Anforderungen erfüllen zu können. Auch das Problem der lokalen Verfügbarkeit eines Sensorknotens für ein Softwareupdate, lässt sich somit erschlagen, indem zukünftig ein Wireless-Softwareupdates realisiert werden kann. Ein Anforderung an den Bootloader ist die Kompatibilität zum Host Programm AVRDUDE. Dies ist ein plattformunabhängiges Open Source Programm, welches die Übertragung eines kompilierten Programmes auf dem Mikrocontroller koordiniert und verifiziert. Ein weiterer Vorteil ist die direkte Integration in eine Entwicklungsumgebung (u.A. Eclipse), sodass durch den Bootloader ein Programmieren des INGA via USB direkt aus der Entwicklungsumgebung möglich wird. Als eigentlicher Flaschenhals kristallisierte sich die standardmäßig geringe Übertragungsrate des UART heraus. Aufgrund der asynchronen Übertragung ist das Zeitverhalten des UART wichtig für eine fehlerfreien Übertragung, da lediglich ein Startsymbol den Beginn einer Übertragung signalisiert und die Abtastung aufgrund der vereinbarten Baudrate stattfindet. Nicht jede Baudrate wird von einem Host unterstützt, sodass man sich an den standardisierten Übertragungsraten orientieren muss, wenn man die Übertragungsgeschwindigkeit seitens des Mikrocontrollers erhöhen möchte. Genau dabei entsteht allerdings ein Problem, den die Baudrate des UART ist abhängig von der Taktfrequenz des Mikrocontrollers. Unsere Implementierung einer Optimierung im Bootloader bietet eine um den Faktor 6 schnellere UART-Übertragungsrate, sodass z.B. die Übertragung von Contiki weniger als 5 Sekunden benötigt. IV. E RGEBNIS Eine komplette und ausführliche Darstellung aller Eigenschaften und Besonderheiten von INGA bedarf eines größeren Raumes und wird in naher Zukunft und auch mit ersten Messergebnissen folgen. Nach unserem Ermessen vereint INGA die Vorteile früherer Sensorknoten und ist dabei klein, kostengünstig und stromsparend. Die umfangreiche Sensorik eignet sich besonders zur Aktivitätsüberwachung im medizinischen Umfeld, ist aber genausogut auch universell einsetzbar. ”Contiki” wird als OpenSource-Betriebssystem unterstützt und der Sensorknoten ist als OpenHardware konzipiert, sodass er frei nachgebaut und verändert werden darf. Es kommen nur bleifreie Materialien zum Einsatz und auch auf Produkte aus ”seltenen Erden” (Coltan/Tantal) wurde bewusst verzichtet. Auch wenn wir die Prototypen bestücken lassen haben ist nicht unmöglich, die einzelnen Bauteile selbst zu löten, bzw. die 2-Layer-Platine selber zu ätzen. Alle Pläne und Dateien werden auf den Webseiten des Projekts zur Verfügung gestellt, sodass ein Nachbau bzw. eine Anpassung an eigene Projekte möglich ist. R EFERENCES [1] B. Srean, J. Silva, L. Wolf, R. Eiras, T. Voigt, U. Roedig, V. Vassiliou, and G. Hackenbroich, “Performance control in wireless sensor networks: the ginseng project - [global communications news letter],” Communications Magazine, IEEE, vol. 47, no. 8, pp. 1 –4, august 2009. [2] M. Eichelberg, A. Hein, F. Büsching, and L. Wolf, “The gal middleware platform for aal,” in e-Health Networking Applications and Services (Healthcom), 2010 12th IEEE International Conference on, 2010, pp. 1 –6. 23 24 We Must Move – We Will Move: On Mobile Phones as Sensing Platforms Delphine Christin, Matthias Hollick Secure Mobile Networking Lab Technische Universität Darmstadt, Mornewegstr. 32, 64293 Darmstadt, Germany {delphine.christin, matthias.hollick}@seemoo.tu-darmstadt.de Abstract—Even after more than a decade of research in the field, wireless sensor networks have not yet crossed the chasm: they are still in the early adoption phase and large scale deployments are missing. Sensor network research has long focussed on developing (mostly incremental) improvements on platforms to be, e.g., more simple and/or energy efficient. In this process, the self-imposed limitations led to mainly static deployments of small scale sensor networks. As a result, wireless sensor networks are not yet the commodity envisioned by many researchers in the field of environmental monitoring or pervasive computing. This trend has also impeded research into directions such as mobile sensor networks, which in contrast require platforms with increased complexity. We argue that mobile sensing platforms are well suited for a wide variety of tasks, and they are readily available in the form of mobile phones. We discuss the strengths and limitations of mobile phones against contemporary dedicated sensing platforms and highlight pros and cons in light of realistic application scenarios. I. I NTRODUCTION For more than a decade, researchers have been betting on the imminent deployment of large scale sensor networks and have designed and developed a plethora of solutions to operate these networks. Amongst others, the vision of Berkeley researchers that envisioned ”Smart Dust” [1] has been influencing the WSN research agenda towards a ”race to the bottom”, i.e., constantly decreasing size and energy consumption through increasing hardware integration. At the same time, research has investigated an abundance of protocols for more efficient, e.g., medium access control or duty cycling of sensor platforms. However, this development has not yet led to a widespread deployment of sensor platforms outside highly specialized niche applications; in brief, WSNs are still not a commodity. One can even observe a converse effect: the constant push towards ever more efficient and lightweight sensing platforms has hindered innovation in terms of functionalities and capabilities. Dseployments are mostly static and small scale to allow for maintenance of the sensors, retail prices of off-the-shelf sensing platforms have stagnated, and novel platform designs merely enter the market. Recently, a radically different sensing approach has been proposed: mobile and participatory sensing [2], [3]. Instead of deploying dedicated sensing platforms, mobile phones (smartphones) fulfill the sensing role. In contrast to contemporary sensor platforms, mobile phones have been constantly improving in performance with respect to CPU and memory resources, and communication capabilities. Most notably, the sensors integrated in mobile phones are getting more and more sophisticated. We argue that mobile sensing platforms are well suited for a wide variety of sensing tasks. We introduce two representative scenarios for sensor networks in Section II and discuss the strengths and limitations of mobile phones as well as of dedicated sensor platforms in Section III. We find that multiple factors are in favor of mobile sensing platforms, yet some limitations and constraints have to be acknowledged and require further research. In Section IV, we discuss our findings and conclude this paper. II. S ENSING S CENARIOS Among the wide range of applications, we select two representative scenarios for WSN deployments: personal health monitoring and environmental monitoring. In both scenarios, we compare the utilization of both wireless sensor networks and mobile phones as sensing platforms. We provide examples for deployments for both scenarios and compare the possibilities offered by both kinds of networks. A. Personal Health Monitoring Wireless sensors networks, and more particularly, body area sensor networks (BASNs), are commonly used in healthcare scenarios. Usually, the monitored person wears specialized sensors on her body, which measure physiological parameters, such as blood pressure and body temperature [4], or the body acceleration. The BASN can be completed by static sensors, collecting information about the environment of the monitored person (subject), such as temperature, light, motion, and dust levels (see [5]), and deployed in rooms frequented by the subjects. Both worn and external sensors can be tasked to monitor daily activities, detect movements and track location, detect critical events such as falls of the subjects, or derive their medical status [6]. Concrete applications include assisted living for elderly citizens or home care of recently hospitalized people, who require constant monitoring, but not necessarily in hospitals. The remote monitoring allows these persons to stay in a familiar environment while being kept under observation. These deployments, however, raise some practical issues. Typically, the wearable sensors are resource-constrained devices, which are specially designed to be non-invasive, and 25 thus small in size. The resulting limits in processing capabilities require the introduction of base stations to gather the sensor readings and perform complex event processing. As a result the coverage of the base stations has to be planned, or else provides a virtual barrier for the monitored subject. Moreover, the energy budget of the sensors has to accommodate for constant transmission of critical parameters to the nearest base station. Finally, the monitored people are more likely to reject such additional devices. In comparison, mobile phones have become everyday objects, which are generally familiar to the subjects carrying them. By using the embedded sensors or interfaced sensors (e.g., wearable accelerometers or air pollution sensors), the mobile phones can also be used to monitor physiological state and health issues, without limiting the mobility of the monitored people. One sample application that capitalizes on mobility is MobAsthma [7], which monitors the asthma condition of the subjects and their exposure to pollution. A peak flow meter and a pollution sensor are interfaced to the mobile phone via a Bluetooth connection, and measure the volume of air inhaled and expired along with the surrounding airborne particle concentration. These measurements, coupled with the patients’ location, are made available to allergists to investigate the relationships between asthma attacks and exposure to air pollution. Another example, DietSense [8], assists people, who want to lose weight by documenting their dietary choices through images and sound samples. The mobile phones are worn on necklaces and automatically take images of the dishes in front of the users. The images document the food selection and allow for an estimation of the food weight and waste on the plates. Moreover, the mobile phones capture the context during the meals by recording time of day, location, and sound samples to infer potential relationships between the user behavior and his context. The captured data are uploaded to a personal repository and are accessible by doctors and nutritionists. B. Environmental Monitoring In addition to personal health monitoring, both wireless sensor networks and mobile phones can be tasked to monitor the environment. For examples, sensor nodes can be deployed in indoor or outdoor scenarios to monitor the temperature, brightness, and humidity and measure the ambient conditions. Such deployments remain, however, static and ensure only a limited coverage that can only be determined in advance. Unpredictable events may therefore not be recorded by these sensors. In contrast, mobile phones are carried by the users and hence, offer an unprecedented coverage. This enhanced coverage is particularly of interest to monitor air and noise pollution. For air quality monitoring, the mobile phones are interfaced with external pollution sensors to measure the concentration of e.g., carbon monoxide and ozone in the air [7]. The measurements are timestamped and geotagged before being uploaded to a server aggregating the readings and making them 26 TABLE I OVERVIEW OF THE INTEGRATED SENSORS TelosB Gyroscope Accelerometer Digital compass Proximity/IR sensor Light sensor Camera Microphone Humidity sensor Temperature sensor Sun SPOT x x x x x x x x iPhone 4 x x x x x 2x 2x Nexus S x x x x x 2x 2x available to the public. Similarly, the mobile phones capture sound samples via the embedded microphone to evaluate the surrounding noise level and detect noise pollution,which can, e.g., affect human health and behavior [9]. III. A DOPTION A SSETS : A T RILOGY OF FACTORS In this section, we analyze and discuss the key factors in favor of an adoption of mobile phones as sensing platforms. A. Technical Factor We compare commonly used sensor nodes, TelosB [10] and Sun SPOT [11], to current mobile phones, iPhone 4 [12] and Nexus S [13], based on their technological features and their dissemination1 . 1) Embedded Sensors: Table I lists the sensors integrated in each platform and shows that the off-the-shelf mobile phones present a larger number of embedded sensors than the dedicated sensing platforms. Except for the proximity sensor, the light sensors, and the accelerometers, the sensor modalities of the sensor nodes and the mobile phones do not overlap. While the sensor nodes capture primitive data types, the mobile phones collect complex data types, such as sound samples or pictures, able to provide rich information about their environment. Even if mobile phones are originally not equipped with sensors required by a particular application, such as pollution sensors, these sensors can be easily interfaced via Bluetooth. In comparison, extending the sensing capabilities of the dedicated sensor nodes requires additional efforts and may be limited or even impossible due to the scarce resources of the sensor nodes. Furthermore, both mobile phones include positioning systems (e.g., assisted GPS, digital compass, Wi-Fi, and cellular triangulation), which enable automatic annotation of the sensor readings with the location of their capture without the need for external positioning systems. 2) Processing, Storage, and Energy Resources: The mobile phones are resourceful in terms of processing and storage. They are equipped with powerful processors and a substantial amount of memory, as shown in Figure 1 and 2. These resources allow for complex processing on device, which extends the range of possible sensing applications. Note that the Sun SPOT can be considered as an exception, since it 1 While no actual deployment numbers where available for the dedicated sensor nodes, the growth in smartphone sales has been impressive; in Q2/2011 more than 20 million iPhones have been sold according to Apple Inc. RAM 16 GB Flash (Data) 16 GB 5GB Memory 512 MB 512 MB GSM/CDMA IEEE 802.11 Bluetooth NFC IEEE 802.15.4 50MB 8 MB 1 MB TelosB sunspot iphone 4 nexuss TABLE II 1,00E+04 1,00E+06 5,12E+08 5,12E+08 S UPPORTED WIRELESS TECHNOLOGIES 1,00E+06 8,00E+06 1,60E+10 1,60E+10 1 MB 500 kB TelosB Sun SPOT x x iPhone 4 x x x Nexus S x x x x 10 kB 5 kB TelosB Sun SPOT iPhone 4 Nexus S Platform Fig. 1. Comparison of available memory (logarithmic scale) TelosB [10] Battery lifetime Sun SPOT [11] iPhone 4 [12] Nexus S [13] Resources systems for TelosB platform include the TinyOS and Contiki operating systems, while the iPhone runs the iOS operating system. Mobile phones offer thus a similar diversity in terms of programming languages compared to sensor nodes. Depending on personal preferences or requirements of the applications, the developers can therefore select Java-based or C-based programmable devices. Note that the developer community, in particular for mobile phone applications, is constantly increasing and advanced integrated development environments cater to the developers needs. As a result, the marketplaces of iOS and Android have been seeing unparalleled growth2 , while applications for sensor nodes are still mostly available in the academic domain. Fig. 2. Comparison of available resources in function of the battery lifetime B. Human Factor has been mainly conceived as a research platform with CPU and memory being substantially more powerful than in other sensor nodes. However, the computing resources come at the cost of energy consumption. Typical standby lifetimes of mobile phones are up to 300 hours for the iPhone 4 and up to 428 hours for the Nexus S in 3G networks, according to the manufacturers. In comparison, the battery of sensor nodes in an energy-aware deployment can last up to years. Nevertheless, mobile phones are functional objects, whose primary function is to provide telephony or Internet services and not to sense. The users are already used to frequently recharge them and perform updates to benefit from their primary functionalities, thus catering for the provision of energy and basic maintenance without further efforts. In any case, constantly active sensing applications on mobile phones should be designed in an energy efficient fashion to minimize the effects on battery life. 3) Wireless Technologies: Table II illustrates the variety of the wireless technologies integrated in the surveyed sensing platforms. Both mobile phones support at least three communication standards that are widely deployed, while the sensor nodes only support the IEEE 802.15.4 standard, specially tailored for their scarce resources. Even if solutions to connect sensor nodes to the Internet have been proposed, e.g., in [14], they still demand efforts for the developers to be integrated in the considered deployment. Additionally, the Bluetooth standard enables to easily extend the set of sensors by interfacing external sensors. 4) Operating Systems and Programming Languages: Both the Nexus S, which runs the Android operating system, and the Sun SPOT are based on the Java programming language extended by specific libraries. In comparison, the TelosB and the iPhone are programmed using variants of the C programming language, NesC and Objective-C, respectively. Operating The technical factor is usually considered as a key criterion in the development of a new sensing applications, while the human factor is often relegated to a second rank. This is however a determinant factor for the acceptance of the application and thus, its overall performance. Indeed, monitored people might turn off the sensing platform, either unconsciously by forgetting to charge the battery, or consciously, if, e.g., they feel their privacy intruded. In this section, we thus examine how both dedicated sensor nodes and mobile phones impact on the human factor and discuss their consequences on the application performance. 1) Acceptance and Unobtrusiveness: With over 5 billion mobile phone subscriptions worldwide [15], mobile phones are part of our daily life and have been accepted by the population at large. This level of acceptance provides for an unprecedented coverage and mobility. The mobile phones are commonly carried by their users while, e.g., commuting, and, hence, naturally follow the flow of the population. In comparison to static sensor nodes, this allows for additional coverage and monitoring of unplanned events. Besides, it opens the doors for novel application scenarios, where the sensing process is not only focused on a unique person or her environment, but on relationships between multiple people, and also their relationships with their environment. People are used to handle them, charge their batteries, and their utilization does not demand additional comprehension efforts. On the other side, the TelosBs and the Sun SPOTs are specialized devices dedicated to a unique task, namely sensing. The large public may not be familiar with them, as they are primarily 2 According to the Apple quarterly report in Q2/2011, there are more than 425,000 apps in the iOS App Store, which served more than 15 billion downloads since its opening in July 2008. 27 deployed in research projects or small scale applications, such as building and factory automation. 2) Interactivity, Involvement and Visibility: The possibilities offered by dedicated sensor nodes for the users to interact with are typically insufficient. They mainly consist of, e.g., LEDs, switches, or analog inputs, whose usability is inappropriate for non-expert users. Elaborated sensor nodes can be extended by additional displays to increase their usability. They however require additional design and development efforts for the application developers and only support unidirectional information flow, mainly from the sensor node to the users. On the contrary, mobile phones support off-the-shelf bidirectional interactions between both the sensors and the users. They offer multiple usable modalities to interact with, such as touch screens, keyboards, or vocal recognition. Users can therefore easily control and get feedbacks from the sensing applications. Such interaction possibilities allows for involving the users in the sensing loop. Without even considering active participation of the users in the sensing process (which may rapidly become burdensome for the users), the participants can be encouraged to participate and contribute to sensing campaigns by introducing reward programs. Besides, the online marketplaces for apps and their exponentially growing market offer an unprecedented visibility for sensing application sensing. Using these services, the application developers can easily come into contact with millions of people and democratize sensing applications. C. Economical Factor Considering the retail prices, TelosB and Sun SPOT appear to be cheaper than the mobile phones. At the time of writing, in the German market, their current prices oscillate around 200 EUR for the TelosBs and 300 EUR for the Sun SPOTs (i.e., a kit of one base station and two SPOTs), while the Nexus S and the iPhone 4 cost around 500 EUR and 600 EUR (without any telephony/Internet subscription), respectively. However, the deployment of sensor nodes typically requires a specific investment due to the specialization of the platforms. In contrast, the mobile phones can be configured to perform additional tasks: sensing applications can exploit the already deployed mobile phones for their campaign, thus virtually reducing the deployment costs to zero. IV. D ISCUSSION AND C ONCLUSIONS In this paper, we have compared both dedicated sensor platforms and mobile phones, according to three factors: the technical factor, the human factor, and the economical factor. In summary, we have shown that mobile phones feature a larger number of embedded sensors, support more wireless standards, excel in computing resources and have a more active developing community, the combination of which makes them ready for mobile sensing application support. The technological features come at the price of the higher energy consumption, which represents one of the most important weaknesses of the mobile phones. Despite their interesting capabilities, they require frequent charges of their batteries, 28 limiting their autonomy and preventing long-term deployments in hazardous or difficulty accessible zones. The analysis of the recent mobile phones on the market shows a trend to embed as much technologies as possible, without regards to energy consumption. Yet, even if this trend continues, the human centered design of mobile phones is expected to ensure that the charging cycle is appropriate and not shorter than once in 24 hours. The role of mobile phone application developers is to conceive energy-aware applications, algorithms or protocols, avoiding an exhaustion of the batteries within few hours. Furthermore, the mobile phones are already deployed, accepted by a large public, and offer interaction possibilities, which remain impossible with dedicated sensor nodes. In conclusion, mobile phones represent interesting sensing platforms, which open new perspectives for sensing applications. Their adoption is however still in its infancy and requires further research. We believe that a closer link to the wireless sensor network community will prove key to the success of mobile sensing platforms. ACKNOWLEDGMENT This work was supported by CASED (www.cased.de). R EFERENCES [1] B. Warneke, M. Last, B. Liebowitz, and K. Pister, “Smart Dust: Communicating with a Cubic-millimeter Computer,” Computer, vol. 34, no. 1, pp. 44–51, 2001. [2] J. Burke, D. Estrin, M. Hansen, A. Parker, N. Ramanathan, S. Reddy, and M. Srivastava, “Participatory Sensing,” in Proceedings of the 1st Workshop on World-Sensor-Web (WSW), 2006, pp. 1–5. [3] A. Campbell, S. Eisenman, N. Lane, E. Miluzzo, and R. Peterson, “People-centric Urban Sensing,” in Proceedings of the 2nd Annual International Wireless Internet Conference (WICON), 2006, pp. 18–31. [4] M. Hanson, H. Powell, A. Barth, K. Ringgenberg, B. Calhoun, J. Aylor, and J. Lach, “Body Area Sensor Networks: Challenges and Opportunities,” Computer, vol. 42, no. 1, pp. 58–65, 2009. [5] A. Wood et al., “Context-Aware Wireless Sensor Networks for AssistedLiving and Residential Monitoring,” IEEE Network, vol. 22, no. 4, pp. 26–33, 2008. [6] H. Alemdar and C. Ersoy, “Wireless Sensor Networks for Healthcare: A Survey,” Computer Networks, vol. 54, no. 15, pp. 2688–2710, 2010. [7] E. Kanjo, J. Bacon, D. Roberts, and P. Landshoff, “MobSens: Making Smart Phones Smarter,” IEEE Pervasive Computing, vol. 8, no. 4, pp. 50–57, 2009. [8] S. Reddy, A. Parker, J. Hyman, J. Burke, D. Estrin, and M. Hansen, “Image Browsing, Processing, and Clustering for Participatory Sensing: Lessons from a DietSense Prototype,” in Proceedings of the 4th Workshop on Embedded Networked Sensors (EmNets), 2007, pp. 13–17. [9] R. Rana, C. Chou, S. Kanhere, N. Bulusu, and W. Hu, “Ear-Phone: An End-to-end Participatory Urban Noise Mapping System,” in Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN), 2010, pp. 105–116. [10] “TelosB Datasheet,” Online: http://www.memsic.com (accessed in July 2011). [11] “Sun SPOT Main Board Technical Datasheet,” Online: http://www. sunspotworld.com (accessed in July 2011). [12] “iPhone 4 Technical Specifications,” Online: http://www.apple.com (accessed in July 2011). [13] “Nexus S Tech Specs,” Online: http://www.google.com (accessed in July 2011). [14] A. Dunkels, “Full TCP/IP for 8 Bit Architectures,” in Proceedings of the 1st ACM/Usenix International Conference on Mobile Systems, Applications and Services (MobiSys), 2003, pp. 85–98. [15] GSM World, “Global GSM and 3GSM Mobile Connections,” Online: http://www.gsm.com (accessed in July 2011). Reasons for priority-based Medium Access in Wireless Sensor Networks Alexander Klein and Lothar Braun Lehrstuhl für Netzarchitekturen und Netzdienste Technische Universität München Email: [email protected] Abstract—The trend towards heterogeneous wireless sensor networks and cyber-physical systems results in new challenges for the communications protocols. The co-existence of these networks can result in an unacceptable performance decrease if they interfere with each other or share the same radio channel. Especially, in the latter case, priority-based medium access with Quality of Service (QoS) guarantees is required to assure that the different networks can accomplish their tasks. In this paper, we introduce different use cases and priority strategies. Furthermore, the advantages and drawbacks of current solutions are discussed. transmissions of nodes with less important periodic data traffic affect the performance of the high priority traffic. Therefore, it is important that the MAC protocol supports priority-based medium access to mitigate or overcome this issue of varying traffic load and priority. This paper is organized as follows. An introduction to different use cases and priority strategies is given in Section II. In Section III, the advantages and drawbacks of two different solutions are discussed. Finally, we conclude in Section IV. I. I NTRODUCTION Priority-based medium access mechanisms become more and more important in the area of Wireless Sensor Networks (WSN) since networks do not only focus on a single application. The latest generation of WSNs usually performs various tasks at the same time, e.g. sensing of temperature, pressure or stress and strain. The sensor nodes either periodically transmit the sensed data or only start to communicate as soon as a certain threshold is exceeded. The priority of the generated data then depends on the corresponding application, the type of the sensed data and the sensed value. Consider a sensor network for Structural Health Monitoring where nodes periodically sense temperature and stress strain of critical components. The sensed data can be transmitted with the same priority to a data sink as long as no threshold is exceeded. However, in the case that a fire is detected due to high temperature increase, the data packets containing temperature values should have a higher priority in order to track the fire. On the other hand, the stress and strain measurements will be of higher importance during an earthquake to estimate the lifetime of critical components or to initiate an alert. Some events, like a fire, are often limited to certain area and are thus only detected by a small number of nodes. These nodes should have a higher medium access priority in case of an emergency to minimize the time to initiate countermeasures. In addition, it is very common that nodes start to sense the corresponding phenomena more frequently to provide better knowledge about the event. This behavior results in a higher data rate which should be taken into account by the Medium Access Control (MAC) protocol. Event-driven data traffic [1] represents a serious issue in dense sensor networks where nodes also transmit periodic data traffic since the low power transceivers are very limited in their sensing capabilities [2]. Due to the shared medium, II. U SE C ASES AND P RIORITY S TRATEGIES QoS requirements are defined by a WSNs’ target application. In Section I, we briefly introduced several application examples with different QoS requirements. A more general view on the requirements of several application scenarios can lead to basic strategies for prioritized medium access. We will discuss the general requirements of these classes in Section II-A, and discuss the basic medium priority access strategies that emerge from these requirements. Afterwards, we present QoS strategies that can be used to implement concrete priority access schemas for several applications in Section II-B. A. Medium Access Priority Classes Priority based medium access requirements and strategies can be divided into two groups. The first group of application requirements can be seen in an application that requires Static Medium Access Priority. Such static requirements can be found in simple WSNs where many nodes are deployed that fulfill different tasks which are assigned different priorities. Task priorities can be assigned during node configuration before the network is deployed. One advantage of static priorities is that the behavior of the network is highly predictable: The node with the highest priority is able to access the medium immediately in case of a free radio channel, or immediately after the current transmission if the channel is busy. The second group of applications contain all scenarios where a priority scheme is not known at configuration time, but depends on run time parameters. Such applications require a Dynamic Medium Access Priority scheme to fulfill their QoS requirements. Dynamic priority strategies are based on changing conditions, which emerge at run time. Such conditions can be the battery energy level, the waiting queue length, data rate, buffer level, and distance to the root or number of 29 neighbors. Dynamic medium access typically results in a more complex network behavior. Estimating parameters for minimum, maximum, or average latencies or other performance parameters requires a detailed understanding of the encoded priority metric. Basically, dynamic access strategies can be used for two purposes: They can be employed to balance the network load equally on all available nodes, or shift it to nodes which are capable of handling higher loads. Or they can be used to guarantee fair medium access. Metrics which consider the traffic load and buffer level of nodes are of particular interest in WSNs since nodes are very limited in terms of energy and memory. B. QoS Strategies Several strategies can be used to implement the previously introduced dynamic and static access priority classes. Unreliable links and varying channel conditions over time present challenges [3] that are not considered by traditional QoS-support mechanism like IntServ [4] and DiffServ [5]. Therefore, such traditional schemes can hardly be applied in the context of WSNs. This is especially true since WSN nodes have severe resource constraints such as limitations of computational power, memory and bandwidth. Due to these additional constraints impact the requirements for the strategies: They should be as simple as possible while meeting the QoS requirements of the target application. In the following, we introduce different strategies for priority-based medium access that can significantly improve the network performance. One, or several, of these strategies must be chosen before a WSN is deployed by a WSN administrator. We therefore discuss the pre-requisites for each strategy and highlight possible application scenarios which can benefit from these strategies. 1) Topology-aware access strategy: Some WSNs consist of several types of nodes: few powerful nodes with little constraints form a backbone. A lot smaller and constraint devices are grouped around these backbone nodes, competing for media access with these non-constrained devices. If a high priority is assigned to the backbone nodes, the medium access delay for these nodes is reduced. Hence, the delivery ratio is increased since the number of nodes with high access priority is very small. Furthermore, such a strategy gives the backbone nodes control of the medium access which improves the support for data aggregation mechanisms. 2) Network-aware access strategy: The self-organizing capability of WSNs have made the technology an attractive solution for several monitoring tasks: nodes can be randomly placed in a field or in areas which are or become hardly accessible, e.g. due to radioactive contamination. This however can come with a drawback: some scenarios do not allow for the replacement or removal of network nodes. For example, asymmetric links or partitioning of the network can make reprogramming or remote shut down of the nodes impossible. If a new network should be deployed on top of another network, or an existing network should be upgrade, this can become a problem due to the shared characteristic of the medium. 30 This can limit the performance of later deployed networks which operate on the same radio channel, especially if nodes frequently transmit data until their batteries are drained. A priority-based medium access strategy which employs network IDs can mitigate the problem of co-existing networks. Network IDs can be used to represent the medium access priority of the WSNs: a higher ID corresponds to a higher access priority and vice versa. One the one hand, this strategy allows the deployment of a new high priority WSNs on top of an already deployed sensor network, which could not be removed or shut down. On the other hand, a new low priority WSN can be placed within the area of another sensor network without having a large impact on the performance of the already deployed network. 3) Traffic-aware access strategy: More and more sensor networks perform different tasks at the same time. Trafficawareness within the MAC protocol is required if the tasks have different priorities. Assume a WSN in which nodes generate traffic with different priorities, e.g. the stress and strain measurements of a structural health monitoring application, which has high QoS requirements, and temperature measurements which can be transmitted as best effort traffic. An operator may therefore assign different traffic priorities for these two application types, thus improving performance metrics for the high-priority application traffic. 4) Service-aware access strategy: Virtualization of networks and services has become very popular in recent years, with the first implementations already available [6]. These techniques allow several users to access nodes and their sensors in a shared manner. Resource allocation for each user on the device has been the focus of extensive research. To the best of our knowledge, medium access priorities in conjunction with virtualization has not been an issue. Assigning priority classes for medium access for virtualized applications, allows fair media sharing between the virtualized applications. 5) Distance-aware access strategy: Measured data is typically transmitted from a large number of data sources to a small number of data sinks. This sinks can process or forward the data into a non-constrained environment. Such networks are often organized in a tree structure [7], which allows taking advantage from data aggregation and data processing mechanisms. Medium access in such a setup can be a major performance factor due to the increasing traffic load towards the sinks. A priority-based medium access procedure that adopts the access priority depending on the distance to the sink can support the data aggregation mechanisms or decrease the energy consumption of the sensing nodes. If nodes that are closer to the sink have a higher priority, the delay in event-based WSNs can be reduced since the node which is triggered by the event and is closest to the sink has the highest priority. Thus, it can immediately access the medium to transmit its data, which reduces the event detection time. On the other hand, assigning a higher priority to nodes that are further away can reduce the overall energy consumption: Nodes that are furthest away from the sink can transmit their data immediately and turn off their transceiver at the end of the transmission. Furthermore, it improves the potential of data aggregation due to the fact that all children of a node in the tree have a higher medium access priority than their parent. As a result, the children can transmit their data to the parent before the parent gains access to the medium in order to forward the data. 6) Energy-aware access strategy: Most wireless sensor nodes have very limited power supplies. Therefore, designers of communication protocols try to minimize the energy consumption as much as possible while meeting the requirements of the target application. Routing protocols, which take energy consumption into account, typically try not to forward traffic via nodes that have only a small amount of energy left. Such mechanisms have proven to balance the traffic load and to prolong the lifetime of WSNs. However, the access to the medium can become costly as well in terms of energy if a node requires several attempts to gain its access. For this reason, nodes which run low on power should have a high medium access priority in order to reduce the average number of access attempts. 7) Buffer-aware access strategy: Limited amount of memory of wireless sensor nodes becomes a serious problem if the nodes should be able to support the Internet Protocol (IP). Especially, fragmentation of data packets and forwarding of packets leads to high memory consumption. It has to be kept in mind that most sensor nodes, e.g. TelosB, T-Mote and Mica, only have 8KB or 10KB of ram which makes buffering of multiple large packets almost impossible. Furthermore, eventdriven traffic patterns in WSNs can lead to temporary high network load. Routing protocols with load-balancing support have been designed to mitigate the impact of this issue in multi-hop networks. However, a buffer-aware MAC protocol can further improve the performance by taking the length of the waiting queue into account: Nodes that have more packets stored in their waiting queue should have a higher medium access priority. As a consequence, the maximum waiting queue length and the percentage of dropped packets due to buffer overflows could be decreased. This strategy also improves the fairness in dense single hop networks provided that the nodes generate traffic at the same data rate. 8) Data-rate aware strategy: The latest generation of routing protocols for WSNs, e.g. the Collection Tree Protocol (CTP) [7], apply adaptive mechanisms to cope with frequent topology changes. In general, these protocols increase their beacon transmission rate if they detect changes in their neighborhood. Topology changes usually result from interference or mobility of the nodes. The latter may lead to frequent topology changes which significantly increase the routing overhead. In dense networks, the routing overhead can even result in temporary congestion of the network. Temporary congestion can also be caused by applications which generate event-driven traffic, e.g. intruder detection or structural health monitoring applications. For these kinds of applications, it is important to receive information from all nodes which have detected the event to gain more precise information and to minimize false positives. The priority of the medium access should depend on the transmission rate of the nodes. A fair medium access can be achieved if a higher transmission rate results in a lower access priority and vice versa. Thus, nodes which rarely transmit traffic have a high probability of gaining access to the medium immediately. However, nodes that frequently transmit traffic can utilize the whole bandwidth as long as no other nodes need access to the medium. III. S OLUTIONS The range of applications for WSNs steadily increases and so does the demand for flexible and adaptive communication protocols [8] which suit the requirements of the target application. Current solutions mainly focus on Time Division Multiple Access (TDMA) based protocols since they provide a good performance in scenarios where the topology is stable and traffic patterns are known in advance. However, even in these cases TDMA based solutions have a high complexity and suffer from limited hardware resources such as computational power and precise oscillators. Thus, additional synchronization mechanisms are required to compensate the clock drift. As a result, large gaps between consecutive slots should be applied to avoid collisions due to asynchronous time clocks. The impact that gaps have on the overall throughput depends on the duration of the time slots and the duration of the gaps. Nonetheless, the gaps can only be shortened to some extend even if perfect synchronization is assumed since low power transceivers require a significant period of time to switch between receive and transmit mode and vice versa. Otherwise, a node cannot listen to its subsequent slot if it has transmitted in its own time slot. In addition, a node cannot use the full duration of its own time slot if it was listening to the previous time slot. Due to these drawbacks of TDMA based protocols, we decided to follow a different approach based on the transmission of preambles [10], [11] which is less complex. The protocol uses the preamble to resolve the contention on the one hand and provide priority based medium access [12] on the other hand. The basic idea of the protocol is to transmit a preamble of variable length to indicate that access to the medium is desired. After the transmission of the preamble, the node switches its transceiver back to receive mode and senses the medium. If it senses a busy medium after the transmission of its preamble, it assumes that another node has sent a longer preamble and therefore has a higher access priority. Thus, only the node with longest preamble senses an idle medium and starts its data transmission. A collision can only occur if two or more nodes start their preamble transmission at the same time and choose the same preamble length. A detailed description of the collision probability of the BPS-MAC protocol with different configuration is given in [11]. Instead of using a single preamble, the protocol can be configured such that is uses multiple sequential preambles. In this case, the first preamble corresponds to the access priority whereas the subsequent preambles are used to resolve possible contention. This approach is very flexible and does not require additional mechanisms, e.g. synchronization or 31 complex algorithms for slot allocation. However, the preamble transmission reduces the maximum throughput. In addition, the transmission of preambles increases the interference which has to be taken into account. Therefore, the protocol should be configured with respect to the maximum expected traffic load. IV. C ONCLUSION Priority-based medium access represents an interesting field of research since the latest trends in WSNs show that there is clear demand on this functionality. The mechanisms make sensor networks more flexible such that they can respond more quickly to events or to fulfil different sensing tasks at the same time. Existing TDMA based solution already provide this functionality to some extent. However, they achieve this functionality by the price of high complexity. In addition, they are less flexible due to the fact that the slot duration cannot be changed dynamically to meet the requirements of the target application. Preamble-based solutions for prioritybased medium access represent a new fresh approach which is more flexible compared to their TDMA based counterparts. In our future work, we will focus on the performance comparison preamble-based and TDMA-based solutions for multi-hop WSNs with QoS requirements. R EFERENCES [1] Y.C. Tay, K. Jamieson, and H. Balakrishnan, Collision-minimizing CSMA and its Applications to Wireless Sensor Networks, IEEE Journal on Selected Areas in Communications, 22(6):1048-1057, August 2004. [2] M. Bertocco, G. Gamba, and A. Sona, Experimental Optimization of CCA Thresholds in Wireles Sensor Networks in Presence of Interference, In Proc. of IEEE EMC Europe 2007 Workshop on Electromagnetic Compatibility, June 2007. [3] A. Muneb, U. Saif, A. Dunkels, T. Voigt, K. Römer, K. Langendoen, J. Polastre, and Z.A. Uzmi, Medium Access Control Issues in Sensor Networks, SIGCOMM Comput. Commun. Rev., 36(2):33-36, 2006. [4] R. Braden, D. Clark, S. Shenker, Integrated Srvices in the Internet Architecture - An Overview, IETF RFC 1663, June 1994. [5] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, An Architecture for Differentiated Services, IETF RFC 2475, December 1998. [6] B.C. Donovan, D.J. Mclaughlin, M. Zink, J. Kurose, Western Massachusetts Off-the-Grid Radar Technology Testbed, Proc. IEEE Int. Geoscience and Remote Sensing Symp. IGARSS 2008, Vol.5, 2008. [7] O. Gnawali, R. Fonseca, K. Jamieson, D. Moss, P. Levis, Collection Tree Protocol, SenSys ’09: Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems, ACM, pages 1-14, 2009. [8] M.A. Yigitel, O.D. Incel, C. Ersoy, QoS-aware MAC Protocols for Wireless Sensor Networks: A Survey, Comput. Netw., Elsevier NorthHolland, Inc., Vol.55, pages 1982-2004, 2011. [9] D. Chen, P.K. Varshney, QoS Support in Wireless Sensor Networks: A Survey, In Proc. of the International Conference on Wireless Networks (ICWN), USA, June 2004. [10] A. Klein, J. Klaue, and J. Schalk, BP-MAC: A high Reliable Backoff Preamble MAC Protocol for Wireless Sensor Networks, Electronic Journal of Structural Engineering(EJSE): Special Issue of Sensor Networks for Building Monitoring: From Theory to Real Application, -:35-45, December 2009. [11] A. Klein, Performance Issues of MAC and Routing Protocols in Wireless Sensor Networks, PhD thesis, University of Wuerzburg, Germany, December 2010. [12] A. Klein and L. Braun, A Preamble-based Approach for Providing Quality of Service Support in Wireless Sensor Networks, 4th International Workshop on Multiple Access Communications (MACOM), Trento, Italy, September 2011. 32 QoS-Routing und Reservierungen in mobilen Ad-Hoc-Netzwerken Anuschka Igel Reinhard Gotzhein Computer Science Department University of Kaiserslautern D-67653 Kaiserslautern, Germany Email: {igel,gotzhein}@cs.uni-kl.de Heutige Sensornetze sind oft nicht mehr statisch aufgebaut, sondern haben die Charakteristiken eines drahtlosen mobilen Ad-Hoc-Netzes. Da sie zudem immer komplexer werden und die Anforderungen an die Kommunikation immer vielfältiger, ist eine Best-Effort-Übertragung für viele Anwendungen nicht mehr ausreichend, sondern es muss eine bestimmte Dienstgüte gewährt werden. Dabei muss garantiert werden, dass der erforderliche Service in einer bestimmten Qualität erbracht wird, d. h. es werden Verkehrsverträge zwischen Diensterbringer und Dienstnutzer geschlossen. Beispiele für solche Anwendungen sind die regelmäßige Übertragung von Sensorwerten oder von Audio- und Videodaten. In einem Drahtlosmedium sind deterministische Garantien jedoch nur mit zusätzlichen Annahmen möglich, beispielsweise der „Single Network Assumption“.1 Um Verkehrsverträge schließen zu können, müssen die QoSAnforderungen des Dienstnutzers hinreichend detailliert spezifiziert werden. Dazu werden Metriken verwendet, welche es ermöglichen, verschiedene Routen zwischen Diensterbringer (Quelle) und Dienstnutzer (Ziel) miteinander zu vergleichen. 1 Alle Knoten sind verbunden und es gibt keine weiteren Knoten in Interferenzreichweite, die im selben Frequenzbereich arbeiten und ein anderes MAC-Protokoll verwenden. Solche Metriken können additiv, multiplikativ oder konkav sein. Am häufigsten wird die konkave Metrik Bandbreite verwendet, weshalb sich viele QoS-Routing-Protokolle auch auf diese beschränken. Weitere Metriken sind Übertragungsverzögerung, Hopanzahl (beides additiv) oder Verlustwahrscheinlichkeit (multiplikativ). Außerdem gibt es noch die abstrakte Metrik Kosten, die beliebig definiert werden kann. I. Q O S-F UNKTIONALITÄTEN Abb. 1 gibt einen grafischen Überblick über die QoSFunktionalitäten, die zur Erfüllung von QoS-Anforderungen benötigt werden. Eine detailliertere Beschreibung ist in [1] zu finden. Der äußere Ring stellt die Funktionalitäten dar, der innere deren Ausprägungen. Zur QoS-Bereitstellung gehören Maßnahmen zur Umsetzung von QoS-Anforderungen in eine geeignete Ressourcensituation (Reservierungsaspekt). Dazu zählt beispielsweise das QoS-Mapping, d. h. die Abbildung von QoS-Anforderungen zwischen den Systemschichten sowie die Zugangskontrolle, die sicherstellt, dass genügend Ressourcen zur Verfügung stehen, und diese verwaltet. Die QoS-Kontrolle umfasst kurzfristige, das QoS-Management dagegen langfristige Maßnahmen, um die vereinbarte Dienstgüte einzuhalten (Benutzungsaspekt). Zur QoS-Kontrolle gehören die Verkehrskontrolle, welche dafür sorgt, dass der Verkehrsvertrag eingehalten wird (z. B. Verwerfen von Paketen, wenn eine Anwendung sich nicht an den Verkehrsvertrag hält), sowie die Bedienstrategie, welche dafür verantwortlich ist, QoS -B Im Vergleich zu drahtgebundenen Netzen stellen drahtlose mobile Ad-Hoc-Netzwerke neue Herausforderungen dar. Ein generelles Problem bei drahtloser Kommunikation besteht darin, dass äußere Störeinflüsse oft zu Paketverlusten und damit zu einer Reduktion der Bandbreite sowie Schwankungen der Reichweite eines Transceivers führen, was unvorhergesehene Effekte haben kann. Im Gegensatz zu kabelgebundenen Netzen ist es meist nicht möglich, ein drahtloses Netzwerk gegen solche Einflüsse abzuschirmen, zu denen beispielsweise Überlagerungen von Signalen, Hintergrundrauschen, plötzlich auftretende Hindernisse oder ungünstige Wetterbedingungen zählen. Ein mobiles Ad-Hoc-Netz ist dadurch gekennzeichnet, dass es keine zentrale Infrastruktur gibt und sich die Knoten selbstständig untereinander vernetzen. Diese können ihre Position über die Zeit verändern, was dazu führen kann, dass laufende Übertragungen unterbrochen werden und Routen nicht mehr verfügbar sind. Außerdem werden die Knoten aufgrund ihrer Mobilität meistens mit Batterien betrieben, was es erforderlich macht, den Energieverbrauch zu begrenzen. QoS-Ko ntro ung lle l l e t QoSs Verkehrseit r Routing kontrolle e QoSBedienMapping strategie ZugangsQoS-Anforderungen QoSkontrolle Monitoring ReservierungsQoSprotokoll QoSMaintenance Skalierung QoS-Management Abbildung 1. QoS-Funktionalitäten zur Umsetzung von QoS-Anforderungen. 33 die Aufträge vor Abarbeitung durch eine Bedienstation (z. B. Transceiver) zu priorisieren. Zum QoS-Management gehören QoS-Monitoring, d. h. die Erfassung und Kontrolle des aktuellen Netzzustands, QoS-Maintenance, d. h. das Ausführen von Tuningmaßnahmen auf der Basis des Netzzustands, sowie QoS-Skalierung, d. h. die Manipulation von Paketfolgen zur Anpassung an verschiedene Endgeräte und die Anpassung des Senders an eine schwankende Dienstgüte des Empfängers. Im Folgenden werden das QoS-Routing und das Reservierungsprotokoll (beides Bestandteile der QoS-Bereitstellung) näher betrachtet. A. QoS-Routing Das QoS-Routing ist Bestandteil der QoS-Bereitstellung. Da in Multi-Hop-Netzen nicht alle Knoten direkt miteinander kommunizieren können, muss für eine Übertragung mit Hilfe eines Routing-Protokolls ein geeigneter Kommunikationspfad gesucht werden. Herkömmliches Best-Effort-Routing berücksichtigt keine Restriktionen bei der Routensuche. Beim QoSRouting dagegen wird versucht, eine Route zu finden, welche eine oder mehrere QoS-Anforderungen erfüllt (beispielsweise eine Mindestbandbreite oder eine maximale Übertragungsverzögerung). Die meisten existierenden QoS-Routing-Protokolle haben zwei Kernprobleme. Das erste Problem besteht darin, dass sich mehrere Routenanforderungen gleichzeitig in Bearbeitung befinden können. Bei der Suche nach QoS-Routen müssen die benötigten Netzwerkressourcen bereits vorreserviert werden. Anderenfalls könnte es sein, dass diese nicht mehr zur Verfügung stehen, wenn die eigentliche Übertragung beginnt. Dies kann jedoch dazu führen, dass sich die Routenanforderungen gegenseitig blockieren, obwohl insgesamt für mindestens eine davon eine Route existiert, welche die QoS-Anforderung erfüllt. Das zweite Problem besteht darin, dass Routingpakete aufgrund von Rahmenkollisionen verlorengehen können. Reaktive Routingprotokolle fluten Routenanforderungen üblicherweise durch das ganze Netzwerk, was zu lokalen Broadcasts der einzelnen Knoten führt. Diese werden normalerweise mit wettbewerbsbasiertem Mediumzugriff versendet, so dass eine erhöhte Anzahl an Kollisionen auftritt. Wegen der Broadcasts können keine Acknowledgements verwendet werden, so dass Pakete unbemerkt verlorengehen können. Auf diese Weise können Routensuchen scheitern, obwohl entsprechende QoSRouten existieren. Neben diesen beiden Kernproblemen existieren noch weitere Probleme für QoS-Routing. So ist beispielsweise die Kombination mehrerer QoS-Anforderungen schwierig zu realisieren, da die Suche nach einer QoS-Route, welche zwei unabhängige Anforderungen erfüllt, NP-vollständig ist [2]. Ein weiteres Problem besteht darin, dass die Erfüllung von QoS-Anforderungen häufig nicht lokal entscheidbar ist, da die Metrikwerte der einzelnen Knoten nicht unabhängig voneinander sind. Wird beispielsweise eine maximale Übertragungsverzögerung gefordert, so entscheidet die Summe der Werte der einzelnen Knoten darüber, ob die gefundene Route die 34 Anforderung erfüllt. Dies führt dazu, dass weitere Nachrichten ausgetauscht oder die benötigten Informationen mit in die Routing-Pakete aufgenommen werden müssen. Allenfalls für konkave Metriken ist eine lokale Entscheidung möglich, beispielsweise wenn man die statistische Reservierung von Bandbreite betrachtet (siehe Abschnitt I-B). Doch auch für solche Metriken werden häufig Werte der benachbarten Knoten benötigt, beispielsweise wenn eine deterministische Reservierung von Bandbreite in Form von Zeitslots vorgenommen werden soll, da ein Zeitslot nicht verwendet werden kann, wenn dieser bereits von einem Nachbarknoten verwendet wird. B. Reservierungsprotokoll Das Reservierungsprotokoll ist wie das QoS-Routing Bestandteil der QoS-Bereitstellung. Seine Aufgabe ist die Koordinierung der verteilten Reservierung von Ressourcen, um die kollisionsfreie Übertragung von Daten sicherzustellen. Es kann eigenständig sein oder in das QoS-Routing-Protokoll integriert. Wir betrachten hier zwei Möglichkeiten zu reservieren: statistisch und deterministisch. Statistische Reservierungen sind nicht exklusiv; man hat keine Garantie, dass die QoSAnforderungen tatsächlich eingehalten werden. Diese Reservierungen werden im Mittel funktionieren, solange das Netz nicht zu stark ausgelastet ist. Die verwendete MAC-Schicht ist nicht festgelegt, d. h. es kann CSMA oder TDMA verwendet werden. Im Beispiel von Bandbreite als QoS-Anforderung wird die freie Bandbreite eines Knotens als abstrakter Zahlenwert verwaltet und eine neue QoS-Route durch diesen nur zugelassen, solange noch Bandbreite zur Verfügung steht. Im Gegensatz dazu sind deterministische Reservierungen exklusiv, d. h. es ist – unter bestimmten Annahmen – garantiert, dass die QoS-Anforderungen eingehalten werden. Aufgrund der Charakteristiken von drahtlosen Netzen (z. B. Störanfälligkeit, Knotenmobilität) ist es ohne solche Annahmen nicht möglich, harte QoS-Garantien zu geben. Im Beispiel von Bandbreite werden konkrete Zeitslots reserviert, in denen kollisionsfreie Übertragungen stattfinden können. Als Voraussetzung für deterministische Reservierungen werden einige Basisfunktionalitäten benötigt. So ist es i. d. R. nicht möglich, eine wettbewerbsbasierte Mediumarbitrierung (z. B. CSMA/CA) zu verwenden. Da auch die Verwendung von FDMA (Frequency Division Multiple Access) aufgrund der hohen Hardwareanforderungen oft nicht sinnvoll ist, kommt vor allem TDMA (Time Division Multiple Access) als Arbitrierungsverfahren auf MAC-Ebene in Frage. Bei diesem wird die Zeit in Slots eingeteilt, welche dann von den einzelnen Knoten exklusiv für Übertragungen reserviert werden können. TDMA setzt jedoch eine globale Zeitsynchronisation mit maximalen Uhrenabweichungen voraus, da Kollisionen auftreten können, wenn das Zeitverständnis der einzelnen Knoten zu stark divergiert. Es könnte dann der Fall eintreten, dass Übertragungen in benachbarten Slots kollidieren, obwohl jeder Knoten in seinem reservierten Slot sendet. Ein geeignetes Verfahren mit beschränkter Konvergenzzeit ist BBS [3]. Zusätzlich zu TDMA wird in der Regel SDMA (Spatial Division Multiple Access) verwendet, d. h. Zeitslots werden mehrfach genutzt, sofern die entsprechenden Knoten sich nicht in Reichweite befinden. Hierbei sind das Hidden-Station- und das Exposed-Node-Problem zu beachten. Die Verwendung von CDMA (Code Division Multiple Access) zusätzlich zu TDMA zur Vermeidung des Hidden-Station-Problems wurde in [4] (Bandwidth Routing) thematisiert. Dabei werden unterschiedliche Codierungen für Datenübertragungen verwendet, die sich sonst gegenseitig stören würden. Hierfür werden jedoch verschiedene Codierungen sowie ein entsprechender Algorithmus zu deren Verteilung benötigt, was die Realisierung aufwendig macht. Um TDMA und SDMA zu realisieren, wird ein Modell des Netzwerks benötigt, wobei nicht jeder Knoten die gesamte Topologie kennen muss, aber zumindest Informationen über seine Nachbarn und ggf. über weitere Knoten erhalten muss, um entscheiden zu können, ob ein Slot reserviert werden kann. Dabei ist auch zu beachten, dass zwischen Kommunikations-, Interferenz- und Wahrnehmungstopologie unterschieden werden muss. Zwei Knoten sind in der Kommunikationstopologie benachbart, wenn ein Knoten einen gesendeten Rahmen des anderen Knotens korrekt empfangen kann. Sie sind in der Interferenztopologie benachbart, wenn die Interferenz eines der Knoten Auswirkungen auf den anderen haben kann und in der Wahrnehmungstopologie benachbart, wenn ein Knoten einen Sendevorgang des anderen per CCA erkennen kann. In der Regel ist die Wahrnehmungsreichweite größer als die Interferenzreichweite und diese größer als die Kommunikationsreichweite. Da die Erreichbarkeit zwischen zwei Knoten von verschiedenen Umweltbedingungen abhängt (z. B. Hindernisse, Überlagerung mit anderen Signalen, Hintergrundrauschen), kann es auch vorkommen, dass ein Knoten nur einen Teil der Pakete eines anderen Knotens empfängt. Die Erreichbarkeit ist also kein binärer Wert. Weiterhin ist zu beachten, dass sich die Erreichbarkeit aufgrund der Mobilität der Knoten ändern kann, wodurch beispielsweise Routen brechen oder neue Interferenzen entstehen können. Viele vorhandene Reservierungsprotokolle berücksichtigen zwar, dass die Sendevorgänge verschiedener Knoten sich gegenseitig beeinflussen; jedoch wird oft vernachlässigt, dass die Interferenzreichweite größer ist als die Kommunikationsreichweite. Wechselwirkungen zwischen zwei Knoten werden nur dann betrachtet, wenn diese direkt miteinander kommunizieren können (siehe z. B. [4]–[7]). Dies ist problematisch, da Reservierungen in der Regel „konservativ“ getroffen werden sollen, d. h. wenn ein Slot für eine Kommunikation reserviert wird, soll garantiert sein, dass diese nicht durch andere Kommunikationen im selben Slot gestört wird. Ein weiteres Problem, welches ein Reservierungsprotokoll lösen muss, ist die Verteilung der zu reservierenden Zeitslots in den einzelnen Knoten. Es muss nicht nur eine Route gefunden werden, die die QoS-Anforderung(en) erfüllt, sondern auch ermittelt werden, welche der freien Zeitslots jeweils reserviert werden sollen, um an den nächsten Knoten der entsprechenden Route zu senden. Ziel ist es, die vorhandene Bandbreite Abbildung 2. Beispiel für das SSSR- und das SSNR-Problem [7]. möglichst gut auszunutzen. In [5] wurde gezeigt, dass dieses Problem NP-vollständig ist, weshalb in der Praxis Heuristiken zum Einsatz kommen. Es wird ebenfalls erwähnt, dass bereits für eine gegebene Route die Bestimmung der maximal verfügbaren Bandbreite ein NP-vollständiges Problem ist. Dies führt zu zwei weiteren Problemen, welche in [7] beschrieben werden, nämlich das Slot Shortage for Self Route (SSSR) und das Slot Shortage for Neighboring Routes (SSNR) Problem. Das SSSR-Problem besteht darin, dass für eine Route, welche eigentlich die QoS-Anforderung erfüllt, keine passende Slotverteilung gefunden werden kann, weil am Anfang der Route die „falschen“ Slots gewählt wurden. Das SSNRProblem besteht darin, dass für eine Route keine passende Slotverteilung gefunden werden kann, obwohl dies möglich wäre, wenn für eine andere Route die Slotwahl modifiziert würde (siehe auch das erste Kernproblem in Abschnitt I-A). Die beiden Probleme werden durch die folgenden Beispiele verdeutlicht, welche aus [7] entnommen wurden. In dem Netzwerk aus Abb. 2 sind nicht verfügbare Slots schwarz markiert. Für das SSSR-Problem betrachten wir die Route P : S → B → E → G → D mit einer QoSAnforderung von zwei Slots. Wenn S die Slots {1, 2} zum Senden an B verwendet und B die Slots {3, 4} zum Senden an E, so können wegen des Hidden-Station-Problems die Slots {1, 2} von E nicht zum Senden an G verwendet werden. Damit bleibt nur noch Slot {5} übrig, d. h. die QoS-Anforderung kann nicht erfüllt werden. Würde S jedoch die Slots {5, 6} und B die Slots {7, 8} verwenden, so könnte E die Slots {1, 2} und G die Slots {3, 4} verwenden, womit die QoSAnforderung erfüllt ist. Für das SSNR-Problem betrachten wir dieselbe QoS-Route P mit den Sendeslots {5, 6}, {7, 8}, {1, 2} und {3, 4} für die Knoten S, B, E und G. Wir betrachten nun eine Nachbarroute P ′ : F → C, welche ebenfalls eine QoS-Anforderung von zwei Slots hat. Da F zu E, G und D benachbart ist, können die Slots {7, 8}, {1, 2} und {3, 4} von F nicht zum Senden verwendet werden. Somit bleiben nicht mehr genug Slots übrig, um die QoS-Anforderung zu erfüllen. Werden für P jedoch die Slots {7, 8}, {5, 6}, {3, 4} und {1, 2} verwendet, so kann {7, 8} für P ′ verwendet werden, und beide QoSAnforderungen können erfüllt werden. Abschließend sei noch angemerkt, dass Reservierungen auch im Hinblick auf die Einsparung von Energie Vorteile bringen können. Beim Duty Cycling wird die Zeit in peri- 35 odische Aktiv- und Schlafphasen eingeteilt, wobei ein Knoten nur während seiner Aktivphasen an Übertragungen teilnimmt. Im Gegensatz zu einem CSMA-Verfahren wissen die Knoten bei Verwendung von TDMA und Reservierungen jeweils, in welchen Slots sie senden bzw. empfangen, und müssen nur in diesen wach sein. Duty Cycling auf der Basis einer TDMAMAC-Schicht wird in [8] thematisiert. II. Z USAMMENFASSUNG In diesem Beitrag wurden mehrere Probleme bei der Umsetzung von QoS-Anforderungen in mobilen Ad-Hoc-Netzen dargestellt. Dabei wurden das QoS-Routing sowie das Reservierungsprotokoll näher beleuchtet, und es wurde gezeigt, dass die auftretenden Probleme von existierenden Protokollen nur teilweise berücksichtigt werden. Für QoS-Routing-Protokolle lassen sich zwei Kernprobleme identifizieren, nämlich die gegenseitige Blockierung konkurrierender Routenanforderungen sowie Kollisionen von Routing-Paketen. Für Reservierungsprotokolle muss einerseits berücksichtigt werden, dass Reservierungen sowohl statistisch als auch deterministisch getroffen werden können, wobei statistische Reservierungen keine Kollisionsfreiheit garantieren. Deterministische Reservierungen tun dies, haben jedoch eine Reihe weiterer Anforderungen, beispielsweise eine TDMA-MAC-Schicht und eine globale Zeitsynchronisation. Auch das HiddenStation- und das Exposed-Node-Problem müssen beim Design deterministischer Reservierungsprotokolle beachtet werden. Vorhandene Protokolle vernachlässigen ferner die Tatsache, 36 dass Interferenzen eines Knotens sich auch auf Knoten auswirken können, die sich nicht in Kommunikationsreichweite zu diesem befinden. L ITERATUR [1] A. Campbell, C. Aurrecoechea, and L. Hauw, “A Review of QoS Architectures,” Multimedia Systems, vol. 6, pp. 138–151, 1996. [2] S. Chen and K. Nahrstedt, “An Overview of Quality-of-Service Routing for the Next Generation High-Speed Networks: Problems and Solutions,” IEEE Network Magazine, Special Issue von Transmission and Distribution of Digital Video, 1998. [3] R. Gotzhein and T. Kuhn, “Decentralized Tick Synchronization for MultiHop Medium Slotting in Wireless Ad Hoc Networks Using Black Bursts,” in 5th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks. SECON’08, San Francisco. IEEE, June 2008, pp. 422–431. [4] C. R. Lin and J.-S. Liu, “QoS Routing in Ad Hoc Wireless Networks,” IEEE Journal on Selected Areas in Communications, vol. 17, no. 8, pp. 1426–1438, August 1999. [5] C. Zhu and M. S. Corson, “QoS Routing for Mobile Ad Hoc Networks,” in INFOCOM 2002. Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE, vol. 2. IEEE, 2002, pp. 958–967. [6] W.-H. Liao, Y.-C. Tseng, and K.-P. Shih, “A TDMA-based Bandwidth Reservation Protocol for QoS Routing in a Wireless Mobile Ad Hoc Network,” in Proceedings of IEEE ICC, April–May 2002. [7] K.-P. Shih, C.-Y. Chang, Y.-D. Chen, and T.-H. Chuang, “Dynamic bandwidth allocation for QoS routing on TDMA-based mobile ad hoc networks,” Computer Communications, vol. 29, no. 9, pp. 1316–1329, 2006. [8] D. Christmann, R. Gotzhein, M. Krämer, and M. Winkler, “Flexible and energy-efficient duty cycling in wireless networks with MacZ,” in Proc. 10th Annual Int New Technologies of Distributed Systems (NOTERE) Conf, K. Drira, A. H. Kacem, and M. Jmaiel, Eds. IEEE, 2010, pp. 121–128. Kommunikationsanforderungen in zukünftigen Ad-Hoc-Netzwerken Dennis Christmann Reinhard Gotzhein Fachbereich Informatik, AG Vernetzte Systeme Technische Universität Kaiserslautern D-67653 Kaiserslautern, Deutschland Email: {christma,gotzhein}@cs.uni-kl.de I. A NFORDERUNGEN UND L ÖSUNGSKONZEPTE Abbildung 1 gibt einen grafischen Überblick über die Anforderungen und Lösungskonzepte eines Ad-Hoc-Netzes, die im Folgenden näher erläutert werden. Der äußere Ring zeigt die Anforderungen und der innere Ring die jeweiligen Lösungen. Die Zeitsynchronisation ist als zentrale Anforderung im Mittelpunkt der Grafik dargestellt. A. Dienstgüte In vielen Szenarien reicht eine best effort Dienstgüte (Quality-of-Service, QoS) schon lange nicht mehr aus. Stattdessen werden verbindlichere Zusicherungen von Übertragungsraten oder Ende-zu-Ende-Verzögerungen benötigt. Obwohl deterministische Garantien und die Erfüllung harter Echtzeitanforderungen aufgrund der reduzierten Kontrollierbarkeit des Mediums in drahtlosen Sensornetzen kaum vorstellbar sind, gibt es realistische Anwendungsfälle mit weichen Echtzeitanforderungen, die die Nicht-Einhaltung von Übertragungsraten oder Fristen bis g ü te Energie SDMA, TDMA Duty Cycling Die nst effi zi e nz ib i virtuelle Slotregionen lit ät netzweite Zeitsynchronisation Topologieunabhängigkeit th geringe ei t Komplexität s Die Autoren danken der Carl-Zeiss-Stiftung für die finanzielle Unterstützung. wir die Sonderstellung der Zeitsynchronisation und begründen die Notwendigkeit einer netzweiten Zeitsynchronisation mit deterministischer Genauigkeit und Konvergenzzeit. Des Weiteren werden Lösungsansätze zu den Anforderungen beispielhaft herausgegriffen und einzelne Protokolle betrachtet, in denen die Lösungskonzepte implementiert wurden. Der Schwerpunkt liegt hierbei auf dem 802.15.4-Standard [1]. u Rob Durch immer kleinere, günstigere und stromsparendere Hardware erfahren drahtlose Sensornetzwerke in Industrie, medizinischen Einrichtungen und dem häuslichen Umfeld eine zunehmende Beliebtheit. Viele früher betrachtete Anwendungsszenarien, zum Beispiel zur Branderkennung in Gebäuden, gingen von einem stationären Aufbau des Netzwerks aus. Dabei wurden häufig logische Baumstrukturen angenommen, bei welchen Sensorwerte von den Blättern zur Senke zu übertragen sind. Neuere Anwendungsbeispiele haben allerdings gezeigt, dass sich Sensornetzwerke nicht auf diese einfache Struktur beschränken lassen. Stattdessen bestehen zukünftige Anwendungen aus einer variierenden Anzahl mobiler Knoten, die einem Sensornetzwerk immer häufiger einen Ad-Hoc-Charakter verleihen. Des Weiteren werden auch die Rollen der Netzwerkknoten und die Kommunikation immer vielfältiger. Sensorknoten überwachen nicht mehr nur ihre Umgebung, sondern können diese in Form von Aktuatoren auch beeinflussen. Durch die Eigenschaften vieler Anwendungstopologien und die beschränkten Hardwareressourcen haben zukünftige Sensornetzwerke zusätzliche Herausforderungen zu meistern. Aufgrund der geringen Sendereichweite der Transceiver bestehen bereits Netzwerke mit geringer räumlicher Ausdehnung aus mehreren Broadcast-Domänen, so dass adäquate MAC- und Routing-Protokolle benötigt werden, bei denen Energieaspekte und die Dynamik des Netzes schon im Design beachtet werden. Aufgrund der Problematik von transienten Links, die durch Mobilität und Knoteneintritte/-austritte verschärft wird, muss auch dem Hidden- und Exposed-Station-Problem eine hohe Bedeutung gegeben werden. In dieser Arbeit analysieren wir Anforderungen an zukünftige drahtlose Ad-Hoc-Sensornetzwerke. Im Konkreten diskutieren wir in Abschnitt I folgende Aspekte: • Dienstgüte • Energieeffizienz • Flexibilität • Skalierbarkeit • Robustheit • Zeitsynchronisation Neben der Erläuterung der einzelnen Anforderungen erörtern x Fle Skalierbarkeit Abbildung 1. Anforderungen und Lösungen eines Ad-Hoc-Netzwerks. 37 zu einem gewissen Grad tolerieren. Beispiele finden sich in drahtlos vernetzten Multimedia- oder Regelungssystemen. Der Schlüssel zum Erreichen von Dienstgüte liegt in der Organisation des Zugriffs auf das Medium. Falls eine kollisionsfreie Übertragung von Daten zu gewährleisten ist, scheiden wettbewerbsbasierte Arbitrierungsschemata wie CSMA/CA im Allgemeinen aus. Stattdessen eignen sich Multiplexverfahren wie Time Division Multiple Access (TDMA) oder Frequency Division Multiple Access (FDMA), wobei die Anwendbarkeit der FDMA-Ansätze aufgrund der höheren Hardwareanforderungen und des Verwaltungsaufwands eingeschränkt ist. TDMA-Ansätze sind hingegen in nahezu allen QoSProtokollen zu finden. Diese basieren auf der Einteilung der Zeit in Zeitschlitze, die anschließend exklusiv einem Knoten zum Senden zugewiesen werden. Die Unterteilung in Zeitschlitze wird in der Regel von einem MAC-Protokoll vorgenommen, welches hierfür wiederum eine Synchronisation voraussetzt (siehe Abschnitt I-F). Die Zuweisung der Zeitschlitze an Knoten ist Aufgabe eines Reservierungsprotokolls, welches häufig Teil eines QoS-Routingprotokolls ist [2]. Zur Erhöhung der Effizienz können gleiche Zeitschlitze an Knoten, die außerhalb der Interferenzreichweite voneinander positioniert sind, zugeordnet werden (Spatial Division Multiple Access (SDMA)), wobei das Hidden-Station- und das Exposed-Station-Problem zu beachten sind. Zu beachten ist ferner, dass die Interferenzreichweite in der Regel größer ist als die Sendereichweite. Im Beacon-Modus des IEEE 802.15.4-Standards sind reservierbare Zeitschlitze in Form der Guaranteed Time Slots (GTS) zu finden [1]. B. Energieeffizienz Da Sensorknoten häufig mit Batterien oder Akkus betrieben werden und der Austausch kostspielig ist, ist die Energieeffizienz oft das primäre Optimierungsziel in drahtlosen Sensornetzwerken. In [3] wurden bezogen auf die Kommunikation 4 Quellen von Energieverschwendung identifiziert: Idle Listening (Knoten sind empfangsbereit ohne dass empfangen wird), Overhearing (es werden Daten empfangen, die für andere Knoten bestimmt sind), Kollisionen und Protokolloverhead. Eine ideale Energieeffizienz liegt vor, wenn Knoten ausschließlich während Sende-/Empfangsvorgängen im Sende/Empfangsmodus sind. Um sich diesem Ideal anzunähern, entstanden 2 Ansätze: Preamble Sampling und Duty Cycling. Preamble Sampling ist ein asynchrones Verfahren, bei dem der Sender vor der Übertragung der Daten ein Wecksignal auf das Medium legt. Empfänger, die ihren Transceiver regelmäßig in den Empfangsmodus schalten, verbleiben bei Erkennung eines Wecksignals im Empfangsmodus bis die Übertragung der Nutzdaten abgeschlossen ist. Ein Beispiel eines Preamble SamplingProtokolls ist WiseMAC [4]. Bei Duty Cycling wird die Zeit in periodische Aktiv- und Schlafphasen unterteilt: In Aktivphasen finden Übertragungen statt, in den Schlafphasen wird der Transceiver der Knoten in einen stromsparenden idle-Modus versetzt. Um Aktiv-/ 38 Exklusive Regionen Synchronisation Arbitrierungsregionen Idle-Regionen Abbildung 2. Virtuelle Slotregionen [7]. Schlafphasen aufeinander abzustimmen, ist eine Zeitsynchronisation unerlässlich (siehe Abschnitt I-F). Eines der ersten Duty Cycling-Protokolle für drahtlose Sensornetzwerke ist S-MAC [3]. Duty Cycling in Verbindung mit effizienten Multi-Hop-Übertragungen wurde in RMAC thematisiert [5]. Der IEEE 802.15.4-Standard realisiert Duty Cycling ebenfalls durch eine Unterteilung des sogenannten Superframes in Aktiv-/Inaktiv-Phasen [1]. C. Flexibilität Aus Gründen des Entwicklungsaufwands und der Kosten sollten Protokolle für Sensornetzwerke nicht auf ein bestimmtes Szenario zugeschnitten sein. Stattdessen sollten sie generischer Natur sein und flexibel per Konfiguration an unterschiedliche Anwendungen und dynamisch zur Laufzeit angepasst werden können. Im Konkreten sollten beliebige Verkehrsmuster (periodische sowie sporadische) unterstützt und optimiert werden und Kommunikation zwischen allen Knotenpaaren möglich sein. Letzteres wird beispielsweise von vielen Protokollen nicht erfüllt, die auf logischen Baumstrukturen beruhen, in der Daten ausschließlich zur Datensenke fließen [6]. Möglichkeiten zur Erhöhung der Flexibilität bieten virtuelle Slotregionen [7]. Virtuelle Slotregionen sind ebenfalls eine Lösung, die wiederum eine Synchronisation voraussetzt (siehe Abschnitt I-F). Abbildung 2 zeigt hierzu ein Beispiel. Zwischen 2 Synchronisationsphasen können 3 Arten von Regionen beliebig platziert werden: Exklusive Regionen, die für reservierungsbasierte Übertragungen bestimmt sind (siehe auch Abschnitt I-A), Arbitrierungsregionen für wettbewerbsbasierten Zugriff auf das Medium (bspw. für Übertragungen ohne verbindliche Dienstgüteanforderung) und Idle-Regionen zum Sparen von Energie (siehe auch Abschnitt I-B). Der IEEE 802.15.4-Standard unterstützt virtuelle Slotregionen nur stark eingeschränkt und bietet daher eine geringe Flexibilität [1]. Ein Superframe folgt immer dem gleichen Aufbau: Beacon-Übertragung, Aktiv-Phase (bestehend aus Wettbewerbsphase und maximal 7 GTS) und Inaktiv-Phase. Die Länge der einzelnen Phasen ist zwar konfigurierbar, die Anzahl und Position der Phasen lässt sich aber nicht ändern. Des Weiteren kann ein Knoten während eines GTS ausschließlich mit dem PAN-Koordinator kommunizieren, so dass keine beliebigen Kommunikationspartner unterstützt werden. D. Skalierbarkeit Durch immer günstigere Hardware und kleinere Bauformen ist in vielen Szenarien eine hohe Knotendichte und eine komplexe Topologie zu erwarten. Protokolle sollten daher eine hohe Skalierbarkeit aufweisen, d.h. sie sollten eine große Knotenanzahl und eine stark ausgeprägte topologische Dynamik bewältigen können. Dabei ist auch die Verwaltung von Multi-Hop-Topologien und die Eingliederung neuer Knoten zur Laufzeit in das Netzwerk zu unterstützen. Um dieses Ziel zu erreichen, müssen die Protokolle eine geringe Zeit- und Nachrichtenkomplexität hinsichtlich des Verwaltungsoverheads aufweisen. Verwaltungsoverhead entsteht zum Beispiel bei der Koordination von Reservierungen siehe auch (Abschnitt I-A) oder bei der Durchführung der Synchronisation (siehe auch Abschnitt I-F). Für all diese Verwaltungsaktionen gilt, dass der Overhead maximal linear von der Knotenanzahl abhängen sollte, d.h. bei n Knoten sollte die Komplexität O(n) nicht überschreiten. Des Weiteren besteht eine große Abhängigkeit zwischen Skalierbarkeit und Flexibilität. Steigt beispielsweise die Anzahl der Knoten, dann ist zu erwarten, dass auch der Bedarf an reservierbaren Zeitslots wächst. Solange das Medium noch Kapazitäten aufweist, sollte dieser Bedarf durch Hinzunahme neuer Reservierungsslots gedeckt werden können. Eine hohe Skalierbarkeit setzt außerdem voraus, dass die Effizienz eines Protokolls nicht übermäßig von der Knotenanzahl abhängen darf. Beispielsweise erfüllen viele Duty Cycling-Protokolle, unter Anderem auch S-MAC [3], dieses Kriterium nicht, da sie unter einer starken Sensitivität von der Knotenanzahl leiden. Bei ihnen steigt der Energieverbrauch einzelner Knoten mit einer wachsenden Anzahl von Nachbarknoten stark an, unabhängig davon, ob die Knoten selbst neue Kommunikationspartner erhalten. Auch der IEEE 802.15.4-Standard erlaubt Skalierbarkeit nur eingeschränkt [1]. Die Gründe hierfür liegen unter Anderem in der beschränkten Anzahl an GTS, die maximal 7 wettbewerbsfreie Übertragungsslots pro PAN-Koordinator erlaubt, und in der komplexen Verwaltung von Multi-HopNetzwerken. Im Allgemeinen lässt sich festhalten, dass MultiHop-Netzwerke nur unzureichend von dem 802.15.4-Standard unterstützt werden. E. Robustheit Aufgrund der Beschaffenheit von Sensorknoten sind Knotenausfälle und transiente Links in einem drahtlosen Sensornetzwerk häufiger zu erwarten als in herkömmlichen drahtgebundenen Vernetzungen. Protokolle für drahtlose Sensornetzwerke müssen daher robust gegen eine daraus entstehende topologische Dynamik sein und Knotenausfälle bis zu einem gewissen Ausmaß verkraften können. Um dieses Ziel zu erreichen, dürfen die Netzwerke keine stark ausgeprägte Abhängigkeit von der Topologie besitzen. Insbesondere darf kein Single-Point-of-Failure existieren, dessen Wegfall zu einem Ausfall des kompletten Systems führt. Es werden demnach dezentrale Protokolle und dezentral organisierte Netzwerkstrukturen benötigt, die effektiv und schnell auf einen Knotenausfall reagieren. Der IEEE 802.15.4-Standard erfüllt diese Ansprüche im Beacon-Modus nicht, da PAN-Koordinatoren die Achillesfersen eines Netzwerks sind [1]. Der Non-Beacon-Modus ist tk Knoten Vk reservierter Sendeslot für Vk tr Uhrenabweichung: | tk - t r | = doffset Knoten Vr reservierter Sendeslot für Vr Abbildung 3. Auswirkungen von Synchronisationsungenauigkeiten. hingegen robuster gegen Knotenausfälle, wird aber den anderen oben genannten Anforderungen nicht gerecht. Auch viele Protokolle, die auf drahtlosen oder drahtgebundenen virtuellen Backbones basieren, sind wenig robust gegen Knotenausfälle. [8] stellt diesbezüglich Maßnahmen vor, um Knotenausfälle vorherzusehen und daraus entstehende Probleme proaktiv zu verhindern. Bei unerwarteten Knotenausfällen versagen aber auch solche Ansätze. Protokolle, in denen kein Knoten eine Sonderrolle einnimmt, sind in der Regel robuster gegen Knotenausfälle. Beispiele sind MacZ [7] und RMAC [5]. Allerdings ist zu beachten, dass manche dieser Protokolle für sich betrachtet zwar dezentral und dadurch robust sind, aber auf weniger robusten Diensten aufsetzen. Beispielsweise wird in RMAC zur Synchronisation auf TPSN verwiesen [9], welches ausgewählte Referenzknoten zur Synchronisation verwendet, deren Ausfall eine Neuwahl der Referenzknoten zur Folge hat. Demnach ist die Zeitsynchronisation auch hier ein ausschlaggebender Faktor zum Erreichen einer hohen Robustheit (siehe auch Abschnitt I-F). F. Netzweite Zeitsynchronisation Netzweite Zeitsynchronisation ist aus Kommunikationssicht Voraussetzung für TDMA-Ansätze zum Mediumzugriff, Duty Cycling und die Bildung virtueller Slotregionen (siehe Abschnitte I-A, I-B, I-C). Damit besitzt die netzweite Zeitsynchronisation in Ad-Hoc-Netzen eine Sonderstellung (siehe Abbildung 1). Aus einer Reihe von Gründen ist eine perfekte Zeitsynchronisation nicht möglich, so dass zwischen den lokalen Uhren immer eine Restabweichung, genannt Clock Offset, besteht, die möglichst klein zu halten ist. Abbildung 3 zeigt ein TDMA-Szenario, in dem dieser Clock Offset zu einer Kollision von Nachrichten der Knoten Vk und Vr führt, obwohl beide Knoten in benachbarten reservierten Slots senden. Solche Kollisionen lassen sich nur dann zuverlässig vermeiden, wenn die Zeitsynchronisation einen netzweiten maximalen Clock Offset unter Einhaltung einer geringen und beschränkten Konvergenzzeit – die Dauer bis zum (Wieder-)Erreichen des maximalen Clock Offsets – garantieren kann. Die Verwendung des mittleren Clock Offsets genügt also nicht; vielmehr sind deterministische Verfahren zur netzweiten Zeitsynchronisation erforderlich. Der IEEE 802.15.4-Standard sieht im Beacon-Modus zwar eine Zeitsynchronisation vor, allerdings beschränkt auf die Single-Hop-Bereiche der PAN-Koordinatoren [1]. Häufig zitierte Verfahren zur netzweiten Zeitsynchronisation wie RBS 39 [10] oder TPSN [9] arbeiten mit statistischen Ansätzen zur Ermittlung des Clock Offsets und haben außerdem eine Konvergenzzeit ohne obere Schranke. Lösungen auf der Basis von GPS haben Nachteile hinsichtlich Hardwarekosten und Energieverbrauch. Sie eignen sich außerdem nicht für den Einsatz in Gebäuden. Ein Verfahren, das die erforderlichen Eigenschaften aufweist, ist BBS [11]. II. Z USAMMENFASSUNG Die zunehmenden Möglichkeiten von Sensornetzwerken zeigen, dass Ambient Intelligence und Pervasive Computing schon lange keine reine Fiktion mehr sind. Mit der Anzahl der Anwendungsfälle steigt aber auch die Anzahl der Anforderungen an ein drahtloses Sensornetz, welches heute in vielen Fällen Ähnlichkeiten mit Ad-Hoc-Netzwerken aufweist. In dieser Arbeit haben wir 6 Anforderungen an zukünftige Sensornetzwerke analysiert. Dabei wurde gezeigt, dass zwar zahlreiche Lösungsansätze für die einzelnen Anforderungen existieren, aber kein existierendes Protokoll alle Anforderungen in Einklang bringt. Insbesondere der IEEE 802.15.4Standard offenbart bei näherer Betrachtung einige Schwächen; vor Allem fehlende Flexibilität und geringe Robustheit. Des Weiteren wurde gezeigt, dass die Zeitsynchronisation eine Sonderrolle unter allen Anforderungen einnimmt, da sie häufig nicht nur durch die Anwendungen selbst benötigt wird, sondern auch einen Basisdienst zur Erfüllung anderer Anforderungen bereitstellt. Es wurde verdeutlicht, dass ein Bedarf an skalierenden Multi-Hop-Synchronisationsprotokollen mit deterministisch beschränkter Genauigkeit und Konvergenzzeit besteht, um netzweites Mediumslotting als Grundlage für Reservierungen und Dienstgüte zu ermöglichen. 40 L ITERATUR [1] IEEE, Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (LR-WPANs). New York, NY, USA: IEEE Computer Society, Oct. 2003. [Online]. Available: http://standards.ieee.org/ getieee802/download/802.15.4-2006.pdf [2] W.-H. Liao, Y.-C. Tseng, and K.-P. Shih, “A TDMA-based Bandwidth Reservation Protocol for QoS Routing in a Wireless Mobile Ad Hoc Network,” in Proceedings of IEEE ICC, April–May 2002. [3] W. Ye, J. S. Heidemann, and D. Estrin, “An Energy-Efficient MAC Protocol for Wireless Sensor Networks,” in INFOCOM, June 2002. [4] A. El-Hoiydi and J.-D. Decotignie, “WiseMAC: an ultra low power MAC protocol for the downlink of infrastructure wireless sensor networks,” in ISCC. IEEE Computer Society, 2004, pp. 244–251. [5] S. Du, A. K. Saha, and D. B. Johnson, “RMAC: A routing-enhanced duty-cycle MAC protocol for wireless sensor networks,” in INFOCOM, 2007, pp. 1478–1486. [6] G. Lu, B. Krishnamachari, and C. S. Raghavendra, “An adaptive energyefficient and low-latency MAC for data gathering in wireless sensor networks,” Parallel and Distributed Processing Symposium, International, vol. 13, p. 224a, 2004. [7] P. Becker, R. Gotzhein, and T. Kuhn, “MacZ – A Quality-of-Service MAC Layer for Ad-hoc Networks,” in HIS ’07: Proceedings of the 7th International Conference on Hybrid Intelligent Systems. IEEE Computer Society, Sept. 2007, pp. 277–282. [8] M. Ayyash, K. Alzoubi, and Y. Alsbou, “Preemptive Quality of Service Infrastructure for Wireless Mobile Ad Hoc Networks,” in Proceedings of the 2006 international conference on Wireless communications and mobile computing, ser. IWCMC ’06. New York, NY, USA: ACM, 2006, pp. 707–712. [Online]. Available: http://doi.acm.org/10.1145/1143549.1143690 [9] S. Ganeriwal, R. Kumar, and M. B. Srivastava, “Timing-sync protocol for sensor networks,” in SenSys, I. F. Akyildiz, D. Estrin, D. E. Culler, and M. B. Srivastava, Eds. ACM, 2003, pp. 138–149. [10] J. Elson, L. Girod, and D. Estrin, “Fine-grained network time synchronization using reference broadcasts,” in OSDI. Proceedings of the Fifth Symposium on Operating Systems Design and Implementation (OSDI 2002), Boston, MA, USA, 2002. [11] R. Gotzhein and T. Kuhn, “Decentralized Tick Synchronization for Multi-Hop Medium Slotting in Wireless Ad Hoc Networks Using Black Bursts,” in 5th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks. SECON’08, San Francisco. IEEE, June 2008, pp. 422–431. Energy Profiling for Wireless Sensor Networks Oliver Hahm Stephan Adler Nicolai Schmittberger Mesut Güneş Institute of Computer Science Computer Systems and Telematics Distributed Embedded Systems Freie Universität Berlin, Germany {ohahm, adler, schmittb, guenes}@inf.fu-berlin.de Abstract—Energy constraints are one of the most crucial challenges when designing protocols and algorithms for Wireless Sensor Networks (WSNs). Thus, a deep understanding of the energy consumption within a WSN is mandatory. For this purpose, energy measurements on the real sensor node hardware provide accurate numbers for a single node. Another method is employing an abstract energy model that can be used to estimate the lifetime of the nodes and the whole network. While the first method is usually hard to deploy for large scale networks, the second approach might suffer from errors and improper generalizations of the model. In order to obtain a deeper insight of energy consumption, it would be desirable to determine the power demands in a high resolution. In this paper we are introducing an approach of detailed information reports about the energy consumption based on a fine-granular measurement using the integrated coulomb counter sensor of the evaluation platform, the MSB-A2. We will present a technique to create statistics of the demand for energy for every single node in the network in the same way as traditional software profiling is done. Index Terms—Wireless Sensor Network (WSN), energy consumption, energy measurement I. I NTRODUCTION When talking about WSNs Moore’s Law [1] gets a different meaning. For these devices, the nodes should become smaller, cheaper and more energy efficient instead of increasing the CPU speed or enlarging the available memory. Over ten years have passed by since the idea of Smart Dust was first mentioned [2], but the current available hardware is still not small enough and the energy consumption is still too high to realize this vision. While these nodes are usually battery operated and no breakthroughs in battery technology are expected in the next years, this aspect is also reflected in the volume and weight of the device. For many sensor nodes current battery supply consumes more than half of the device’s dimension. On the contrary, a lot of improvement has taken place at the hardware level. New technologies enable high efficient sleep modes for almost every single part of the sensor node, particularly for the microcontroller itself and the transceiver. In addition, modern transceivers are able to communicate with a surprisingly low amount of energy. Nevertheless, the software still has to exploit these hardware capabilities. Therefore, a lot of new protocols at all layers of the ISO OSI model with a special focus on energy awareness have been designed during the last decade. Unfortunately, most of the evaluation of these protocols was based on simulations. But while the protocols and algorithms have advanced significantly, little work has been done on improving the energy models used by simulators. One reason for this is that a deep understanding of how, where, and when energy consumption takes place is still lacking. Hence, real power consumption measurements of the communication subsystem of a sensor node often discloses a severe discrepance to widely cited energy models. Additionally, some work on the evaluation of power consumption has been done. This work can be classified in three different categories: theoretical analysis, simulation and hardware measurements. The contribution of this paper is to introduce a novel technique to estimate real energy consumption of WSNs. We will present a way to perform real time measurements of network protocols and algorithms for sensor networks using a coulomb counter and microkernel based operating system. While the counter allows high accurate measurements of the current consumption, the operating systems provides the capability to exploit per-thread evaluation. Hence, it is feasible to accumulate power consumption over time as well as to consider the pattern of power load as proposed by Shnayder et al. [3]. In addition, this methodology enables in situ measurement at large scales. In this manner, power usage can be monitored in a network-wide view which makes it possible to discover variances that are subject to changes in network topology or to detect hot spots. The remainder of this work is structured as follows. In section II we describe previous work on how energy consumption can be evaluated. The following section III introduces the energy profiling we have implemented to enable fine-grained analysis of the energy consumption. Finally, section IV identifies some possible future work on this topic and describes how the results of our energy profiling could be used for prospective simulation work. We conclude the paper in section V. II. R ELATED W ORK Evaluation of energy consumption traditionally has been done in three different ways. The theoretical analysis mostly takes the values for energy demands given by the devices’ data sheets and generate equations for the single processes. Simulation based experimentation attempts to derive more generic energy models as input for the simulator. The third approach finally relies on actual measurements of the hardware. 41 The theoretical approach tries to formalize common hardware operations and create a detailed model to predict energy consumption. Landsiedel et al., for example, considered real sensor applications, operating system code, and measurements to enable accurate prediction of the energy consumption for their approach called AEON [4]. This work also mentions the idea of energy profiling. They achieved this by mapping source code functions to the corresponding object code addresses for TinyOS [5]. However, since TinyOS is not written in a common programming language, but its own dialect of C, nesC [6], this approach unfortunately is not portable to other platforms. Hence, this work does not provide a general approach to evaluate energy consumption in a real world deployment, but presents an interesting idea which is worth to be extended in a more generic way. To adapt the often complex models from theoretical analysis, simulation based studies typically use simplified assumptions. They usually describe a state machine and rely on basic formulas like Equation 1 that was formed by Schmidt et al. [7]. X X E= Pstate · tstate + Ptrans · ttrans (1) state trans Here Pstate refers to the consumed power in state and tstate to the time spent in this state, while Ptrans and ttrans have the same meaning for the transitions between two states. For reliable hardware measurements of energy consumption, the difficulties are threefold. First, it is hard to achieve accurate results and to prevent getting erroneous results due to misconfiguration or failure of the measurement devices. Second, one must think of a way to correlate the results to the actual program and software flow of the observed node. Third, measurement is often only feasible for a single node or at most for a small set of nodes in a lab setup The reason for that is, that measurement hardware is often expensive, needs manual configuration or administration, and is much harder to deploy to a large area. Keller et al. present one approach by introducing their own measurement platform SNMD (Sensor Node Management Device) [8]. By performing real hardware measurement on this device they try to validate and improve their FSM based energy model. The core of measurement platform is an ADC that supports a resolution of up to 76.249µV and a frequency of up to 500Hz. Nonetheless, it is still possible that data is lost that way. Some of the more holistic studies combine the methods. This can be done by first stating an abstract model for energy consumption, which then is adapted to a particular simulation platform. Another quite popular approach is to validate results gained from a theoretical analysis or simulation by comparing them to measurements from a prototypical implementation on real hardware. III. E NERGY PROFILING ON MSB-A2 WITH µKLEOS In this section we will first introduce the general idea of our technique for the estimation of energy consumption. Next, we will present the hardware platform and operating system 42 we use for our implementation and experiments. However, our approach in principle is general and not coupled to this special hardware or system software. Finally, we will describe implementation details. A. Energy Profiling While the previously presented approaches mostly started by setting up a formal model for energy consumption and validate it afterwards by prototypical implementations, we try to gain as much data as possible from real WSN applications. The results can serve as input parameters for simulations and to obtain a very precise general energy model. The starting point of our approach is one of the common analysis tools during code development for traditional software: code profiling. The idea of profiling intends to present a very fine granular view to the call tree to the software engineer. Code profiling provides a detailed insight into the functioning of a program. The same technique can also be applied to software for sensor nodes. In this way, CPU usage can be broken down to individual routines and blocks in the source code, which allows for a fine-grained code analysis. The profiling cannot only display the call tree of a running software but also create a detailed overview about how much time is spent in each single function. By the usage of code profiling long running functions can be revealed as well as possible never called code fragments. Moreover, this method helps to gain a general understanding of the code structure and data flow. The central idea of the methodology we present in this paper is based on extending this code profiling technique to include energy measurement. Therefore, we combined the technique with a hardware measurement device to gain a deeper understanding of the energy consumption. A closer look at the actual used measurement device follows in the next section. The method itself allows for measurement of the current consumption without doing any changes to the evaluated code itself. By capturing the duration and energy consumption of any function at the same time, it is possible to correlate its runtime with its power demands. Hence, even though separate measurements of the single devices within the sensor node system are not feasible, one can still reveal the parts of the code where most of the energy is consumed. In turn it allows for detecting critical components in terms of energy consumption. The overall advantage of the energy profiling method is its generality. It provides a universal approach towards the evaluation of energy consumption that is not limited to a particular paradigm or operating system. B. Hardware and Software As hardware platform we use the MSB-A2 which is equipped with a LTC4150 coulomb counter as shown in Figure 1 [9]. This device fits our requirements, since it allows energy measurements with almost no overhead in terms of computing time and power demands. Moreover, the coulomb Fig. 1. A MSB-A2 sensor node with LTC4150 coulomb counter. counter method enables a very comprehensive way to observe power consumption. It provides a sense voltage range of 50mV and a charge count frequency of 32.55Hz. The power consumption is in the scale of micro-watt. On important advantage of this platform is the direct integration of the coulomb counter on the sensor node. The benefits of this composition are twofold. First, direct feedback between the program running at the sensor node and energy evaluation is easily achievable. Second, there is no need for additional measurement hardware. The monitoring device comes directly on board of the sensor node itself and can therefore be easily deployed, even for large scale sensor testbeds. As an operating system we use µkleos, a multi-threaded operating system for WSNs. µkleos is the successor of the FireKernel software and exhibits almost the same features in terms of low latency and overhead-free context switching [10]. The core itself is a microkernel, thus, only containing the most essential functions like scheduling, interprocess communication, and threading. A big advantage of this architecture for our purpose was the possibility to analyze the energy consumption per thread. In this manner, we can break down the power demands of different tasks in any arbitrary way. Since µkleos is written in pure ANSI C, well-known, matured tools can be used during development, for debugging, and code analysis. This represents a big advantage in comparison to TinyOS or Contiki [11] which define their own C like dialects. Even though both programming languages have a close relationship to C, well established tools like the GNU Compiler Collection (GCC) are not usable out of the box [12]. C. Implementation To implement this energy profiler, we made use of a feature of the GCC C compiler. The GCC offers a compiler flag (finstrument-functions) which allows to define functions to be called each time any function is entered or completed. In addition with some small modifications to the scheduler of µkleos, this enables a detailed analysis of the function call tree and enables per-thread evaluation of the energy consumption. The profiling functions that are called at function entry and exit are very short running with little complexity. By making timestamps and querying the coulomb counter value Fig. 2. An example function tree with two running threads and one incoming interrupt. Each horizontal line represents a tick of the coulomb counter. it can be exposed where most of the time and energy is spent within the program. The Profiler maintains a small stack for each thread and a struct SInf o with statistical information about each function. These statistics comprises the number of function calls, the duration of function execution, and energy consumption. Everytime a function is called, the profiler pushes the index of SInf o on the stack, increases the stack pointer, and saves current hardware timer and coulomb counter value. Furthermore, it is checked by a flag if another function within the same thread is tagged as running. If such a function is found SInf o for this function is updated, otherwise the flag is set for the active function. When a function is left, SInf o for this function is updated, the stack is popped, and stack pointer gets decreased. To deal with concurrency and the limited resolution of the coulomb counter, we added small software hooks at the interrupt handler of the LTC4150 In this manner, no more additional effort is required for the software developer of the sensor node applications. The software is built and executed as normal. Just the results of the energy evaluation have to be captured via the serial interface. Furthermore, it is possible to activate or deactivate the energy evaluation on a per-source-file base. This is configured within the build system. Particular functions can be excluded from being monitored via a specific C attribute in the source code. IV. O UTLOOK AND FUTURE WORK One open task for our approach is caused by the hardware characteristics of the LTC4150. The resolution of this IC is not 43 sufficient high so that every switch between to threads can be monitored. Figure 2 depicts the problem. While the two threads runs some functions, the coulomb counter generates some ticks. Between two ticks more than one function might run. Thus, the profiler only detects which functions run but cannot calculate which function has consumed which fraction of the coulomb counter tick. However, it can be assumed that each function runs sufficiently often during an experiment that a system of equations can be developed to calculate these fractions. As another improvement a coulomb counter with a higher resolution could exploit the possibility of even instruction level granularity. We plan to formalize the result of experiments using our methodology as a more general energy model. This model in turn could serve for more realistic simulations. It can also be utilized to verify or falsify existing energy models. In case that an existing model could be validated, the results from measurements with energy profiling method provide input parameters for this model. Due to the generality of energy profiling we are going to examine of all layers of the network stack and every application. However, so far many protocols and algorithms proposed by research for WSNs are not available in open implementation for real hardware. Examination often is only done by simulation or at most implemented for Contiki or TinyOS. More generic implementations for real hardware is desirable. The algorithm library Wiselib seems to be a promising effort in this direction. [13] As soon as more implementations for MAC protocols, routing algorithms and any other kind of software used for sensor node applications exist, more detailed evaluation on their energy consumption can be done due to the energy profiler. Additionally, we are planning to conduct larger experiments with up to 150 sensor nodes in large scale testbeds such as the DES-Testbed [14] [15] to exploit the scalability support of the energy profiling technique. In principle not even a coulomb counter is required to make use of the energy profiling method. Any device that is capable for accurate measurement of power consumption can serve as input for the profiler. V. C ONCLUSION This paper introduces a novel approach to analyze energy consumption for WSN. The estimation of energy consumption is a crucial requirement when developing protocols and applications for sensor nodes to predict the lifetime of a network during development. The proposed technique provides real time measurement for sensor networks that scale up to thousands of nodes. To achieve this, we present an energy profiler. This tool allows for accurate evaluation of time and energy spent by each function and, additionally, each thread. We achieve this by making use of a coulomb counter equipped directly on each sensor node. We implemented this energy profiling on µkleos to exploit the benefits of a real multithreading capable microkernel. In this manner, the operating system enables analysis of power demands per thread. 44 Summarized this methodology allows for the accumulation of energy consumption over time and considering the pattern of power load. Furthermore, there exists no limiting factor for this approach which make in situ measurements feasible for large scale networks. This work reveals the analysis of power usage in a network-wide picture which is necessary for evaluation of variations in energy consumption under changes in the environment. R EFERENCES [1] G. E. Moore, “Cramming More Components onto Integrated Circuits,” Electronics, vol. 38, no. 8, pp. 114–117, Apr. 1965. [Online]. Available: http://dx.doi.org/10.1109/JPROC.1998.658762 [2] J. M. Kahn, R. H. Katz, and K. S. J. Pister, “Next century challenges: mobile networking for ”Smart Dust”,” in MobiCom ’99: Proceedings of the 5th annual ACM/IEEE international conference on Mobile computing and networking. New York, NY, USA: ACM Press, 1999, pp. 271–278. [Online]. Available: http://dx.doi.org/10.1145/313451.313558 [3] V. Shnayder, M. Hempstead, B. Chen, G. Werner-Allen, and M. Wels, “ Simulating the power consumption of large-scale sensor network applications,” in SenSys ’04: Proceedings of the 2nd international conference on Embedded networked sensor systems. New York, NY, USA: ACM Press, Nov. 2004, pp. 188–200. [4] O. Landsiedel, K. Wehrle, and S. Götz, “Aeon: Accurate prediction of power consumption in sensor networks,” in In Proceedings of The Second IEEE Workshop on Embedded Networked Sensors (EmNetS-II, 2004. [5] P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, and D. Culler, “TinyOS: An Operating System for Sensor Networks,” in Ambient Intelligence, W. Weber, J. M. Rabaey, and E. Aarts, Eds. Berlin/Heidelberg: Springer-Verlag, 2005, ch. 7, pp. 115–148. [Online]. Available: http://dx.doi.org/10.1007/3-540-27139-2 7 [6] D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler, “The nesc language: A holistic approach to networked embedded systems,” in Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, ser. PLDI ’03. New York, NY, USA: ACM, 2003, pp. 1–11. [Online]. Available: http://doi.acm.org/10.1145/781131.781133 [7] D. Schmidt, M. Krämer, T. Kuhn, and N. Wehn, “Energy modelling in sensor networks,” Advances in Radio Science, vol. 3, no. 5, pp. 347–351, Jun. 2007. [8] S. Kellner, M. Pink, D. Meier, and E.-O. Blass, “Towards a realistic energy model for wireless sensor networks,” in The Fifth Annual Conference on Wireless On demand Network Systems and Services (WONS 2008), Garmisch-Partenkirchen, Germany, Jan. 23–25 2008, publication. [9] M. Baar, H. Will, B. Blywis, A. Liers, G. Wittenburg, and J. Schiller, “The ScatterWeb MSB-A2 Platform for Wireless Sensor Networks,” Freie Universität Berlin, Tech. Rep., 2008. [10] H. Will, K. Schleiser, and J. H. Schiller, “A real-time kernel for wireless sensor networks employed in rescue scenarios,” in Proc. of the 34th IEEE Conference on Local Computer Networks (LCN), M. Younis and C. T. Chou, Eds. Piscataway, NJ, USA: IEEE Press, October 2009, pp. 834–841. [11] A. Dunkels, B. Grönvall, and T. Voigt, “Contiki - a lightweight and flexible operating system for tiny networked sensors.” pp. 455–462, 2004. [Online]. Available: http://dblp.uni-trier.de/db/conf/lcn/lcn2004. html#DunkelsGV04 [12] gnu.org, “GCC, the GNU Compiler Collection,” http://gcc.gnu.org/, 2011. [Online]. Available: http://gcc. gnu.org/ [13] T. Baumgartner, I. Chatzigiannakis, S. Fekete, C. Koninis, A. Kröller, and A. Pyrgelis, “Wiselib: A generic algorithm library for heterogeneous sensor networks,” in Proceedings of EWSN 2010, vol. 5970. Springer, 2010, pp. 162–177. [14] M. Günes, B. Blywis, and F. Juraschek, “Concept and Design of the Hybrid Distributed Embedded Systems Testbed,” Freie Universität Berlin, Tech. Rep. TR-B-08-10, 2008. [15] M. Guenes, F. Juraschek, B. Blywis, Q. Mushtaq, and J. Schiller, “A testbed for next generation wireless network research,” 2009, submitted to PiK - Special Issue on Mobile Ad-hoc Networks. Simulationsgestützte Algorithmenentwicklung für drahtlose Sensornetze Stefan Lange Oliver Stecklina Michael Methfessel IHP Im Technologiepark 25 D- 15236 Frankfurt (Oder) Germany [email protected] IHP Im Technologiepark 25 D- 15236 Frankfurt (Oder) Germany [email protected] IHP Im Technologiepark 25 D- 15236 Frankfurt (Oder) Germany [email protected] Abstract— Die technische Entwicklung der letzten Jahre im Bereich der Microcontroller und drahtlosen Sensornetzwerke hat dazu geführt, dass deren Leistungsfähigkeit und damit deren Einsatzmöglichkeiten stark angewachsen sind. Diese Entwicklung bildet die Grundlage für das „Internet der Dinge“, welche aktuell vielfach Gegenstand der Forschung und Entwicklung von modernen eingebetteten Systemen ist. Die gestiegene Leistungsfähigkeit der Mikrocontroller-basierten Sensorknoten und Sensornetzwerk bedingt jedoch eine stetig steigende Komplexität der eingesetzten SoftwareSysteme. Für den Nachweis der Funktionsfähigkeit von neuen Algorithmen hat sich der Einsatz von Simulationswerkzeugen durchgesetzt. Sie ermöglichen eine Übertragung der Realität in eine Laborumgebung und beschleunigen maßgeblich die Entwicklungszeiten und damit die Time-to-Market eines Produktes. Die Übertragbarkeit der Simulationsergebnisse auf reale Sensornetze hängt jedoch entscheidend von der Genauigkeit des Simulationsmodells ab. Einfache Simulationsmodelle bieten nur ungenaue und mitunter falsche Ergebnisse. Exakte Modelle sind sehr schwer Umsetzbar und benötigen meist sehr lange Simulationszeiten. Um diese Lücke zwischen der Simulation und der realer Welt zu verkleinern, präsentieren wir in diesem Beitrag einen Ansatz, der die Spezifika der Simulationsumgebung in die reale Systemumgebung integriert und damit die Verwendung von einfachen Simulationsumgebungen möglich macht. Zum Nachweis der Tragfähigkeit unseres Ansatzes präsentieren wir ein praktisches Beispiel eines Bluetoothbasierten Multi-Hop-Netzwerkes, wo wir den vorgestellten Ansatz erfolgreich einsetzen konnten. I. Verfügbarkeit und die Zuverlässigkeit des Gesamtsystems gegenüber der drahtgebundenen Lösung nicht negativ beeinflusst werden. Zum Erreichen des Ziels wurden Algorithmen für eine selbstorganisierende, selbstheilende und autarke Multi-Hop-Netzwerkarchitektur entwickelt. Da im Rahmen des Projektes die Entwicklung der Software und der Hardware parallel erfolgen musste, waren Tests im realen System erst zu einem sehr späten Zeitpunkt des Projektes möglich. Eine sequenzielle Entwicklung von Hardware und Software war aufgrund des engen Projektplans nicht möglich. Aus diesem Grund mussten die Entwicklungsergebnisse zunächst in einer Simulationsumgebung erprobt werden. Um möglichst große Netzwerke in möglichst kurzer Zeit simulieren zu können, wurde ein sehr abstraktes Simulationsmodell verwendet. Um den entwickelten Algorithmus in der realen Systemumgebung nutzen zu können, wurde für die Zielplattform ein Framework entwickelt, dass die Spezifika der Simulationsumgebung in der Realumgebung erhält. In diesem Beitrag beschreiben wir den Algorithmus, die Simulationsumgebung, das von uns entwickelte Framework und die reale Umgebung, in welche wir die Tragfähigkeit unseres Ansatzes verifiziert haben. Im nächsten Abschnitt erfolgt zunächst eine kurze Beschreibung von typischen Simulationsumgebungen für Sensornetzwerke. Im nachfolgenden Kapitel erläutern wir den von uns für das Solarflex entwickelten Algorithmus. Anschließend wird die verwendete Simulationsumgebung vorgestellt. Danach beschreiben wir unser Framework zu Übertragung der Spezifika der Simulationsumgebung in das reale System. Im Kapitel 4 wird der Aufbau der Zielplattform erläutert und die im Rahmen des Projekts verwendete Testanlage beschrieben. Abschließend erfolgt eine zusammenfassende Auswertung der Ergebnisse. EINLEITUNG Die Entwicklung des in diesem Beitrag vorgestellten Ansatzes erfolgt im Rahmen des Projektes Solarflex. Ziel des Projektes war die Entwicklung einer auf Bluetooth[1] basierende drahtlose Netzwerklösung zur Steuerung mittlerer und großer Solarkraftwerke. Die Lösung soll als Ersatz für eine existierende auf Ethernet-basierende Installation eingesetzt werden. Ziel der Architektur war, dass die II. VERWANDTE ARBEITEN Dem klassischen Ansatz folgend bieten viele Betriebssysteme für Sensornetze die Möglichkeit als Zielplattform einen Simulator zu spezifizieren. Anschließend wird das System speziell für Simulationsumgebung erstellt, 45 d.h. es werden Spezifika der Simulationsumgebung in das System integriert. Um eine Verwertbarkeit der Ergebnisse zu gewährleisten, muss die Simulationsumgebung die reale Welt möglichst genau darstellen, da das Betriebssystem anschließend weitestgehend unverändert auf die Zielsystem übertragen werden soll. OMNeT++ [2] in Verbindung mit dem Castalia Framework [3] bietet eine Simulationsumgebung für Sensornetzwerke, welche viele Umweltparameter, wie z.B. Sendestärke und Energieverbrauch mit einbezieht. Die Simulation von großen Netzwerken mit mehreren hundert Knoten ist jedoch sehr rechenintensive und die Einstellung der Simulationsumgebung sehr aufwendig. Für TinyOS [4] existiert TOSSIM [5], welches nicht die Mächtigkeit von OMNET++ erreicht und damit eine abstraktere Abbildung der realen Welt bedingt. Für Contiki [6] wurde der Simulator COOJA [7] entwickelt. Speziell für Bluetooth-Netzwerke existieren für den Simulator NS2 [8] Erweiterungen wie [9] und [10]. Im Gegensatz zu dem von uns entwickelten Ansatz wird in den genannten Arbeiten versucht, ein möglichst realistisches Simulationsmodell zu verwenden. In allen Fällen können die in der Simulation gewonnenen Ergebnisse nur bedingt auf das reale System übertragen werden, so dass umfangreiche Tests im Realsystem weiterhin notwendig sind und mitunter Anpassungen am Algorithmus zu einem sehr späten Entwicklungszeitpunkt erforderlich sind. III. KONZEPT A. Netzwerkalgorithmus Die Datenübertragung in einem Netzwerk kann in drei Prozesse gegliedert werden: 1. Netformation – Dieser Prozess erstellt direkte Verbindungen zwischen einzelnen Knoten. 2. Routing – Dieser Prozess stellt Informationen bereit, wie im Netz bestimmte Zielknoten erreicht werden können. 3. Forwarding – Dieser Prozess führt die Weiterleitung der Datenpakete auf den einzelnen Knoten des Netzes durch. Jeder dieser Prozesse greift dabei auf die Ergebnisse seines Vorgängerprozesses zu. Das Routing nutzt die vom Netformation erzeugten Verbindungen. Das Forwarding trifft Entscheidungen auf Grundlage der vom Routing bereitgestellten Daten über die Pfade im Netzwerk. In drahtgebundenen Netzen wird die Netformation bereits implizit bei der Installation der Verkabelung durchgeführt. Beim Einsatz einer Funktechnologie, die eine BroadcastPrimitive bereitstellt, wie z.B. IEEE802.15.4[11], wird häufig auf Netformation verzichtet und sämtliche Datenpakete werden per Broadcast versendet. Dafür werden aufwändigere Routingund Forwarding-Verfahren eingesetzt. Im Fall von Bluetooth ist dieser Ansatz nicht effektiv. Bluetooth arbeitet verbindungsorientiert und stellt keinen Broadcast zur Datenübertragung bereit. Das Projekt Solarflex (KF2123403DF9) wurde gefördert durch das Bundesministerium für Wirtschaft und Technologie. 46 Wir entwickelten und implementierten einen NetformationAlgorithmus, der unter Beachtung der Bluetooth-Spezifikation und der Einschränkungen der Hardware [12] alle Knoten in einem Netz mit Baumtopologie verbindet. Der Algorithmus besitzt keine Routing- oder Forwarding-Funktionalität. Diese Funktionen müssen durch andere Systemkomponenten realisiert werden. Als Schnittstelle zwischen Algorithmus und Simulator bzw. zum Framework wurde ein vereinfachtes Bluetooth-HCI, der Schnittstelle zum Bluetooth-Baseband-Controller, gewählt. Die Schnittstelle umfasst Primitive für • Suche nach Geräten in der Nachbarschaft, • Verbindungsverwaltung, • Versand und Empfang von Datenpaketen. B. Simulator Für die Simulation verwenden wir den von uns entwickelten ereignisorientierte Simulator CSIM. Das Simulationsmodell beinhaltet Gerätesuche, Verbindungsaufbau, Verbindungsabbau sowie Datenübertragung. Von Verschlüsselung, Autorisierung, Authentifizierung und dem Bluetooth-Protokollstapel wird vollständig abstrahiert. Außerdem definiert das Modell eine sterile Umgebung. Es existieren keine fremden Geräte im Modell. Der Zugriff auf die Bluetooth-Schnittstelle ist exklusiv und muss nicht mit anderen Diensten abgestimmt werden. Durch dieses einfache Modell ist es möglich, den Aufbau großer Netze mit bis zu 2000 Knoten in wenigen Minuten zu simulieren. C. Framework Für die Abarbeitung des Netzwerkalgorithmus wurde für die Zielplattform ein Framework entwickelt und implementiert. Im Framework sind die folgenden Aufgaben implementiert: 1. Das Framework führt den Algorithmus synchronisiert aus und verwaltet die Queue für eingehende Ereignisse, die der Algorithmus abarbeitet, und die Queue für ausgehende Kommandos, welche der Algorithmus aussendet. 2. Der Algorithmus greift beim Verbindungsaufbau, beim Verbindungsabbau und bei der Datenübertragung scheinbar direkt auf die Hardware zu und verwendet die physische Verbindungen für seine Kontrollkanäle. Das Framework bildet diese Verbindungen auf die BluetoothSerial-Port-Emulation ab, indem die Kommandos vom Algorithmus in einer Adaptionsschicht abgearbeitet und die entsprechenden Ereignisse ebenfalls in der Adaptionsschicht generiert werden. Dadurch können die physischen Verbindungen von allen Bluetooth-Diensten mitgenutzt werden. 3. Das Framework filtert die Gerätesuche, so dass die Umgebung so steril erscheint, wie das Simulationsmodell. Dazu werden alle Geräte, die nicht am Netz teilnehmen, während der Gerätesuche ignoriert. 4. Durch die Verwendung der Standardprotokolle ermöglicht das Framework eine Zertifizierung des Gesamtsystems. 5. Das Framework verwaltet die Logging- und Statistikdaten, die das Framework und der Algorithmus während der Ausführung generieren. Somit ermöglicht das Framework die unveränderte Übernahme der Algorithmus-Implementierung direkt aus der Simulation. IV. UMSETZUNG A. Sensorknoten Die im Rahmen des Projekts entwickelten Netzknoten verwenden einen ARM9-basierten Microcontroller von Atmel. Die Netzknoten verfügen über eine Ethernet-Schnittstelle, eine serielle Schnittstelle für Debug-Informationen und fünf LEDs zur Statusanzeige. Das Betriebssystem basiert auf einem eingebetteten Linux. Auf dem Sensorknoten findet das Bluetooth-Modul BlueBear [14], auf dem der BluetoothController BlueCore04-External [15] verbaut wird, Verwendung. Die Firmware des Controllers unterstützt die Bluetooth-Spezifikation 2.1+EDR. Als Bluetooth-Stack wird der bereits in Linux integrierte Bluetooth-StackBlueZ [16] verwendet. Das Framework wird als eigenständiger Prozess auf dem Zielknoten ausgeführt. Zwischen je zwei Knoten, die durch das Netformation verbunden wurden, wird eine Bluetooth-PANVerbindung für die Übertragung der Ethernet-Rahmen über Bluetooth aufgebaut. Auf sämtlichen Knoten des Netzes werden die Endpunkte der PAN-Verbindungen und die lokale Ethernet-Schnittstelle in einer Software-Bridge registriert. Die Software-Bridge führt das Routing und Forwarding der Ethernet-Rahmen, wie in [17] beschrieben, durch. Dadurch erscheinen die Ethernet-Schnittstellen der einzelnen Knoten als Ports eines verteilten Ethernet-Switch. B. Testanlage Für die Tests des Frameworks und des Algorithmus auf der Zielplattform wurde im Labor ein Testnetz bestehend aus 30 Knoten aufgebaut. Aufgrund der räumlichen Nähe der Knoten sind diese am Antennenausgang mit 20-dBiDämpfungsgliedern versehen, um einen räumlichen Abstand zu erzwingen. Die Knoten werden durch Netzgeräte mit Energie versorgt. Ein Knoten des Netzwerkes ist mit einem Test-LAN verbunden, die Ethernet-Schnittstellen der anderen Knoten werden nicht verwendet. In diesem Testnetz können die einzelnen Funktionen des Systems - wie z.B. Aufbauzeit des Netzes, Reparaturzeit des Netzes, Latenz und Durchsatz bei der Datenübertragung getestet und gemessen werden. C. Feldtest Für die Tests des Frameworks und des Algorithmus auf der Zielplattform wurde im Labor ein Testnetz bestehend aus 30 Knoten aufgebaut. Aufgrund der räumlichen Nähe der Knoten sind diese am Antennenausgang mit 20-dBiDämpfungsgliedern versehen, um einen räumlichen Abstand zu erzwingen. Die Knoten werden durch Netzgeräte mit Energie versorgt. Ein Knoten des Netzwerkes ist mit einem Test-LAN verbunden, die Ethernet-Schnittstellen der anderen Knoten werden nicht verwendet. In diesem Testnetz können die einzelnen Funktionen des Systems - wie z.B. Aufbauzeit des Netzes, Reparaturzeit des Netzes, Latenz und Durchsatz bei der Datenübertragung getestet und gemessen werden. Für Tests unter realen Bedingungen wurde in einer Solaranlage die Ethernet-Verkabelung durch die beschriebene Lösung ersetzt. Die Solaranlage umfasst 30 Wechselrichter, die zuvor über einen Switch mit dem Firmennetz und dem Internet verbunden waren. Auf 29 Wechselrichtern wurden die Netzknoten installiert. Ein Wechselrichter blieb als Referenz direkt mit dem Switch verbunden. Darüber hinaus wurde ein Netzknoten als Datensenke mit dem Switch verbunden. Die Energieversorgung der Netzknoten erfolgt über die Wechselrichter. V. AUSWERZUNG UND ZUSAMMENFASSUNG Die Auswertung der Simulations- und Testergebnisse zeigte, dass das Verhalten der Netzknoten weitestgehend dem Verhalten der Knoten in der Simulationsumgebung entspricht. Der entwickelte Algorithmus konnte nahezu unverändert im Realsystem verwendet werden. Allerdings zeigten die Feldtests, dass die Dauer der Ereignisbehandlungsroutinen im Simulator nicht mit Null abstrahiert werden kann. Diese führte zu Fehlerfällen, welche Anpassungen des Algorithmus erforderlich machten. Darüber hinaus war die echte Parallelität im realen Sensornetz, die im Simulator nicht nachgestellt wurde, Ursache für Probleme beim Auf- und Abbau von Verbindungen. Mit der erfolgreichen Übernahme des NetformationAlgorithmus aus der Simulationsumgebung in die Testanlage konnte die Praktikabilität des vorgestellten Ansatzes gezeigt werden. Im Feldtest aufgedeckte Probleme konnten leicht behoben und könnten durch Erweiterung des Frameworks in zukünftigen Entwicklungen ganz vermieden werden. Es konnte nachgewiesen werden, dass ein sehr abstraktes Simulationsmodell mit geeigneten Maßnahmen auf einer realen Zielplattform nachgestellt werden kann. Damit können im Simulator entwickelte Algorithmen direkt im Realsystem verwendet und damit die Entwicklung von neuen Algorithmen stark beschleunigt werden. Darüber hinaus wird eine parallel Entwicklung von Hardware und Software möglich, was den Entwicklungszyklus und damit die Time-to-Market eines Produktes weiter verkürzt. REFERENZEN [1] [2] [3] [4] [5] [6] Specification of the Bluetooth System 2.1+EDR, Bluetooth SIG Std., Jul 2007. A. Varga, The OMNeT++ Discrete Event Simulation System, the European Simulation Multiconference, Prague, Czech Republic, 2001 Castalia. A simulator for WSNs. http://castalia.npc.nicta.com.au/. P. Levis, Sam Madden, Joseph Polastre, Robert Szewczyk, Kamin Whitehouse, Alec Woo, David Gay, Jason Hill, Matt Welsh, Eric Brewer, David Culler. Tinyos: An operating system for wireless sensor networks. In W. Weber, J. Rabaey, and E. Aarts, editors, Ambient Intelligence. Springer-verlag, 2004. P. Levis, N. Lee, M. Welsh, D. Culler. TOSSIM: Simulating large wireless sensor networks of tinyos motes. In Proceedings of the First ACM Conference on Embedded Networked Sensor Systems (SenSys 2003), 2003. A. Dunkels, B. Gronvall, T. Voigt. Contiki - a lightweight and flexible operating system for tiny networked sensors. Local Computer Networks, Annual IEEE Conference on, 0:455–462, 2004. 47 [7] Osterlind, F., Dunkels, A., Eriksson, J., Finne, N., Voigt. T. 2006. Crosslevel sensor network simulation with cooja. In Proceedings 2006 31st IEEE Conference on Local Computer Networks, pages 641--648. IEEE. [8] The Network Simulator - ns-2. http://www.isi.edu/nsnam/ns/index.html. [9] G. Tan, Blueware: Bluetooth Simulator for NS, 2002. :MIT Lab. Comput. Sci. [10] UCBT - Bluetooth Extention for NS2 at the University of Cincinnati. http://www.ececs.uc.edu/ cdmc/ucbt/ucbt.html [11] IEEE 802.15.4, IEEE Standard for Information technology Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) 48 [12] [13] [14] [15] [16] [17] Specifications for Low Rate Wireless Personal Area Networks (LRWPANs), Sep. 2006. BlueCore Scatternet Support, CSR, 2005. The Bluetooth Qualification Program, Bluetooth SIG, https://www.bluetooth.org/Technical/Qualification/home.htm BlueBear-Datasheet, lesswire AG, 2009 BlueCore4-External Product Data Sheet, CSR, 2005 BlueZ, Bluetooth protocol stack for Linux. http://www.bluez.org/. IEEE Standard for Local and Metropolitan Area Networks: Media Access Control (MAC) Bridges, Jun 2004 On the Integration of Wireless Sensor Networks and Smartphones in the Logistics Domain Sebastian Zöller, Andreas Reinhardt, Heiko Guckes, Dieter Schuller, Ralf Steinmetz Multimedia Communications Lab, Technische Universität Darmstadt Rundeturmstr. 10, 64283 Darmstadt, Germany Email: {sebastian.zoeller, andreas.reinhardt, heiko.guckes, dieter.schuller, ralf.steinmetz}@KOM.tu-darmstadt.de Abstract—A promising application domain for wireless sensor networks is their use for real-time monitoring in logistics transport processes. Through a constant monitoring of environmental parameters which influence the condition of transported goods, they allow for early transmission of alert messages in case of critical situations. The stakeholders however only benefit from alert messages if they are transmitted in a timely manner, so that they can initiate countermeasures and adapt their logistics processes accordingly. For the required connection between a wireless sensor network and the decision makers’ systems, the application of smartphones as bridging devices has been identified as particularly promising. In this paper, we analyze possibilities to interconnect wireless sensor networks with smartphones to enable a long-range transmission of alert messages to decision makers during transport processes. Based on our requirement analyses, we suggest a particular promising connection concept and provide a proof-of-concept implementation of this concept. I. I NTRODUCTION Wireless sensor network (WSN) technology provides a promising means to realize real-time monitoring of transport processes in the logistics domain. Wireless sensor nodes (motes) can sense diverse parameters (e.g., shock, tilt, temperature, or humidity) related to the condition of transported goods and thus determine whether critical thresholds have been reached during a transport. In this case, alert messages can be wirelessly propagated through the WSN and forwarded to a logistics provider’s backend system by an appropriate gateway node. Thus, based on the local detection of events during a transport, warnings can be conveyed to responsible decision makers, which can initiate countermeasures in time and adapt their processes accordingly. In this paper, we focus on the question how such alert messages can be efficiently transferred from WSNs to the responsible decision makers’ systems. We particularly address WSN deployments in a container during road transportation with trucks and investigate possibilities to realize the gateway functionality between the WSN and end user systems in such an application scenario. In [1], we have already analyzed different possibilities in this context and identified the application of smartphones as particularly promising. Thus, in this paper we investigate possibilities to integrate motes and smartphones in a logistics context to realize a smartphonebased gateway between WSN and end users’ systems. The contributions of this paper are the following: We shortly revisit the application potential of WSN technology in the context of logistics transport processes and present corresponding requirements to be taken into account (Sec. II). We present different possibilities to interconnect motes with smartphones and based on different requirement analyses, we present our concept (Sec. III). We discuss and analyze a prototypical proof-of-concept implementation (Sec. IV), and conclude our paper by presenting conclusions and future work (Sec. V). II. WSN S IN L OGISTICS T RANSPORT P ROCESSES Motes are able to monitor various environmental parameters that may influence the condition of transported goods in real time, e.g., temperature in the context of temperature-sensitive transports, gas concentrations during the transport of animals, or shake and tilt values when transporting shock-sensitive goods. Thanks to their storage and processing capabilities, they can locally evaluate the sampled data and wirelessly transmit corresponding status and alert messages. This enables them to provide a real-time monitoring of transport processes in logistics, which can for example support Supply Chain Event Management (SCEM), as we have pointed out in [1]. A major driving application for real-time monitoring of goods is in the fields of cold chain transport processes and food logistics (e.g., [2], [3]), and approaches to realize an intelligent container, which incorporates such a monitoring infrastructure [4]. In the work at hand, we focus on transport processes in the context of road transportation with trucks and thus on WSN deployments in a container on a truck or a truck’s load area. For the general application of WSN technology in such an application context, we have identified four requirement categories to be considered (cf. [1]): • Technological requirements comprise properties and constraints of the applied technology, e.g., energy constraints of WSNs. • Economical and organizational requirements include economical constraints and integration needs in existing infrastructure, e.g., cost-benefit ratio of WSN deployments. • Regulatory requirements comprise constraints by law and standardization bodies, e.g., usable frequency bands for transmission. • Logistics market specific requirements comprise properties and constraints of the application domain, e.g., the prevailing massive cost pressure. As different interdependencies between these requirement categories exist, it is important that they are not considered isolated from each other. 49 III. I NTERCONNECTING M OTES AND S MARTPHONES For the realization of intelligent transportation systems, it is essential to transmit alert messages from the WSN to the decision makers’ systems with low delays. Only when event notifications are transmitted in a timely manner, the application potential of WSN technology in logistics transport processes, and particularly early warnings of responsible decision makers, can be fully exploited. To realize the required connection between sensors and stakeholders, we have identified the usage of smartphones as gateways for data transmission between a WSN deployed in a container on a truck or a truck’s load area as particularly promising in [1]. This leads to an application scenario as depicted in Fig. 1. For this scenario, we investigate possibilities to interconnect motes and smartphones to realize the connection between WSN deployment and the backend systems of decision makers. We therefore analyze technological platforms that could be used in this context and how they can be connected. A. Choosing a Wireless Sensor Platform and a Smartphone For the selection of an adequate wireless sensor platform and a smartphone, we have deduced specific requirements based on the requirement categories presented in Sec. II. A total number of ten requirements have been determined for the selection of a wireless sensor platform: 1) Adequate power consumption Motes are supposed to operate for a long time without attendance. Because of their restricted energy budget resulting from battery-powered operation, a low power consumption is essential. 2) Sufficient radio communication range To provide communication between the individual motes within a WSN, their transmission range must be sufficient to reach at least one neighboring mote, even when transported goods negatively impact their transmission range. 3) Compliance to law and standards To be able to operate a WSN deployed in a container on a truck or in a truck’s load area during an international transport process, adherence to national rules has to be guaranteed. 4) Ease of software development To allow for efficient software development with reduced development times, well-established solutions are preferable in this context, e.g., already available, reusable, and well-tested code. Fig. 1. 50 The investigated application scenario 5) Adequate interoperability and extendability To be able to adapt a WSN to changes in the application scenario, like the need to measure more or other environmental parameters or to extend the deployed WSN with new mote platforms, sufficient interoperability and extensibility options have to be provided. 6) Sufficient scaleability and flexibility in topology Because motes are prone to failures, e.g., due to battery depletion or physical damage, sufficient scaleability and flexibility is required to cope with such failures. 7) Adequate price As the logistics domain faces a huge cost pressure, expenses need to be as low as possible to provide a sufficient return on investment for a WSN deployment in this context. 8) Sufficient data security level The data transmitted through the WSN is usually sensitive data from different companies, which necessitates a sufficient level of data security to guarantee that company secrets are protected. 9) Small size and weight To save valuable space in the container and avoid a negative impact on the truck’s fuel consumption, the motes deployed should be as small and lightweight as possible. 10) Adequate wake-up time The wake-up time of a mote also influences its power consumption, as longer sleep cycles can be achieved with shorter wake-up times, which reduces the overall energy consumption of a mote. For the selection of a WSN platform based on the above mentioned requirements, we conducted a market analysis and compared 22 current mote platforms. Based on this comparison, we came to the decision that the TelosB platform [5] best fits our needs. As current smartphones usually provide sufficient processing and storage capabilities for our needs, we have not taken these into account for selecting a suitable smartphone platform, but identified a different set of four requirements, particular important in our application scenario: 1) High current and predicted market share For a solution with current and future relevance, the smartphone platform used must exhibit a high current and predicted market share to provide a sufficient market penetration. 2) Sufficient support of different communication standards To be able to interconnect a smartphone and a mote sufficient support of different communication standards is required, e.g., the standard Bluetooth profiles to enable communication with other standard Bluetooth devices. 3) Hardware expandability To support even connection concepts to motes which require additional hardware, the opportunity to attach additional hardware to the smartphone should be provided. 4) Geolocation support To enrich the information transferred by the smartphone and basically enable locationbased services, the smartphone should provide a possibility to determine its current geographic location. Based on these requirements, we compared currently offered platforms and decided that an Android-based smartphone best fits our needs, specifically we used a Google Nexus One [6]. B. Connecting a Wireless Sensor Platform to a Smartphone One design possibility for a connection between the chosen TelosB mote platform and the chosen smartphone platform is to extend the smartphone in a way that enables IEEE 802.15.4 wireless communication as shown in Figure 2. This requires adding additional hardware to the smartphone to provide support for IEEE 802.15.4 and a corresponding software support for the additional hardware. Usually, the latter requires “rooting” the smartphone. A second design option is to extend the TelosB in a way that enables Bluetooth communication as shown in Figure 3. A third option is to use a device with Bluetooth and IEEE 802.15.4 radio as a bridge between the Android phone and the TelosB mote (cf. Fig. 4). The device could be deployed in the driver’s cabin and thus powered directly by the truck. Therefore, this type of gateway device would not have any constraints with regard to its power consumption, and it would also allow the usage of different Android smartphones due to its generic Bluetooth communication interface. To assist in the selection between the presented connection concepts, several application-specific requirements have to be considered. In this context, we have identified the following five essential requirements: 1) Reusable, flexible, fault-tolerant, and interoperable solution Since hardware and specifications are prone to constant change, the solution should not be bound to an individual device, but rather support a whole category of devices, like all Android devices, and should be not prone to errors. 2) Only unobtrusive modifications to the existing software platform (i.e., no rooting of the phone) Because rooting the smartphone or heavy kernel modifications might open up security risks or restrict interoperabilty or porting of the solution, such modifications should not be required. 3) Low costs Due to the huge cost pressure prevailing in the logistics domain, expenses and initial investment costs should be minimized. 4) No negative influence on the existing hardware A good solution should not negatively influence the employed smartphone or motes, e.g., reduce their lifetime by significantly increased power consumption. 5) Low and easy maintenance The solution should require only sufficiently low maintenance cycles and should be easily replaceable in case of failure. Based on these requirements, and some additional real-life tests (a set of experiments was conducted on a truck’s load area as shown in Fig. 5), we propose a connection concept employing a wireless bridge between mote and smartphone as depicted in Fig. 4. Fig. 5. Experimental setup in the conducted field test IV. P ROOF - OF -C ONCEPT I MPLEMENTATION Fig. 2. Connection using a rooted smartphone with additional hardware Fig. 3. Connection using a mote extension via UART and a Bluetooth module Fig. 4. Connection using a bridging device between smartphone and mote We have realized the connection concept depicted in Fig. 4 in a proof-of-concept implementation. As wireless bridge between the chosen TelosB and the Google Nexus One smartphone we have decided to use a modified TelosB mote. This results in a prototypical setup as depicted in Fig. 6. In order to provide Bluetooth functionality to the bridging TelosB mote, we used a Bluetooth 2.0 to UART adapter from SURE Electronics1 [7] and soldered it to the 10 pin extension connector of the TelosB mote. To test the setup and implementation we wrote an Android Activity, which establishes a connection to the mote and displays various status information. On the TelosB, we deployed an application, which sends an increasing counter wrapped in an Active Message over UART 1 This adapter has been chosen for price and availability reasons. Aiming at a prototypical proof-of-concept implementation, we considered the security drawbacks inherent to Bluetooth 2.0 as negligible in our context. 51 Fig. 6. Prototype concept for mote and smartphone integration with an intermediated bridge to the connected Bluetooth adapter, which afterwards relays it via Bluetooth to the Android smartphone. After activating Bluetooth on the smartphone and binding the Bluetooth Adapter, the Android Activity was started. After the manual connection and pairing with the SURE adapter, the Activity establishes a connection between the Nexus One smartphone and the TelosB bridging mote. From this point, status messages with the increasing counter value are transmitted from the TelosB mote via the Bluetooth adapter to the Google Nexus One smartphone, which is shown in Fig. 7. Additionally, we sent messages from the smartphone to the mote and remotely controlled the TelosB’s LEDs. Unfortunately, the TelosB platform uses the same communication port for both the CC2420 radio and its extension port. Thus, we were not able to use both the TelosB radio and the Bluetooth adapter at the same time, but had to make use of resource arbitration in the TinyOS application in order to switch between those two. V. C ONCLUSIONS AND O UTLOOK Wireless sensor networks provide a promising means to enable real-time monitoring of logistics transport processes. Nevertheless, the monitored data and corresponding alert messages have to be transmitted to the responsible decision makers quickly. For this purpose, a long-range connection between wireless sensor network and end users’ backend systems is needed. To provide such a connection, the usage of smartphones has been proposed as particularly promising. Fig. 7. 52 Proof-of-concept implementation Thus, in this paper we have analyzed different possibilities to interconnect wireless sensor nodes and smartphones in the context of transport processes employing road transportation with trucks. On the basis of different requirement analyses, we have proposed one particular connection concept using a dedicated wireless bridge device between wireless sensor network and smartphone and provided a proof-of-concept implementation for this concept. As we are currently not able to automatically switch between the communication channel with the smartphone and the communication channel with the wireless sensor network on the bridging device in our actual implemented prototype solution, we plan to test our solution on other hardware platforms. In the work at hand, we focused on the integration of wireless sensor networks and smartphones. Thus, to really provide the whole connection between a wireless sensor network and the end users’ systems, possibilities to efficiently transmit data from the smartphone to those systems have to be investigated. Furthermore, security aspects were not part of our investigation. Hence, necessary and demanded security levels of the different stakeholders in the envisioned application scenario of road transportation have to be examined and possibilities to realize these have to be researched. ACKNOWLEDGMENT This work was partially funded by the German Ministry of Education and Research in the context of the research project ADiWa (www.adiwa.net). R EFERENCES [1] S. Zöller, A. Reinhardt, M. Meyer, and R. Steinmetz, “Deployment of Wireless Sensor Networks in Logistics - Potential, Requirements, and a Testbed,” in Proceedings of the 9th GI/ITG KuVS Fachgespräch Drahtlose Sensornetze, R. Kolla, Ed. Julius-Maximilians-Universität Würzburg, Sep 2010, pp. 67–70. [2] L. Ruiz-Garcia, P. Barreiro, J. Rodriguez-Bermejo, and J. I. Robla, “Review. Monitoring the intermodal, refrigerated transport of fruit using sensor networks,” Spanish Journal of Agricultural Research, vol. 5, no. 2, pp. 142–156, 2007. [3] R. Jedermann and W. Lang, “The Minimum Number of Sensors Interpolation of Spatial Temperature Profiles in Chilled Transports,” in Proceedings of the 6th European Conference on Wireless Sensor Networks, 2009, pp. 232–246. [4] R. Jedermann, J. D. Gehrke, M. Lorenz, O. Herzog, and W. Lang, “Realisierung lokaler Selbststeuerung in Echtzeit: Der Übergang zum intelligenten Container,” in Wissenschaft und Praxis im Dialog, H.-C. Pfohl and T. Wimmer, Eds. Hamburg: Deutscher Verkehrs-Verlag, 2006, pp. 145–166. [5] MEMSIC Inc., “TelosB Mote Platform,” Online: http://memsic.com/support/documentation/wireless-sensornetworks/category/7-datasheets.html?download=152:telosb (last access: July, 20 2011), 2006. [6] Google, “Nexus One – Google Phone Gallery,” Online: http://www.google.com/phone/detail/nexus-one (last access: July, 20 2011), 2011. [7] SURE Electronics, “Bluetooth Serial Converter UART Interface 9600bps User’s Guide,” Online: http://www.sure-electronics.net/download/GPGC021 Ver1.0 EN.pdf (last access: July, 20 2011), 2008. Implementation and simulation of an energy-efficient cluster-based wireless sensor network V. Delport, M. Gessner, T. D. Grossman, A. Singer Chair of radio and communication technology, Department of Electrical and Information Engineering, University of Applied Sciences Mittweida, Technikumplatz 17, 09648 Mittweida, Germany {volker.delport, gessner, grossman, asinger}@hs-mittweida.de Abstract—This paper focuses on reducing power consumption in cluster-based wireless sensor networks. For this purpose we proposed a new energy-efficient dynamic clustering technique for wireless sensor networks in [1]. In order to improve the proposed clustering technique under practical circumstances an energyefficient cluster-based wireless sensor network has been implemented. The numerical simulations by using our simulation platform Virtual Wireless Adhoc Networks (ViWiAN) shows that the proposed dynamic clustering technique is suitable for increasing the lifetime of the implemented cluster-based wireless sensor network. I. INTRODUCTION A wireless sensor network generally consists of a large number of small, low-power sensor nodes with wireless communication and limited computation capabilities. Sensor nodes usually operate with limited battery power. In most applications it may be inconvenient, and in some applications it is impossible to recharge the node batteries. In order to maximize the lifetime of the wireless sensor network, both the node hardware and the communication protocols must be designed to be energy-efficient. In terms of the energy-efficient communication in wireless sensor networks, a cluster-based network organization is generally considered to be the most favorable approach (Fig. 1). In a cluster-based wireless sensor network, the sensor nodes are organized into clusters. Figure 1. Cluster-based wireless sensor network Each cluster has a cluster head, which is one of its sensor nodes. The cluster heads collect sensor data from their corresponding cluster nodes and transfer the aggregated data to a central sink or a base station, respectively. Obviously energy can be saved if an optimal clustering solution of the cluster-based wireless sensor network can be found. Furthermore, since the cluster heads dissipate much more energy than the ordinary sensor nodes, it makes sense to rotate the role of the cluster heads (dynamic clustering). Therefore, the authors introduced a new energy-efficient dynamic clustering technique for wireless sensor networks in [1]. II. IMPLEMENTATION In order to validate how much energy can be conserved by employing the proposed energy-efficient dynamic clustering technique on wireless sensor networks under practical circumstances we implemented a real cluster-based wireless sensor network of thirty hardware sensor nodes at our department. A. Sensor node hardware For the implementation we used sensor nodes, which were manufactured by Texas Instruments and based on the systemon-chip solution CC2430, that combines an 8051 microcontroller unit (128 KB flash memory, 8 KB RAM, 32 MHz system clock) with an integrated 2.4 GHz IEEE 802.15.4 compliant radio transceiver CC2420. The radio transceiver is especially designed for low-power wireless applications. It transmits within the industrial, scientific and medical (ISM) radio bands, i.e. between 2400 and 2483.5 MHz and has a typical receiver sensitivity of -92 dBm. Figure 2 shows the sensor node hardware which is used. Figure 2. Sensor node hardware based on the system-on-chip CC2430 53 B. Network structure and addressing Obviously, a cluster-based wireless sensor network can be considered as a collection of independently operating star networks or clusters, respectively. All sensor nodes in the cluster-based wireless sensor network communicate at the same frequency within the ISM frequency bands. After the first sensor node device is activated, it can establish its own cluster and become the PAN coordinator as specified in the IEEE 802.15.4 standard [2], or the cluster head, respectively. Therefore, we use the 16-bit PAN identifier specified in the IEEE 802.15.4 standard as the cluster identifier. A cluster identifier is not currently used by any other clusters within the radio sphere of influence. Once the cluster identifier is chosen, the cluster head allows other sensor node devices to join its cluster. The 16-bit short address specified in the IEEE 802.15.4 standard is used as the sensor node identifier for addressing a sensor node within the cluster. Since each cluster head works as a PAN coordinator, the communication within a cluster can be handled without needing the transmission of the cluster head address. The chosen sensor node hardware includes support for address recognition. Therefore, energy-efficient addressing can be achieved. C. Multiple Access Mechanism We developed a special time division multiple access (TDMA) mechanism that avoids collisions and is especially for the target application much more energy-efficient than the multiple access methods which are specified in the IEEE 802.15.4 standard, like carrier sense multiple access with collision avoidance (CSMA-CA) [2]. The developed TDMA mechanism operates without a central time synchronization of the sensor nodes within the cluster. Each cluster head builds a TDMA frame that is divided into five parts. Figure 3 shows the message sequence chart of the developed and implemented TDMA frame. During the pre-node access period (Pre-NAP) each cluster head awakes, gets ready-to-receive, captures its own sensor data (temperature, battery voltage), and calculates the new TDMA frame of its cluster. In Addition, the pre-node access period is used to compensate clock variations in order to ensure that the cluster head is ready-to-receive before the first sensor node sends data. During the node access period (NAP) all sensor nodes within a cluster send their data to the cluster head one by one according to their sensor node identifiers. The cluster head acknowledges the successful reception by sending an acknowledge frame to each sensor node. The acknowledge frame is a special defined medium access control (MAC) command that contains the sleeping time for each sensor node and the received signal strength indication (RSSI) of the recently received sensor node frame. Each sensor node uses this echoed RSSI in order to reduce or increase its transmitting power, if necessary. During the post-node access period (Post-NAP) the cluster head could aggregate and compress the data of its cluster for sending to the base station. 54 Figure 3. TDMA frame message sequence chart In our special implementation no data compression is provided. However, we use this time period in order to compensate clock variations, as in the pre-node access period. During the access free period (AFP) each cluster head sends the collected data of its cluster to the base station. The base station acknowledges the reception by sending a command to each cluster head. The acknowledge command depends on the following two possible cases. In the case that all data of a cluster has been correctly received, the corresponding cluster head should go into the power down mode until the next TDMA frame starts (inactive period). In the case that data of at least one sensor node are not correctly received the corresponding cluster head should skip the inactive period and extend the access free period in order to catch the lost sensor node. In the seldom case that the base station is not able to send the acknowledge commands to the cluster heads, because of an error inside the base station or a power blackout, the cluster heads start the inactive period autonomously. During the inactive period, meaning most of the time, the cluster heads are in the power down mode and conserve energy. D. Indoor Test bed Based on the TDMA mechanism a cluster-based wireless sensor network has been implemented as an indoor test bed for a long-term test. Thirty CC2430-sensor nodes supplied by two commercially available Ni-MH accumulators totaling nearly 2600 mAh per sensor node have been arranged in the space of three rooms of the professorship of radio and communication technology at the University of Applied Sciences Mittweida. In order to ensure a completely dynamic clustering of the test bed the sensor nodes were arranged in ways that a sensor node is able to reach every other sensor node and the base station of the test bed without needing any multi hop communications. The communication protocols, running on the sensor nodes over the IEEE 802.15.4 layers, have been developed and programmed without using an operation system like TinyOS or anything similar. On the base station server, a relational MS-SQL database runs that stores all incoming data for analysis during and after the long-term test. The centralized dynamic clustering of the test bed is performed on the base station server, too. In order to execute the dynamic clustering by means of the approach introduced in [1] the current values of the electrical charge of the sensor nodes batteries are needed. But, the measurement of the electrical charge of a sensor node battery without discharging the battery is impossible. However, the current sensor node battery voltage can be measured, since each sensor node has got a battery monitor and is able to transmit its current battery voltage value into the sensor network. Therefore, we decided to activate a new clustering of the sensor network if the battery voltage of at least one of the current cluster heads is below the weighted battery voltage average of the whole sensor network. Furthermore, the cluster head selection is based on the current sensor node battery voltages, too. For the long-term test of the indoor test bed the thirty sensor nodes have been programmed to transmit their payload, i.e. the temperature value and the battery voltage every ten seconds to the base station server, i.e. 8640 times daily. Table I shows some of the essential parameters which have been defined for the long-term test of the indoor test bed. TABLE I. INDOOR TEST BED PARAMETERS Parameter Value Communication cycle time 10 s Pre-node access period 10 ms Time interval between two sensor node accesses 5 ms Post-node access period 10 ms Access free period 35 ms Number of clusters 3 Weight of the average battery voltage for activating a new clustering of the test bed 0,99 III. SIMULATION A. Simulation Platform ViWiAN The indoor test bed is one of the components of a complex simulation platform named Virtual Wireless Adhoc Networks (ViWiAN) that has been developed at our professorship since 2009. In addition to the indoor test bed ViWiAN also consists of a software suite that currently contains the simulation software ViWiAN Simulator, the base station software ViWiAN Base Node and the web portal ViWiAN Web. The web portal has been especially developed for the purpose of showcasing the work of the indoor test bed for the staff and the students of the University of Applied Sciences Mittweida via intranet. All mentioned software components are connected with a relational MS-SQL database that stores data which could come from either the indoor test bed or a wireless network simulation that is carried out by ViWiAN Simulator. Figure 4. Screenshot of the simulation software ViWiAN Simulator The simulation software ViWiAN simulator allows a threedimensional simulation of a wireless sensor network and its environment. Figure 4 shows a screenshot of ViWiAN Simulator with the implemented indoor test bed. B. Simulation model In order to achieve a model that simulates the implemented wireless sensor network as accurately as possible, we decided to calculate the typical energy consumption of a sensor node and a cluster head based on their real, meaning measured consumption of current within the time of one communication cycle. Based on the measured electrical voltage drop across a defined resistor of 4.58 Ω that is connected between the battery and the sensor node the consumption of current of each time period can be calculated. Consequently, by involving the measured time the electrical discharge of the sensor node battery is computable. Figure 5 shows the typical voltage drop curve of the implemented sensor node protocol versus its activity time which has been measured by a digital oscilloscope (1: awakening, 2: transmitting data to the cluster head and measuring sensor data of the following cycle, 3: changing from transmitting into receiving, 4: receiving the acknowledge frame from the cluster head, 5: going into the power down mode). With the maximum transmission power of 0 dBm, or 1 mW respectively, a sensor node consumes about 56 mAms within the whole activity time of one communication cycle, i.e. within 2 milliseconds. Figure 5. Voltage drop curve within the sensor node activity time 55 In this manner it is possible to roughly estimate the current battery voltage of a sensor node by means of the calculated electrical discharge of the sensor node battery based on the specific sensor node protocols. Figure 6. Voltage drop curve within the cluster head activity time Figure 6 shows the typical voltage drop curve of the implemented cluster head protocol versus the activity time (1: pre-node access period, 2: node access period, 3: post-node access period, 4: access free period, 5: sending a beacon frame, waiting for association requests of the sensor nodes, and going into the power down mode). The activity time of a cluster head depends especially on the number of sensor nodes within its cluster. In the case that a cluster head has got nine sensor nodes within its cluster, as shown in Figure 6, it requires about 3224 mAms within its activity time of about 105 milliseconds. In the inactive period of the TDMA frame, meaning in most of the communication cycle time all sensor nodes are in the power down mode and have got about 139 µA consumption of current. Therefore, sensor nodes need nearly 1390 mAms or cluster heads need about 1373 mAms within the inactive period. During the communication cycle time of ten seconds a cluster head consumes on average nearly three times more energy than a sensor node. Figure 5 shows that the consumption of current of a sensor node that transmits data (period 2) with the maximum transmission power of 0 dBm, or 1 mW respectively, is not much higher than the consumption of current that is required by the sensor node for data receiving (period 4). Furthermore, compared with the entire communication cycle time the sensor node transmission time is a very small period. Consequently, the influence of an optimal clustering of the wireless sensor network in regard to the distances between cluster heads and sensor nodes or between the cluster heads and the base station is less relevant to the energy efficiency than is popularly assumed. For the simulation of the implemented wireless sensor network the current battery voltage has to relate to the electrical discharge of the sensor node battery. Therefore, we let a sensor node transmit its current battery voltage every second until its battery was completely discharged in order to get a typical voltage vs. discharge curve of the used accumulators. Since the sensor node was continuously activated its consumption of current was on average nearly 30 mA. Afterwards, the measured battery voltage vs. discharge curve was approximated piecewise by using a number of polynomial functions. These polynomial functions were implemented into the simulation software ViWiAN Simulator. 56 C. Simulation Results As mentioned before, the essential purpose of our research is to maximize the lifetime of wireless sensor networks. But, obviously the definition of the lifetime depends on the application service which is provided by the sensor network. In the current project we have concentrated on applications in which it is necessary for all sensor nodes to stay alive as long as possible. Some examples for these application scenarios, where the service quality decreases considerably as soon as the first sensor node dies, are fire or housebreaking detection. We want in particular find out how much the lifetime of all sensor nodes of a cluster-based wireless sensor network could be extended by means of the dynamic clustering approach introduced in [1]. The simulation of the implemented indoor test bed by use of the simulation software ViWiAN Simulator results in the following forecasts. Without the dynamic clustering of the indoor test bed the first sensor node will fail after approximately 37 days. By means of the dynamic clustering approach introduced in [1] all sensor nodes will stay alive for approximately 174 days. According to this forecast the lifetime of all sensor nodes of the indoor test bed could be increased nearly fivefold if dynamic clustering is applied. Furthermore, within these 174 days 12 of the 30 sensor nodes, i.e. 40 percent of the sensor nodes will fail without applying the dynamic clustering. IV. CONCLUSIONS AND FUTURE WORK A cluster-based energy-efficient wireless sensor network has been developed and implemented into an indoor test bed of thirty sensor nodes. Since its launch the indoor test bed has been working well. The simulation of the indoor test bed resulted in a nearly fivefold increase of the lifetime of all sensor nodes by use of a dynamic instead of a static clustering approach. By means of the implemented indoor test bed we are looking to improve the dynamic clustering approach by calculating the sensor node distances based on the received signal strength indications (RSSI) instead of the sensor node positions. Furthermore, we are in the process of building an outdoor test bed at our department. ACKNOWLEDGMENT This research is supported by the Ministry for Science and Culture of the Free State of Saxony in Germany. REFERENCES [1] [2] V. Delport, M. Gessner, T. D. Grossmann, A. Singer, Deterministic technique for energy-efficient centralized clustering of wireless sensor networks, Proceedings 9. Fachgespräch „Sensornetze“ der GI/ITG Fachgruppe Kommunikation und Verteilte Systeme, 16. - 17. September 2010, Universität Würzburg, S. 75-78. IEEE Standard 802.15.4-2006, Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (WPANs) Utilizing Voltage Decline for Reaching Lifetime Goals André Sieber, Jörg Nolte Distributed Systems/Operating Systems group, BTU Cottbus Cottbus, Germany as, [email protected] I. I NTRODUCTION Energy is a mayor concern in wireless sensor networks. Sensor nodes should run for years with a limited energy budget providing a high quality of service. To reach these lifetimes traditional power management focuses on saving energy and thus extending the lifetime of sensor nodes. But it is essential that not only a sensor network reaches the highest possible lifetime, it should also reach a certain predefined lifetime goal. Especially if nodes are deployed in harsh environments and can not be reached, it is necessary that on the one hand no nodes fail early to guarantee the fulfillment of the network assignment and on the other hand the available energy is used completely to have a high application quality. To implement these requirements the power management not only needs to save energy but to control the power consumption according to the available energy. The consequence of controlling the power consumption of the system is that reaching the lifetime goal becomes more important than a constant application quality [1]. This ultimately leeds to the sacrifice of certain application work to system runtime. Typical sensor nodes are powered by alkaline or lithium batteries. But these and other battery technologies suffer from non-linear behavior, e.g. rate capacity, recovery effects and their strong dependence from environment conditions, especially temperature [2]. A sensor network performing environmental observations in a sense and send scheme is fully exposed to these conditions and can suffer from low temperatures accompanied by voltage drops. This can lead to failures since the voltage could be to low to power sensors or the whole, because their cutoff-voltage is underrun. Additionally, the actual delivered capacity depends on the load applied to A B C voltage Abstract—The battery dictates the lifetime of many embedded systems, especially wireless sensor networks. This makes it necessary to deal with batterie management. In this paper we present an approach for a battery management which enables a sensor node to reach a defined lifetime. The presented approach gives feedback to an energy manager if the current power consumption must be lowered or can be increased to reach the runtime goal. In contrast to other systems the battery is handled as black box to keep the system independent from the battery type and brand. First experiments yield promising results of this concept to reach a certain lifetime goal while maintaining a high application quality. system cutoff voltage battery cutoff voltage time Fig. 1. Stages of battery discharge (A) fast drop to nominal voltage (B) long nearly linear curve (C) fast drop to battery cutoff voltage the battery and can differ significantly from the manufacture specification. For most battery types the discharge can be divided into three phases (figure 1). In phases A and C the voltage drops at high rates: in A it drops near the battery nominal voltage and in C to the battery cutoff voltage. Furthermore the battery cutoff-voltage may be lower than the system cutoff-voltage resulting in energy that could not be used. Duty cycling is used by most sensor nodes to save energy by turning off unused parts of the sensor node and using sleep modes of the micro controller [3], which results in a pulse discharge of the battery. On the one hand this behavior opens the opportunity of using the recovery effect of certain battery technologies, which, on the other hand, makes a prediction of the available energy and thus the runtime more complex. A battery management could be able profit from the recovery effect, but due to it complexity maybe only implicitly. The rest of the paper is structured as follows. In section II the problem is described. In section III the related work is discussed. Section IV gives a short overview over the ideas of the feedback based battery management. Early evaluation results are presented in section V. Finally, a conclusion is given in section VI. II. P ROBLEM D ISCRIPTION The lifetime of the sensor node is divided into T discrete timeframes, where timeframe T − 1 is the target whose end must be reached. To reach such a certain predefined lifetime goal while providing a high quality of service it is essential to manage the power consumption. As consequence the power manager needs information about the remaining energy E(t) at a specific point in time t. The energy which can be 57 spent in each following discrete timeframe is E(t)/(T − t). However, retrieving information about the state-of-charge and thus available energy of a battery is a nontrivial problem. Controller Configuration Actor Battery Voltage Observer Feedback Abstract Battery Model Feedback Power Manager Application Vm(t) III. R ELATED W ORK There are three kinds of approaches to estimate the stateof-charge of a battery . Hardware based approaches like fuel gauges [4] or smart battery monitors [5] give accurate information of energy left in batteries but increase the system complexity and the unit costs in turn. Additionally, they consume energy, which can have an impact because the sleep modes of modern ultra-lowpower microcontrollers consume in the magnitude of few µA [6]. Complex battery models [7], [8] are also very accurate but suffer from high complexity and computation costs, which makes them unusable for deeply embedded systems. They also rely on complex parameters which had to be retrieved via experiments and thus depend on certain batteries. Lookup table based approaches [9] plot actual battery discharge charts and store them on the node to estimate the remaining charge by reading the recorded state-of-charge using the current voltage. Despite the simplicity of this approach, it suffers from the variation between the batteries not only in technology, type and brand, but also in single charges. This problem occurred in [9] and lead to early node failures which persisted until the model was adopted to the new discharge behavior. While the empiric approach to reach a certain lifetime is to include a high enough energy overhead, approaches targeting explicit lifetime goals are few [9], [10]. In [9] different levels are defined, which differ in application and energy footprints. Depending on the estimated remaining energy the levels were chosen which allow the node to reach the lifetime goal while providing the highest possible application quality. However, the energy footprint of each level must be obtained in advance. The terms voltage budget and target oriented energy management in the context of sensor networks were introduced in [10]. In this approach, the system and its parts are considered as control loops. The battery management loop aims to force the actual voltage to a target curve computed through piecewise linearization. To do so, sleep phases are inserted via duty cycling until the actual voltage meets the targeted one. The duration of the sleep phases were not computed on the sensor node but as optimization problem on a connected PC and sent to the node. Our approach was inspired by [10], but in contrast uses feedback to inform the power manager that an adjustment of the consumption is necessary. Additionally, due to the low complexity of the approach it runs on the sensor node itself. The linearization only adopts when certain boundaries are violated in order to keep the feedback and thus the energy consumption as stable as possible. 58 Voltage Sensor Battery Power Consumption Fig. 2. Control loop of the battery management system including power management and application IV. F EEDBACK BASED BATTERY M ANAGMENT To overcome the difficulties of determining E(t), our approach uses the current measured voltage Vm (t) as controlling value. Information about the voltage is available on almost any sensor nodes with little or no hardware overhead. Although there is only a poor correlation between voltage and available energy, it is possible to use the voltage decline as information about the battery state. Figure 2 shows the control loop, were the battery management acts as the controller. A significant difference between the assumed voltage Vref and the measured voltage Vm leads to feedback to the Power Manager (PM) which than changes the consumption of the application. This leads to a change in the voltage decline on which the system reacts. The battery management consist of two main parts, the Battery Voltage Observer (BVO) and the Abstract Battery Model (ABM). Only the BVO is mandatory, it either gives feedback directly or returns the whole internal state to be used by the ABM. If a certain behavior of the battery is known, the feedback can be influenced by the ABM. The PM which controls the power consumption of the system and application according to the feedback is not part of the battery management and can have different characteristics, eg. a simple change of the duty cycle or more complex behavior. A. The Battery Voltage Observer The BVO monitors the measurred voltage Vm (t) and compares it with the computed reference voltage Vref (t). If the upper U (t) or lower L(t) boundaries, which mark the tolerated difference between the assumed and the measured voltage, are breached, the BVO gives feedback. These are calculated as fraction of the remaining voltage budget, where B+ and B− are predefined constants and Vref (0) = Vm (0): U (t) = Vref (t) + (Vref (t) − Vcutof f ) ∗ B+ L(t) = Vref (t) − (Vref (t) − Vcutof f ) ∗ B− In each timeframe the voltage is assumed to be ∆V (t) lower than in the timeframe before, where ∆V (t) is computed by splitting the remaining voltage budget over the remaining timeframes. ∆V (t) is only recomputed if U (t) or L(t) are breached: ∆V (t) ∆V (t + 1) = Vm (t) − Vcutof f T −t L(t) < Vm (t) < U (t) else • U(t) voltage Vref(t) • Vm(t) L(t) time • Fig. 3. System behavior with boundary violation resulting in updating ∆V (t) and adoption of the power consumption Vref (t + 1) represents the assumed voltage at the next timeframe. It is computed from the measured voltage if the boundaries are breached, otherwise using the assumed voltage of the current timeframe: ( Vref (t) − ∆V (t) L(t) < Vm (t) < U (t) Vref (t + 1) = Vm (t) − ∆V (t) else If U (t) or L(t) are breached the power consumption must be adopted. The BVO computes the feedback which indicates how strong the boundary was breached and is rounded to the nearest integer value: Vm (t) − Vref (t) − L(t) − V (t) Vm (t) < L(t) ref F (t) = Vm (t) − Vref (t) Vm (t) > U (t) U (t) − Vref (t) 0 else The system behavior is shown in figure 3. In the second timeframe the current voltage drops below L(t), resulting in a negative feedback and the update of ∆V (t). In this figure the feedback results in an adoption of the power consumption and thus the voltage declines less in the third timeframe. Configuration parameters defined before the deployment of the system are the boundaries B+ and B− , the length and number of timeframes and Vcutof f . While Vcutof f is system dependent, the boundaries and the length and thus the number of the timeframes define the responsiveness of the system. While running, the BVO only depends on Vm and t. B. The Abstract Battery Model Using the raw feedback from the BVO to change the consumption may not lead to the intended application quality For example, the high drop of the voltage in phase A of figure 1 would lead to a negative feedback in the first timeframes, resulting in less work done by the node since it takes time until positive feedback cancels the negative one. To increase the feedback quality and thus the overall application quality it seams reasonable to benefit from basic information about battery behavior. Assuming the discharge behavior of figure 1, the ABM changes the feedback to adopt more to that behavior: • To prevent negative feedback due to the high voltage drop in phase A, negative feedback is ignored in the first timeframes. If the remaining voltage budget is low (phase C), negative feedback will be increased while positive feedback is bound to a low value to ensure that the voltage does not fall below the system cutoff-voltage under any circumstances. Positive feedback is ignored in the last timeframes, since an increased energy consumption results in a rapid decline in phase C. Experiments have shown that the BVO feedback in case of disturbances from temperature etc. leads to slow reaction times after these disturbances and can result in a continuously decreased power consumption. To increase the reactivity, the feedback is summed up, changes in the direction of the feedback resulting in additional increased feedback and thus a rapid convergence towards the power consumption defined at t0 . Since the battery recovery effect leads to rising voltage after higher negative feedback, a positive feedback would be generated. To prevent oscillation of the feedback, the positive feedback is restriced if the previous feedback was negative. V. E VALUATION & R ESULTS A. Evaluation Setup The battery manager was implemented using the REFLEX operating system [12] for the Texas Instruments eZ430Chronos development system [13], equipped with an MSP CC430F637 [6]. The application measures the battery voltage periodically using the built-in Analog-to-Digital Converter, sets the radio to receive mode for 250ms, and sends the system parameters to an access point. A simple power manager was implemented, which only changes the application duty cycle (DC) according to the feedback. With each point of feedback the duty cycle is increased or decreased by 10% with an initial duty cycle of 1.1s. CR2032 coin cells [14] were used to power the sensor nodes for T = 120 timeframes with 12 minutes length. Under stable conditions the battery is able to power the system for ≈29 hours before Vcutof f = 2.2V is reached, making a 20% overhead for the experiment which normally would not be used. The 24 hour experiment includes two 4 hour periods exposing the nodes to ≈6◦ C, otherwise room temperature with ≈22◦ C. B+ and B− were set to 0.5 and 0.1, resulting in a higher U (t) than L(t). This is motivated by the fact that a fast reaction to a lower than expected voltage is essential to reach T , but a positive feedback resulting in a higher application quality is only optional. A lower B+ could also lead to a too often increased power consumption which exhausts the battery to much and can only be compensated by a high negative feedback and thus a low application quality towards T . The timeframes for phase A where set to 10% of T and phase C begins at 20% of the remaining voltage budget. These values should be general enough to fit most battery types. 59 3.2 Feedback Vm Vm Reference Node 2.8 2.6 2.4 Battery Voltage [V] DC 3.0 1.2 1.1 DC [s] 1.0 0.9 0.8 1.0 Feedback 0.0 -1.0 -2.0 0 Fig. 4. t0 5 10 Time [hour] 15 t2 20 Experiment running 24 hours using EZ-Chronos sensor nodes and CR2032 coin cells, a high DC results in a lower power consumption B. Results The results of the experiment are shown in figure 4. The lower voltage caused by the lower temperature is clearly visible at t0 and t1 . The reference node with a stable DC of 1.1s which does not adopt its power consumption starts to reset at t2 due to low voltage and thus delivered only 73.6% of the possible messages. The node adopting its consumption not only reached T , but also delivered 6.2% more messages than a node running a stable DC of 1.1s for 24 hours. As shown in figure 4, no feedback was given to the PM in the high voltage decline at the beginning of the experiment, because of the rules of the ABM. In the first low temperature phase starting at t0 , L(t) was not exceeded and the DC is stable. After 11 hours U (t) was exceeded and a positive feedback was given. After the beginning of the 2nd low temperature phase at t1 the system reacts to the declined voltage and gives a negative feedback, due to the ABM the feedback was increased since a positive feedback was given before. After the voltage stabilizes again, the DC is increased constantly, except on positive feedback which was reversed in the following timeframe, but repeated after the recovery effect occurred. Generally, a high reactivity of the coin cells with a strong recovery effect occurred, which was so not observed on other battery types. VI. C ONCLUSION AND F UTURE W ORK In this paper we presented a battery management approach which avoids the complex computation of the state-of-charge of batteries. It uses the voltage decline to give feedback to an energy manager that adopts the power consumption. Treating the battery as black box and using only the voltage as information showed promising results in reaching lifetime goals. Furthermore, the feedback allows the power manager and battery manager to be completely independent from each other. 60 t1 To further evaluate the approach longer lasting evaluations with real world applications are necessary. Additionally, we are planning to couple the battery management with an energy manager which allocates the available energy budget to the specific devices of a sensor node according to the battery managers feedback and certain policies. Another planed future work is to extend the approach to harvesting scenarios and to different energy storage technologies, e.g. super capacitors. R EFERENCES [1] Madden, Samuel R. and Franklin, Michael J. and Hellerstein, Joseph M. and Hong, Wei, TinyDB: an acquisitional query processing system for sensor networks, ACM Transactions on Database Systems, 2005 [2] D. Linden, Handbook of batteries, second edition, McGraw-Hill Companies, 1995 [3] André Sieber, Karsten Walther, Stefan Nürnberger, Jörg Nolte, Implicit Sleep Mode Determination in Power Management of Event-driven Deeply Embedded Systems, 7th International Conference on Wired / Wireless Internet Communications, University of Twente, The Netherlands, 2009 [4] Texas Instruments, BQ2023 Single-Wire Advanced Battery Monitor Datasheet, Webpage http://www.ti.com [5] Maxim Integrated Products, DS2438 Smart Battery Monitor Datasheet, Webpage http://maxim-ic.com [6] Texas Instruments, CC430F6xx 16-Bit Ultra-Low-Power MCU Datasheet, Webpage http://www.ti.com [7] Daler Rakhmatov, Battery voltage prediction for portable systems Circuits and Systems, 2005 [8] Venkat Rao, Gaurav Singhal, Anshul Kumar, Nicolas Navet, Battery Model for Embedded Systems, VLSI Design, 2005 [9] A Lachenmann, P Marrn, D Minder, Meeting lifetime goals with energy levels, Proceedings of the 5th international conference on Embedded networked sensor systems, 2007 [10] Christian Decker, Prozessorganisation in eingebetteten, ubiquitären Rechnersystemen, Disseration, 2009 [11] C. Park, K. Lahiri, and A. Raghunathan, Batterydischarge characteristics of wireless sensor nodes: An experimental analysis, In Proceedings of the IEEE Conf. on Sensor and Ad-hoc Communications and Networks (SECON). Santa Clara, pp. 430 440, 2005 [12] Karsten Walther, Jörg Nolte, A Flexible Scheduling Framework for Deeply Embedded Systems, In Proc. of 4th IEEE International Symposium on Embedded Computing, Niagara Falls, 2007 [13] Texas Instruments, eZ430-Chronos Development Tool Datasheet, Webpage http://www.ti.com [14] Procter & Gamble, Duracell CR2032 Lithium Manganese Dioxide Battery Datasheet, Webpage http://www.duracell.com A Secure Monitoring and Control System for Wireless Sensor Networks Michael Riecker, Walther Müller, Matthias Hollick Karsten Saller Secure Mobile Networking Lab Technische Universität Darmstadt Mornewegstr. 32, 64293 Darmstadt, Germany {michael.riecker, matthias.hollick}@seemoo.tu-darmstadt.de Real-Time Systems Lab Technische Universität Darmstadt Merckstr. 25, 64283 Darmstadt, Germany [email protected] Abstract—The maintenance of Wireless Sensor Networks (WSN) can carry high or prohibitive costs, particularly, if the WSN is deployed in unattended areas. Secure monitoring and control of the WSN is vital, however, practical systems are rare and limited with respect to their capabilities. We present a monitoring and control system for WSN that is secure and additionally equipped with intrusion detection functionality. It allows to reliably assess the actual status of the network, to configure the sensor nodes, and to further use this data to highlight suspicious events. I. I NTRODUCTION Wireless sensor networks (WSN) have become an established technology able to support a wide range of applications. For example, WSN are used in military, home, health, environmental, and logistics applications. A lot of effort has been put into securing these networks, for example [1]: 1) symmetric and asymmetric cryptography have been analyzed and optimized 2) specific key management protocols have been developed 3) secure routing protocols have been designed 4) intrusion detection schemes have been presented What currently misses is a monitoring and control system that is secured by appropriate cryptographic means1 . In this paper we propose a secure monitoring and control system enriched with intrusion detection capabilities. The goal is twofold, we want to be able to control the network and to monitor the WSN itself. In addition, the collected monitoring data is used to discover anomalous events. The remainder is organized as follows. After pointing to related work, we present the architecture of our system as well as some implementation aspects. Then we show first evaluation results before concluding our work. II. R ELATED WORK With .Sense [2] a secure framework for monitoring and controlling WSN has been proposed. This system implements security mechanisms that allow for a cryptographically secure end-to-end communication. Users can send control messages to the sensor network, influencing for example the routing or 1 The focus of this work is on monitoring, hence, in the remainder of this document we use the terms secure monitoring and control system as well as secure monitoring system interchangeably. the reporting interval. Sensed data is transmitted together with the monitoring data, thus a separation of the actual task and the monitoring of the sensor network is not possible. We are unaware of a real implementation of this system. In [3] the so-called poller-pollee structure is used for monitoring purposes. The sensor nodes are divided into poller and pollees, with pollers collecting the monitoring data of its assigned pollees. The poller processes this data and decides independently, which of the data should be forwarded to the base station. The system—similar to other traditional network monitoring systems—has not been tailored for the special requirements of WSN. Another approach to monitoring is called self-monitoring, which is used in [4]. It is based on local monitoring and the Watchdog [5] approach, having a sensor node monitor its direct neighbors. Status data of individual sensor nodes cannot be collected, the monitoring is restricted to the exchanged messages in the network. MOTE-VIEW [6] is a framework to manage, monitor, and visualize sensor network deployments with a focus on presenting the sensor node data in a highly usable form. Security issues are not taken into account. III. A RCHITECTURE The intention behind our monitoring system (WSNMonitor) is to allow the network administrator to obtain a holistic view of the network. While the nodes observe the environment, we monitor the nodes and their condition. This has to be done securely, as we not only monitor the network, but also try to detect intrusions based on the collected data. Besides security and intrusion detection capabilities we require our system to be as efficient and flexible as possible. When switched off, the system shall add no overhead to the network. WSNMonitor consists of a monitoring and control system with additional intrusion detection module. The control system issues commands to a real deployment or to a simulated sensor network (WSNSim), which in turn sends reports to the monitoring system. These reports are then evaluated by the intrusion detection module (see Figure 1). A. Security mechanisms A monitoring system that shall also be used as intrusion detection system (IDS) requires security mechanisms to perform 61 key, a sensor node can calculate the MAC of its message and append it, ensuring integrity during transmission. In addition, this key can optionally be used to encrypt the message. Diffie-Hellman key exchange: In the Diffie-Hellman key exchange, the parameters p, g and A (where A = g a mod(p)) are determined by the base station and broadcasted to the sensor nodes. A sensor node x replies to this message with its Bx (Bx = g bx mod(p)), enabling both parties to calculate the common key Sx (Sx = Abx mod(p) = Bx a mod(p)). This key exchange takes place during the start-up, in which we assume that no attacker is present (otherwise a man-in-the-middleattack would be possible). In order to update the symmetric keys, the Diffie-Hellman key exchange is repeated, signing the broadcast message with the ECC public key and protecting the messages of the sensor nodes with a MAC value (generated with the last valid key Sx ). Fig. 1. Sending a report to the monitoring system its task reliably. In this section, we state our protection goals and explain methods used to ensure confidentiality, integrity, and authenticity. Protection goals: An attacker shall neither be able to send manipulated messages to the base station nor to impersonate the base station. Messages originating from the base station have to be authentic but need not to be confidential (in case of a broadcast message). Reports by the sensor nodes are confidential and have to be protected appropriately. Assumptions: For the crypto system to be used we impose the following assumptions: • The first start-up of the system takes place in a secure environment, i.e. no attacker is present • An attacker may be able to read, change, or insert messages into the network, but cannot break crypto • The sensor nodes can be compromised during operation In the next subsections we give details on how we provide broadcast authentication and message confidentiality. Broadcast authentication: Symmetric schemes can have some serious drawbacks providing broadcast authentication. It is desirable to use asymmetric encryption instead, taking into account that more complex operations and thus computing power, memory, etc. are required. Great progress has been achieved in making public key cryptography suitable for sensor networks [7]. In this work we decided to apply the ECC crypto system to authenticate the broadcast messages of the base station. The ECC public key (192 bit) is generated by the base station and broadcasted to the nodes that can use it subsequently to verify the authenticity of incoming control messages. If the key needs to be updated, the start-up is executed again, signing the broadcast message with the current valid key. Message confidentiality: Symmetric encryption (AES-128) is used for messages exchanged between each sensor node and the base station, they share a pairwise key generated during the start-up with a Diffie-Hellman key exchange. Using this 62 B. WSNMonitor The user has to choose which information should be reported by which nodes in a specified time interval. For this purpose, a control message is sent from WSNMonitor to the sensor network, activating the desired behavior. An example of the running WSNMonitor is shown in Figure 2. Fig. 2. WSNMonitor A control message provides different options: Broadcast Start-Up This option (re)calculates and negotiates the cryptographic keys. Besides, a sensor node replies to this message with a list of all of its neighbors and the corresponding link quality. Based on this data the monitoring system builds a network graph, which is later on used in the intrusion detection system to detect anomalies. Ignore Nodes It is possible to exclude nodes from the network, for instance if an attacker has been spotted in a certain area. These nodes will not receive messages any longer. Enable Nodes Disabled sensor nodes can be re-enabled with this option. Report Request The user can specify which information should be reported by the sensor nodes, he sets the reporting interval and may choose to encrypt the reports. Figure 1 shows two sensor nodes sending a report to the monitoring system. Data that is collectable includes: • Status: Indicates the energy status of the battery, thus this information allows the monitoring system to analyze the energy consumption. • Routing table: Contains all known destinations, the next hop and the hop count to this destination as well as the destination’s sequence number. Our system is not limited to a particular routing protocol, the only requirement is that the routing protocol makes use of routing tables. • Number of messages: The sensor node counts all sent and received messages within the reporting interval, distinguishing between monitoring, routing (route requests, route replies, route errors), and other messages. • All received/sent messages: For each message received/sent the sensor nodes collect the message type, the ID of the node that forwarded this message, the ID and the sequence number of the sender, and the ID of the destination. Intrusion Detection The intrusion detection system is integrated into the monitoring and control system and as such is also centralized. The data collected by the monitoring system is analyzed for anomalies using a rule-based approach. These rules are splitted into five modules, as depicted in Figure 3. Fig. 3. Structure of the Intrusion Detection System The modules work independently of each other. Some require the reports of the sensor nodes to contain certain information like the routing table. Since we assume that an attacker is able to compromise nodes and inject/remove arbitrary messages, but is unable to break the cryptographic algorithms, he cannot alter reports of non-compromised nodes. At the current stage of implementation, our system can detect attacks according to the rules we present in the following. InsideNetwork module The InsideNetwork module checks all available routing tables and the reports of the sent/received messages for unknown IDs in the fields Next hop, Destination, and Originator. This is to detect nodes that should not be part of the network, i.e. that were absent during the start-up phase. NodeReporting module This module knows the status and the specified reporting interval of all nodes. If some report is missing, it will throw a warning. To account for delays during the transmission, we added a tolerance of two reporting intervals. MsgConfirmation module The MsgConfirmation module is the most complex module of the intrusion detection system. If summaries of the sent/received messages are included in the report, this module checks whether a forwarded message has been received by the next hop and whether the message finally reached the destination. Besides that, we check whether a received message is really originating from the supposed sender. As reporting intervals can differ from node to node, messages that cannot be analyzed due to missing reports are stored for later evaluation, having a retention period of three reporting intervals. Furthermore, using the sequence number this module determines if a message appears multiple times, signifying a replay or ping-pong attack. To summarize, the whole message exchange is monitored trying to detect anomalies and attacks targeted at the network layer and the routing protocol (for instance blackhole, wormhole, selective forwarding, etc.). NoOfMsgsCheck module A profile of the average sending/receiving rate is calculated for each node. Strong deviations are reported to the intrusion detection system. A deviation is not necessarily caused by an attack, but could have other reasons, e.g. a certain phenomenon is only triggered at night. CheckRoutingTable module This module has access to data gathered during the start-up of the sensor network. Based on the neighbor relationships a graph of the network topology is built. The CheckRoutingTable module checks whether the reported routing tables are in compliance with the topology graph. A message forwarded to a hop which is not directly reachable indicates an attack on the routing table or a spoofing attack. In addition, we check whether the next hop is indeed closer to the destination than the sending node, otherwise a blackhole or wormhole attack might be ongoing. Detecting ping-pong attacks is possible by comparing the routing tables of neighboring nodes, looking for messages with a certain destination sent back and forth, without eventually reaching the destination. C. WSNSim The focus of this paper is the WSNMonitor. While the monitoring system is ready to be used in real sensor networks, we have currently implemented the monitoring components in a Java-based network simulator, WSNSim, only. In WSNSim, we use AODV as the routing protocol, the ruleset of our IDS has been tailored accordingly to identify attacks against AODV. After adding nodes and running the start-up phase (triggered by WSNMonitor), random traffic can be generated. We implemented different kinds of misbehavior in the simulator that can be selectively applied to the sensor nodes. In particular, we are able to simulate blackhole, ping-pong, denial-of-service, and replay attacks. Figure 4 shows a screenshot of WSNSim. 63 Fig. 5. Fig. 4. WSNSim IV. E VALUATION We performed extensive simulations regarding for instance the detection probability and the time until detection. In the following we present some selected results. In order to measure the overhead of the monitoring system we executed 50 simulations. The simulated network consists of 100 sensor nodes and 2 base stations, randomly distributed in each simulation run. The reports of the nodes are not encrypted. We analyze the influence of the number of reporting nodes on the message overhead. Therefore we simulated a blackhole attacker with the setup as described above, having the following constants: • Reporting interval: 60 seconds • Reported information: routing table • Simulation time: 10 minutes • Messages in the network per second: 3 • Attacker: 1 blackhole attacker The results show that overall approx. 22.000 messages were created and forwarded during a single simulation run. As observable in Figure 5, the usage of 20% reporting nodes causes an overhead of about 1200 additional messages, constituting 5.4% of the total number of messages. We found that this number of reporting nodes leads to good results with regard to detection probability and detection time. For instance, the false positive rate was always 0% during all simulations while the false negative rate dropped to 0% with at least 20% reporting nodes. V. C ONCLUSION AND O UTLOOK We have designed and implemented a monitoring and control system able to analyze the status of a sensor network by instrumenting nodes to send reports to the base station. These reports serve as the basis to detect intrusions. Sending appropriate control messages, attacked regions can then be excluded from routing. The communication is protected using cryptographic means guaranteeing integrity, authenticity, and optional confidentiality. As a proof-of-concept, we have tested 64 Message overhead our system in combination with a sensor network simulator. First results on the performance of our system indicate that its performance strongly depends on the user settings (reporting interval, reported information). The implementation of the monitoring component on real sensor nodes is ongoing work, to allow for validation of the obtained performance in realworld WSN deployments. As future work, to further increase the efficiency of the system, research on how to reduce the report size is needed (e.g. compression, data aggregation, or selective forwarding of suspicious events). ACKNOWLEDGEMENTS The work presented in this paper was performed in the context of the Software-Cluster project EMERGENT (www.software-cluster.org). It was partially funded by the German Federal Ministry of Education and Research (BMBF) under grant no. ”01IC10S01” and was supported by LOEWE CASED (www.cased.de). The authors assume responsibility for the content. R EFERENCES [1] Y. Wang, G. Attebury, and B. Ramamurthy, “A survey of security issues in wireless sensor networks,” IEEE Communications Surveys & Tutorials, vol. 8(2), 2006. [2] M. Salajegheh, H. Soroush, A. Thomos, T. Dimitriou, and I. Krontiris, “.Sense, A Secure Framework for Sensor Network Data Acquisition, Monitoring and Command,” in ACM Workshop on Real-World Wireless Sensor Networks, 2006. [3] L. Li, M. Thottan, B. Yao, and S. Paul, “Distributed Network Monitoring with Bounded Link Utilization in IP Networks,” INFOCOM 2003. Twenty-Second Annual Joint Conference of the IEEE Computer and Communications. IEEE Societies, vol. 2, pp. 1189 – 1198, 2003. [4] D. Dong, Y. Liu, and X. Liao, “Self-Monitoring for Sensor Networks,” Proceedings of the 9th ACM international symposium on Mobile ad hoc networking and computing, vol. 9, pp. 431 – 440, 2008. [5] S. Marti, T. Giuli, K. Lai, and M. Baker, “Mitigating Routing Misbehavior in Mobile Ad Hoc Networks,” MobiCom ’00: Proceedings of the 6th annual international conference on Mobile computing and networking, vol. 6, pp. 255 – 265, 2000. [6] M. Turon, “Mote-view: A sensor network monitoring and management tool,” in Proceedings of the Second IEEE Workshop on Embedded Networked Sensors, 2005. [7] A. Liu and P. Ning, “Tinyecc: A configurable library for elliptic curve cryptography in wireless sensor networks,” in Information Processing in Sensor Networks, 2008. IPSN ’08. International Conference on, 2008, pp. 245–256. Vertrauenswürdige drahtlose Sensornetze in sicherheitsrelevanten Einsatzszenarien Björn Stelte Institut für Technische Informatik Universität der Bundeswehr München 85577 Neubiberg, Germany Email: [email protected] Zusammenfassung—Obwohl drahtlose Sensornetze vermehrt in sicherheitsrelevanten Einsatzszenarien Verwendung finden, sind kaum ausreichende und effiziente Sicherheitsprotokolle bekannt. So sind vertrauenswürdige Ereignismeldungen meist nur unter der Voraussetzung garantiert, dass Angreifer keinen physikalischen Kontakt zu Sensorknoten haben. In diesem Beitrag wird ein Vorschlag zur Berechnung der Vertrauenswürdigkeit einzelner Knoten auf der Grundlage von redundanten Meldungen gemacht. I. E INF ÜHRUNG In den letzten Jahren haben drahtlose Sensornetze viel Beachtung gefunden und es verwundert nicht, dass diese in immer mehr Bereichen zu finden sind die sicherheitsrelevante Informationen beinhalten. Sensornetze wurden ursprünglich für militärische Zwecke konzipiert, die an sich bereits ein Bedürfnis nach Informationssicherheit mitbringen. Im Laufe der Zeit sind Sensornetze für zivile Szenarien hinzugekommen, wie etwa Umweltbeobachtungen, Katastrophenschutz, Gesundheitswesen, Grenz- und Liegenschaftsüberwachung. Je nach Einsatzszenario ergeben sich dabei unterschiedliche Ausprägungen bzgl. des Schutzbedarfes [1]. Trotz eines Bedarfs an Sicherheitslösungen für Sensornetze stellen wir fest, dass nur ungenügende Lösungen existieren, die Sicherheitsanforderungen offen lassen oder zu aufwendig bzgl. eines realistischen Einsatzes sind. Oftmals werden hier als Gründe die leistungsschwache Hardware und zum anderen der Batterieverbrauch genannt [1], [2], [3]. So sind viele etablierte Schutzmechanismen bekannt aus klassischen Rechnernetzen nicht direkt auf Sensornetze anwendbar. Hierzu zählen bspw. eine Reihe von kryptographische Maßnahmen, die entweder einen zu hohen Ressourcenbedarf aufweisen und daher nicht eingesetzt werden können, erst durch zusätzliche Hardware möglich werden [4], oder es werden hochgradig optimierte Verfahren mit begrenzten Schlüssellängen und geringe Entropie der Zufallsquelle verwendet. Auch vermeintlich starke Kryptoverfahren für Sensornetze, wie etwa die häufig diskutierte Elliptic Curve Cryptography (ECC), werden in der Forschung zur sicheren Kommunikation diskutiert, nur sind u.a. Probleme wie die sichere Schlüsselverteilung nicht geklärt und klassische Verfahren erhöhen den Energiebedarf auf Kosten der Lebenszeit enorm. Wie bereits in [1] beschrieben ist das Spektrum der Anwendungen für Sensornetze groß und somit der Schutzbedarf meist individuell für das spezielle Einsatzszenario zu untersuchen. Wir werden in diesem Beitrag von einem militärisch geprägten Szenario mit einem sehr hohem Schutzprofil ausgehen. Hierbei ist, wie wir später noch zeigen werden, vor allem das Vertrauen der Knoten untereinander bzw. die Frage “wie vertrauenswürdig sind die gemeldeten Informationen” von besonderer Bedeutung. Gehen wir im Weiteren davon aus, dass Sensorknoten durch potenzielle Angreifer aufgesammelt, analysiert und einfach manipuliert werden können (Stichwort: missing tamper protection), so haben wir es hier mit dem Innen-Täter zu tun. Dies bedeutet, dass trotz Verwendung bspw. kryptographisch gesicherte Methoden authentifizierte und autorisierte Knoten durch Angreifer erfolgreich manipuliert werden können und der Netz-Operator keine direkte Möglichkeit hat manipulierte von loyalen Knoten zu unterscheiden. Wir werden im Weiteren eine Methode vorschlagen die Auswirkungen zu reduzieren unter der Annahme, dass nur ein relativ kleiner Teil des Netzes durch einen Innen-Täter kontrolliert wird. II. E INSATZSZENARIEN UND IHRE AUSPR ÄGUNGEN So mannigfaltig das Einsatzspektrum für Sensornetze ist, so sind auch die Designmerkmale realisierter Systeme zahlreich. In [1] wurden Einsatzszenarien betrachtet und die folgenden wesentlichen technischen Merkmale identifiziert: Kommunikationstopologie, Heterogenität der Knotenhardware, Kommunikationsrichtung, Aktivitätszyklus, Größe des Netzes, Vorhandene Infrastruktur, Mobilität der Knoten, Vorhandene Aktorik, Datenaggregation, Netzdynamik, Zeitmessung, Lokalisierung und Rekonfigurierbarkeit (für detaillierte Informationen zu den Merkmalen sei hier auf [1] verwiesen). Je nach Szenario in dem ein Sensornetz eingesetzt werden soll, spielen Sicherheitsfragestellungen eine mehr oder minder wichtige Rolle. Dies betrifft sowohl die Informationssicherheit, wie auch die Ausfallsicherheit gleichermaßen. Wie in [1] beschrieben hat die Ausprägung der technischen Merkmale einen Einfluss auf die zu verwendenden Sicherheitsmechanismen. So sind in der Fachliteratur bereits generelle Sicherheitsmechanismen und Protokolle vorgeschlagen worden, die oftmals auf einander aufbauen und nur unter Einhaltung einiger Annahmen zur Informationssicherheit betragen können. So wird bspw. beim häufig zitierten µTESLA Verfahren eine zeitliche Synchronität der Sensorknoten vorausgesetzt. Andere Verfahren wie etwa 65 SPINS beruhen wiederum auf µTESLA, da dieses Verfahren zur Authentifizierung genutzt wird. Bei einem Versagen einer Komponente bspw. weil eine getroffene Annahme nicht eingehalten werden kann, wird daher das gesamte eingesetzte Verfahren bzgl. der angestrebten Sicherheit fraglich. Da die Ausfallsicherheit ebenfalls ein wichtiges Thema in Sensornetzen ist - Knoten können jederzeit ausfallen - stellt sich uns die Frage, warum die offensichtlich benötigte Redundanz nicht auch zur Steigerung der Informationssicherheit dienlich sein könnte. Wenn viele Knoten ein detektiertes Ereignis über mehrere Ausbreitungswege einer Datensenke melden, so kann diese Datensenke mittels redundanter Informationen einen Wert bzgl. der Vertraulichkeit der einzelnen Knoten bestimmen. Zunächst möchten wir allerdings ein Szenario mit erhöhten Sicherheitsbedarf vorstellen und diese Einsatzszenario als Ausgangspunkt für eine anschauliche Erklärung unseres Verfahrens verwenden. In der Literatur findet man nur bedingt gute sicherheitsrelevante Szenerien mit realen Hintergrund, ein Ausnahme stellt hier das von Roberts et al. in [5] vorgestellte Holistan Szenario dar. Das militärisch geprägte Szenario ist Teil der im Militär “International Coaltion Operations” genannten Ausprägung von Einsätzen bei dem verschiedene Kooperationspartner (Bsp. NATO) eine gemeinsame Mission absolvieren. Anders als das in diesem Umfeld häufig verwendete Binni Szenario (End-War Szenario) werden in Holistan realistische und einsatznahe Missionen beschrieben, die große Ähnlichkeiten zu den aktuellen realen Einsätzen aufweisen. In diesem Szenario werden Sensornetze in einem unkontrollierbaren und nicht vertrauenswürdigen Umfeld zur Unterstützung bei einer gemeinsamen Entscheidungsfindung genutzt. Roberts et al. beschreiben in [5] den fiktiven Staat “Malek Republic of Holistan” als Ausgangspunkt für eine militärische Stabilisierungsmission. Es wird als Hintergrund von einem Bürgerkrieg ausgegangen, der großen Einfluss auf die Region (hier Naher Osten) haben könnte. Da der Staat Holistan Massenvernichtungswaffen besitzt und die Kontrolle dieser Waffen nicht in den Besitz von religiösen Militanten fallen soll, ist ein Eingreifen einer internationalen Schutztruppe unausweichlich. Genau diese internationale Schutztruppe jedoch steht vor einer Anzahl von technischen Problemen: • • • • • Umgang mit Risiko und beschränktem Vertrauen unter Koalitionspartnern Einsatz von drahtlosen Netzen in feindlichen Umgebungen Innovativer Einsatz von Sensoren in parasitären Moden Entscheidungsfindungen mit Teilinformationen Synthese von Umgebungsdaten in einfachen situativem Kontext Roberts et al. beschreiben insg. drei Missionen, wobei verschieden technische Herausforderungen bzgl. Rechnernetze, Sicherheit, Sensor Informationsverarbeitung und Einsatzplanung herausgestellt werden. Wir werden im Weiteren das von Roberts et al. beschriebene Teil-Szenario der Vereit- 66 lung eines terroristischen Aktes mittels einer “schmutzigen Bombe” betrachten. Hierbei wird angenommen, dass Terroristen versuchen in den Besitz von radioaktiven Material eines in Holistan befindlichen Kernkraftwerkes zu kommen und dieses hochbrisante Material nutzen möchten, um eine Anschlag vorzubereiten. Da die Geheimdienste davon ausgehen, dass die Terroristen über “Insider-Wissen” verfügen und möglicherweise direkte Unterstützung von Regierungsbeamten erhalten, sind gesicherte und vertrauenswürdige Informationen nicht per se verfügbar. Die von den Koalitionstruppen zu erfüllende Mission lautet (1) Aufspüren des aus der Anlage geschmuggelten radioaktiven Materials und (2) Verhinderung des Anschlages. Neben weiteren Maßnahmen sollen hierzu drahtlose Sensornetze genutzt werden, um mittels spezieller Sensorik radioaktives Material in der Umgebung der Anlagen aufzuspüren und ihren Weg weiterzuverfolgen. Da die Infrastruktur für ein ortsgebundenes Netz nicht gegeben ist und auch die Vertraulichkeit und Integrität der Informationen gewährleistet werden soll, muss ein autarkes eigenes Sensornetz aufgebaut werden. Dieses soll den Koalitionstruppen bei der Entscheidungsfindung und letztendlich Erfüllung ihrer Mission unterstützen. Nur ein zuverlässiges und vertrauenswürdiges Netz kann dies gewährleisten. III. E TABLIERTE S ICHERHEITSARCHITEKTUREN UND IHRE S CHW ÄCHEN Der Aufwand eine nahezu vollständige Absicherung von Sensornetzen hinsichtlich aller Anforderungen zu gewährleisten wird allgemein als zu hoch angesehen. So hat der Netz-Operator bei der Planung des Netzes die Entscheidung bzgl. einer Priorisierung der Kriterien zu treffen und muss bspw. die Lebenszeit des Netzes gegenüber einem höheren Ressourcenbedarf für Sicherheitsmechanismen abwägen [2]. Im Folgenden möchten wir kurz die bekanntesten Sicherheits-Protokolle für drahtlose Sensornetze vorstellen und bezogen auf das gegebene Szenario eine Einschätzung bzgl. der Verwendbarkeit geben. Für weitergehende Informationen zu den Protokollen und einem detaillierteren Vergleich sei auf die Ergebnisse in [2] und [6] verwiesen. Die bekanntesten und oft zitierten Protokolle sind TinySec, SPINS (bzw. SNEP und µTESLA) und das Lightweight Security Protocol for Wireless Sensor Networks (LiSP). TinySec wurde von Karlof et al. bereits 2003 vorgeschlagen und gilt als eines der ersten Sicherheits-Protokolle für drahtlose Sensornetze [7]. Das Protokoll baut auf dem TinyOS Betriebssystem auf und ist für die Applikation transparent. Daher kann es ohne Anpassungen mit weiteren Sicherheitsmaßnahmen kombiniert werden. Zu den bereitgestellten Leistungen des Protokolls zählen sichere Authentifizierung, Sicherstellung der Integrität der gesendeten Nachrichten und die Verschlüsselung von Übertragungen. Bzgl. der Verschlüsselung wird in der Standard-Installation die veralteten kryptografischen Verfahren RC5 und Skipjack angeboten, jedoch ist TinySec unabhängig von diesen Verfahren, so dass auch neuere Verfahren eingesetzt werden können [8]. Das Protokoll bietet Protocol Typ Schlüsselmgmt Skalierbarkeit In-network processing Location aware DoS Paket Manipulation Replay Node capture TinySec Hop-to-Hop Nein Teilweise Ja Nein Gering - SPINS Node-to-Base Ja Gering Nein Nein Teilweise Ja - LiSP Node-to-GH Ja Teilweise Teilweise Teilweise Teilweise Mittel Ja Teilweise Tabelle I I MPLEMENTIERTE S CHUTZMECHANISMEN ETABLIERTER P ROTOKOLLE lediglich eine Hop-to-Hop Sicherheit an. Daher eignet sich das Protokoll für größere Netze in multi-Hop Szenarien nicht ohne eine entsprechende Kombination mit einem weiteren Sicherungsmechanismus. Das Protokoll SPINS basiert auf den beiden Verfahren SNEP und µTESLA, wobei SNEP bzgl. Vertraulichkeit, Authentisierung und Aktualität des Datenverkehrs zuständig ist und µTESLA einen authentifizierenden Broadcast bereitstellt [9]. Die Kommunikation wird pro Kommunikationspartner gesichert, daher muss pro Verbindung zusätzlicher Speicherbereich reserviert werden. So nutzt bspw. µTESLA zur Sicherung der Kommunikation aufgrund des Ressourcenbedarfes eine symmetrische Verschlüsselung. Hierdurch ergeben sich jedoch Probleme bzgl. der Synchronität bei großen Netzen. LiSP wurde 2004 von Park et al. insbesondere hinsichtlich zur Lösung des Problems eines sicheren Schüleraustausches vorgeschlagen [10]. Anders als bspw. in TinySec wird ein “rekeying” Mechanismus angeboten, um periodisch den verteilten Schlüssel zu erneuern. Zum Schutz des Netzes wird das Netz in kleinere Cluster zerteilt. Jeder Cluster wird durch einen “group head (GH)” Knoten verwaltet. Dieser GH Knoten teilt den Mitgliedern des Clusters nach erfolgreicher Authentifizierung einen Master Key mit. Dieser Schlüssel wird benötigt, um die periodisch erneuerten und per Broadcast versendeten Temporal Key zu entschlüsseln. Der Temporal Key ist der kryptographische Schlüssel bzgl. des Kommunikation innerhalb des Clusters. Das Verfahren kann als gebrochen angesehen werden, sobald der Angreifer im Besitzt des statischen Master Key ist. Bspw. kann durch ein Auslesen des internen Speichers (node capture) der Master Key verloren gehen und neue Temporal Key Übertragungen jederzeit entschlüsselt werden. Bezogen auf unser Holistian Szenario benötigen wir ein drahtloses Sensornetz zur Abdeckung eines größeren Gebietes, somit ist die erwartete nötige Anzahl von Knoten hoch. Des Weiteren muss davon ausgegangen werden, dass Terroristen physikalischen Zugang zu Sensorknoten haben könnten (node capture) und somit den Vertrauenswürdigkeit einzelner Knoten fragwürdig ist. Ein physikalischer Schutz der Knoten (Tamper Protection) kommt aufgrund der immensen Kosten nicht infrage, es wird aber im Weiteren davon ausgegangen, dass die Terroristen nur relativ wenige Sensorknoten unbemerkt manipulieren können. Die Protokolle TinySec und SPINS sind für größere Netze ungeeignet, da die Skalierung nicht geben ist. LiSP dagegen ist durch die Aufteilung in Cluster auch für größere Netze geeignet. Der bei TinySec und SNEP (bzw. SPINS) verwendete kryptografischen Schlüssel für die Kommunikation im Netz wird auf den Konten gespeichert und ist daher leicht auslesbar. Lediglich LiSP sieht einen leichten Schutz vor diesen Angriffen vor indem innerhalb des Clusters ein individueller und periodisch wechselnder Schlüssel verwendet wird. Jedoch ist auch hier der Master Key auf den Knoten gespeichert, so dass ein Auslesen dieses Schlüssels zur Komprimierung des Netzes führt. Es bleibt festzustellen, dass wegen den besonderen Eigenschaften eines drahtlosen Sensornetze ein vollständig vertrauenswürdiges Netz nicht zu implementieren ist. Da aber von einer geringen Zahl von manipulierten Knoten ausgegangen werden kann, besteht die Möglichkeit einen anderen Ansatz zur Lösung des Problems der Überprüfung der Vertrauenswürdigkeit (hier bei der Detektion von radioaktiven Material) zu wählen. Im nächsten Abschnitt möchten wir kurz die Idee skizzieren und erste Ergebnisse einer TestImplementierung präsentieren. IV. W IE VERTRAUENSW ÜRDIG IST EIN NACHBARKNOTEN ? Da jedes Sicherheitssystem seine Grenzen hat, überwindbar oder umgehbar ist stellt sich die Frage nach einer Lösung zu unserem Problem. Wenn die Sicherheit der Knoten nicht garantiert werden kann, so kann möglicherweise die Auswertung der kontinuierlich ausgelieferten Daten vieler Knoten bei der Problematik helfen zu entscheiden ob ein Sensorknoten als vertrauenswürdig und somit auch seine Daten als vertrauenswürdig angesehen werden können. Dies bedeutet, dass wir zwar mehr Knoten als eigentlich erforderlich ausbringen müssen, jedoch steigt hierdurch ebenfalls die Ausfallsicherheit des gesamten Systems zu überschaubaren Kosten. Die Idee ist also redundante Informationen über möglichst verschieden Wege zu erhalten, um mittels geeigneter stochastischer Methoden einen Wert bzgl. der Vertrauenswürdigkeit der Knoten zu erlangen. Da nur wenige Konten in der Nähe des lokalen Ereignisses manipuliert oder zerstört wurden kann davon ausgegangen werden, dass mehrere lokale Knoten einen ähnlichen Messwert liefern werden. Dieses machen wir uns zu nutzten und können einen Wert der die Vertrauenswürdigkeit des Knotens widerspiegelt berechnen. Unser gewähltes Verfahren basiert hierzu auf der folgenden Gleichung zur Berechnung eines Wertes bzgl. der Vertrauenswürdigkeit zwischen zwei Konten (i und j) basierend auf den kontinuierlich gesendeten Messwerten: − µi,j − µi,j (1) ) − φ( ) σ σ mit φ als die kumulative Verteilungsfunktion der Normalverteilung N (0, 1), µi,j und σ 2 als Erwartungswert und Varianz. Bzgl. der Frage wie viele Knoten manipuliert sein dürfen ohne Einfluss auf den Prozess der Entscheidungsfindung zu haben, nehmen wir uns die Überlegungen Lamports zur Hilfe, formuliert als Byzantinisches Entscheidungproblem. Hiernach dürfen maximal (nonodes /3) Knoten betrügen [11]. Basierend auf den berechneten Wert Ti,j werden die folgenden Schritte angewendet: Ti,j = φ( 67 1000 trust level node A trust level node B trust level node C trust level node D trust level node E trust level node F trust level node G 1 800 600 0.6 mean value probability 0.8 trusted mean value 0.4 400 0.2 200 0 0 0 10000 20000 30000 40000 50000 60000 70000 time in ms (a) Errechneter Grad der Vertrauenswürdigkeit. Abbildung 1. 10000 20000 30000 40000 50000 60000 time in ms (b) Kumulativer Wert errechnet aus vertrauenswürdigen Werten. Gegenseitiges Vertrauen wird aufgebaut durch Bestätigung ähnlicher Messwerte der Nachbarn. (fage = 0.75; r = 0.5; = 500; σ = 100) 1) ‘aging factor’, um Schwankungen auszugleichen: old Ti,j = Ti,j ∗ fage + Ti,j ∗ (1 − fage ) mit fage zwischen 0 und 1. 2) Bestimmung der Vertrauenswürdigkeit anhand von vorherigen Werten: trusti = trustoldi + (Ti,j ∗ Tj,i ), ∀j wobei i! = j. 3) Der schlechteste Fall bzgl. der Anzahl von illoyalen Knoten wird angenommen: trusti trusti = nonodes −1−(no . nodes /3) 4) Falls der Schwellwert r überschritten ist, wird Knoten i in dieser Runde als vertrauenswürdig eingestuft. Hierbei sind die folgenden Parameter an das reale Szenario anzupassen: Aging factor fage , Schwellwert r, Standardabweichung und Varianz σ. Wir haben als Demonstrator die TinyOS Beispielapplikation “Oscilloscope” um das präsentiertes Verfahren erweitert und können erste Messergebnisse präsentieren. Hierbei hat ein zentraler Knoten die Aufgabe von assoziierten Knoten Messergebnisse einzuholen und entsprechend einer Java Anwendung auf dem Host zur Verfügung zu stellen. Die Abbildungen 1(a) und 1(b) zeigen die Messungen des Versuches. In dem gewählten Szenario waren sieben Knoten zur Messungen der Lichtstärke (anstelle eines Geigerzählers) eingesetzt, wobei zwei Knoten vorsätzlich falsche Werte ausgeliefert haben. Zu Anfang der Messung wurden alle Knoten als nicht vertrauenswürdig eingestuft und erst im Laufe des Versuches zeigte sich welche Knoten vertrauenswürdige Werte ausliefern und welche nicht. Nach 42 Sekunden waren genügend vertrauenswürdige Messwerte vorhanden, um einen ersten kumulierten Wert auszugeben. In weiteren Messreihen konnte gezeigt werden, dass das System sich innerhalb einer kurzen Zeitspanne auf eine veränderte Umgebung anpassen kann und kontinuierlich vertrauenswürdige Messwerte liefert. Bzgl. des Ressourcenbedarfs wurde der Aufwand zur Ausführung einer Runde analysiert. Insgesamt sind 5221396 CPU-Zyklen nötig, dies entspricht einem Strombedarf von 0,016076146 Joul. Dies kann als vertretbar angesehen werden, zumal die Implementierung noch nicht für die verwendete Plattform optimiert war. 68 0 V. Z USAMMENFASSUNG Das in diesem Beitrag angeführte Szenario einer militärischen Operation stellt ohne Zweifel besondere Anforderungen an die Vertrauenswürdigkeit. Die erwähnten etablierten Sicherheitsprotokolle können diese nicht garantieren. Der zur Diskussion gestellte Vorschlag einer redundanten Ereignismeldung mit späterer Ereigniskorrelation zur Bestimmung des Grades der Vertrauenswürdigkeit kann unter der Annahme, nur ein kleiner Anteil von Knoten steht unter der Kontrolle eines Angreifers, zur Lösung des Problems beitragen. L ITERATUR [1] C. Wieschebrink and M. Ullmann, “Klassifikation von sicherheitsrelevanten Einsatzszenarios für drahtlose Sensornetze,” GI/KuVS Fachgespräch Drahtlose Sensornetze 2008, p. 53, 2008. [2] E. Cayirci, “Sensor Network Applications Implemented by Industry and Their Security Challenges,” Autonomic and Trusted Computing, pp. 1–6, 2010. [3] ——, “Deployed sensor networks and their security challenges in practice,” in Proceedings of the 2nd international conference on Security of information and networks. ACM, 2009, pp. 104–110. [4] B. Stelte, “Toward development of high secure sensor network nodes using an fpga-based architecture,” in Proceedings of the 6th International Wireless Communications and Mobile Computing Conference. ACM, 2010, pp. 539–543. [5] D. Roberts, G. Lock, and D. Verma, “Holistan: A futuristic scenario for international coalition operations,” in Integration of Knowledge Intensive Multi-Agent Systems, 2007. KIMAS 2007. International Conference on. IEEE, 2007, pp. 423–427. [6] A. Ahmed, “An Evaluation of Security Protocols on Wireless Sensor Network,” 2009. [7] C. Karlof, N. Sastry, and D. Wagner, “TinySec: a link layer security architecture for wireless sensor networks,” in Proceedings of the 2nd international conference on Embedded networked sensor systems. ACM, 2004, pp. 162–175. [8] B. Stelte and B. Saxe, “State-of-the-Art Kryptoverfahren fur drahtlose Sensornetze–Eine Krypto-Bibliothek fur MantisOS,” Gesellschaft für Informatik (GI) Konferenz Sicherheit 2010, p. 217, 2010. [9] A. Perrig, R. Szewczyk, J. Tygar, V. Wen, and D. Culler, “SPINS: Security protocols for sensor networks,” Wireless networks, vol. 8, no. 5, pp. 521–534, 2002. [10] T. Park and K. Shin, “LiSP: A lightweight security protocol for wireless sensor networks,” ACM Transactions on Embedded Computing Systems (TECS), vol. 3, no. 3, pp. 634–660, 2004. [11] L. Lamport, R. Shostak, and M. Pease, “The Byzantine Generals Problem,” ACM Trans. Program. Lang. Syst., vol. 4, pp. 382–401, July 1982. Security for Practical CoAP Applications: Issues and Solution Approaches Martina Brachmann and Oscar Garcia-Morchon Michael Kirsche Philips Research Distributed Sensor Systems Eindhoven, Netherlands eMail: {martina.brachmann, oscar.garcia}@philips.com Brandenburg University of Technology Cottbus Computer Networks and Communication Systems Group Cottbus, Germany eMail: [email protected] Abstract—Protocols like 6LoWPAN and CoAP allow for an integration of smart objects into an IP-driven Internet of Things, thus enabling new applications such as pervasive health care or intelligent building control automation. Providing security services (e.g., confidentiality, authentication, authorization) for these applications is essential, as they affect our personal daily life. However, established standard protocols and solutions cannot be directly used in 6LoWPAN/CoAP networks, due to the resource constrained nature of smart objects and new operation challenges in practical deployments. This work presents a compact overview of the current state-of-the-art in the IP-based Internet of Things; details practical security issues that need to be solved, namely end-to-end security and secure multicast based on (D)TLS; and discusses further work. I. I NTRODUCTION The expression ‘The Internet of Things’ (IoT) was first mentioned by Kevin Ashton in 1999 [1]. It combines the general meaning of the term ‘Internet’ with (smart) objects, such as sensors, localization systems or RFID tags, called ‘Things’, and denotes a network of objects, identifiable by a unique address [2], [3]. The intention is to enable such objects to gather information in a more accurate and efficient way than humans do. The captured information can be used to improve peoples lifestyle and well-being [1], as well as to protect the environment, or to automate designated processes (industrial automation). One possible deployment scenario for IoT, described in [4], is pervasive health care, where wireless medical sensors can be associated to different personal area networks and used for health monitoring independent of location or time. Another widely discussed example is building control automation in order to directly manipulate lighting, heating, or security settings in a building through a mobile phone [5]. There are also efforts to use wireless sensor nodes to monitor tunnels [6] and dikes [7], to observe birds [8], or control freight during transportation in cargo containers [9]. Devices behind these use cases are typically battery powered and equipped with slow micro-controllers and small RAMs and ROMs. The data transfer is performed over wireless links with low bandwidth and high packet error rates [3]. Unlike the Internet, there are high scalability requirements with trillions of nodes [10] and the communication is either Human-toMachine (H2M) or Machine-to-Machine(s) (M2M) [2]. The Internet Engineering Task Force (IETF) is currently defining and standardizing an IP-based Internet of Things. Several working groups (WG) are involved in this task [3]: (i) The IPv6 over Low-Power Wireless Personal Area Networks (6LoWPAN) WG is concerned with the adaptation of IPv6 to IEEE 802.15.4, since IPv6 addressing is envisioned for the enormous amount of nodes that might be interconnected in the IoT [3]. Goals of the WG are the inclusion of neighbor discovery methodologies and the compression of IPv6 packets [11]. The latter is relevant, since the Maximum Transfer Unit (MTU) of an IPv6 packet is minimum 1280 Bytes while IEEE 802.15.4’s maximum packet size is 127 Bytes [12]. (ii) The Routing Over Low power and Lossy networks (ROLL) WG focuses on the design of routing approaches for networks with resource constrained devices, slow links, and a high packet drop rate [13]. (iii) The Constrained RESTful Environment (CoRE) WG defines an application layer protocol for resource constrained devices, called Constrained Application Protocol (CoAP) [14]. CoAP is related to HTTP, since both depend on the fundamental Representational State Transfer (REST) architecture of the web. Thus, CoAP allows, for example, accessing the resources of a CoAP server from the Internet (see Figure 1) by using certain HTTP methods and a similar URI scheme to identify resources. UDP is used to prevent message overhead. Reliability is added again by CoAP through mechanisms like message ID’s, for duplicate detection, or confirmable messages that require an acknowledgment [15]. HTTP Client HTTP Server CoAP CoAP HTTP CoAP 6LBR CoAP Client Constrained Environment Server Internet Figure 1. The CoRE architecture (cf. ([16]) 69 So far, the 6LoWPAN, ROLL, and CoRE WGs have defined a number of protocols. Some of them are already RFCs, while others are still Internet Drafts at a very advanced state (e.g. CoAP [15], 6LoWPAN-HC [17], RPL [18]). Rolling out the protocols developed by the three WGs offer many application areas. For example, it will be possible to setup light configurations in large-scale systems [19]. Another use case is requesting temperature or humidity in cargo containers via Internet during transportation [9]. This enables an advanced monitoring of the cooling chain for vendors and transportation operators. However, these scenarios require high security needs [20]. For instance, an entity (e.g. a person, a device, or an application) requiring access to specific resources in a thing needs to be authenticated first. To prevent attacks the users identity should be protected and the exchanged information must be secured. In case the protection measures fail, changes should be traceable and reparable. Another important demand is system availability to ensure that authorized subjects can use their access privileges at any time. Thus, these networks should be resilient to Denial-of-Service (DoS) attacks. II. P ROBLEM STATEMENT Despite the work performed by the involved IETF working groups, adequate solutions for a secure IP-based Internet of Things are still not available. [21] and [22] describe existing security solutions for the Internet and give reasons why these solutions do not suit the needs of constrained networks. The required security mechanisms for the IoT can be grouped into five categories [21]. The first one, network security, refers to the defense of the lower layers in the OSI model, namely physical layer, data link layer and network layer. The second category, application security, aims at protecting applications and the exchange of data between two or more entities. The third refers to the secure bootstrapping [21] of the network while the other ones aim at the security model of the ‘object’ itself and the security architecture behind the object and its interconnection with other objects and the Internet. Regarding application security, CoAP [15] describes four security modes to accomplish different security requirements for varying goals: (i) NoSec, no security; (ii) SharedKey, one key for all communication partners of a node; (iii) MultiKey, one key per communication partner; and (iv) Certificate, when a X.509 certificate is used. In the following, we discuss two security issues related to the use of the security modes ‘SharedKey’ and ‘MultiKey’ when targeting end-to-end security and secure group communication, respectively. a) End-to-End Security: Devices relying on CoAP’s ‘SharedKey’ or ‘MultiKey’ mode after bootstrapping can secure their communication using a pre-shared key (PSK) and DTLS [15], which is the datagram oriented version of TLS (Transport Layer Security) [23]. CoAP runs over UDP, which is the reason why DTLS [24] is used. It provides mechanisms for a reliable negotiation of a session secret and additional measures to verify exchanged packages. For that reason DTLS packets cannot be directly translated to TLS and vice versa. 70 In this context, a first issue concerns the fact that a proxy is needed to translate packets, when, for instance, an HTTP client wants to access the resources from a CoAP server in the backend. The proxy can be a 6LoWPAN Border Router (6LBR), as depicted in Figure 2. In addition, a mapping between HTTP and CoAP in the application layer is required. To ensure that no malicious code will be added, the proxy/6LBR has to be a trusted instance. Until now, there is no solution to ensure end-to-end security for this use case. HTTP CoAP 6LBR Client/Server Constrained Environment Internet Figure 2. Possible scenario for end-to-end security However, a couple of related security methods from other use cases outside the IoT scope are available for adaptation and inclusion into IoT security. For instance, one approach is a TLS-DTLS tunnel [25], where DTLS packets are encapsulated in TLS packets and vice versa. Another strategy was chosen for ITLS (Integrated Transport Layer Security) [26]. The sender encrypts a packet with two keys. The proxy owns the first key, decrypts the packet with the key and forwards it to the receiver. This method can be used in case the proxy is not trustworthy. Both TLS-DTLS tunnel and ITLS require additional source code on sender and receiver side. This can be a disadvantage in constrained networks and, especially, for devices with scarce memory. A different approach that may be adapted for the problem is the method chosen for dynamic tunneling over either TCP/TLS or UDP/DTLS based on network conditions, as described in [27]. Nevertheless, further analyses and comparisons of this and other approaches are needed. Examples for further analyses concern the memory consumption or the induced message overhead for negotiation of the session secrets. b) Secure group communication: Multicast messages are used in CoAP to manipulate resources in a group of devices at the same time (e.g., turning off all light bulbs in a building floor). While unicast messages can be secured using DTLS with PSK, providing secure multicast messages is still an open issue, since DTLS does not support multicast. A solution is necessary to ensure secure multicast within a group of nodes and to fulfill the multicast (security) requirements for CoAP, as listed in [19]. Similar to unicast, no end-to-end security can be provided when using the Internet for manipulating a resource in a group. In addition, TCP does not support multicast. Like in the end-to-end security problem, a proxy/6LoBR has to map HTTP onto CoAP and TLS to DTLS in both directions. Additionally, a mapping from the unicast address in the destination field of the UDP header to a multicast address is required. Here, the proxy has to decide whether a message’s destination address is multi- or unicast. To our keen knowledge, there is no possibility to mark a message as a multicast message in HTTP and the underlying protocols. A solution approach for the described problems can be the use of IPsec ESP [28] as an alternative to DTLS. As mentioned in the Internet Draft of CoAP [15], IPsec is not recommended by the CoRE WG, because it is not supported for all IP stacks. However, there is a multicast extension for this protocol [29] available. [21] suggests to consider the MIKEY architecture [30] as a solution for negotiating a group key in the IoT. III. S TEPS TOWARDS A SECURE IP- BASED I OT Solving the problems described in Section II, namely endto-end security and secure group communication, is the key to ensure a secure IP-based Internet of Things. In this section, we introduce preliminary ideas to overcome them. The first one concentrates on the problem when using both HTTP and CoAP and hence, TLS and DTLS for a connection. The second part is to find solutions for exchanging messages in a group of CoAP nodes by using DTLS. The goal for the first stated problem is to achieve a fully secured communication between an HTTP and a CoAP entity. Due to the resource-constrained nature of the nodes, the usage of (D)TLS-PSK is assumed [15]. Figure 3 illustrates the involved protocols for achieving end-to-end security. It contains one HTTP and CoAP entity each and a 6LoWPAN Border Router (6LBR), which acts as a proxy. A translation of the message headers created by the (D)TLS record layer and the protocols laying on top of it (handshake, alert, cipher suite, application data), depicted in Figure 4, must be implemented. HTTP Client/Server 6LoWPAN Border Router internet HTTP TLS TCP Figure 3. HTTP - CoAP TLS - DTLS TCP - UDP CoAP Server/Client 6LoWPAN CoAP DTLS UDP Architecture to achieve end-to-end security For the development of a proper solution, a number of factors need to be analyzed, e.g., whether the HTTP or the CoAP client starts the communication, whether the proxy is within the CoAP network, or if the proxy is a trusted instance. Application Transport Network HTTP CoAP Handshake Alert Change Cipher Spec Application Data (D)TLS Record Layer TCP UDP IP Figure 4. (D)TLS in protocol stack Further, the steps to extend DTLS support to secure multicast have to be analyzed. Two entities using DTLS negotiate a session key for the communication. This key is determined by a PSK and a pair of nonces created by both client and server. That is why only two entities can negotiate one unique session key. For the second issue, a solution has to be found, to establish a secure connection by means of DTLS within a group of devices with a single session key. For group communication, different approaches are available that need to be analyzed. The first one concerns the possible communication topologies, illustrated in Figure 5. There are distributed, centralized and hybrid topologies. Several use cases, advantages, and disadvantages are described in [21]. This leads to a number of open issues, e.g., when to build a group, how to determine group members, and when to close it. For example, a membership in a group can be defined and fixed during device bootstrapping. Another unsolved aspect is when and how to refresh session keys. 6LoBR (a) Distributed Figure 5. (b) Hybrid 6LoBR (c) Centralized Different communication topologies for group communication In conclusion, this paper presented a short outline of the current state-of-the-art in the IP-based Internet of Things. With our focus on security, we have identified and discussed two issues that need to be solved to ensure secure communication links. In our future research, we will further study these and other security gaps and will develop adequate solutions. R EFERENCES [1] K. Ashton, “That ’Internet of Things’ Thing,” online, http://www. rfidjournal.com/article/view/4986, 2009. [2] “Internet of Things in 2020: Roadmap for the Future,” online, http: //www.iot-visitthefuture.eu/index.php?id=57, 2008. [3] C. Bormann, J. Vasseur, and Z. Shelby, “The Internet of Things,” online, http://isoc.org/wp/ietfjournal/?p=2066, 2010. [4] O. Garcia-Morchon, T. Falck, T. Heer, and K. Wehrle, “Security for Pervasive Medical Sensor Networks,” in 6th Int. Conference on Mobile and Ubiquitous Systems (MobiQuitous 2009), July 2009. [5] G. Derene, “How to Control Your Home with your Cell Phone,” online, http://www.popularmechanics.com/home/improvement/4301977, 2009. [6] Tunnel Sensors Ltd., “Tunnel Sensors - Monitors for the Tunnel Environment,” online, http://www.tunnelsensors.com/, 2011. [7] URBANFLOOD CONSORTIUM, “About UrbanFlood,” online, http:// urbanflood.eu/aboutus.aspx, 2010. [8] T. Bari, “BirdTracking: A Wireless Sensor Network to Observe Bird Life,” M.Sc. Thesis, Embedded Software Group, Delft University of Technology, The Netherlands, August 2010. [9] K. Kuladinithi, O. Bergmann, T. Poetsch, M. Becker, and C. Goerg, “Implementation of CoAP and its Application in Transport Logistics,” in Extending the Internet to Low power and Lossy Networks, 2011. [10] N. Kushalnagar, G. Montenegro, and C. Schumacher, “IPv6 over LowPower Wireless Personal Area Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals,” IETF 6LoWPAN, RFC 4919, 2007. [11] 6LoWPAN WG, “Description of Working Group,” online, https:// datatracker.ietf.org/wg/6lowpan/charter/, 2011. [12] G. Montenegro, N. Kushalnagar, J. Hui, and D. Culler, “Transmission of IPv6 Packets over IEEE 802.15.4 Networks,” IETF 6LoWPAN, RFC 4944, 2007. [13] ROLL WG, “Description of Working Group,” online, https://datatracker. ietf.org/wg/roll/charter/, 2011. 71 [14] CoRE WG, “Description of Working Group,” online, https://datatracker. ietf.org/wg/core/charter/, 2011. [15] Z. Shelby, K. Hartke, C. Bormann, and B. Frank, “Constrained Application Protocol (CoAP),” IETF CoRE, draft-ietf-core-coap-05 (work in progress), 2011. [16] Z. Shelby, “Introduction to Resource-Oriented Applications in Constrained Networks,” 2011. [17] J. Hui and P. Thubert, “Compression Format for IPv6 Datagrams in Low Power and Lossy Networks (6LoWPAN),” IETF 6LoWPAN, draft-ietf6lowpan-hc-15 (work in progress), 2011. [18] P. Thubert, A. Brandt, T. Clausen, J. Hui, R. Kelsey, P. Levis, K. Pister, R. Struik, and J. Vasseur, “RPL: IPv6 Routing Protocol for Low power and Lossy Networks,” IETF ROLL, draft-ietf-roll-rpl-19 (work in progress), 2011. [19] A. Rahman and E. Dijk, “Group Communication for CoAP,” IETF CoRE, draft-rahman-core-groupcomm-05 (work in progress), 2011. [20] R. H. Weber, “Internet of things - new security and privacy challenges,” in Legal discourse in cyberlaw and trade, S. M. Kierkegaard, Ed., 2009, pp. 1–15, proceedings from the 4th International Conference on Legal, Security and Privacy issues in IT. [21] O. Garcia-Morchon, S. Keoh, S. Kumar, R. Hummen, and R. Struik, “Security Considerations for the IoT,” IETF CoRE, draft-garcia-coresecurity-01 (work in progress), 2011. [22] R. Hummen, T. Heer, and K. Wehrle, “A security protocol adaptation layer for the ip-based internet of things,” Interconnecting Smart Objects with the Internet Workshop, 3 2011, without peer-review. [23] T. Dierks and E. Rescorla, “The Transport Layer Security (TLS) Protocol Version 1.2,” IETF TLS, RFC 5246, 2008. [24] E. Rescorla and N. Modadugu, “Datagram Transport Layer Security,” IETF TLS, RFC 4347, 2006. [25] J. Reardon, “Improving Tor using a TCP-over-DTLS Tunnel,” M.Sc. Thesis, University of Waterloo, Canada, 2008. [26] E.-K. Kwon, Y.-G. Cho, and K.-J. Chae, “Integrated transport layer security: End-to-end security model between wtls and tls,” in Proceedings of the The 15th International Conference on Information Networking, ser. ICOIN ’01. IEEE Computer Society, 2001. [27] T. Short, H.-C. Chen, V. Parla, and M. Tardif, “Method for dynamically tunneling over an unreliable protocol or a reliable protocol, based on network conditions,” April 2007. [28] S. Kent, “IP Encapsulating Security Payload (ESP),” IETF IPsec, RFC 4303, 2005. [29] B. Weis, G. Gross, and D. Ignjatic, “Multicast Extension to the Security Architecture for the Internet Protocol,” IETF MSEC, RFC 5374, 2008. [30] J. Arkko, E. Carrara, F. Lindholm, M. Naslund, and K. Norrman, “MIKEY: Multimedia Internet KEYing,” IETF MSEC, RFC 3830, 2004. 72 Zellenweiser Messbetrieb, Vorverarbeitung und drahtlose Kommunikation bei Fahrzeugbatterien Sergej Ilgin, Niels Jegenhorst, Raik Kube, Simon Püttjer, K.-R. Riemschneider, Matthias Schneider, Jürgen Vollmer Hochschule für Angewandte Wissenschaften Hamburg [email protected] [email protected] Kurzfassung—Heutige Systeme zur Überwachung von Starterund Traktionsbatterien betrachten stets die gesamte Batterie. Bei Lithium-Antriebsbatterien wird mit verdrahtenen Messlösungen gearbeitet, wobei Datenbusse mit aufwändiger und robuster Anschluss- und Verbindungstechnik sowie komplizierter Potentialtrennung notwendig werden. Im Forschungsprojekt BATSEN (Drahtlose Zellensensoren für Fahrzeugbatterien) wird ein alternativer Ansatz verfolgt, bei dem jede Zelle der Batterie einzeln überwacht wird. Hierfür werden drahtlose Sensoren in jeder der Zellen platziert, um dort Spannung und Temperatur zu messen. Zusammen mit einem zentralen Batteriesteuergerät soll eine Überwachung und eine Aussage über Ladezustand sowie Alterungszustand der Batterie ermöglicht werden. Zunächst wird die Anwendung der drahtlosen Sensoren bei Bleibatterien untersucht, später sollen damit insbesondere große Lithiumbatterien überwacht werden. I. E INF ÜHRUNG Sowohl bei Fahrzeugen mit Verbrennungsmotor als auch bei Elektrofahrzeugen (Flurförderzeuge, Hybrid- und Elektromobile) werden mehrzellige Fahrzeugbatterien verwendet. Für den Betrieb dieser Fahrzeuge muss eine zuverlässige Stromversorgung gewährleistet sein. Dazu werden bereits heute Batterieüberwachungssysteme eingesetzt. Hierbei wird häufig nur die Batterie als Ganzes betrachtet. Strom aber auch Spannung und Temperatur werden nur an den äußeren Anschlüssen der Batterien gemessen. Aufgrund von Toleranzen bei der Fertigung und verschiedenartigen Betriebsbedingungen treten Unterschiede im Lade- und Alterungszustand der Zellen auf. Diese Unterschiede vergrößern sich im Laufe des Batterielebens. Daraus resultiert eine verstärkte Belastung der ’schwächeren’ Zellen, wodurch sich die Lebensdauer der Batterie deutlich verkürzt. Es ist daher sinnvoll, die wichtigen Betriebsgrößen Spannung und Temperatur jeder Zelle einzeln zu messen, siehe Abbildung 1. Der Batteriestrom kann an den äußeren Polen der Batterie zentral gemessen werden. Abbildung 1. Starterbatterie mit Versuchssensoren der Klasse 1 durch, um eine möglichst geringe Belastung des Funkkanals zu gewährleisten, siehe Abbildung 2. Die Messwerte werden von einem zentralen Batteriesteuergerät empfangen. Die Temperatur- und Spannungsdaten der Zellen werden zusammen mit Messwerten des Batteriestromes weiterverarbeitet. Die Überwachung erfolgt also in einem Zusammenwirken aus verteilter Messwerterfassung und Vorauswahl sowie der zentralen Weiterverarbeitung. Die Netzwerkkommunikation wird für die sehr verschiedenartigen Kapazitätsgradient (~Energieumsatz) Hoch Notwendige Messdatenrate Zulässige Latenzzeit Erforderliche zwischen Messdaten Messauflösung (% bzw. ppm) versch.Sensoren Hoch Betriebzustände des Zellensensors HochstromEntladung HochstromLadung BetriebsEntladung BetriebsLadung Niedrig Niedrig Hoch Hoch II. V ERTEILTE F UNKTIONSWEISE Eine verdrahtete Messung an den einzelnen Zellen bringt eine Reihe von Nachteilen mit sich. Neben dem Aufwand für eine robuste Anschluss- und Verbindungstechnik stellt die Potenzialtrennung das größte Problem dieser Lösung dar. Als Alternative dazu bietet sich eine Integration von drahtlosen Sensoren in die einzelnen Zellen an. Der Sensor misst Spannung und Temperatur einer Zelle und führt je nach Betriebsmodus eine Vorauswahl der Messwerte Ruhe Niedrig Niedrig Abbildung 2. Anforderungen der Betriebszustände an die Sensorik 73 Klasse 1 Klasse 2 Klasse 3 Übertragung zw. Sensoren und Steuergerät nur Uplink, kein Downlink Uplink und Downlink mit Broadcast-Wakeup Uplink u. Downlink mit Multicast u. addressierte Kommandos 2.6 Zellspannung in V Funktionsklasse 2.4 2.2 2 kein Empfänger passiver Empfänger aktiver Empfänger Wechsel des Sensormess- u. -betriebsmodus autonome Entscheidung teil-autonome Entscheidung zentral kommandierte Entscheidung Mess- u. Netzorganisation ohne Synchr. einfache zentrale Synchr. komplexe, paarw. Synchr. BalancierungsEffektor in der Zelle dezentrale Steuerbarkeit schwierig bedingt möglich (dezentrale Entscheidung) gut möglich (zentrale Entscheidung) Werte in Sensorqueue 1.6 Empfänger im Sensor Spannungsverlauf einer Zelle Entnommene Messwerte (Inqueue) 1.8 0 5 10 15 20 25 30 35 40 45 50 20 Füllung der Queue Einstellen in Queue Ausgabewert aus Queue 15 10 5 0 0 5 10 15 20 25 30 35 40 45 50 2.6 Gegenüberstellung der Konzepte des Zellensensors Zellspannung in V 2.4 Tabelle 3. 2.2 2 Empfangseitig rekonstruierter Spannungsverlauf Empfangene Werte ca. 20% Kollisonsverlust 1.8 1.6 Betriebszustände angepasst. Diese verteilte Funktionsweise ist Gegenstand des Forschungsvorhabens. Es basiert auf Vorarbeiten insbesondere am Gabelstapler [3], [8], [9], [13]. III. AUFBAU DER S ENSOREN Abhängig von der Anwendung sollen autonome, teilautonome (synchronisierte) und zentral gesteuerte Zellensensoren untersucht werden. Daher werden drei Klassen von Sensoren definiert, siehe Tabelle 3. Gegenwärtig werden die Versuchsmuster der Sensoren von Microcontrollern der MSP-Familie gesteuert. Diese besitzen einen sehr niedrigen Stromverbrauch und können über einen internen RC-Oszillator betrieben werden. Die Datenerfassung erfolgt über einen internen ADC und eine Temperaturdiode. Für die Versorgung der Sensor-Hardware ist ein Step-UpDown-Wandler auf dem Zellensensor verbaut, sodass ein Betrieb zwischen 0.5 V und 5 V Zellspannung möglich ist. Die Funkübertragung der Messwerte (Uplink) erfolgt im ISMBand bei 433 MHz mit OOK-Modulation. Durch die Verwendung eines modernen Transmitter-IC [17] in den neuesten Versuchsmustern kann auch hier auf einen externen Quarz zur Generierung der Sendefrequenz verzichtet werden. Als Endziel soll die benötigte Sensor-Hardware inklusive Analog-, Digitalund HF-Schaltungen in einen Chip integriert werden. A. Zellensensor ohne Downlink (Klasse 1) Denkbares Anwendungsgebiet dieser Sensorklasse ist die Starterbatterie. Da diese in Massenfertigung hergestellt wird, ist der Sensor besonders kostensensitiv. Eine Übertragung vom Batteriesteuergerät zum Sensor (Downlink) ist nicht vorgesehen. Die entsprechende Empfangsschaltung wird bei dieser Klasse nicht integriert. Somit ist eine Synchronisation der Funkkanalzugriffe wie auch eine sensorseitige Überprüfung des Kanals auf Belegung nicht möglich. Um die resultierenden Kollisionen zu verringern, wird mit pseudo-zufälligen Übertragungszeitpunkten und einer niedrigen durchschnittlichem Senderate gearbeitet. Die maximale Senderate wird anhand der resultierenden Kollisionswahrscheinlichkeit ausgewählt [10]. Beim Spannungssignal des Sensors kann jedoch eine hohe Dynamik auftreten, beispielsweise beim Starten des Motors. Um die Spannung ausreichend genau abzutasten, 74 0 5 10 15 20 25 30 35 40 45 50 Zeit in s Abbildung 4. Zellspannung bei Hochstromentladung, Betriebsladung und Ruhe beim Start und Stopp eines Dieselmotors im Mercedes Vito 2,4D. Oben: Entnommene Messwerte. Mitte: Queue-filling im Sensor. Unten: Rekonstruierter Messwertverlauf. werden dann zusätzliche Messwerte in Abhängigkeit der Spannungsänderung aufgenommen. Dadurch kann die Messrate kurzeitig über der maximalen Senderate liegen. Somit können die Messwerte nicht mehr direkt übertragen werden, sondern müssen im Sensor in einer Warteschlange (Queue) zusammen mit einem lokalen Zeitstempel zwischengespeichert werden. Geht die Dynamik des Spannungssignales anschließend wieder zurück, fällt auch die Messrate wieder unter die maximal mögliche Senderate. Dann wird der Zwischenspeicher im Sensor geleert. Die übertragenen Messdaten werden im Steuergerät anhand der Zeitstempel den jeweiligen Messzeitpunkten zugeordnet und so das Spannungssignal des Sensors rekonstruiert, siehe Abbildung 4. Aufgrund der ungenauen RCOszillatoren (Fehler 1-5 %) der Sensoren müssen die lokalen Zeitstempel der Sensoren nachträglich korrigiert und der zentralen Zeitangabe des Steuergerätes zugeordnet werden, siehe [14]. B. Zellensensor mit passivem Downlink-Empfänger (Klasse 2) Im Rahmen einer laufenden Masterthesis [7] wird derzeit ein Testsystem für diese Sensorklasse aufgebaut, siehe Abbildung 5. Hierbei wird auf dem Batteriesteuergerät ein IC eines RFID-Readers, der bei 13,56 MHz arbeitet, eingesetzt. Die entsprechende Transponder-Frontendschaltung auf dem Sensor ist diskret aufgebaut [4]. Hauptvorteil des passiven Empfängers ist die Möglichkeit, den Step-Up-Down-Wandler auf dem Sensor über den Downlink-Kanal zu aktivieren, siehe Abbildung 6. Dadurch kann der gesamte Sensor - nicht nur der Transmitter - in Ruhephasen komplett deaktiviert und bei Bedarf aktiviert werden. Da bei diesen Sensoren ein synchronisiertes Zeitschlitzverfahren verwendet wird, kann eine höhere effektive Datenrate ohne Kollision erreicht werden. C. Zellensensor mit aktivem Downlink-Empfänger (Klasse 3) Die Sensoren der Klasse 3 sollen zukünftig über umfangreiche Funktionen verfügen, die durch den Downlink- len vermindert. Die Steuerung der zellenweisen ’Stromumleitung’ benötigt u.a. ein Entscheidungsmodell, dazu besteht Forschungsbedarf im Rahmen des Vorhabens. Zellenausgleichsverfahren werden für die modernsten LithiumBatteriemonitoring-IC beworben [11]. Diese arbeiten jedoch mit drahtgebundener Kommunikation, was generelle Nachteile gegenüber dem drahtlosen Ansatz des Vorhabens aufweist. IV. S YSTEMEINBINDUNG A. Flexible Unterstützung von Batteriemodellen und Batteriemonitoring Messages A-Level Functions Messages D. Ladungsbalancierung cell 1,2,…,n HF Downlink Uplink (optional) Spannungs begrenzer Spannungs verdoppler Lastmodulator (optional) Detektor & Halteschaltung Aktiv Passiv Schwingkreis UHF Uplink C -Level Tiefpass & Demodulator EN Step-UpDown Converter Transmitter MCU ... Zellensensor 1 Zellensensor 2 Zellensensor n cell 1,2,…,n Abbildung 6. Commands Functions Messages B-Level Commands Der Ladungszustand von ’schwachen’ und ’gesunden’ Zellen kann durch einen vom Controller im Sensor geschalteten Nebenstrompfad in gewissem Umfang angeglichen (balanciert) werden, was die Schädigung der ’schwachen’ Zel- Functions ... C-Level Messages kanal kommandiert werden. Das können sowohl den einzelnen Sensor individuell adressierende Kommandos als auch Broadcast/Multicast-Informationen sein. Der Sensor der Klasse 3 wird dem Kommunikationsverfahren IEEE 802.15.4 am nächsten kommen, allerdings ist auch vergleichbar hoher Aufwand - insbesondere beim Empfänger - erforderlich. Er kann wegen des Empfängers keine gänzlich stromlose Deaktivierung haben. Es ist noch nicht absehbar, ob diese Sensoren den Kostenanforderungen genügen können. Alle drei Klassen sollen dennoch im Projekt realisiert und verglichen werden. Commands Abbildung 5. Steuergerät und Versuchssensor der Klasse 2 mit: (1) UHF-Uplink-Antenne u. Transmitter auf der Unterseite einer Sensorplatine (2) HF-Downlink-Antenne auf der Oberseite des Sensors (Laboraufbau) (3) Steuergerät Datenlogger mit Display und Interfaces (4) Sender für HF-Downlink des Steuergerätes (5) Sendeantenne des HF-Downlink (auf die Batterie aufsetzbar) (6) UHF-Empfänger mit Empfangsantenne am Steuergerät Um den Einsatz der Zellensensoren in den genannten drei Klassen der Fahrzeugbatterien zu erlauben, muss das der Überwachungsfunktion zugrunde liegende Batteriemodell flexibel bleiben. Das Modell wird von der Batterietechnologie, den herstellerabhängigen Batteriespezifikationen und den Vorgaben des Fahrzeugherstellers für angenommene Betriebsbedingungen bestimmt. Im Rahmen der vorgesehenen Arbeiten soll ein Ansatz erarbeitet werden, sehr verschiedene Batteriemodelle zu unterstützen. Diese sollen durch die Software des Batteriesteuergerätes und der Zellensensoren in den Parametern einstellbar und der Funktionsweise anpassbar sein. Functions Abbildung 7. Grundgliederung der Battery Monitoring and Control Language Zur formalen Beschreibung ist die Formulierung eines Vorschlags für eine Battery Monitoring and Control Language (BMCL) geplant. Diese Sprache soll über einen Satz von Functions, Messages und Commands verfügen, die über die Batterietypen abstrahieren. BMCL soll über verschiedene Schichten der Funktionalität verfügen, die auch der lokalen Anordnung der Funktionalität bzw. Kommunikation entsprechen. Diese Schichten sind wie folgt gegliedert: A-Level für die Applikationsebene, B-Level für das Gesamtbatteriemonitoring und C-Level für die Funktionen des Sensors bzw. Effektors in der Zelle, siehe Abbildung 7. Durch das Konzept von BMCL in Verbindung mit einer Schaltungstechnik, die für einen breiten Spannungsbereich geeignet ist, wird der Einsatz der drahtlosen Zellensensoren für Blei- und Lithiumbatteriezellen möglich. Schematischer Aufbau des Zellensensors der Klasse 2 75 Abbildung 8. Verbesserte Sensoren der Klasse 1 ohne Quarze für Controller und Sender, hier Parallelschaltung für die Kalibrierung im Temperaturschrank Abbildung 9. Erprobung am PKW, parallele Zellen-Erfassung mit drahtlosen Sensoren und konventioneller Messtechnik (Spannung, Strom, Temperatur) werden die mikroelektronische Realisierung und die breite Erprobung mit verschiedener Batterietechnologie bilden. B. Sensor-Kalibrierung Die mit den Zellensensoren erfassten Spannungen müssen bis in den Millivolt-Bereich genau erfasst werden, da bei modernen Batterietechnologien, wie Lithium-Titanat, die Spannungskurve bei Ladung bzw. Entladung sehr flach verläuft. Außerdem sind passende Automotive-Temperaturbereiche (AEC Q100 Grade 3) von -40 bis 85 ◦ C sicherzustellen. Auch wenn davon die Batterie nicht den gesamten Tieftemperaturbereich abdecken wird, muss dennoch eine Temperaturinformation bis unter ein Grad genau bestimmbar sein. Auf dem Chip steht hierfür nur eine einfache integrierte Diode zur Verfügung, deren unkalibrierte Messfehler um einige Grad streuen. Es ist eine wichtige Teilaufgabe, die Sensoren über individuelle Korrekturfunktionen zu kalibrieren. Grundlage dafür sind die umfangreiche Datenerfassung und die Regressionsrechnung über Spannungen und Temperaturen. Entsprechende Arbeiten erfolgen im Rahmen des Projektes [6], siehe Abbildung 8. C. Bezug zu laufenden Entwicklungen beim Batteriemanagement In den letzten fünf Jahren sind Entwicklungen zum elektronischen Batteriemanagement von vielen Firmen initiiert worden [11], [18], [1]. Einige Automobilhersteller haben die ’elektronische Batterieklemme’ bereits in Serie eingeführt, welche die Strom- und Spannungsüberwachung der Gesamtbatterie vornimmt. Die Kombination mit diesen bestehenden Lösungen wird nicht ausgeschlossen, sondern sogar erwartet. V. Z USAMMENFASSUNG Im Forschungsprojekt sollen für drahtlose Zellensensoren von Fahrzeugbatterien die verschiedenen Realisierungsmöglichkeiten im Bezug auf unterschiedliche Betriebszustände der Anwendung untersucht werden. Ziel ist es, dabei ein flexibles und trotzdem aufwandsgünstiges System für alle Aspekte der Hardware, der Kommunikation und der Softwarestruktur zu finden. Wichtige Schwerpunkte weiterer Arbeiten 76 Danksagung Das Vorhaben BATSEN wird vom BMBF gefördert (FKZ 17001X10) und von den Unternehmen Volkswagen AG, Bertrandt AG, Still GmbH, OMT GmbH, Fey Electronic GmbH und Coilcraft Ltd. unterstützt. L ITERATUR [1] Analog Devices; ADuC703x, AD7280 - Datasheets; www.analog.com [2] Ansari J., Pankin D., Mähönen P.: Radio-Triggered Wake-ups with Addressing Capabilities for Extremely Low Power Sensor Network Applications; IEEE PIMRC 2008. [3] Eger, Torsten; Entwicklung von Hard- u. Software eines Readers für drahtl. Sensorik m. Resonanzabgleich; Diplomarb. HAW Hamburg 2008 [4] Finkenzeller, Klaus, RFID-Handbuch, 5. Auflage, Hansa-Verlag, 2008 [5] Hella KGaA Hueck & Co.; Energiemanagement - Technische Informationen (Broschüre) im Internet www.hella.com/.../ti em d.pdf [6] Ilgin, Sergej; Drahtlose Sensoren für Batteriemodule - Konzeption und Kalibrierung; Bachelorthesis HAW Hamburg 2011 [7] Jegenhorst, Niels; Entwicklung eines Zellensensors für Fahrzeugbatterien mit bidirektionaler drahtloser Kommunikation; Masterthesis HAW Hamburg 2011 [8] Krannich, Tobias; Experimentalsystem für einen Sensor-Controller mit drahtl. Energie- u. Datenübertragung; Diplomarb. HAW Hamburg 2008 [9] Krannich T., Plaschke S., Riemschneider K.-R., Vollmer J.; Drahtlose Sensoren für Batterie-Zellen - ein Diskussionsbeitrag aus Sicht einer Anwendung; 8. GI/ITG KuVS Fachgespräch Drahtlose Sensornetze“ 2009 ” [10] Kube, Raik; Drahtloses Sensornetzwerk für Fahrzeugbatterien - Kanal, Antennen und Fehlerraten; Masterthesis, HAW Hamburg 2011 [11] Linear Technologies; LTC680x - Datasheets; www.linear.com [12] Notten, P., Hetzendorf G.,Riemschneider K.-R.:Arrangement and Method for Monitoring Pressure within a Battery Cell; EP1856760B1, US2008097704A1, WO2006077519A1, CN100533845C u.a. [13] Plaschke, Stephan; Experimentalsystem für drahtlose Batteriesensorik; Diplomarbeit an der HAW Hamburg 2008 [14] Püttjer, Simon; Diagnosefunktionen für Automobil-Starterbatterien mit drahtlosen Zellensensoren; Diplomarbeit HAW Hamburg 2011 [15] Pop, V., Bergveld, H., Danilov, D., Regtien, P., Notten, P.; Battery Management Systems; Philips Research Book Series 2008 [16] Riemschneider, K.-R.; Wireless Battery Management System, Pat.appl. WO2004/047215A1, US020060152190A1, EP000001573851A1 [17] Silicon Laboratories Inc.; SI4012 - Datasheet; www.silabs.com [18] Texas Instruments.; bp76PL536 - Datasheets and Notes; www.focus.ti.com Efficient Power Management Using Out-of-Band Signaling Tobias Vaegs, Muhammad Hamad Alizai, Jó Ágila Bitsch Link, Klaus Wehrle Communication and Distributed Systems, RWTH Aachen University, Germany {firstname.lastname}@comsys.rwth-aachen.de Abstract—A tremendous amount of energy is wasted today, because computing devices are left running all the time even though they are needed only sporadically. Especially in office environments many devices (e.g., printers) are very rarely turned off, because they need to be available from time to time and because it is inconvenient having to switch them on and off manually. Existing solutions, such as Wake-on-LAN (WoL), provide support for managing the power consumption of the network devices remotely using an always-on data channel. However, these solutions are inefficient, because power to the network interface has to be maintained even when the host system is asleep just to ensure remote accessibility. We propose a Wireless Sensor Network (WSN) based outof-band signaling architecture for network interfaces which minimizes the systems’ power consumption during the large idle periods when nobody is using them. This is done by separating the data and control channels on the Internet-enabled devices using a low-power out-of-band signaling channel based on battery driven, energy scavenging devices. Unlike existing solutions, which only allow parts of the system to go in sleep modes, our architecture allows the whole system, including the main power supply, to be shut down. Our initial investigation indicates a significant reduction in energy consumption of devices during idle times compared to the existing in-band signaling mechanisms such as WoL. I. I NTRODUCTION Energy efficient operation of networked devices is pivotal in establishing a sustainable green IT infrastructure at our homes and in our offices. The Internet forms the core of our IT infrastructure that includes Internet-enabled desktops, laptops, printers, servers, storage, and IP phones. Approaches such as Wake-on-LAN (WoL) have been proposed to enable sleepmodes on these systems without compromising the remote accessibility enjoyed by always-on systems. However, over the years, these approaches have not proven successful for several reasons. For example, they rely on heavy infrastructure or application-level support or manual user action, presenting barriers to deployment and use. Similarly, their operation is inefficient since power to the network interface has to be maintained even when the host system is asleep: The network interface actively waits for incoming (in-band) signals and thus continually draws power from the main power-supply whose design is not optimized for powering such a small subsystem. We present a sensornet based out-of-band signaling architecture for network interfaces that significantly reduces systems’ power consumption during large idle periods when nobody is using them. This is done by physically separating the data and control channels on the Internet-enabled devices by employing a low-power out-of-band signaling channel based on battery driven, energy scavenging devices. Unlike existing solutions, which only allow parts of a system to go in sleep modes, our architecture allows the whole system, including the main power supply, to be shut down. The control channel interface is capable of signaling a wake-up or reboot the system automatically when the need arises. The utility of such an architecture lies in one key question: Is it possible to construct a highly energy and cost efficient out-of-band signaling mechanism to switch the power state of certain devices? The energy overhead and the deployment cost must be substantially smaller than for WoL based network interfaces, since otherwise one should just directly use inband signaling as employed by the existing approaches. The advances in sensornets research provide an affirmative answer to this question and thus put us in the privileged position to explore the feasibility of such an architecture even further. In this position paper we suggest interesting directions and opportunities offered by our solution. The remainder of this paper discusses the design of our approach, presents our prototype, and discusses an initial analysis of potential energy savings. A thorough evaluation of the savings for a real deployment is out of scope of this paper. II. O UT- OF - BAND SIGNALING Our solution for switching devices according to user’s needs bases on out-of-band signaling. The basic idea is to control devices over a Wireless Sensor Network (WSN) as a separate signaling channel. A. Scenario Consider an environment where several devices are networked, like in a modern office or household. The connection between the devices, which usually bases on the Internet Protocol (IP), we will call the data channel. Technologies used for these connections (like Ethernet of WiFi) are optimized to transfer data at a high rate. Although they can also be used for signaling purposes like it is done with WoL, they were not designed with energy-efficiency in mind. Instead of adjusting the existing data channel connecting our target devices to work more energy-efficiently we propose a separate signaling channel. Since this channel is solely 77 ID WS WS Fig. 1. System design envisioned by us for our prototype: Parallel to the data channel visualized by the solid line we propose a separate signaling channel for controlling purposes using WSN technology visualized by the dashed line. used for signaling purposes, it does not have to provide a high bandwidth and can be based on energy-efficient WSN technology (i.e., IEEE 802.15.4). Signaling users’ needs to the devices in order to control power levels accordingly without having to alter existing communication channels leads to a solution that is cheap and flexible as well as easily and incrementally deployable. Figure 1 illustrates our design vision. The solid line represents the data channel (i.e., Ethernet and WiFi), which interconnects most of the devices in a given environment, like workstations (WS), servers (S), or printers (P). Usually there is a device or a set of devices acting as interconnecting device(s) (ID) by maintaining the communication between all other devices. This can be everything ranging from a simple WiFi router in a home environment to a very capable server within a company’s network backbone. The ID can send commands over the separate WSN channel represented by the dashed line signaling devices to switch their power state. If a device is capable of IEEE 802.15.4 communication without additional hardware, it may be switched directly over this channel. Devices without this capability can be controlled by an attached sensor node and/or be powered over a power socket controllable over this channel. The advantage of the ID is that it is usually always running and connected to most other devices over the data channel. So it can be used as a gateway to signal users’ needs, which it receives over the data channel, to the connected devices. Additionally to the ID, other devices (like a workstation) could be used to send commands as well so that users can control devices directly from their machines. However, in this case the device being controlled (or the sensor node in control of the corresponding power socket) would have to coordinate commands from several senders. Since the whole purpose of this design is to save as much energy as possible, and since the sensor nodes are quite limited in their capabilities, it would be better to let them sleep as much as possible. Reacting on received commands would then be their only purpose, and more evolved tasks were handled by more capable devices that are reachable by most other devices over the data channel. Those devices are usually consuming power all the time anyway to perform other tasks and can easily take the additional burden. The design described here offers a variety of possibilities for controlling the power state of the connected devices. Switching to members of an elaborate set of energy saving states would require the integration of the control logic directly into the devices themselves, as this process is supposed to be very device-specific. However, with our prototype devices can simply be switched off completely so that they do not consume any energy at all during times in which they are not needed. Yet, they can be switched on again fast and conveniently as soon as they are needed. Moreover, our solution is realized with very energy-efficient hardware, so the energy needed to keep the device responsive to the users’ needs is reduced significantly compared to currently available solutions directly integrated into the devices (such as WoL). Although our approach can save energy when used with different classes of devices, consider a networked printer as a use case. The printer is connected to the network over which it receives its print jobs, and additionally it is capable of communicating on the signaling channel over which it can be turned on and off remotely. The manual case would be that a user who wants to print would have to send a command to switch on the printer before (over the ID) and one to switch it off again after fetching the printouts. This would already save energy, although it does not involve any sophisticated program logic. This is because our solution eliminates the inconvenient need to actually go to the printer to switch it on before printing, which usually prevents users from exploiting the idle times of the device to save energy even though these times might account for a significant portion of the day/week. Manual switching of the device reflects the users’ needs but is still a burden. Detecting users’ needs can be performed arbitrarily complex, but in certain scenarios it is very easy. In this use case our prototype software (cf. II-B) running on the ID can switch on the printer when it detects the presence of a corresponding print job and switch it off after some time when no jobs for that printer are issued anymore. Hence, the printer is switched-off for the majority of its idle time, which is considerably long at nights, over the weekends, and usually even during office hours. This approach promises tremendous power savings as an office printer typically remains powered-on after installation until it is repaired or replaced. For these scenarios we need the switched devices to also communicate with the ID for example to state when a print job is finished. Another possibility would be to employ appropriate heuristics to determine when a device should be switched on and off, whose derivation lies outside the scope of this paper. Those heuristics can be based on usage patterns derived over time and should also take the boot-up time of the controlled devices into account. the node hardware uses only very little energy compared to what the socket provides during times when the device is running, it should usually be possible to keep the node alive, as long as the device is used at least once in a while. (3) (1) (2) Fig. 2. A photograph of our prototype: One can see the switchable power socket (1) connected to a telosB sensor node (2), that can receive commands for this socket. Moreover, there is a second sensor node (3) connected to a controlling device via USB to send those commands. B. Prototype As a proof of concept we created a very simple prototype for our proposed separate WSN signaling channel and the printer use case. We attached a standard telosB sensor node to a switchable power socket with which we are able to switch the printer on and off by enabling/disabling its power supply. The socket we use1 provides a D-sub connector as a control interface, that we attached to the exclusive digital I/O expansion connector pins of the sensor node. This way the node can switch the socket and thereby the printer when triggered to do so. A photograph of this prototype can be seen in Figure 2. The software running on the nodes is intentionally kept very simple to let them work as energy-efficient as possible. We assume one base station node attached to the ID, which sends out the commands for the nodes connected to the power sockets. So the nodes only have to handle the plain command sending and receiving, any other program logic is implemented on the ID itself. Routing simply happens in a tree-based fashion rooted in the base station node to enable multi-hop command relaying. The software running on the ID monitors the CUPS server in the network. When a printing job appears for a printer, which is known to be switchable, a switch-on command is sent to the sensor node controlling that printer’s socket. After a configurable timeout the printer is switched off again, if no more printing jobs exist for it. Of course, the software can be extended to collect information about usage patterns, room occupancies and the like provided by sensors in the building and nodes attached to workstations and other devices. Decisions on how to switch the device can then be assisted by appropriate heuristics derived from this information. The sensor nodes connected to a switchable power sockets can employ energy scavenging techniques so that the batteries can be recharged during times when the device which is controlled by the node is running (i.e., when power runs through the switchable socket). The collected energy can then be used by the sensor node to stay responsive during times when the controlled device is completely powered off. Since 1 http://www.antrax.de/en/230V-Switchboxes/switch-via-USB-COMLPT/SwitchBox-Relay III. A NALYSIS After presenting our approach we want to give a rough estimate on how much energy can be saved by deploying it. A. Standby Power Our prototype helps to reduce the power needed in standby mode, which can be surprisingly much. The survey in [1] gives an overview about how much energy different devices consume during their standby phase, i.e., while not doing anything useful but waiting to be used. Numbers can be found ranging up to several watts with the minimum in the order of one watt, also for computing devices like printers. This is already significantly bigger than what we need to keep the sensor node responsive, which is all our prototype consumes during devices’ idle times. B. Usage Patterns Of course, we cannot just compare standby energy consumption of a device we want to control with the energy consumption of a telosB node. We do not consider the power consumption of the base station node, since the device it is attached to (the ID) will be running anyway to perform its other tasks and will not need significantly more energy to power the base station node. Moreover, one base station can be used to control several devices. However, for a real comparison we need to take into account the device’s usage pattern and the additional costs that come with switching the device on and off. For this we use data traces from the Powernet project2 at Stanford University, where the power consumption of several office devices is monitored constantly during regular usage. We took a look at the data gathered over the whole month June 2011 from three printers, whose power consumption and usage patterns can be seen in Table I. Three arguments for our approach are directly apparent from these numbers: (1) Most devices are almost never turned off, although they are used only a tiny fraction of the whole time, so they mostly run in standby mode. (2) In this mode the printers consume quite a lot of power. Nevertheless the consumption is realistic considering the values in [1]. (3) Even when the devices are turned off, they consume a significant amount of power. The total consumption of the three devices over the whole month was 11.38 kWh, 8.31 kWh and 3.64 kWh, respectively. C. Our Approach To compute the potential savings of our approach, we calculate its energy costs using the results from [4], where the power consumption of the telosB sensor node was measured and compared to the information in the official data sheet. For 2 http://powernet.stanford.edu 79 device 103 129 151 avg. consumption [W] energy spent [%] off standby used off standby used 1.39 16.23 413.79 0.01 98.40 1.60 1.41 10.59 529.71 ∼ 0 99.89 0.11 1.19 6.19 340.68 6.39 87.64 5.97 time spent regular [%] off standby used 0.01 99.78 0.06 0.01 99.95 ∼0 27.41 72.36 0.09 time spent OA off standby 97.19 2.75 98.81 1.18 97.61 2.30 [%] used 0.06 ∼0 0.09 total [kWh] regular OA 11.38 0.53 7.31 0.12 3.64 0.35 saving [%] 95.43 98.50 90.66 TABLE I E NERGY CONSUMPTION DATA FROM THE P OWERNET PROJECT [2], [3]. BASIS FOR THESE NUMBERS IS THE DATA GATHERED FOR THREE PRINTERS DURING J UNE 2011. N OTE THAT THE DEVICES CONSUME A SIGNIFICANT AMOUNT OF POWER EVEN WHILE THEY ARE TURNED OFF . W E COMPARE THE TIME AND CONSUMPTION DURING REGULAR USAGE WITH THE TIME AND CONSUMPTION WHEN USING OUR APPROACH (OA). simplicity reasons we do not consider any duty cycling for now. The goal in the future is to allow the nodes to sleep as much as possible, but their power consumption is already fairly low without any duty cycling. We assume the node to use only 68.4 mW all the time, regardless if the controlled device is running or not. Hence, responsiveness of our system for one device over a complete month (i.e., 24 hours over 30 days) needs 49.25 Wh. Considering the controlled devices we distinguish three different states: (1) active (i.e., the device is turned on and used), (2) standby (i.e., it is turned on but not used), and (3) off (i.e., its power supply has been cut). The energy amount for the telosB stated above is spent all the time, because the sensor node has to stay responsive to receive commands. Additionally we have to consider energy costs on top of that for the switchable socket and the device itself. While turned off no additional costs apply, but while the device is in standby or active state (i.e., turned on) the socket needs 1.2 W. Moreover, in the standby state we have to add the device’s standby consumption as well as its active consumption during active times. For our calculations we assume that the device is turned on right before it is used and turned off after its usage has ended and an additional timeout of five minutes has expired. Thus, during this timeout the device would be in the standby state. Whenever the device is not used long enough its power supply is cut setting it to its off state. The rightmost columns of Table I compare the printers’ power consumption as it was recorded (regular) as opposed to the consumption calculated by us when using our prototype (OA). One can see that at least 90% of the energy can be saved. The savings are less when the devices are used more frequently or when they are turned off manually from time to time, but they are still huge. D. Boot-up Phases One more cause of energy consumption we have to consider is the boot-up times of the devices. When a device is running all the time, it constantly consumes some energy. However, when turned off and on in between it saves energy while being off but consumes significantly more power when switching from the off to the on state. We assume the devices controlled by our approach to be idle most of the time, so there will be only very few boot-up phases, but the increase in energy can be very drastic. Unfortunately the Powernet data did not provide 80 this information and since the increase in energy consumption caused by the boot-up process varies significantly depending on the device, it is hard to estimate for the general case. However, what we can do is calculate how much power a printer would have to spend during boot-up to use up what our prototype would save. The energy saved by our approach without considering boot-up phases is 10.85 kWh, 7.19 kWh, and 3.29 kWh, respectively. During the month of monitoring when using our prototype the printers would have to be switched on by it 227, 95 and 193 times, leading to an available amount of energy per boot-up phase of 47.80 Wh, 75.68 Wh and 17.05 Wh. Even assuming very long boot-up phases of 30 seconds, this would mean that during each of them the printers would have to consume about 5.7 kW, 9 kW and 2 kW, respectively, to defeat the savings gained by our prototype. ACKNOWLEDGMENTS The authors like to thank Maria Kazandjieva and her colleagues working on the Stanford Powernet project for kindly providing us with the raw data to analyze as well as Thomas Gerlitz, Norbert Landa and Alexander Roth for helping with implementing our prototype for TinyOS. R EFERENCES [1] A. Chakraborty and A. Pfaelzer, “An overview of standby power management in electrical and electronic power devices and appliances to improve the overall energy efficiency in creating a green world,” Journal of Renewable and Sustainable Energy, vol. 3, no. 2, 2011. [Online]. Available: http://link.aip.org/link/?RSE/3/023112/1 [2] M. A. Kazandjieva, B. Heller, P. Levis, and C. Kozyrakis, “Energy dumpster diving,” in Proceedings of the Second Workshop on Power Aware Computing (HotPower), vol. 9, October 2009. [Online]. Available: http://sing.stanford.edu/pubs/dumpster.pdf [3] M. A. Kazandjieva, O. Gnawali, B. Heller, P. Levis, and C. Kozyrakis, “Identifying energy waste through dense power sensing and utilization monitoring,” Technical Report CSTR 2010-03, Stanford University, Tech. Rep., August 2010. [4] A. Prayati, C. Antonopoulos, T. Stoyanova, C. Koulamas, and G. Papadopoulos, “A modeling approach on the telosb wsn platform power consumption,” Journal of Systems and Software, vol. 83, no. 8, pp. 1355 – 1363, 2010. [Online]. Available: http://www.sciencedirect. com/science/article/pii/S0164121210000087 Wireless Sensor Network-Based Asset Management for Mobile Measurement Devices Helena Preiß, Sebastian Lempert, Christopher Kaffenberger, Alexander Pflaum Department for Supply Chain Technologies Center for Intelligent Objects ZIO Fraunhofer Institute for Integrated Circuits IIS Fuerth, Germany Email: {helena.preiss; sebastian.lempert; christopher.kaffenberger; alexander.pflaum}@iis.fraunhofer.de Abstract – The maturity level of Wireless Sensor Networks (WSN) has grown constantly and the market offers first components and products. Nevertheless the commercial breakthrough in industries has not yet happened due to the lack of economically justifiable applications. This paper presents the management of assets as one promising field of application for WSN. In particular we show how the existing asset management process for mobile measurement devices at Fraunhofer IIS is optimized with a WSN-based asset management system. I. AN INSUFFICIENT ASSET MANAGEMENT HAS NEGATIVE IMPACTS ON VALUE-ADDING PROCESSES AND FINANCIAL CAPABILITIES Asset management could be defined “as systematic and coordinated activities and practices through which an organization optimally and sustainably manages its assets and asset systems” [1]. In this context we understand assets as physical goods which are essential for the execution of the value-adding process but don’t merge in the final product. From our point of view the need for an asset management system is reasonable when three circumstances occur: Assets have a high monetary value. Assets have more than one user or responsible person. Assets are critical for the company’s success as the value-adding process depends on them. In many cases a fourth criteria becomes essential as physical assets can be mobile. These assets move around in a company or on a site, are used at different places and often have not a dedicated storage location. If a company has not installed an asset management system the last criteria leads to a lack of transparency about the number, the status and the location of the assets. The assets wander around, nobody feels responsible for them and they finally get lost. Under these conditions a company has to hold high security stocks if it wants to satisfy customer requests in time. This ties up capital and narrows the financial capabilities for the company. Additional, a badly performing asset management influences the value-added processes negatively as assets have long waiting times or are missed completely. Asset management systems are as various as the companies using them but mostly they don’t meet the high expectations in reducing the stock, speeding up the processes and solving the problems mentioned above. To prevent negative impacts of an insufficient asset management, in this contribution we propose the use of WSN for the management of eligible assets in general. In particular we present a WSN-based asset management solution for mobile measurement devices at Fraunhofer IIS. The rest of this contribution is organized as follows. A comparision between this contribution and related work is given in section II. In section III we describe what the previous asset management process at Fraunhofer IIS looked like in the past along with its weaknesses. On this basis in section IV we present the developed WSN-based asset management system, the benefits that come along with it and the method for optimizing the existing asset management process. We conclude this contribution with a summary and an outlook on prospective future work in section V. II. STATE OF THE ART: WSN FOR ASSET MANAGEMENT WSN are broadly discussed in industries and research literature, where [2] and [3] give a good overview about different application areas. Although the maturity level of WSN has grown constantly over the years, a commercial breakthrough has not happened yet. We compared 13 suppliers concerning their offerings in the area of asset management systems and found out that all companies offer RFID-based and about the half WLAN- or RTLS-based solutions. Only one company has WSN in its portfolio what leads us to the assumption that either the customers don’t request this technology or that WSN-based solutions for asset management are not ready for the market. In contrast, a look on the scientific literature reveals first pilot and test applications of WSN for the management of assets. The main application areas are the health care sector and hospitals. For example, in [4] and [5] medical devices are equipped with ZigBee-based WSN nodes in order to track their positions. The WSN consists of 21 mobile nodes and they aim especially on time savings, asset utilization and an efficient inventory management. A similar approach is described in [6]. In a clinical environment a WSN consisting of about 500 mobile s-net sensor nodes is used to optimize asset tracking, the supply chain of blood product and the patient safety during 81 blood transfusion. Furthermore, WSN test installations are used for asset management in logistics and supply chain management. For example, commissioning might be improved by using shelves and containers equipped with sensor nodes which are speeding up picking processes [7]. This comparison shows that there is still a discrepancy between research results and their use in the industrial practices. The asset management system presented in this contribution wants to reduce this gap. III. EXISTING ASSET MANAGEMENT PROCESS FOR MOBILE MEASUREMENT DEVICES AT FRAUNHOFER IIS A. Identification of Weaknesses in the Existing Process The Fraunhofer Institute for Integrated Circuits IIS makes use of a range of high-priced measurement and testing devices from 1.000 € to 100.000 € used by different organizational teams for research and industry projects. One single measurement setup can consist of numerous devices so that their worth can sum up to 1.000.000 €. The original asset management process was supported by a central IT-system. When new laboratory equipment was bought, it was inventoried with its accompanying information like identification number and type, its supplier, its storage location and the responsible person in a database. All registered employees are able to log in the IT-system, but they are only allowed to search for devices and to change the current asset location. The lending process looks as follows. If a person wants to borrow a measurement device he or she selects it via the IT-system and looks around in the laboratories. If a suitable device is found and moved from one room to another, the employee is urged to update the current location in the ITsystem manually. B. Derivation of Requirements for a Supporting Asset Management System The process described above causes problems and a dissatisfactory asset management situation. The employees don’t consequently update the data in the IT-system and so virtual and real storage locations are not consistent. This leads to a couple of resulting discomforts with the asset management system. To identify and rank the main problems guided interviews consisting of 26 questions were carried out with seven engineers. The seven engineers are responsible for the measurement devices in their departments and spend most of their working time with measurement tasks. A new asset management solution should help to solve the following eight aggregated main problems which negative affect the valueadding processes and the financial capabilities of the company: Long search times for measurements devices as their current location is not valid in the IT-system. Decentralized storage of devices as they are not returned to their original location after usage. Loss of devices as they are borrowed by other departments of the company and are not returned later. High safety stock due to the attempt to satisfy customer requests in time. 82 Time delays of research projects as industrial projects are preferred in case of bottlenecks. Measurement installations cannot be reproduced on a later date. Accompanying documents get lost, mixed up, or dirty and so important information are not well attached to the measurement device. Yearly inventory is time consuming as the measurement devices have to be searched and documented manually. Beyond these problems, the seven interview partners mentioned additional functionalities the asset management system should support: Identification of measurement devices on item level. Active localization of measurement devices. Geofencing for the laboratories. Geofencing describes the implementation of virtual fences around an area and the active triggering of alarm messages when a fence is crossed without permission [8, 9]. As the current IT-based asset management system caused dissatisfaction among the employees, could not solve all problems mentioned above and was not able to fulfill the additional requests of the engineers, a new solution had to be found. In this case, a WSN-based solution was selected for two reasons. First, WSN provide all technological functionalities to meet the requirements and second, a cost-benefit analysis shows the best ratio compared with other technologies like RFID or RTLS [10]. IV. OPTIMIZATED ASSET MANAGEMENT PROCESS THAT USES A WSN-BASED ASSET MANAGEMENT SYSTEM A. Overview on the System Architecture The technical implementation relies on an integration and application platform for diverse smart object technologies like RFID, RTLS and WSN. This fundamental architecture unites these technologies with a shared technology abstraction layer, controls the interaction between these technologies and existing enterprise infrastructures, supports intra-corporate and crosscompany integration and aims at reducing integration costs significantly. Furthermore the platform is equipped with a set of basic applications that serve as a basis for the efficient development of more sophisticated applications for the Internet of Things [11]. The essential requirements that such a platform should meet are presented in [12], further detailed requirements and the corresponding fundamental abstract architecture are presented in [13]. In addition a description of the underlying methodological approach that comprises the structured derivation of functional requirements from real world applications and subsequently the design of the platform is given in [10]. sdfsdfadasd Figure 1: Asset management system architecture based on s-net sensor nodes and the integration and application platform As can be seen in Figure 1 the implemented asset management system architecture consists of: Java EE components. The same applies to the asset management application on top of the platform. Mobile and fixed WSN infrastructure: Since mobile sensor nodes are battery powered, frequent battery changes would be a show-stopper in a system with a large amount of deployed sensor nodes. Consequently the system is built upon very energy efficient s-net sensor nodes and corresponding gateways and anchor nodes that were developed at Fraunhofer IIS [14]. B. Details on the Functionalities of the Developed System For every asset, basic information like inventory number, warranty expiration date and specification are stored in a database. These information are accessible via a web frontend, where reservations can be made, capacities can be checked and measurement setups can be defined and reproduced. Integration and application platform: The platform serves as a basis for the asset management application and connects this application and the WSN infrastructure to the existing enterprise IT. Existing enterprise IT: The asset management system is integrated into the intranet of Fraunhofer IIS. An additional connection to the existing management information system is planned for the near future. Clients: The asset management system comes with a user friendly graphical user interface that can be accessed with usual web browsers. The concrete implementation of the above mentioned abstract platform architecture is based on the current Java EE specification Version 6. Amongst others our implementation leverages the standards EJB 3.1, JPA 2.0 and JSF 2.0 while using JBoss AS 6.0.0, PostgreSQL 9.0.4 and OpenFaces 3.0. The platform modules presented in [13] are implemented as Since real life information must be available to the system, every asset is equipped with and represented by a s-net sensor node (see Figure 2). Periodically, the sensor node sends its position to the integration and application platform via hard wired anchor nodes (which are installed in almost every room) or directly to the gateway, which routes messages to the platform. After receiving and interpreting a message, the platform maps the sensor node id to the asset id, adds a time stamp and stores the coordinates of the node in a database. Furthermore, the room number that belongs to these coordinates is determined by a positioning engine and stored in the database too. Amongst others, on this basis, two scenarios can occur: Users can ask for the actual position of an asset: that means that via a web frontend the last room that has been determined by the positioning engine is shown on a map. 83 The system logic is responsible for generating alert messages in case defined geofences are crossed without permission: every time the server receives the position from a sensor node, the generated room number is compared to a list of rooms an asset must not leave. In case that the room number is not one of those associated with the asset, a SMS message is sent to the owner of the asset. Last but not least the management of the system is done by an authorized administrator, who can add new assets to the system, assign to them their respective sensor nodes, allocate geofences, add new users and administrators and (un-)connect the system to gateway nodes. adequate level. This will be done through usability tests with a group of users, who answer questionnaires and execute typical use cases with the asset management system. The results of these tests will build the base for the optimization of the system in a version 2.0. In addition in the next months the system will be enlarged: more measurement devices will be tagged with the s-net sensor nodes. Furthermore the next generation of s-net sensor nodes will be developed and used as well. These nodes will be equipped with an energy efficient Wake Up-Receiver [15] that represents a significant contribution to the economy of the WSN-based asset management process. [1] [2] [3] [4] [5] [6] Figure 2: Mobile measurement device observed by s-net sensor node [7] C. Testbed for the Asset Management Application The project was executed at two distantly located departments of the Fraunhofer Institute for Integrated Circuits IIS, Nuremberg and Fuerth. Every department initially received about 20 sensor nodes. In addition, 30 anchor nodes were permanently installed at both department sites. The asset management system itself is available via a web frontend and thus accessible via the Fraunhofer IIS intranet site. V. [9] [10] CONCLUSION AND OUTLOOK This contribution was motivated by the negative impacts that an insufficient asset management has on value-adding processes and financial capabilities. Against the background of an inefficient asset management process for mobile measurement devices at Fraunhofer IIS, we showed how this process was optimized with a WSN-based asset management system: we described what the previous asset management process at Fraunhofer IIS looked like in the past along with its weaknesses. On this basis we presented the developed WSNbased asset management system, the benefits that come along with it and the method for optimizing the existing asset management process at Fraunhofer. The system has been implemented over the last months and the next step is the evaluation of the system. Aim is to proof if the system supports the users in the departments on an 84 [8] [11] [12] [13] [14] [15] The Institute of Asset Management, “PAS 55-1:2008 - Asset Management Part 1: Specification for the optimized management of physical assets”. London, UK, British Standards Institution, 2008. M. Ilyas and I. Mahgoub, Imad, “Handbook of Sensor Networks”. Boca Raton, FL, USA: CRC Press, 2005. H. Karl and A. Willig, “Protocols and Architectures for Wireless Sensor Networks”. Chichester, West Sussex, UK: John Wiley & Sons, 2007. K. Kim, J. Jun, S. Kim and B. Y. Sung, “Medical Asset Tracking Application with Wireless Sensor Networks” in Proceedings of SENSORCOMM 2008, Cap Esterel, France, pp. 531-536, August 2008. S.-J. Kim, J. H. Seo, J. Krishna and S.-J. Kim, “Wireless Sensor Network based Asset Tracking Service” in Proceedings of PICMET 2008, Cape Town, South Africa, pp. 2643-2647, July 2008. A. Pflaum et al., “Deployment of a wireless sensor network to support and optimize logistical processes in a clinical environment” in Proceedings of RFID-SysTech 2010, Ciudad, Spain, June 2010 M. Faschinger, C. R. Sastry, A. H. Patel and N. C. Taş, “An RFID and Wireless Sensor Network-based Implementation of Workflow Optimization” in Proceedings of WoWMoM 2007, Espo, Finnland, pp. 1-8, June 2007. F. Reclus and K. Drouard, “Geofencing for Fleet & Freight Management” in Proceedings of ITST 2009, Lille, France, pp. 353–356, October 2009. E. Gill, B. M. Fox and J. Kreisel, “Emerging commercial opportunities based on combined communication–navigation services” in Acta Astronautica, vol. 59, pp. 100– 106, July-September 2006. S. Lempert and A. Pflaum, “Sensornetzbasiertes Supply Chain Event Management zur Optimierung des innerbetrieblichen Asset Managements am Fraunhofer IIS” in Proceedings of LM 2011, Bamberg, Germany, in press, September 2011. S. Lempert and A. Pflaum, “Development of an Integration and Application Platform for Diverse Identification and Positioning Technologies”, in press, Springer, 2011. S. Lempert and A. Pflaum, “Über die Notwendigkeit einer Integrationsplattform für unterschiedliche Smart Object Technologien” in Prodeedings of FGSN 2010, Wuerzburg, Germany, pp. 71–74, September 2010. S. Lempert and A. Pflaum, “Towards a Reference Architecture for an Integration Platform for Diverse Smart Object Technologies” in Proceedings of MMS 2011, Kaiserslautern, Germany, pp. 53–66, February 2011. Fraunhofer IIS, “Wireless Sensor Networks”, available online at http://www.iis.fraunhofer.de/en/Images/Wireless_Sensor_Networks_tcm 183-84849.pdf, last checked on 2011-07-15. H. Milosiu, F. Meier, H. Preiss, F. Oehler and A. Pflaum, “A Novel Concept for a Long Lifetime Wireless Geofencing System With an Integrated Sub-10 µA Wake-Up Receiver” in Proceedings of RFIDSysTech 2011, Dresden, Germany, May 2011 1 TakaTuka — Java for Wireless Sensor Motes Faisal Aslam and Christian Schindelhauer and Zartash Uzmi Abstract—TakaTuka is a Java virtual machine (JVM) for wireless sensor network devices. Java as a programming language allows non specialized software developers to develop programs for wireless sensor networks. TakaTuka is designed to support small microprocessors and offers CLDC compatible library support. It optimizes the memory footprint, execution speed and energy consumption. At the moment it supports four sensor network platforms. TakaTuka provides an optimized garbage collection, a Java debugger and basic communication routines. TakaTuka stores the full Java class in a highly compact format named Tuk while the other information remains on the compiling machine. The Tuk-format strips all unnecessary information, such as class names and retains only essential information for runtime. This Split VM architecture allows enormous bytecode compaction that results in smaller code size and faster bytecode execution. Index Terms—Java, Programming, Wireless Sensor Networks, Memory Optimization, Garbage Collection increases the execution speed. For the memory management a new garbage collection mechanism is introduced for the JVM which solves some of the tasks of garbage collection at compile time. As a consequence less memory is used during the execution of TakaTuka during the execution and the performance of TakaTuka sensor motes come close to the necessities of a real-time computing. So, up to 66% more RAM might be available during the execution compared to standard JVMs. The storage, performance and RAM consumption features of the TakaTuka JVM makes it an attractive platform for developing applications for wireless sensor networks employing micro-controllers and embedded devices. For an overview of TakaTuka see [1]. II. Related Work I. Introduction Java as a high-level programming language enables the simple and object-oriented development of software which is platform-independent and robust. It guarantees type safety and with the help of its runtime garbage collection one does not run into memory allocation problems known from programming languages like C. For the programming of sensor motes the community started with low-level languages like C, Assembler or specialized languages like nesC. This was caused by the hardware restrictions of a typical sensor mote, like the Crossbow Mica2, which provides only 4kB RAM for data memory, 128 kB flash code memory and a slow 8 bit microprocessor. So, it was widely believed that under such restrictions high-level programming under Java is impossible and therefore Sun microsystems developed for their Java platform Squawk sensor motes in combination a fitting hardware platform with faster processors and sufficient memory. The TakaTuka Java virtual machine (JVM) takes a different approach and is developed to fit on existing microcontrollers with small RAM, storage and processing power. For this, the TakaTuka optimizes storage requirements for the Java binary as well as the JVM interpreter, both of which are to be stored on an embedded device. For this the Java binary size of the TakaTuka JVM provides optimized code which needs for some extreme cases only 8% of the usual size of a Java binary. Also, the interpreter size for a given program is reduced to as small as 25 KB. This highly optimized Java binary and Java interpreter allows sensor motes to run Java code and as a by-product Faisal Aslam is with the Lahore University of Management Sciences (LUMS), Lahore, Pakistan, e-mail: [email protected] Christian Schindelhauer is with the University of Freiburg, Germany, 79183 Freiburg, e-mail: [email protected] Zartash Uzmi is with the Lahore University of Management Sciences (LUMS), Lahore, Pakistan, e-mail: [email protected] Sun Microsystem’s JVM does not work on sensor motes because its memory requirements of some hundred KBs. To overcome this problem Sun Microsystems has released Squawk, a special JVM for embedded systems [11]. It resolves some of the obstacles to implement a JVM on a sensor mote by using a Split VM Architecture (SVA). Such a SVA runs resource hungry tasks of the JVM, including class file loading and bytecode verification on the desktop [10], [11]. By this, memory and CPU usage requirements for motes are weakened. Now runtime loading and verification is not required on the mote. Compared to standard JVMs, Squawk has lower requirements of resources. Still it is not possible to run Squawk on a typical mote equipped with an 8-bit microcontroller, a few hundred KB of flash memory and around 10 KB of RAM. For such motes, Sentilla Corp. has developed a special JVM only for Sentilla motes, which has not been open-source and has been discontinued recently [8]. Darjeeling, is an open source JVM designed for motes [5]. It support only some parts of the JVM specification and sacrifices some features like floating point support, 8-byte data types and synchronized staticmethod calls for efficiency [5]. The Java Card VM [6] by Sun Microsystems has very small resource requirements. Yet, it does not support multi-threading and garbage collection. So, for a variety of applications is is not suitable. There are a only few other JVMs available for embedded devices, such as NanoVM [7], and VM* [9], but these are either limited in functionality by not fully supporting JVM specifications or are closed source with a limited scope of operation only on specific devices. III. TakaTuka The TakaTuka JVM aims to provide all features of a fully CLDC-compliant JVM 2. Currently, it supports all but two of the Java bytecode instructions and most of the CLDC library. It supports threading, debugging, synchronized method calls, 8-byte data types and 4-byte floating 85 Networks and Telematics 2 ach other. we address DQG )LHOGV Split VM Architecture 3&6LGH Mote Side /RDGLQJ 9HULILFDWLRQ /LQNLQJ 2SWLPL]DWLRQ many Classfiles 1.5. Challenges and Contributions ,QWHUSUHWHU 0HPRU\0DQDJHPHQW one Tukfile XQWLPH $SSOLFDWLRQ :KROH&ODVV/LEUDU\ 2SWLPL]HG$SSOLFDWLRQ 6XEVHWRI&ODVV/LEUDU\ RAM Optimizations Fig. 1. Split Virtual Machine Architecture of TakaTuka [4] Current Status Percentage Reduction ntries is onstant e of the ant pool Percentage Reduction CLDC RAM is usually on themotes. scarcest in motes, because point arithmetic It resource runs on motes with RAM of its high energy consumption. Therefore we try to as small as 4 KB and flash as small as 48 KB. It provides reduce the RAM usage of TakaTuka as much as possible. 74 Bytecode Compaction Java interfaces for commonly used hardware components of sensor motes. So, any platform, which provides an imTakaTuka keeps the application and libraries in non plementation of those interfaces, also supports TakaTuka. volatile memory (Flash). In contrast to traditional The TakaTuka JVM has been tested on more than five FODVVILOHVWKHLQGH[VWUXFWXUHVDUHEXLOWLQWRWKH7XNILOH Figure 1.2: offline optimizations and checks Fig. 2. The Generation of the Tuk-File [1] for the TakaTuka JVM. All optimizadifferent mote platforms and is currently available for the tions are performed on a desktop computer and, afterwards, a compact Java binary (TUK) following ones. RAM is strictly used for dynamic data, that includes the is transferred to the host device such as a mote. • Crossbow IRIS 140 compution stack, the object heap and the VM state. javax/microedition • Crossbow MICA2/MICAz java/io 120 java/lang • Crossbow TelosB collection wastes RAM by deallocating a subset of objects from the set of objects that java/util Sun Spot Demos • Sentilla JCreate should be deallocated100 at a given point of the program execution. CTPFurthermore, the garbage collection needs to analyze the program several times duringDYMO its execution. These analyses A number of Java WSN applications and protocols have JTC 80 require extensive CPU cycles. Thus, garbage collection wastes CPU cycles and reduce the Quicksort been developed and tested on such motes. battery lifetime of wireless motes. This work presents Offline Garbage Collection (GC) 60 TakaTuka stores theCore complete Java classes in a highly ŹVirtual Machine to alleviate both of these problems. Our approach defies the current practice in which compact format named Tuk and stores other information 40 an object may be deallocated only if it is unreachable. The Offline GC allows freeing &XUUHQWO\UXQVRQWKH3&PLFD on a $OPRVWIXOOVXSSRUWIRUVWDQGDUG-DYDE\WHFRGH Tak-file which remain on the compiling machine. an object that is still reachable but is guaranteed not to be used again in the program. 20 The Tuk-format strips all unnecessary information, such as &XVWRPL]DEOHLQIXQFWLRQDOLW\WRUHGXFHWKHVL]H 0 class %DVLFVXSSRUWIRUWKUHDGLQJV\QFKURQL]DWLRQ names and retains only essential information for runInput Programs time.%DVLFUXQWLPHJDUEDJHFROOHFWLRQ This Split VM architecture allows enormous byte(a) LC code compaction that results in smaller code size and faster Fig. 3. Sample decrease of the Java bytecode [1] javax/microedition bytecode execution, see Fig. Support 1 from [4]. ŹDrivers and Hardware 60 java/io java/lang The generation of the Tuk file involves a series of opti,QWHJUDWLRQLQWR7LQ\26 java/util 50 mization steps, see Fig. 2 from [1]. First, the TakaTuka Spot Demos /('DQGUDGLRGULYHUUHDOL]HG The verification process checksSun the integrity of class file CTP compiler removes unreachable java code (dead code re- (e.g. if a branch DYMO target is valid or not.). In TakaTuka the 40 JTC moval). Then, the following optimizations on the class bytecode verification is performed on the Ź Miscellaneous desktop computer Quicksort 30 files of a program are crucial: /RDGLQJDQGOLQNLQJRIQHFHVVDU\FODVVHV before transferring the Tuk file onto the mote, see Fig. 3. &RQVWDQW3RRORSWLPL]DWLRQV 1. Bytecode Optimizations The Constant Pool (CP) of a class file has no redundant 20 2. 3UHOLPLQDU\GHDGFRGHUHPRYDO Constant Pool Optimizations information, however CPs of different class files of a pro10 3. 3UHOLPLQDU\E\WHFRGHFRPSDFWLRQDOJRULWKP Format Optimizations gram may possess the same information. The Tuk file has The set of instructions executed by a JVM are called a Global CP 0(GCP) that has constants of all the class files Input Programs Java bytecode instructions. TakaTuka has two different but has no redundant information. Furthermore, instead (b) FC kinds5HODWHG:RUN of bytecode optimizations, namely, single instruc- of using names for dynamic linking at runtime, TakaTuka tion optimization and multiple instructions optimization.Figure has4.7: static linkingPercentage that is reduction carried inout the three program Aggregated Javaduring binary using compaction schemes with LC and FC. These optimizations reduce the size of bytecode. In addicompilation. The static linking does not rely on the names SUN Microsystems: tion,7KH6TXDZN-DYD9LUWXDO0DFKLQH the optimized bytecode executes faster. The informa- of class files, functions, and fields stored in the CP. TheretionKWWSUHVHDUFKVXQFRPSURMHFWVVTXDZN required for the runtime bytecode verification and not fore, the GCP does not have names if they are not used for the program execution is removed from the Tuk file, in the program. Removing the naming information from Sentilla: which further reduces its size, see [2], [4]. GCP makes it further smaller in size. On the average, the CLDC andard ed with HV QRW 2YHUYLHZ 86 KWWSMDYDVXQFRPMDYDRQHVIDUWLFOHVJHQBVHQWLOODMVS 11 TAKATUKA — JAVA FOR WIRELESS SENSOR MOTES Tuk GCP for a given set of programs is 95% smaller than corresponding regular CP of those programs. A frame is the data structure used to store local variables and operand stack of a function. The maximum number of slots required by the frame of a function is calculated during creation of class files from the Java source of the program. In Sun JVM each slot of a frame is exactly 32bit long. This means that data types smaller than 32-bit (e.g. 16-bit Short) will also be stored in a 32-bit long slot and that any data type larger than 32-bit will be stored in multiple slots. We call this a Fixed Slot Size (FSS) scheme optimized for 32-bit micro-controllers. A wireless sensor mote usually has either 16-bit or 8-bit micro-controllers, and has less than 10 KB of RAM. 8-bit micro-controller can efficiently access a memory in multipless of 8. In order to save RAM on tiny motes we have designed a Variable Slot Size (VSS) scheme in which the slot of a frame may be 8-bit, 16-bit or 32-bit long. The results of our studies show for both 8-bit and 16-bit microcontroller slot sizes that the slot size of 16-bit saves RAM as well as CPU cycles on a tiny mote [2] The garbage collector is a program responsible for automatic memory management as explained. It is invoked during the program execution and it reclaims objects not reachable from the root-set. Garbage collection uses additional CPU cycles and may reduce the battery lifetime of wireless motes. TakaTuka uses an Offline Garbage Collection (GC) to alleviate both of these problems. The Offline GC allows freeing an object that is still reachable but is guaranteed not to be used again in the program and frees valuable RAM earlier than the standard Java garbage collectors. The Offline GC increases the amount of RAM available to a program by up to 66% compared to a typical online garbage collector. Furthermore, the number of CPU cycles consumed in freeing the memory is reduced by up to 73% when the Offline GC is used, see [3]. The Offline garbage collection and the VSS both are designed to increase the RAM availability for a Java program. Due to these optimizations a program with larger RAM requirements may be executed on a tiny mote that has only few KBs of RAM. However, the Java binary of that program must also fit on the flash of a mote that is used to store programs. The interpreter is stored on the flash memory of a mote beside the Java binary of a project. Hence, it is also a necessary target for optimization. The TakaTuka interpreter has been designed as a set of modules, which allows the programmer to remove certain modules for reducing its memory footprint. If, for example, the programmer decides not to use floating point operations he may remove the floating modules from the interpreter. Furthermore, the interpreter decreases with the number of unused bytecode instructions. The interpreter for motes is also be optimized for speed. In order to reduce the time of instructions dispatch, the TakaTuka interpreter employs the labels-as-values approach for providing direct threading instead of traditional 3 switch. The labels-as-values approach requires only a small constant number of comparisons to interpret a bytecode instruction, and thus exhibits better execution time as compared to a switch. Java programs may need to use hardware drivers including drivers for radio, e.g. Light Emitting Diodes (LEDs) and sensors. TakaTuka aims at supporting a large variety of hardware platforms, but each hardware platform may have a different set of drivers. Many existing operating systems that have been developed for the motes have support for these drivers. However, each operating system has a different set of functions and a model for the hardware drivers’ support. For example TinyOS has event-driven model and Contiki operating system has threading based model. Furthermore, both of these operating systems have different sets of functions for drivers’ support. TakaTuka supports all the existing operating systems, without depending on any one of them. For this, it provides a set of hardware-independent Java interfaces to access drivers. The TakaTuka JVM interfaces hide the operating system model and low-level driver functions from the Java programmer. A programmer, writing his code using TakaTuka, does not need to know which operating system is supported by a given mote. The Java code written for one mote may run on any other mote without any changes even when the mote has a different hardware or operating system. This is accomplished by providing a hardware and operating abstraction layer [1]. The current version of the TakaTuka JVM uses the same power management strategies as implemented in TinyOS but in future versions, more comprehensive power management are planned. Debugging in a wireless sensor network is one of the most difficult problems in programming since the distributed applications may be trigger by unpredictable external events. TakaTuka provides a Tiny Java Debugger (TJD), which can monitor and examine the Java source code execution on a mote without significantly burdening the mote resources. The TJD has been tested on most of the motes supported by the TakaTuka JVM. Furthermore, it supports any mote supported by TakaTuka in future with a few or no changes. IV. Current Status and the Future of TakaTuka TakaTuka has been development from scratch at the University of Freiburg as an open-source project (takatuka.sourceforge.com), without employing any existing JVM code. The TakaTuka JVM supports almost all the bytecode instructions and almost the complete CLDC library. At the moment the TakaTuka project is at a transition step and faces the following challanges. The main development has moved to LUMS at Lahore while the Freiburg site is currently re-organizing its development team. Furthermore, new partners have signaled their interest in contributing to the future development of TakaTuka. The interests of users of TakaTuka need to be met by providing 87 4 new hardware drivers and continue the support of all hardware platforms. For this, an international consortium will be formed which provide developers and users a reliable perspective for the further development of TakaTuka. Another goal is to organize and provide funding for the core developer teams around globe. This consortium will welcome industrial partners which are willing to contribute to this project and in return supports the commercial use of TakaTuka or its components as long as the open source status of the overall project is not compromised. References [1] F. Aslam. Challenges and Solutions in the Design of Java Virtual Machine for Resource Constrained Microcontrollers. PhD thesis, University of Freiburg, Georges-Koehler-Allee 51, 79110 Freiburg, Germany, March 2011. [2] F. Aslam, L. Fennell, C. Schindelhauer, P. Thiemann, G. Ernst, E. Haussmann, S. Rührup, and Z. Uzmi. Optimized Java Binary and Virtual Machine for Tiny Motes. In Distributed Computing in Sensor Systems (DCOSS), volume 6131, chapter 2, pages 15–30. Springer Berlin Heidelberg, Berlin, Heidelberg, 2010. [3] F. Aslam, L. Fennell, C. Schindelhauer, P. Thiemann, and Z. A. Uzmi. Offline gc: Trashing reachable objects on tiny devices. Accepted for ACM SenSys, 2011. [4] F. Aslam, C. Schindelhauer, G. Ernst, D. Spyra, J. Meyer, and M. Zalloom. Introducing takatuka: a java virtualmachine for motes. In Proceedings of the 6th ACM conference on Embedded network sensor systems, SenSys ’08, pages 399–400, New York, NY, USA, 2008. ACM. [5] N. Brouwers, K. Langendoen, and P. Corke. Darjeeling, a feature-rich vm for the resource poor. In ACM SenSys, 2009. [6] O. Corporation. Java card platform specification, v 2.2.2, 2006. [7] A. engineering. The NanoVM - Java for the AVR. http://www.harbaum.org. [8] J. J. Heiss. Sentilla’s Pervasive Computing – The Universe Is the Computer. 2008 JavaOne Conference. [9] J. Koshy and R. Pandey. Vmstar: Sythesizing scalable runtime environments for sensor networks. In SenSys. ACM Press, 2005. [10] T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Second Edition, Prentice Hall, 1999. [11] D. Simon, C. Cifuentes, D. Cleal, J. Daniels, and D. White. Java on the bare metal of wireless sensor devices: the squawk java virtual machine. In ACM SIGPLAN VEE, 2006. 88