ProxyMotes: Linux-based TinyOS Platform for Non-TinyOS Sensors and Actuators

Size: px
Start display at page:

Download "ProxyMotes: Linux-based TinyOS Platform for Non-TinyOS Sensors and Actuators"

Transcription

1 th IEEE International Symposium on Parallel and Distributed Processing with s ProxyMotes: -based Platform for Non- Sensors and Actuators Tomasz Paczesny, Tomasz Tajmajer, Jaros aw Domaszewicz, Aleksander Pruszkowski Institute of Telecommunications Warsaw University of Technology, Warsaw, Poland {t.paczesny, t.tajmajer, domaszew, apruszko}@tele.pw.edu.pl Abstract We present the concept, design, and implementation of the proxy mote, a -based platform able to execute a application in a fully functional way. The main use case for the proxy mote is to expose a non- ( legacy ) sensor/actuator device to applications. This is achieved by complementing the proxy mote with a devicespecific driver. Multiple proxy motes, each representing its own device, run in parallel on a single PC and communicate among themselves. Thus a distributed, multi-node application can use a complex, heterogeneous legacy sensor/actuator installation. At runtime, a proxy mote is a process. Multiple proxy motes form an intra-pc network and exchange Active Message packets over a dedicated infrastructural process that acts as a switch. We include performance results for the proxy mote and proxy network, for typical applications. The results demonstrate the feasibility of the approach. Keywords-wireless sensor/actuator networks; wireless sensor networks; ; ; legacy sensors and actuators; proxy I. INTRODUCTION A wireless sensor/actuator network (WSAN) consists of cooperating nodes able to sense and affect the surrounding environment. WSAN technology receives currently much attention from research and industry, as many interesting applications appear in the areas like smart homes, environmental monitoring, healthcare, emergency response, and military. [1] is among the most popular operating systems used in WSAN networks. It is available for a number of platforms, most of which are based on a tiny physical node that integrates a microcontroller, some (possibly nodespecific) sensors and actuators, as well as a module for wireless communication. In the rest of the paper we refer to such nodes as hardware motes. Examples of hardware mote platforms include MicaZ, TelosB, and IRIS [2]. s developed for (and similar operating systems) are most often multi-node (distributed). They run on a number of communicating hardware motes, and, in general, different motes execute different application code. The key resource used by such applications are the sensors and actuators contributed by all participating hardware motes; they are the multi-node application s means to interact with the environment. Quite frequently, one would like to reuse an available multi-node, application by running it with sensors and actuators not interfaced to hardware motes. Such non- ( legacy ) sensor/actuator resources may originate from, e. g., an existing LonWorks [3] home automation system, Bluetooth-based devices like BlueSentry [4], or an existing non- WSAN test-bed, to name just a few possibilities. There are plenty of useful off-the-shelf sensor/actuator devices, which are not related in any way to. We refer to this situation as the reuse scenario. A similar case is when one would like to extend a hardware mote-based application, so that it also includes legacy sensors and actuators (the extend scenario). It is also possible that is simply one s programming environment of choice. Then one would like to be able to develop for, even having only legacy sensors and actuators to begin with (the program for scenario). In all the above three motivating scenarios, the challenge is to enable a application to access sensor and actuator resources not accessible through hardware motes. To address that, we have developed the proxy mote, a fully functional platform for -based PC systems. The main use case for the proxy mote is to expose (or act as a proxy for ) a non-, legacy sensor/actuator device. An application is compiled for the proxy mote in the same way as for hardware motes like MicaZ. abstractions for all major hardware mote peripherals (timers, the interface, and the serial port) are supported. References to the proxy mote s sensor/actuator interfaces actually affect the legacy device, accessed remotely in a device-specific way. The access is achieved by complementing the proxy mote with a devicespecific driver. At runtime, the application, the proxy mote (i.e., the system-level code), and the device driver, linked together, run natively on a PC as an autonomous process. Support for multi-node, distributed applications requires that multiple proxy motes run in parallel and communicate. Accordingly, proxy motes running on a single PC, each accessing its own legacy device, form a proxy network. Networked proxy motes use the familiar Active Message (AM) interface for communication. Message exchange is transparently handled by a dedicated process, named Portplex. We refer to the package consisting of (a) the /12 $ IEEE DOI /ISPA

2 proxy mote platform and (b) the Portplex communication infrastructure as ProxyMotes. In Fig. 1, a typical -based setup is contrasted with one based on ProxyMotes. The same multi-node application is run in both cases. Each mote executes its own application code, denoted by App1, App2, and App3, respectively. In Fig. 1a, the application runs on hardware motes and uses mote-integrated sensors and actuators. The hardware motes communicate wirelessly. In Fig. 1b, which corresponds to our reuse and program for motivating scenarios, the application runs on proxy motes and uses a legacy sensor/actuator infrastructure. Each legacy device is represented by a single proxy mote customized by a device-specific driver; jointly, the proxy motes expose the possibly heterogeneous sensor/actuator infrastructure. The proxy motes communicate over Portplex. The entire application execution and the inter-mote communication are handled by the hosting PC. Only operations on sensor and actuators are delegated to the legacy infrastructure. A desirable extension of the setup shown in Fig. 1b is a hybrid configuration, which consists of both proxy and hardware motes. This corresponds to our extend motivating scenario. We do not present a solution for the hybrid configuration in this paper, but we discuss some related challenges. The contribution of this paper is the concept, implementation, and performance results of ProxyMotes. In the next section, we discuss related work. In Section III we present the ProxyMotes design and implementation. In Section IV, we report the performance results, and in Section V we offer a summary and outline future work. a) App1 b) App1 App2 wireless network App2 Portplex App3 App3 App App hardware mote proxy mote physical sensors/actuators device-specific driver inter-node communications remote sensors/actuator access legacy infrastructure Figure 1. Diagram of (a) a typical -based network and (b) a ProxyMotes network. II. RELATED WORK Currently, a common way to execute a multi-node application in a PC environment is to use TOSSIM [5], the simulator. TOSSIM provides its simulation components as a replacement for the platform-specific components used normally in a hardware mote. Linking a application with the TOSSIM components results in an application-specific simulation tool. Unlike that, a application linked with the proxy mote platform is a fully functional mote. In the following, we explain the most significant differences. First, the proxy mote works entirely in real time, just like a hardware mote. For example, the timer semantics is fully respected. In general, all events from peripherals (including the sensor/actuator device) are handled when they actually happen. Events in TOSSIM are ordered according to their simulation time (i.e., the time of their occurrence ), but then they are handled as soon as possible. As a result, the real time of handling an event is different from the simulation time assigned to the event. Second, a proxy network may be highly heterogeneous, as every proxy mote may be linked with a different application and a different device-specific driver. In TOSSIM, all simulated nodes originate from the same source code and are identical. Finally, proxy motes interact (e.g., via TCP sockets) with actual sensor/actuator devices, which are external to the PC and may generate events at any time. This is not possible with the TOSSIM single-threaded design. Some of the above TOSSIM limitations disappear when we move to other simulation tools. For instance, TOSSIM Live [6] aligns simulation time and real time by properly delaying the handling of events. Another simulator, TiQ [7], allows each simulated mote to have its own application code. Still, neither solution removes all of the three limitations. The concept of the shadow node, introduced in [8], bears some resemblance to the proxy mote. A shadow node is a PC process representing a hardware mote to an augmented TOSSIM simulation environment (ATOSSIM). Unlike that, the proxy mote represents a non- sensor/actuator device. Also, execution of all shadow nodes is coordinated by a main simulator process, in soft real-time [8]. Proxy motes execute in real time, as fully autonomous processes (interconnected only for communication). A PC-based platform could be obtained by emulating an actual hardware mote at the binary level. Such emulation is possible with tools like Avrora [9], Atemu [10], or VMNet [11]. However, as different CPUs are used in hardware motes and PCs, the emulation approach requires that binary code be interpreted by a virtual machine. This leads to performance dramatically lower than that of the proxy mote, where binary code is executed natively. As we would like a single PC to be able to host as many proxy motes as possible, the performance penalty incurred by emulation is highly undesirable. In conclusion, there are quite a few simulation and emulation solutions that allow a application to be executed on a PC. The respective systems are used primarily 256

