IoT and WebSocket

APPS

Protocols

History and

Evolution

OSI APPLICATIONS

50

billions

devices

IPv6

HTTP/2

OSI

Payload

Formatter

Session

 HTTP2  DNS

 TEXT     BINARY

                TCP RTP TLS

<xs:element name="BinarySecurityToken"><xs:complexType><xs:simpleContent>
      <xs:extension base="xs:string">
           <xs:attribute name="Id" type="xs:ID" />
           <xs:attribute name="ValueType" type="xs:QName" />
           <xs:attribute name="EncodingType" type="xs:QName" />
           <xs:anyAttribute namespace="##other" processContents="strict" />
</xs:extension></xs:simpleContent></xs:complexType></xs:element>

CORBA BINARY 1991

SOAP XML 1998

> term_to_binary({broadcast,"Message"}).

<<131,104,2,100,0,9,98,114,111,97,100,99,97,115,116,107,0,7,77,101,115,115,97,103,101>>

ASN.1 1984

BT WIFI LDAP DNS SS7 GSM

 UMTS SMPP BGP AMQP

{
   "firstName": "Микола",
   "lastName": "Василів",
   "address": {
       "phone": "+380007880012",
       "city": "Київ",
       "postalCode": 21000
   },
}

Thrift Protobuf BERT 2015

JVM CLR

HTML5

$/user — ARPU

KB/users

Phone

Tablet

Server

Billions

Millions

BIN

JSON

XML

XMPP

MQTT

STOMP

SOAP

ZMQ

REST

AJAX

protobuf

G-RPC

D-Bus

COM/CORBA

Thrift

AMQP

JSON

> online_count().

237610

REAL-TIME

video audio streaming

WebSockets

RTP

Event Streaming

Mobile Apps

Bidirectional TCP

Headers Elimination

Games

IoT protocols

 WAMP 

N2O

Autobahn

XMPP

 

yes

yes

no

yes

yes

 

WAMP

 

yes

no

no

yes

no

 

CORBA

 

yes

yes

yes

yes

yes

 

PROTO

 

mq

roster

bpe

rpc

rest

N2O

 

yes

yes

yes

yes

yes

 

Testing

jmeter

ab    httperf     siege

tsung

?

$ tcpkali -T10s -r 10000 -c 50 --first-message "N2O," \
          -m PING --ws 54.171.70.13:8877/ws/static/app/open.htm
Destination: [54.171.70.13]:8877
Ramped up to 50 connections.
Total data sent:     20.4 MiB (21390904 bytes)
Total data received: 3.4 MiB (3602222 bytes)
Bandwidth per channel: 0.399 Mbps, 49.9 kBps
Aggregate bandwidth: 2.878↓, 17.093↑ Mbps
Test duration: 10.0116 s.
PROTOCOL v2.3

N2O

> boot 50ms

8MB Image

xen unikernel
windows linux mac
MessagePack

BERT

JSON

Custom

CR

#operation

#log

BPE

#process 

#sequenceFlow

#task

#history

#amend

#complete

#event

XA

#prepare

#commit

#rollback

 

KVS

#iterator

#container

#subscription

#user

#client

#config

 

 

N2O

#element

#action

#bin

#server

#client

#io

#ev

#cx

DB

#account

#customer

#program

#card

#transaction

#cashback

#currency

Protocol Multiplication

By Maxim Sokhatsky

Protocol Multiplication

This talk is about history of application level protocols.

  • 3,113