COMMUNICATION PLATFORM FOR THE INTERNET OF THINGS



Similar documents
Niagara IT Manager s Guide

ni.com Remote Connectivity with LabVIEW

DOCUMENT REFERENCE: SQ EN. SAMKNOWS TEST METHODOLOGY Web-based Broadband Performance White Paper. July 2015

INUVIKA OPEN VIRTUAL DESKTOP FOUNDATION SERVER

ReadyNAS Remote White Paper. NETGEAR May 2010

District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification

Proof of Concept Guide

WISE-4000 Series. WISE IoT Wireless I/O Modules

Copyright 2013, 3CX Ltd.

Network Configuration Settings

PULSE APPCONNECT. A Micro VPN That Allows Specific Applications on Mobile Devices to Independently Leverage the Connect Secure Gateway.

VIA CONNECT PRO Deployment Guide

SmartTV User Interface Development for SmartTV using Web technology and CEA2014. George Sarosi

CRESTRON-APP/CRESTRON-APP-PAD Control App for Apple ios

H0/H2/H4 -ECOM100 DHCP & HTML Configuration. H0/H2/H4--ECOM100 DHCP Disabling DHCP and Assigning a Static IP Address Using HTML Configuration

Penetration Testing for iphone Applications Part 1

Smart Cloud Solutions

VIA COLLAGE Deployment Guide

The Future of IoT. Zach Shelby VP Marketing, IoT Feb 3 rd, 2015

Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper

Setting Up Scan to SMB on TaskALFA series MFP s.

Systems Manager Cloud Based Mobile Device Management

1. Introduction What is Axis Camera Station? What is Viewer for Axis Camera Station? AXIS Camera Station Service Control 5

Making Sense of Internet of Things Protocols and Implementations

Zenprise Device Manager 6.1.5

Lutron Home Control Remote Access FAQ

Configuration Guide BES12. Version 12.3

Ciphermail Gateway PDF Encryption Setup Guide

Configuration Guide BES12. Version 12.2

Crestron Electronics, Inc. AirMedia Deployment Guide

CRESTRON-APP/CRESTRON-APP-PAD

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Chapter 6 Configuring the SSL VPN Tunnel Client and Port Forwarding

vcloud Director User's Guide

SVN5800 Secure Access Gateway

KURA M2M/IoT Gateway. reducing the distance between embedded and enterprise technologies. Tiziano Modotti, October 28 th, 2014

WiPG Presentation Gateway

SiteRemote 4 Cloud. Remote Monitoring. SaaS - Kiosk Remote Monitoring & Management Software

How To Configure Apple ipad for Cyberoam L2TP

Gerard Fianen. Copyright 2014 Cypherbridge Systems LLC Page 1

ACCREDITED SOLUTION. EXPLORER Cisco Systems VPN Client

NetLeverage UK ThinPoint Solution Overview Version 2 Copyright 2012 NetLeverage UK

Configuration Guide BES12. Version 12.1

IPv6 Challenges for Embedded Systems István Gyürki

Cisco Virtual Office Express

CounterACT Plugin Configuration Guide for ForeScout Mobile Integration Module MaaS360 Version ForeScout Mobile

Configuration Guide. BlackBerry Enterprise Service 12. Version 12.0

Principles of Network Applications. Dr. Philip Cannata

WHITEPAPER. SECUREAUTH 2-FACTOR AS A SERVICE 2FaaS

Overture ENTERPRISE CLASS A/V CONTROL. Reduce complexity and cost with a software based A/V control

Overview and Deployment Guide. Sophos UTM on AWS

QuickStart Guide for Managing Mobile Devices. Version 9.2

GRAVITYZONE HERE. Deployment Guide VLE Environment

Distributed Systems. 2. Application Layer

Data Sheet. NCP Secure Enterprise Management. Next Generation Network Access Technology


Introduction to IBM Worklight Mobile Platform

