SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
DDS vs. XMPP



   Angelo Corsaro              Gerardo Pardo-Castellote
  OMG DDS Co-Chair               OMG DDS Co-Chair
        PrismTech                         RTI
angelo.corsaro@prismtech.com         gerardo@rti.com




                                                          1
Agenda

- XMPP Intro
- Some XMPP Extension
- XMPP vs DDS
- Concluding Remarks




                  OMG DDS SIG
XMPP History

XMPP = eXtensible Messaging and Presence Protocol

- 1999: Jabber starts as an Open Source project
- 2001: Jabber Software Foundation (JSF) is established
- 2002: XMPP Working Group started at IETF
- 2004: XMPP RFCs (3920-3923)
- 2006: JSF becomes the XMPP Standards Foundation




                        OMG DDS SIG
Core XMPP Features

- XMPP started as a standard for messaging and
 presence. Today it is more than simply messaging
 and presence, providing:
     Channel encryption and authentication
     Presence and Contact Lists
     One-to-one and Multi-Party Messaing
     Alerts and Notifications (XMPP Pub/Sub extension)
     Peer-to-Peer Media Sessions (Jingle)
     Data Forms and Remote Command


                          OMG DDS SIG
XMPP Architecture
- Client/Server
- Network of Decentralized Servers
- (Authenticated) Long Lived Connection from Client to Servers

             Server                                    Server
          jabber.org                                  mac.com




 <message to=‘giorgia@jabber.org’>
   <body> Have you seen my new
          stratocaster?
   </body>
 </message>




         Carmen                                         Giorgia
    carmen@jabber.org                OMG DDS SIG   giorgia@mac.com
Addressing

- User are addressed by Jabber ID (JID)
     es. carmen@jabber.com


- Resource can be addressed via full JID
     es. carme@jabber.com/concerts




                          OMG DDS SIG
Communication Primitives

- XMPP defines three different communication
 primitives--called stanzas

- XMPP Stanzas are:
     <message/>
     <presence/>
     <iq/>




                      OMG DDS SIG
<message/>

- A <message/> stanza contains:
     From, To
     Type
     Subject + Body (Payload)


      <message from=‘carmen@jabber.com
                to=‘giorgia@jabber.org’>
        <subject>Got a new Strato!</subject>
        <body> Have you seen my new
               stratocaster?
        </body>
      </message>

                           OMG DDS SIG
<presence/>

- The <presence/> stanza is used to advertise
 presence and contains:
     Status
     Status Message


      <presence from=‘carmen@jabber.com>
        <show>xa</show>
        <status>C9sus</status>
      </presence>




                         OMG DDS SIG
<iq/>

- The <iq/> stanza is used to perform Request/
 Response interactions (similar to HTTP GET, POST,
 PUT)
   <iq type=”get”>
     <query xmlns=”jabber:iq:roster”/>
   </iq>

   <iq type=”result”>
     <query xmlns=”jabber:iq:roster”>
         <item jid=”carmen@jabber.org”/>
         <item jid=”mario@jabber.org”/>
         <item jid=”franco@jabber.org/>
     </query>
   </iq>
                         OMG DDS SIG
Agenda

- XMPP Intro
- Some XMPP Extension
- XMPP vs DDS
- Concluding Remarks




                  OMG DDS SIG
Pub/Sub Extension

- XMPP has been extended with basic Pub/Sub
 capabilities

- <iq/> stanzas are used to manage subscriptions,
 as well as to do pub/sub




                      OMG DDS SIG
Pub/Sub Extension - Subscription


 <iq from=”carmen@jabber.org”
     id=”cc7409”
     to=”notify.jabber.org”
     type=”set”>

   <pubsub xmlns=”http://jabber.org/protocol/pubsub”>
     <subscribe node=”musicisti-ct”
                jid=”carmen@jabber.org”/>
 </iq>




                       OMG DDS SIG
Pub/Sub in XMPP
musicisti-ct {
  carmen@jabber.org
                                             Mario
  giorgia@mac.com             Server
  mario@xmpp.org                        mario@xmpp.org
}                          xmpp.org


             Server                         Server
           jabber.org                      mac.com




           Carmen                            Giorgia
      carmen@jabber.org                 giorgia@mac.com
                          OMG DDS SIG
