What Can DDS Do For You?

1,357 views

Published on

The Data Distribution Service (DDS) technology may not be as well known or understood as other middleware communications technologies like Corba, JMS, Web Services or even traditional sockets that are key components of nearly all distributed applications. Developers everywhere are familiar with these conventional data communications solutions, and may be comfortable customizing them to their particular domain and application. However, the flexibility and configurability of DDS makes it a better solution for applications in a wide variety of industries, from enterprise servers to deeply embedded applications.
This paper focuses on the DDS technology in embedded environments and compares it with Sockets, Corba, JMS, and SOA Web Services.

Published in: Technology
  • Be the first to comment

What Can DDS Do For You?

  1. 1. What can DDS do for you? January 2012 1
  2. 2. The Data Distribution Service (DDS) technology may not be as well known or understood as other middleware communications technologies like Corba, JMS, Web Services or even traditional sockets that are key components of nearly all distributed applications. The flexibility and configurability of DDS makes it a better solution for applications in a wide variety of industries, from enterprise servers to deeply embedded applications. This paper focuses on the DDS technology in embedded environments and compares it with Sockets, Corba, and JMS Web Services. Abstract
  3. 3.  DDS, the Data Distribution Service, is a data communications standard managed by the OMG (http://www.omg.org) that describes low-latency data communications for distributed applications.  There are currently several commercial and open source implementations of the DDS standard available for use, including products built for and targeting embedded communications. What is DDS?
  4. 4.  Easy to use, well defined Application Programming Interface (API), which allows for portable code  References the Real Time Publish Subscribe (RTPS) Wire Protocol, which allows for interoperability  DDS is a peer-to-peer communication model requiring no gateways, servers, or daemons that must be run or configured.  Each application that will communicate over DDS contains the DDS API and provides the discovery, and other required communication details. DDS Standard
  5. 5.  Aerospace and Defense  Cloud Computing  Communications  Consumer Electronics  Energy  Financial  Healthcare  Simulation  Transportation  Unmanned Vehicles Industries Implementing DDS
  6. 6. Publish Subscribe Architecture DDS provides a flexible publish subscribe architecture, promoting a loose coupling between data architecture that is flexible and dynamic; it is easy to adapt and extend DDS based systems to changing environments and requirements. Strengths of DDS
  7. 7. Publish/Subscribe System An application may be a publisher of data, a subscriber of data, or both a publisher and subscriber. An application may participate in multiple Domains and include multiple publishers and subscribers. Strengths of DDS
  8. 8. Dynamic Discovery  The application does not have to know or configure the endpoints for communications because they are automatically discovered by DDS.  DDS will discover if the endpoint is publishing data, subscribing to data, or both. It will discover the type of data being published or subscribed to. It will also discover the publisher’s offered communication characteristics and the subscriber’s requested communications characteristics.  DDS participants can be on the same machine or across a network: the application uses the same DDS API for communications. Strengths of DDS
  9. 9. Strong Type Safety  DDS provides strong type safety by requiring the application to specify the types of data used for communications. The application then reads and writes typed data.  This allows for more errors to be caught early in the development cycle, reducing development costs. Strengths of DDS
  10. 10. QoS Policies  DDS provides a rich set of Quality of Service (QoS) policies to tailor the behavior of communications.  QoS policies affect reliability, performance, persistence of data, and amount of system resources used.  QoS policies set DDS apart from all other communication middleware solutions. Strengths of DDS
  11. 11. Interoperability  DDS Interoperability is the ability of DDS implementations from different vendors to communicate.  Not all DDS implementations are interoperable, however, CoreDX DDS can exchange data and communicate with every other implementation of DDS. Strengths of DDS
  12. 12. Performance  DDS is a low-latency high performance communication architecture  DDS has a compact data encoding on the wire, light- weight notification mechanisms, and the ability for the application to specify resources limits: allowing DDS to pre-allocate memory and reduce the number of memory allocations during run-time.  DDS implementations are efficient, low-overhead, and high- performance. Strengths of DDS
  13. 13.  The architecture between the TCP Sockets API and DDS is fundamentally different:  TCP Sockets are connection oriented, a point-to-point, client-server architecture. This requires that clients and servers know each other’s location in order to connect.  DDS has a publish-subscribe architecture .  With DDS, the development of distributed applications is simplified.  DDS provides a common API regardless of operating system or hardware architecture.  DDS handles the discovery and management of remote endpoints.  DDS handles the details of communication behaviors like filtering, reliability, durability, saving historical data, detecting deadline misses and changes in liveliness, and many more.  DDS provides low-latency, high-throughput data communications. DDS can run in resource constrained environments, and can also be easily ported to run on and use custom hardware and operating systems. DDS vs. Sockets API
  14. 14.  The CORBA and DDS technologies are both Open standards managed by the OMG (however, DDS vendors have shown a unique cooperation in testing and demonstrating inter-product interoperability). Both employ client-server middleware, based on remote procedure calls, or “remote invocations” in CORBA terminology.  CORBA provides a layer of abstraction using an Object Request Broker (ORB) to manage connections, and Clients and Servers need to know about each other directly or use a Naming Service. DDS vs. CORBA
  15. 15. Java Messaging Service (JMS) and DDS are both publish-subscribe middleware technologies.  JMS uses a server for communications that must be configured with the queues or topics that will be used. Each application participating in JMS communications must connect to a JMS server. The JMS server handles the details of connecting publishers and subscribers.  DDS does not require any servers or daemons: DDS handles discovery and management of endpoints in each DDS application. Using DDS eliminates the need for a server, reducing complexity. DDS vs. Java Messaging Service (JMS)
  16. 16. The Twin Oaks Advantage There are a number of factors that contribute to the complexity of a software system, all of which increase schedule budget and risk. Using a communications middleware reduces system complexity, making this line of increasing complexity a linear one. CoreDX DDS further reduces this complexity with advanced features.
  17. 17. Small Footprint: With a small footprint and full Quality of Service coverage, CoreDX DDS is designed specifically to meet the performance and complexity requirements of real-time, embedded, time-critical, and mission-critical applications, while still being small in size and conservative in memory usage. CoreDX DDS Advantages
  18. 18. Small Source Code Baseline: CoreDX DDS is well designed and compact with a low line of code count. Code bloat results in in-efficient code, code that is more likely to contain errors, and code that is harder to extend, maintain, and port to additional platforms. CoreDX DDS Advantages
  19. 19. CoreDX DDS offers High Performance: CoreDX DDS provides exceptionally low latency and sustained high throughput numbers across all supported hardware architectures. CoreDX DDS Advantages
  20. 20. CoreDX DDS is highly scalable: CoreDX DDS has the ability to communicate data to thousands of subscribers without requiring high powered machines or typical desktop memory resources. This allows the network to scale to large numbers of DDS entities while conserving run-time memory resources. CoreDX DDS Advantages
  21. 21. CoreDX DDS supports advanced reliable communications technology: CoreDX DDS can easily be employed reliably in wireless and other unreliable network environments. CoreDX DDS has lightweight, reliable communications protocols that have higher efficiency and scalability than TCP. CoreDX DDS Advantages
  22. 22. CoreDX DDS has proven vendor interoperability: CoreDX DDS can exchange data and communicate with every other implementation of DDS. CoreDX DDS Advantages
  23. 23. CoreDX DDS does not have a single point of failure: CoreDX DDS does not require any operating system services or daemons. This eases installation, deployment and maintenance, and eliminates the concern that if one process fails, so would all DDS communications CoreDX DDS Advantages
  24. 24. CoreDX DDS has advanced support for single and multi-core architecture: Applications running on multi-core hardware can take advantage of all cores by simply using CoreDX DDS for communications. CoreDX DDS can also be used in single threaded mode to improve performance on smaller, single-core hardware. CoreDX DDS Advantages
  25. 25. Dynamic Types: CoreDX DDS Dynamic Types allows the run time creation and determination of DDS topics and Data Types. This technology eases integration challenges, enables flexible bridging between disparate systems, and reduces static memory usage. CoreDX DDS Advantages
  26. 26.  CoreDX DDS supports multiple development languages and environments:  Languages: C, C++, C#, and Java.  Operating Systems: Linux, Windows, Solaris, QNX, VxWorks, NexusWare, LynxOS, Android.  Hardware Architectures: x86 (32 & 64 bit), UltraSPARC, ARMv5, ARVMv7, PPC, MIPS, Microblaze, FPGAs.  Transports: IP, VME, cPCI, Serial, and Xbee. CoreDX DDS Advantages
  27. 27.  CoreDX DDS is the leading small footprint implementation of Data Distribution Standard (DDS)  CoreDX DDS has a small footprint and a small source code baseline  CoreDX DDS is well designed and compact with a low line of code count  CoreDX DDS has small run time requirements  CoreDX DDS offers high performance  CoreDX DDS is highly scalable  CoreDX DDS supports advanced reliable communications technology  CoreDX DDS has proven vendor interoperability  CoreDX DDS does not have a single point of failure  CoreDX DDS has advanced support for single and multi-core architecture  CoreDX DDS has dynamic types  CoreDX DDS supports multiple development languages and environments Key Points
  28. 28. Using DDS for data communications between distributed applications provides a number of benefits over other traditional data communication solutions.  Dynamic Discovery  Strong Type Safety  QoS policies  Interoperability  Performance While the DDS technology has been available for nearly two decades, until recently these implementations required resources not available to embedded application designers. Today, all the benefits of DDS are available in a significantly smaller footprint, the perfect solution for not only embedded environments, but also safety critical applications that must certify every line of code. Conclusion
  29. 29. Twin Oaks Computing, Inc. is a company dedicated to developing and delivering quality software solutions. Our staff has extensive experience developing and supporting robust communication architectures. We leverage this world-class technical experience to provide innovative and useful communication software systems. We build the software that collects, manages, and distributes information in a wide range of industries. Our software is in use around the world supporting critical missions. Equally important, our clients are amazed and totally satisfied with our super responsive customer service. One of our early customers in China states, “Twin Oaks Computing [provided] great porting work during very short period of time (each porting for about 2-3 weeks). This made me really appreciate the portability framework of CoreDX DDS.” - Mr. Huang “There is nothing I don’t like about working with Twin Oaks Computing. In particular, working with Nina is a singular pleasure in today’s world of technical support - she is very responsive and helpful.” - Dr. Michael Mezzino Super-small and blazingly fast, our flagship product, CoreDX DDS is the leading Publish-Subscribe middleware available for small-footprint and embedded systems. For more information please visit www.twinoakscomputing.com. About Twin Oaks Computing
  30. 30. For Additional Information

×