Data Distribution Service: Difference between revisions

Content deleted Content added
m I have added some important informations about different types of Data Distribution Services and its benifits also about How to choose a Data Distribution Service. Its very very important information to users. Thank you sir/Madam. I will do my level best
 
(8 intermediate revisions by 8 users not shown)
Line 1:
{{Short description|Object Management Group standard}}
{{Multiple issues|
{{Advert|date=July 2020}}{{third-party|date=July 2014}}
{{Promotional|date=July 2020}}
{{independent sources|date=July 2014}}
}}
 
The '''Data Distribution Service''' ('''DDS''') for real-time systems is an [[Object Management Group]] (OMG) [[machine-to-machine]] (sometimes called [[middleware]] or connectivity framework) standard that aims to enable [[Safety-critical|dependable]], [[Many-task computing|high-performance]], [[interoperable]], [[Real-time computing|real-time]], [[Scalability|scalable]] [[data exchange]]s using a [[publish–subscribe pattern]].
 
DDS addresses the real-time data exchange needs of applications likewithin aerospace and, defense, [[air-traffic control]], [[autonomous vehicles]], medical devices, robotics, power generation, simulation and testing, [[smart grid]] management, transportation systems, and other applications that require real-time data exchange.
 
== Architecture ==
Line 20 ⟶ 24:
 
DDS allows the user to specify [[quality of service]] (QoS) parameters to configure discovery and behavior mechanisms up-front. By exchanging messages anonymously, DDS simplifies distributed applications and encourages modular, well-structured programs. {{citation needed|date=October 2019}}
DDS also automatically handles hot-swapping redundant publishers if the primary fails. {{citation needed|date=October 2019}} Subscribers always get the sample with the highest priority whose data is still valid (that is, whose publisher-specified validity period has not expired){{citation needed|date=January 2024}}. It automatically switches back to the primary when it recovers, too{{citation needed|date=January 2024}}.
 
=== Interoperability ===
Both proprietary and [[open-source software]] implementations of DDS are available. These include [[application programming interface]]s (APIs) and libraries of implementations in [[Ada (programming language)|Ada]], [[C (programming language)|C]], [[C++]], [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Python (programming language)|Python]], [[Scala (programming language)|Scala]], [[Lua (programming language)|Lua]], [[Pharo]] and, [[Ruby (programming language)|Ruby]]., and [[Rust (programming language)|Rust]].
 