Pub/Sub in XMPP
musicisti-ct {
  carmen@jabber.org
                                                      Mario
  giorgia@mac.com                      Server
  mario@xmpp.org                                 mario@xmpp.org
}                                   xmpp.org


              Server                                 Server
            jabber.org                              mac.com


      <iq
      from=”carme@jabber.org”
          to=notify.jabber.org”>
      ...
      </iq>




           Carmen                                     Giorgia
      carmen@jabber.org                          giorgia@mac.com
                                   OMG DDS SIG
Pub/Sub in XMPP
musicisti-ct {
  carmen@jabber.org
                                                                          Mario
  giorgia@mac.com
                <iq                              Server
  mario@xmpp.orgfrom=”carme@jabber.org”                              mario@xmpp.org
                    to=notify.jabber.org”>    xmpp.org
}               ...
                  </iq>


               Server                                                    Server
             jabber.org                                                 mac.com
                                        <iq
                                        from=”carme@jabber.org”
                                            to=notify.jabber.org”>
                                        ...
                                        </iq>




            Carmen                                                        Giorgia
       carmen@jabber.org                                             giorgia@mac.com
                                             OMG DDS SIG
Pub/Sub in XMPP                           <iq
                                            from=”carme@jabber.org”
                                                to=notify.jabber.org”>
                                            ...
                                            </iq>
musicisti-ct {
  carmen@jabber.org
                                                               Mario
  giorgia@mac.com             Server
  mario@xmpp.org                                          mario@xmpp.org
}                          xmpp.org


             Server                                                  Server
           jabber.org                                           mac.com


                                        <iq
                                        from=”carme@jabber.org”
                                            to=notify.jabber.org”>
                                        ...
                                        </iq>



           Carmen                                               Giorgia
      carmen@jabber.org                                    giorgia@mac.com
                          OMG DDS SIG
Jingle Extension

- XMPP is not designed for distributing data with
 real-time constraints

- XMPP Jingle is used to set-up direct connections
 between points for streaming
     Voice
     Audio
     Video
     ...

- After negotiating a connection via XMPP,
 communication goes through other protocols, e.g.,
 RTP, etc.
                         OMG DDS SIG
Agenda

- XMPP Intro
- Some XMPP Extension
- XMPP vs DDS
- Concluding Remarks




                  OMG DDS SIG
What is Standardized?
- DDS                                                     - XMPP
     API Standard
     Wire Protocol Standard                                      Wire Protocol Standard

                 Application
                                                                            Application
                     Object/Relational Mapping

              Data Local Reconstruction Layer (DLRL)




                                                       DDS v1.2
                                         Content
Ownership           Durability
                                       Subscription

                Minimum Profile
                                                                                API (?)
      Data Centric Publish/Subscribe (DCPS)
                                                       DDSI v2.1




                                                                                                      RFC-3920/9
                                                                           eXtensible Messaging and
      Real-Time Publish/Subscribe Protocol                                     Presence Protocol

        DDS Interoperability Wire Protocol                                      Wire Protocol

                     UDP/IP                                                         TCP

                                                 OMG DDS SIG
Architecture
- DDS                                                         - XMPP
           Fully Distributed                                    Store and Forward
           Topic-Based Pub/Sub                                  Client/Server
           QoS Enabled                                          Pub/Sub as a protocol extension
           Data Centric (keys, queries, etc.)                   “Source Addressing”-based
                                                                  discovery
           Dynamic Discovery



                       DDS                                                     XMPP
                                         Subscriber
Publisher
                                                                   Server             Server
                   B

                       m
                                                                  jabber.org        mac.com
                   A           F

                                           Subscriber
Publisher          J
                           D       C


                   K
                           E




Publisher
                                                                   Client             Client
                                       Subscriber


                                                OMG DDS SIG
Type/Message Encoding

- DDS                              - XMPP
     Efficient binary encoding          XML encoding for both data
      for both data-payload               payload and protocol
      and protocol messages               messages
     Strongly Typed Topic               Just one message type, an
      Types                               XML message
     Polymorphic Type
     Type extensibility/                Type extensibility/evolvability
      evolvability supported by           by leveraging XML
      upcoming xTopics RFP

     Note: Multiple encoding
      supported via xTopics


                            OMG DDS SIG
Performance

- DDS                                    - XMPP
    Targeting high performance             Targeting interactive systems
     systems                                Discovery traffic often shown
    Very low latencies                      to introduce non-negligible
    Very high throughputs                   load
    Real-Time determinism




                           OMG DDS SIG
Agenda

- XMPP Intro
- Some XMPP Extension
- XMPP vs DDS
- Concluding Remarks




                  OMG DDS SIG
Concluding Remarks