Cisco Application Networking Manager Version 2.0

How To Connect To Bloomerg.Com With A Network Card From A Powerline To A Powerpoint Terminal On A Microsoft Powerbook (Powerline) On A Blackberry Or Ipnet (Powerbook) On An Ipnet Box On

Cascade Collaboration Solutions 5 Aug 2014

SyncThru TM Web Admin Service Administrator Manual

Remote Desktop Gateway. Accessing a Campus Managed Device (Windows Only) from home.

Corporate VPN Using Mikrotik Cloud Feature. By SOUMIL GUPTA BHAYA Mikortik Certified Trainer

Copyright 2012 Trend Micro Incorporated. All rights reserved.

EXPLORER. TFT Filter CONFIGURATION

Create a VPN on your ipad, iphone or ipod Touch and SonicWALL NSA UTM firewall - Part 1: SonicWALL NSA Appliance

BS1000 command and backlog protocol

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Load Balance Router R258V


Basic ViPNet VPN Deployment Schemes. Supplement to ViPNet Documentation

Secure remote access to your applications and data. Secure Application Access

Linksys E2500 Wireless-N Router Configuration Guide

Virtual Data Centre. User Guide

Follow these steps to prepare the module and evaluation board for testing.

Avalanche Remote Control User Guide. Version 4.1.3

Remote Application Server Version 14. Last updated:

Overview of WebMux Load Balancer and Live Communications Server 2005

Chapter 12 Supporting Network Address Translation (NAT)

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Sharp Remote Device Manager (SRDM) Server Software Setup Guide

F-Secure Messaging Security Gateway. Deployment Guide

Vantage Report. User s Guide. Version /2006 Edition 1

Remote Application Server Version 14. Last updated:

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

Live Guide System Architecture and Security TECHNICAL ARTICLE

Lutron Home Control Remote Access FAQ

JUNOS PULSE APPCONNECT

Hills Professional Series NVRs and Cameras

Configuring SSL VPN on the Cisco ISA500 Security Appliance

Table of Contents. 1 Overview 1-1 Introduction 1-1 Product Design 1-1 Appearance 1-2

BlackBerry Enterprise Service 10. Version: Installation Guide

MOBILIZING ORACLE APPLICATIONS ERP. An Approach for Building Scalable Mobility Solutions. A RapidValue Solutions Whitepaper

GRAVITYZONE UNIFIED SECURITY MANAGEMENT

Middleware- Driven Mobile Applications

Transcription:

COMMUNICATION PLATFORM FOR THE INTERNET OF THINGS

NEXT INTERNET GROWTH PHASE DURING 2008, THE NUMBER OF THINGS CONNECTED TO THE INTERNET EXCEEDED THE NUMBER OF PEOPLE ON EARTH SOURCE: CISCO IBSG, JIM CICCONI, ATT&T, STEVE LEIBSON, COMPUTER HISTORY MUSEUM, CNN, UNIVERSITY OF MICHIGAN, FRAUNHOFER NABTO PRIMARY MARKET

INTERNET OF THINGS (IOT) IOT = All internet devices other than PC s, smart phones and tablets such as Alarm-systems, Energy Management, Medical, Industrial Controls, HVAC systems, IP-surveillance, Remote Management and Maintenance Market size and potential: Cisco: 50 billion IOT devices in 2020 IDC: 15 billions devices will be connected to the internet in 2015 Forrester: In 2020 IOT will be 30 times larger than the normal Internet

WHAT & WHO Vision To be the preferred communication platform for the Internet of things. Product: A standardized device communication platform Value-proposition: Seamless Remote Access Increase end-user value of your product by offering simple remote access Bridges the gap between current web technology and embedded systems Simple Platform Provides optimization for embedded design to lower software and hardware cost Maximum Security Simple and Secure local and remote access using the highest security protocols Customers: OEMs and System Integrators

