ERLANG-BASED SENSOR NETWORK MANAGEMENT FOR HETEROGENEOUS DEVICES
|
|
|
- Daniel Matthews
- 10 years ago
- Views:
Transcription
1 Computer Science 13 (3) Michał Nieć Paweł Pikuła Aleksander Mamla Wojciech Turek ERLANG-BASED SENSOR NETWORK MANAGEMENT FOR HETEROGENEOUS DEVICES Abstract The paper describes a system designed to manage and collect data from the network of heterogeneous sensors. It was implemented using Erlang OTP and CouchDB for maximum fault tolerance, scalability and ease of deployment. It is resistant to poor network quality, shows high tolerance for software errors and power failures, operates on flexible data model. Additionally, it is available to users through an Web application, which shows just how easy it is to use the server HTTP API to communicate with it. The whole platform was implemented and tested on variety of devices like PC, Mac, ARM-based embedded devices and Android tablets. Keywords Erlang, mobile devices, sensor networks 139
2 140 Michał Nieć, Paweł Pikuła, Aleksander Mamla, Wojciech Turek 1. Introduction Recent years brought significant increase in computational power of mobile devices. It seems that such growth of cheap microcontrollers performance may create new principles of building large scale sensor networks. Typically the responsibilities of geo-distributed devices, called sensors, are limited to simple, data collecting tasks [6]. A sensor network is usually a system with distributed data acquisition and centralized processing. One of the most significant problems arising in such systems concerns amounts of transferred data. Reduction of required throughput can be achieved by using on-demand data gathering. The TinyDB system [11], which is a well recognized solution, aims at creating a query processing system for selective gathering of information from a network of sensors. It provides the programmer with high level interface that hides logic responsible for connecting, collecting, filtering and merging it together. Slightly different approach has been proposed in the SwissQM system [13]. It runs a virtual machine on each sensor. The query language responsible for obtaining data from sensors is translated to bytecode and then sent to nodes. Furthermore, SwissQM architecture enables push data model, which allows sensors to push data to server if readings change significantly. These advanced solutions still perform all data processing and analysis in centralized manner. A different approach could be proposed if each sensor was equipped with a computational unit with significant performance. It could perform complex data processing and actively notify the system when important situation is detected. The basic function of a sensor would change: instead of providing raw data it could provide information. The sensor network would become a distributed data processing system. Such approach can be utilized in many new areas, where centralized processing could fail. An active sensor with accelerometer could be installed in a car to detect damaged road surface or immediately notify about accidents. It could also be used for monitoring of vehicle fleet. Reports about cars violating traffic regulations or moving in unexpected areas could be generated. The security industry could utilize such systems to create specialized networks of intelligent cameras able to recognize people or to detect movement in restricted areas. The user of such network would be provided with information about particular events instead of series of pictures from many different cameras. In this type of geo-distributed system several important problems have to be addressed. Execution of complex algorithms rises the risk of runtime errors, therefore the software on the sensors should provide advanced failover mechanisms. Moreover, methods for updating software executed by the sensors should be provided. These requirements can be relatively easily met by utilizing Erlang language and technology [5].
3 Erlang-based sensor network management for heterogeneous devices Erlang technology Erlang is a declarative language developed by Ericsson for programming concurrent and distributed systems. It aims at providing several unique features, required in such systems, like: Fault Tolerance. Erlang has various primitives which have been proven to guarantee high fault tolerance level [7]. It also supports unified monitoring and automatic process failover after a crash. This features are critical for systems consisting of many devices communicating with each other. It is crucial that a failure of a single node does not cause whole system breakdown. Monitoring and testing of sensor networks are considered important issues of the domain [8]. Message-Based Concurrency. The sole data exchange method for Erlang processes is message passing. This is strongly supported by the language design and Erlang Virtual Machine. This solution makes a small number of Erlang code lines sufficient to implement communication between processes even if they are running on different machines. Such features are very helpful when developing distributed, concurrent applications. Hot Code Swapping. The feature is most desired in constantly running systems, which may require software updates. Erlang allows updating the whole application or chosen modules without having to stop it Assumptions of the erlang-based monitoring system The exemplary system described in this paper was designed to manage and collect data from large number of heterogeneous, active sensors. The conceptual diagram of the system is shown in Figure 1. Figure 1. The conceptual diagram of the system. Variety of devices collecting different data are available in common infrastructure.
4 142 Michał Nieć, Paweł Pikuła, Aleksander Mamla, Wojciech Turek Basic assumptions, which were considered during the development, are: Multiplatform. Building an application on top of the Erlang VM enables deploying modules to almost all devices running Unix-like operating systems (Linux, VxWorks, Solaris) or Windows. This feature empowers reusing existing systems as well as new powerful devices. For example, the same application could be deployed on regular old PCs, devices running Intel Atom or ARM processors. Flexibility. The system aims to provide a flexible, easy to handle format of acquired and stored data. The sensors return data in form of a property list which can be effortlessly transformed to a JSON object, Erlang list or SQL record. This enables quick integration with other services and easy replacing modules responsible for sending and persisting data. Resistance to poor network quality. Current solutions often assume that connection between sensor and the server is stable and available. The system described in this paper, implements mechanisms for caching data when the connection is unreliable or lost. Expandability. One mobile device can run many processes responsible for gathering different data. The processes are written in Erlang programming language so that they are capable of implementing complicated logic, using operating system s resources and extending its functionality by natively compiled code extensions. Availability. Thanks to modularized structure and using Erlang OTP components, the system should be resistant to software errors in sensors implementation and hardware failures. Restarting or turning the devices off (for example during power failures) is no longer a threat to the system. Transparency. The whole system was designed to provide a single, easy to implement HTTP interface to manage sensors and browse data from all the sensors. Thanks to that, other systems and higher level logic can be integrated without changing the sensor network. In the following section details of the system architecture are described. Next sections present implementation details followed by tests results and conclusions. 2. Architecture of the monitoring system The Erlang-Based Monitoring System (called CollectE) is composed of three basic subsystems: graphical user interface (GUI), Server and Node with Plugins. As shown in Figure 2, each of them can be run on separate machine and should be considered a separate service with well defined interface. Server is a single program responsible for communicating with Nodes, collecting data from them, monitoring their state and handling all external requests. Node is an application run on each mobile device connected to the system. It manages and monitors Plugins, collects data from them, sends it back to server and also handles all requests sent by server.
5 Erlang-based sensor network management for heterogeneous devices 143 Platform Sensor Plugin 1 Server GUI Plugin 2 Node 3G / WiFi / WiMAX / GPRS /... CouchDB Figure 2. Main components of the system. The GUI is an application which communicates with whole platform via HTTP API provided by the server. The server maintains connection witch multiple Nodes and collects data from Plugins run by the Nodes. Plugin is a simple Erlang module executed by the Node as a separate Erlang process. It collects data from sensors and classifies it. It is also responsible for transforming data to proper format. Graphical User Interface (GUI) is a Ruby On Rails web-application that communicates with the server. It enables performing management tasks on the platform as well as examining collected data. Server with Nodes creates a single platform that can be accessed via an interface provided by the server. The platform can be used as a part of a larger system The server Server is a central part of the system. It is an application written in Erlang responsible of collecting and preserving data sent by the Nodes. It monitors the state of all connected Nodes. The server also delivers a special HTTP interface, allowing interaction via GUI. The architecture of the server application is presented in Figure 3. Basic elements of the server are: NetLink responsible for communication with Nodes DataManager receives data sent by Nodes and stores it NodeManager registers new Nodes or Plugins, monitors Nodes state and sends requests to Nodes DataAccessLayer elements responsible of proper communication with database HTTPInterface receives user requests sent by GUI and delivers them to Node- Manager
6 144 Michał Nieć, Paweł Pikuła, Aleksander Mamla, Wojciech Turek g ( y gy) ServerRequest <<erlang>> Server NodeManager GUIRequest Socket NetLink NodeRequest DataManager Data Plugin Node <<use>> HTTPInterface GUI DataAccessLayer <<use>> Database <<use>> <<document>> app.config Figure 3. Server internal architecture. Three interfaces are provided: for GUI, for a database and for Nodes. app.config server configuration file, configures settings such as CouchDB database address, database connection options or time interval of Node availability check. Every new Node connected to the system needs to register itself at the server. It sends the information about itself and its Plugins to the server, where it is stored in a database. If a particular Node was previously registered and reconnects to the system, e.g. after re-establishing internet connection, it just updates its state at the server. This update takes place every time the state of the Node or any of its Plugins changes. The server regularly monitors the state of all the registered Nodes. If the connection with any of the Nodes is lost, the information about that Node is updated with status unavailable and saved in a database. To allow easy and universal interaction with GUI, server delivers a simple HTTP interface Node A Node is an Erlang application that controls Plugins installed on a particular hardware device, collects data provided by them and delivers it to the server. It is composed of modules that run as separate Erlang processes. The design follows OTP Design Principles[10] therefore all processes are linked together in supervision tree as shown in figure 4. Such architecture protects the whole application from crashing down if there is an error in one of the child processes. This approach protects the Node application from failures of hardware devices or drivers as well as from errors in data
7 Erlang-based sensor network management for heterogeneous devices 145 processing algorithms. It also makes it possible to execute many independent data gathering or processing algorithms. Top Supervisor Networking Node Manager Workers Supervisor Data Acess Data Manager Plugins Supervisor Plugin 1 Plugin 2 Figure 4. Node s supervisor structure. Each Supervisor starts all processes one level below itself. All Node component processes are bound in a single supervision tree. When the Node application is launched, top level supervisor spawns networking, managing and worker supervisor processes. The following operations are performed: The networking process connects to the server and obtains a modified configuration for the Node. The managing module handles all requests from server and delegates them to appropriate workers. The worker supervisor initiates and controls Plugin manager, data manager, Plugins supervisor and a few other supporting processes. The Plugin manager is the most important module which controls life cycle of Plugins. It mediates between the Node manager, the Plugins and the data access layer. The Plugin manager stores information about all active Plugins in local database. Therefore if the device is unexpectedly rebooted, all the running Plugins are restarted with the configuration from before the shutdown. The data access layer process is responsible for controlling the connection to the database, marshalling data and all other operations on DB. The data manager handles the replication of data to the server from the local database. The communication with the server is done via TCP socket. All requests and data are transmitted using this channel. Node tries to keep connection alive for the whole time. If the connection is closed, the Node restarts the networking module immediately. When the communication is not available, the data from Plugins and their state are stored in local Mnesia [12] or CouchDB[9] database (depending on configuration).
8 146 Michał Nieć, Paweł Pikuła, Aleksander Mamla, Wojciech Turek When the connection becomes available the Data manager synchronizes stored data with the server and cleans the cache Plugin The Plugin is a single application controlling particular physical sensor or a group of them. It processes the collected data and delivers the output to the Node via well-known interface. Each Plugin is responsible for processing data collected by controlled physical sensors. If the processing results in valuable information, it is sent to the Node and further to the Server. If the information is urgent, a special marker can be set for it. This kind of information is provided directly to the system user via the GUI. The Plugin structure is described by an Erlang behaviour. In Erlang, a behaviour is a design pattern implemented in a module, which provides functionality similar to interfaces in other programming languages. They are essentially a required set of callback functions. For example in the CollectE system all of the Plugins must implement callbacks defined by beevree gen plugin behaviour such as: init, set conf iguration, on resume, on suspend, get state, stop. Erlang OTP does not provide functions that give uniform access to devices connected via USB or serial port. CollectE Plugins use native applications (written in C/C++) that communicate with EVM using Erlang ports and Erlang Interface library (see [5] for more details). Erlang Interface provides a set of functions for decoding/encoding to Erlang data format. The ports provide a basic mechanism for communication with the external programs. Erlang can communicate with a port by sending and receiving lists of bytes. This means that the custom encoding and decoding scheme can be used. The actual implementation of the port mechanism depends on the platform. In the Unix case, pipes are used and the external program should read from the standard input and write to the standard output. This means that any programming language can be used to develop a port application. Erlang Ports have been chosen in order to meet the reliability requirement. An error in external program will not cause the entire Erlang runtime system to leak memory, hang or crash. Detection of hardware driver failure can be easily performed in the Plugin process, which can restart the driver or notify the Node application CouchDB database The data collected by the server is stored in Apache CouchDB. It is a document oriented, schema-free database. CouchDB stores data in documents. Each document is an object identified by unique id, containing named fields (represented with use of JSON standard) and optional attachments. Documents in CouchDB database are stored in a flat address space. That is why a new way of data filtering and reporting (the view model) was needed. Views are special functions, written is JavaScript and saved in special design documents. Each
9 Erlang-based sensor network management for heterogeneous devices 147 view acts as the map part in a MapReduce system. By taking CouchDB document as an argument it determines whether the document should be available in view result. Views don t affect the stored documents, they are only the way to create dynamic representation of database content. The CollectE system was designed to collect and store data from various types of sensors. Each sensor can deliver data in a specific format and because of that it would be almost impossible to design relational database without limiting system flexibility. CouchDB features like semi-structured documents and views model were used by our system to retain intended flexibility and extensibility. The data collected by Plugins is formatted into JSON (when it is text-based) or saved as an attachment (when it is e.g image, sound or binary file etc.). Special views defined in database allow easy document filtering (e.g. obtaining data with high priority, latest data, results from specific Node or Plugin) User interface The graphical user interface allows user-friendly system management and data representation. It is a Ruby on Rails web application. GUI interacts with the server sending HTTP request to its HTTP interface. Most important features of the GUI are: Displaying information about the sensors the user can see a list of all registered sensors with brief information about their state. If sensors provide their GPS location they are shown on the map. For each sensor it is also possible to show its more detailed information including state of sensor s Plugins and data it has recently collected. Data representation the user can view the data collected by the system. The data is organized by its origin, that is by the id of the sensor and the Plugin which collected it. The data is displayed with the help of a tree-like structure. Any data that cannot be represented in text form (images, sound files etc.) is displayed in a form of an attachment link and can be downloaded by user. Figure 5 presents a screenshot of the result screen with sample data. Sensors management the user can manage the sensor Plugins: delete, suspend or restart work of single or multiple sensor s Plugins. Notifications GUI notifies the user about urgent data sent by the sensors. Users management GUI extends the system with a possibility to create, edit or delete the system user accounts. The accounts are arranged in user groups. Each user group can be created with specific permissions and access restrictions.
10 148 Michał Nieć, Paweł Pikuła, Aleksander Mamla, Wojciech Turek Figure 5. Graphical user interface, collected results screen. Data is organized in sections by Node id. Within Node section different Plugins can be selected. 3. Implementation and test results 3.1. Implementation CollectE is built by rebar[4]. Rebar is an Erlang build tool that makes it easy to compile and test Erlang applications. It creates application skeleton that uses standard Erlang/OTP conventions for the project structure. Rebar also provides dependency management, that gives a possibility to easily re-use common libraries from variety of locations, like git or hg. Generating release with rebar is an easy task. It ends with creating a self-contained environment including Erlang VM, required OTP libraries and external dependencies, ready to deploy on the target machine. In order to test the system, several Plugins have been developed: LoadAvg reports current loadavg of the sensor CPU and sends urgent notifications when it is higher than defined threshold. Temp gives information about air temperature and location of the device. It was tested on a device connected by USB which was visible as a serial port device. Plugin reads the most common sentence transmitted by GPS devices in the GPRMC format. The position is described as a float pair (longitude, latitude) compatible with the Google Maps service. The thermometer has no serial port interface, it was accessed with use of libusb-1.0 library. Temperature data is represented as a float value(number of Celsius degrees). The Plugin sends urgent notification when read temperature exceeds given value.
11 Erlang-based sensor network management for heterogeneous devices 149 Motion captures frames from a camera. If motion is detected, the Plugin sends a frame to the server. Frames are sent to the server as a sequence of jpeg compressed images. It uses v4l2 library (Video for Linux) for grabbing frames and libjpeg for decoding them before they are processed. In the end the frames are back compressed. CollectE module responsible for communicating with USB devices could be easily extracted as a standalone library. Its port application uses libusb 1.0 [2] library which gives access to USB devices across many different operating systems. Serial module could also be extracted, but it is platform dependent (it uses Linux API) Tests The CollectE system was successfully tested on multiple PC running Linux (Arch, Fedora, OpenSUSE) on x86 and x64 architecture. It was also run on Mac OS X. The system was also deployed on BeagleBoard[1] computer, which is low power OMAP3530 based platform. It has 600MHz ARM processor, 512 MB RAM, SD card slot and USB Ports. BeagleBoards had Debian Squeeze for ARM architecture installed. External devices (webcam, thermometer, gps receiver) were tested on PCs and on BeagleBoards. The tests focused mostly on trying to run multiple Plugins simultaneously on BeagleBord and observe how devices are handling in such scenario. All Plugins worked smoothly, without any problems, which is a significant achievement. It proves, that the Erlang technology is suitable for this kind of applications and that the architecture of the CollectE system is correct. What is more CollectE was successfully run on Android tablet Eee Pad Transformer. Eee Pad Transformer is ARM based device with NVIDIA Tegra GHz dual-core CPU, 1 GB of RAM and it is controlled by Android 3.2 Honeycomb. To fully use Android tablet devices we decided to run Debian distribution in android system using chroot technique. This enabled easy deployment of Erlang on this tablet and also get other dependencies required to compile and run CollectE Node and Plugins. Additionally CouchDB replication system was tested by netem tool [3] to simulate possible network problems which can be encountered by moving sensor device. Netem emulates properties of wide area networks such as variable delay, loss, duplication and reordering. CouchDB handled poor connection scenarios without any problems. All data, collected by a sensor, eventually reached the server. 4. Conclusions and further work The implemented system links all the sensors with the server and provides a convenient API to manage them. Plugins executed on sensors can perform complex data processing algorithms and provide information to the server, without sending large amounts of data. Moreover, important information can be urgently presented to the system user. These features can help solving a variety of problems.
12 150 Michał Nieć, Paweł Pikuła, Aleksander Mamla, Wojciech Turek With the Erlang OTP it was possible to achieve flexibility and durability of the system. Software executed on sensors is resistant to hardware failures, which is the main advantage of the system. Geo-distributed processing of data increases scalability and reduces requirements concerning central server. There are several directions of further development of the system. For example, mechanisms for updating Plugins should be provided. This task is relatively simple using Erlang hot code swapping mechanisms. Current system is not secure enough. The transferred data is not encrypted and the platform does not authenticate users, so using it in a limited trust environment is not an option. Erlang OTP offers cryptographic mechanisms, which could be used in the future to enable such capabilities. The tests showed that CouchDB on Node is not a safe option. It consumed a lot of resources during its work (especially the disk space). In the future the Node could take advantage of Mnesia term storage to provide data caching. Acknowledgements The research leading to this results has received founding from the AGH grant no References [1] Beagleboard official website. July [2] libusb official website. July [3] Network emulation functionality for testing protocols. linuxfoundation.org/collaborate/workgroups/networking/netem, July [4] Rebar: Erlang build tool. July [5] Armstrong J: Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf, [6] Dargie W., Poellabauer C: Fundamentals of wireless sensor networks: theory and practice. John Wiley and Sons, [7] Earle C., Fredlund L., Derrick J: Verifying fault-tolerant erlang programs. In ERLANG 05 Proc. of the 2005 ACM SIGPLAN workshop on Erlang, [8] Kapłoniak R., Kwiatkowski L., Szydło T: Environment emulation for wsn testbed. Computer Science, 13(3), [9] Lennon J: Beginning CouchDB. Apress, [10] Logan M., Merritt E., Merritt R: Erlang and OTP in Action. Manning Publications, [11] Madden S., Franklin M., Hellerstein J., Hong. W: Tinydb: an acquisitional query processing system for sensor networks. Transactions on Database Systems (TODS) Special Issue: SIGMOD/PODS, 2003.
13 Erlang-based sensor network management for heterogeneous devices 151 [12] Mattsson H., Nilsson H., Wikstrom C: Mnesia a distributed robust dbms for telecommunications applications. In Proc. of the First International Workshop on Practical Aspects of Declarative Languages, London, UK, pp , [13] Mueller R., Alonso G., Kossmann D: Swissqm: Next generation data processing in sensor networks. In Proc. of Third Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, Affiliations Michał Nieć Erlang Solutions, Kraków, Poland, [email protected] Paweł Pikuła AGH University of Science and Technology, Krakow, Poland, [email protected] Aleksander Mamla AGH University of Science and Technology, Krakow, Poland, [email protected] Wojciech Turek AGH University of Science and Technology, Krakow, Poland, [email protected] Received: Revised: Accepted:
How To Write An Erlang Based Software Update Platform For Mobile Devices
Computer Science 14 (1) 2013 http://dx.doi.org/10.7494/csci.2013.14.1.129 Małgorzata Wielgus Przemysław Dąbek Roman Janusz Tomasz Kowal Wojciech Turek ERLANG-BASED SOFTWARE UPDATE PLATFORM FOR MOBILE DEVICES
A Transport Protocol for Multimedia Wireless Sensor Networks
A Transport Protocol for Multimedia Wireless Sensor Networks Duarte Meneses, António Grilo, Paulo Rogério Pereira 1 NGI'2011: A Transport Protocol for Multimedia Wireless Sensor Networks Introduction Wireless
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
MEGA Web Application Architecture Overview MEGA 2009 SP4
Revised: September 2, 2010 Created: March 31, 2010 Author: Jérôme Horber CONTENTS Summary This document describes the system requirements and possible deployment architectures for MEGA Web Application.
How To Test For Performance And Scalability On A Server With A Multi-Core Computer (For A Large Server)
Scalability Results Select the right hardware configuration for your organization to optimize performance Table of Contents Introduction... 1 Scalability... 2 Definition... 2 CPU and Memory Usage... 2
EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications
ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani
Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper
WP2 Subject: with the CRYPTO-BOX Version: Smarx OS PPK 5.90 and higher 0-15Apr014ks(WP02_Network).odt Last Update: 28 April 2014 Target Operating Systems: Windows 8/7/Vista (32 & 64 bit), XP, Linux, OS
International Journal of Advancements in Research & Technology, Volume 3, Issue 2, February-2014 10 ISSN 2278-7763
International Journal of Advancements in Research & Technology, Volume 3, Issue 2, February-2014 10 A Discussion on Testing Hadoop Applications Sevuga Perumal Chidambaram ABSTRACT The purpose of analysing
The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications
The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications Joshua Ellul [email protected] Overview Brief introduction to Body Sensor Networks BSN Hardware
Middleware- Driven Mobile Applications
Middleware- Driven Mobile Applications A motwin White Paper When Launching New Mobile Services, Middleware Offers the Fastest, Most Flexible Development Path for Sophisticated Apps 1 Executive Summary
Chapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data
Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data 4 th Year Electronic and Computing Project Report 05416361 Supervisor: Mr Liam Kilmartin
Data Management in Sensor Networks
Data Management in Sensor Networks Ellen Munthe-Kaas Jarle Søberg Hans Vatne Hansen INF5100 Autumn 2011 1 Outline Sensor networks Characteristics TinyOS TinyDB Motes Application domains Data management
FOXBORO. I/A Series SOFTWARE Product Specifications. I/A Series Intelligent SCADA SCADA Platform PSS 21S-2M1 B3 OVERVIEW
I/A Series SOFTWARE Product Specifications Logo I/A Series Intelligent SCADA SCADA Platform PSS 21S-2M1 B3 The I/A Series Intelligent SCADA Platform takes the traditional SCADA Master Station to a new
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
Graduate presentation for CSCI 5448. By Janakiram Vantipalli ( [email protected] )
Graduate presentation for CSCI 5448 By Janakiram Vantipalli ( [email protected] ) Content What is Android?? Versions and statistics Android Architecture Application Components Inter Application
Development of Integrated Management System based on Mobile and Cloud service for preventing various dangerous situations
Development of Integrated Management System based on Mobile and Cloud service for preventing various dangerous situations Ryu HyunKi, Moon ChangSoo, Yeo ChangSub, and Lee HaengSuk Abstract In this paper,
Building native mobile apps for Digital Factory
DIGITAL FACTORY 7.0 Building native mobile apps for Digital Factory Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels
VMware Virtualization and Software Development
VMware Virtualization and Software Development 1 VMware Virtualization and Software Development Mark Cloutier Undergraduate Student, Applied Math and Computer Science Keywords: Virtualization, VMware,
Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System
, pp.97-108 http://dx.doi.org/10.14257/ijseia.2014.8.6.08 Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System Suk Hwan Moon and Cheol sick Lee Department
Rcore Embedded Software Platform
Industrial Computing Rcore Embedded Software Platform The high reliability and stability of Moxa s embedded computers give our customers an edge over the competition. Moxa s Rcore embedded software platform
Application of Android OS as Real-time Control Platform**
AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 2 http://dx.doi.org/10.7494/automat.2013.17.2.197 Krzysztof Ko³ek* Application of Android OS as Real-time Control Platform** 1. Introduction An android operating
DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service
DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service Achieving Scalability and High Availability Abstract DB2 Connect Enterprise Edition for Windows NT provides fast and robust connectivity
Gigabyte Management Console User s Guide (For ASPEED AST 2400 Chipset)
Gigabyte Management Console User s Guide (For ASPEED AST 2400 Chipset) Version: 1.4 Table of Contents Using Your Gigabyte Management Console... 3 Gigabyte Management Console Key Features and Functions...
Operating System Monitor Application (OS MON)
Operating System Monitor Application (OS MON) version 1.3 Joe Armstrong 1997-05-02 Typeset in L A TEX from SGML source using the DOCBUILDER 3.0 Document System. Contents 1 OS MON Reference Manual 1 1.1
Chapter 5: System Software: Operating Systems and Utility Programs
Understanding Computers Today and Tomorrow 12 th Edition Chapter 5: System Software: Operating Systems and Utility Programs Learning Objectives Understand the difference between system software and application
Development of Integrated Management System based on Mobile and Cloud Service for Preventing Various Hazards
, pp. 143-150 http://dx.doi.org/10.14257/ijseia.2015.9.7.15 Development of Integrated Management System based on Mobile and Cloud Service for Preventing Various Hazards Ryu HyunKi 1, Yeo ChangSub 1, Jeonghyun
BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2. Feature and Technical Overview
BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2 Feature and Technical Overview Published: 2010-06-16 SWDT305802-1108946-0615123042-001 Contents 1 Overview: BlackBerry Enterprise
The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.
The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide
Performance of Host Identity Protocol on Nokia Internet Tablet
Performance of Host Identity Protocol on Nokia Internet Tablet Andrey Khurri Helsinki Institute for Information Technology HIP Research Group IETF 68 Prague March 23, 2007
PIE. Internal Structure
PIE Internal Structure PIE Composition PIE (Processware Integration Environment) is a set of programs for integration of heterogeneous applications. The final set depends on the purposes of a solution
Content Distribution Management
Digitizing the Olympics was truly one of the most ambitious media projects in history, and we could not have done it without Signiant. We used Signiant CDM to automate 54 different workflows between 11
PATROL Console Server and RTserver Getting Started
PATROL Console Server and RTserver Getting Started Supporting PATROL Console Server 7.5.00 RTserver 6.6.00 February 14, 2005 Contacting BMC Software You can access the BMC Software website at http://www.bmc.com.
HDFS Users Guide. Table of contents
Table of contents 1 Purpose...2 2 Overview...2 3 Prerequisites...3 4 Web Interface...3 5 Shell Commands... 3 5.1 DFSAdmin Command...4 6 Secondary NameNode...4 7 Checkpoint Node...5 8 Backup Node...6 9
Configuration Guide. Installation and. BlackBerry Enterprise Server for Microsoft Exchange. Version: 5.0 Service Pack: 4
BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 4 Installation and Configuration Guide Published: 2014-01-14 SWD-20140114180405595 Contents 1 Overview: BlackBerry Enterprise
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
Computer Automation Techniques. Arthur Carroll
Computer Automation Techniques Arthur Carroll 1 Three Types of Computers Micro-Controller Single Board Computer Desktop Computer 2 The Micro-Controller Small inexpensive DIP or surface mount chips Roughly
SeeTec ExpansionPackage
SeeTec ExpansionPackage Contents Contents 1 SeeTec WebClient...1 1.1 System requirements... 2 1.1.1 Server requirements for Apache HTTP Server, SeeTec TranscodingEngine (STE) and SeeTec ApplicationGateway
In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal
Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto [email protected] Luís Teixeira INESC Porto, Universidade Católica Portuguesa [email protected] Luís Corte-Real
KASPERSKY LAB. Kaspersky Administration Kit version 6.0. Administrator s manual
KASPERSKY LAB Kaspersky Administration Kit version 6.0 Administrator s manual KASPERSKY ADMINISTRATION KIT VERSION 6.0 Administrator s manual Kaspersky Lab Visit our website: http://www.kaspersky.com/
NetCrunch 6. AdRem. Network Monitoring Server. Document. Monitor. Manage
AdRem NetCrunch 6 Network Monitoring Server With NetCrunch, you always know exactly what is happening with your critical applications, servers, and devices. Document Explore physical and logical network
BIG DATA IN THE CLOUD : CHALLENGES AND OPPORTUNITIES MARY- JANE SULE & PROF. MAOZHEN LI BRUNEL UNIVERSITY, LONDON
BIG DATA IN THE CLOUD : CHALLENGES AND OPPORTUNITIES MARY- JANE SULE & PROF. MAOZHEN LI BRUNEL UNIVERSITY, LONDON Overview * Introduction * Multiple faces of Big Data * Challenges of Big Data * Cloud Computing
GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS
Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,
System types. Distributed systems
System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors
Kentico CMS 6.0 Performance Test Report. Kentico CMS 6.0. Performance Test Report February 2012 ANOTHER SUBTITLE
Kentico CMS 6. Performance Test Report Kentico CMS 6. Performance Test Report February 212 ANOTHER SUBTITLE 1 Kentico CMS 6. Performance Test Report Table of Contents Disclaimer... 3 Executive Summary...
JoramMQ, a distributed MQTT broker for the Internet of Things
JoramMQ, a distributed broker for the Internet of Things White paper and performance evaluation v1.2 September 214 mqtt.jorammq.com www.scalagent.com 1 1 Overview Message Queue Telemetry Transport () is
WHITE PAPER. Domo Advanced Architecture
WHITE PAPER Domo Advanced Architecture Overview There are several questions that any architect or technology advisor may ask about a new system during the evaluation process: How will it fit into our organization
StruxureWare Data Center Expert 7.2.1 Release Notes
StruxureWare Data Center Expert 7.2.1 Release Notes Table of Contents Page # Part Numbers Affected...... 1 Minimum System Requirements... 1 New Features........ 1 Issues Fixed....2 Known Issues...2 Upgrade
Performance Test Report KENTICO CMS 5.5. Prepared by Kentico Software in July 2010
KENTICO CMS 5.5 Prepared by Kentico Software in July 21 1 Table of Contents Disclaimer... 3 Executive Summary... 4 Basic Performance and the Impact of Caching... 4 Database Server Performance... 6 Web
evm Virtualization Platform for Windows
B A C K G R O U N D E R evm Virtualization Platform for Windows Host your Embedded OS and Windows on a Single Hardware Platform using Intel Virtualization Technology April, 2008 TenAsys Corporation 1400
Cisco Application Networking Manager Version 2.0
Cisco Application Networking Manager Version 2.0 Cisco Application Networking Manager (ANM) software enables centralized configuration, operations, and monitoring of Cisco data center networking equipment
Scalable Cloud Computing Solutions for Next Generation Sequencing Data
Scalable Cloud Computing Solutions for Next Generation Sequencing Data Matti Niemenmaa 1, Aleksi Kallio 2, André Schumacher 1, Petri Klemelä 2, Eija Korpelainen 2, and Keijo Heljanko 1 1 Department of
Stream Processing on GPUs Using Distributed Multimedia Middleware
Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research
System Requirements Table of contents
Table of contents 1 Introduction... 2 2 Knoa Agent... 2 2.1 System Requirements...2 2.2 Environment Requirements...4 3 Knoa Server Architecture...4 3.1 Knoa Server Components... 4 3.2 Server Hardware Setup...5
Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.
NETWORK OPERATING SYSTEM Introduction Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation. Network operating
SyncThru TM Web Admin Service Administrator Manual
SyncThru TM Web Admin Service Administrator Manual 2007 Samsung Electronics Co., Ltd. All rights reserved. This administrator's guide is provided for information purposes only. All information included
Research and Design of Universal and Open Software Development Platform for Digital Home
Research and Design of Universal and Open Software Development Platform for Digital Home CaiFeng Cao School of Computer Wuyi University, Jiangmen 529020, China [email protected] Abstract. With the development
Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
<Insert Picture Here> Oracle In-Memory Database Cache Overview
Oracle In-Memory Database Cache Overview Simon Law Product Manager The following is intended to outline our general product direction. It is intended for information purposes only,
How to Design and Create Your Own Custom Ext Rep
Combinatorial Block Designs 2009-04-15 Outline Project Intro External Representation Design Database System Deployment System Overview Conclusions 1. Since the project is a specific application in Combinatorial
Assignment # 1 (Cloud Computing Security)
Assignment # 1 (Cloud Computing Security) Group Members: Abdullah Abid Zeeshan Qaiser M. Umar Hayat Table of Contents Windows Azure Introduction... 4 Windows Azure Services... 4 1. Compute... 4 a) Virtual
Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing
www.ijcsi.org 227 Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing Dhuha Basheer Abdullah 1, Zeena Abdulgafar Thanoon 2, 1 Computer Science Department, Mosul University,
SafeMobile, Inc. 3601 E. Algonquin Road, Rolling Meadows, IL 60008 Tel: (847) 818-1649 Fax: (847) 818-9190 E-mail: safemobile@safemobile.
SafeDispatch Mobile SafeMobile, Inc. 3601 E. Algonquin Road, Rolling Meadows, IL 60008 Tel: (847) 818-1649 Fax: (847) 818-9190 E-mail: [email protected] Website: www.safemobile.com Communication
Chapter 7. Using Hadoop Cluster and MapReduce
Chapter 7 Using Hadoop Cluster and MapReduce Modeling and Prototyping of RMS for QoS Oriented Grid Page 152 7. Using Hadoop Cluster and MapReduce for Big Data Problems The size of the databases used in
Traffic Analyzer Based on Data Flow Patterns
AUTOMATYKA 2011 Tom 15 Zeszyt 3 Artur Sierszeñ*, ukasz Sturgulewski* Traffic Analyzer Based on Data Flow Patterns 1. Introduction Nowadays, there are many systems of Network Intrusion Detection System
The syslog-ng Premium Edition 5LTS
The syslog-ng Premium Edition 5LTS PRODUCT DESCRIPTION Copyright 2000-2013 BalaBit IT Security All rights reserved. www.balabit.com Introduction The syslog-ng Premium Edition enables enterprises to collect,
The Service Availability Forum Specification for High Availability Middleware
The Availability Forum Specification for High Availability Middleware Timo Jokiaho, Fred Herrmann, Dave Penkler, Manfred Reitenspiess, Louise Moser Availability Forum [email protected], [email protected],
Copyright 2011 - bizagi
Copyright 2011 - bizagi 1. Process Automation with bizagi... 3 Description... 3 Objectives... 3 Target Audience Profile... 4 Duration... 4 2. Part I Basic concepts to build a bizagi solution... 5 Description...
Ekran System Help File
Ekran System Help File Table of Contents About... 9 What s New... 10 System Requirements... 11 Updating Ekran to version 4.1... 13 Program Structure... 14 Getting Started... 15 Deployment Process... 15
How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip
Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided
Software design (Cont.)
Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java
S y s t e m A r c h i t e c t u r e
S y s t e m A r c h i t e c t u r e V e r s i o n 5. 0 Page 1 Enterprise etime automates and streamlines the management, collection, and distribution of employee hours, and eliminates the use of manual
Cloud Computing. Up until now
Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines
Chapter 1 - Web Server Management and Cluster Topology
Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management
Hitachi Virtage Embedded Virtualization Hitachi BladeSymphony 10U
Hitachi Virtage Embedded Virtualization Hitachi BladeSymphony 10U Datasheet Brings the performance and reliability of mainframe virtualization to blade computing BladeSymphony is the first true enterprise-class
Performance Measuring in Smartphones Using MOSES Algorithm
Performance Measuring in Smartphones Using MOSES Algorithm Ms.MALARVIZHI.M, Mrs.RAJESWARI.P ME- Communication Systems, Dept of ECE, Dhanalakshmi Srinivasan Engineering college, Perambalur, Tamilnadu, India,
Semester Thesis Traffic Monitoring in Sensor Networks
Semester Thesis Traffic Monitoring in Sensor Networks Raphael Schmid Departments of Computer Science and Information Technology and Electrical Engineering, ETH Zurich Summer Term 2006 Supervisors: Nicolas
Table of Contents. Introduction...9. Installation...17. Program Tour...31. The Program Components...10 Main Program Features...11
2011 AdRem Software, Inc. This document is written by AdRem Software and represents the views and opinions of AdRem Software regarding its content, as of the date the document was issued. The information
Typeset in L A TEX from SGML source using the DocBuilder-0.9.8 Document System.
OS Mon version 2.1 Typeset in L A TEX from SGML source using the DocBuilder-0.9.8 Document System. Contents 1 OS Mon Reference Manual 1 1.1 os mon............................................ 4 1.2 cpu
Fig. 1 BAN Architecture III. ATMEL BOARD
Volume 2, Issue 9, September 2014 ISSN: 2321 7782 (Online) International Journal of Advance Research in Computer Science and Management Studies Research Article / Survey Paper / Case Study Available online
PARALLELS SERVER BARE METAL 5.0 README
PARALLELS SERVER BARE METAL 5.0 README 1999-2011 Parallels Holdings, Ltd. and its affiliates. All rights reserved. This document provides the first-priority information on the Parallels Server Bare Metal
SoMA. Automated testing system of camera algorithms. Sofica Ltd
SoMA Automated testing system of camera algorithms Sofica Ltd February 2012 2 Table of Contents Automated Testing for Camera Algorithms 3 Camera Algorithms 3 Automated Test 4 Testing 6 API Testing 6 Functional
Sage ERP MAS 90 Sage ERP MAS 200 Sage ERP MAS 200 SQL. Installation and System Administrator's Guide 4MASIN450-08
Sage ERP MAS 90 Sage ERP MAS 200 Sage ERP MAS 200 SQL Installation and System Administrator's Guide 4MASIN450-08 2011 Sage Software, Inc. All rights reserved. Sage, the Sage logos and the Sage product
SharePoint Performance Optimization
White Paper AX Series SharePoint Performance Optimization September 2011 WP_SharePoint_091511.1 TABLE OF CONTENTS 1 Introduction... 2 2 Executive Overview... 2 3 SSL Offload... 4 4 Connection Reuse...
The syslog-ng Premium Edition 5F2
The syslog-ng Premium Edition 5F2 PRODUCT DESCRIPTION Copyright 2000-2014 BalaBit IT Security All rights reserved. www.balabit.com Introduction The syslog-ng Premium Edition enables enterprises to collect,
A General Framework for Tracking Objects in a Multi-Camera Environment
A General Framework for Tracking Objects in a Multi-Camera Environment Karlene Nguyen, Gavin Yeung, Soheil Ghiasi, Majid Sarrafzadeh {karlene, gavin, soheil, majid}@cs.ucla.edu Abstract We present a framework
Chapter 17. Transport-Level Security
Chapter 17 Transport-Level Security Web Security Considerations The World Wide Web is fundamentally a client/server application running over the Internet and TCP/IP intranets The following characteristics
CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure
CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer
McAfee Agent Handler
McAfee Agent Handler COPYRIGHT Copyright 2009 McAfee, Inc. All Rights Reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into
Server Software Installation Guide
Server Software Installation Guide This guide provides information on...... The architecture model for GO!Enterprise MDM system setup... Hardware and supporting software requirements for GO!Enterprise
Availability Digest. www.availabilitydigest.com. Raima s High-Availability Embedded Database December 2011
the Availability Digest Raima s High-Availability Embedded Database December 2011 Embedded processing systems are everywhere. You probably cannot go a day without interacting with dozens of these powerful
Windows Server 2008 R2 Hyper-V Live Migration
Windows Server 2008 R2 Hyper-V Live Migration Table of Contents Overview of Windows Server 2008 R2 Hyper-V Features... 3 Dynamic VM storage... 3 Enhanced Processor Support... 3 Enhanced Networking Support...
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
Document management and exchange system supporting education process
Document management and exchange system supporting education process Emil Egredzija, Bozidar Kovacic Information system development department, Information Technology Institute City of Rijeka Korzo 16,
Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
MODULE 3 VIRTUALIZED DATA CENTER COMPUTE
MODULE 3 VIRTUALIZED DATA CENTER COMPUTE Module 3: Virtualized Data Center Compute Upon completion of this module, you should be able to: Describe compute virtualization Discuss the compute virtualization