- DDS and XMPP target different application domains
- DDS is able to address very sophisticated data
 distribution needs, where complex QoS need to be
 satisfied

- XMPP is targeting interactive web applications
- DDS provides complete transparency w.r.t changes
 in the infrastructure

- Due to its “source-addressing”-based discovery
 XMPP might propagate back to the application
 changes into the infrastructure

                         OMG DDS SIG

Más contenido relacionado

La actualidad más candente

Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsReal-Time Innovations (RTI)
 
Dhcp presentation 01
Dhcp presentation 01Dhcp presentation 01
Dhcp presentation 01maverick4489
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part IIAngelo Corsaro
 
Overview of Low Power Wide Area Networks
Overview of Low Power Wide Area NetworksOverview of Low Power Wide Area Networks
Overview of Low Power Wide Area NetworksMaarten Weyn
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaAngelo Corsaro
 
Domain name system
Domain name systemDomain name system
Domain name systemDiwaker Pant
 
OpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIOpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIAngelo Corsaro
 
Transport layer security
Transport layer securityTransport layer security
Transport layer securityDevAdnani
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeAngelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
Secure shell ppt
Secure shell pptSecure shell ppt
Secure shell pptsravya raju
 
RTI Data-Distribution Service (DDS) Master Class - 2010
RTI Data-Distribution Service (DDS) Master Class - 2010RTI Data-Distribution Service (DDS) Master Class - 2010
RTI Data-Distribution Service (DDS) Master Class - 2010Gerardo Pardo-Castellote
 

La actualidad más candente (20)

Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
 
Dhcp presentation 01
Dhcp presentation 01Dhcp presentation 01
Dhcp presentation 01
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part II
 
Overview of Low Power Wide Area Networks
Overview of Low Power Wide Area NetworksOverview of Low Power Wide Area Networks
Overview of Low Power Wide Area Networks
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and Java
 
Telnet presentation
Telnet presentationTelnet presentation
Telnet presentation
 
Domain name system
Domain name systemDomain name system
Domain name system
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
 
Wintel ppt for dhcp
Wintel ppt for dhcpWintel ppt for dhcp
Wintel ppt for dhcp
 
OpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIOpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part II
 
Proxy Server
Proxy ServerProxy Server
Proxy Server
 
DDS In Action Part II
DDS In Action Part IIDDS In Action Part II
DDS In Action Part II
 
Transport layer security
Transport layer securityTransport layer security
Transport layer security
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT Age
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
Secure shell ppt
Secure shell pptSecure shell ppt
Secure shell ppt
 
RTI Data-Distribution Service (DDS) Master Class - 2010
RTI Data-Distribution Service (DDS) Master Class - 2010RTI Data-Distribution Service (DDS) Master Class - 2010
RTI Data-Distribution Service (DDS) Master Class - 2010
 
DHCP Protocol
DHCP ProtocolDHCP Protocol
DHCP Protocol
 

Destacado

XMPP Technical Overview + Jingle Protocol Study
XMPP Technical Overview + Jingle Protocol StudyXMPP Technical Overview + Jingle Protocol Study
XMPP Technical Overview + Jingle Protocol StudyValérian Saliou
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDSAngelo Corsaro
 
Presentación SADV e introducción a novedades de Moodle
Presentación SADV e introducción a novedades de MoodlePresentación SADV e introducción a novedades de Moodle
Presentación SADV e introducción a novedades de MoodleAlberto Serna
 
XMPP & AMQP in Ruby
XMPP & AMQP in RubyXMPP & AMQP in Ruby
XMPP & AMQP in RubyMatt Todd
 
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)Peter Lubbers
 
Data Distribution Service Security and the Industrial Internet of Things
Data Distribution Service Security and the Industrial Internet of ThingsData Distribution Service Security and the Industrial Internet of Things
Data Distribution Service Security and the Industrial Internet of ThingsReal-Time Innovations (RTI)
 
Real-Time Communications and the Industrial Internet of Things
 Real-Time Communications and the Industrial Internet of Things Real-Time Communications and the Industrial Internet of Things
Real-Time Communications and the Industrial Internet of ThingsReal-Time Innovations (RTI)
 
Maximize information exchange in your enterprise with AMQP
Maximize information exchange in your enterprise with AMQPMaximize information exchange in your enterprise with AMQP
Maximize information exchange in your enterprise with AMQPKenneth Peeples
 
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014Vidhya Gholkar
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeperSaurav Haloi
 
Ecoescuelas 15 16
Ecoescuelas 15 16Ecoescuelas 15 16
Ecoescuelas 15 16XXX XXX
 