VALUE PROPOSITION Customer Challenges Limited Remote Access Tedious firewall configuration, Static IP addresses, DHCP setup, port forwarding, Dynamic DNS are some of the methods that can supply this, but to the average user this is very cumbersome. Higher Cost Embedded systems like Linux, Windows (CE) and proprietary OS offers IP-stacks and webservers etc. These systems also requires large and high cost CPUs, lots of memory and storage resulting in higher cost and complexity compared to other types of embedded designs. Security Concerns Web technology was not designed with security in mind. Normal HTTP offers no encryption and the default authentication scheme (basic-authentication) is even non-encrypted. Limited Platform Support Today, the user-client environment is very heterogeneous with: iphones, ipods, Android phones, tablets, laptops and other smart phones running on Windows, Macs and Linux are just some examples of clients that users normally expect to be supported with a web browser access or APP support. Non-scaling cloud platform In cloud competing platforms, the user-interface computing and database layer resides centrally on a cloud platform resulting in higher cost hosting services. s Solution Seamless Remote Access offers a simple browser interface using Peer-To-Peer direct communication similar to Skype. The browser interface provides a seamless way to locate, control and manage devices by simply typing a unique identification of the device into the browser: nabto://serial.model.net On local-networks, also offers easy discovery and autonomous access without being connected to the internet or cloud. Lowest cost and simple is a web technology framework designed for resource constrained devices. can be executed in very small environments creating a more simplified design, smaller footprint which results in a much lower cost solution. Higher Security offers remote access encryption and authentication using SSL, X509 and PKI security protocols. Multi-Platform support offers multiplatform client support for Apple, Windows, Linux and Android platforms. Both generic and specific interfaces can be specified and can easily be deployed along the way according to user demand. Higher scaling cloud platform offers a cloud + P2P platform allowing higher scalability than any known cloud services. With, the user interface and device logic is a shared computation that takes place between the cloud service which initially mediates the direct peer-to-peer connection between the device and client. After the mediation, the client and device logic shares a direct connection known as peerto-peer (P2P). offers both hosting services and direct ownership.

CUSTOMERS

SO WHAT IS IT? Basically is : A cloud system + extra Why extra? Autonomous operation Privacy protection Peer2Peer direct connection, similar to Skype

WHY WEB TECHNOLOGY FOR DEVICE MANAGEMENT? Huge user base +99% knows how to use a browser Huge developer base Web communication framework is well known Huge infrastructure Install base is +99%

PRODUCT It s a software communication platform PC/Smartphone Internet aware device Browser Protocol Plugin Device Interface Product logic http:// Central Services/ Basestation 3 parts in system: - Browser Plugin (Free, downloadable or on CD) - Basestation (hosted service, pure software delivery or hardware appliance, up to 100k devices) - device interface (pure software delivery offering consumer and industrial grade)

BUSINESS MODEL Device manufactures license the platform PC/Smartphone Internet aware device Browser Protocol Free Plugin Interface $ Product logic Base $ station 3 parts in system: - Browser Plugin (Free, downloadable or on CD) - Basestation (hosted service, pure software delivery or hardware appliance, up to 100k devices) - device interface (pure software delivery offering consumer and industrial grade)

THE NABTO TECHNOLOGY SIMPLE, CONNECT AND SECURE

EMBEDDED DESIGN CHALLENGES Webservers are big and clumsy: TCP/IP stack File system Threads/scheduling GIF/JPEG/Templates -> Large firmware High Network capacity High complexity -> errors -> updates -> high price Web technology was designed for supercomputers at CERN Not embedded devices.!!!

DEVICE SIDE NEEDS Complex = Costly development Big platform = Costly production Integrated GUI = Costly maintenance CGI-script TCP/IP Stack External Flash What you have WEB-server Kernel ARM Atom ColdFire Static content Filesystem External RAM Simple = Efficient development Small platform = Inexpensive production Decoupled GUI = Easy maintenance What you want Data API UDP stack System On Chip Complex and expensive Simple and inexpensive

