Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading…
Transcript

Clayster

Clayster licenses technology that makes it easier for developers to create applications for the next generation of Internet: The Internet of Things, Semantic Web and Web 3.0.

Device Control

Caching

  • Rejecting control actions
  • Restricting nodes
  • Restricting parameters

Devices maintain provisioning caches to avoid spaming provisioning server.

The server can clear client caches when updates to rules occur.

Services

Device Readout

  • Service tokens
  • User access to service
  • Rejecting readouts
  • Restricting nodes
  • Restricting fields

Friendships

User privileges

  • Accepting friendships
  • Rejecting friendships
  • Unfriending existing friends
  • Recommending friendships
  • User privileges in service
  • Downloading of all privileges

Readout accepted

<iq type='result'

from='device@clayster.com'

to='master@clayster.com/amr'

id='15'>

<accepted xmlns='urn:xmpp:sn' seqnr='4'/>

</iq>

Readout allowed

<iq type='result'

from='provisioning@clayster.com'

to='device@clayster.com/device'

id='16'>

<canReadResponse

xmlns='urn:xmpp:sn:provisioning'

jid='master@clayster.com' momentary='true'

result='true'/>

</iq>

Readout allowed?

<iq type='get'

from='device@clayster.com/device'

to='provisioning@clayster.com'

id='16'>

<canRead xmlns='urn:xmpp:sn:provisioning'

jid='master@clayster.com'

serviceToken='service0001 servicio0001'

userToken='user0001'

momentary='true'/>

</iq>

Readout Request

Multiple tokens

<iq type='get'

from='master@clayster.com/amr'

to='device@clayster.com'

id='15'>

<req xmlns='urn:xmpp:sn' momentary='true'

serviceToken='service0001 servicio0001'

userToken='user0001' seqnr='4'/>

</iq>

Types of tokens supported:

  • Device Tokens
  • Service Tokens
  • User Tokens

Different tokens from different provisioning servers supported.

XEP-0324

Device Token response

Delegating trust

<iq type='result'

from='provisioning@clayster.com'

to='device@clayster.com/device'

id='13'>

<getTokenResponse

xmlns='urn:xmpp:sn:provisioning'

token='device0001'/>

</iq>

Requesting

device token

<iq type='get'

from='device@clayster.com/device'

to='provisioning@clayster.com'

id='13'>

<getToken xmlns='urn:xmpp:sn:provisioning'

deviceId='WatchamacallitDevice1'/>

</iq>

  • Original trust
  • Secondary trust
  • Multiple tokens

XEP-0325

Acceptance

Request

Cancellation

Cancelled

<iq type='get'

from='master@clayster.com/amr'

to='device@clayster.com'

id='8'>

<req xmlns='urn:xmpp:sn' seqnr='8'

all='true' when='2013-03-09T23:30:00'/>

</iq>

<iq type='result'

from='device@clayster.com'

to='master@clayster.com/amr'

id='8'>

<cancelled xmlns='urn:xmpp:sn' seqnr='8'/>

</iq>

<iq type='get'

from='master@clayster.com/amr'

to='device@clayster.com'

id='8'>

<cancel xmlns='urn:xmpp:sn' seqnr='8'/>

</iq>

<iq type='result'

from='device@clayster.com'

to='master@clayster.com/amr'

id='8'>

<accepted xmlns='urn:xmpp:sn' seqnr='8'

queued='true'/>

</iq>

Provisioning of access rights, content and services in IoT.

http://xmpp.org/extensions/xep-0324.html

Rejected

<iq type='error'

from='device@clayster.com'

to='master@clayster.com/amr'

id='3'>

<rejected xmlns='urn:xmpp:sn' seqnr='3'>

<error>Access denied.</error>

</rejected>

</iq>

Request

<iq type='get'

from='master@clayster.com/amr'

to='device@clayster.com'

id='3'>

<req xmlns='urn:xmpp:sn' seqnr='3' momentary='true'/>

</iq>