Ei09 Opposite Green
Ei09 Opposite GreenEi09 Opposite Green
Ei09 Opposite Greennmoroney
 
Dreamforce 2012 Xactly CEO Keynote
Dreamforce 2012 Xactly CEO KeynoteDreamforce 2012 Xactly CEO Keynote
Dreamforce 2012 Xactly CEO KeynoteBriscoe Pelkey
 
Nhn Contents Proposal
Nhn Contents ProposalNhn Contents Proposal
Nhn Contents ProposalJune Song
 

Destacado (20)

XMPP Technical Overview + Jingle Protocol Study
XMPP Technical Overview + Jingle Protocol StudyXMPP Technical Overview + Jingle Protocol Study
XMPP Technical Overview + Jingle Protocol Study
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS
 
Presentación SADV e introducción a novedades de Moodle
Presentación SADV e introducción a novedades de MoodlePresentación SADV e introducción a novedades de Moodle
Presentación SADV e introducción a novedades de Moodle
 
XMPP & AMQP in Ruby
XMPP & AMQP in RubyXMPP & AMQP in Ruby
XMPP & AMQP in Ruby
 
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
 
Data Distribution Service Security and the Industrial Internet of Things
Data Distribution Service Security and the Industrial Internet of ThingsData Distribution Service Security and the Industrial Internet of Things
Data Distribution Service Security and the Industrial Internet of Things
 
What is XMPP Protocol
What is XMPP ProtocolWhat is XMPP Protocol
What is XMPP Protocol
 
XMPP 101
XMPP 101XMPP 101
XMPP 101
 
Lecture about XMPP
Lecture about XMPPLecture about XMPP
Lecture about XMPP
 
Real-Time Communications and the Industrial Internet of Things
 Real-Time Communications and the Industrial Internet of Things Real-Time Communications and the Industrial Internet of Things
Real-Time Communications and the Industrial Internet of Things
 
Maximize information exchange in your enterprise with AMQP
Maximize information exchange in your enterprise with AMQPMaximize information exchange in your enterprise with AMQP
Maximize information exchange in your enterprise with AMQP
 
Understanding the Internet of Things Protocols
Understanding the Internet of Things ProtocolsUnderstanding the Internet of Things Protocols
Understanding the Internet of Things Protocols
 
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
 
Ecoescuelas 15 16
Ecoescuelas 15 16Ecoescuelas 15 16
Ecoescuelas 15 16
 
ikp213-06-horn-clause
ikp213-06-horn-clauseikp213-06-horn-clause
ikp213-06-horn-clause
 
Ei09 Opposite Green
Ei09 Opposite GreenEi09 Opposite Green
Ei09 Opposite Green
 
Dreamforce 2012 Xactly CEO Keynote
Dreamforce 2012 Xactly CEO KeynoteDreamforce 2012 Xactly CEO Keynote
Dreamforce 2012 Xactly CEO Keynote
 
Animation in Diamond Resorts
Animation in Diamond ResortsAnimation in Diamond Resorts
Animation in Diamond Resorts
 
Nhn Contents Proposal
Nhn Contents ProposalNhn Contents Proposal
Nhn Contents Proposal
 

Similar a DDS and XMPP

Criando um Instant Messenger
Criando um Instant MessengerCriando um Instant Messenger
Criando um Instant Messengervinibaggio
 
SAPO Messenger
SAPO MessengerSAPO Messenger
SAPO Messengercodebits
 
Microblogging via XMPP
Microblogging via XMPPMicroblogging via XMPP
Microblogging via XMPPStoyan Zhekov
 
XMPP Intro 1101 - 2008
XMPP Intro 1101 - 2008XMPP Intro 1101 - 2008
XMPP Intro 1101 - 2008Steffen Larsen
 
Zimbra scripting with python
Zimbra scripting with pythonZimbra scripting with python
Zimbra scripting with pythonImam Omar Mochtar
 
Rails performance: Ruby GC tweaking
Rails performance: Ruby GC tweaking Rails performance: Ruby GC tweaking
Rails performance: Ruby GC tweaking Dimelo R&D Team
 
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)Jared Ottley
 
Scaling Twitter
Scaling TwitterScaling Twitter
Scaling TwitterBlaine
 

Similar a DDS and XMPP (8)

Criando um Instant Messenger
Criando um Instant MessengerCriando um Instant Messenger
Criando um Instant Messenger
 
SAPO Messenger
SAPO MessengerSAPO Messenger
SAPO Messenger
 
