NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By: Chris Lee
1/28/2016 4:08 PM 2 of 27 NDDS: Outline ➢ Real-Time Data Flow Semantics ➢ Communication Architectures ➢ The Publish-Subscribe Model ➢ The Real-Time Publish-Subscribe Model ➢ NDDS Introduction ➢ Performance
1/28/2016 4:08 PM 3 of 27 Real-Time Data Flow Semantics ➢ Understanding Flow Types Critical to RT ➢ Signals (change constantly) ➢ Time-critical: Updates are useless if old. ➢ Idempotent: Repeated updates are acceptable. ➢ Last-is-best: Latest information is more important than retrying missed samples ➢ Commands (sequential instructions) ➢ Status (gives state or goal) ➢ Events (synchronize asynchronous operations) ➢ Requests (specific request for data)
1/28/2016 4:08 PM 4 of 27 Properties of Signals ➢ Signals ➢ Rapid in nature ➢ Short persistance ➢ High bandwidth ➢ Most recent value is more important ➢ Example ➢ Water-level sensor for pumps
1/28/2016 4:08 PM 5 of 27 Properties of Commands ➢ Commands ➢ Delivered in-order ➢ Delivered once and only once ➢ Often not time-critical ➢ Example ➢ Open a pump valve by 10%
1/28/2016 4:08 PM 6 of 27 Properties of Status ➢ Status ➢ Usually persists for some time interval ➢ Single delivery is usually not critical ➢ May not be time critical or reliable ➢ Example ➢ Tank low status
1/28/2016 4:08 PM 7 of 27 Properties of Request ➢ Request ➢ Could be blocking or non-blocking ➢ Not uniform, each request different ➢ Example ➢ Request a pumps value setting
1/28/2016 4:08 PM 8 of 27 Communication Architectures ➢ Three Major Architectures ➢ Client-Server Architectures ➢ All data flows through the server to the clients. ➢ Could become bottleneck of communication. ➢ Expensive point of failure. ➢ Object Brokers ➢ Relies on broker to route requests ➢ Cumbersome for multi-to-multi communicaitos ➢ Little support for deterministic delivery ➢ Publish-Subscribe (Next slide)
1/28/2016 4:08 PM 9 of 27 The Publish-Subscribe Model ➢ Publish-Subscribe Model ➢ Simplifies one-to-many data-distribution ➢ Publishers send data anonymously ➢ Subscribers receive data anonymously
1/28/2016 4:08 PM 10 of 27 Publish-Subscribe Advantages ➢ Publish-Subscribe are best-suited to distributed applications because... ➢ Applications are modular and scalable ➢ Easy to manage regardsless of scale ➢ Data subscribed by name ➢ Easy redundancy* ➢ Efficient bandwidth utilization ➢ Not well suited for... ➢ Sporadic request/response traffic *When multiple publishers and subscribers can be supported, this allows programs to be replicated and moved transparently.
1/28/2016 4:08 PM 11 of 27 Characteristics of P-S ➢ Characteristics of Publish-Subscribe ➢ Distict declaration and delivery ➢ Publisher declares intent to publish. ➢ Subscriber declares interest. ➢ Publisher sends a publication issue. ➢ Named publications ➢ Many-to-many communications support ➢ Event-driven transfer
1/28/2016 4:08 PM 12 of 27 PS Middleware ➢ The Publish-Subscribe Middleware ➢ Maintains a database that maps publishers to subscribers forming logical data channels ➢ Marshals/Demarshals data from pub to sub ➢ Delivers data when published Application Programming Application Programming Publish-subscribe Middleware Operating System Network Interface
1/28/2016 4:08 PM 13 of 27 Goals of Real Time PS ➢ Goals of Real Time Publish-Subscribe ➢ Delivery timing control ➢ Reliability control ➢ Request-reply semantics* ➢ Flexible delivery bandwidth ➢ Fault tolerance** ➢ Selective degradation ➢ Robustness ➢ Dynamic scalability ➢ Efficiency * Does not fit will into PS semantics. ** Could Use “hot standby” publishers and subscribers. * Does not fit will into PS semantics. ** Could Use “hot standby” publishers and subscribers.
1/28/2016 4:08 PM 14 of 27 The RTPS Model ➢ The Real-Time Publish-Subscribe Model ➢ Extends the PS model for timing-control and client-server communication ➢ Publication Parameters ➢ Subscription Parameters ➢ Reliability and Time-Determinism ➢ Client-Server Requests
1/28/2016 4:08 PM 15 of 27 Publication Parameters ➢ Publication Parameters ➢ Four parameters: ➢ Topic – label that identifies each data flow. ➢ Type – describes the data format. ➢ Strength – indicates publisher's weight relative to other publishers of the same topic. ➢ Persistence – indicates how long a publication is valid.
1/28/2016 4:08 PM 16 of 27 Subscription Parameters ➢ Subscription Parameters ➢ 4 parameters ➢ Topic & Type (same as publication properties) ➢ Minimum separation ➢ Interval were no new issues are accepted. ➢ Deadline ➢ Max time a subscriber should wait for the next issue.
1/28/2016 4:08 PM 17 of 27 Reliability and Time-Determinism ➢ Reliability and Time-Determinism ➢ Publishers and Subscribers buffer issues ➢ Ensures that subscribers receive issues in the proper sequence ➢ Uses issue sequence numbers ➢ Subscribers request missing issues ➢ Issues removed from buffer when all subscribers receive the issue
1/28/2016 4:08 PM 18 of 27 Client-Server Requests ➢ Client-Server Requests ➢ Breaks the PS model; two-way traffic ➢ RTPS makes requests consistant with PS model by implementing requests via a named services. ➢ Has separate data types for request and reply ➢ Has best-then-first semantics ( Next Slide )
1/28/2016 4:08 PM 19 of 27 Best Then First Semantics ➢ Best Then First Semantics ➢ Client specifies a minimum wait and timeout for a reply ➢ Client will choose “strongest” reply received by the first decision time, unless no reply has come in which the client will choose the first reply or timeout.
1/28/2016 4:08 PM 20 of 27 NDDS Introduction ➢ Network Data Delivery Service ➢ Middleware for distributed, real-time application development ➢ Uses publish-subscribe to: ➢ Handle one-to-many and many-to-many data distribution. ➢ Meet RT and reliability objective though customizable middleware. ➢ Provide application-transparent fault tolerance and system robustness
1/28/2016 4:08 PM 21 of 27 NDDS Outline ➢ NDDS Outline ➢ Architectural Overview ➢ Middleware layers ➢ Symmetric Design ➢ RTPS Enhancements ➢ Patterned subscriptions ➢ Customizing reliability requirements ➢ Multicast support
1/28/2016 4:08 PM 22 of 27 NDDS Architectural Overview ➢ Architectural Overview ➢ Library ➢ Linked into application ➢ Database ➢ Keeps information about nodes ➢ Tasks ➢ Performs message addressing ➢ Marshaling/Demarshaling ➢ Transports
1/28/2016 4:08 PM 23 of 27 Symmetric Design ➢ Symmetric Design ➢ NDDS maintains a database at each node ➢ Robust: No “special” or “central” nodes that can fail ➢ Nodes can join and leave at any time
1/28/2016 4:08 PM 24 of 27 RTPS Enhancements ➢ RTPS Enhancements ➢ Pattern subscriptions ➢ Allows subscriber to receive a set of related publications without subscribing to each one ➢ Customizing reliability requirements ➢ Reliability vs. Determinism controlled by programmer ➢ Multicast support ➢ Provides flexibility for high bandwidth data (at a cost of latency)
1/28/2016 4:08 PM 25 of 27 NDDS Performance Latency Total end-to-end delay form publisher to subscriber for different publication issue sizes. Found to be largely independent of packet loss rates. Latency Total end-to-end delay form publisher to subscriber for different publication issue sizes. Found to be largely independent of packet loss rates.
1/28/2016 4:08 PM 26 of 27 Maximum Rate and Throughput Throughput Maximum issue rate and corresponding publisher-to- subscriber thoughtput for different issue sizes. Heavily dependent on sample size and acceptable packet loss. Throughput Maximum issue rate and corresponding publisher-to- subscriber thoughtput for different issue sizes. Heavily dependent on sample size and acceptable packet loss.
1/28/2016 4:08 PM 27 of 27 References ➢ G. Pardo-Castellote, S. Schneider, and M. Hamilton, “NDDS: The Real-Time Publish-Subscriber Middleware”, Real-Time Innovations, Inc., August ➢ G Parso-Castellote, S. Thiebaut, M. Hamilton, H. Choi, “Real- Time Publish-Subscribe Protocol for Distributed Real-Time Applications”, Real-Time Innovations, Inc., September ➢ Bob Kindel, “Publish-Subscribe Middleware for Real-Time Applications”, PowerPoint presentation, July _ __qos_bos_real-time_bob_kindel.pdf