Control of actuators in IoT.

http://xmpp.org/extensions/xep-0325.html

  • Control Commands
  • Control Parameters
  • Control Forms

Result

<message from='device@clayster.com'

to='master@clayster.com/amr'>

<failure xmlns='urn:xmpp:sn' seqnr='2' done='true'>

<error nodeId='Device01'

timestamp='2013-03-07T17:13:30'

>Timeout.</error>

</failure>

</message>

Acceptance

<iq type='result'

from='device@clayster.com'

to='master@clayster.com/amr'

id='2'>

<accepted xmlns='urn:xmpp:sn' seqnr='2'/>

</iq>

Request

<iq type='get'

from='master@clayster.com/amr'

to='device@clayster.com'

id='2'>

<req xmlns='urn:xmpp:sn' seqnr='2' momentary='true'/>

</iq>

Result

<message from='device@clayster.com'

to='master@clayster.com/amr'>

<fields xmlns='urn:xmpp:sn' seqnr='1' done='true'>

<node nodeId='Device01'>

<timestamp value='2013-03-07T16:24:30'>

<numeric name='Temperature' momentary='true'

automaticReadout='true' value='23.4'

unit='°C'/>

...

</timestamp>

</node>

</fields>

</message>

Acceptance

<iq type='result'

from='device@clayster.com'

to='master@clayster.com/amr'

id='1'>

<accepted xmlns='urn:xmpp:sn' seqnr='1'/>

</iq>

XEP-0323

Request

<iq type='get'

from='master@clayster.com/amr'

to='device@clayster.com'

id='1'>

<req xmlns='urn:xmpp:sn' seqnr='1' momentary='true'/>

</iq>

XEP-0326

Reading sensors and interchange of sensor data.

http://xmpp.org/extensions/xep-0323.html

  • Request/Response
  • Asynchronous
  • Loose coupeling
  • Extensible

Using concentrators in IoT, to interface legacy protocols, subsystems, etc.

http://xmpp.org/extensions/xep-0326.html

  • Capabilities
  • Data Sources
  • Nodes
  • Node Parameters
  • Node Commands
  • Data Source Events
  • Field Databases

XEP 0322

Compression of XMPP using Efficient XML Interchange (EXI) format.

http://xmpp.org/extensions/xep-0322.html

Permits the use of XMPP in networks where package size is of importance.

XEPs

EXI @ W3C

Based on W3C recommendations for XML compression.

http://www.w3.org/XML/EXI/

XMPP Standards Foundation

XEP-0331

Adding color field types to data forms.

http://xmpp.org/extensions/xep-0331.html

XEP-0332

XEP-????

XMPP Extensions for use in IoT:

  • 0322: EXI
  • 0323: Sensor Data
  • 0324: Provisioning
  • 0325: Control
  • 0326: Concentrators
  • 0331: Color fields
  • 0332: HTTP over XMPP
  • 0336: Dynamic Forms
  • 0347: Discovery
  • ?: Interoperability
  • ?: Events
  • ?: Pubsub
  • ?: Multicast
  • ?: Chat
  • ?: Battery powered devices

Battery Powered Devices.

Extending the Semantic Web to Peer-to-peer like XMPP networks.

http://xmpp.org/extensions/xep-0332.html

“The XMPP Standards Foundation (formerly the Jabber Software Foundation) is an independent, nonprofit standards development organization whose primary mission is to define open protocols for presence, instant messaging, and real-time communication and collaboration on top of the IETF’s Extensible Messaging and Presence Protocol (XMPP). The XSF also provides information and infrastructure to the worldwide community of Jabber/XMPP developers, service providers, and end users.”

XMPP.IoT.Meter

XMPP.IoT.Actuator

Root namespace for meter interfaces.

Root namespace for actuator interfaces.

XMPP.IoT.Meter.Cooling

XMPP.IoT.Meter.Electricity

XMPP.IoT.Meter.Gas

XMPP.IoT.Meter.Heat

XMPP.IoT.Meter.HeatingCooling

