OMG Data-Distribution Service: Architectural Overview
Pardo
publish/subscribe pub/sub dds
@inproceedings{pardo:dcs-2003,
title={{OMG} {Data}-{Distribution} {Service}: Architectural Overview},
author={Pardo-Castellote, G.},
booktitle={Workshops of the International Conference on
Distributed Computing},
pages={200--206},
year={2003},
organization={{IEEE}}
}
Decoupling between producers and consumers
Differentiates between:
- Signals: Constantly changing data, such as sensor values; typically ok with best effort
- Streams: Snapshots of data; typically requires reliably
Supports a number of QoS parameters
Topics are associated with schemas defining how they may be parsed
- Content-based filtering provided locally
Based less around messages than around updating data objects
- Capturing state rather than messages
Uses topics and keys to address updates
- Keys uniquely define data objects within that topic
- Key types depend on the object type
- Can be structured, e.g., airline and flight number
Focused on supporting real time systems
- Data writes don't necessarily trigger network activity
- Controlled by publisher object, QoS
Objects can be deleted
Applications can provide hints to the middleware about batches of updates about to be made
Provides blocking and asynchronous subscription interfaces
Orders state changes
Provides for transactions updating multiple objects at once
- Can't be aborted like DB transactions