The Roots
Source: On Distributed Communications Networks, Paul Baran, 1962
Today: Telcos Federation
Users Data
Users Data
Users Data
Users Data
GWGWbroker
Standardisation "kills" innovation and time to
market
Standards have a High Cost
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
Users Data
Dominant Players are like Black Holes
Smaller players can’t survive to them
Internet of Things
The scale and complexity willdramatically increase
reTHINK
Its time to
..and decentralize communications
Inherently inter-operable Services
New Smaller players will immediately be connected to a Global DecentralisedNetwork
Users DataUsers Data
Users Data
Users’ data are decoupled from Services
Users are empowered to decide who manages their private data and Identity
reTHINK Approach
https://github.com/reTHINK-project
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"}
}}
WriteO
JSON Data Object
Communication via Data Synchronisation Streams
Read Changes
Read Changes
Reporter
Observer
Observer
Observer
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
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.
16
Messaging Framework
• A Decentralised Resource Oriented Messaging Framework is used for communication.
• Publish/subscribe and request/response messaging patterns are supported.
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
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
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
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
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
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
Data Synch Stream Routing Path
Data SynchronisationRouting Path
Add Listeners to setupData Sync Routing Path
Data Sync RoutingPath Management
between Msg Nodeand Runtimes
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.
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
Hyperty Examples
• 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
Connection Data Model
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").
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
Hyperty Descriptor
Describes Hyperty Business Capabilities in terms of:- Supported Data Schemas- Supported (Hyperty)Resources
Local Catalog
Hyperty Toolkit: development environment
back-end
Message Node
H1
Registry
P1
H1
P1
H3
UserDevice Runtime
Hyperty Toolkit
Dev-hyperty
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