3 for application development and debugging. ProxyMotes are not a simulation tool, but an actual platform handling real sensors and actuators, on par with a network of hardware motes. Consequently, while similar, none of the mentioned systems could be directly used to efficiently achieve the proxy mote functionality described in this paper. Incidentally, our solution bears resemblance to virtualization, as known in the area of PC operating systems. However, major differences between guest systems (both in terms of the operating system and the underlying hardware platform) make PC-oriented virtualization solutions not directly comparable to ours. III. PROXY MOTE ARCHITECTURE AND IMPLEMENTATION A. Architecture In hardware motes,, the native OS of the node, has full control over the node s resources. Node-specific components use the node s hardware to implement the (Hardware Interface Layer) interfaces [12] used by the upper layers. In the proxy mote, is integrated with an application into a user-level process, which runs under. Thus, cannot control the hardware of the PC directly, and services have to be used to implement the interfaces. In the proxy mote, some interfaces are implemented using (through system calls) a resource of the same type that is used in a hardware mote. For example, the timer abstraction is implemented with timer services, which eventually use an actual hardware timer of the PC. The other interfaces are implemented by emulating the respective hardware. Examples include the serial port (emulated with a TCP socket) and communication (emulated with UDP datagrams). The architectural differences between the hardware mote and proxy mote are presented in Fig. 2. The components of the proxy mote proper and the device-specific driver are covered in subsections B and C, respectively. In the remainder of this sub-section we explain how the implementation of the interfaces affects the overall software organization of the proxy mote. On hardware motes, asynchronous events originate from peripherals (e.g., a timer or module) as CPU interrupts. Short-lived event handlers, invoked within interrupt service routines, post tasks. The tasks, in turn, are synchronously executed under control of the task scheduler. On the proxy mote, CPU a) b) Timers Non-volatile memory Radio Serial... Sensors & Actuators Timers System timer Non-volatile memory File system... serial TCP/IP... Devicespecific driver (driverspecific) Sensor/actuator device Figure 2. Architecture of (a) the hardware mote and (b) the proxy mote (the proxy mote proper is marked). interrupts cannot be used, as they are reserved for the host OS; the handlers for the asynchronous events have to be invoked differently. In our implementation, which fully preserves the event-driven programming model for the application, the proxy mote process itself is multi-threaded. There is one resource thread per each interface-related resource (e.g., the timer or the TCP socket emulating the serial port) and one main thread that acts as a scheduler. The threads communicate using a queue that holds asynchronous events (see Fig. 3). A resource thread typically blocks waiting for a change in the state of the corresponding resource (e.g., for a signal notifying that a given time interval has elapsed). Upon such change, the resource thread is resumed and inserts a respective asynchronous event into the event queue. The main thread retrieves an event from the event queue and executes the event handler provided by the component handling the resource. Typically, the execution of the event handler results in a task being posted to the task queue. After the event handler is executed, the main thread proceeds to execute all tasks pending in the task queue, just like the task scheduler. Next, the main thread blocks on the event queue, waiting until an event is available there. Then the sequence is repeated. To obtain the code for the proxy mote s main thread, we introduced some modifications to the main loop. For example, when the task queue has been emptied by the scheduler, the main loop puts the microcontroller into a sleep mode or, if a sleep mode is not supported, it invokes the scheduler again. The proxy mote s main thread blocks on the event queue instead. Another modification is that, contrary to the original main loop, the main thread invokes event handlers for resource-originated events. As a result of the above changes, different synchronization mechanisms are applied in each case. Normally, one needs to protect the scheduler and tasks from asynchronous event handlers. This is achieved by running key operations in atomic sections, i.e., blocks of code that cannot be interrupted. In our solution, the event handlers are executed in the same thread as tasks, so atomic sections are redundant. In fact, event handlers are guaranteed not to interfere with tasks, as the latter are never interrupted by the former. This eliminates one source of errors. Resource thread Initialize Wait for resource Insert event Resource thread Initialize Wait for resource Insert event Event queue Wait for event Main thread Initialize Handle tasks Handle event Post a task Figure 3. Multi-threaded architecture for handling asynchronous events from resources. 257

4 On the other hand, our solution requires some interthread synchronization. For example, the synchronization between the main thread and the resource threads is achieved with a mutex guarding access to the event queue and a semaphore signaling the queue s state to the main thread. B. Proxy mote implementation under The proxy mote is yet another platform, named proxymote. Thus, in practice, to compile an application for the proxy mote and obtain an executable containing the application, the proxy mote, and a sensor/actuator device driver, one just needs to type make proxymote. The proxy mote evolved from the null platform available in 2.x. The null platform is compiled into native code with a GCC compiler, and is executed under a host OS as a regular process. This is also the case for the proxy mote. In particular, all code (including that of the application) is executed natively by the CPU of the system (any CPU supported by the GCC compiler). We modified the core component of the null platform, RealMainP. Specifically, we introduced some commandline arguments, implemented the event queue (we reused elements of the TOSSIM event queue), modified the main loop to obtain the main thread of the proxy mote, introduced the thread synchronization, and added logs for debugging. The command-line arguments allow one to provide a node ID (and, consequently, the node s AM address) and specify a configuration file which lists debug channels that should be printed on the standard output. The logs are created by invoking the dbg() function known from TOSSIM. On the null platform, the (Hardware Interface Layer) components are just empty stubs. We filled out the stubs of the most commonly used components to get actual implementations. A list of interfaces supported by the proxy mote is given in Table I. For each component, we now briefly mention the underlying mechanisms that we used. The standard LED component (PlatformLedsC) simply keeps the state of the LEDs and indicates changes via log messages. The timer services (HilTimerMilliC) are implemented using UNIX signals. The alarm() system call is invoked, and the respective signal is handled by a dedicated resource thread. The serial port abstraction (PlatformSerialC) is provided on top of a TCP socket. Every proxy mote opens its own TCP port for serial port connections and manages incoming data on a dedicated resource thread. The TCP port TABLE I. INTERFACES SUPPORTED BY PROXY MOTE PLATFORM Component Interfaces PlatformLedsC HilTimerMilliC PlatformSerialC ActiveMessageC DemoSensorC GeneralIO as Leds, Init Timer<TMilli>, LocalTime<TMilli>, Init UartByte, UartStream, StdControl AMSend, Receive, Packet, AMPacket, SplitControl Read number is set to node ID. Conveniently, the existing serial port-related tools (like SerialForwarder) can work with the TCP-emulated serial port; this makes the proxy mote compatible with those tools. The Active Message (AM) abstraction (ActiveMessageC) is implemented by emulating connectivity. Every proxy mote uses its own UDP port to send and receive AM messages. The related UDP port number is set to node ID. Again, the message reception is handled by a dedicated resource thread. Messages can be exchanged by proxy motes running on a single PC. A proxy network, formed by a number of communicating proxy motes, is described in a sub-section D. Non-volatile memory abstractions (ConfigStorageC, LogStorageC, BlockStorageC) are currently not supported by our implementation. However, it seems straightforward to implement them on top of a disk file. The name of such a file should include the node ID to distinguish between storage spaces of different proxy motes. We plan to implement those abstractions in a near future. C. Proxy mote sensors and actuators Among all the proxy mote s peripherals, its sensors and actuators are a special case. For each type of a sensor/actuator device, the proxy mote platform has to be complemented with a device-specific driver, which takes care of accessing actual sensors and/or actuators. The driver is a part of a proxy mote executable. Thus in practice one is likely to deal with multiple proxy mote executables, not only because of possibly different applications, but also because of different underlying sensor/actuator devices. One can run such diverse proxy motes in parallel and in effect access a heterogeneous collection of legacy sensor/actuator devices. To point out the diversity in legacy technologies, we consider two examples: the LonWorks home automation platform and the BlueSentry family of sensor devices. An existing LonWorks device, located anywhere, can be accessed through a Web Service, over a TCP/IP network [3]. A BlueSentry sensor, located in the vicinity of the PC running ProxyMotes, can be accessed over a Bluetooth-toserial adapter and a serial port of the PC. Now, assume that the Read interface is used to retrieve a sensor reading. In a proxy mote representing a LonWorks device, invoking the read() command of the Read interface would trigger a Web Service invocation. In a proxy mote representing a BlueSentry device, invoking read() would read the host s serial port. Notably, one ProxyMotes setup (as shown in Fig. 1b) could combine a number of different LonWorks devices, a number of different BlueSentry devices, etc. The sensor/actuator device can be likened to an optional sensor board known from modular hardware mote designs. In such modular systems, different sensor boards can be added to a hardware mote s main board, just like different legacy sensor/actuator devices can be interfaced to the proxy mote. In both cases, device-specific driver code is required. The selection and linking of the driver code is easily achieved with the toolchain. 258

