OMG Data-Distribution Service (DDS): Architectural Overview



Similar documents
DDS and SOA Interfaces to ESB

OMG Data-Distribution Service: Architectural Overview

A Comparison and Mapping of Data Distribution Service and High-Level Architecture

A Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011

Repeat Success, Not Mistakes; Use DDS Best Practices to Design Your Complex Distributed Systems

A Comparison and Mapping of. Data Distribution Service and High-Level Architecture

DDS Tutorial -- Part II Hands On

Resource Utilization of Middleware Components in Embedded Systems

Report Documentation Page

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.

THE MIMOSA OPEN SOLUTION COLLABORATIVE ENGINEERING AND IT ENVIRONMENTS WORKSHOP

Overview Presented by: Boyd L. Summers

UML Profile for DDS. a tutorial for OMG Specification in Government Workshop (Real-Time & Embedded Systems) July 13, 2009

Unifying the Global Data Space using DDS and SQL

The Data Distribution Service [Universal Standard for Real-Time Data Sharing]

73rd MORSS CD Cover Page UNCLASSIFIED DISCLOSURE FORM CD Presentation

Addressing the Challenge of Distributed Interactive Simulation With Data Distribution Service

EAD Expected Annual Flood Damage Computation

FIRST IMPRESSION EXPERIMENT REPORT (FIER)

THE FLATWORLD SIMULATION CONTROL ARCHITECTURE (FSCA): A FRAMEWORK FOR SCALABLE IMMERSIVE VISUALIZATION SYSTEMS

Asset Management- Acquisitions

DDS-Enabled Cloud Management Support for Fast Task Offloading

DEFENSE CONTRACT AUDIT AGENCY

Using the Advancement Degree of Difficulty (AD 2 ) as an input to Risk Management

DATA SHARING AND ACCESS WITH A CORBA DATA DISTRIBUTION SERVICE IMPLEMENTATION

Addressing the Challenges of Mission-Critical Information Management in Next-Generation Net-Centric Pub/Sub Systems with OpenSplice DDS

JoramMQ, a distributed MQTT broker for the Internet of Things

Issue Paper. Wargaming Homeland Security and Army Reserve Component Issues. By Professor Michael Pasquarett

Using DDS to Enable The Real-Time Enterprise Service Bus (RT-ESB)

Advanced Micro Ring Resonator Filter Technology

Building Test-Sites with Simware

ELECTRONIC HEALTH RECORDS. Fiscal Year 2013 Expenditure Plan Lacks Key Information Needed to Inform Future Funding Decisions

AFRL-RX-WP-TP

Vortex White Paper. Simplifying Real-time Information Integration in Industrial Internet of Things (IIoT) Control Systems

Addressing the Real-World Challenges in the Development of Propulsion IVHM Technology Experiment (PITEX)

RTI Analyzer. Getting Started Guide

What can DDS do for Android?

The Service Availability Forum Specification for High Availability Middleware

RT 24 - Architecture, Modeling & Simulation, and Software Design

Headquarters U.S. Air Force

DCAA and the Small Business Innovative Research (SBIR) Program

CAPTURE-THE-FLAG: LEARNING COMPUTER SECURITY UNDER FIRE

Multiple Network Marketing coordination Model

Event-based middleware services

Distributed Embedded Systems

Introduction to DDS. Gerardo Pardo-Castellote, Ph.D. Co-chair OMG DDS SIG CTO, Real-Time Innovations

A Fully Standards-Based Approach to Logging High-Throughput Distributed Real-Time Data. Leveraging the DDS and SQL Standards

John Mathieson US Air Force (WR ALC) Systems & Software Technology Conference Salt Lake City, Utah 19 May 2011

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

Architectures for Distributed Real-time Systems

OpenSplice DDS. Angelo CORSARO, Ph.D. Chief Technology Officer OMG DDS Sig Co-Chair PrismTech.

A Survey Study on Monitoring Service for Grid

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

A Limited Objective Experiment on Wireless Peer-To-Peer Collaborative Networking

RTI Data Distribution Service

Guide to Using DoD PKI Certificates in Outlook 2000

Convergence of Distributed Simulation Architectures Using DDS

