if devices can change frequency in runtime and communicate at different frequencies, it is called &quot;frequency multiplex&quot;, like walkie talkie. if two devices want to communicate, they must have the same frequency some types of tv antennas receive uni-directional or just call directional signals Directional antennas are able to pull in signals from greater distances. because they &quot;see&quot; in only one direction they are resistant to noise and &quot;multipath distortion&quot; (a problem encountered when an antenna receives reflections of the desired signal). Because multi-directional antennas &quot;see&quot; in many directions they are more likely to pick up noise, interference, and multipath distortion.
Energy conservation: turn off radio when it is not needed. Bandwidth allocation: allocate communication channels to neighbor nodes. time synchronization is usually done in MAC, but some networks may not need time sync Time sync: to make the time on each node the same, so that the timestamp of the packet from each node is useful ad-hoc networks such as laptops, pdas may not sync their time another purpose of time sync is to make the nodes to return packets within each epoch. the nodes should know when the epoch starts and when it ends Collision detection/handling can be included in bandwidth allocation. there is some scheduling mechanism in the kernel.
UART, Radio, sensor, components -> hardware components system components include AM (Active Messages), task execution. Queue, debugger, random -> lib components interface components include attribute interface, message sending interface, timer interface, etc.
dynamic code update means the nodes do not need to reinstall all code. reinstalling will cause the node to stop or reset. Without priorities one task cannot preempt another single thread, single application
An example of networked embedded systems can be the information sharing system on cars, which can share the information about the highway status, accidents, fires, rains, road quality ahead, etc among cars. contiki doesn't support dynamic loading
direct calling cannot change the called module after compilation but jump table can, as it does not need the called module to be compiled together. like DLL - dynamic link lib
The small code size does not include application, but the kernel, scheduler, and network. stack occupies less than 500 bytes of RAM and about 14 KB of flash.
The application exists as binary code, just like TinyOS application code, which is compiled from (tinyos + application NesC program). It may have accidental program errors. Note that naturalization is not code interpretation. The naturalization is only performed at load-time. After the naturalization, the naturalized program is considered safe and will be executed without monitoring or interpretation. This load-time approach limits most of the software overhead to be a one-time cost. Hence, it is able to provide a much faster execution speed than the approaches based on interpretation. Changes in naturalization: memory change -> to enable virtual memory code change-> do not allow malicious program that try to enter the OS kernel to change something
most java machines run on RAM in a pc. Because loading code in RAM will be costly, most embedded device run code on ROM
TinyOS adopts such a CSMA protocol in wireless communication
The gradients are shown as the arrows in Step 2. They are just the links for the paths from the source to the destination. Normally, after Step 2, query results start flowing towards the destination along multiple paths. During transmission of these query results, the network “reinforces” one, or a small number of these paths. In Step 3 of this slide, the source sensor node reinforces one path by selecting the gradient that has been more reliable than others.
If node 3 finds that the link between 1 and 3 is not reliable – the packet loss rate exceeds a system defined threshold, node 3 may change to other neighbors with more reliable links, even though the hop count of node 3 may increase
When RERR happens, the source needs to reconstruct a route from the source to the destination. The process is the same as the previous process in the figure.
System Design Issues In Sensor Databases Qiong Luo and Hejun Wu Department of Computer Science and Engineering The Hong Kong University of Science & Technology http://www.cse.ust.hk/
Wireless Sensor Networks (WSNs) Energy efficiency is the most crucial performance factor. Limited on-node resource Multi-hop communication
Cross-layer design is necessary for an efficient, holistic sensor database.
References: Sensor Databases and Runtime Support
[BGS01] Philippe Bonnet, Johannes Gehrke, and Praveen Seshadri. Towards Sensor Database Systems. MDM, 2001 .
[MF+02] Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein, and Wei Hong. TAG: a Tiny AGgregation Service for Ad-Hoc Sensor Networks. OSDI , 2002.
[MF+03] Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein, and Wei Hong. The Design of an Acquisitional Query Processor for Sensor Networks . SIGMOD , 2003.
[YG03] Yong Yao and Johannes Gehrke. Query Processing for Sensor Networks. CIDR , 2003.
[MAK07] Rene Muller, Gustavo Alonso, and Donald Kossman. SwissQM: Next Generation Data Processing in Sensor Networks. CIDR, 2007.
[CP+07] David Chu, Lucian Popa, Arsalan Tavakoli, Joseph M. Hellerstein, Philip Levis, Scott Shenker, and Ion Stoica. The Design and Implementation of A Declarative Sensor Network System . Submitted for publication , 2007.
[DGV04] Adam Dunkels, Björn Grönvall, and Thiemo Voigt. Contiki - A Lightweight and Flexible Operating System for Tiny Networked Sensors . The 29th Annual IEEE Conference on Local Computer Networks , 2004.
[HK+05] Chih-Chieh Han, Ram Kumar, Roy Shea, Eddie Kohler and Mani Srivastava. A Dynamic Operating System for Sensor Nodes. International Conference on Mobile Systems, Applications, and Services , 2005.
[BC+05] Shah Bhatti, James Carlson, Hui Dai, Jing Deng, Jeff Rose, Anmol Sheth, Brian Shucker, Charles Gruenwald, Adam Torgerson, and Richard Han. MANTIS OS: An Embedded Multithreaded Operating System For Wireless Micro Sensor Platforms. ACM/Kluwer Mobile Networks and Applications (MONET), Special Issue on Wireless Sensor Networks , vol. 10, no. 4, pp.563–579, Aug 2005.
[GS06] Lin Gu and John A. Stankovic. t-kernel: Providing Reliable OS Support for Wireless Sensor Networks. SenSys , 2006.