Introduction to the Internet-of-things

Presenter Maxime Lefrançois
maxime.lefrancois@emse.fr
version 1.0, 04-10-2017

Introduction

Majeure Informatique / Master CPS2 (MINES Saint-Étienne)

Logo

*Slides and website adapted from Gauthier Picard *

Future ?

Contents

  • Introduction and basic concepts
  • Internet and Web Layering
  • From the Internet to the Internet-of-Things
  • Towards the Web-of-Things
  • IoT Issues
  • References

Some actual examples (Smart Pillbox from Tinylogics)

pillbox

Some examples (Weather-forecasting umbrella)

forecast

Some examples (Nike Plus)

nikeplus

Some examples (Orange Homelive)

homelive

Some examples (Google Home)

google home

Some examples (Amazon Echo)

amazon echo

Smart Home

What domains are impacted (verticals)?

Example: Waste Management - eCube lab

ecubelab

Example: Smart Energy Aware Systems

seas
Verticals

Money money money?

Are you talking to me?

areyoutalkingtome

Brainstorming - 20 min

In groups of 4, you’ll brainstorm about an IoT application.

  • Choose a vertical: 1. Farming 2. Manufacturing 3. Smart Home 4. Health 5. Transportation 6. Social Media 7. Social Media 8. Smart City 9. Smart Utilities

Answer the following questions (be as precise as possible):

  • What are the things that are involved?
  • How do they communicate (who initiates the communication etc.)?
  • Where is the data stored, the analytics done?
  • How does the user (re-)configure it, interact with it?
  • Can it operate with other things/applications?

Restitution

Sensors is not all

Examples - Lessons learnt

  • All the cases we saw used the Internet to send, receive, or communicate information
  • And in each case, the gadget that was connected to the Internet wasn’t a computer, but a Thing
  • Four essential elements of the IoT
iot functions

The IoT Equation

Physical Object

+

Controller, Sensor and Actuator

+

Internet

=

Internet-of-Things

What is the Internet?

+ The Internet is the global system of interconnected computer networks that use the Internet protocol suite (TCP/IP) to link billions of devices worldwide. It is a network of networks that consists of millions of private, public, academic, business, and government networks of local to global scope, linked by a broad array of electronic, wireless, and optical networking technologies.

Some Internet Principles

  • Very early start and a lot of experience

    • Pragmatic and evolutionary approach
    • If it’s not broken, don’t fix it

  • Standardization by independent technical experts

    • Avoids the designed by committee effect of consortiums
    • Conservative and concentrating on stability
    • Implementations are required to prove technical feasibility
    • Simplicity whenever possible

Internet Protocol Suite

osimodelvstcpip

Internet Protocol Suite Layers

internet protocol suite

Encapsulation of Application Data

internet encapsulation

What is the Internet-of-Things?

We can make intelligent objects (Things) connect to the Internet

The internet of things (IoT) is the internetworking of physical devices, vehicles, buildings and other items—embedded with electronics, software, sensors, actuators, and network connectivity that enable these objects to collect and exchange data

Concepts close to IoT

  • Ambient Intelligence (AmI)

    Electronic environments that are sensitive and responsive to the presence of people

  • Ubiquitous Computing (ubicomp)

    A concept in software engineering and computer science where computing is made to appear anytime and everywhere

  • Machine-to-Machine (M2M)

    A concept which refers to direct communication between devices using any communications channel, including wired and wireless

What is a Thing?

iot

What is a Thing? (cont.)

Example (Observation)

  • A computer such as Intel’s i486 used to cost around the same as a small car
  • Nowadays a chip with similar power is the price of a chocolate bar!

When processing power is so cheap, you can afford to put processors in places that you could not before:

  • telephone
  • car
  • electricity/gaz/water meter
  • bedside lamp
  • door lock, shoes, teddy bear, …​

Not only a Computer Scientist Matter!

imakethings

Contents

  • Introduction and basic concepts
  • Internet and Web Layering
  • From the Internet to the Internet-of-Things
  • Towards the Web-of-Things
  • IoT Issues
  • References

From Networks to Internet - Network history

  • First regarded as a convenient workaround for floppy disks

    • Real computer scientists write compilers
    • Metcalfe’s law: The value of computer networks depends on their size

  • Early networking solutions were vendor-specific islands

    • DECnet for Digital Equipment Corporation (DEC) customers
    • XNS for Xerox customers
    • SNA for IBM customers
    • transmitting data between these networks was very cumbersome

  • Bridging networks transparently became increasingly important

    • More computers and networks increase the benefit of interconnections
    • Layering being used for internetworks, not only for networks

From Networks to Internet - Networks vs. Internetworks

  • Specific networks use specific abstractions

    • How to address nodes (computers, phones, PDAs, RFID tags)
    • How to address applications on these nodes
    • How to transmit data to these applications
    • How to describe data<information<knowledge

  • Internetworks provide a network-independent abstraction

    • Nodes are addressed uniformly (IP addresses)
    • Applications are identified uniformly (ports)
    • Data transmission uses one set of protocols (TCP/UDP)

From Networks to Internet - Convergence

network convergence

