HUBIQUITUS


an open source initiative by
First thoughts
The Internet as it was 
 Static contents…
The Internet as it was 
  …a single device
The Internet as it is now
  Interactive apps…
The Internet as it now
 …multiple devices
The Internet of tomorrow
  Ubiquitous computing
Impacts
Embeddability
           apps for all screens and devices
                          With"us"         @"home"


              car             smartphone     PC       Tablet
                                                                     TV




                                                               Residential
           Around"us"                                           gateway




Wireless
sensor
                                                     In the cloud



                    m2m gateway




small footprint runtime & protocols
Isolation
  apps loosely coupled with each other




Asynchronous message-driven dialog
Dynamicity
  Flexible network topologies




Run-time discovery and wiring
Adaptability
 Heterogeneous platforms and networks




Various data transports and formats
Immediacy
                Real-time interactions
Simply explained: Latency




                            High-performance
                               connected
                                protocols
Memory
don’t forget anything anymore




    Log every message
The Hubiquitus
    answer
A messaging protocol

Normalized message envelope carrying headers along with your data


                                         message id
                                       correlation id
                                         author id
                                      author position
                                        publisher id
                                      publishing date
                                        recipient id
                                             
                                           And so on…
A messaging middleware
                 Messaging patterns


             1
   a
   a
                 B
        Fire-and-forget

             1
   a
                 B
        REQuest-REPly
             2

                 12   B
   a
        12
             ×   12   C
                                PUBlish-SUBscribe



        12       12
   a
                 B
        Gateway
A messaging middleware
    Decentralized peer-to-peer topology
A messaging middleware
       Dynamic load-balancing and failover



               1    B
      12
 a
           ÷        B’
                            Hash-based load-balancing
               2



               12   B
 a
      12
           ×   12   B’
                            Hash-based filtering (Pub-Sub)
A messaging middleware

  transports    serializers




 sockets
        JSON
   UDP
        MsgPack*
   TCP 
       Protobuf*
WebSockets
     Thrift*
  HTTP
  MQTT*

                              •  Coming soon
A messaging middleware
         Security



                    Peers authentication




                    Transport encryption




             Pattern-matching message filtering
A messaging middleware

       Database loggers
A messaging middleware
  client bindings    Server bindings




Browsers
            iStuff


                                         *


Droids      Win 8



                                       * Coming soon
A messaging middleware

     Connectors to social networks




                Twitter
A SDK to develop 
      Message-driven agents

Code message processing functions…     …using a dead simple API



                                        Send a message
                                      alter agent’s state
                                      Create child agent
                                     subscribe to channel
                                               
                                            And so on…
A runtime 
to run these agents

      A NodeJS program
A runtime 
to run these agents
     Linear agents scalability
A free and open
                 source solution
(The MIT license)
Copyright (c) 2010-2013 Novedia Group

Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the
Software without restriction, including without limitation the rights to use, copy,
modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:

The above copyright notice and this permission notice shall be included in all copies
or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
We stand on the
shoulders of giants



  socket IO
A living community
SPONSORS      PRODUCTION USERS
Use cases & demos
Social media monitoring
Social media monitoring
                
                
          Online demo
    www.socialtv-livebattle.fr
Social BI
Smart metering
Second screen remote control
                                       
                                  Online demo
      http://hubiquitus.com/2012/12/17/using-your-phone-as-a-remote-control/




Take control                          Second screen
            Remote control
of a second                            istv.hubi.org
             is.hubi.org
screen (laptop,
smart TV, box) with
your mobile
device and
b r o w s e a
catalog of
items
multi-screen multiplayer game
                                       
                                  Online demo
    http://hubiquitus.com/2012/11/13/real-time-multi-screen-multi-player-game/

    
    
                                                                          Game
                                                                       interface
Players use                                                           mvtv.hubi.org
their mobile
device to answer
q u e s t i o n s
displayed on a
second screen
                                                  player
                                                              interface
                                                             mv.hubi.org
U want to know more ?


               Docos
               www.hubiquitus.com




               Code
               github.com/hubiquitus




               News
               @hubiquitus

Hubiquitus: An introduction

  • 1.
  • 2.
  • 3.
    The Internet asit was Static contents…
  • 4.
    The Internet asit was …a single device
  • 5.
    The Internet asit is now Interactive apps…
  • 6.
    The Internet asit now …multiple devices
  • 7.
    The Internet oftomorrow Ubiquitous computing
  • 8.
  • 9.
    Embeddability apps for all screens and devices With"us" @"home" car smartphone PC Tablet TV Residential Around"us" gateway Wireless sensor In the cloud m2m gateway small footprint runtime & protocols
  • 10.
    Isolation appsloosely coupled with each other Asynchronous message-driven dialog
  • 11.
    Dynamicity Flexiblenetwork topologies Run-time discovery and wiring
  • 12.
    Adaptability Heterogeneous platformsand networks Various data transports and formats
  • 13.
    Immediacy Real-time interactions Simply explained: Latency High-performance connected protocols
  • 14.
    Memory don’t forget anythinganymore Log every message
  • 15.
  • 16.
    A messaging protocol Normalizedmessage envelope carrying headers along with your data message id correlation id author id author position publisher id publishing date recipient id And so on…
  • 17.
    A messaging middleware Messaging patterns 1 a a B Fire-and-forget 1 a B REQuest-REPly 2 12 B a 12 × 12 C PUBlish-SUBscribe 12 12 a B Gateway
  • 18.
    A messaging middleware Decentralized peer-to-peer topology
  • 19.
    A messaging middleware Dynamic load-balancing and failover 1 B 12 a ÷ B’ Hash-based load-balancing 2 12 B a 12 × 12 B’ Hash-based filtering (Pub-Sub)
  • 20.
    A messaging middleware transports serializers sockets JSON UDP MsgPack* TCP Protobuf* WebSockets Thrift* HTTP MQTT* •  Coming soon
  • 21.
    A messaging middleware Security Peers authentication Transport encryption Pattern-matching message filtering
  • 22.
    A messaging middleware Database loggers
  • 23.
    A messaging middleware client bindings Server bindings Browsers iStuff * Droids Win 8 * Coming soon
  • 24.
    A messaging middleware Connectors to social networks Twitter
  • 25.
    A SDK todevelop Message-driven agents Code message processing functions… …using a dead simple API Send a message alter agent’s state Create child agent subscribe to channel And so on…
  • 26.
    A runtime torun these agents A NodeJS program
  • 27.
    A runtime torun these agents Linear agents scalability
  • 28.
    A free andopen source solution (The MIT license) Copyright (c) 2010-2013 Novedia Group Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  • 29.
    We stand onthe shoulders of giants socket IO
  • 30.
    A living community SPONSORS PRODUCTION USERS
  • 31.
  • 32.
  • 33.
    Social media monitoring Online demo www.socialtv-livebattle.fr
  • 34.
  • 35.
  • 36.
    Second screen remotecontrol Online demo http://hubiquitus.com/2012/12/17/using-your-phone-as-a-remote-control/ Take control Second screen Remote control of a second istv.hubi.org is.hubi.org screen (laptop, smart TV, box) with your mobile device and b r o w s e a catalog of items
  • 37.
    multi-screen multiplayer game Online demo http://hubiquitus.com/2012/11/13/real-time-multi-screen-multi-player-game/ Game interface Players use mvtv.hubi.org their mobile device to answer q u e s t i o n s displayed on a second screen player interface mv.hubi.org
  • 38.
    U want toknow more ? Docos www.hubiquitus.com Code github.com/hubiquitus News @hubiquitus