NABTO BASIC CLOUD SETUP Cloud service Device Web Interface logic HTTP connection Data connection Browser PC Data API UDP stack System On Chip Device

NABTO AUTONOMOUS SETUP Cloud service Basestation Discovery services Data connection Browser Plugin P2P connection Data API PC UDP stack System On Chip Device

1. IMPLEMENT 4 FUNCTIONS Device platform Platform Interface Device Software ReadUDP() WriteUDP() Tick() WebServer() UDP/IP stack Just implement 4 functions -Two just have to be tied to the UDP/IP stack -One just have to be called every second -The last is the data API (explained later)

2. IMPLEMENT HTML-DD Browser Client Protocol Plugin Compact simple protocol Internet aware device Data API Embedded Logic HTML Device Driver HTML-Device driver encapsulates GUI and defines specific data transport interface of the device

HTML DEVICE DRIVER Just a simple.zip file Static content = jpg, png, css, javascript, etc. HTML templates Mapping : Request URL -> Binary format Mapping : Response -> template parameters

MICRO WEB SERVER EXAMPLE Web server running on 8 bit Atmel AVR CPU with 2 kb of RAM, 32 kb flash

EXAMPLE : GETTEMPERATURE <query name="gettemperature" id="0x0a"> <request> <parameter name="sensorid" type="uint16"/> <parameter name="filter" type="uint8" default="0"/> </request> <response> <layout template="housetemperature.tpt"/> <parameter name="temperature" type= uint16"/> </response> </query> (Temperature is coded as real temperature * 256)

LIGHT WEIGHT VERSION User input - via a nice menu nabto://05924.homeautomation.com/gettemperature?sensor=3 Internet aware device Browser Protocol Plugin Data API C call Embedded Logic WebServe( 0x0a, &Buf[1], 3 ) Request buffer: 0x0a 0x00 0x03 0x00 Buf[0] : GetTemperature request identifier Buf[0,1] : Sensor identification Buf[3] : Filter identification (see former slide for XML definition)

LIGHT WEIGHT VERSION The temperature is: 22,5 User GUI Internet aware device Browser Protocol Plugin Data API Embedded Logic HTML rendering Via housetemperature.tpt WebServe() function returns response buffer Response buffer: 0x16 0x80 Content of housetemperature.tpt: <html><body> <h1>the temperature is: ${temperature}</h1> </body></html>

ALL PUT TOGETHER Cloud service Web Interface Base station DNS address of the device points to cloudservices 5834.homeautomation.net Browser http:// nabto:// Data API Embedded Logic PC Internet aware device

ALL PUT TOGETHER 1 Plugin detection is performed 2 The plugin is installed 3 HTML DD is downloaded Cloud service Base station Connect Mediation Browser PC Protocol Plugin P2P nabto:// Data API Embedded Logic Internet aware device

STUN (RFC 5389, 3489) UDP socket IPS1,PortS1 NAT STUN UDP socket IP1,Port1 UDP socket IP-FW,Port-FW Same for IPS1 and IPS2? UDP socket IPS2,PortS2 Bind a local UDP socket, and examine its public internet IP and Port

UDP HOLEPUNCHING Client NAT NAT Device MYADDRESS: UDP socket IP-FW1,Port-FW1 Base station MYADDRESS: UDP socket IP-FW2,Port-FW2 Transmit this information via the basestation to/from both peers

NO INTERNET NO PROBLEM PC 1. Broadcast : are you on LAN? device Browser Protocol Plugin 2. I m here : IP address Data Interface Embedded Logic 3. nabto:// connection NB: LAN can be just a net-cable from Laptop to device

LOCALIZATION SAME FIRMWARE PC Internet aware device Browser Protocol Plugin DataAPI Embedded Logic nabto:// Base station English HTML-DD Spanish HTML-DD French HTML-DD German HTML-DD