5 As to sensors and actuators supported by ProxyMotes, only the DemoSensorC component is currently available. It is commonly used by popular example applications. Our DemoSensorC provides the value of an incrementing counter as the sensor reading. Implementations of drivers for real sensor/actuator devices must be developed on a perdevice basis. D. Proxy network The proxy network is a collection of proxy motes running simultaneously on a single system, jointly executing a multi-node application, and exchanging AM messages. A simple proxy network is presented in Fig. 4. The proxy motes are connected by a UDP port to a facility called Portplex, which switches inter-node data. To the application and, the Portplex-based networking and wireless networking are functionally indistinguishable. The rationale for using a dedicated process (i.e., Portplex), instead of direct node-to-node transfers, is that such a centralized entity allows convenient control and monitoring of proxy motes communication. It is also a natural for connecting a gateway in the hybrid configuration (we comment on the hybrid configuration at the end of the paper). The basic task of Portplex is to connect to all running proxy motes, using their dedicated UDP ports, and then forward UDP datagrams between them. The assumed topology is a single-hop mesh, i.e., each proxy mote is always in range of the other proxy motes. Both unicast and broadcast are supported. When a packet is sent in the broadcast mode, Portplex forwards the packet to all the other proxy motes sequentially (one at a time). For the unicast mode, as there is a simple relationship between a proxy mote s node ID, its AM address, and the Portplex UDP port number, the packet can be forwarded just to the destination proxy mote. A useful feature of Portplex is that it opens a TCP port for monitoring purposes. A Telnet client may connect to the monitoring port to display the current data rates, as well as the overall amount of data sent and received by each proxy mote and by Portplex itself. These statistics are refreshed every second. monitoring port TCP/IP Portplex Figure 4. Proxy motes communicating over Portplex. IV. EVALUATION In this section we present ProxyMotes performance results. We include measurements for a single proxy mote, as well as a proxy mote network over Portplex. All the experiments were performed on a PC computer equipped with the AMD Sempron(tm) Processor (1400MHz) and 512 MB of RAM, running the Ubuntu-Server operating system. A. Proxy mote memory requirements The memory requirements of a proxy mote process originate from those of the application running on the proxy mote, those of the proxy mote proper, and those of the device driver. The requirements of the proxy mote proper are mostly due to data structures used to implement the interfaces. Table II presents the memory requirements of a proxy mote process, as well as those of a corresponding null platform process, for a number of typical applications. The proxy mote process, for which the numbers are reported, does not include a sensor/actuator device driver (except for Oscilloscope which uses the trivial DemoSensorC driver). TABLE II. MEMORY REQUIREMENTS FOR PROXY MOTE PLATFORM AND NULL PLATFORM Memory requirements [kb] proxy mote null platform ROM RAM ROM RAM Blink RadioCountToLeds Oscilloscope BaseStation As can be seen, the proxy mote memory requirements, of the order of tens of kilobytes, are essentially negligible when compared to the capacities of the main memory of presentday PCs. The Blink application consumes the least amount of RAM, as it does not use nor serial port components, and the related buffers are not needed. On the other hand, the BaseStation application uses all the components provided by the proxy mote platform; that results in the largest RAM requirements of about 56 kb. B. Proxy mote execution performance The number of proxy motes running simultaneously on a single PC is not limited by design. Inevitably, however, as that number keeps rising beyond some threshold (which depends on a specific PC), the performance of the proxy motes starts to degrade and eventually becomes unacceptable. To evaluate this limit, we measured the ability of proxy motes to deliver (soft) real-time performance, as a function of the number of proxy motes. We set up a collection of simultaneously running proxy motes, each with the Blink application. The application operates three timers, which fire every 250 ms, 500 ms, and 1000 ms, respectively. Once a timer fires, the LED assigned to it is toggled. Out of the components, the Blink application uses TimerMilliC and PlatformLedsC. No sensor/actuator device driver is included. We varied the 259

