Eclipse Foundation: Openness and M2M

1,141 views
999 views

Published on

Talk that I gave about the intersection of Eclipse, open source, and open standards in machine-to-machine (M2M) and Internet of Things (IoT). This was given at the MSTF of the GSC meeting in Atlanta.

Published in: Technology

Eclipse Foundation: Openness and M2M

  1. 1. GSC MSTF Conference at Georgia Tech Research Institute – Atlanta, GA , USA – May 7, 2013Copyright © 2013 Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0GSC MSTF Conferenceat Georgia Tech Research Institute (GTRI)Eclipse FoundationOpenness and M2MMike MilinkovichExecutive DirectorEclipse FoundationAtlanta, GA, USA, May 7, 2013
  2. 2. Agenda• Brief introduction to Eclipse• What we’re doing in M2M• Future steps7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 2
  3. 3. Members of Eclipse7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 3
  4. 4.  190 members 10 Strategic Members 1 Enterprise Member 1017 committers, representing 100+ organizationsThe Members of EclipseStrategic MembersEnterprise Members7-May-2013 4Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0
  5. 5. VendorNeutralGovernanceIP MgtProjects &ProcessLicensingModelInfra-structureCore Services21-June-2012 Copyright (c) 2012, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 5
  6. 6. Meritocracy7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 6
  7. 7. Transparency7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 7Andrew Magill – flickr.com
  8. 8. Openness7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 8Chris J. Fry – flickr.com
  9. 9. Predictability7-May-2013 9Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0Eclipse 3.0 Eclipse 3.1 Callisto Europa Ganymede Galileo Helios Indigo Juno01020304050607080371021233339627217 1824334655Projects Million LOC
  10. 10. Downloads7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 10
  11. 11. So what are we doing?7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 11
  12. 12. CommunicationInfrastructureSmartPillBoxHeartbeatSensorWeightScaleBloodPressureMedicalServicesGatewayNear fieldBloodSugarInternetof ThingsPatientClinical TrialDoctor7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 12
  13. 13. However…The market is fragmented– Hardware, software, protocols…all different, independent– Lack of integration…between devices, to enterprise systemsM2M development is complex– Many different skills required…Hardware, Embedded, IT network, Telecom, web– No common architectural guidelinesCurrent options are closed– Monolithic solutions…device specific, app specific, market specific– Proprietary SDKs, protocols, potential vendor lock-in7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 13
  14. 14. Open ecosystem for M2MThird Party EcosystemOpen M2M applicationframework and runtimesOpen M2M communicationprotocolsInternet ofThingsOpen M2Mdevelopment tools…7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 14
  15. 15. protocolsframework tools7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 15
  16. 16. hardware abstractionserver communicationapplication containerscripting engineframework toolsprotocols7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 16
  17. 17. framework protocolsunreliable networkslimited bandwidthsemanticstools7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 17
  18. 18. toolsframework protocolsdevelopsimulatedebugdeploy7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 18
  19. 19. MQTT in a Nutshell■ MQTT == MQ Telemetry Transport■ In a nutshell“A light weight event and message orientedprotocol allowing devices to asynchronouslycommunicate efficiently across constrainednetworks to remote systems”
  20. 20. MQTT - Publish Subscribe MessagingA Publish Subscribe messaging protocol allowing a message to be published once and multipleconsumers (applications / devices) to receive the message providing decoupling between the producerand consumer(s)A producer sends (publishes) a message (publication) on a topic (subject)A consumer subscribes (makes a subscription) for messages on a topic (subject)A message server / broker matches publications to subscriptions• If no matches the message is discarded• If one or more matches the message is delivered to each matching subscriber/consumer
  21. 21. Benefits of MQTT verses HTTP■ Push delivery of messages / data / events– MQTT – low latency push delivery of messages from client to server and serverto client• Helps bring an event oriented architecture to the web– HTTP – push from client to server but poll from server to client• Efficient use of network– For an M2M project the number of bytes with MQTT was 137130 bytes per device per monthwith HTTP the number of bytes was 801000 bytes per device per month• Reliable delivery over fragile network– MQTT will deliver message to QOS even across connection breaks• Decoupling and publish subscribe – one to many deliverySource: http://stephendnicholas.com/archives/1217
  22. 22. M3DA Layered ArchitectureApplication Layer – M3DA::Message– Specify access to the tree-oriented datamodelTransport Layer – M3DA::Envelope– Enables authentication, encryption,compression, …Serialization Layer – Bysant– Provides an efficient binaryserialization based on contextualinformationCopyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse PublicLicense 1.022HTTPM3DA TransportM3DA PayloadM3DAMessageCommand/Event/DataMessageCommand/Event/Data…Headers- Device /Server Identification- Securityauth, cipher, hmac, nonce…- Compressionalgo, dict selection, …TCP UDP SMS*TransportBysant Serializer7-May-2013
  23. 23. • M3DA is an open-source, royalty-freeprotocol• Specifications and client referenceimplementation of the protocol is available inthe Eclipse Mihini project (EPL license)• Reference server implementation is availableon GitHub: M3DA serverM3DA Open-source7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 23
  24. 24. Open Protocols• MQTT has always been available royalty-free– Now an OASIS TC– operates under the Non-Assertion Mode of theOASIS IPR Policy• M3DA– Specification and implementation are madeavailable under the Eclipse Public License– Royalty-free patent license– See http://wiki.eclipse.org/Mihini/M3DA_Specification7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 24
  25. 25. Moving Forward7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 25
  26. 26. Open Wins7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 26
  27. 27. Developers are the new kingmakers7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 27
  28. 28. “Open”?7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 28
  29. 29. Open Source is the Freedom toControl Your Own DestinyOSS Freedoms*Freedom 0to run the program,for any purposeFreedom 1to study how the program works,and change it tomake it do what you wishFreedom 2to redistribute copiesFreedom 3to distribute copies of yourmodified versions to others(*) As defined by the Free Software Foundation7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 29
  30. 30. OSI: Open Standards Definition• Goals:– Any license (free, open or closed)– Any implementation– Any implementor7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 30
  31. 31. OSI: Open Standards Definition• No intentional secrets preventinginteroperable implementations• Freely and publicly available• Essential patents– Royalty free or– Non-assertion when practiced by open source• No agreements on deployments• Dependencies7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 31
  32. 32. How to Win• Open standards and open source arecomplementary• Open source implementations drive– Developer adoption• Essential to all adoption– Interoperability– Customer freedom7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 32
  33. 33. protocolsframework tools7-May-2013 Copyright (c) 2013, Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0 33
  34. 34. GSC MSTF Conference at Georgia Tech Research Institute – Atlanta, GA , USA – May 7, 2013Copyright © 2013 Eclipse Foundation, Inc. Made available under the Eclipse Public License 1.0Questions?Mike Milinkovichmike.milinkovich@eclipse.org@mmilinkovThankyou!

×