XMPP.IoT.Meter.PulseCounter

XMPP.IoT.Meter.PulseCounters

XMPP.IoT.Meter.Water

XMPP.IoT.Actuator.AnalogOutput

XMPP.IoT.Actuator.AnalogOutputs

XMPP.IoT.Actuator.Blinds

XMPP.IoT.Actuator.DigitalOutput

XMPP.IoT.Actuator.DigitalOutputs

XMPP.IoT.Actuator.Dimmer

XMPP.IoT.Actuator.DoorBell

XMPP.IoT.Actuator.Fan

XMPP.IoT.Actuator.Lamp

XMPP.IoT.Identity

Root namespace for identity interfaces.

XMPP.IoT.Sensor

Root namespace for sensor interfaces.

XMPP.IoT.Identity

XMPP.IoT.Identity.Address

XMPP.IoT.Identity.Application

XMPP.IoT.Identity.Battery

XMPP.IoT.Identity.Clock

XMPP.IoT.Identity.DeviceID

XMPP.IoT.Identity.Ethernet

XMPP.IoT.Identity.GSM

XMPP.IoT.Identity.Language

XMPP.IoT.Identity.IP

XMPP.IoT.Identity.IPv6

XMPP.IoT.Identity.Location

XMPP.IoT.Identity.Manufacturer

XMPP.IoT.Identity.Name

XMPP.IoT.Identity.NodeID

XMPP.IoT.Identity.RFID

XMPP.IoT.Identity.UserID

XMPP.IoT.Identity.Version

XMPP.IoT.Identity.Wink

XMPP.IoT.Identity.ZWave

XMPP.IoT.Sensor.Pressure

XMPP.IoT.Sensor.Rain

XMPP.IoT.Sensor.Resistence

XMPP.IoT.Sensor.SolarRadiation

XMPP.IoT.Sensor.Speed

XMPP.IoT.Sensor.Temperature

XMPP.IoT.Sensor.TideLevel

XMPP.IoT.Sensor.Velocity

XMPP.IoT.Sensor.Voltage

XMPP.IoT.Sensor.Volume

XMPP.IoT.Sensor.Weight

XMPP.IoT.Sensor.WindDirection

XMPP.IoT.Sensor.WindSpeed

XMPP.IoT.Sensor.AnalogInput

XMPP.IoT.Sensor.AnalogInputs

XMPP.IoT.Sensor.Current

XMPP.IoT.Sensor.DewPoint

XMPP.IoT.Sensor.DigitalInput

XMPP.IoT.Sensor.DigitalInputs

XMPP.IoT.Sensor.Direction

XMPP.IoT.Sensor.Distance

XMPP.IoT.Sensor.Force

XMPP.IoT.Sensor.Frequency

XMPP.IoT.Sensor.Humidity

XMPP.IoT.Sensor.Illuminance

XMPP.IoT.Sensor.Mass

XMPP.IoT.Sensor.MassFlow

XMPP.IoT

XMPP.IoT.Logistics

Root namespace for logistics interfaces.

XMPP.IoT.Logistics.Contents

XMPP.IoT.Logistics.Route

Root namespace of interfaces managed by the Interoperability IoT XEP.

XMPP.IoT.Security

Root namespace for security interfaces.

XMPP.IoT.Security.Alarm

XMPP.IoT.Security.Burglar

XMPP.IoT.Security.Clock

XMPP.IoT.Security.CO

XMPP.IoT.Security.CO2

XMPP.IoT.Security.Door

XMPP.IoT.Security.Emergency

XMPP.IoT.Security.Gas

XMPP.IoT.Security.Heat

XMPP.IoT.Security.Lock

XMPP.IoT.Security.Movement

XMPP.IoT.Security.Smoke

XMPP.IoT.Security.Water

XMPP.IoT.Security.Window

XMPP.IoT.Controller

Interfaces

Root namespace for controller interfaces.

XMPP.IoT.Controller.AccessControl