Microblogging via XMPP
Microblogging via XMPPMicroblogging via XMPP
Microblogging via XMPP
 
XMPP Intro 1101 - 2008
XMPP Intro 1101 - 2008XMPP Intro 1101 - 2008
XMPP Intro 1101 - 2008
 
Zimbra scripting with python
Zimbra scripting with pythonZimbra scripting with python
Zimbra scripting with python
 
Rails performance: Ruby GC tweaking
Rails performance: Ruby GC tweaking Rails performance: Ruby GC tweaking
Rails performance: Ruby GC tweaking
 
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
Alfresco Rumors: XMPP Enable Alfresco nodes (POC)
 
Scaling Twitter
Scaling TwitterScaling Twitter
Scaling Twitter
 

Más de Angelo Corsaro

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing PlatformAngelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture FourAngelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture ThreeAngelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture TwoAngelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture OneAngelo Corsaro
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity StandardAngelo Corsaro
 

Más de Angelo Corsaro (20)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained Envionrments
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity Standard
 
Fog Computing Defined
Fog Computing DefinedFog Computing Defined
Fog Computing Defined
 

Último

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

DDS and XMPP

  • 1. DDS vs. XMPP Angelo Corsaro Gerardo Pardo-Castellote OMG DDS Co-Chair OMG DDS Co-Chair PrismTech RTI angelo.corsaro@prismtech.com gerardo@rti.com 1
  • 2. Agenda - XMPP Intro - Some XMPP Extension - XMPP vs DDS - Concluding Remarks OMG DDS SIG
  • 3. XMPP History XMPP = eXtensible Messaging and Presence Protocol - 1999: Jabber starts as an Open Source project - 2001: Jabber Software Foundation (JSF) is established - 2002: XMPP Working Group started at IETF - 2004: XMPP RFCs (3920-3923) - 2006: JSF becomes the XMPP Standards Foundation OMG DDS SIG
  • 4. Core XMPP Features - XMPP started as a standard for messaging and presence. Today it is more than simply messaging and presence, providing:  Channel encryption and authentication  Presence and Contact Lists  One-to-one and Multi-Party Messaing  Alerts and Notifications (XMPP Pub/Sub extension)  Peer-to-Peer Media Sessions (Jingle)  Data Forms and Remote Command OMG DDS SIG
  • 5. XMPP Architecture - Client/Server - Network of Decentralized Servers - (Authenticated) Long Lived Connection from Client to Servers Server Server jabber.org mac.com <message to=‘giorgia@jabber.org’> <body> Have you seen my new stratocaster? </body> </message> Carmen Giorgia carmen@jabber.org OMG DDS SIG giorgia@mac.com
  • 6. Addressing - User are addressed by Jabber ID (JID)  es. carmen@jabber.com - Resource can be addressed via full JID  es. carme@jabber.com/concerts OMG DDS SIG
  • 7. Communication Primitives - XMPP defines three different communication primitives--called stanzas - XMPP Stanzas are:  <message/>  <presence/>  <iq/> OMG DDS SIG
  • 8. <message/> - A <message/> stanza contains:  From, To  Type  Subject + Body (Payload) <message from=‘carmen@jabber.com to=‘giorgia@jabber.org’> <subject>Got a new Strato!</subject> <body> Have you seen my new stratocaster? </body> </message> OMG DDS SIG
  • 9. <presence/> - The <presence/> stanza is used to advertise presence and contains:  Status  Status Message <presence from=‘carmen@jabber.com> <show>xa</show> <status>C9sus</status> </presence> OMG DDS SIG
  • 10. <iq/> - The <iq/> stanza is used to perform Request/ Response interactions (similar to HTTP GET, POST, PUT) <iq type=”get”> <query xmlns=”jabber:iq:roster”/> </iq> <iq type=”result”> <query xmlns=”jabber:iq:roster”> <item jid=”carmen@jabber.org”/> <item jid=”mario@jabber.org”/> <item jid=”franco@jabber.org/> </query> </iq> OMG DDS SIG
  • 11. Agenda - XMPP Intro - Some XMPP Extension - XMPP vs DDS - Concluding Remarks OMG DDS SIG
  • 12. Pub/Sub Extension - XMPP has been extended with basic Pub/Sub capabilities - <iq/> stanzas are used to manage subscriptions, as well as to do pub/sub OMG DDS SIG
  • 13. Pub/Sub Extension - Subscription <iq from=”carmen@jabber.org” id=”cc7409” to=”notify.jabber.org” type=”set”> <pubsub xmlns=”http://jabber.org/protocol/pubsub”> <subscribe node=”musicisti-ct” jid=”carmen@jabber.org”/> </iq> OMG DDS SIG
  • 14. Pub/Sub in XMPP musicisti-ct { carmen@jabber.org Mario giorgia@mac.com Server mario@xmpp.org mario@xmpp.org } xmpp.org Server Server jabber.org mac.com Carmen Giorgia carmen@jabber.org giorgia@mac.com OMG DDS SIG
  • 15. Pub/Sub in XMPP musicisti-ct { carmen@jabber.org Mario giorgia@mac.com Server mario@xmpp.org mario@xmpp.org } xmpp.org Server Server jabber.org mac.com <iq from=”carme@jabber.org” to=notify.jabber.org”> ... </iq> Carmen Giorgia carmen@jabber.org giorgia@mac.com OMG DDS SIG
  • 16. Pub/Sub in XMPP musicisti-ct { carmen@jabber.org Mario giorgia@mac.com <iq Server mario@xmpp.orgfrom=”carme@jabber.org” mario@xmpp.org to=notify.jabber.org”> xmpp.org } ... </iq> Server Server jabber.org mac.com <iq from=”carme@jabber.org” to=notify.jabber.org”> ... </iq> Carmen Giorgia carmen@jabber.org giorgia@mac.com OMG DDS SIG
  • 17. Pub/Sub in XMPP <iq from=”carme@jabber.org” to=notify.jabber.org”> ... </iq> musicisti-ct { carmen@jabber.org Mario giorgia@mac.com Server mario@xmpp.org mario@xmpp.org } xmpp.org Server Server jabber.org mac.com <iq from=”carme@jabber.org” to=notify.jabber.org”> ... </iq> Carmen Giorgia carmen@jabber.org giorgia@mac.com OMG DDS SIG
  • 18. Jingle Extension - XMPP is not designed for distributing data with real-time constraints - XMPP Jingle is used to set-up direct connections between points for streaming  Voice  Audio  Video  ... - After negotiating a connection via XMPP, communication goes through other protocols, e.g., RTP, etc. OMG DDS SIG
  • 19. Agenda - XMPP Intro - Some XMPP Extension - XMPP vs DDS - Concluding Remarks OMG DDS SIG
  • 20. What is Standardized? - DDS - XMPP  API Standard  Wire Protocol Standard  Wire Protocol Standard Application Application Object/Relational Mapping Data Local Reconstruction Layer (DLRL) DDS v1.2 Content Ownership Durability Subscription Minimum Profile API (?) Data Centric Publish/Subscribe (DCPS) DDSI v2.1 RFC-3920/9 eXtensible Messaging and Real-Time Publish/Subscribe Protocol Presence Protocol DDS Interoperability Wire Protocol Wire Protocol UDP/IP TCP OMG DDS SIG
  • 21. Architecture - DDS - XMPP  Fully Distributed  Store and Forward  Topic-Based Pub/Sub  Client/Server  QoS Enabled  Pub/Sub as a protocol extension  Data Centric (keys, queries, etc.)  “Source Addressing”-based discovery  Dynamic Discovery DDS XMPP Subscriber Publisher Server Server B m jabber.org mac.com A F Subscriber Publisher J D C K E Publisher Client Client Subscriber OMG DDS SIG
  • 22. Type/Message Encoding - DDS - XMPP  Efficient binary encoding  XML encoding for both data for both data-payload payload and protocol and protocol messages messages  Strongly Typed Topic  Just one message type, an Types XML message  Polymorphic Type  Type extensibility/  Type extensibility/evolvability evolvability supported by by leveraging XML upcoming xTopics RFP  Note: Multiple encoding supported via xTopics OMG DDS SIG
  • 23. Performance - DDS - XMPP  Targeting high performance  Targeting interactive systems systems  Discovery traffic often shown  Very low latencies to introduce non-negligible  Very high throughputs load  Real-Time determinism OMG DDS SIG
  • 24. Agenda - XMPP Intro - Some XMPP Extension - XMPP vs DDS - Concluding Remarks OMG DDS SIG
  • 25. Concluding Remarks - DDS and XMPP target different application domains - DDS is able to address very sophisticated data distribution needs, where complex QoS need to be satisfied - XMPP is targeting interactive web applications - DDS provides complete transparency w.r.t changes in the infrastructure - Due to its “source-addressing”-based discovery XMPP might propagate back to the application changes into the infrastructure OMG DDS SIG