Security Model and Enforcement for Data-Centric Pub/Sub with High Information Assurance Requirements

Mobile Robot Knowledge Base

Development and Support for the USGODAE Server

Mr. Steve Mayer, PMP, P.E. McClellan Remediation Program Manger Air Force Real Property Agency. May 11, 2011

In June 1998 the Joint Military Intelligence. Intelligence Education for Joint Warfighting A. DENIS CLIFT

Smart Grid Innovation: A Look at a Microgrid Testbed Industrial Internet Energy Summit Houston, TX June 23, Brett Burger, NI Brett Murphy, RTI

Cancellation of Nongroup Health Insurance Policies

Dynamic Resource Management Architecture Patterns

Bryan Tuft Sr. Sales Consultant Global Embedded Business Unit

An Application of an Iterative Approach to DoD Software Migration Planning

MIDDLEWARE 1. Figure 1: Middleware Layer in Context

Application of a CAN BUS transport for DDS Middleware

Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware

A DOCTORAL PROGRAM WITH SPECIALIZATION IN INFORMATION SECURITY A High Assurance Constructive Security Approach

Pima Community College Planning Grant For Autonomous Intelligent Network of Systems (AINS) Science, Mathematics & Engineering Education Center

Analysis of a potential use of middleware technologies for railway domain

Huang-Ming Huang and Christopher Gill. Bala Natarajan and Aniruddha Gokhale

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE

Netowork QoS Provisioning Engine for Distributed Real-time and Embedded Systems

Adaptive Real-time Infrastructure for a complete OMG Model Driven Architecture.

Solace s Solutions for Communications Services Providers

Archive Data Retention & Compliance. Solutions Integrated Storage Appliances. Management Optimized Storage & Migration

Intelligence Community Public Key Infrastructure (IC PKI)

Tactical Service Bus: The flexibility of service oriented architectures in constrained theater environments

Persistent, Reliable JMS Messaging Integrated Into Voyager s Distributed Application Platform

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Applying Model Driven Development to the DDS Domain Bruce Trask Hans van t Hag

Integrated Force Method Solution to Indeterminate Structural Mechanics Problems

DEFENSE BUSINESS PRACTICE IMPLEMENTATION BOARD

CERT Virtual Flow Collection and Analysis

Service-Oriented Architecture and Software Engineering

Coordinated Operation Capability Using Scalable C2

Service and Resource Discovery in Smart Spaces Composed of Low Capacity Devices

Transcription:

OMG -Distribution Service (DDS): Architectural Overview Gerardo Pardo-Castellote Real-Time Innovations, Inc. (RTI) Phone: 1-408-734-4200, x106 Email: pardo@rti.com Topic Areas Software Architectures, Reusability, Scalability, and Standards Middleware Libraries and Application Programming Interfaces Fault-Tolerant Hardware and Software Techniques Summary The OMG -Distribution Service (DDS) is a new specification for publish-subscribe datadistribution systems. The purpose of the specification is to provide a common application-level interface that clearly defines the data-distribution service. The specification describes the service using UML, providing a platform-independent model that can then be mapped into a variety of concrete platforms and programming languages. This paper introduces the OMG DDS specification, describes the main aspects of the model, compares it with related technologies, and gives examples of the communication scenarios it supports. This paper and presentation will clearly explain the important differences between data-centric publish-subscribe and object-centric client-server (e.g. CORBA) communications, along with the applicability of each for real-time systems. The OMG DDS attempts to unify the common practice of several existing implementations enumerating and providing formal definitions for the Quality of Service (QoS) settings that can be used to configure the service. Publish-subscribe networking is a key component of the Navy Open Systems Architecture (Navy OA) initiative. This talk will also highlight practical publish-subscribe implementations in Navy systems such as LPD 17, SSDS, and DD(X). Background The goal of the DDS specification is to facilitate the efficient distribution of data in a distributed system. Participants using DDS can read and write data efficiently and naturally with a typed interface. Underneath, the DDS middleware will distribute the data so that each reading participant can access the most-current values. In effect, the service creates a global data space that any participant can read and write. It also creates a name space to allow participants to find and share objects.

