hyperlinked entities: decentralised micro-services, paulo chainho, altice labs
TRANSCRIPT
1
TAD Summit
Hyperlinked Entities: Decentralized MicroservicesPaulo Chainho, November 15th 2016
TAD Summit
2
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 identityThe Identity is decoupled from the Service Provider
2
Hyperty Plane
User Plane
bla bla
bla bla
chat
chat
H1H1
Hyperty – User Association
Hyperty – User Association
Hyperty Communication
3
No need to standardise Service Network Protocols or Service APIs
{
"id": "HelloObject","type": "object","required": ["hello"],"additionalProperties": false,
"properties": {"scheme": {
"constant": "hello"},"hello": {
"type": "string"}
}}
Service Interoperability with agreements on the data formats, only.
Inherently Inter-operable
4
Hyperty Descriptor
Describes Hyperty Business Capabilities in terms of:- Supported Data Schemas- Supported (Hyperty)Resources
5
WriteO
JSON Data Object
Communication via Data Synchronisation Streams
Read Changes
Read Changes
Reporter
Observer
Observer
Observer
A
hello://example.com/201601290617
hyperty://example.com/sdfg-fdjhgj
B
C
D
hyperty://example.io/hfgdjhfg-jkhkjjdf
hyperty://foo.net/hfgdjhfg-jkhkjjdf
hyperty://example.org/hfgdjhfg-jkhkjjdf
6
Connector Hyperty
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/201601290617")
A
Connection
B
Connection
7
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").
8
DEMO
9
HOW?
10
Decentralized
A Decentralized Resource Oriented Messaging Framework is used for communication.
Publish/subscribe and request/response messaging patterns are supported.
10
router
router
HH
router
HH
router
router
router
HH
router
HH
router
router
HH
router
HH
router
router
HH
router
HH
11
Message Delivery Layers
11Hyperty Runtime Hyperty Runtime
Msg Node
Msg BUS
Sandbox
Msg BUS
MiniBUS
HH
Sandbox
MiniBUS
HH
Domain level Message Delivery
Runtime level Message Delivery
Sandbox level Message Delivery
Sandbox
MiniBUS
HH
Sandbox
MiniBUS
HH
Native StandardHyperty
JSON Messaging
Any Messaging Protocol (Protofly)
P2P
12
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
Hyperty Runtime Hyperty RuntimeSandbox
SandboxSandbox
Msg Node1
Msg BUS
Sandbox
Msg BUS
MiniBUS
HoH
MiniBUS
HoHo
MiniBUS
HHr
MiniBUS
HoH
Protostub Sandbox
P1
Msg Node2
Mini BUS
Protostub Sandbox
P2
Mini BUS
Protostub Sandbox
P1
Mini BUS
Protostub
Protostub
13
Data Synch Stream Routing Path
Hyperty Runtime Hyperty Runtime
SandboxSandbox
Sandbox
Msg Node
Msg BUS
Sandbox
Msg BUS
MiniBUS
HoH
MiniBUS
HoHo
MiniBUS
HHr
MiniBUS
HoH
Runtime Sync Manager
Runtime Sync Manager
Msg NodeSync Manager
Data SynchronisationRouting Path
Add Listeners to setup Data Sync Routing Path
Data Sync Routing Path Management between Msg Node
and Runtimes
14
Trust Model
Hyperty Runtime Hyperty Runtime
H HH H
Hyperty Messaging Framework
IDP Proxy Sandbox
IDP Proxy
IDP Proxy Sandbox
IDP Proxy
IDP
1-Intercept Outgoing Message
3-Msg with Assertion
2- Generate AssertionIdentity Module
Policy Engine
IdentityModule
Policy Engine
5- Validate Assertion
4-Intercept Incoming Message
6-Message with Assertion Validated
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.
15
H1
P1
Load Hyperty
H3
Register Hyperty Instance
H1
Service Provider
Message Node
Registry
Catalog
H1 P1
Edge Server Runtime
H2
Messaging Communication between Hyperties
P2P Communication between Hyperties
UserDevice Runtime
IDP Proxy
Identity Provider
Generate Assertions
ValidateAssertions
reTHINK Service Delivery FrameworkGlobal registry trusted circleDiscover
16
INTER-DOMAIN
rethink.tlabscloud.com
Msg Node
Catalog
H2
Hyperty Instances Registry
P1
Hyperty Sandbox
H2
Protostub Sandbox
P1
Msg bus
Hyperty Sandbox
H1
Protostub Sandbox
P1
Msg bus
hysmart.rethink.ptinovacao.pt
Msg Node
Catalog
H1
Hyperty Instances Registry
BA
Protostub Sandbox
P2
P2
Protostub Sandbox
P2
Media / data
Each side connected to own domain – using own Hyperty implementation
17
Thank You!https://github.com/reTHINK-project/startup
Paulo Chainho
This work has received funding from the European Union’s Horizon 2020 research and innovation program under grant agreement No 645342, project reTHINK.