SlideShare uma empresa Scribd logo
1 de 41
Connecting a Smarter Planet
How UK technology is helping to
make the planet smarter




                                        Andy Piper MBCS CITP
                                         http://andypiper.co.uk
                                  http://twitter.com/andypiper
Hello

  This talk will contain:
Some (corporate) history
Some (British) technology
  Some lines of code (!)
  Some (exciting) ideas
Essentials: Twitter info!

      @andypiper
      #bcsoxford
        #mqtt
✦   A bit about IBM in the UK

✦   Smarter Planet & Internet of Things

✦   Technology

✦   Ideas & Possibilities
http://www.flickr.com/photos/-heinecke-/5494014657/
http://ibm100.com




6
Jeopardy, Watson, and DeepQA
History of IBM in the UK at Hursley Park
   (pre-IBM) Vickers Aviation developed the Spitfire at Hursley
   IBM moved to Hursley in 1958
   Developed System/360 Model 40 in 1964
   Queen’s Awards for Storage Subsystem and CICS; MacRobert Award for
    WebSphere MQ
   IBM Java, Service Registry, Business Events… a key set of technologies used in
    businesses today, and some emerging new ones!




        8
9   © 2010 IBM Corporation
IBM Hursley Park today...




     10
Building a
Smarter Planet
A world filling with devices

  Pop Quiz




       Grains grown each year         1,000,000,000,000,000 (1 quadrillion)

        Crawling the earth        100,000,000,000,000,000 (100 quadrillion)

        Manufactured each year   10,000,000,000,000,000,000 (10 quintillion)



                                                    1 billion transistors
                                                    for every one of us
The Internet of Things

Many smart devices
 instrument our
   world today




                          Interconnecting these
                         smart devices creates a
                         Central Nervous System
Building a Smarter Planet




              +             +      =
     An opportunity to think and act in new ways—
         economically, socially and technically.
Connecting the edges

                                        Connectivity for Applications                                 Head Offices,
                                                                                                      Data centres
                                        Transport          WebSphere MQ                             Cloud Computing
                                                           REST/HTTP               Intelligent
                                                           WS*
                                                                                                           Mission-Critical Connectivity &
                                                                                                           Intelligence
                           Regional Offices                                                                Messages        WebSphere MQ
                            Stores, Outlets

                                                                                                           Files           WebSphere MQ File Transfer Edition
                                                                            Interconnected

                                                                                                           Transform,      WebSphere Message Broker
                                                                                                           Enrich,         WebSphere ESB
                                                                                                           Mediate         DataPower
                                                                                                                           WebSphere Sensor Events

                               Instrumented
                                                                                                           Catalog         WebSphere Service Registry &
                                                                                                                           Repository

Connectivity for Smart Devices
                                                            Remote Systems and Devices                     Intelligence    WebSphere Business Events
Transport   MQ Telemetry                                                                                                   Cognos. ILOG, SPSS
            HTTP                                                                                                           InfoSphere Streams
            Multicast
                                                                                                                           Other InfoSphere and Tivoli products

                    Embedded Controllers                         Sensors                              Actuators
                    Filtering of duplicate read events, Store-   Power meters, weather data           Tag printers, status lights, Load
                    based HVAC & lighting controls,              SCADA sensors, pressure, volume,     generation, HVAC and lighting,
                    Industrial Network Gateways (SCADA)          RFID readers, Motion detectors…      Valves, switches and pumps…
Technology
The Connectivity Challenge
   The challenges of industrial control systems
    (supervisory control and data acquisition, or
    SCADA) well-suited to a messaging solution
               Loose coupling, multi-protocol, separation
                of concerns...


   Connectivity to remote field systems could be
    costly

   Networks could be unreliable (satellite, GPRS,
    mesh, proprietary protocols)

   Conditions could be constrained (environment,
    hardware, power)

   Thousands of sensors or devices may be
    involved in monitoring a system
Connectivity for M2M with MQTT
 ■   MQ Telemetry Transport (MQTT) is designed
     with the following primary intentions:
      – Publish/subscribe messaging paradigm as
        required by the majority of SCADA and sensor
        applications.
      – Minimise the on-the-wire footprint.
      – Expect and cater for frequent network
        disruption, cope with slow and poor quality
        networks: built for low bandwidth, high
        latency, unreliable, high cost networks
      – Expect that client applications may have very
        limited processing resources available.
      – Provide traditional messaging qualities of
        service where the environment allows
      – Publish the protocol for ease of adoption by
        device vendors and third-party client
        software.
Show us some code!