DDS vendors participated in interoperability demonstrations at the OMG Spring technical meetings from 2009 to 2013.<ref name="2009DemoNotes">{{Cite web|url=http://www.omg.org/news/meetings/GOV-WS/pr/rte-pres/ddsi-demo.pdf|title=DDS Interoperability Demo|author=Angelo Corsaro, Gerardo Pardo-Castellote and Clark Tucker|date=August 12, 2009|publisher=Object Management Group|archive-url=https://web.archive.org/web/20110915193450/http://www.omg.org/news/meetings/GOV-WS/pr/rte-pres/ddsi-demo.pdf|archive-date=September 15, 2011|url-status=dead|access-date=November 9, 2016}}</ref><ref name="2010DemoNotes">{{Cite web|url=https://d2vkrkwbbxbylk.cloudfront.net/sites/default/files/dds_interop_demo_santa_clara_dds_2010_12_04.pdf|title=DDS Interoperability Demo December 2010|date=December 11, 2010|publisher=Real-Time Innovations, Inc|access-date=November 9, 2016}}</ref><ref name="2011DemoNotes">2011, March 2011, https://community.rti.com/content/presentation/omg-dds-interoperability-demo-2011</ref><ref name="2012DemoNotes">2012, March 2012, https://community.rti.com/content/presentation/omg-dds-interoperability-demo-2012</ref><ref name="2013DemoNotes">2013, March 2013, http://www.slideshare.net/GerardoPardo/dds-interoperability-demo-2013-washington-dc</ref><ref>{{Cite web|url=https://www.youtube.com/watch?v=Bn56V0NLW1E |archive-url=https://web.archive.org/web/20140107013946/http://www.youtube.com/watch?v=Bn56V0NLW1E |archive-date=2014-01-07 |url-status=dead|title=DDS Interoperability Demonstration|date=December 14, 2010|work=video|publisher=Real-Time Innovations|access-date=November 9, 2016}}</ref>
Line 44 ⟶ 48:
 
== History ==
Development of the DDS specification started in 2001. It was developed by Real-Time Innovations (RTI), a software framework company, and [[Thales Group]], a French defense company. In 2004, the [[Object Management Group]] (OMG) published DDS version 1.0.<ref>{{Cite web |title= Data Distribution Service (DDS), Version 1.0 |date= December 2, 2004 |publisher= Object Management Group |url= http://www.omg.org/spec/DDS/1.0 |access-date= November 9, 2016 }}</ref> Version 1.1 was published in December 2005,<ref>{{Cite web |title= Data Distribution Service (DDS), Version 1.1 |date= December 4, 2005 |url= http://www.omg.org/spec/DDS/1.1 |access-date= November 9, 2016 }}</ref> 1.2 in January 2007,<ref>{{Cite web |title= Data Distribution Service (DDS), Version 1.2 |date= January 1, 2007 |url= http://www.omg.org/spec/DDS/1.2 |access-date= November 9, 2016 }}</ref> and 1.4 in April 2015.<ref>{{Cite web |title= Data Distribution Service (DDS), Version 1.4 |date= April 10, 2015 |url= http://www.omg.org/spec/DDS/1.4 |access-date= November 9, 2016 }}</ref>
DDS is covered by several US patents,<ref>[https://wwwpatents.google.com/patentspatent/US8874686 US Patent US8874686]</ref><ref>[httphttps://wwwpatents.google.com/patentspatent/US8671135 US Patent US8671135]</ref><ref>[httphttps://wwwpatents.google.com/patentspatent/US8150988 US Patent US8150988]</ref><ref>[httphttps://wwwpatents.google.com/patentspatent/US9015672 US Patent US9015672]</ref> among others.
 
The DDS specification describes two levels of interfaces:
Line 60 ⟶ 64:
 
Extensible and Dynamic Topic Types for DDS (DDS-XTypes) provided support for data-centric publish-subscribe communication where topics are defined with specific data structures. To be ''extensible'', DDS topics use data types defined before compile time and used throughout the DDS global data space. This model is desirable when static type checking is useful.<ref>Extensible and Dynamic Topic Types for DDS (DDS-XTypes), 1.0, formal/2012-11-10, November 2012, http://www.omg.org/spec/DDS-XTypes/1.0/PDF</ref>
A [[Unified Modeling Language]] (UML) profile specified DDS domains and topics to be part of analysis and design modeling.<ref>UML Profile for Data Distribution, version: 1.0, http://www.omg.org/cgi-bin/doc?ptc/10-05-17.pdf </ref> This specification also defined how to publish and subscribe objects without first describing the types in another language, such as XML or OMG IDL.<ref>DDS-Java: Java 5 Language PSM for DDSVersion 1.0, ptc/2012-12-01, March 2013 http://www.omg.org/spec/DDS-Java/1.0/Beta3/PDF</ref>
An [[interface definition language]] (IDL) was specified in 2014 independently from the [[Common Object Request Broker Architecture]] (CORBA) specification chapter 3. This IDL 3.5 was compatible with the CORBA 3 specification, but extracted as its own specification allowing it to evolve independently from CORBA.<ref>{{Cite web |title= Interface Definition Language (IDL), Version 3.5 |date= March 1, 2014 |publisher= OMG |url= http://www.omg.org/spec/IDL35/3.5/ |access-date= November 9, 2016 |archive-url= https://web.archive.org/web/20170121033326/http://www.omg.org/spec/IDL35/3.5/ |archive-date= January 21, 2017 |url-status= dead }}</ref>
 
Other protocols to be mentioned are: DDS-XRCE (DDS for eXtremely Resource Constrained Environments), this specification protocol allows the communication between devices of limited resources, like microcontroller for example and a DDS network. It makes publishing and subscribing to topics via an intermediate service in a DDS ___domain possible <ref>{{Cite web|title=About the DDS For Extremely Resource Constrained Environments Specification Version 1.0|url=https://www.omg.org/spec/DDS-XRCE|access-date=2021-03-12|website=www.omg.org}}</ref> and DDS-RPC (RPC Over DDS) which defines Remote Procedure Calls. These provide a bidirectional request/reply communication and determine distributed services, and are detailed using a service interface. It also supports both synchronous and asynchronous method invocation. <ref>{{Cite web|title=About the RPC Over DDS Specification Version 1.0|url=https://www.omg.org/spec/DDS-RPC/1.0|access-date=2021-03-12|website=www.omg.org}}</ref>
 
Starting with DDS version 1.4 in 2015, the optional DLRL layer was moved to a separate specification.<ref>{{Cite web |title= DDS Data Local Reconstruction Layer (DDS-DLRL) |date= April 2015 |url= http://www.omg.org/spec/DDS-DLRL/ |access-date= November 9, 2016 }}</ref>
 
== What are the different types of Data Distribution Services? ==
There are three types of Data Distribution Services:
 
1. Point-to-Point: A point-to-point Data Distribution Service is a direct connection between two devices. This type of service is typically used for small data transfers or for devices that are in close proximity to each other.
 
2. Multicast: A multicast Data Distribution Service sends data to a group of devices simultaneously. This type of service is often used for streaming video or audio content to multiple devices at the same time.
 
3. Broadcast: A broadcast Data Distribution Service sends data to all devices on a network simultaneously. This type of service is typically used for distributing systemwide announcements or updates to all devices on a network.
 
== What are the benefits of using a Data Distribution Service? ==
A Data Distribution Service (DDS) is a service that enables the distribution of data between different devices or locations. It can be used to distribute data between different devices on a network, or between different locations (e.g. between offices).
 
A Data Distribution Service can provide many benefits, including:
 
-Improved performance: By distributing data across multiple devices or locations, a Data Distribution Service can help to improve the overall performance of a system. This is because it can reduce the amount of traffic on a single device or connection, and spread the load across multiple devices or connections.
 
-Increased reliability: A Data Distribution Service can also help to increase the overall reliability of a system. This is because if one device or connection fails, the others can continue to operate.
 
-Greater flexibility: A Data Distribution Service can also provide greater flexibility when it comes to distributing data. For example, it can allow data to be distributed in real-time, or on a schedule that suits the needs of the system.
 
== How to choose a Data Distribution Service Provider ==
1. How to choose a Data Distribution Service Provider
 
When it comes to choosing a data distribution service provider (DDS), there are many factors to consider. Here are a few key factors to help you choose the right DDS for your business:
 
1. Services offered - When considering a DDS, be sure to inquire about the range of services they offer. Some DDS providers may only offer basic data distribution, while others may offer more comprehensive services such as data warehousing, data mining, and analytics. Choose a provider that offers the level of service that best meets your needs.
 
2. Scalability - Make sure the DDS you choose can scale to meet your future needs. As your business grows, you'll likely need to increase the amount of data you distribute. Choose a provider that can easily scale up their services to accommodate your future growth.
 
3. Reliability - Data distribution is critical for many businesses, so reliability is an important factor to consider when choosing a DDS. Be sure to ask potential providers about their uptime guarantee and what steps they take to ensure reliable data distribution.
 
4. Pricing - Price is always an important consideration when choosing any type of service provider. Be sure to get quotes from several different providers before making your final decision. Read This [https://mrkingsmen.org/review/top-10-data-distribution-services-review-in-2022/ Data Distribution Service Review] Before Choose the right one for you.
 
== See also ==
Line 108 ⟶ 79:
== References ==
{{Reflist|30em}}
 
 
{{Ambient intelligence}}