Layering - OSI Layers

osimodel

Layer 1: Physical

physical

Layer 3: Network

  • Allows addressing at the network level
  • For the internet, this means IP addresses

    • IPv4 is the version that has powered the internet so far
    • IPv6 is phased in to be able to handle IoT-scale growth

ipv4

Layer 4: Transport

  • Layer 3 establishes connectivity on a machine-to-machine level

    • Packets can be sent from one machine to another machine
    • It is not clear yet what to do with the packet once it arrived

  • TCP establishes process-to-process connectivity and reliable connections
tcp

Layer 5: Session

  • Sessions are meaningful for applications

  • Sessions can be terrible for scalability

    • Creating tight coupling between two processes
    • REST tries really hard to build a session-free web (stateless interactions)

  • The internet does not really have a generic model for sessions

    • HTTP Cookies are one way to achieve the same goal (but with a lot of side-effects)

Layer 6: Presentation

  • OSI has Abstract Syntax Notation One (ASN.1)

    • one abstract model and a variety of encoding rules (DER, XER, PER)
    • mostly extinct nowadays but still used for PKI information (certificates)

  • The internet has media types and some generic data representation languages

    • text/html, application/javascript, audio/mp3, video/3gpp…​
    • Extensible Markup Language (XML, application/xml) was the first successful internet representation
    • JavaScript Object Notation (JSON, application/json) replaces XML progressively because it’s more concise
    • Their binary versions application/exi, application/cbor
    • Resource Description Framework (RDF) is another possible generic data format
    • see https://www.iana.org/assignments/media-types/media-types.xhtml

Layer 7: Application

  • Anything that is built on top of a layered networking stack
  • Applications can select (some of the) aspects of the stack

    • TCP is often useful because it’s reliable and flow-controlled
    • UDP may be better for real-time and loss-tolerant data such as video/audio

  • Lower layers are completely invisible to applications

    • Unless some support and signaling is built into the networking stack
    • For example, it can be very interesting to know what traffic costs

  • Complete abstraction is a dream, complete control is a nightmare

    • Or is it the other way around? It all depends on the scenarios…​
    • As the internet and applications evolve, networking protocols and features evolve

Transmission Control Protocol (TCP)

TCP Features

  • Flow-controlled (avoiding congestion)
  • Reliable (no data lost or duplicated)
  • Connection-oriented
  • Application addressing

Reliable Connections

  • IP may drop or duplicate packets

    • TCP adds serial numbers in data packets
    • If problems are detected, TCP recovers automatically

  • TCP avoids network congestion and system overload

    • Slow start avoid flooding receivers with data they cannot process
    • Fast retransmit for avoiding timeouts when losing data
    • a Sliding window for controlling the amount of outstanding packets

Domain Name System (DNS)

Naming vs. Addressing

  • IP addresses depend on network topology and organization

    • Reorganizing a network may change all IP addresses
    • Identifying important hosts should not be address-based

  • Names are supposed to be more stable than addresses

    • A name is an abstract identification of something
    • Names can be used to obtain more information

  • Network services should use names instead of addresses

    • Before using the service, a mapping has to be performed
    • The Domain Name System (DNS) is providing this service

DNS Properties

  • DNS has a bootstrap problem

    • DNS provides a service and should thus be identified by a name
    • For resolving names into addresses, the DNS service is required

  • DNS configuration is part of basic Internet configuration

    • Dynamic Host Configuration Protocol (DHCP) provides IP address, netmask, gateway, and DNS server address

  • DNS names are hierarchically structured

    • ischool.berkeley.edu, edu is the Top-Level Domain (TLD)
    • TLDs are either generic (gTLD) or country code (ccTLD)

      • Subdomains are federated (e.g., edu, fr, uk, tv)

Names Matter

  • Names are not unique and namespaces are finite

    • Name disputes arise which were irrelevant before the Web
    • "cybersquatting" as a popular way to make money

  • Names can be worth a lot of money

  • Name inflation can be used to generate money

    • aero, biz, coop, info, jobs, mobi, museum, name, pro, travel, xxx
    • Universities bought their name.xxx domain 99€ per year
    • Starting 2014, user-defined top-level domains went on sale

  • Names can have political significance

    • ccTLDs are assigned based on the UNO’s idea of what a country is

  • Names can have symbolic significance

    • Catalonia managed to get a domain of its own (cat)

  • Small countries earn a lot of money thanks to their TLD

    • .tv South Pacific island nation of Tuvalu
    • .me Montenegro
    • .io British Indian Ocean Territory (or not - sad story)

DNS Namespace

dns

DNS Namespace Organization

  • Who a domain belongs to? https://www.whois.net/
  • Domain owners can organize the assignment of subdomains

    • berkeley.edu is an U.S. educational institution
    • ethz.ch is a Swiss university
    • imperial.ac.uk is a British university
    • uts.edu.au is an Australian university
    • swiss.aero makes money by selling new land
    • gouv.fr makes money by selling new land

  • Special rules may apply (Germany does not assign car license plate names)
  • Organizations may be countries or companies

    • Countries have national organizations for assigning names
    • Companies may create internal sub-level namespace (annuaire.mines-stetienner.fr, www.ischool.berkeley.edu)