6 number of proxy motes and verified whether all the timers keep firing as scheduled. For each number of proxy motes, the experiment lasted 5 seconds. The maximum delay of timer firing and the percentage of ticks delayed more than 1 ms are presented in Fig. 5 and 6, respectively. Maximum timer firing delay [ms] Number of proxy motes running simultaneously five such readings, and broadcasts them in a single packet (a packet is sent every 500 ms). The size of each packet is 28B. The BaseStation acts as a sink that receives all the packets from the Oscilloscopes and forwards them (through SerialForwarder) to the Java Oscilloscope visualization application (coming with ). In the experiment, we measure the packet delivery time, i.e., the time from the invocation of the send() command on an Oscilloscope proxy mote to the signaling of the receive() event on the BaseStation proxy mote. The average packet delivery time, as a function of the number of Oscilloscopes, is presented in Fig. 7. Figure 5. Maximum timer firing delay. % of timer ticks delayed more than 1ms 1,6% 1,4% 1,2% 1,0% 0,8% 0,6% 0,4% 0,2% 0,0% Number of proxy motes running simultaneously Figure 6. Percentage of timer ticks delayed more than 1ms. As can be seen, for the number of proxy motes less than two hundred, the timer firing delays are less than about 3 ms. Such delays are hardly noticeable when compared to the original timer intervals. Even for much higher numbers of proxy motes, the delays are upper-bounded by 130 ms and exceed 1 ms for less than 2% of all timer ticks. The obtained results indicate that, by itself, the proxy mote platform does not incur a significant execution overhead. Obviously, the results may be worse if (a) the applications executing on individual proxy motes are more complex, (b) proxy motes drive remote sensor/actuator devices, or (c) there is significant inter-mote traffic. The last case is elaborated in the following sub-section. C. Proxy network performance To evaluate the proxy network, we used the Oscilloscope application a demo, which generates a lot of traffic. Portplex connects a variable number of proxy motes, each running Oscilloscope. Beside the Oscilloscopes, there is one proxy mote running the BaseStation application, which forwards AM traffic to a serial port. Each Oscilloscope generates a dummy sensor reading every 100 ms, collects Figure 7. Average Oscilloscope-to-BaseStation packet delivery time. As can be seen, for less than 50 proxy motes, the average packet delivery time is at the level of a few milliseconds. Such latency is typical for a single packet in a wireless IEEE network. The delivery time rises rapidly with the number of the Oscilloscopes. This is not surprising, as Portplex emulates broadcast (used by the Oscilloscopes) by forwarding a packet to all the connected proxy motes sequentially. As a result, for a single broadcast, the number of packet transmissions is equal to the network size. To assess unicast transmission, we carried out the same experiment with only two proxy motes (an Oscilloscope and the BaseStation). We obtained the average mote-to-mote packet delivery time of the order of tens of microseconds. V. SUMMARY AND FUTURE WORK We presented ProxyMotes, a -based software package for running multi-node applications on a single PC. With ProxyMotes, a distributed application is run in a fully functional way, just like on multiple hardware motes communicating wirelessly. The package consists of (a) the proxy mote platform, which is a counterpart of a single hardware mote, and (b) Portplex, a communication infrastructure that allows simultaneously running proxy motes to exchange AM messages. The proxy mote is a valid compilation target. At runtime, each proxy mote is a separate process, and so is Portplex. We presented ProxyMotes evaluation results; they confirm that from tens to several hundred proxy motes can run on a single PC, thus proving that the approach is feasible. The main use case for ProxyMotes is to run an existing application with non- (legacy) sensors and 260

