NDDS: The Real-Time Publish Subscribe Middleware
Network Data Delivery ServiceAn Efficient Real-Time Application Communications PlatformPresented By: Chris Lee
05/03/23 16:33 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
05/03/23 16:33 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)
05/03/23 16:33 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
05/03/23 16:33 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%
05/03/23 16:33 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
05/03/23 16:33 7 of 27
Properties of Request
➢Request➢ Could be blocking or non-blocking➢ Not uniform, each request different
➢Example➢ Request a pumps value setting
05/03/23 16:33 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)
05/03/23 16:33 9 of 27
The Publish-Subscribe Model
➢Publish-Subscribe Model➢ Simplifies one-to-many data-distribution➢ Publishers send data anonymously➢ Subscribers receive data anonymously
05/03/23 16:33 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.
05/03/23 16:33 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
05/03/23 16:33 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
ApplicationProgramming
Publish-subscribeMiddleware
Operating SystemNetwork Interface
05/03/23 16:33 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.
05/03/23 16:33 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
05/03/23 16:33 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.
05/03/23 16:33 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.
05/03/23 16:33 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
05/03/23 16:33 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 )
05/03/23 16:33 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.
05/03/23 16:33 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
05/03/23 16:33 21 of 27
NDDS Outline
➢NDDS Outline➢ Architectural Overview
➢ Middleware layers➢ Symmetric Design
➢ RTPS Enhancements➢ Patterned subscriptions➢ Customizing reliability requirements➢ Multicast support
05/03/23 16:33 22 of 27
NDDS Architectural Overview
➢Architectural Overview➢ Library
➢ Linked into application➢ Database
➢ Keeps information about nodes➢ Tasks
➢ Performs message addressing➢ Marshaling/Demarshaling➢ Transports
05/03/23 16:33 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
05/03/23 16:33 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)
05/03/23 16:33 25 of 27
NDDS Performance
LatencyTotal end-to-end delay form publisher to subscriber for different publication issue sizes.
Found to be largely independent of packet loss rates.
05/03/23 16:33 26 of 27
Maximum Rate and Throughput
ThroughputMaximum issue rate and corresponding publisher-to-subscriber thoughtput for different issue sizes.
Heavily dependent on sample size and acceptable packet loss.
05/03/23 16:33 27 of 27
References
➢ G. Pardo-Castellote, S. Schneider, and M. Hamilton, “NDDS: The Real-Time Publish-Subscriber Middleware”, Real-Time Innovations, Inc., August 1999.
➢ G Parso-Castellote, S. Thiebaut, M. Hamilton, H. Choi, “Real-Time Publish-Subscribe Protocol for Distributed Real-Time Applications”, Real-Time Innovations, Inc., September 2001.
➢ Bob Kindel, “Publish-Subscribe Middleware for Real-Time Applications”, PowerPoint presentation, July 2002. http://www.opengroup.org/boston-jul02/uploads/ 40_1028305308__qos_bos_real-time_bob_kindel.pdf