490 likes | 711 Views
EEEM048- Internet of Things Lecture 10- Summary and Overview. Dr Payam Barnaghi, Dr Chuan H Foh Centre for Communication Systems Research Electronic Engineering Department University of Surrey Autumn Semester 2013/2014. Module Aims.
E N D
EEEM048- Internet of Things Lecture 10- Summary and Overview Dr Payam Barnaghi, Dr Chuan H Foh Centre for Communication Systems Research Electronic Engineering Department University of Surrey Autumn Semester 2013/2014
Module Aims The main aim of this module is to introduce the fundamental concepts of the Internet of Things and its applications and architecture models; Introduction to the technologies and mechanisms for sensing, actuation, processing and cyber-physical data communication. Discussing semantic technologies, service oriented solutions and networking technologies that enable the integration of Internet of Things data and services into the cyber world (i.e. the Internet and the Web). To develop practical skills that can be transferred into a real-world environment.
Lecture 2: System Overview • Understand what is a Cyber-Physical System and IoT • They are essentially the same • The role of smart devices in IoT • Data collecting point, they can be sensors • Human interaction point, they offer convenient user interface • Data processing point, they have more powerful CPU to process data • Information storage point, they have adequate storage to hold data • Key concepts in real-time system • Hard/Soft Time Constraints • Periodic/Aperiodic tasks and their properties • Scheduling • System design, focusing on Mealy FSM
Lecture 3: Hardware Platform • Sensors & Actuators • Understand their roles, technologies, and applications • Node Architecture • Be able to read the specification of a mote (for example: XM1000) • Be able to select an appropriate mote for a particular IoT system (processing power, memory, sensor capability, etc)
Lecture 3: Hardware Platform • Communication Architecture • Be able to describe IEEE 802.15.4 MAC operation, for example: • Data rate, 250kbps • Topology: Star & Mesh • Node configuration: Full Function Device & Reduced Function Device • Mode: Beacon & non-beacon • Channel access: slotted & unslotted CSMA/CA
Lecture 4: Network • Understand the roles and functions of network module • Provide a solution (implemented in software) for end-to-end packet delivery • Management: • Packet: Adapting the packet sizes and formats • Address: Adapting and/or resolving addresses • Device: Joining/leaving of nodes • Service: Providing adds-on services such as security • Operational: • Route discovery & maintenance • Packet forwarding
Lecture 4: Network • Understand various routing technologies related to IoT applications • Be able to differentiate proactive and reactive approaches • Be able to describe the operation of some technologies: • Flooding • Source routing • Distance vector • AODV (in ZigBee) and RPL (in ContikiOS, TinyOS) • Understand the impact of nodes/gateway deployment on network performance • Identify bottleneck • Be able to suggest improvement for better performance (lifetime, latency, throughput)
Lecture 8: Security • Perform risk analysis on IoT systems • Identify asset value, threat, vulnerability, then analyse the levels of risk, and finally suggest solutions • Understand the challenges (limited processing power, limited power source, distributed system, etc) • Understand various information security solutions which are applicable to securing IoT • One-way function • Symmetric & Asymmetric Cryptography • Digital signature • Digital certificate • Authentication procedure • Transport Layer Security
Wireless Sensor (and Actuator) Networks Services? End-user Operating Systems? Protocols? Core network e.g. Internet Protocols? Gateway Sink node Gateway Computer services • The networks typically run Low Power Devices • Consist of one or more sensors, could be different type of sensors (or actuators)
Lecture 5: Software platforms and services • OS running on devices with restricted functionality • In the case of sensor nodes, there devices typically also have limited processing capability • e.g. Contiki • Restricted to narrow applications • industrial controllers, robots, networking gear, gaming consoles, metering, sensor nodes… • Architecture and purpose of embedded OS changes as the hardware capabilities change (i.e. mobile phones) • Protothreads Source: The Web of Things, Marko Grobelnik, Carolina Fortuna, Jožef Stefan Institute.
The Contiki OS Loadable programs Can be easily updated Loaded program Communication service Core Service Language runtime Core: single binary Usually never modified Program Loader Kernel
CoAP protocol stack and interactions C. Bormann, A. P. Castellani, Z. Shelby, "CoAP: An Application Protocol for Billions of Tiny Internet Nodes," IEEE Internet Computing, vol. 16, no. 2, pp. 62-67, Feb. 2012, doi:10.1109/MIC.2012.29
Lecture 6: Intelligent Data The sensory data represents physical world observation and measurement and requires time and location and other descriptive attributes to make the data more meaningful. For example, a temperature value of 15 degree will be more meaningful when it is described with spatial (e.g. Guildford city centre) and temporal (e.g. 8:15AM GMT, 21-03-2013), and unit (e.g. Celsius) attributes. The sensory data can also include other detailed meta-data that describe quality or device related attributes (e.g. Precision, Accuracy).
Sensor Data 15, C, 08:15, 51.243057, -0.589444
In-network processing Depending on application, more sophisticated processing of data can take place within the network Example edge detection: locally exchange raw data with neighboring nodes, compute edges, only communicate edge description to far away data sinks Example tracking/angle detection of signal source: Conceive of sensor nodes as a distributed microphone array, use it to compute the angle of a single source, only communicate this angle, not all the raw data Exploit temporaland spatial correlation Observed signals might vary only slowly in time; so no need to transmit all data at full rate all the time Signals of neighboring nodes are often quite similar; only try to transmit differences (details a bit complicated, see later) Source: Protocols and Architectures for Wireless Sensor Networks, Protocols and Architectures for Wireless Sensor Networks Holger Karl, Andreas Willig, chapter 3, Wiley, 2005 .
Data Aggregation 1 1 1 1 3 1 1 1 6 1 1 1 • Reduce number of transmitted bits/packets by applying an aggregation function in the network Source: Holger Karl, Andreas Willig, Protocols and Architectures for Wireless Sensor Networks, Protocols and Architectures for Wireless Sensor Networks, chapter 3, Wiley, 2005 .
MQTT Pub/Sub Protocol • MQ Telemetry Transport (MQTT) is a lightweight broker-based publish/subscribe messaging protocol. • MQTT is designed to be open, simple, lightweight and easy to implement. • These characteristics make MQTT ideal for use in constrained environments, for example in IoT. • Where the network is expensive, has low bandwidth or is unreliable • When run on an embedded device with limited processor or memory resources; • A small transport overhead (the fixed-length header is just 2 bytes), and protocol exchanges minimised to reduce network traffic • MQTT was developed by Andy Stanford-Clark of IBM, and Arlen Nipper of Cirrus Link Solutions. Source: MQTT V3.1 Protocol Specification, IBM, http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html
Sensor Data as time-series data • Different representation method that introduced for time-series data can be applied. • The goal is to reduce the dimensionality (and size) of the data, to find patterns, detect anomalies, to query similar data; • Dimensionality reduction techniques transform a data series with n items to a representation with w items where w < n. • This functions are often lossy in comparison with solutions like normal compression that preserve all the data. • One of these techniquesis called Symbolic Aggregation Approximation (SAX). • SAX was originally proposed for symbolic representation of time-series data; it can be also used for symbolic representation of time-series sensor measurements. • The computational foot-print of SAX is low; so it can be also used as a an in-network processing technique.
Semantic technologies and Connecting "Things" to the Web Inference/Processing of IoT data “Web of Things” Services? End-user Operating Systems? Protocols? Core network e.g. Internet Protocols? Gateway Data Aggregation/ Fusion In-node Data Processing Interoperable/ Machine-interpretable representations Sink node Gateway Computer services Interoperable/ Machine-interpretable representations Interoperable/ Machine-interpretable representations • The networks typically run Low Power Devices • Consist of one or more sensors, could be different type of sensors (or actuators)
Observation and measurement data Latitude value Time Longitude Unit of measurement How to make the data representations more machine-readable and machine-interpretable; 15, C, 08:15, 51.243057, -0.589444
Observation and measurement data What about this? <Latitude> <value> <Time> <Longitude> <unit> <value>15</value> <unit>C</unit> <time>08:15</time> <longitude>51.243057</longitude> <latitude>-0.58944</latitude> 15, C, 08:15, 51.243057, -0.589444
XML Document Example XML Prolog- the XML declaration <?xml version="1.0"?> <measurement> <value>15</value> <unit>C</unit> <time>08:15</time> <longitude>51.243057</longitude> <latitude>-0.58944</latitude> </measurement> Root element XML elements XML documents MUST be “well formed”
RDF Graph xsd:time hasTime xsd:decimal hasValue Measurement hasLongitude hasLatitude xsd:double xsd:double hasUnit xsd:string
RDF Graph- an instance 08:15 hasTime 15 hasValue Measurement#0001 hasLongitude hasLatitude -0.589444 51.243057 hasUnit C
RDF/XML <rdf:RDF> <rdf:Description rdf:about=“Measurment#0001"> <hasValue>15</hasValue> <hasUnit>C</hasUnit> <hasTime>08:15</hasTime> <hasLongitude>51.243057</hasLongitude> <hasLatitude>-0.589444</hasLatitude> </rdf:Description> </rdf:RDF>
Web of Things Semantically annotate data WSN WSN WSN WSN WSN WSN Network-enabled Devices 6LowPAN CoAP Gateway CoAP CoAP Semantically annotate data http://mynet1/snodeA23/readTemp? HTTP HTTP Gateway MQTT MQTT
How to create location tags? • GeoHashing is one way to do this; • Geohash is a latitude/longitude geo-coding that was invented by Gustavo Niemeyer. • GeoHashing function can encods/decods (lat,lon) pairs in a compact form. • The Geohash algorithm can represent geographic regions in a hierarchical structure. • A geohash is represented as a string: • e.g. (-25.382708 and -49.265506) can be represented as:6gkzwgjzn820 • Or http://geohash.org/6gkzwgjzn820
GeoHash Prefix similarity can be used to find close locations; But it can’t be directly converted to a metric distance measure
Lecture 10: System models, Applications, Standards, and Physical-Cyber-Social systems • Smart grid and smart metering • Healthcare • Automotive (navigation, traffic control, vehicle safety, fleet management, etc.) • Smart city (city automation, intelligent parking, ITS, etc.) • Industrial automation • Environmental monitoring • Connected consumers • Smart homes • …
What is special about IoT applications • Application and requirements • Environment interaction • Heterogeneity and scale • Energy and resource constraints • Autonomous mechanisms that are often required; e.g. self-configurability • Security and Privacy issues • Data-centric solutions and information processing/knowledge extraction requirements • Actuation, feedback and control loop to interact with physical objects/environment over distributed networks. • Mobility • Diversity of applications and areas
Required mechanisms • Multihop wireless communication • Transmission range is often short and usually multi-hop communication is required. • Energy efficient operations • To save energy and/or increase the lifetime of the network/services. • Auto-configuration • ability to configure (at least some of) the functional parameters automatically. • Collaboration and in-network processing • Several node collaborate • Parts of the process is performed on the node and/or in the network. • Data-centric solutions • Conventional networks often focus on sending data between two specific nodes each equipped with an address. • Here what is important is data and the observations and measurements not the node that provides it. • Security, Trust and Privacy
Exam • Answer 3 questions out of 4 • Answer Any THREE Questions • Time: 2 Hours • At least, one design question • Preparation: • Lectures • Recommended material • Coursework experience
Q#1 • What is the difference between active sensors and passive sensors? • Provide an example for each • In what type of applications each type can be used; provide one example for each.
Q#2 • Compare each of these concepts that are described for conventional networks and explain their difference in wireless sensor network • General purpose design; used for many application • Usually the primary concern is performance and latency • Networked as designed and deployed according to a pre-defined plan. • Devices and networks usually operate in controlled environments • The networking is mainly based on addressing the nodes
Q#3 • Imagine you have a sensor network with 100 nodes in a 100 meters by 200 meters farm; the nodes are used to measure acidity and moisture levels; the nodes are wireless (equipped with IEEE802.15.4 radio); • How would you arrange the sensors in the farm? Where would you place a gateway?
Q#4 We have a sensor data that might happen collect noisy data; • What type of solutions do you suggest to detect the noise? • How can the noise be eliminated?
Q5 Consider a home security IoT; How would you think the system can be attacked? • Vulnerabilities in user/device/network/system?
Q#6 • You have been asked to design a sensor network to monitor and alert of fire hazards in a national park with an area around 10x15 miles; This is an area that gets very hot and dry in summer and people sometimes make fire during camping and lightning has been also source of fire in the past. • What type of sensors will you use • Provide an estimate of the equipment and networking technologies that you might need • What will be your key design considerations
Q#7 • A smart home produce design company wants to make sure the data that is generated form their devices is interoperable with data repositories servers and products that are developed by other companies. • They also want to design a gateway that can read and use data from smart home appliances that are developed by other companies. Assuming that networking technologies are compatible and devices can communicate, what type of solutions would you recommend to the company to increase their data interoperability.
Q#8 • Imagine the same company in Q#6 has a smart toaster that can send it status (ready, degree, on, off, …, ) to a gateway device; • Design a semantic model that can make the information sent form the toaster interoperable (with those parties that share the same schema/model) and machine-readable.
Q#9 • This figure shows a WSN design for volcano monitoring; • What issue will you consider to design/deploy such a network? • What could be technical issues? issues and some solutions: http://www.eecs.harvard.edu/~mdw/papers/volcano-ieeeic06.pdf Image source: Harvard Sensor Networks Lab, http://fiji.eecs.harvard.edu/Volcano
Q#10 • The Figure shows a medical sensor that uses an EKG sensor and a pulse oximeter sensor for monitoring vital body signals. • What type of in-network processes do you think can be introduced for a patient control and monitoring system.
Medical sensors for monitoring patients Parkinson’s disease • Akinesia means absence of movement. • Bradykinesia means slowness of movement. • Hypokinesia means decreased amplitude or range of movement. • These three medical terms are commonly grouped together for convenience and usually referred to under the term of bradykinesia. Bradykinesia is a prominent and important feature of parkinsonism. • Bradykinesia is mild in early Parkinson's disease and becomes more severe in advanced Parkinson's disease as well as other forms of parkinsonism. Source: http://www.movement-disorders.org/learn/glossary.html
Q#11 Patel et al presented the results of a pilot study to assess the feasibility of using accelerometer data to estimate the severity of symptoms and motor complications in patients with Parkinson’s disease. A classifier was implemented to estimate the severity of tremor. • What type of information can be extracted from the collected data? • What should be the key design considerations? Shyamal Patel et al, “Monitoring Motor Fluctuations in Patients With Parkinson’s Disease Using Wearable Sensors”, ACTIONS ON INFORMATION TECHNOLOGY IN BIOMEDICINE, VOL. 13, NO. 6, NOVEMBER 2009
Q#12 • The figure shows a WSN architecture in which the nodes directly or via a gateway are connected to an IP network; • What type of networking technologies can be proposed here? Image source: http://www.lacofa.es/index.php/general/english-virtualizing-sensor-network-vitro-practical-scenarios?lang=en