Report Documentation Page Form Approved OMB No. 0704-0188 Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if it does not display a currently valid OMB control number. 1. REPORT DATE 01 FEB 2005 2. REPORT TYPE N/A 3. DATES COVERED - 4. TITLE AND SUBTITLE OMG -Distribution Service (DDS) 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER 6. AUTHOR(S) 5d. PROJECT NUMBER 5e. TASK NUMBER 5f. WORK UNIT NUMBER 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) Real-Time Innovations, Inc. (RTI) 8. PERFORMING ORGANIZATION REPORT NUMBER 9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR S ACRONYM(S) 12. DISTRIBUTION/AVAILABILITY STATEMENT Approved for public release, distribution unlimited 11. SPONSOR/MONITOR S REPORT NUMBER(S) 13. SUPPLEMENTARY NOTES See also ADM001742, HPEC-7 Volume 1, Proceedings of the Eighth Annual High Performance Embedded Computing (HPEC) Workshops, 28-30 September 2004., The original document contains color images. 14. ABSTRACT 15. SUBJECT TERMS 16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF ABSTRACT UU a. REPORT unclassified b. ABSTRACT unclassified c. THIS PAGE unclassified 18. NUMBER OF PAGES 28 19a. NAME OF RESPONSIBLE PERSON Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std Z39-18

DDS targets real-time systems; the API and QoS are chosen to balance predictable behavior and implementation efficiency/performance. We will note some of these tradeoffs in this paper. -Centric versus Object-Centric communications models Central to understanding the need for this new standard is an examination of the fundamental architectural differences between a data-centric and object-centric view of information communicated in a distributed real-time system. DDS provides a natural counterpoint to the existing well-known CORBA model in which method invocations on remote objects are accessed through an interface defined in the Interface Descriptor Language (IDL). With CORBA, data is communicated indirectly through arguments in the method invocations or through their return values. However, in many real-time applications the communications pattern is often modeled as pure data-centric exchange where applications publish supply or stream) data which is then available to the remote applications that are interested in it. Of primary concern is the efficient distribution of data with minimal overhead and the need to scale to hundreds or thousands of subscribers in a robust, fault-tolerant manner. These types of applications can be found in C4I systems, distributed control and simulation, telecom equipment control, and network management. Comparison to Distributed Shared Memory Additional requirements of many real-time applications include the need to control QoS properties that affect the predictability, overhead, and resources used. Distributed shared memory is a classic model that provides data-centric exchanges. However, this model is particularly difficult and unnatural to implement efficiently over the Internet. Therefore, another model, the -Centric Publish-Subscribe (DCPS) model, has become popular in many real-time applications. While there are several commercial and in-house developments providing this type of facility, to date, there have been no general-purpose datadistribution standards. As a result, no common models directly support a data-centric system for information exchange. The OMG -Distribution Service (DDS) is an attempt to solve this situation. The specification also defines the operations and QoS attributes each of these objects supports and the interfaces an application can use to be notified of changes to the data or wait for specific changes to occur. Comparison to existing OMG Notification Service This paper will examine the fact that, while it is theoretically possible for an application developer to use the OMG Notification Service to propagate the changes to data structures to provide the functionality of the DDS, doing this would be significantly complex because the

Notification Service does not have a concept of data objects or data-object instances nor does it have a concept of state coherence. Comparison to existing High-Level Architecture (HLA) Run-Time Infrastructure (RTI) HLA, also known as the OMG Distributed Simulation Facility, is a standard from both IEEE and OMG. It describes a data-centric publish-subscribe facility and a data model. The OMG specification is an IDL-only specification and can be mapped on top of multiple transports. The specification address some of the requirements of data-centric publish subscribe: the application uses a publish-subscribe interface to interact with the middleware, and it includes a data model and supports content-based subscriptions. However, the HLA data model supports a specialization hierarchy, but not an aggregation hierarchy. The set of types defined cannot evolve over time. Moreover, the data elements themselves are un-typed and un-marshaled (they are plain sequences of octets). HLA also offers no generic QoS facilities. Applications This paper will describe the successful implementation of data-centric publish-subscribe communications in distributed modeling and simulation (M&S) as well as deployed Navy systems (pending release permissions). The presentation can include examples (depending on audience interest and familiarity) such as: Ship: Ground: Air: Space: Raytheon/Lockheed Martin LPD-17 Program CLIP/LINK tactical communications Program F-35 JSF EW Subsystem NASA Robonaut Program

