Object Management Group's
DDS formal/04-12-02) provides a
new data distribution interoperability standard for a
diverse real-time computing environments ranging from
small networked embedded systems to large-sclae information backbones.
Based on a publisher-subscriber architecture, the
defines clear interfaces that enable applications running on
heterogeneous platforms to communicate with each other simply by
publishing and subscribing the information they need. By pervasive use
of Quality of Service (QoS) parameters, DDS also allows
applications to configure the publish-subscribe system in a highly
flexible manner, thus providing performance predicability and
resource control required by misson-critical environments.Compared to
CORBA and DCOM which are client-server communication model,
Publish-Subscribe is more efficient in both latency and bandwith for
periodic data exchange because it is designed as a pure data-centric
model. Figure 1 gives a overall architacture of DDS.
goal of RT-DEEP is to get familar with different flavors of COTS DDS
implementations, examine the capabilities they provide, and evaluate
real-time DDS performance by comparing different DDS implementations as
well as by comparing DDS with other pub/sub mechanisms.
Comparing different DDS Implementations - Right now there are several primary COTS DDS middleware vendors. Open-source DDS development projects include OpenDDS . OpenDDS provides an open-source C++ implementation of the DDS specification based ACE. After a year of beta testing, OpenDDS is now being used in production systems and has achieved a formal version 1 release.
As other DDS implementations become available users will need to choose the right one(s) to meet their application QoS requirements. Different implementations may address certain parts of the DDS specifications with different methods, thus affecting the QoS of those part in different ways. It is the goal of RT-DEEP to investigate these variants and discover the architectural differences in various products that may affect ability of products to scale to large number of processors & processes.
with other pub/sub
mechanisms - As
a powerful communication pattern, Publish/Subscribe mechanism has been
commonly offered by many distrbuted systems as core system services.
Examples include Java
Messaging Service, Web
Pub-Sub Notification, and CORBA
Notificaton Service. Sun's Java Messaging Service (JMS) is a message-oriented
middleware standard that defines common ways for Java
create, send, receive and read enterprise messaging system's messages.
One of the most common messaging models JMS provides is a Pub/Sub model
in which Java objects/components that represent publishers publish
enterprising messages to a
and all the subscribers (Java objects/components) to the topic will receive
sent to that topic.
Publish-Subscribe Notification for Web Services (WS-pubsub) is part of Web
Service Resource Framework which defines standard web
approach to publish/subscribe pattern. In the WS-PubSub model, a
publisher is represented by a web service NotifiationProducer,
subscriber by a web service NotificationConsumer.
In a typical application scenario, a service requestor, as a
subscriber, sends a subscription to NotificationProducer
webservice, indicating the interest topic and the address of a NotifciationConsumer.When
certain situation is
triggered, the NotificationProducer
will send out
with a topic to the interst parties. CORBA notification service is a
OMG event service standards which allows multiple event suppliers to
send events to multiple consumers. It decouples event suppliers from
event consumers by using event channels. As we can see, all the three
services mentioned above provides similar pub/sub mechanisms for
real-time applications, and both JMS and WS-PubSub reply on topics to connect
subscribers and vice versa, which is simialr to DDS. So it is also the
goal of RT-DEEP to compare DDS with all the existing pub/sub
||time between the call to publish data operation and the return of the read/take operation|
Best Effort publish
Notification for Web