7 actuators. To achieve that, the proxy mote is complemented with a driver specific to a sensor/actuator device. At runtime, each proxy mote exposes its own legacy device. Thus having multiple proxy motes running simultaneously allows the application to use a possibly complex, heterogeneous legacy installation. The presented solution allows other uses cases, as well as interesting extensions. A notable use case for ProxyMotes is to run a multi-node application entirely within a PC environment, prior to making any real sensors and actuators available. This can be achieved by complementing proxy motes not with drivers to existing sensor/actuator devices, but with drivers that simulate those devices. This could be very helpful at the development phase, as the application logic could be tested, to some extent, without involving any external devices. An interesting extension of ProxyMotes is to allow a hybrid configuration, which includes both proxy motes and hardware motes. The hybrid configuration is desirable when one wishes to add legacy sensors and actuators to an existing hardware mote-based setup (and do so without additional application programming). The hybrid configuration requires a dedicated hardware mote working as a gateway. Since all the proxy network traffic goes through Portplex, it is a natural point of connection between the wireless and proxy networks. Thus the gateway mote would use wireless connectivity to reach the hardware motes and, possibly, a serial port connection to Portplex. Preferably, hardware and proxy motes should share the same AM address space. The envisioned setup is shown in Fig. 8. The main issue there is that the gateway may easily become a bottleneck. For example, the bit rate offered by the serial port (56kbps for the MicaZ mote) is much lower than that of the IEEE wireless network (250kbps). Gateway Serial port Portplex REFERENCES [1] J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister, System architecture directions for networked sensors, SIGARCH Comput. Archit. News, vol. 28, issue 5, Nov [2] Memsic Corporation, Wireless Modules, roducts/wireless-sensor-networks/wireless-modules.html, Jan [3] LonWorks Technology Overview, ties/energycontrol/developers/lonworks/, Jan [4] Bluetooth Data Acquisition Module, esentry.html, Jan [5] P. Levis, N. Lee, M. Welsh, and D. Culler, TOSSIM: accurate and scalable simulation of entire applications, Proc. 1st International Conference on Embedded Networked Sensor Systems (SenSys '03), 2003, pp [6] C. S. Metcalf, Tossim live:towards a testbed in a thread, Master s thesis, Colorado School of Mines, [7] Y.-T. Wang, R. Bagrodia, Scalable emulation of applications in heterogeneous network scenarios," Proc. IEEE 6th International Conference on Mobile Adhoc and Sensor Systems (MASS '09), pp , Oct [8] A. Lalomia, G.L. Re, M. Ortolani, "A hybrid framework for soft realtime WSN simulation," Proc. 13th IEEE/ACM International Symposium on Distributed Simulation and Real Time s (DS-RT '09), pp , Oct [9] B.L. Titzer, D.K. Lee, J. Palsberg, "Avrora: scalable sensor network simulation with precise timing," Proc. Fourth International Symposium on Information Processing in Sensor Networks (IPSN 2005), pp , Apr [10] J. Polley, D. Blazakis, J. McGee, D. Rusk, J.S. Baras, "ATEMU: a fine-grained sensor network simulator," Proc. First Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks, (IEEE SECON 2004), pp , Oct [11] H. Wu, Q. Luo, P. Zheng, L.M. Ni, "VMNet: realistic emulation of wireless sensor networks," IEEE Transactions on Parallel and Distributed Systems, vol.18, no. 2, pp , Feb [12] V. Handziski, J. Polastre, J.-H. Hauer, C. Sharp, A. Wolisz, D. Culler, D. Gay, Hardware abstraction architecture, Extension Proposal (TEP2), 2.x/doc/html/tep2.html, Jan Wireless network Proxy network Figure 8. A hybrid configuration combining proxy and hardware motes. In the future we plan to use ProxyMotes with a number of actual non- sensor/actuator devices, as well as to explore new use cases and extensions, including those outlined in this section. ACKNOWLEDGMENT This work was funded in part by the 7th Framework Program of the European Community, project POBICOS, FP7-ICT

End-To-End Delay Optimization in Wireless Sensor Network (WSN)

End-To-End Delay Optimization in Wireless Sensor Network (WSN) Shweta K. Kanhere 1, Mahesh Goudar 2, Vijay M. Wadhai 3 1,2 Dept. of Electronics Engineering Maharashtra Academy of Engineering, Alandi (D), Pune, India 3 MITCOE Pune, India E-mail: shweta.kanhere@gmail.com,

More information

TOSSIM simulation of wireless sensor network serving as hardware platform for Hopfield neural net configured for max independent set

TOSSIM simulation of wireless sensor network serving as hardware platform for Hopfield neural net configured for max independent set Available online at www.sciencedirect.com Procedia Computer Science 6 (2011) 408 412 Complex Adaptive Systems, Volume 1 Cihan H. Dagli, Editor in Chief Conference Organized by Missouri University of Science

More information

System Architecture Directions for Networked Sensors[1]

System Architecture Directions for Networked Sensors[1] System Architecture Directions for Networked Sensors[1] Secure Sensor Networks Seminar presentation Eric Anderson System Architecture Directions for Networked Sensors[1] p. 1 Outline Sensor Network Characteristics

More information

Low Power and Low Latency MAC Protocol: Dynamic Control of Radio Duty Cycle

Low Power and Low Latency MAC Protocol: Dynamic Control of Radio Duty Cycle 24 IJCSNS International Journal of Computer Science and Network Security, VOL.12 No.12, December 212 Low Power and Low Latency MAC Protocol: Dynamic Control of Radio Duty Cycle Jeehoon Lee*, Jongsoo Jeong,

More information

Introduction to TinyOS

Introduction to TinyOS Fakultät Informatik Institut für Systemarchitektur Professur Rechnernetze Introduction to TinyOS Jianjun Wen 21.04.2016 Outline Hardware Platforms Introduction to TinyOS Environment Setup Project of This

More information

Networking Level Laboratory Mote-Computer Serial Communication

Networking Level Laboratory Mote-Computer Serial Communication A project sponsored by NSF 1 Networking Level Laboratory Mote-Computer Serial Communication A project sponsored by NSF 2 Purpose/Objective: The goal of this experiment is to learn how to communicate with

More information

ZiLOG Real-Time Kernel Version 1.2.0

ZiLOG Real-Time Kernel Version 1.2.0 ez80acclaim Family of Microcontrollers Version 1.2.0 PRELIMINARY Introduction The (RZK) is a realtime, preemptive, multitasking kernel designed for time-critical embedded applications. It is currently

More information

Modeling Energy Consumption of Wireless Sensor Networks by SystemC

Modeling Energy Consumption of Wireless Sensor Networks by SystemC 2010 Fifth International Conference on Systems and Networks Communications Modeling Energy Consumption of Wireless Sensor Networks by SystemC Wan Du, Fabien Mieyeville, and David Navarro Lyon Institute

More information

Scalable embedded Realtime

Scalable embedded Realtime Scalable embedded Realtime with OpenComRTOS Bernhard H.C. Sputh bernhard.sputh@altreonic.com, http://www.altreonic.com From Deep Space to Deep Sea Push Button High Reliability Outline History of Altreonic

More information

Flexible Extensible Middleware Framework for Remote Triggered Wireless Sensor Network Lab

Flexible Extensible Middleware Framework for Remote Triggered Wireless Sensor Network Lab Flexible Extensible Middleware Framework for Remote Triggered Wireless Sensor Network Lab Ramesh Guntha, Sangeeth K and Maneesha Ramesh 1 Abstract Wireless sensor networks (WSN) are also being actively

More information

Adding Preemption to TinyOS

Adding Preemption to TinyOS 1 Adding Preemption to TinyOS Cormac Duffy 1, Utz Roedig 2, John Herbert 1, Cormac J. Sreenan 1 1 Computer Science Department, University College Cork, Ireland 2 InfoLab21, Lancaster University, Lancaster

More information

Xinu on the Transputer

Xinu on the Transputer Purdue University Purdue e-pubs Department of Computer Science Technical Reports Department of Computer Science 1990 Xinu on the Transputer Douglas E. Comer Purdue University, comer@cs.purdue.edu Victor

More information

Multiprocessor and Real-Time Scheduling. Chapter 10

Multiprocessor and Real-Time Scheduling. Chapter 10 Multiprocessor and Real-Time Scheduling Chapter 10 1 Roadmap Multiprocessor Scheduling Real-Time Scheduling Linux Scheduling Unix SVR4 Scheduling Windows Scheduling Classifications of Multiprocessor Systems

More information

Zilog Real-Time Kernel

Zilog Real-Time Kernel An Company Configurable Compilation RZK allows you to specify system parameters at compile time. For example, the number of objects, such as threads and semaphores required, are specez80acclaim! Family

More information

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. TinyOS Programming and TOSSIM (and Cooja)

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. TinyOS Programming and TOSSIM (and Cooja) Politecnico di Milano Advanced Network Technologies Laboratory Internet of Things TinyOS Programming and TOSSIM (and Cooja) 20 April 2015 Agenda o Playing with TinyOS n Programming and components n Blink

More information

Middleware for Sensor Networks

Middleware for Sensor Networks Middleware for Sensor Networks Krzysztof Piotrowski piotrowski@ihp-ffo.de Background Application Middleware Sensor Network Application Middleware Sensor Network Middleware for Sensor Networks 2 Middleware

More information

Universal Communication Component on Symbian Series60 Platform

Universal Communication Component on Symbian Series60 Platform Universal Communication Component on Symbian Series60 Platform Róbert Kereskényi, Bertalan Forstner, Hassan Charaf Department of Automation and Applied Informatics Budapest University of Technology and

More information

Group Members: Chetan Fegade Nikhil Mascarenhas. Mentor: Dr. Yann Hang Lee

Group Members: Chetan Fegade Nikhil Mascarenhas. Mentor: Dr. Yann Hang Lee Group Members: Chetan Fegade Nikhil Mascarenhas Mentor: Dr. Yann Hang Lee 1. Introduction 2. TinyGALS programming model 3. TinyOS 4. NesC 5. Middleware 6. Conclusion 7. References 8. Q & A Event driven

More information

A FORWARDING CACHE VLAN PROTOCOL (FCVP) IN WIRELESS NETWORKS

A FORWARDING CACHE VLAN PROTOCOL (FCVP) IN WIRELESS NETWORKS A FORWARDING CACHE VLAN PROTOCOL (FCVP) IN WIRELESS NETWORKS Tzu-Chiang Chiang,, Ching-Hung Yeh, Yueh-Min Huang and Fenglien Lee Department of Engineering Science, National Cheng-Kung University, Taiwan,

More information

Experimental Extensions to RSVP Remote Client and One-Pass Signalling

Experimental Extensions to RSVP Remote Client and One-Pass Signalling 1 Experimental Extensions to RSVP Remote Client and One-Pass Signalling Industrial Process and System Communications, Darmstadt University of Technology Merckstr. 25 D-64283 Darmstadt Germany Martin.Karsten@KOM.tu-darmstadt.de

More information

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Application Software

More information

The Emergence of Networking Abstractions and Techniques in TinyOS

The Emergence of Networking Abstractions and Techniques in TinyOS The Emergence of Networking Abstractions and Techniques in TinyOS Sam Madden MIT CSAIL madden@csail.mit.edu With Phil Levis, David Gay, Joe Polastre, Rob Szewczyk, Alec Woo, Eric Brewer, and David Culler

More information

ADHOC ROUTING BASED DATA COLLECTION APPLICATION IN WIRELESS SENSOR NETWORKS MALLIKARJUNA RAO PINJALA B.E, OSMANIA UNIVERSITY, INDIA, 2004 A REPORT

ADHOC ROUTING BASED DATA COLLECTION APPLICATION IN WIRELESS SENSOR NETWORKS MALLIKARJUNA RAO PINJALA B.E, OSMANIA UNIVERSITY, INDIA, 2004 A REPORT ADHOC ROUTING BASED DATA COLLECTION APPLICATION IN WIRELESS SENSOR NETWORKS by MALLIKARJUNA RAO PINJALA B.E, OSMANIA UNIVERSITY, INDIA, 2004 A REPORT Submitted in partial fulfillment of the requirements

More information

LazySync: A New Synchronization Scheme for Distributed Simulation of Sensor Networks

LazySync: A New Synchronization Scheme for Distributed Simulation of Sensor Networks LazySync: A New Synchronization Scheme for Distributed Simulation of Sensor Networks Zhong-Yi Jin and Rajesh Gupta Department of Computer Science and Engineering University of California, San Diego {zhjin,

More information

Multiprocessor scheduling

Multiprocessor scheduling Chapter 10 Multiprocessor scheduling When a computer system contains multiple processors, a few new issues arise. Multiprocessor systems can be categorized into the following: Loosely coupled or distributed.

More information

CPS221 Lecture: Operating System Functions

CPS221 Lecture: Operating System Functions CPS221 Lecture: Operating System Functions Objectives last revised 6/23/10 1. To overview key hardware concepts 2. To iintroduce the process concept 3. To discuss the various kinds of functionality of

More information

Mobile Wireless Sensor Network enables convergence of ubiquitous sensor services

Mobile Wireless Sensor Network enables convergence of ubiquitous sensor services 1 2005 Nokia V1-Filename.ppt / yyyy-mm-dd / Initials Mobile Wireless Sensor Network enables convergence of ubiquitous sensor services Dr. Jian Ma, Principal Scientist Nokia Research Center, Beijing 2 2005

More information

CROSS LAYER PROTOCOL (APTEEN) USING WSN FOR REAL TIME APPLICATION

CROSS LAYER PROTOCOL (APTEEN) USING WSN FOR REAL TIME APPLICATION CROSS LAYER PROTOCOL (APTEEN) USING WSN FOR REAL TIME APPLICATION V. A. Dahifale 1, N. Y. Siddiqui 2 PG Student, College of Engineering Kopargaon, Maharashtra, India 1 Assistant Professor, College of Engineering

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is

More information

Sensors Network Simulators

Sensors Network Simulators Sensors Network Simulators Sensing Networking Qing Fang 10/14/05 Computation This Talk Not on how to run various network simulators Instead What differentiates various simulators Brief structures of the

More information

Utilizing Linux Kernel Components in K42 K42 Team modified October 2001

Utilizing Linux Kernel Components in K42 K42 Team modified October 2001 K42 Team modified October 2001 This paper discusses how K42 uses Linux-kernel components to support a wide range of hardware, a full-featured TCP/IP stack and Linux file-systems. An examination of the

More information

ECE519 Advanced Operating Systems

ECE519 Advanced Operating Systems IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (10 th Week) (Advanced) Operating Systems 10. Multiprocessor, Multicore and Real-Time Scheduling 10. Outline Multiprocessor

More information

Improved Distributed Simulation of Sensor Networks based on Sensor Node Sleep Time

Improved Distributed Simulation of Sensor Networks based on Sensor Node Sleep Time Improved Distributed Simulation of Sensor Networks based on Sensor Node Sleep Time Zhong-Yi Jin and Rajesh Gupta Dept. of Computer Science & Eng, UCSD {zhjin, rgupta}@cs.ucsd.edu Abstract. Sensor network

More information

Reservation Packet Medium Access Control for Wireless Sensor Networks

Reservation Packet Medium Access Control for Wireless Sensor Networks Reservation Packet Medium Access Control for Wireless Sensor Networks Hengguang Li and Paul D Mitchell Abstract - This paper introduces the Reservation Packet Medium Access Control (RP-MAC) protocol for

More information

An Industrial Employee Development Application Protocol Using Wireless Sensor Networks

An Industrial Employee Development Application Protocol Using Wireless Sensor Networks RESEARCH ARTICLE An Industrial Employee Development Application Protocol Using Wireless Sensor Networks 1 N.Roja Ramani, 2 A.Stenila 1,2 Asst.professor, Dept.of.Computer Application, Annai Vailankanni

More information

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory Commercial Real-time Operating Systems An Introduction Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory swamis@iastate.edu Outline Introduction RTOS Issues and functionalities LynxOS

More information

Lecture 8: February 19

Lecture 8: February 19 CMPSCI 677 Operating Systems Spring 2013 Lecture 8: February 19 Lecturer: Prashant Shenoy Scribe: Siddharth Gupta 8.1 Server Architecture Design of the server architecture is important for efficient and

More information

Static Analysis of Embedded C

Static Analysis of Embedded C Static Analysis of Embedded C John Regehr University of Utah Joint work with Nathan Cooprider Motivating Platform: TinyOS Embedded software for wireless sensor network nodes Has lots of SW components for

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is

More information

Opportunistic Application Flows in Sensor-based Pervasive Environments

Opportunistic Application Flows in Sensor-based Pervasive Environments Opportunistic Application Flows in Sensor-based Pervasive Environments Nanyan Jiang, Cristina Schmidt, Vincent Matossian, and Manish Parashar ICPS 2004 1 Outline Introduction to pervasive sensor-based

More information

An Efficient Low Power Transmission Over Long Range in Wireless Sensor Networks for environmental studies

An Efficient Low Power Transmission Over Long Range in Wireless Sensor Networks for environmental studies International Journal of Applied Environmental Sciences ISSN 0973-6077 Volume 11, Number 2 (2016), pp. 657-665 Research India Publications http://www.ripublication.com An Efficient Low Power Transmission

More information

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. TinyOS Programming and TOSSIM

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. TinyOS Programming and TOSSIM Politecnico di Milano Advanced Network Technologies Laboratory Internet of Things TinyOS Programming and TOSSIM 11 April 2011 Agenda Playing with TinyOS Programming and components Blink Application Using

More information

ENVIRONMENTAL DATA ACQUISITION BASED ON 1-WIRE INTERFACE

ENVIRONMENTAL DATA ACQUISITION BASED ON 1-WIRE INTERFACE ENVIRONMENTAL DATA ACQUISITION BASED ON 1-WIRE INTERFACE Marin Marinov*, Todor Djamiykov*, Ivan Topalov*, Miglena Dontscheva** * Technical University Sofia, Faculty of Electronics, P.O. Box 43, BG-1756

More information

SEDA: An Architecture for Well-Conditioned, Scalable Internet Services

SEDA: An Architecture for Well-Conditioned, Scalable Internet Services SEDA: An Architecture for Well-Conditioned, Scalable Internet Services Matt Welsh, David Culler, and Eric Brewer Computer Science Division University of California, Berkeley Operating Systems Principles

More information

WSN Programming. Introduction. Olaf Landsiedel

WSN Programming. Introduction. Olaf Landsiedel WSN Programming Introduction Olaf Landsiedel Programming WSNs What do we need to write software for WSNs? (or: for any system, like your laptop, cell phone?) Programming language With compiler, etc. OS

More information

* What are the different states for a task in an OS?

* What are the different states for a task in an OS? * Kernel, Services, Libraries, Application: define the 4 terms, and their roles. The kernel is a computer program that manages input/output requests from software, and translates them into data processing

More information

Subject: Adhoc Networks

Subject: Adhoc Networks ISSUES IN AD HOC WIRELESS NETWORKS The major issues that affect the design, deployment, & performance of an ad hoc wireless network system are: Medium Access Scheme. Transport Layer Protocol. Routing.

More information

WSN Programming. Introduction. Olaf Landsiedel. Programming WSNs. ! What do we need to write software for WSNs?! Programming language

WSN Programming. Introduction. Olaf Landsiedel. Programming WSNs. ! What do we need to write software for WSNs?! Programming language WSN Programming Introduction Lecture 2 Olaf Landsiedel Programming WSNs! What do we need to write software for WSNs?! Programming language " With compiler, etc.! OS / runtime libraries " Access to system

More information

CSE398: Network Systems Design

CSE398: Network Systems Design CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University February 23, 2005 Outline

More information

Sensors as Software. TinyOS. TinyOS. Dario Rossi Motivation

Sensors as Software. TinyOS. TinyOS. Dario Rossi Motivation Sensors as Software Dario Rossi dario.rossi@polito.it Motivation Sensor networks Radically new computing environments Rapidly evolving hardware technology The key missing technology is system software

More information

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria A Predictable RTOS Mantis Cheng Department of Computer Science University of Victoria Outline I. Analysis of Timeliness Requirements II. Analysis of IO Requirements III. Time in Scheduling IV. IO in Scheduling

More information

Experimental Node Failure Analysis in WSNs

Experimental Node Failure Analysis in WSNs Experimental Node Failure Analysis in WSNs Jozef Kenyeres 1.2, Martin Kenyeres 2, Markus Rupp 1 1) Vienna University of Technology, Institute of Communications, Vienna, Austria 2) Slovak University of

