GurumDDS is a distributed communication middleware which executes data-centric real time publishing and subscription. DDS(Data Distribution Service) standards have been established by OMG(Object Management Group). GurumDDS was developed based on DDS. GurumDDS was developed with pure domestic technology and successfully commercialized. Following DDS standard, GurumDDS supports various functions required by distributed communication system. Also, It shows excellent throughput and response time compared to other distributed communication middleware solutions.
GurumDDS is applied to railway safety control system. GurumDDS offers real time device interlocking for railway safety control monitoring system, massive data collection, and reliability assurance based on QoS.
GurumDDS is applied to a system that interworks C4I systems. GurumDDS interworks C4I systems in real time that are made on various platforms and languages. Also, it provides high fault tolerance and performance in case of network failure.
GurumDDS is applied to wind power generation system. In order to various sensor data can be safely transmitted to remote site, high reliability and IDL-based standardized data modeling is made possible.
GurumDDS supports the robot operating system (ROS2) and provides a GurumDDS Routing Service (RS) optimized for remote communication with the robot
Modeller is a tool that provides functions for creating applications for GurumDDS through the Web-based Graphical User Interface (GUI). With Modeller, users can define domains, communication objects, topics, and quality of service (QoS) that compose DDS applications. Configuration information for DDS applications defined by Modeller is stored in XML documents created with the DDS-XML standard defined by the Object Management Group (OMG). You can use Modeller to create new application configurations, or to import and modify stored XML documents. Developers can simply create DDS applications with calls from <Application> defined in XML documents created using Modeller.
Monitor is a graphical user interface (GUI) tool for real-time behavior of communication objects (Entity) that exist in a DDS domain. Using the search information of DDS communication objects participating in the same DDS domain as Monitor, you can show the configuration information of the Entities included in the application, and check the communication status, error status, resource usage, and so on of each Entity. Monitor tools can add or display information about a large number of entities you choose on a single screen, and they can freely change the screen configuration, such as separating windows, merging tabs, or changing locations, enabling a user-friendly monitoring environment.
RnR (Record and Replay)
RnR is a tool that provides functions through the Web-based Graphical User Interface (GUI) that record samples that exist in a DDS domain and then replay as needed. Users can utilize RnR to set the desired domain, topic, type, and quality of service (QoS). Based on the set values, users can easily save samples that exist in the domain to a system, such as a file system or database, and re-publish them to the desired QoS at any point in time. RnR enables users to resolve problems faster by replay problems in the DDS communication process.
You can receive a trial license after signing up into the following link
The DDS HelloWorld project demonstrates how to write an application that defines simple data and publish/subscribe it.
In this video, you can see how the DDS HelloWorld application works. Once the application is running, the publisher will publish a data sample of the messages ‘User ID’ and ‘Hello!’, and exit. The subscriber side waits for a data sample when the application runs and then outputs and terminates the data received when the data sample is received.
DDS HelloWorld project is located in examples/helloworld/ within the GurumDDS directory.
The Throughput project is an example of publishing / subscribing a large amount of data. In this project, you can see how to send and receive data at high speed and the data throughput of GurumDDS.
In this video, you can see how the Throughput application works. Enter the test settings when you run the application. In this video, you have set up 1,000,000 samples to be sent per second (1000ms). One sample size is 200 bytes. The publisher continues to send samples as set up, and The subscriber will output the number of data samples actually received at the time set-up interval.
Throughput project is located in examples/throughput/ within the GurumDDS directory.
The Ping Pong project is an example of publishing / subscribing data to measure the round trip time of other data. In this example, you can see how to set up for a minimal amount of latency and how long it takes GurumDDS to process data(that is, data processing latency).
In this video, you can see how the Ping Pong application works. When you run the application, enter your test settings. In this video, the Reliability is set to ‘Best-Effort’ and method of reading is set to polling. Ping sends a data sample first. Pong receives this data sample and sends it back in response. Ping receives the data sample and measures and outputs the time interval between transmission and reception.
Ping Pong project is located in examples/pingpong/ within the GurumDDS directory.
GurumNetworks, Inc. | CEO : Sung-il Cho | 5th Floor, 14, Gwangnaru-ro 36-gil, Gwangjin-gu, Seoul 05031, Rep. of KOREA