Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Internet Of Things: Vision, Prerequisites and OpenSpime

5,661 views

Published on

Vision of the internet of things' needs and prerequisites, and their impact on the OSI model. Overview of the OpenSpime protocol in this context.

Published in: Technology
  • Be the first to comment

Internet Of Things: Vision, Prerequisites and OpenSpime

  1. 1. vision for an IoT open protocol [ bicocca, 12th february 2009 ] roberto ostinelli roberto@widetag.com
  2. 2. <1> vision for a IoT protocol
  3. 3. Questions?
  4. 4. IoT protocol | vision [1/5] 1. independant from media access [...] images: WikiPedia
  5. 5. IoT protocol | vision [2/5] 2. support for self configuring & dynamic p2p network (eg. MANET - mesh networks) images: WikiPedia
  6. 6. IoT protocol | vision [3/5] 3. service discovery [what & how] sensor display light source [...] moveable parts microphone images: WikiPedia
  7. 7. IoT protocol | vision [4/5] 4. device discovery [where, relative positioning] device discovery ex: multi screen displays images: WikiPedia (left) and http://cunning.sharp.fm (right)
  8. 8. IoT protocol | vision [5/5] 5. communication [message, presence, commands, encryption, signature,...] ad hoc commands -----BEGIN RSA PRIVATE KEY----- MIIByQIBAAJhAKJ2lzDLZ8XlVambQfMXn3LRGKOD5o6lMIgulclWjZwP56LRqdg5 ZX15bhc/GsvW8xW/R5Sh1NnkJNyL/cqY1a+GzzL47t7EXzVc+nRLWT1kwTvFNGIo AUsFUq+J6+OprwIDAQABAmBOX0UaLdWWusYzNol++nNZ0RLAtr1/LKMX3tk1MkLH +Ug13EzB2RZjjDOWlUOY98yxW9/hX05Uc9V5MPo+q2Lzg8wBtyRLqlORd7pfxYCn Kapi2RPMcR1CxEJdXOkLCFECMQDTO0fzuShRvL8q0m5sitIHlLA/L+0+r9KaSRM/ 3WQrmUpV+fAC3C31XGjhHv2EuAkCMQDE5U2nP2ZWVlSbxOKBqX724amoL7rrkUew ti9TEjfaBndGKF2yYF7/+g53ZowRkfcCME/xOJr58VN17pejSl1T8Icj88wGNHCs FDWGAH4EKNwDSMnfLMG4WMBqd9rzYpkvGQIwLhAHDq2CX4hq2tZAt1zT2yYH7tTb weiHAQxeHe0RK+x/UuZ2pRhuoSv63mwbMLEZAjAP2vy6Yn+f9SKw2mKuj1zLjEhG 6ppw+nKD50ncnPoP322UMxVNG4Eah0GYJ4DLP0U= -----END RSA PRIVATE KEY----- just like instant messaging encryption & digital signature images: WikiPedia
  9. 9. Internet Protocol Suite | OSI [1/2] # layer purpose example software applications that implement a HTTP, SMTP, SNMP, FTP, 7 application communicating component Telnet, DNS, NNTP, XMPP,... establishes a context between Application XML, XDR, ASN.1, SMB, 6 presentation Layer entities AFP,... controls the dialogues/connections TLS, SSH, ISO 8327 / CCITT 5 session (sessions) between computers X.225, RPC, NetBIOS, ASP,... reliability (was the packet received?), 4 transport TCP, UDP, RTP, SCTP, ATP,... ordering (correct sequence of packets) getting packets across networks, from IP (IPv4, IPv6), ICMP, IGMP, 3 network source to destination (routing) CLNP, ARP, RARP,... data link how packets are transported over the ethernet, wireless, token ring, 2 [network interface] physical layer PPP, DSL, ISDN, drivers,... physical physical characteristics of communication 1 electricity, radio, laser,... [hardware] [signal strength,...] source: http://www.domainsarefree.com & WikiPedia
  10. 10. Internet Protocol Suite | OSI [1/2] # layer purpose example interacts with software applications that HTTP, SMTP, SNMP, FTP, 7 application implement a communicating component Telnet, DNS, NNTP, XMPP,... establishes a context between Application XML, XDR, ASN.1, SMB, 6 presentation Layer entities AFP,... controls the dialogues/connections TLS, SSH, ISO 8327 / CCITT 5 session (sessions) between computers X.225, RPC, NetBIOS, ASP,... reliability (was the packet received?), 4 transport TCP, UDP, RTP, SCTP, ATP,... ordering (correct sequence of packets) getting packets across networks, from IP (IPv4, IPv6), ICMP, IGMP, 3 network source to destination (routing) CLNP, ARP, RARP,... data link how packets are transported over the ethernet, wireless, token ring, 2 [network interface] physical layer PPP, DSL, ISDN, drivers,... physical physical characteristics of communication 1 electricity, radio, laser,... [hardware] [signal strength,...] source: http://www.domainsarefree.com & WikiPedia
  11. 11. Internet Protocol Suite [2/2] # layer purpose example interacts with software applications that HTTP, SMTP, SNMP, FTP, 4 application implement a communicating component Telnet, DNS, NNTP, XMPP, ... reliability (was the packet received?), 3 transport TCP, UDP, RTP, SCTP, ATP, ... ordering (correct sequence of packets) getting packets across networks, from IP (IPv4, IPv6), ICMP, IGMP, 2 internet source to destination (routing) IPsec, ... ARP, RARP, tunnels, media physical characteristics of communication 1 link access control (ethernet, [signal strength,...] DSL, ISDN,...), drivers, ... source: WikiPedia
  12. 12. IPS & IoT protocol IoT wish list # IPS layer 1. media access 4 application 2. p2p network 3 transport 3. service discovery 2 internet 4. device discovery 5. communication 1 link
  13. 13. IPS & IoT protocol IoT wish list # IPS layer 1. media access 4 application 2. p2p network 3 transport 3. service discovery 2 internet 4. device discovery 5. communication 1 link
  14. 14. Internet of Things
  15. 15. </1>
  16. 16. <2> OpenSpime
  17. 17. Intro | what is OpenSpime [1/3] addresses only IoT protocol wish list #5: communication [message, presence, commands, encryption, signature,...] this is just a beginning! the IoT has far more implications! The OpenSpime Protocol is a custom XMPP extension
  18. 18. Intro | XMPP Advantages [2/3] • fully distributed • unique identity handling • presence [online status] • synchronous [event-driven] / asynchronous communication [data-polling] • one-way [direct messaging] / two-way communications [request-response] • XMPP servers are well-known robust applications [open source] • message broadcasting [PubSub] • XMPP extensions [file transfer, remote ad-hoc commands, service discovery,…]
  19. 19. Intro | Architecture [3/3]
  20. 20. Protocol | Overview [1/9] an XMPP extension, which consists of: • the core protocol itself, which is an XML container • the core protocol extensions, i.e. a set of extensions which extend the core protocol, and are already available to be used for a series of functionalities.
  21. 21. Protocol | Overview [1/9] an XMPP extension, which consists of: • the core protocol itself, which is an XML container • the core protocol extensions, i.e. a set of extensions which extend the core protocol, and are already available to be used for a series of functionalities. XMPP Core Protocol Extensions [message, iq, presence] [openspime] [datareporting, spimeseek, ...]
  22. 22. Protocol | Core Protocol [2/9] it’s a container which allows to: • encrypt the content sent between two entities (end-to-end encryption) • digitally sign the content sent between two entities • claim the authority to perform operations in the name of another entity
  23. 23. Protocol | Core Protocol [3/9] Core Protocol: OpenSpime XML container <openspime xmlns='openspime:protocol:core' version='0.9'> <originator cert='{cert-servid}' osid='{originator-osid}'> <sign>...</sign> <claimkey cert='{cert-servid}' claims='{claimed-osid}'>...</claimkey> <...> </originator> <transport to='{recipient-osid}' content-type='{content-type}' transport-key='{transport-key}'> ... </transport> </openspime>
  24. 24. Protocol | Core Protocol Extensions [4/9] these allow: • Data Reporting from an entity to another entity • SpimeSeek, i.e. the process which allows to seek for entities' data across the network • Claiming, i.e. the mechanism which authorizes an entity of the OpenSpime network to perform trustful operations in the name of another entity which has allowed it
  25. 25. Protocol | Core Protocol Extensions [5/9] Core Protocol Extension: ex: data reporting XML <data xmlns='openspime:protocol:extension:data' version='0.9'> <entry> <date>...</date> <exposure>...</exposure> <lat>...</lat> <lon>...</lon> <ele unit='{unit-type}'>...</ele> <.../> </entry> </data>
  26. 26. Protocol | Example[6/9] ex: OpenSpime XML message for data reporting <openspime xmlns='openspime:protocol:core' version='0.9'> <originator cert='{cert-servid}' osid='{originator-osid}'> <sign>...</sign> <claimkey cert='{cert-servid}' claims='{claimed-osid}'>...</claimkey> <...> </originator> <transport to='{recipient-osid}' content-type='{content-type}' transport-key='{transport-key}'> <data xmlns='openspime:protocol:extension:data' version='0.9'> <entry> <date>...</date> <exposure>...</exposure> <lat>...</lat> <lon>...</lon> <ele unit='{unit-type}'>...</ele> <.../> </entry> </data> </transport> </openspime>
  27. 27. Protocol | Core Protocol Extensions [7/9] data reporting architecture
  28. 28. Protocol | Custom Protocol Extensions [8/9] the Core Protocol Extensions are just a start, and it is extremely easy to build other Custom OpenSpime protocol extensions which can be used for specific needs. these custom extension would then immediately benefit from all the encryption, digital signature and management rights handling that come with the OpenSpime core protocol, and the overall OpenSpime architecture based on XMPP.
  29. 29. Protocol | Advantages [9/9] • Open Source, Open Protocol [3rd party integration, network extensibility] • The Core Protocol takes care of encryption, digital signature and management rights handling • The Core Protocol Extensions allow already multiple functionalities: Data Reporting, SpimeSeek, and Claiming • The protocol can be easily extended with Custom Extensions
  30. 30. Protocol | Support OpenSpime developer community openspime.org pyOpenSpime library
  31. 31. </2>
  32. 32. roberto ostinelli roberto@widetag.com

×