More information

Wireless sensor networks dynamic runtime configuration

Wireless sensor networks dynamic runtime configuration Wireless sensor networks dynamic runtime configuration Stefan Dulman 1, Tjerk Hofmeijer 2, Paul Havinga 1 1 EEMCS Faculty, Twente University 2 Ambient Systems, the Netherlands P.O.Box 217, 7500AE, Enschede,

More information

Wireless Mesh Networks

Wireless Mesh Networks Distributed Systems 600.437 Wireless Mesh Networks Department of Computer Science The Johns Hopkins University 1 Wireless Mesh Networks Lecture 10 Further reading: www.dsn.jhu.edu/publications/ 2 The Wireless

More information

Best Practices for Architecting Embedded Applications in LabVIEW Jacques Cilliers Applications Engineering

Best Practices for Architecting Embedded Applications in LabVIEW Jacques Cilliers Applications Engineering Best Practices for Architecting Embedded Applications in LabVIEW Jacques Cilliers Applications Engineering Overview of NI RIO Architecture PC Real Time Controller FPGA 4 Where to Start? 5 Requirements

More information

Using Time Division Multiplexing to support Real-time Networking on Ethernet

Using Time Division Multiplexing to support Real-time Networking on Ethernet Using Time Division Multiplexing to support Real-time Networking on Ethernet Hariprasad Sampathkumar 25 th January 2005 Master s Thesis Defense Committee Dr. Douglas Niehaus, Chair Dr. Jeremiah James,