Distribution Service Gerardo Pardo-Castellote, Ph.D. Real-Time Innovations, Inc.

DDS Standard Distribution Service for Real-Time Systems Adopted in June 2003 Finalized in June 2004 Joint submission (RTI, THALES, MITRE, OIS) API specification for -Centric Publish-Subscribe communication for distributed real-time systems. RTI s role Member of OMG since 2000 Co-authors of the original DDS RFP Co-authors of the DDS specification adopted in June 2003 Chair of the DDS Finalization Task Force completed March 2004 Chair of the DDS Revision Task Force Providers of a COTS implementation of the specification (NDDS.4.0)

OMG Middleware standards CORBA Distributed object Client/server Remote method calls Reliable transport Best for Remote command processing File transfer Synchronous transactions DDS Distributed data Publish/subscribe Multicast data Configurable QoS Best for Quick dissemination to many nodes Dynamic nets Flexible delivery requirements DDS and CORBA address different needs Complex systems often need both

More Complex Distributed Application New nodes are not dynamically Discovered Socket connections needed for each path Future upgrades require re-design App SW must perform endian conversion App SW Linux Temp Sensor App SW RTOS Socket Connections App SW Solaris App SW Windows

The net-centric vision Vision for net-centric applications Total access to information for real-time applications This vision is enabled by the internet and related network technologies Challenge: Provide the right information at the right place at the right time no matter what.

Challenges: Factors driving DDS Need for speed Large networks, multicast High data rates Natural asynchrony Tight latency requirements Continuously-refreshed data Complex data flows Controlled QoS: rates, reliability, bandwidth Per-node, or per-stream differences Varied transports (incl. Unreliable e.g. wireless) Dynamic configurations Fast location transparency Fault tolerance No single-points of failure Transparent failover

DDS Provides a Global Space that is accessible to all interested applications. objects addressed by Topic and Key Subscriptions are decoupled from Publications Contracts established by means of QoS Automatic discovery and configuration Distributed Node Distributed Node P P P Global Space P P P P X P Distributed Node Distributed Node Distributed Node Distributed Node