OEM S IN SAME FIRMWARE PC Internet aware device Browser Protocol Plugin Data API Embedded Logic nabto:// Base station Company HTML-DD OEM1 HTML-DD OEM2 HTML-DD OEM3 HTML-DD

SIMPLE LOGGING, SMS AND EMAIL PC Internet aware device Browser Protocol Plugin DataAPI Embedded Logic Base station Log SMS Email SMTP gateway Log server SMS Gateway

CLIENT API PC / Smartphone Programatic ClientAPI Remote Procedure Calls Or JSON requests Customer Client Software TCP Port IP interface Protocol Adapter Virtual Network card Protocol Adapter On demand TCP-Portforwarding On demand VPN-forwarding Browser APP Protocol plugin On demand HTTP-proxyforwarding On demand Low-footprint HTTP

NABTO CLIENTAPI - PROGRAM CONNECTION Cloud service Basestation Discovery services Data connection Program PC Client API P2P connection Data API UDP stack System On Chip Device

JSON EXAMPLE PSEUDO CODE nabtostartup() h = nabtoopensession(email, password) JSON1 = nabtofetchurl(h, url) parseandhandlejson(json1) JSON2 = nabtofetchurl(h, url) parseandhandlejson(json2) JSON3 = nabtofetchurl(h, url) parseandhandlejson(json3) nabtoclosesession(h) nabtoshutdown()

NON-PSEUDO nabto_status_t status; nabto_handle_t session; status = nabtostartup("."); if (status!= NABTO_OK) {... /* do error handling */ } status = nabtoopensession(&session, email, password); char* resultbuffer; size_t resultlen; char* mimetypebuffer; status = nabtofetchurl(session, url, &resultbuffer, &resultlen, &mimetypebuffer); if (strcmp(mimetypebuffer, "text/html") == 0) { printbufferasstring(resultbuffer, resultlen); } else { // do other stuff } nabtofree(resultbuffer); nabtofree(mimetypebuffer); status = nabtoclosesession(session);

CLIENT API ACCESS TO THE RAW DATAAPI Client Software Client API (C/C++/C#) DataAPI Embedded Logic

MEMORY FOOTPRINT - EXAMPLES - Microdevice requirements Memory Flash (KB) (Bytes) u WEB - LAN only (**) 8 512 Remote capability +14 +215 Encryption +10 +1024 Device VPN RM RM TCP Relay fallback * * Streaming (WEB only) 20 +2048 Tunnelling * * RM = Roadmap * = Depends on the TCP/IP stack ** = Is required The requirements are estimations based upon measurements on a PIC18 Microchip compiler and IP-stack

COMPARISON Examples: Key Features Autonomous LAN operation (Works even if WAN-line is offline) Cloud competitor Axeda, ILS, IO Bridge Net device based Lantronix, Moxa, Digi, Wiznet PC program / APP YES NO Depends DEPENDS Minimal device architecture YES YES NO DEPENDS Privacy protection YES NO YES YES Central management of user interface YES YES NO NO Minimal latency YES NO Depends YES Standardized Device Communication YES NO NO NO Platform VPN feature YES Possible NO NO Built-in scalability YES Possible NO NO Built-in device management features YES NO NO NO Minimal firewall knowledge required of YES YES NO NO end user Minimal IP knowledge required by end YES YES NO NO user RTOS support YES Possible Possible Possible X509 authentication YES Possible Possible NO Built-in notification service (SMS and YES NO NO NO Email) Built-in remote firmware update YES NO NO NO

REAL LIFE EXAMPLE: DANFOSS Freescale MCF52255 64kb RAM 512kb flash

IT S THAT EASY NOW YOU GOT A simple webserver interface on your device PC, Tablet, Smart Phones and Handhelds Easy local and remote connectivity to your device Just type the device ID in the browser Multi-language and multi-interface GUI Optional central services Remote update Storage and logging abillity

www.nabto.com