More information

Chapter 2 Computer-System Structure

Chapter 2 Computer-System Structure Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Dynamic Deferred Acknowledgment Mechanism for Improving the Performance of TCP in Multi-Hop Wireless Networks

Dynamic Deferred Acknowledgment Mechanism for Improving the Performance of TCP in Multi-Hop Wireless Networks Dynamic Deferred Acknowledgment Mechanism for Improving the Performance of TCP in Multi-Hop Wireless Networks Dodda Sunitha Dr.A.Nagaraju Dr. G.Narsimha Assistant Professor of IT Dept. Central University

More information

What is this? How do UVMs work?

What is this? How do UVMs work? An introduction to UVMs What is this? UVM support is a unique Xenomai feature, which allows running a nearly complete realtime system embodied into a single multi threaded Linux process in user space,

More information

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 13 Virtual memory and memory management unit In the last class, we had discussed

More information

AN EFFICIENT MAC PROTOCOL FOR SUPPORTING QOS IN WIRELESS SENSOR NETWORKS

AN EFFICIENT MAC PROTOCOL FOR SUPPORTING QOS IN WIRELESS SENSOR NETWORKS AN EFFICIENT MAC PROTOCOL FOR SUPPORTING QOS IN WIRELESS SENSOR NETWORKS YINGHUI QIU School of Electrical and Electronic Engineering, North China Electric Power University, Beijing, 102206, China ABSTRACT

More information

Problem Set: Processes

Problem Set: Processes Lecture Notes on Operating Systems Problem Set: Processes 1. Answer yes/no, and provide a brief explanation. (a) Can two processes be concurrently executing the same program executable? (b) Can two running

More information

Process. Program Vs. process. During execution, the process may be in one of the following states

Process. Program Vs. process. During execution, the process may be in one of the following states What is a process? What is process scheduling? What are the common operations on processes? How to conduct process-level communication? How to conduct client-server communication? Process is a program

More information

Figure 1: Ad-Hoc routing protocols.

Figure 1: Ad-Hoc routing protocols. Performance Analysis of Routing Protocols for Wireless Ad-Hoc Networks Sukhchandan Lally and Ljiljana Trajković Simon Fraser University Vancouver, British Columbia Canada E-mail: {lally, ljilja}@sfu.ca

More information

Introduction to Operating. Chapter Chapter

Introduction to Operating. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

Top-Level View of Computer Organization

Top-Level View of Computer Organization Top-Level View of Computer Organization Bởi: Hoang Lan Nguyen Computer Component Contemporary computer designs are based on concepts developed by John von Neumann at the Institute for Advanced Studies

More information

Accurate Emulation of Wireless Sensor Networks

Accurate Emulation of Wireless Sensor Networks Accurate Emulation of Wireless Sensor Networks Hejun Wu +, Qiong Luo +, Pei Zheng *, Bingsheng He +, and Lionel M. Ni + + Department of Computer Science The Hong Kong University of Science and Technology

More information

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore Module No # 09 Lecture No # 40 This is lecture forty of the course on

More information

A New Approach to Determining the Time-Stamping Counter's Overhead on the Pentium Pro Processors *

A New Approach to Determining the Time-Stamping Counter's Overhead on the Pentium Pro Processors * A New Approach to Determining the Time-Stamping Counter's Overhead on the Pentium Pro Processors * Hsin-Ta Chiao and Shyan-Ming Yuan Department of Computer and Information Science National Chiao Tung University

More information

Introduction to Distributed Systems

Introduction to Distributed Systems Introduction to Distributed Systems Other matters: review of the Bakery Algorithm: why can t we simply keep track of the last ticket taken and the next ticvket to be called? Ref: [Coulouris&al Ch 1, 2]

More information

Interference avoidance in wireless multi-hop networks 1

Interference avoidance in wireless multi-hop networks 1 Interference avoidance in wireless multi-hop networks 1 Youwei Zhang EE228A Project Report, Spring 2006 1 Motivation Wireless networks share the same unlicensed parts of the radio spectrum with devices

More information

Chapter 5 Ad Hoc Wireless Network. Jang Ping Sheu

Chapter 5 Ad Hoc Wireless Network. Jang Ping Sheu Chapter 5 Ad Hoc Wireless Network Jang Ping Sheu Introduction Ad Hoc Network is a multi-hop relaying network ALOHAnet developed in 1970 Ethernet developed in 1980 In 1994, Bluetooth proposed by Ericsson

More information

CHAPTER 2 WIRELESS SENSOR NETWORKS AND NEED OF TOPOLOGY CONTROL

CHAPTER 2 WIRELESS SENSOR NETWORKS AND NEED OF TOPOLOGY CONTROL WIRELESS SENSOR NETWORKS AND NEED OF TOPOLOGY CONTROL 2.1 Topology Control in Wireless Sensor Networks Network topology control is about management of network topology to support network-wide requirement.

More information

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic) I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran

More information

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. TinyOS Programming and TOSSIM (and Cooja)

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. TinyOS Programming and TOSSIM (and Cooja) Politecnico di Milano Advanced Network Technologies Laboratory Internet of Things TinyOS Programming and TOSSIM (and Cooja) 19 March 2018 Agenda Playing with TinyOS Programming and components Blink Application

More information

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable What s An OS? Provides environment for executing programs Process abstraction for multitasking/concurrency scheduling Hardware abstraction layer (device drivers) File systems Communication Do we need an

More information

CLUSTER BASED ROUTING PROTOCOL FOR WIRELESS SENSOR NETWORKS

CLUSTER BASED ROUTING PROTOCOL FOR WIRELESS SENSOR NETWORKS CLUSTER BASED ROUTING PROTOCOL FOR WIRELESS SENSOR NETWORKS M.SASIKUMAR 1 Assistant Professor, Dept. of Applied Mathematics and Computational Sciences, PSG College of Technology, Coimbatore, Tamilnadu,

More information

EC EMBEDDED AND REAL TIME SYSTEMS