object addressing: Keys Address in Global Space = (Topic, Key) Multiple instances of the same topic Used to sort specific instances Do not need a separate Topic for each data-object instance Topic Topic key can be any field within the Topic. Example: Loc 1, GPS Pos 1 2 3 Loc 2, GPS Pos 1 2 3 4 Loc 3, GPS Pos 1 2 3 Reader Subscriber struct LocationInfo { int LocID; //key GPSPos pos; }; S2S1

DDS communications model Failed to produce data Listener Track Offered QoS Failed to get data Listener Requested QoS Publisher declares information it has and specifies the Topic and the offered QoS contract and an associated listener to be alerted of any significant status changes Subscriber declares information it wants and specifies the Topic and the requested QoS contract and an associated listener to be alerted of any significant status changes DDS automatically discovers publishers and subscribers DDS ensures QoS matching and alerts of inconsistencies

DCPS Entities Publisher Topic DomainParticipant Subscriber Writer Publisher Reader DomainParticipant ~ Represents participation of the application in the communication collective Writer ~ Accessor to write typed data on a particular Topic Publisher ~ Aggregation of Writer objects. Responsible for disseminating information. Reader ~ Accessor to read typed data regarding a specific Topic Subscriber ~ Aggregation of Reader objects. Responsible for receiving information

Domains and Participants Domain Domain 1 2 1 3 1 1 2 3 DomainParticipant Domain Node Node

DDS Publication Topic Sample Domain Participant Writer S User Application: Creates all DDS entities Configures entity QoS Associates DW with Topic Provides data to DW Publisher

Example: Publication Publisher publisher = domain->create_publisher( publisher_qos, publisher_listener); Topic topic = domain->create_topic( Track, TrackStruct, topic_qos, topic_listener); Writer writer = publisher->create_datawriter( topic, writer_qos, writer_listener); TrackStructWriter twriter = TrackStructWriter::narrow(writer); TrackStruct my_track; twriter->write(&my_track);

DDS Subscription Listener Listener: read,take User Application: Creates all DDS entities Configures entity QoS Associates DR with Topic Receives from DR using a Listener S Topic Reader Subscriber Domain Participant Listener DATA_AVAILABLE Listener DATA_ON_READERS S

Example: Subscription Subscriber subs = domain->create_subscriber( subscriber_qos, subscriber_listener); Topic topic = domain->create_topic( Track, TrackStruct, topic_qos, topic_listener); Reader reader = subscriber->create_datareader( topic, reader_qos, reader_listener); // Use listener-based or wait-based access

How to get data (listener-based) Listener listener = new MyListener(); reader->set_listener(listener); MyListener::on_data_available( Reader reader ) { TrackStructSeq received_data; SampleInfoSeq sample_info; TrackStructReader treader = TrackStructReader::narrow(reader); treader->take( &received_data, &sample_info, ) } // Use received_data

QoS Contract Request / Offered Topic QoS:Durability QoS:Presentation QoS:Deadline QoS:Latency_Budget QoS:Ownership QoS:Liveliness QoS:Reliability QoS Request / Offered: Ensure that the compatible QoS parameters are set. Topic QoS not compatible Writer Offered QoS Reader Requested QoS Publisher Subscriber Communication not established X

QoS: History: Last x or All KEEP_LAST: depth integer for the number of samples to keep at any one time Topic Topic KEEP_ALL: Publisher: keep all until delivered Subscriber: keep each sample until the application processes that instance Writer Keep All Publisher S1 S2 S3 S4 S5 S6 S7 Writer KeepLast 2 Publisher S6 S7 Reader Keep all Subscriber S3 S4 S5 S6 S7 Reader KeepLast4 Subscriber S4 S5 S6 S7 S7 S6 S5 S4 S3 S7 S6 S5 S4 S3 S2 S1

QoS: Deadline Topic DEADLINE deadline period Writer Commits to provide data each deadline period. Failed to get data Listener Reader Publisher Expects data every deadline period. Subscriber deadline S X S S S S S

QoS: Liveliness Type, Duration Domain Participant Writer Topic Failed to renew lease Type: AUTOMATIC = Infrastructure Managed MANUAL = Application Managed Listener Domain Participant Reader Publisher Subscriber LP S LP X LP lease_duration Liveliness Message

QoS: Time_Based_Filter Domain Participant Topic minimum_separation : Reader does not want to receive data faster than the min_separation time Writer Reader Publisher Discarded samples Subscriber S S S S S S S minimum separation Samples

QoS: Quality of Service (1/2) QoS Policy Concerns RxO Changeable DEADLINE T,DR,DW YES YES LATENCY BUDGET T,DR,DW YES YES READER DATA LIFECYCLE DR N/A YES WRITER DATA LIFECYCLE DW N/A YES TRANSPORT PRIORITY T,DW N/A YES LIFESPAN T,DW N/A YES LIVELINESS T,DR,DW YES NO TIME BASED FILTER DR N/A YES RELIABILITY T,DR,DW YES NO DESTINATION ORDER T,DR NO NO

QoS: Quality of Service (2/2) QoS Policy Concerns RxO Changeable USER DATA DP,DR,DW NO YES TOPIC DATA T NO YES GROUP DATA P,S NO YES ENTITY FACTORY DP, P, S NO YES PRESENTATION P,S YES NO OWNERSHIP T YES NO OWNERSHIP STRENGTH DW N/A YES PARTITION P,S NO YES DURABILITY T,DR,DW YES NO HISTORY T,DR,DW NO NO RESOURCE LIMITS T,DR,DW NO NO

Summary DDS targets applications that need to distribute data in a real-time environment DDS is highly configurable by QoS settings DDS provides a shared global data space Any application can publish data it has Any application can subscribe to data it needs Automatic discovery Facilities for fault tolerance Heterogeneous systems easily accommodated Distributed Node P Global Space P P P Distributed Node Distributed Node

Thank you References: OMG DDS specification: http://www.omg.org/cgi-bin/doc?ptc/04-04-12 General material on DDS and RTI s implementation: http://www.rti.com/dds Comments/questions: gerardo@rti.com