decentralised comms meetup - the dawn

33
Decentralized Comms The Dawn – 2nd Nov 2016 [email protected]

Upload: paulo-chainho

Post on 23-Jan-2018

294 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Decentralised comms Meetup - The dawn

Decentralized Comms

The Dawn – 2nd Nov 2016

[email protected]

Page 2: Decentralised comms Meetup - The dawn

The Roots

Source: On Distributed Communications Networks, Paul Baran, 1962

Page 3: Decentralised comms Meetup - The dawn

Today: Telcos Federation

Users Data

Users Data

Users Data

Users Data

GWGWbroker

Page 4: Decentralised comms Meetup - The dawn

Standardisation "kills" innovation and time to

market

Standards have a High Cost

Page 5: Decentralised comms Meetup - The dawn

Users Data

Users Data

x

Web Communication Market is Dominated by a few very Big Players

Users and their data are locked in Web Players’

Walled Gardens

Today: Web Players

Page 6: Decentralised comms Meetup - The dawn

Users Data

Dominant Players are like Black Holes

Smaller players can’t survive to them

Page 7: Decentralised comms Meetup - The dawn

Internet of Things

The scale and complexity willdramatically increase

Page 8: Decentralised comms Meetup - The dawn

reTHINK

Its time to

..and decentralize communications

Page 9: Decentralised comms Meetup - The dawn

Inherently inter-operable Services

New Smaller players will immediately be connected to a Global DecentralisedNetwork

Page 10: Decentralised comms Meetup - The dawn

Users DataUsers Data

Users Data

Users’ data are decoupled from Services

Users are empowered to decide who manages their private data and Identity

Page 11: Decentralised comms Meetup - The dawn

reTHINK Approach

https://github.com/reTHINK-project

Page 12: Decentralised comms Meetup - The dawn

Service Interoperability with agreements on the data formats, only.

No need to standardise Service Network Protocols or Service APIs

{"$schema": "http://json-schema.org/draft-04/schema#","id": "HelloObject","type": "object","required": ["hello"],"additionalProperties": false,"properties": {

"scheme": {"constant": "hello"

},"hello": {

"type": "string"}

}}

Page 13: Decentralised comms Meetup - The dawn

WriteO

JSON Data Object

Communication via Data Synchronisation Streams

Read Changes

Read Changes

Reporter

Observer

Observer

Observer

Page 14: Decentralised comms Meetup - The dawn

Hyperty• Microservice (Independently deployable Business Capability) similar to

user agents or bots, perform tasks on user's behalf

• An instance is associated to a “User” through an identity

• The Identity is decoupled from the Service Provider

14

Hyperty – UserAssociation

Hyperty – UserAssociation

Page 15: Decentralised comms Meetup - The dawn

Hyperty Examples

• the Hyperty Connector that manage (WebRTC) connections (calls) between users;

• the Group Chat Hyperty;

• the myBracelet Hyperty, is a sensing Hyperty that collects and publishes data from a Bracelet

• the myContext Hyperty is a Data Processor Hyperty that uses data published by different sensing Hyperties (like the myBracelet Hyperty) to infer and calculate more meaningful Contextual data about the user.

Page 16: Decentralised comms Meetup - The dawn

16

Messaging Framework

• A Decentralised Resource Oriented Messaging Framework is used for communication.

• Publish/subscribe and request/response messaging patterns are supported.

Page 17: Decentralised comms Meetup - The dawn

Message Delivery Layers

17

Hyperty Runtime Hyperty Runtime

Msg Node

Msg BUS

Sandbox

Msg BUS

MiniBUS

HH

Sandbox

MiniBUS

HH

Domain levelMessage Delivery

Runtime levelMessage Delivery

Sandbox levelMessage Delivery

Sandbox

MiniBUS

HH

Sandbox

MiniBUS

HH

Native StandardHyperty

JSON Messaging

Any MessagingProtocol(Protofly)

P2P

Page 18: Decentralised comms Meetup - The dawn

Message Delivery

• The Message delivery is based on a simple message Router functionality.

• Routers deliver messages to all found listeners, which can be other Routers or end-points (Hyperties)

• Listeners are programmatically registered and unregistered by Routing Management functionalities

Page 19: Decentralised comms Meetup - The dawn

Protocol on-the-fly – Protofly• Protocol on-the-fly leverages the code on-demand support by Web runtimes (e.g.

Javascript)

