Connecting a Smarter Planet (bcs Berkshire)


Published on

How technology from IBM UK is helping to connect devices and make a Smarter Planet - delivered at the Berkshire branch of the bcs, the Chartered Institute for IT, April 2011

Published in: Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Connecting a Smarter Planet (bcs Berkshire)

  1. 1. Connecting a Smarter PlanetHow UK technology is helping tomake the planet smarter Andy Piper MBCS CITP
  2. 2. Hello. This talk will contain:Some (corporate) historySome (British) technology Some lines of code (!) Some (exciting) ideas
  3. 3. ✦ A bit about IBM in the UK✦ Smarter Planet & Internet of Things✦ Technology✦ Ideas & Possibilities
  4. 4.
  5. 5. http://ibm100.com5
  6. 6. Jeopardy, Watson, and DeepQA
  7. 7. History of IBM in the UK at Hursley Park 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! 7
  8. 8. 8 © 2010 IBM Corporation
  9. 9. IBM Hursley Park today... 9
  10. 10. Building a Smarter Planet
  11. 11. 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
  12. 12. The Internet of ThingsMany smart devices instrument our world today Interconnecting these smart devices creates a Central Nervous System
  13. 13. Building a Smarter Planet + + = An opportunity to think and act in new ways— economically, socially and technically.
  14. 14. Business Scenarios Scenario Key Industries Example Automated • Chemical & Petroleum Solution provider enables smart metering Metering • Energy & Utilities of home energy by using MQ Telemetry technology predict Distribution  Retailers Shipping company improves customer Supply Chain and  Distributors loyalty by providing up-to-the-moment Logistics detailed tracking information for cargo  Consumer products  Transportation Transportation company improves customer safety and satisfaction with improved tracking of fleet Industrial  Automotive Manufacturing company automates Tracking & inventory checking to improve alert Visibility  Industrial manufacturing  Aerospace management of stock and optimize production rates  Defense Healthcare  Pharmaceutical Medical organization uses MQ Telemetry Personal & companies to track health of at-risk patients to Resource  Health trials increase safety and quality of patient care Tracking track  Hospitals  Nursing Homes Hospital uses MQ Telemetry to track expensive surgery equipment to maximize utilization and reduce waiting lists Location  Chemical & Petroleum Gas company uses MQ Telemetry to Awareness and  Energy & Utilities monitor gas pipeline operations Safety  Homeland Defense Government monitors dams and flood-risk areas to increase early-warning detection and prediction capabilities measure Executive Alerting  Insurance  Banking Bank alerts Personal Account Managers when new clients open accounts >= $2M improving customer satisfaction
  15. 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 & RepositoryConnectivity for Smart Devices Remote Systems and Devices Intelligence WebSphere Business EventsTransport 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…
  16. 16. Technology
  17. 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. 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. 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. 20. Surely HTTP is everywhere? Why use MQTT?
  21. 21. Data-centricityMQTT is agnostic of data content and transferssimple byte arrays, making drip-feeds of updatinginformation trivial.HTTP is (basically) document-centric.
  22. 22. SimplicityMQTT 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 codesand methods. REST is a great principle but not always the best forsimple data applications (POST/PUT/GET/DELETE?er what?)
  23. 23. Light on the networkThe smallest possible packet size for an MQTTmessage is 2 bytes. The protocol was optimised from the start forunreliable, low-bandwidth, expensive, high-latencynetworks.HTTP is relatively verbose - lots of "chatter" in aPOST
  24. 24. Easy distribution of dataMQTT distributes 1-to-none, 1-to-1 or 1-to-n via thepublish/subscribe mechanism→ very efficientHTTP is point-to-point (can be mediated/clusteredbut no distribution mechanism). To distribute tomultiple receivers a large number of POSTs may berequired.
  25. 25. Lightweight Stack (CPU/Mem)MQTT has been trivially implemented on tiny tolarger platforms in very small libraries[IBM ref implementation = ~80Kb for full broker]HTTP (often with associated XML or JSON librariesfor SOAP and REST etc) can be relatively large ontop of OS network librariesPlus... even if the client is small, consider whether itis really necessary to run an HTTP server on everydevice
  26. 26. Variable Quality-of-ServiceMQTT 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 tobe written in at the application level. Applicationsmust also handle timeouts.
  27. 27. Simple, small and portable- so home hackers like using it!
  28. 28. Examples
  29. 29. 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
  30. 30. 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
  31. 31. Smarter Cities
  32. 32. Smarter Transportation
  33. 33. Smarter Infrastructure3D modelling & simulation
  34. 34. HVAC Control Energy Monitoring Stock Checks Chemical TricklePOS Detection FeedField Force Automation Asset Management • Sales Force Automation And Monitoring • Field Service Engineers • Service Delivery RFID Pipeline MonitoringParkingFire Sensors Tickets and Control Flood Defence Kiosks Warning Vehicle Telematics • Cars / Military – Diagnostics and PrognosticsHome Automation • Pay As You Drive Insurance
  35. 35. Useful linksMQTT – The Smarter Planet Protocol (blog post) 3.1 specification – IBM developerWorks Communityhttp://mqtt.orgMosquitto – an example MQTT broker
  36. 36. Connect I’m an IBMer Let’s build a Smarter Planet