Using DNS

  • DNS is used by virtually all Internet applications

    • Names are more stable than addresses

  • E-mail has some dedicated features built into DNS

    • Special entries (MX records) identify the e-mail server for a domain
    • Fallback entries help dealing with failing e-mail servers

  • Most URIs are based on DNS names

    • http://ischool.berkeley.edu/ identifies the access protocol and the host
    • The browser first performs a DNS lookup
    • A TCP connection is then established to the IP address returned by the DNS

To sum up the Internet

  • The internet is a network of networks

    • "It’s not a big truck, it’s a series of tubes!" (Ted Stevens)

  • The internet provides basic data transfer services
  • IP is used to send datagrams between end-points
  • TCP is used for reliable communications (building on IP)
  • DNS provides human-readable names for Internet hosts
  • URI and HTTP establish the web layer on top of the internet

From the Internet to the Internet-of-Things

  • Introduction and basic concepts
  • Internet and Web Layering
  • From the Internet to the Internet-of-Things
  • Towards the Web-of-Things
  • IoT Issues
  • References

Game Changing Technologies

How to connect Things to the Internet?

iot different
  • Instead of using proprietary and closed protocols to access and control Things, using the Internet stack

    • Pros: scalability
    • Cons: heterogeneity of low layer protocols

Classical IoT Architecture

iot architecture

Towards a Reference Model?

iot reference model

Towards Reference Protocols?

internet protocols

Prototyping is Easy

Prototyping an IoT Application

What do you need?

  • Some 'Things' (to sense and act on)

    • Commercial and ready-to-use devices: e.g., TI SensorTags, Philips Hue
    • Open and DIY devices: e.g. Arduino Boards, Raspberry Pi
    • Complex devices: e.g. smartphone

  • A minimal communication infrastructure (to transfer data)

    • Gateway, (wifi) router, internet connection

  • A minimal application infrastructure (to store and provide services)

    • (Web) server, a.k.a. your computer

  • A development environment

    • a computer (optionally another one)

  • A user environment

    • a computer (optionally another one), a smartphone

  • Optionally, a creative idea of innovative application

Choosing the Right Tools…​

hammer

So/Too Many Protocols

all protocols

So/Too Many Protocols

  • Protocols/standards necessarily are a trade-off

    • Dedicated solutions can be more specialized/optimized
    • Generalized solutions have advantages of reuse/interoperability

  • Even The Internet was not the only solution initially

    • Open Systems Interconnection (OSI) was developed as an alternative
    • TCP/IP won and today is the only connectivity layer in most scenarios

  • As new scenarios emerge and become mainstream, the landscape evolves

    • Initially, there are a few first movers
    • After that, many different solutions are developed and used
    • Eventually, very few proven solutions become (de-facto) standards

IoT Protocols in a Glance

  • Request - response

    • HTTP + WebSocket (both an API and a Protocol)
    • Web Real Time Communications (WebRTC) - real-time audio/video between clients
    • Constrained Application Protocol (CoAP), an extended subset of HTTP, compacted (binary), standardized in IETF RFC 7252

  • Publish - subscribe

    • Extensible Messaging Protocol (XMPP) - initially a instant messaging protocol, with presence information
    • Advanced Message Queueing Protocol (AMQP) - messaging protocol, originating in the world of financial institutions
    • Message Queue Telemetry Transport (MQTT) - initiated by IBM and similar in scope to AMQP

internet protocols

Architecture is Still Hard

  • The current IoT landscape is in a consolidation phase
  • Picking protocols is part technology, part strategy, part politics
  • Changing protocols is hard, so trying to pick well is important

Contents

  • Introduction and basic concepts
  • Internet and Web Layering
  • From the Internet to the Internet-of-Things
  • Towards the Web-of-Things
  • IoT Issues
  • References

From Limitations of the IoT to the WoT

  • The Internet of Things (IoT) suffers from a lack of interoperability across platforms
  • Developers are faced with data silos, high costs and limited market potential
  • This can be likened to the situation before the Internet when there were competing non-interoperable networking technologies
  • The Internet makes it easy to develop networked applications independently of those technologies

Making Things Interacting on the Web

twitting

Towards the Web-of-Things

  • Allowing real-world objects to be part of the World Wide Web
  • Reuse reuses existing and well-known Web standards used in the Web

    • Programmable web (e.g., REST, HTTP, JSON)
    • Semantic Web (e.g., RDF, JSON-LD, Microdata, etc.)
    • Real-time Web (e.g., Websockets)
    • Social Web (e.g., social networks)

  • Built on top of the IoT

Web-of-Things Stack

wot

Contents

  • Introduction and basic concepts
  • Internet and Web Layering
  • From the Internet to the Internet-of-Things
  • Towards the Web-of-Things
  • IoT Issues
  • References

Standardization

iot landscape
standards
  • Internet Engineering Task Force
  • World Wide Web Consortium
  • OneM2M

Privacy and Security

privacy

Ethics

youdrive

Nature-friendly?

the connected dog
e waste

Things made Social?

What comes Next

References

/