• The most appropriate protocol stack is dynamically selected loaded and instantiate during run-time

Protostub

Protostub

Page 20: Decentralised comms Meetup - The dawn

Alice Device

WebRTC Engine

Basic Procedures

Msg BUS

Hyperty Sandbox

Protostub Sandbox

Alice Service Provider

Msg Node

Catalog

H1

Ru

nti

me

UA

H1

HypertyInstances Registry

RuntimeRegistry

P1

P1

Page 21: Decentralised comms Meetup - The dawn

Alice Device

WebRTC Engine

Basic Procedures

Msg BUS

Hyperty Sandbox

H1

Protostub Sandbox Protostub Sandbox

P1

Alice Service Provider

Msg Node

BobService Provider

Msg Node

Catalog

P2H2

Ru

nti

me

UA

P2

Page 22: Decentralised comms Meetup - The dawn

Alice Device

WebRTC Engine

BobDevice

WebRTC Engine

Basic Procedures

Msg BUS

Hyperty Sandbox

H1

Protostub Sandbox

P2

Protostub Sandbox

P1

Alice Service Provider

Msg Node

BobService Provider

Msg Node

Msg BUS

Hyperty Sandbox

H2

ProtostubSandbox

P2

Media Stream

Page 23: Decentralised comms Meetup - The dawn

Data Synch Stream Routing Path

Data SynchronisationRouting Path

Add Listeners to setupData Sync Routing Path

Data Sync RoutingPath Management

between Msg Nodeand Runtimes

Page 24: Decentralised comms Meetup - The dawn

Trust Model

1-Intercept Outgoing Message

3-Msg withAssertion

4-Intercept IncomingMessage

6-Message with AssertionValidated

5-Validate Assertion

2-GenerateAssertion

• Identity tokens are generated, inserted in intercepted Messages sent by Hyperties, and validated by recipient Hyperty Runtimes before delivered to the target Identity.

• Identity management procedures are performed according to applicable policies managed by the end-user.

Page 25: Decentralised comms Meetup - The dawn

Service Provider

Message Node

Catalog

H1

Registry

P1

Edge Server Runtime

H2

H1

P1

LoadHyperty

H3

Register Hyperty Instance

H1

Messaging Communicationbetween Hyperties

Identity Provider

UserDevice Runtime

IDP Proxy

GenerateAssertions

ValidateAssertions

reTHINK Service Delivery Framework

Page 26: Decentralised comms Meetup - The dawn

Hyperty Examples

Page 27: Decentralised comms Meetup - The dawn

• Hyperties supporting Connection schema are able to handle WebRTC Peer Connections independently of the signalling protocol used. The Connection schema is defined from the W3C WebRTC data model.

• The URL Scheme for Connection Data Objects is "connection" (example: "connection://example.com/alice/bob201601290617")

Connector Hyperty

A

Connection

B

Connection

Page 28: Decentralised comms Meetup - The dawn

Connection Data Model

Page 29: Decentralised comms Meetup - The dawn

A Context B

Context Hyperty

C

D

Hyperties supporting Context Data Schema are able to produce or consume Context Data, usually collected from sensors. Compliant with Jenning’s IETF Draft Sensor Markup Language (SenML). The URL Scheme for Context Data Objects is "context“. Example: context://example.com/room/temperature201601290617").

Page 30: Decentralised comms Meetup - The dawn

A

Communication

B

Communication Hyperty

C

Hyperties supporting Communication Data Schema are able to communicate in real-time by sharing different types of Hyperty Resources. The URL Scheme for Communication Data Objects is "comm“. Example: comm://example.com/work-team/20160622").

resources

Page 31: Decentralised comms Meetup - The dawn

Hyperty Descriptor

Describes Hyperty Business Capabilities in terms of:- Supported Data Schemas- Supported (Hyperty)Resources

Page 32: Decentralised comms Meetup - The dawn

Local Catalog

Hyperty Toolkit: development environment

back-end

Message Node

H1

Registry

P1

H1

P1

H3

UserDevice Runtime

Hyperty Toolkit

Dev-hyperty

Page 33: Decentralised comms Meetup - The dawn

Development Resources

• APIs to be used for Hyperty Development:– Syncher API

– Discovery API

– Identity Manager API

• Starting point:– https://github.com/reTHINK-project/startup

33