XMPP.IoT.Controller.Thermostat

XMPP.IoT.Controller.Ventilation

XMPP.IoT.Media

XMPP.IoT.Network

Root namespace for media interfaces.

Root namespace for network interfaces.

XMPP.IoT.Network.Ethernet

XMPP.IoT.Network.IP

XMPP.IoT.Network.IPv6

XMPP.IoT.Network.Radio

XMPP.IoT.Media.Camera

XMPP.IoT.Media.Directory

XMPP.IoT.Media.Directory.AudioItem

XMPP.IoT.Media.Directory.DirectoryItem

XMPP.IoT.Media.Directory.DublinCore

XMPP.IoT.Media.Directory.ImageItem

XMPP.IoT.Media.Directory.VideoItem

XMPP.IoT.Media.Display

XMPP.IoT.Media.LoudSpeakers

XMPP.IoT.Media.Microphone

XMPP.IoT.Media.Recorder

XMPP.IoT.Media.TextDisplay

Interfaces acts as contracts and determine required and optional content, expected format, control commands, etc.

Interfaces are ordered in a tree structure.

Control Programming aggregates

Adds control functions to controllers

XEP-????

*.TimeChannels

Event aggregates

Adds eventing features to existing interfaces. (See Events XEP.)

Interface aggregates

*.BinaryEvent

*.HysteresisEvent

*.TimedEvent

XEP-????

Interaction with devices in IoT using chat messages.

Are added to existing interfaces to create additional generic features in a canonical way.

Simplifies interface definitions, making them more efficient and atomic.

Readout aggregates

Adds fields to existing interfaces.

*.Average

*.Consumption

*.History

*.Mean

*.Min

*.Max

*.StdDev

*.Sum

Units

Defines recommended units for different categories of values.

Interoperability between devices and services in IoT.

http://bit.ly/1gG9dIB

  • Interfaces
  • Interface aggregates
  • Units
  • Privilege IDs
  • Data Sources
  • Identification schemes
  • Media types

Angle

Area

Distance

Energy

Flow

Mass

Power

Pressure

Speed

Temperature

Time

Volume

Privilege IDs

Defines standard Privilege IDs for use with provisioning in IoT networks.

XEP-????

Identification schemes

Multicast messages in IoT.

Defines identification schemes.

TBD

Media Types

Data Sources

Defines IDs for standards data sources. For use with Concentrators XEP-0326.

Defines meta information for multimedia content.

  • Transport protocols
  • Video container formats
  • Audio container formats
  • Video stream formats
  • Audio stream formats
  • Image formats

XEP-0336

IoT & XMPP

XEP-????

Dynamic Forms

  • Server post-back
  • Read-only fields
  • Undefined values in fields
  • Asynchronous updates of form
  • Field errors

http://xmpp.org/extensions/xep-0336.html

Events between devices in IoT.

XEP-0347

XEP-????

IoT & XMPP

PubSub pattern in IoT.

  • Installation of devices
  • Discovery of servers
  • Registering devices
  • Thing Registries (bulletin boards)
  • Claiming ownership of devices
  • Discovery of public devices

Rejection

<iq type='error'

from='device@clayster.com'

to='master@clayster.com/amr'

id='3'>

<rejected xmlns='urn:xmpp:sn' seqnr='3'>

<error>Access denied.</error>

</rejected>

</iq>

XMPP Extensions for safe and interoperable communications for the Internet of Things.

Clayster Laboratorios Chile S.A.

Member XMPP Standards Foundation

peter.waher@clayster.com

Contact information

Peter Waher

Clayster Laboratorios Chile S.A.

Calle Blanco 1623, of 1402.

Valparaíso, Chile

peter.waher@clayster.com

Tel: +56 (32) 212 25 33

JID: peter.waher@jabber.org

Skype: peterwaher

Twitter: PeterWaher

Twitter: ClaysterLabs

LinkedIn: http://linkd.in/11jEymK

Learn more about creating dynamic, engaging presentations with Prezi