public void sendAMessage() throws MqttException {
  MqttProperties mqttProps = new MqttProperties();        Create a connection using the
  mqttProps.setCleanStart( true );                        connection factory, this time for a
  MqttClient client = MqttClientFactory.INSTANCE.         clean starting client
       createMqttClient("testClient",
       “tcp://localhost:1883”, mqttProps);
  client.registerCallback(this);
                                                         Register the class as a listener and
  client.connect();                                      connect to the broker
  client.publish(“abc/123”,
       new MqttPayload((“Hello World!”).getBytes(),0),
       (byte) 2, false);
                                                            Publish a message to the
  client.disconnect();
                                                            given topic and disconnect
}

public void publishArrived(String topicName,
            MqttPayload payload,
            byte qos, boolean retained,
                                                           On receipt of a publication, simply print
            int msgId) {
                                                           out a message on the console to say we
  System.out.println(“Got it!”);                           received it
}
Surely HTTP is everywhere?
      Why use MQTT?
Data-centricity


MQTT is agnostic of data content and transfers
simple byte arrays, making drip-feeds of updating
information trivial.

HTTP is (basically) document-centric.
Simplicity


MQTT has few methods (publish/subscribe/
unsubscribe) and is quick to learn.

HTTP can be complex (although it is often well-
understood) - there are a multitude of return codes
and methods. 
REST is a great principle but not always the best for
simple data applications (POST/PUT/GET/DELETE?
er what?)
Light on the network


The smallest possible packet size for an MQTT
message is 2 bytes. 
The protocol was optimised from the start for
unreliable, low-bandwidth, expensive, high-latency
networks.

HTTP is relatively verbose - lots of "chatter" in a
POST
Light on the network - example
HTTP - do an HTTP POST request to the                                MQTT - connect to a broker on localhost
resource '/post' on localhost. The post                              with client ID 'mqtt', publish to topic 'post' at
contains the text 'message'.                                         qos 1 with payload 'message', disconnect
                   Size        Data                                                     Size        Data

 Client → Server   66 bytes    POST /post HTTP/1.1                    Client → Server   20 bytes    101200064D51497364700302001E
                                                                                                    00046D717474
                               Host: localhost
                                                                      Connect
                               Content-Length: 7
                                                                      Server → Client   4 bytes     20020000
                               message
                                                                      Connack
                                                                      Client → Server   17 bytes    3A0F0004706F737400016D657373
                                                                                                    616765
                                                                      Publish

 Server → Client   75 bytes    HTTP/1.1 200 OK                        Server → Client   4 bytes     40020001

                               Date: Mon, 17 Jan 2011 16:53:20 GMT    Puback
                               Content-Length: 0
                                                                      Client → Server   2 bytes     E000

                                                                      Disonnect

 Total             141 bytes                                          Total             47 bytes



100 x HTTP POST requests to the resource '/                          100 x MQTT publications with payload
post' containing the text 'message'. Stateless,                      'message', connection open
100 complete flows required                                           → 24+(21x100)+2 = 2126 bytes
→ 141x100 = 14100 bytes
Easy distribution of data


MQTT distributes 1-to-none, 1-to-1 or 1-to-n via the
publish/subscribe mechanism
→ very efficient

HTTP is point-to-point (can be mediated/clustered
but no distribution mechanism). To distribute to
multiple receivers a large number of POSTs may be
required.
Lightweight Stack (CPU/Mem)


MQTT has been trivially implemented on tiny to
larger platforms in very small libraries
[IBM ref implementation = ~80Kb for full broker]

HTTP (often with associated XML or JSON libraries
for SOAP and REST etc) can be relatively large on
top of OS network libraries
Plus... even if the client is small, consider whether it
is really necessary to run an HTTP server on every
device
Variable Quality-of-Service


MQTT supports fire-and-forget or fire-and-confirm
(aka QoS 0/1/2)

HTTP has no retry / confirmation / attempt at once-
only delivery. It is basically brittle, i.e. retry needs to
be written in at the application level. Applications
must also handle timeouts.
Simple, small and portable
- so home hackers like using it!
Something this useful - should be open

Client APIs in ~12 languages, for Arduino, mBed etc.

Specification published royalty-free in 2010

IBM and Eurotech open call for Standardisation
participation...
Going Open Source - Eclipse Paho



The scope of the Paho project is to provide open source implementations
     of open and standard messaging protocols that support current and
     emerging requirements of M2M integration with Web and Enterprise
     middleware and applications. It will include client implementations
     for use on embedded platforms along with corresponding server
     support as determined by the community.
In order for M2M device and client developers to integrate, develop and
      test messaging components end-to-end, Paho will address the
      development of frameworks and sample code needed to support
      testing and development of end-to-end device connectivity with a
      server. The project will make these available in an Eclipse M2M server
      “sandbox”, as recommended by the Eclipse M2M Industry Working
      Group.
Examples
Smarter Healthcare

 Medical organization created a remote pace-maker monitoring
 solution to provide better patient care

                                     Physicians needed better
                                      monitoring of cardiac patients
                                     Improve efficiency of checkups
                                     Meet healthcare data capture
                                      standards



        Enables higher level of patient care and peace of mind
         Improves administrative efficiency and maintenance
       Helps conform to standards and ease integration of data
Smarter Energy

 Utility company developing an Intelligent Utility Network
 offering for optimizing load on electricity grids
                                     Needs robust middleware
                                      technology to connect to remote
                                      smart meters
                                     Needs to be able to rapidly scale
                                      solution nationally




            Able to offer daily energy savings of 15-20%
     Enables utilities to reduce peaks and avoid punitive charges
     Helps save electricity through better peak load management
Smarter Cities
Radiation Mapping
Mobile - Facebook Messenger!
Smarter Transportation




                         http://www.flickr.com/photos/tipsfortravellers/3657960168/
Smarter Infrastructure
3D modelling & simulation
HVAC Control Energy Monitoring
      Stock Checks     Chemical Trickle
POS                    Detection   Feed
Field Force Automation   Asset Management
     • Sales Force Automation
                                          And Monitoring
     • Field Service Engineers
     • Service Delivery
                                 RFID
                          Pipeline MonitoringParking
Fire Sensors                                  Tickets
                             and Control
 Flood Defence                          Kiosks
     Warning   Vehicle Telematics
                 • Cars / Military – Diagnostics and Prognostics
Home Automation • Pay As You Drive Insurance
Useful links

MQTT – The Smarter Planet Protocol (blog post)
http://andypiper.co.uk/2010/08/05/mqtt-the-smarter-planet-protocol/


MQTT 3.1 specification – IBM developerWorks
http://www.ibm.com/developerworks/webservices/library/ws-mqtt/index.html


MQTT Community
http://mqtt.org


Mosquitto – an example MQTT broker
http://mosquitto.org
                                                      http://ibm100.com
Connect



          http://twitter.com/andypiper
              http://andypiper.co.uk
          http://slideshare.net/andypiper
               http://eightbar.co.uk

Mais conteúdo relacionado

Semelhante a How UK technology is helping to make the planet smarter

Lightweight Messaging (Apache Retreat Hursley 2010)
Lightweight Messaging (Apache Retreat Hursley 2010)Lightweight Messaging (Apache Retreat Hursley 2010)
Lightweight Messaging (Apache Retreat Hursley 2010)Andy Piper
 
WebSphere Connectivity & Integration: What's New in the Messaging Family?
WebSphere Connectivity & Integration: What's New in the Messaging Family?WebSphere Connectivity & Integration: What's New in the Messaging Family?
WebSphere Connectivity & Integration: What's New in the Messaging Family?IBM Sverige
 
Dataservices - Processing Big Data The Microservice Way
Dataservices - Processing Big Data The Microservice WayDataservices - Processing Big Data The Microservice Way
Dataservices - Processing Big Data The Microservice WayJosef Adersberger
 
Multicore I/O Processors In Virtual Data Centers
Multicore I/O Processors In Virtual Data CentersMulticore I/O Processors In Virtual Data Centers
Multicore I/O Processors In Virtual Data Centersscarisbrick
 
MANTL Data Platform, Microservices and BigData Services
MANTL Data Platform, Microservices and BigData ServicesMANTL Data Platform, Microservices and BigData Services
MANTL Data Platform, Microservices and BigData ServicesCisco DevNet
 
Enabling Microservices Frameworks to Solve Business Problems
Enabling Microservices Frameworks to Solve  Business ProblemsEnabling Microservices Frameworks to Solve  Business Problems
Enabling Microservices Frameworks to Solve Business ProblemsKen Owens
 
Todays Mq Infrastructure And Tomorrows
Todays Mq Infrastructure And TomorrowsTodays Mq Infrastructure And Tomorrows
Todays Mq Infrastructure And Tomorrowsgaborvodics
 
Distributed Shared Memory on Ericsson Labs
Distributed Shared Memory on Ericsson LabsDistributed Shared Memory on Ericsson Labs
Distributed Shared Memory on Ericsson LabsEricsson Labs
 
Тенденции развития современных Центров Обработки Данных
 Тенденции развития современных Центров Обработки Данных Тенденции развития современных Центров Обработки Данных
Тенденции развития современных Центров Обработки ДанныхCisco Russia
 
Choosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform StrategyChoosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform Strategydrmarcustillett
 
Ofm msft-interop-v5c-132827
Ofm msft-interop-v5c-132827Ofm msft-interop-v5c-132827
Ofm msft-interop-v5c-132827surilige
 
OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpen Stack
 
Running IBM MQ in the Cloud
Running IBM MQ in the CloudRunning IBM MQ in the Cloud
Running IBM MQ in the CloudRobert Parker
 
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksEssential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksAmazon Web Services
 
IoT Analytics from Edge to Cloud - using IBM Informix
IoT Analytics from Edge to Cloud - using IBM InformixIoT Analytics from Edge to Cloud - using IBM Informix
IoT Analytics from Edge to Cloud - using IBM InformixPradeep Muthalpuredathe
 
Data Center Convergentes - Carlos Spera - 20 de octubre - UY
Data Center Convergentes - Carlos Spera - 20 de octubre - UYData Center Convergentes - Carlos Spera - 20 de octubre - UY
Data Center Convergentes - Carlos Spera - 20 de octubre - UYLogicalis Latam
 

Semelhante a How UK technology is helping to make the planet smarter (20)

Lightweight Messaging (Apache Retreat Hursley 2010)
Lightweight Messaging (Apache Retreat Hursley 2010)Lightweight Messaging (Apache Retreat Hursley 2010)
Lightweight Messaging (Apache Retreat Hursley 2010)
 
WebSphere Connectivity & Integration: What's New in the Messaging Family?
WebSphere Connectivity & Integration: What's New in the Messaging Family?WebSphere Connectivity & Integration: What's New in the Messaging Family?
WebSphere Connectivity & Integration: What's New in the Messaging Family?
 
Dataservices - Processing Big Data The Microservice Way
Dataservices - Processing Big Data The Microservice WayDataservices - Processing Big Data The Microservice Way
Dataservices - Processing Big Data The Microservice Way
 
Multicore I/O Processors In Virtual Data Centers
Multicore I/O Processors In Virtual Data CentersMulticore I/O Processors In Virtual Data Centers
Multicore I/O Processors In Virtual Data Centers
 
MANTL Data Platform, Microservices and BigData Services
MANTL Data Platform, Microservices and BigData ServicesMANTL Data Platform, Microservices and BigData Services
MANTL Data Platform, Microservices and BigData Services
 
eXtremeDB FE
eXtremeDB FEeXtremeDB FE
eXtremeDB FE
 
Enabling Microservices Frameworks to Solve Business Problems
Enabling Microservices Frameworks to Solve  Business ProblemsEnabling Microservices Frameworks to Solve  Business Problems
Enabling Microservices Frameworks to Solve Business Problems
 
Todays Mq Infrastructure And Tomorrows
Todays Mq Infrastructure And TomorrowsTodays Mq Infrastructure And Tomorrows
Todays Mq Infrastructure And Tomorrows
 
Distributed Shared Memory on Ericsson Labs
Distributed Shared Memory on Ericsson LabsDistributed Shared Memory on Ericsson Labs
Distributed Shared Memory on Ericsson Labs
 
Тенденции развития современных Центров Обработки Данных
 Тенденции развития современных Центров Обработки Данных Тенденции развития современных Центров Обработки Данных
Тенденции развития современных Центров Обработки Данных
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
IoTMyth Proposal
IoTMyth ProposalIoTMyth Proposal
IoTMyth Proposal
 
Choosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform StrategyChoosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform Strategy
 
Ofm msft-interop-v5c-132827
Ofm msft-interop-v5c-132827Ofm msft-interop-v5c-132827
Ofm msft-interop-v5c-132827
 
Oracle Fusion Middleware
Oracle Fusion MiddlewareOracle Fusion Middleware
Oracle Fusion Middleware
 
OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overview
 
Running IBM MQ in the Cloud
Running IBM MQ in the CloudRunning IBM MQ in the Cloud
Running IBM MQ in the Cloud
 
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksEssential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
 
IoT Analytics from Edge to Cloud - using IBM Informix
IoT Analytics from Edge to Cloud - using IBM InformixIoT Analytics from Edge to Cloud - using IBM Informix
IoT Analytics from Edge to Cloud - using IBM Informix
 
Data Center Convergentes - Carlos Spera - 20 de octubre - UY
Data Center Convergentes - Carlos Spera - 20 de octubre - UYData Center Convergentes - Carlos Spera - 20 de octubre - UY
Data Center Convergentes - Carlos Spera - 20 de octubre - UY
 

Mais de Andy Piper

Adapt & Survive
Adapt & SurviveAdapt & Survive
Adapt & SurviveAndy Piper
 
Rebooting A Community #DevRelCon
Rebooting A Community #DevRelConRebooting A Community #DevRelCon
Rebooting A Community #DevRelConAndy Piper
 
Twitter APIs for #MediaHackday
Twitter APIs for #MediaHackdayTwitter APIs for #MediaHackday
Twitter APIs for #MediaHackdayAndy Piper
 
Imagining the Future, when the Future is already Now
Imagining the Future, when the Future is already NowImagining the Future, when the Future is already Now
Imagining the Future, when the Future is already NowAndy Piper
 
Connecting to the Pulse of the Planet with the Twitter Platform
Connecting to the Pulse of the Planet with the Twitter PlatformConnecting to the Pulse of the Planet with the Twitter Platform
Connecting to the Pulse of the Planet with the Twitter PlatformAndy Piper
 
Building Twitter's SDKs for Android
Building Twitter's SDKs for AndroidBuilding Twitter's SDKs for Android
Building Twitter's SDKs for AndroidAndy Piper
 
Developer Advocacy - A Life Less Ordinary
Developer Advocacy - A Life Less OrdinaryDeveloper Advocacy - A Life Less Ordinary
Developer Advocacy - A Life Less OrdinaryAndy Piper
 
Twitter in the Internet of Things
Twitter in the Internet of ThingsTwitter in the Internet of Things
Twitter in the Internet of ThingsAndy Piper
 
Twitter APIs - the starter guide
Twitter APIs - the starter guideTwitter APIs - the starter guide
Twitter APIs - the starter guideAndy Piper
 
Connecting to the pulse of the planet with Twitter APIs
Connecting to the pulse of the planet with Twitter APIsConnecting to the pulse of the planet with Twitter APIs
Connecting to the pulse of the planet with Twitter APIsAndy Piper
 
Internet ALL the Things - a walking tour of MQTT
Internet ALL the Things - a walking tour of MQTTInternet ALL the Things - a walking tour of MQTT
Internet ALL the Things - a walking tour of MQTTAndy Piper
 
Combining Context with Signals in the IoT (longer version)
Combining Context with Signals in the IoT (longer version)Combining Context with Signals in the IoT (longer version)
Combining Context with Signals in the IoT (longer version)Andy Piper
 
Why the Internet of Things will be built on Open Source
Why the Internet of Things will be built on Open SourceWhy the Internet of Things will be built on Open Source
Why the Internet of Things will be built on Open SourceAndy Piper
 
Combining Context with Signals in the Internet of Things
Combining Context with Signals in the Internet of ThingsCombining Context with Signals in the Internet of Things
Combining Context with Signals in the Internet of ThingsAndy Piper
 
MQTT - standards-based plumbing for the Internet of Things
MQTT - standards-based plumbing for the Internet of ThingsMQTT - standards-based plumbing for the Internet of Things
MQTT - standards-based plumbing for the Internet of ThingsAndy Piper
 
My Quantified Self and the promise of wearables
My Quantified Self and the promise of wearablesMy Quantified Self and the promise of wearables
My Quantified Self and the promise of wearablesAndy Piper
 
Why Data, Code and Mobile converge in the Open Cloud
Why Data, Code and Mobile converge in the Open CloudWhy Data, Code and Mobile converge in the Open Cloud
Why Data, Code and Mobile converge in the Open CloudAndy Piper
 
From Cloud Computing to Platform as a Service – BCS Oxfordshire
From Cloud Computing to Platform as a Service – BCS OxfordshireFrom Cloud Computing to Platform as a Service – BCS Oxfordshire
From Cloud Computing to Platform as a Service – BCS OxfordshireAndy Piper
 
Why Apps, Data and Mobile Converge in the Open Cloud
Why Apps, Data and Mobile Converge in the Open CloudWhy Apps, Data and Mobile Converge in the Open Cloud
Why Apps, Data and Mobile Converge in the Open CloudAndy Piper
 
The Internet of Things is Made of Signals
The Internet of Things is Made of SignalsThe Internet of Things is Made of Signals
The Internet of Things is Made of SignalsAndy Piper
 

Mais de Andy Piper (20)

Adapt & Survive
Adapt & SurviveAdapt & Survive
Adapt & Survive
 
Rebooting A Community #DevRelCon
Rebooting A Community #DevRelConRebooting A Community #DevRelCon
Rebooting A Community #DevRelCon
 
Twitter APIs for #MediaHackday
Twitter APIs for #MediaHackdayTwitter APIs for #MediaHackday
Twitter APIs for #MediaHackday
 
Imagining the Future, when the Future is already Now
Imagining the Future, when the Future is already NowImagining the Future, when the Future is already Now
Imagining the Future, when the Future is already Now
 
Connecting to the Pulse of the Planet with the Twitter Platform
Connecting to the Pulse of the Planet with the Twitter PlatformConnecting to the Pulse of the Planet with the Twitter Platform
Connecting to the Pulse of the Planet with the Twitter Platform
 
Building Twitter's SDKs for Android
Building Twitter's SDKs for AndroidBuilding Twitter's SDKs for Android
Building Twitter's SDKs for Android
 
Developer Advocacy - A Life Less Ordinary
Developer Advocacy - A Life Less OrdinaryDeveloper Advocacy - A Life Less Ordinary
Developer Advocacy - A Life Less Ordinary
 
Twitter in the Internet of Things
Twitter in the Internet of ThingsTwitter in the Internet of Things
Twitter in the Internet of Things
 
Twitter APIs - the starter guide
Twitter APIs - the starter guideTwitter APIs - the starter guide
Twitter APIs - the starter guide
 
Connecting to the pulse of the planet with Twitter APIs
Connecting to the pulse of the planet with Twitter APIsConnecting to the pulse of the planet with Twitter APIs
Connecting to the pulse of the planet with Twitter APIs
 
Internet ALL the Things - a walking tour of MQTT
Internet ALL the Things - a walking tour of MQTTInternet ALL the Things - a walking tour of MQTT
Internet ALL the Things - a walking tour of MQTT
 
Combining Context with Signals in the IoT (longer version)
Combining Context with Signals in the IoT (longer version)Combining Context with Signals in the IoT (longer version)
Combining Context with Signals in the IoT (longer version)
 
Why the Internet of Things will be built on Open Source
Why the Internet of Things will be built on Open SourceWhy the Internet of Things will be built on Open Source
Why the Internet of Things will be built on Open Source
 
Combining Context with Signals in the Internet of Things
Combining Context with Signals in the Internet of ThingsCombining Context with Signals in the Internet of Things
Combining Context with Signals in the Internet of Things
 
MQTT - standards-based plumbing for the Internet of Things
MQTT - standards-based plumbing for the Internet of ThingsMQTT - standards-based plumbing for the Internet of Things
MQTT - standards-based plumbing for the Internet of Things
 
My Quantified Self and the promise of wearables
My Quantified Self and the promise of wearablesMy Quantified Self and the promise of wearables
My Quantified Self and the promise of wearables
 
Why Data, Code and Mobile converge in the Open Cloud
Why Data, Code and Mobile converge in the Open CloudWhy Data, Code and Mobile converge in the Open Cloud
Why Data, Code and Mobile converge in the Open Cloud
 
From Cloud Computing to Platform as a Service – BCS Oxfordshire
From Cloud Computing to Platform as a Service – BCS OxfordshireFrom Cloud Computing to Platform as a Service – BCS Oxfordshire
From Cloud Computing to Platform as a Service – BCS Oxfordshire
 
Why Apps, Data and Mobile Converge in the Open Cloud
Why Apps, Data and Mobile Converge in the Open CloudWhy Apps, Data and Mobile Converge in the Open Cloud
Why Apps, Data and Mobile Converge in the Open Cloud
 
The Internet of Things is Made of Signals
The Internet of Things is Made of SignalsThe Internet of Things is Made of Signals
The Internet of Things is Made of Signals
 

Último

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

How UK technology is helping to make the planet smarter

  • 1. Connecting a Smarter Planet How UK technology is helping to make the planet smarter Andy Piper MBCS CITP http://andypiper.co.uk http://twitter.com/andypiper
  • 2. Hello This talk will contain: Some (corporate) history Some (British) technology Some lines of code (!) Some (exciting) ideas
  • 3. Essentials: Twitter info! @andypiper #bcsoxford #mqtt
  • 4. A bit about IBM in the UK ✦ Smarter Planet & Internet of Things ✦ Technology ✦ Ideas & Possibilities
  • 8. History of IBM in the UK at Hursley Park  (pre-IBM) Vickers Aviation developed the Spitfire at Hursley  IBM moved to Hursley in 1958  Developed System/360 Model 40 in 1964  Queen’s Awards for Storage Subsystem and CICS; MacRobert Award for WebSphere MQ  IBM Java, Service Registry, Business Events… a key set of technologies used in businesses today, and some emerging new ones! 8
  • 9. 9 © 2010 IBM Corporation
  • 10. IBM Hursley Park today... 10
  • 12. A world filling with devices Pop Quiz Grains grown each year 1,000,000,000,000,000 (1 quadrillion) Crawling the earth 100,000,000,000,000,000 (100 quadrillion) Manufactured each year 10,000,000,000,000,000,000 (10 quintillion) 1 billion transistors for every one of us
  • 13. The Internet of Things Many smart devices instrument our world today Interconnecting these smart devices creates a Central Nervous System
  • 14. Building a Smarter Planet + + = An opportunity to think and act in new ways— economically, socially and technically.
  • 15. Connecting the edges Connectivity for Applications Head Offices, Data centres Transport WebSphere MQ Cloud Computing REST/HTTP Intelligent WS* Mission-Critical Connectivity & Intelligence Regional Offices Messages WebSphere MQ Stores, Outlets Files WebSphere MQ File Transfer Edition Interconnected Transform, WebSphere Message Broker Enrich, WebSphere ESB Mediate DataPower WebSphere Sensor Events Instrumented Catalog WebSphere Service Registry & Repository Connectivity for Smart Devices Remote Systems and Devices Intelligence WebSphere Business Events Transport MQ Telemetry Cognos. ILOG, SPSS HTTP InfoSphere Streams Multicast Other InfoSphere and Tivoli products Embedded Controllers Sensors Actuators Filtering of duplicate read events, Store- Power meters, weather data Tag printers, status lights, Load based HVAC & lighting controls, SCADA sensors, pressure, volume, generation, HVAC and lighting, Industrial Network Gateways (SCADA) RFID readers, Motion detectors… Valves, switches and pumps…
  • 17. The Connectivity Challenge  The challenges of industrial control systems (supervisory control and data acquisition, or SCADA) well-suited to a messaging solution  Loose coupling, multi-protocol, separation of concerns...  Connectivity to remote field systems could be costly  Networks could be unreliable (satellite, GPRS, mesh, proprietary protocols)  Conditions could be constrained (environment, hardware, power)  Thousands of sensors or devices may be involved in monitoring a system
  • 18. Connectivity for M2M with MQTT ■ MQ Telemetry Transport (MQTT) is designed with the following primary intentions: – Publish/subscribe messaging paradigm as required by the majority of SCADA and sensor applications. – Minimise the on-the-wire footprint. – Expect and cater for frequent network disruption, cope with slow and poor quality networks: built for low bandwidth, high latency, unreliable, high cost networks – Expect that client applications may have very limited processing resources available. – Provide traditional messaging qualities of service where the environment allows – Publish the protocol for ease of adoption by device vendors and third-party client software.
  • 19. Show us some code! public void sendAMessage() throws MqttException { MqttProperties mqttProps = new MqttProperties(); Create a connection using the mqttProps.setCleanStart( true ); connection factory, this time for a MqttClient client = MqttClientFactory.INSTANCE. clean starting client createMqttClient("testClient", “tcp://localhost:1883”, mqttProps); client.registerCallback(this); Register the class as a listener and client.connect(); connect to the broker client.publish(“abc/123”, new MqttPayload((“Hello World!”).getBytes(),0), (byte) 2, false); Publish a message to the client.disconnect(); given topic and disconnect } public void publishArrived(String topicName, MqttPayload payload, byte qos, boolean retained, On receipt of a publication, simply print int msgId) { out a message on the console to say we System.out.println(“Got it!”); received it }
  • 20. Surely HTTP is everywhere? Why use MQTT?
  • 21. Data-centricity MQTT is agnostic of data content and transfers simple byte arrays, making drip-feeds of updating information trivial. HTTP is (basically) document-centric.
  • 22. Simplicity MQTT has few methods (publish/subscribe/ unsubscribe) and is quick to learn. HTTP can be complex (although it is often well- understood) - there are a multitude of return codes and methods.  REST is a great principle but not always the best for simple data applications (POST/PUT/GET/DELETE? er what?)
  • 23. Light on the network The smallest possible packet size for an MQTT message is 2 bytes.  The protocol was optimised from the start for unreliable, low-bandwidth, expensive, high-latency networks. HTTP is relatively verbose - lots of "chatter" in a POST
  • 24. Light on the network - example HTTP - do an HTTP POST request to the MQTT - connect to a broker on localhost resource '/post' on localhost. The post with client ID 'mqtt', publish to topic 'post' at contains the text 'message'. qos 1 with payload 'message', disconnect Size Data Size Data Client → Server 66 bytes POST /post HTTP/1.1 Client → Server 20 bytes 101200064D51497364700302001E 00046D717474 Host: localhost Connect Content-Length: 7 Server → Client 4 bytes 20020000 message Connack Client → Server 17 bytes 3A0F0004706F737400016D657373 616765 Publish Server → Client 75 bytes HTTP/1.1 200 OK Server → Client 4 bytes 40020001 Date: Mon, 17 Jan 2011 16:53:20 GMT Puback Content-Length: 0 Client → Server 2 bytes E000 Disonnect Total 141 bytes Total 47 bytes 100 x HTTP POST requests to the resource '/ 100 x MQTT publications with payload post' containing the text 'message'. Stateless, 'message', connection open 100 complete flows required → 24+(21x100)+2 = 2126 bytes → 141x100 = 14100 bytes
  • 25. Easy distribution of data MQTT distributes 1-to-none, 1-to-1 or 1-to-n via the publish/subscribe mechanism → very efficient HTTP is point-to-point (can be mediated/clustered but no distribution mechanism). To distribute to multiple receivers a large number of POSTs may be required.
  • 26. Lightweight Stack (CPU/Mem) MQTT has been trivially implemented on tiny to larger platforms in very small libraries [IBM ref implementation = ~80Kb for full broker] HTTP (often with associated XML or JSON libraries for SOAP and REST etc) can be relatively large on top of OS network libraries Plus... even if the client is small, consider whether it is really necessary to run an HTTP server on every device
  • 27. Variable Quality-of-Service MQTT supports fire-and-forget or fire-and-confirm (aka QoS 0/1/2) HTTP has no retry / confirmation / attempt at once- only delivery. It is basically brittle, i.e. retry needs to be written in at the application level. Applications must also handle timeouts.
  • 28. Simple, small and portable - so home hackers like using it!
  • 29. Something this useful - should be open Client APIs in ~12 languages, for Arduino, mBed etc. Specification published royalty-free in 2010 IBM and Eurotech open call for Standardisation participation...
  • 30. Going Open Source - Eclipse Paho The scope of the Paho project is to provide open source implementations of open and standard messaging protocols that support current and emerging requirements of M2M integration with Web and Enterprise middleware and applications. It will include client implementations for use on embedded platforms along with corresponding server support as determined by the community. In order for M2M device and client developers to integrate, develop and test messaging components end-to-end, Paho will address the development of frameworks and sample code needed to support testing and development of end-to-end device connectivity with a server. The project will make these available in an Eclipse M2M server “sandbox”, as recommended by the Eclipse M2M Industry Working Group.
  • 32. Smarter Healthcare Medical organization created a remote pace-maker monitoring solution to provide better patient care  Physicians needed better monitoring of cardiac patients  Improve efficiency of checkups  Meet healthcare data capture standards Enables higher level of patient care and peace of mind Improves administrative efficiency and maintenance Helps conform to standards and ease integration of data
  • 33. Smarter Energy Utility company developing an Intelligent Utility Network offering for optimizing load on electricity grids  Needs robust middleware technology to connect to remote smart meters  Needs to be able to rapidly scale solution nationally Able to offer daily energy savings of 15-20% Enables utilities to reduce peaks and avoid punitive charges Helps save electricity through better peak load management
  • 36. Mobile - Facebook Messenger!
  • 37. Smarter Transportation http://www.flickr.com/photos/tipsfortravellers/3657960168/
  • 39. HVAC Control Energy Monitoring Stock Checks Chemical Trickle POS Detection Feed Field Force Automation Asset Management • Sales Force Automation And Monitoring • Field Service Engineers • Service Delivery RFID Pipeline MonitoringParking Fire Sensors Tickets and Control Flood Defence Kiosks Warning Vehicle Telematics • Cars / Military – Diagnostics and Prognostics Home Automation • Pay As You Drive Insurance
  • 40. Useful links MQTT – The Smarter Planet Protocol (blog post) http://andypiper.co.uk/2010/08/05/mqtt-the-smarter-planet-protocol/ MQTT 3.1 specification – IBM developerWorks http://www.ibm.com/developerworks/webservices/library/ws-mqtt/index.html MQTT Community http://mqtt.org Mosquitto – an example MQTT broker http://mosquitto.org http://ibm100.com
  • 41. Connect http://twitter.com/andypiper http://andypiper.co.uk http://slideshare.net/andypiper http://eightbar.co.uk