EC EMBEDDED AND REAL TIME SYSTEMS EC6703 - EMBEDDED AND REAL TIME SYSTEMS Unit I -I INTRODUCTION TO EMBEDDED COMPUTING Part-A (2 Marks) 1. What is an embedded system? An embedded system employs a combination of hardware & software (a computational

More information

MultiNet: Connecting to Multiple IEEE Networks Using a Single Wireless Card IEEE INFOCOM 2004

MultiNet: Connecting to Multiple IEEE Networks Using a Single Wireless Card IEEE INFOCOM 2004 MultiNet: Connecting to Multiple IEEE 802.11 Networks Using a Single Wireless Card IEEE INFOCOM 2004 Outline INTRODUCTION MOTIVATING SCENARIOS AND BACKGROUND THE MULTINET APPROACH IMPLEMENTATION AND SYSTEM

More information

Intra and Inter Cluster Synchronization Scheme for Cluster Based Sensor Network

Intra and Inter Cluster Synchronization Scheme for Cluster Based Sensor Network Intra and Inter Cluster Synchronization Scheme for Cluster Based Sensor Network V. Shunmuga Sundari 1, N. Mymoon Zuviria 2 1 Student, 2 Asisstant Professor, Computer Science and Engineering, National College

More information

Introduction to Operating Systems. Chapter Chapter

Introduction to Operating Systems. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

VisualNet: General Purpose Visualization Tool for Wireless Sensor Networks

VisualNet: General Purpose Visualization Tool for Wireless Sensor Networks VisualNet: General Purpose Visualization Tool for Wireless Sensor Networks S. Rizvi and K. Ferens Department of Electrical and Computer Engineering University of Manitoba Winnipeg, Manitoba, Canada Ken.Ferens@ad.umanitoba.ca

More information

Week 2 / Paper 1. The Design Philosophy of the DARPA Internet Protocols

Week 2 / Paper 1. The Design Philosophy of the DARPA Internet Protocols Week 2 / Paper 1 The Design Philosophy of the DARPA Internet Protocols David D. Clark ACM CCR, Vol. 18, No. 4, August 1988 Main point Many papers describe how the Internet Protocols work But why do they

More information

WSN Routing Protocols

WSN Routing Protocols WSN Routing Protocols 1 Routing Challenges and Design Issues in WSNs 2 Overview The design of routing protocols in WSNs is influenced by many challenging factors. These factors must be overcome before

More information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An Introduction to Software Architecture. David Garlan & Mary Shaw 94 An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data

More information

Delay Measurement Time Synchronization for Wireless Sensor Networks

Delay Measurement Time Synchronization for Wireless Sensor Networks Delay Measurement Time Synchronization for Wireless Sensor Networks Su Ping IRB-TR-03-013 June, 2003 DISCLAIMER: THIS DOCUMENT IS PROVIDED TO YOU "AS IS" WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY

More information

Research Article MFT-MAC: A Duty-Cycle MAC Protocol Using Multiframe Transmission for Wireless Sensor Networks

Research Article MFT-MAC: A Duty-Cycle MAC Protocol Using Multiframe Transmission for Wireless Sensor Networks Distributed Sensor Networks Volume 2013, Article ID 858765, 6 pages http://dx.doi.org/10.1155/2013/858765 Research Article MFT-MAC: A Duty-Cycle MAC Protocol Using Multiframe Transmission for Wireless

More information

IX: A Protected Dataplane Operating System for High Throughput and Low Latency

IX: A Protected Dataplane Operating System for High Throughput and Low Latency IX: A Protected Dataplane Operating System for High Throughput and Low Latency Belay, A. et al. Proc. of the 11th USENIX Symp. on OSDI, pp. 49-65, 2014. Reviewed by Chun-Yu and Xinghao Li Summary In this

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 L20 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Questions from last time Page

More information

Terra System Low abstraction level built-in functionalities (TerraNet v0.2) Introduction & user guide Adriano Branco

Terra System Low abstraction level built-in functionalities (TerraNet v0.2) Introduction & user guide Adriano Branco Terra System Low abstraction level built-in functionalities (TerraNet v0.2) Introduction & user guide Adriano Branco abranco@inf.puc-rio.br September,2014 Wireless Sensor Network Sensor Node Base Station

More information

Implementation of a Multi-Channel Multi-Interface Ad-Hoc Wireless Network

Implementation of a Multi-Channel Multi-Interface Ad-Hoc Wireless Network ENSC 85: High-Performance Networks Spring 2008 Implementation of a Multi-Channel Multi-Interface Ad-Hoc Wireless Network Chih-Hao Howard Chang howardc@sfu.ca Final Project Presentation School of Engineering

More information

Copyright 2013 Thomas W. Doeppner. IX 1

Copyright 2013 Thomas W. Doeppner. IX 1 Copyright 2013 Thomas W. Doeppner. IX 1 If we have only one thread, then, no matter how many processors we have, we can do only one thing at a time. Thus multiple threads allow us to multiplex the handling

More information

Reliable Multicast in Mobile Networks

Reliable Multicast in Mobile Networks Reliable Multicast in Mobile Networks Pasi Tiihonen and Petri Hiirsalmi Lappeenranta University of Technology P.O. Box 20 FIN-53851 Lappeenranta, Finland, {Pasi Tiihonen, Petri Hiirsalmi}@lut.fi Key words:

More information

European Network on New Sensing Technologies for Air Pollution Control and Environmental Sustainability - EuNetAir COST Action TD1105

European Network on New Sensing Technologies for Air Pollution Control and Environmental Sustainability - EuNetAir COST Action TD1105 European Network on New Sensing Technologies for Air Pollution Control and Environmental Sustainability - EuNetAir COST Action TD1105 A Holistic Approach in the Development and Deployment of WSN-based

More information

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture Last 2 Classes: Introduction to Operating Systems & C++ tutorial User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the

More information

Mote Design Supported with Remote Hardware Modifications Capability for Wireless Sensor Network applications

Mote Design Supported with Remote Hardware Modifications Capability for Wireless Sensor Network applications Mote Design Supported with Remote Hardware Modifications Capability for Wireless Sensor Network applications ABSTRACT Ali El Kateeb University of Michigan-Dearborn Email: elkateeb@umich.edu Many Wireless

More information

nesc Ø Programming language for TinyOS and applications Ø Support TinyOS components Ø Whole-program analysis at compile time Ø Static language

nesc Ø Programming language for TinyOS and applications Ø Support TinyOS components Ø Whole-program analysis at compile time Ø Static language nesc Ø Programming language for TinyOS and applications Ø Support TinyOS components Ø Whole-program analysis at compile time q Improve robustness: detect race conditions q Optimization: function inlining

More information

Real-Time Concepts for Embedded Systems Author: Qing Li with Caroline Yao

Real-Time Concepts for Embedded Systems Author: Qing Li with Caroline Yao Real-Time Concepts for Embedded Systems Author: Qing Li with Caroline Yao ISBN: 1-57820-124-1 CMPBooks Chapter 11 Timer and Timer Services Outline 11.1 Introduction 11.2 Real-Time Clocks and System Clocks

More information

Simulation Analysis of Tree and Mesh Topologies in Zigbee Network

Simulation Analysis of Tree and Mesh Topologies in Zigbee Network Vol.8, No.1 (2015), pp.81-92 http://dx.doi.org/10.14257/ijgdc.2015.8.1.08 Simulation Analysis of Tree and Mesh Topologies in Zigbee Network Manpreet, Jyoteesh Malhotra CSE Department Guru Nanak Dev University

More information