Building the Internet of Things

12,339 views

Published on

Published in: Technology, Business

Building the Internet of Things

  1. 1. OpenSpliceDDSAngelo CORSARO, Ph.D.Chief Technology OfficerOMG DDS Sig Co-ChairPrismTechangelo.corsaro@prismtech.comBuilding the Internet of Things
  2. 2. OpenSpliceDDSWhat isThe Internet of Things?
  3. 3. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSThe Internet of Things (IoT)☐ The term Internet of Things israther evocative...
  4. 4. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSThe Internet of Things (IoT)Let’s analyse the meaning:☐ Internet: (noun) a global computernetwork providing a variety ofinformation and communication facilities,consisting of interconnected networksusing standardized communicationprotocols.☐ of: (preposition) expressing therelationship between a part and a whole☐ thing: (noun) (1) an object that one neednot, cannot, or does not wish to give aspecific name to (2) an inanimatematerial object as distinct from a livingsentient being
  5. 5. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSThe Internet of Things (IoT)Definition IA global network of “things” providing a variety of information andcommunication facilities, consisting of interconnected networks usingstandardized communication protocols
  6. 6. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSThe Internet of Things (IoT)☐ Yet, there are plenty ofother definitions for theinternet of things☐ Let’s look at a few ofthem...
  7. 7. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSThe Internet of Things (IoT)Definition IIThings have identities and virtual personalities operating in smartspaces using intelligent interfaces to connect and communicatewithin social, environment, and user contextsT. Lu and W. Neng,“Future internet:The internet of things,” in 3rd International Conference on Advanced ComputerTheory andEngineering(ICACTE), vol. 5,August 2010, pp.V5–376–V5–380. [Online].Available: http://dx.doi.org/10.1109/ICACTE.2010.5579543
  8. 8. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSThe Internet of Things (IoT)Definition IIIThe semantic origin of the expression is composed by two words andconcepts: Internet and Thing, where Internet can be defined as theworld-wide network of interconnected computer networks, based ona standard communication protocol, the Internet suite (TCP/IP), whileThing is an object not precisely identifiable. Therefore, semantically,Internet of Things means a world-wide network of interconnectedobjects uniquely addressable, based on standard communicationprotocolsEuropean Commission,“Internet of things in 2020 road map for the future,”Working Group RFID of the ETP EPOSS,Tech. Rep., May 2008,http://ec.europa.eu/information society/policy/rfid/ documents/iotprague2009.pdf [Accessed on: 2011-06-12].
  9. 9. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSThe Internet of Things (IoT)Definition IVThe Internet of Things allows people and things to be connectedAnytime, Anyplace, with Anything and Anyone, ideally using Anypath/network and Any service.[Ref: P. Guillemin and P. Friess,“Internet of things strategic research roadmap,”The Cluster of European Research Projects,Tech. Rep., September2009, http://www.internet-of-things-research.eu/pdf/IoT Cluster Strategic Research Agenda 2009.pdf [Accessed on: 2011-08- 15].
  10. 10. OpenSpliceDDSIoT / IS / II
  11. 11. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSVariations on the Theme☐ Intelligent Systems and Industrial Internet have been recentlydefined by analysts as special cases of the Internet of Things☐ Yet, regardless of the term we use, these systems share similarneeds in terms of standardized protocols for data exchange
  12. 12. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSIoT/IS/II Applications PipelineCollect | Store | Analyze | SharePublic/Private CloudDevices Data Center Devices / IT Infrastructure
  13. 13. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSDecomposing the Problem☐ Device to DeviceCommunication☐ Device to CloudCommunication☐ Intra Data-CenterCommunication☐ Inter Data-CenterCommunicationDevice to cloudprotocolServer to ServerProtocolData-Center to Data-Center ProtocolDevice toDevice protocol
  14. 14. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSDevice to Device Communication☐ Peer-to-Peer Communication between devices with potentiallyvery different hardware and networking capabilities☐ Usually aggregating data from sensors to kiosks, etc.☐ In some use cases low latency / high throughput are relevant
  15. 15. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSDevice-to-Cloud Communication☐ Characteristic of the communication depends on the kind of application☐ Sporadic data updates vs. Real-Time data updates☐ Potentially Constrained Bandwidth☐ Intermittent Connectivity☐ Variable Latency Links☐ NAT, Firewalls☐ Security☐ To enable Open and Interoperable IoT, Device- to-Data Centercommunication has to rely on standard protocols☐ Two of the current candidates for Device-to-Data Center communicationsare DDS and MQTT
  16. 16. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSIntra Data-Center Communication☐ Requirements are similar to those of typical mission/business criticalsystems☐ High throughput and low per/message overhead are important tokeep the per-message cost under control☐ Standards are not a top necessity for inter-data-centercommunication since this is not exposed to third parties
  17. 17. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSInter Data-Center Communication☐ Requirements are similar to those of typical mission/business criticalsystems integration☐ High throughput and low per/message overhead are important tokeep the per-message cost under control☐ Standards could play a role if some form of interoperabilitybetween clouds providers is desirable
  18. 18. OpenSpliceDDSDDS and MQTT Overview
  19. 19. OpenSpliceDDSDDS
  20. 20. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSData Distribution Service☐ Introduced in 2004 to addressthe Data Distributionchallenges faced by a wideclass of Defense andAerospace Applications☐ Key requirement for thestandard were to deliver veryhigh and predictableperformance while scalingfrom embedded to ultra-large-scale deploymentsFor Real-Time SystemsScaleReal-TimelinessNear Real-Time Fault-Tolerant InformationProcessingThroughput, AvailabilityReal-Time InformationProcessingDeterminismSystemicSignalProcessingDataProcessingParallelismComplex InformationManagementScalability, Persistence, SecurityParallel Systems Distributed Systems
  21. 21. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSData Distribution Service☐ Recommended by keyadministration worldwide,e.g. DoD, MoD, EUROCAE,etc.☐ Widely adopted acrossseveral different domains,e.g., Smart Cities, SmartGrids, Automated Trading,Simulations, SCADA,Telemetry, etc.ScaleReal-TimelinessNear Real-Time Fault-Tolerant InformationProcessingThroughput, AvailabilityReal-Time InformationProcessingDeterminismSystemicSignalProcessingDataProcessingParallelismComplex InformationManagementScalability, Persistence, SecurityParallel Systems Distributed SystemsFor Real-Time Systems
  22. 22. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSDefense and AerospaceIntegrated Modular Vetronics Training & Simulation Systems Naval Combat SystemsAir Traffic Control & Management Unmanned Air Vehicles Aerospace Applications
  23. 23. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSCommercial ApplicationsAgricultural Vehicle SystemsTrain Control Systems Complex Medical DevicesSmart CitiesLarge Scale SCADA SystemsHigh Frequency Auto-Trading[see http://yhoo.it/11dGbGO ]
  24. 24. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSStandard FamilyApplicationRPC over DDSScalaJavaC/C++DDSRPC over DDSX-TypesDDSI-RTPSSecuritySecurityDDSI-RTPSX-Types20042013 20132013 2013ApplicationAPIWire ProtocolUDP, TCP, (WebSocket)Python JavaScript
  25. 25. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSInteroperabilityDDSI Wire InteroperabilityData ModelCommon “Language”+QoS RequirementsInteroperability
  26. 26. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSPortabilityDDS API StandardApplicationPortability
  27. 27. OpenSpliceDDSBaDDSics
  28. 28. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSData Distribution Service☐ Topics: data distribution subject’s☐ DataWriters: data producers☐ DataReaders: data consumersDDS provides a Topic-Based Publish/Subscribe abstraction based on:DDS Global Data Space...TopicATopicBTopicCTopicDDataWriterDataWriterDataWriterDataWriterDataReaderDataReaderDataReaderDataReaderFor Real-Time Systems
  29. 29. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSData Distribution Service☐ DataWriters and DataReadersare automatically anddynamically matched by theDDS Dynamic Discovery☐ A rich set of QoS allows tocontrol existential, temporal,and spatial properties of dataDDS Global Data Space...TopicATopicBTopicCTopicDDataWriterDataWriterDataWriterDataWriterDataReaderDataReaderDataReaderDataReaderFor Real-Time Systems
  30. 30. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSIDLDDS Topics☐ A Topic defines a class ofstreams☐ A Topic has associated a userdefined extensible type and aset of QoS policies☐ The Topic name, type and QoSdefines the key functional andnon-functional invariants☐ Topics can be discovered orlocally definedDURABILITY,DEADLINE,PRIORITY,…“TTempSensor”TopicTypeNameQoSstruct TempSensor {long sid;float temp;float hum;};#pragma keylist TempSensor sidTempSensor
  31. 31. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSAnatomy of a DDS Application
  32. 32. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSAnatomy of a DDS ApplicationDomainReader/Writers for User Defined for TypesSession// Create a DataWriter/DataWriterauto writer = DataWriter<TempSensor>(pub, topic);auto reader = DataReader<TempSensor>(sub, topic);Reader/Writer forapplication definedTopicTypesDomainParticipantPublisherDataWriterTopic SubscriberDataReader[DDS C++ API 2010]auto dp = DomainParticipant(domainId);// Create a Publisher / Subscriberauto pub = Publisher(dp);auto sub = Subscriber(dp);// Create a Topicauto topic = Topic<TempSensor>(dp, “TTemSensor”);
  33. 33. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSAnatomy of a DDS ApplicationDomainReader/Writers for User Defined for TypesSession// Write datawriter.write(TempSenspir(101, 23.5F, 0.55F));// But you can also write like this...writer << TempSenspir(102, 24.5F, 0.65F);// Read new dataauto data = reader.read();Reader/Writer forapplication definedTopicTypesauto dp = DomainParticipant(domainId);DomainParticipantPublisherDataWriterTopic SubscriberDataReader// Create a Publisher / Subscriberauto pub = Publisher(dp);auto sub = Subscriber(dp);// Create a Topicauto topic = Topic<VehicleDynamics>(dp, “TVehicleDynamics”);[DDS C++ API]
  34. 34. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSSimple and Powerfulpackage dds.demo.oximeterimport dds.demo.oximeter.config.OximeterEntities._import dds.demo._import dds._import dds.demo.common._object Oximeter {def main(args: Array[String]) {if (args.length < 2) {println("USAGEntOximeter <device-id> <period>")sys.exit}val did = args(0)val period = args(1)val topic = Topic[Oximetry]("Oximetry")val w = DataWriter(topic)while (true) {val oximetry = new Oximetry(did, genValue(), genValue(), genValue(), genValue(), genValue())w.write(oximetry)Thread.sleep(period)}}}
  35. 35. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSSimple and Powerfulpackage dds.demo.oximeterimport dds.demo.oximeter.config.OximeterEntities._import dds.demo._import dds._import dds.demo.common._object Oximeter {def main(args: Array[String]) {if (args.length < 2) {println("USAGEntOximeter <device-id> <period>")sys.exit}val did = args(0)val period = args(1)val topic = Topic[Oximetry]("Oximetry")val w = DataWriter(topic)while (true) {val oximetry = new Oximetry(did, genValue(), genValue(), genValue(), genValue(), genValue())w.write(oximetry)Thread.sleep(period)}}}Where are theDomainParticipant,Publisher, Subscriberand QoS?!?
  36. 36. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSSimple and Powerfulpackage dds.demo.oximeterimport dds.demo.oximeter.config.OximeterEntities._import dds.demo._import dds._import dds.demo.common._object Oximeter {def main(args: Array[String]) {if (args.length < 2) {println("USAGEntOximeter <device-id> <period>")sys.exit}val did = args(0)val period = args(1)val topic = Topic[Oximetry]("Oximetry")val w = DataWriter(topic)while (true) {val oximetry = new Oximetry(did, genValue(), genValue(), genValue(), genValue(), genValue())w.write(oximetry)Thread.sleep(period)}}}...configured viadependency injection!Thus leavingapplication code simpleand clean...
  37. 37. OpenSpliceDDSQoS
  38. 38. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSQoS Model☐ QoS-Policies control local andend-to-end properties of DDSentities☐ Local properties controlled byQoS are related resource usage☐ End-to-end propertiescontrolled by QoS are relatedto temporal and spatial aspectsof data distribution☐ Some QoS-Policies are matchedbased on a Request vs. OfferedModel thus QoS-enforcementPublisherDataWriterTopicTypeQoSNamewritesQoSDataWriterTopicTypewritesSubscriberDataReaderreadsDataReaderreads...QoSNameQoSQoS QoSQoS matching......QoS QoSType MatchingDomainParticipant DomainParticipantQoS QoS
  39. 39. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSTemporal PropertiesThroughputTimeBasedFilter[Inbound][Outbound]LatencyDeadlineTransportPriorityLatencyBudget
  40. 40. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSData AvailabilityDataAvailabilityHistoryOwnershipDurabilityLifespanOwnershipStrength
  41. 41. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSData DeliveryData DeliveryReliabilityPresentationDestinationOrderPartition
  42. 42. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSDDS Applicability☐ The DDS/DDSI standardsare able to cover therequirements of device-to-cloud, intra- and inter-cloud communication☐ DDS can provideefficient Device-to-Cloudand Device-toDevicecommunication as wellas intra-cloudcommunication Device to Cloud ProtocolServer to Server ProtocolData-Center to Data-CenterProtocolDevice to DeviceProtocolDDS/DDSIDDS/DDSIDDS/DDSIDDS/DDSI
  43. 43. OpenSpliceDDSMQTT
  44. 44. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSMQTT Overview☐ MQTT (Message Queueing Telemetry Transport) has been heavilyhyped as the protocol for the Internet of Things☐ MQTT was introduced by IBM in the 90s and is now beingstandardized through OASIS
  45. 45. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSWhat MQTT.org Says of MQTT☐ MQTT stands for MQ Telemetry Transport. It is a publish/subscribe, extremelysimple and lightweight messaging protocol, designed for constraineddevices and low-bandwidth, high-latency or unreliable networks.☐ The design principles are to minimise network bandwidth and deviceresource requirements whilst also attempting to ensure reliability and somedegree of assurance of delivery.☐ These principles also turn out to make the protocol ideal of the emerging“machine-to-machine” (M2M) or “Internet of Things” world of connecteddevices, and for mobile applications where bandwidth and battery powerare at a premium.[http://mqtt.org/faq]
  46. 46. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSMQTT Overview☐ Topic-based brokered Pub/Sub abstraction☐ Publications simply post topics which are identified by strings☐ Subscriptions define their interest by using a regular expression☐ Example:☐ Topic Name: Building/room123/temp-sensor☐ Subscriptions:☐ Building/room123/temp-sensor☐ Building/room123/# (all topics with prefix Building/room123/☐ Building/#/temp-sensor (all temp-sensor data for the building across rooms)
  47. 47. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSMQTT Overview☐ Publishers and Subscribers communicate with the broker viaTCP/IP connections☐ MQTT does not provide standard encoding for data☐ In other terms, data is opaque to MQTT and it is up to theapplications to ensure they agree on serialization schemes
  48. 48. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSMQTT Overviewpub MQTTBroker“building/room101/TempSensor/SID-123” sub“building/room101/TempSensor/SID-123”“building/room101/TempSensor/SID-124”pubsub“building/room101/TempSensor/#”
  49. 49. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSPublications QoSMQTT provides different levels of QoS for publications:☐ At most once☐ At least once☐ Exactly onceIn addition MQTT allows messages to be retained, meaning the brokerkeeps them for delivery to late joiners
  50. 50. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSMQTT Example☐ http://publib.boulder.ibm.com/infocenter/wmqv7/v7r1/index.jsp?topic=%2Fcom.ibm.mq.doc%2Ftt60100_.htm
  51. 51. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSMQTT Applicability☐ MQTT targets theDevice to Cloudconnectivity☐ As it stands, MQTT (1)does not support peer-to-peer device-to-devicecommunication, and(2) is not targeting highperformance datasharingDevice to Cloud ProtocolMQTT
  52. 52. OpenSpliceDDSDDS vs MQTT
  53. 53. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSDDS vs MQTTDDS MQTTAbstraction Topic-based Pub/Sub Topic-based Pub/SubArchitectural Style Peer-2-Peer /Broker-BasedBroker-BasedApplicability Device-2-Device, Device-2-Cloud, Intra-Cloud, Inter-CloudDevice-to-CloudQoS 22 4Transports UDP, TCP TCPSubscription Control Partitions, Topics, ContentFilteringTopics with hierarchicalmatchingData Serialization CDR UndefinedEndianness Same as Data Source Big Endian
  54. 54. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSInteroperability☐ DDS enables interoperable data sharing☐ Technically this means that DDS relies on a standard protocol toexchange messages and a standard data representation format☐ MQTT enable interoperable exchange of messages☐ Notice that this does not infer anything on content of messages, thusmaking it much harder to support data sharing in large distributedsystems
  55. 55. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSData vs Messages☐ The first and foremost reason why DDS should be more attractivethan competing technologies is the abstraction it provides☐ From a very high level perspective DDS enables “Data-Sharing”while other technology just allow to “send messages around”☐ The important point here is that “Data” is something that end-userunderstand since it represents entities in their domain. Messagesusually are a mechanism to share data thus much lowerabstraction
  56. 56. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSData vs MessagesFrom a business perspective the advantage of Data-Centricity are:☐ Reduced effort in infrastructure software => more time to developbusiness application☐ Adoption of Taxonomies / Common Info-Models => Betterinteroperability and reuse☐ No mismatch between Domain Abstractions (e.g. Data) and theirimplementation => Maintainability and extensibility
  57. 57. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSP2P and Brokered☐ DDS does not require a broker. Yet this does not mean that itcannot take advantage of brokers when this makes sense☐ As such, DDS is the only technology that allows for both,infrastructure-less Peer-2-Peer communication, as well as mediatedcommunication☐ In other terms, DDS provides an efficient solution for device-2-device and device-2-data-center communication
  58. 58. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSMulti-*☐ DDS is multi-platform and multi-language☐ DDS targets Enterprise as well as Embedded and Real-Time OS☐ OpenSplice Everywhere provides Device-to-Data-Centerconnectivity in a completely platform agnostic manner
  59. 59. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSReal-Time SupportIn the context of IS/IoT/I2 the most relevant real-time features of DDSare:☐ Support for UDP => Facilitates working with intermittent connectivity☐ UDP-based Reliability => Provides support for last value reliability,this is key for any real-time data flow (e.g. telemetry) to avoidhead-of line blocking issues☐ QoS driven Traffic Shaping => Allows to control incoming data (viafiltering) as well as optimize the outgoing data channel
  60. 60. OpenSpliceDDSOpenSplice and the IoT
  61. 61. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSDDS Everywhere Platform☐ A DDS-based, interoperableproduct family addressingsystems needs from Embeddedand Mobile to Enterprise andCloud☐ An Open Source core providingfree access to the OpenSpliceEcosystem, security of supply anda vibrant, innovative communityOpenSpliceCommunityOpenSpliceCloudOpenSpliceEmbeddedOpenSpliceOpenSpliceEnterprise
  62. 62. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSDDS Everywhere Platform☐ RTOS (VxWorks, QNX,etc.)☐ FPGA☐ BSP / No-OS☐ IP + ExoticTransportsIndustrialPlatforms☐ OS (Linux, Windows, etc)☐ Cloud☐ DBMS☐ No-SQL☐ InfiniBand + IPTransportsITPlatforms☐ Browser / HTML5☐ iOS☐ Android☐ Cloud☐ No-SQL☐ Mobile/WiFi IPTransp.ConsumerPlatformsOpenSpliceCommunityOpenSpliceCloudOpenSpliceEmbeddedOpenSpliceOpenSpliceEnterprise
  63. 63. OpenSpliceDDSDDS Everywhere!OpenSpliceMobileEmbedded OSOpenSpliceLiteEmbedded JVMOpenSpliceMobileEnterprise OSOpenSpliceEnterpriseOpenSpliceGatewayMQTT, AMQP,JMS, REST,....DDSRTOSOpenSpliceRTE
  64. 64. OpenSpliceDDSDemo
  65. 65. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSConcluding Remarks☐ An increasing number of domains, such as medical, energy,infrastructure and fleet management, are seeing the emergenceof IoT requirements☐ For IoT is key to have available open and standardized datasharing protocols☐ The DDS standard provides an end-to-end solution for the IoT whileMQTT addresses the device-to-cloud connectivity issue
  66. 66. OpenSpliceDDS
  67. 67. Copyright  2011,  PrismTech  –    All  Rights  Reserved.OpenSpliceDDSReferences¥Fastest growing JVM Language¥Open Source¥www.scala-lang.org¥ #1 OMG DDS Implementation¥ Open Source¥ www.opensplice.orgOpenSplice | DDS¥Scala API for OpenSplice DDS¥Open Source¥github.com/kydos/escalierEscalier¥Simple C++ API for DDS¥Open Source¥github.com/kydos/simd-cxx¥DDS-PSM-Java for OpenSplice DDS¥Open Source¥github.com/kydos/simd-java¥ DDS-based Advanced DistributedAlgorithms Toolkit¥Open Source¥github.com/kydos/dada
  68. 68. OpenSpliceDDS¥@prismtech¥@acorsaro¥youtube.com/opensplicetube ¥slideshare.net/angelo.corsaro¥ crc@prismtech.com¥sales@prismtech.com¥opensplice.com ¥forums.opensplice.org¥opensplice.org ¥opensplicedds@prismtech.com:: Connect with Us ::

×