ndds: the real-time publish subscribe middleware network data delivery service an efficient...

27
NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By: Chris Lee

Upload: abigayle-watkins

Post on 17-Jan-2018

242 views

Category:

Documents


0 download

DESCRIPTION

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)

TRANSCRIPT

Page 1: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

NDDS: The Real-Time Publish Subscribe Middleware

Network Data Delivery ServiceAn Efficient Real-Time Application Communications PlatformPresented By: Chris Lee

Page 2: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 3: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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)

Page 4: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 5: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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%

Page 6: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 7: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 8: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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)

Page 9: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 10: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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.

Page 11: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 12: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 13: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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.

Page 14: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 15: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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.

Page 16: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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.

Page 17: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 18: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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 )

Page 19: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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.

Page 20: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 21: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 22: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 23: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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

Page 24: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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)

Page 25: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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.

Page 26: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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.

Page 27: NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:

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