DDS is a very powerful technology built around a few simple and orthogonal concepts. If you understand the core concepts then you can really quickly get up to speed and start exploiting all of its power. On the other hand, if you haven’t grasped the key abstractions you might not be able to exploit all the benefits that DDS can bring.
This presentation provides you with an introduction to the core DDS concepts and illustrates how to program DDS applications. The new C++ and Java API will be explained and used throughout the webcast for coding examples thus giving you a chance to learn the new API from one of the main authors!
Presentation to the Robotics Task Force of the Object Management Group (OMG) introducing the members to the Data Distribution Service (DDS), another OMG-standard technology.
Introduced in 2004, the Data Distribution Service (DDS) has been steadily growing in popularity and adoption. Today, DDS is at the heart of a large number of mission and business critical systems, such as, Air Traffic Control and Management, Train Control Systems, Energy Production Systems, Medical Devices, Autonomous Vehicles, Smart Cities and NASA’s Kennedy Space Centre Launch System.
Considered the technological trends toward data-centricity and the rate of adoption, tomorrow, DDS will be at the at the heart of an incredible number of Industrial IoT systems.
To help you become an expert in DDS and exploit your skills in the growing DDS market, we have designed the DDS in Action webcast series. This series is a learning journey through which you will (1) discover the essence of DDS, (2) understand how to effectively exploit DDS to architect and program distributed applications that perform and scale, (3) learn the key DDS programming idioms and architectural patterns, (4) understand how to characterise DDS performances and configure for optimal latency/throughput, (5) grow your system to Internet scale, and (6) secure you DDS system.
The Data Distribution Service for Real-Time Systems (DDS) is an Object Management Group (OMG) standard for publish/subscribe designed to address the needs of a large class of mission- and business-critical distributed real-time systems and system of systems. The DDS standard was formally adopted in 2004 and in less than five years from its inception has experienced swift adoption in a wide variety of application domains. These application domains are characterized by the need to distribute high volumes of data with predictable low latencies, such as, Radar Processors, Flying and Land Drones, Combat Management Systems, Air Traffic Management, High Performance Telemetry, Large Scale Supervisory Systems, and Automated Stocks and Options Trading. Along with wide commercial adoption, the DDS Standard has been recommended and mandated as the technology for real-time data distribution by key administrations worldwide such as the US Navy, the DoD Information-Technology Standards Registry (DISR), the UK MoD, and EUROCONTROL.
The Data Distribution Service (DDS) is a standard for efficient and ubiquitous data sharing built upon the concept of a, strongly typed, distributed data space. The ability to scale from resource constrained embedded systems to ultra-large scale distributed systems, has made DDS the technology of choice for applications, such as, Power Generation, Large Scale SCADA, Air Traffic Control and Management, Smart Cities, Smart Grids, Vehicles, Medical Devices, Simulation, Aerospace, Defense and Financial Trading.
This two part webcast provides an in depth introduction to DDS – the universal data sharing technology. Specifically, we will introduce (1) the DDS conceptual model and data-centric design, (2) DDS data modeling fundamentals, (3) the complete set of C++ and Java API, (4) the most important programming, data modeling and QoS Idioms, and (5) the integration between DDS and web applications.
After attending this webcast you will understand how to exploit DDS architectural features when designing your next system, how to write idiomatic DDS applications in C++ and Java and what are the fundamental patterns that you should adopt in your applications.
The Data Distribution Service for Real-Time Systems (DDS) is an Object Management Group (OMG) standard for publish/subscribe designed to address the needs of a large class of mission- and business-critical distributed real-time systems and system of systems. The DDS standard was formally adopted in 2004 and in less than five years from its inception has experienced swift adoption in a wide variety of application domains. These application domains are characterized by the need to distribute high volumes of data with predictable low latencies, such as, Radar Processors, Flying and Land Drones, Combat Management Systems, Air Traffic Management, High Performance Telemetry, Large Scale Supervisory Systems, and Automated Stocks and Options Trading. Along with wide commercial adoption, the DDS Standard has been recommended and mandated as the technology for real-time data distribution by key administrations worldwide such as the US Navy, the DoD Information-Technology Standards Registry (DISR), the UK MoD, and EUROCONTROL.
This two-part Tutorial will cover most of the key aspects of DDS to ensure that you can proficiently start using it for designing or developing your next system. In brief this tutorial will get you jump-started into DDS.
This document provides an overview of the Data Distribution Service (DDS) standard for publish-subscribe communication. It explains key DDS concepts like the global data space, domain participants, topics, and quality of service policies. DDS provides a fully distributed, interoperable architecture for real-time data sharing between publishers and subscribers in applications like building automation, manufacturing, and more. The tutorial uses an example of monitoring and controlling temperatures in a large building to illustrate how DDS works.
Introduced in 2004, the Data Distribution Service (DDS) has been steadily growing in popularity and adoption. Today, DDS is at the heart of a large number of mission and business critical systems, such as, Air Traffic Control and Management, Train Control Systems, Energy Production Systems, Medical Devices, Autonomous Vehicles, Smart Cities and NASA’s Kennedy Space Centre Launch System.
Considered the technological trends toward data-centricity and the rate of adoption, tomorrow, DDS will be at the at the heart of an incredible number of Industrial IoT systems.
To help you become an expert in DDS and exploit your skills in the growing DDS market, we have designed the DDS in Action webcast series. This series is a learning journey through which you will (1) discover the essence of DDS, (2) understand how to effectively exploit DDS to architect and program distributed applications that perform and scale, (3) learn the key DDS programming idioms and architectural patterns, (4) understand how to characterise DDS performances and configure for optimal latency/throughput, (5) grow your system to Internet scale, and (6) secure you DDS system.
Multiple protocols have been positioned as “the” application-layer messaging protocol for the Internet of Things (IoT) and Machine-to-Machine (M2M) communication. In fact, these protocols address different aspects of IoT messaging and are complementary more than competitive (other than for mindshare). This presentation compares two of these protocols, MQTT and DDS, and shows how they are designed and optimized for different communication requirements.
Presentation to the Robotics Task Force of the Object Management Group (OMG) introducing the members to the Data Distribution Service (DDS), another OMG-standard technology.
Introduced in 2004, the Data Distribution Service (DDS) has been steadily growing in popularity and adoption. Today, DDS is at the heart of a large number of mission and business critical systems, such as, Air Traffic Control and Management, Train Control Systems, Energy Production Systems, Medical Devices, Autonomous Vehicles, Smart Cities and NASA’s Kennedy Space Centre Launch System.
Considered the technological trends toward data-centricity and the rate of adoption, tomorrow, DDS will be at the at the heart of an incredible number of Industrial IoT systems.
To help you become an expert in DDS and exploit your skills in the growing DDS market, we have designed the DDS in Action webcast series. This series is a learning journey through which you will (1) discover the essence of DDS, (2) understand how to effectively exploit DDS to architect and program distributed applications that perform and scale, (3) learn the key DDS programming idioms and architectural patterns, (4) understand how to characterise DDS performances and configure for optimal latency/throughput, (5) grow your system to Internet scale, and (6) secure you DDS system.
The Data Distribution Service for Real-Time Systems (DDS) is an Object Management Group (OMG) standard for publish/subscribe designed to address the needs of a large class of mission- and business-critical distributed real-time systems and system of systems. The DDS standard was formally adopted in 2004 and in less than five years from its inception has experienced swift adoption in a wide variety of application domains. These application domains are characterized by the need to distribute high volumes of data with predictable low latencies, such as, Radar Processors, Flying and Land Drones, Combat Management Systems, Air Traffic Management, High Performance Telemetry, Large Scale Supervisory Systems, and Automated Stocks and Options Trading. Along with wide commercial adoption, the DDS Standard has been recommended and mandated as the technology for real-time data distribution by key administrations worldwide such as the US Navy, the DoD Information-Technology Standards Registry (DISR), the UK MoD, and EUROCONTROL.
The Data Distribution Service (DDS) is a standard for efficient and ubiquitous data sharing built upon the concept of a, strongly typed, distributed data space. The ability to scale from resource constrained embedded systems to ultra-large scale distributed systems, has made DDS the technology of choice for applications, such as, Power Generation, Large Scale SCADA, Air Traffic Control and Management, Smart Cities, Smart Grids, Vehicles, Medical Devices, Simulation, Aerospace, Defense and Financial Trading.
This two part webcast provides an in depth introduction to DDS – the universal data sharing technology. Specifically, we will introduce (1) the DDS conceptual model and data-centric design, (2) DDS data modeling fundamentals, (3) the complete set of C++ and Java API, (4) the most important programming, data modeling and QoS Idioms, and (5) the integration between DDS and web applications.
After attending this webcast you will understand how to exploit DDS architectural features when designing your next system, how to write idiomatic DDS applications in C++ and Java and what are the fundamental patterns that you should adopt in your applications.
The Data Distribution Service for Real-Time Systems (DDS) is an Object Management Group (OMG) standard for publish/subscribe designed to address the needs of a large class of mission- and business-critical distributed real-time systems and system of systems. The DDS standard was formally adopted in 2004 and in less than five years from its inception has experienced swift adoption in a wide variety of application domains. These application domains are characterized by the need to distribute high volumes of data with predictable low latencies, such as, Radar Processors, Flying and Land Drones, Combat Management Systems, Air Traffic Management, High Performance Telemetry, Large Scale Supervisory Systems, and Automated Stocks and Options Trading. Along with wide commercial adoption, the DDS Standard has been recommended and mandated as the technology for real-time data distribution by key administrations worldwide such as the US Navy, the DoD Information-Technology Standards Registry (DISR), the UK MoD, and EUROCONTROL.
This two-part Tutorial will cover most of the key aspects of DDS to ensure that you can proficiently start using it for designing or developing your next system. In brief this tutorial will get you jump-started into DDS.
This document provides an overview of the Data Distribution Service (DDS) standard for publish-subscribe communication. It explains key DDS concepts like the global data space, domain participants, topics, and quality of service policies. DDS provides a fully distributed, interoperable architecture for real-time data sharing between publishers and subscribers in applications like building automation, manufacturing, and more. The tutorial uses an example of monitoring and controlling temperatures in a large building to illustrate how DDS works.
Introduced in 2004, the Data Distribution Service (DDS) has been steadily growing in popularity and adoption. Today, DDS is at the heart of a large number of mission and business critical systems, such as, Air Traffic Control and Management, Train Control Systems, Energy Production Systems, Medical Devices, Autonomous Vehicles, Smart Cities and NASA’s Kennedy Space Centre Launch System.
Considered the technological trends toward data-centricity and the rate of adoption, tomorrow, DDS will be at the at the heart of an incredible number of Industrial IoT systems.
To help you become an expert in DDS and exploit your skills in the growing DDS market, we have designed the DDS in Action webcast series. This series is a learning journey through which you will (1) discover the essence of DDS, (2) understand how to effectively exploit DDS to architect and program distributed applications that perform and scale, (3) learn the key DDS programming idioms and architectural patterns, (4) understand how to characterise DDS performances and configure for optimal latency/throughput, (5) grow your system to Internet scale, and (6) secure you DDS system.
Multiple protocols have been positioned as “the” application-layer messaging protocol for the Internet of Things (IoT) and Machine-to-Machine (M2M) communication. In fact, these protocols address different aspects of IoT messaging and are complementary more than competitive (other than for mindshare). This presentation compares two of these protocols, MQTT and DDS, and shows how they are designed and optimized for different communication requirements.
Getting Started with DDS in C++, Java and ScalaAngelo Corsaro
This document provides an overview and outline for a tutorial on getting started with the Data Distribution Service (DDS) in C++, Java, and Scala. The tutorial will cover DDS basics, data reader/writer caches, quality of service, data and state selectors, and advanced DDS topics. Upon completion, students will have a firm understanding of DDS concepts and the ability to design and write DDS applications. The tutorial will be highly interactive with examples and live demonstrations.
Tuning and Troubleshooting OpenSplice DDS ApplicationsAngelo Corsaro
The document provides an overview of common issues encountered when building distributed applications with OpenSplice DDS, such as connectivity, performance, scalability, and resource utilization issues. It discusses how to diagnose these issues using OpenSplice DDS tools and configure QoS policies, deployment options, shared memory size, topic types and keys to address the issues.
The Data Distribution Service (DDS) is a standard for ubiquitous, interoperable, secure, platform independent, and real-time data sharing across network connected devices. DDS is today used in a large class of applications, such as, Power Generation, Large Scale SCADA, Air Traffic Control and Management, Smart Cities, Smart Grids, Vehicles, Medical Devices, Simulation, Aerospace, Defense and Financial Trading.
Differently from traditional message-centric technologies, DDS is data-centric – the accent is on seamless (user-defined) data sharing as opposed to message delivery. Therefore, when embracing DDS and data-centricity, data modeling becomes a key step in the design of a distributed system.
This webcast will (1) explain the role and scope of data modeling in DDS, (2) introduce the techniques at the foundation of effective and extensible Data Models, and (3) summarize the most common DDS Data Modeling Idioms.
This document provides an overview and agenda for a presentation by Real-Time Innovations (RTI) on their communications software platform. RTI is a leader in fast, scalable communications software for real-time systems with over 350,000 deployed licenses. The presentation will introduce RTI, provide an overview of their Data Distribution Service (DDS) middleware, and discuss DDS Secure, Connext DDS Professional, real-world use cases, professional services, and take questions. Critical systems from various industries worldwide trust and rely on RTI software.
This presentation provides 10 reasons why you should choose OpenSplice DDS as you OMG DDS compliant technology. It analyzes standard compliance, technology, service, use cases and pedigree.
This document describes the main features and capabilities in Simware platform and some use cases for the platform.
Simware platform is based on a microservices architecture, named Layered Simulation Architecture or LSA. LSA is the first microservices architecture for simulation, specifically designed to support the development of real time and Net-Centric simulation products.
Simware is the only simulation platform in the market compliant with the new Internet of Simulations, enabling the development of all kind of modeling & simulation applications in any industry domain.
Telecommunications networks are vast, complex graphs upon a map. Why is it then, that Telcos typically do not use graph technology as means to understand and traverse their networks of devices, systems and customers?
This webinar explores ways for Telecommunications and media vendors to experience their networks as graphs from Neo4j.
Micro services Architecture with Vortex -- Part IAngelo Corsaro
Microservice Architectures — which are the norm in some domains — have recently received lots of attentions in general computing and are becoming the mainstream architectural style to develop distributed systems. As suggested by the name, the main idea behind micro services is to decompose complex applications in, small, autonomous and loosely coupled processes communicating through a language and platform independent API. This architectural style facilitates a modular approach to system-building.
This webcast will (1) introduce the main principles of the Microservice Architecture, (2) showcase how the Global Data Space abstraction provided by Vortex ideally support thee microservices architectural pattern, and (3) walk you through the design and implementation of a micro service application for a real-world use case.
The document discusses the Domain Name System (DNS). It describes DNS as a hierarchical and distributed database that maps hostnames to IP addresses. DNS uses a tree structure with nodes containing domain names that are read from the node up to the root. The document outlines the key components of DNS including fully and partially qualified domain names, zones, primary and secondary name servers, and the different top-level domains like generic, country, and inverse domains used for name to address and address to name lookups.
This document provides an overview of graph databases and their use cases. It begins with definitions of graphs and graph databases. It then gives examples of how graph databases can be used for social networking, network management, and other domains where data is interconnected. It provides Cypher examples for creating and querying graph patterns in a social networking and IT network management scenario. Finally, it discusses the graph database ecosystem and how graphs can be deployed for both online transaction processing and batch processing use cases.
Overview
Gateway Router Quick Overview
What is DICOM?
Setting up a DICOM Connection and its Terminology
What Data Cleansing Options Are Possible?
Facility, Issuer of Patient ID, Receive Study Status As
DICOM Tag Mapping/Morphing
DICOM File Format Terminology
Scripting
Transfer of Data
TLS versus Replication
What is PowerCache?
VPN required or not
Multi-thread verses single threaded-sending multiple
Automated Prior Prefetching
DICOM Q/R
Triggered by HL7
Product Offerings
Gateway Router versus Advanced
Gateway QC versus Viewer
Using Knowledge Graphs to Predict Customer Needs and Improve QualityNeo4j
The document discusses using knowledge graphs to gain insights from data by revealing patterns and relationships. It describes current approaches like data warehouses and search engines that treat data as isolated and don't capture connections. The key advantage of a knowledge graph is that entities are naturally connected, allowing for multiple access patterns and enabling artificial intelligence. Building a knowledge graph involves extracting structure from various sources and providing tools for analysis and visualization.
This document discusses transparent encryption in HDFS. It describes the need for encryption of data at rest and in transit. The architecture uses encryption zones, encryption keys, and encrypted data encryption keys. Data is encrypted by the client before being written to HDFS. On reads, the client decrypts the data. The key management server handles encryption keys separately from HDFS for security. Performance tests show the encryption adds minimal overhead, especially with hardware acceleration of AES encryption.
Graph databases are well suited for complex, interconnected data. Neo4j is a graph database that represents data as nodes connected by relationships. It allows for complex queries and traversals of graph structures. Unlike relational databases, graph databases can directly model real world networks and relationships without needing to flatten the data.
CICS is the power of mainframe. It has all the capabilities to handle online transactions. The ppt covers highly useful CICS concepts to refresh your CICS knowledge quickly.
The document provides an overview of the DDS-XRCE specification, which defines an Agent-Client communication model to enable the use of the DDS data distribution service (DDS) in extremely resource-constrained networks. It describes the motivation for DDS-XRCE and its key aspects, including the message structure, interaction model, supported deployment scenarios, and how it provides security through the use of a client key.
Object Storage 1: The Fundamentals of Objects and Object StorageHitachi Vantara
In part 1 of 3, objects and object storage are defined, their key attributes are identified and the most common use cases for object storage are described. Join Jeff Lundberg, senior product marketing manager at Hitachi Data Systems, to learn the fundamentals of object storage and get answers to your questions. View this WebTech to learn: What makes an object. The difference between block, file and object storage. Key attributes and uses of object store solutions. For more information on Object Storage please view our white paper: http://www.hds.com/assets/pdf/hitachi-white-paper-introduction-to-object-storage-and-hcp.pdf
Top ten big data security and privacy challengesBee_Ware
The document discusses the top 10 security and privacy challenges of big data. It begins by explaining how big data has expanded through streaming cloud technology, rendering traditional security mechanisms inadequate. It then outlines a 3-step process used to identify the top 10 challenges: 1) interviewing CSA members and reviewing trade journals to draft an initial list, 2) studying published solutions, and 3) characterizing remaining problems as challenges if solutions did not adequately address problem scenarios. The top 10 challenges are then grouped into 4 aspects: infrastructure security, data privacy, data management, and integrity and reactive security. The first challenge discussed in detail is securing computations in distributed programming frameworks.
The Data Distribution Service (DDS) is a standard for efficient and ubiquitous data sharing built upon the concept of a, strongly typed, distributed data space. The ability to scale from resource constrained embedded systems to ultra-large scale distributed systems, has made DDS the technology of choice for applications, such as, Power Generation, Large Scale SCADA, Air Traffic Control and Management, Smart Cities, Smart Grids, Vehicles, Medical Devices, Simulation, Aerospace, Defense and Financial Trading.
This two part webcast provides an in depth introduction to DDS – the universal data sharing technology. Specifically, we will introduce (1) the DDS conceptual model and data-centric design, (2) DDS data modeling fundamentals, (3) the complete set of C++ and Java API, (4) the most important programming, data modeling and QoS Idioms, and (5) the integration between DDS and web applications.
After attending this webcast you will understand how to exploit DDS architectural features when designing your next system, how to write idiomatic DDS applications in C++ and Java and what are the fundamental patterns that you should adopt in your applications.
Getting Started with DDS in C++, Java and ScalaAngelo Corsaro
This document provides an overview and outline for a tutorial on getting started with the Data Distribution Service (DDS) in C++, Java, and Scala. The tutorial will cover DDS basics, data reader/writer caches, quality of service, data and state selectors, and advanced DDS topics. Upon completion, students will have a firm understanding of DDS concepts and the ability to design and write DDS applications. The tutorial will be highly interactive with examples and live demonstrations.
Tuning and Troubleshooting OpenSplice DDS ApplicationsAngelo Corsaro
The document provides an overview of common issues encountered when building distributed applications with OpenSplice DDS, such as connectivity, performance, scalability, and resource utilization issues. It discusses how to diagnose these issues using OpenSplice DDS tools and configure QoS policies, deployment options, shared memory size, topic types and keys to address the issues.
The Data Distribution Service (DDS) is a standard for ubiquitous, interoperable, secure, platform independent, and real-time data sharing across network connected devices. DDS is today used in a large class of applications, such as, Power Generation, Large Scale SCADA, Air Traffic Control and Management, Smart Cities, Smart Grids, Vehicles, Medical Devices, Simulation, Aerospace, Defense and Financial Trading.
Differently from traditional message-centric technologies, DDS is data-centric – the accent is on seamless (user-defined) data sharing as opposed to message delivery. Therefore, when embracing DDS and data-centricity, data modeling becomes a key step in the design of a distributed system.
This webcast will (1) explain the role and scope of data modeling in DDS, (2) introduce the techniques at the foundation of effective and extensible Data Models, and (3) summarize the most common DDS Data Modeling Idioms.
This document provides an overview and agenda for a presentation by Real-Time Innovations (RTI) on their communications software platform. RTI is a leader in fast, scalable communications software for real-time systems with over 350,000 deployed licenses. The presentation will introduce RTI, provide an overview of their Data Distribution Service (DDS) middleware, and discuss DDS Secure, Connext DDS Professional, real-world use cases, professional services, and take questions. Critical systems from various industries worldwide trust and rely on RTI software.
This presentation provides 10 reasons why you should choose OpenSplice DDS as you OMG DDS compliant technology. It analyzes standard compliance, technology, service, use cases and pedigree.
This document describes the main features and capabilities in Simware platform and some use cases for the platform.
Simware platform is based on a microservices architecture, named Layered Simulation Architecture or LSA. LSA is the first microservices architecture for simulation, specifically designed to support the development of real time and Net-Centric simulation products.
Simware is the only simulation platform in the market compliant with the new Internet of Simulations, enabling the development of all kind of modeling & simulation applications in any industry domain.
Telecommunications networks are vast, complex graphs upon a map. Why is it then, that Telcos typically do not use graph technology as means to understand and traverse their networks of devices, systems and customers?
This webinar explores ways for Telecommunications and media vendors to experience their networks as graphs from Neo4j.
Micro services Architecture with Vortex -- Part IAngelo Corsaro
Microservice Architectures — which are the norm in some domains — have recently received lots of attentions in general computing and are becoming the mainstream architectural style to develop distributed systems. As suggested by the name, the main idea behind micro services is to decompose complex applications in, small, autonomous and loosely coupled processes communicating through a language and platform independent API. This architectural style facilitates a modular approach to system-building.
This webcast will (1) introduce the main principles of the Microservice Architecture, (2) showcase how the Global Data Space abstraction provided by Vortex ideally support thee microservices architectural pattern, and (3) walk you through the design and implementation of a micro service application for a real-world use case.
The document discusses the Domain Name System (DNS). It describes DNS as a hierarchical and distributed database that maps hostnames to IP addresses. DNS uses a tree structure with nodes containing domain names that are read from the node up to the root. The document outlines the key components of DNS including fully and partially qualified domain names, zones, primary and secondary name servers, and the different top-level domains like generic, country, and inverse domains used for name to address and address to name lookups.
This document provides an overview of graph databases and their use cases. It begins with definitions of graphs and graph databases. It then gives examples of how graph databases can be used for social networking, network management, and other domains where data is interconnected. It provides Cypher examples for creating and querying graph patterns in a social networking and IT network management scenario. Finally, it discusses the graph database ecosystem and how graphs can be deployed for both online transaction processing and batch processing use cases.
Overview
Gateway Router Quick Overview
What is DICOM?
Setting up a DICOM Connection and its Terminology
What Data Cleansing Options Are Possible?
Facility, Issuer of Patient ID, Receive Study Status As
DICOM Tag Mapping/Morphing
DICOM File Format Terminology
Scripting
Transfer of Data
TLS versus Replication
What is PowerCache?
VPN required or not
Multi-thread verses single threaded-sending multiple
Automated Prior Prefetching
DICOM Q/R
Triggered by HL7
Product Offerings
Gateway Router versus Advanced
Gateway QC versus Viewer
Using Knowledge Graphs to Predict Customer Needs and Improve QualityNeo4j
The document discusses using knowledge graphs to gain insights from data by revealing patterns and relationships. It describes current approaches like data warehouses and search engines that treat data as isolated and don't capture connections. The key advantage of a knowledge graph is that entities are naturally connected, allowing for multiple access patterns and enabling artificial intelligence. Building a knowledge graph involves extracting structure from various sources and providing tools for analysis and visualization.
This document discusses transparent encryption in HDFS. It describes the need for encryption of data at rest and in transit. The architecture uses encryption zones, encryption keys, and encrypted data encryption keys. Data is encrypted by the client before being written to HDFS. On reads, the client decrypts the data. The key management server handles encryption keys separately from HDFS for security. Performance tests show the encryption adds minimal overhead, especially with hardware acceleration of AES encryption.
Graph databases are well suited for complex, interconnected data. Neo4j is a graph database that represents data as nodes connected by relationships. It allows for complex queries and traversals of graph structures. Unlike relational databases, graph databases can directly model real world networks and relationships without needing to flatten the data.
CICS is the power of mainframe. It has all the capabilities to handle online transactions. The ppt covers highly useful CICS concepts to refresh your CICS knowledge quickly.
The document provides an overview of the DDS-XRCE specification, which defines an Agent-Client communication model to enable the use of the DDS data distribution service (DDS) in extremely resource-constrained networks. It describes the motivation for DDS-XRCE and its key aspects, including the message structure, interaction model, supported deployment scenarios, and how it provides security through the use of a client key.
Object Storage 1: The Fundamentals of Objects and Object StorageHitachi Vantara
In part 1 of 3, objects and object storage are defined, their key attributes are identified and the most common use cases for object storage are described. Join Jeff Lundberg, senior product marketing manager at Hitachi Data Systems, to learn the fundamentals of object storage and get answers to your questions. View this WebTech to learn: What makes an object. The difference between block, file and object storage. Key attributes and uses of object store solutions. For more information on Object Storage please view our white paper: http://www.hds.com/assets/pdf/hitachi-white-paper-introduction-to-object-storage-and-hcp.pdf
Top ten big data security and privacy challengesBee_Ware
The document discusses the top 10 security and privacy challenges of big data. It begins by explaining how big data has expanded through streaming cloud technology, rendering traditional security mechanisms inadequate. It then outlines a 3-step process used to identify the top 10 challenges: 1) interviewing CSA members and reviewing trade journals to draft an initial list, 2) studying published solutions, and 3) characterizing remaining problems as challenges if solutions did not adequately address problem scenarios. The top 10 challenges are then grouped into 4 aspects: infrastructure security, data privacy, data management, and integrity and reactive security. The first challenge discussed in detail is securing computations in distributed programming frameworks.
The Data Distribution Service (DDS) is a standard for efficient and ubiquitous data sharing built upon the concept of a, strongly typed, distributed data space. The ability to scale from resource constrained embedded systems to ultra-large scale distributed systems, has made DDS the technology of choice for applications, such as, Power Generation, Large Scale SCADA, Air Traffic Control and Management, Smart Cities, Smart Grids, Vehicles, Medical Devices, Simulation, Aerospace, Defense and Financial Trading.
This two part webcast provides an in depth introduction to DDS – the universal data sharing technology. Specifically, we will introduce (1) the DDS conceptual model and data-centric design, (2) DDS data modeling fundamentals, (3) the complete set of C++ and Java API, (4) the most important programming, data modeling and QoS Idioms, and (5) the integration between DDS and web applications.
After attending this webcast you will understand how to exploit DDS architectural features when designing your next system, how to write idiomatic DDS applications in C++ and Java and what are the fundamental patterns that you should adopt in your applications.
Standardizing the Data Distribution Service (DDS) API for Modern C++Sumant Tambe
The document discusses the Data Distribution Service (DDS) standard for connecting distributed real-time systems. DDS provides a data-centric publish-subscribe model and quality of service guarantees for integrating sensors, actuators and applications. It describes the key DDS entities including DomainParticipants, Topics, DataWriters and DataReaders. Code examples are given for writing and reading data using the DDS standard.
Desktop, Embedded and Mobile Apps with Vortex CaféAngelo Corsaro
In the past few years we have been experiencing an amazing proliferation of mobile and embedded platforms. Contemporary developers are increasingly faced with the challenge of writing applications that can run on desktop, mobile (e.g. Android), and on low-cost embedded platforms (e.g. Raspberry-Pi and Beaglebone). This is causing a rejuvenated interest in the Java platform as the mean to achieve the holy grail of write-once and run-everywhere. With the availability of Java environments supporting almost any kind of device in several different form factors, the missing element to the picture is an effective way of enabling communication between them.
Vortex Café is a pure Java implementation of the OMG Data Distribution Service (DDS) that enables seamless, efficient and timely data sharing across many-core machines, mobile and embedded devices.
This presentation will (1) introduce the main abstractions provided by Vortex Café, (2) provide an overview of its architecture and explain how it exploits Staged Event Driven Architectures to optimize its runtime depending of the target hardware, (3) provide an overview of the typical performance delivered by Vortex Café, and (3) get you started developing distributed Java and Scala applications with Vortex Café.
This presentation introduced Vortex by means of a running example. Throughout the presentation we will show how Vortex makes it easy to build a micro-blogging platform a la Twitter.
Vortex is a platform that provides seamless, ubiquitous, efficient and timely data sharing across mobile, embedded, desktop, cloud and web applications. Today Vortex is the enabling technology at the core the most innovative Internet of Things and Industrial Internet applications, such as Smart Cities, Smart Grids, and Smart Traffic.
This two parts tutorial (1) introduces the key concepts of Vortex, (2) gets you started with using Vortex to efficiently exchange data across mobile, embedded, desktop, cloud and web applications, and (3) provides a series of best practices, patterns and idiom to get the best our of Vortex.
The only prerequisite to fully exploit this tutorial is a basic understanding of Java, C++ and JavaScript. Some knowledge of Scala and CoffeScript will be a plus.
OpenSplice DDS enables seamless, timely, scalable and dependable data sharing between distributed applications and network-connected devices. Its technical and operational benefits have propelled adoption across multiple industries, such as Defence and Aerospace, SCADA, Gaming, Cloud Computing, Automotive, etc.
If you want to learn about OpenSplice DDS or discover some of its advanced features, this webcast is for you!
In this two-parts webcast we will cover all the aspects tied to architecting and developing OpenSplice DDS systems. We will look into Quality of Services, data selectors concurrency and scalability concerns.
We will present the brand-new, and recently finalized, C++ and Java APIs for DDS, including examples of how this can be used with C++11 features. We will show how, increasingly popular, functional languages such as Scala can be used to efficiently and elegantly exploit the massive HW parallelism provided by modern multi-core processors.
Finally we will present some OpenSplice specific extensions for dealing very high-volumes of data – meaning several millions of messages per seconds.
This presentations explains the foundations of Stream Processing and shows how elegant Stream Processing Architectures can be built by using in synergy DDS and CEP.
Building Real-Time Web Applications with Vortex-WebAngelo Corsaro
The Real-Time Web is rapidly growing and as a consequence an increasing number of applications require soft-real time interactions with the server-side as well as with peer web applications. In addition, real-time web technologies are experiencing swift adoption in traditional systems as a means of providing portable and ubiquitously accessible thin client applications.
In spite of this trend, few high level communication frameworks exist that allow efficient and timely data exchange between web applications as well as with the server-side and the back-end system. Vortex Web is one of the first technologies to bring the powerful OMG Data Distribution Service (DDS) abstractions to the world of HTML5 / JavaScript applications. With Vortex Web, HTML5 / JavaScript applications can seamlessly and efficiently share data in a timely manner amongst themselves as well as with any other kind of device or system that supports the standard DDS Interoperability wire protocol (DDSI).
This presentation will (1) introduce the key abstractions provided by Vortex Web, (2) provide an overview of its architecture and explain how Vortex Web uses Web Sockets and Web Workers to provide low latency and high throughput, and (3) get you started developing real-time web applications.
OpenSplice DDS enables seamless, timely, scalable and dependable data sharing between distributed applications and network-connected devices. Its technical and operational benefits have propelled adoption across multiple industries, such as Defence and Aerospace, SCADA, Gaming, Cloud Computing, Automotive, etc.
If you want to learn about OpenSplice DDS or discover some of its advanced features, this webcast is for you!
In this two-parts presentation we will cover most of the aspects tied to architecting and developing OpenSplice DDS systems. We will look into Quality of Services, data selectors concurrency and scalability concerns.
We will present the brand-new, and recently finalized, C++ and Java APIs for DDS, including examples of how this can be used with C++11 features. We will show how, increasingly popular, functional languages such as Scala can be used to efficiently and elegantly exploit the massive HW parallelism provided by modern multi-core processors.
Finally we will present some OpenSplice specific extensions for dealing very high-volumes of data – meaning several millions of messages per seconds.
Getting Started with OpenSplice DDS Community Ed.Angelo Corsaro
This document discusses OpenSplice DDS, a data distribution service (DDS) implementation that delivers performance, openness, and freedom. It provides an overview of key DDS concepts including topics, which define the type and quality of service of distributed data, and partitions, which organize communication within a domain. The document also touches on features like content filtering, local queries, and quality of service settings that control aspects of data delivery.
Connected Mobile and Web Applications with VortexAngelo Corsaro
The widespread availability of high-end mobile devices such as smart-phones, tablets and phablets, along with the availability of browser enabled devices, has imposed these platforms as one of the main target for user interfaces. As a result mobile and web applications need now to be easily “connected”to the rest of the system.
This presentations will (1) showcase how the the Vortex Data Sharing Platform can be effectively and productively used to create connected mobile and web-applications, (2) take you through the steps required to use Vortex in mobile and web applications.
OpenSplice DDS v6 is a major leap forward with respect to the state of the art of DDS implementations; v6 is the first DDS implementation on the market to introduce (1) multiple deployment options, namely daemon-based and library-based, and (2) multiple programming paradigms, such as Pub/Sub, Distributed Object Caches and Client/Server, (3) universal connectivity to over 80 communication technologies via the new OpenSplice Gateway. All of this combined with an Open Source model, an active community and a strong technology ecosystem.
This presentation introduces the coordination model at the foundation of Vortex and explains its foundational concepts and features. Then it provides an overview of the various technological element that implement the model and how they are deployed in IoT applications such as connected vehicles, smart cities, smart grids and connected medical devices.
Reactive architectures are emerging as the way to build systems that are responsive, scalable, resilient and event-driven. In other terms, systems that deliver highly responsive user experiences with a real-time feel, that are scalable, resilient, and ready to be deployed on multicore and cloud computing architectures. The Reactive Manifesto (see http://www.reactivemanifesto.org/) captures the key traits that characterize reactive architectures.
The Data Distribution Service (DDS) incarnates the principles enumerated by the reactive manifesto and provides a very good platform for building reactive systems. In this webcast I will (1) introduce the key principles of Reactive Architectures, (2) explain the DDS features that are essential to build reactive systems, and (3) introduce some programming techniques that remove inversion of control while maintaining applications even-driven.
Vortex Lite is a lightweight implementation of the DDS standard that is optimized for resource-constrained devices. It has a small runtime footprint of around 450KB and provides low latency of 30 microseconds and high throughput by utilizing efficient single-threaded and multi-threaded designs. Vortex Lite can also connect to cloud services by enabling TCP/IP and configuring peers to Vortex Cloud addresses.
Building and Scaling Internet of Things Applications with Vortex CloudAngelo Corsaro
Cloud Messaging is one of the most critical elements at the core of any Internet of Things and Industrial Internet application. The degree of efficiency and connectivity provided by the cloud messaging technology usually drives the overall efficiency and reach of the entire system.
Vortex Cloud is a Cloud Messaging implementation that targets public as well as private clouds and enables embedded, mobile, web, enterprise and cloud applications to efficiently and securely share data across the Internet. Vortex Cloud has been designed ground up to address easy of connectivity, wire-efficiency, scalability, elasticity and security.
This presentation will (1) introduce the Vortex Cloud architecture and explain how it provides elasticity and fault-tolerance, (2) explain the different deployment models supported for public-cloud, private-cloud and no-cloud (3) get you started developing a simple Internet of Things Application.
RUSTing is not a tutorial on the Rust programming language.
I decided to create the RUSTing series as a way to document and share programming idioms and techniques.
From time to time I’ll draw parallels with Haskell and Scala, having some familiarity with one of them is useful but not indispensable.
Osmotic pressure and light scattering methods are used to determine the number-average and weight-average molecular weights of polymers in solution. Polymers can be characterized as amorphous, semicrystalline, or crystalline depending on their chain structure and interactions. Thermoplastics exhibit glass transitions and/or melting points while thermosets only exhibit glass transitions.
The DDS specification provides fine-grained control over the real-time behaviour, dependability, and performance of DDS applications by means of a rich set of QoS Policies. The challenge for many DDS users is that the specifications explains very clearly how each QoS allows to control very specific aspects of data distribution yet it provides no hints on how different QoS should be composed to control complex properties such as the consistency model, or to impose end-to-end real-time scheduling decision. This half-day tutorial will fill this gap by providing attendees with (1) an explanation of how the various QoS compose, and (2) providing attendees with a series of QoS-composition Patters that can be used to control macro-properties of an application, such as the consistency model.
The document discusses using OpenSplice DDS for publish-subscribe communication like tweeting. It explains that with DDS, applications can publish and subscribe to data in a global data space to share information asynchronously. Publishers write tweets to topics, while subscribers can dynamically subscribe to topics and receive tweets from publishers they follow. OpenSplice DDS provides features like persistence, filtering, and integration with databases.
The document discusses using OpenSplice DDS for publish-subscribe communication like tweeting. It explains that with DDS, applications can publish and subscribe to data in a global data space to share information asynchronously. Publishers write tweets to topics, while subscribers can dynamically subscribe to topics and receive tweets from publishers they follow. OpenSplice DDS provides features like persistence, filtering, and integration with databases.
Reactive Data Centric Architectures with DDSAngelo Corsaro
This document discusses reactive data-centric architectures using the Data Distribution Service (DDS) standard. It provides an overview of DDS and how it enables data-centric and reactive systems. Key points include:
- DDS provides a distributed data space that allows applications to asynchronously read and write data while enjoying spatial and temporal decoupling.
- Data models in DDS define application data types and provide type-safety and content-based routing of data.
- Quality of service policies in DDS control properties of data sharing like reliability, latency, ownership, etc.
- Examples show how to write and read DDS data in C++ and Python by creating publishers, subscribers, and data readers/writers
DDS (Data Distribution Service) is a standard for real-time data sharing across networked devices. It provides a global data space abstraction that allows applications to asynchronously publish and subscribe to data topics. DDS supports features like dynamic discovery, decentralized implementation, and adaptive connectivity to enable interoperable and efficient data distribution.
The document discusses OpenSplice DDS, an implementation of the OMG DDS standard for data distribution. It provides an overview of key DDS concepts like the global data space, publishers/subscribers, topics/instances/samples, partitioning, filtering, and quality of service (QoS). DDS aims to address data distribution challenges across a wide range of applications through high performance, scalability, and interoperability between implementations.
As a leading innovator, you selected DDS to solve a complex communications challenge. Good choice! Now you recognize that your challenge is evolving: you need to consider adding more mobile and embedded devices into the network. The resource requirements of your DDS middleware are becoming a crucial factor. Even if you wanted your vendor to port to the rapidly expanding field of hand-held and mobile embedded devices, you wonder - will your applications still fit and run with needed performance levels within the memory footprint and CPU cycle constraints?
Your management or your client is now requesting you handle some new and interesting hardware and software, mobility solutions while bringing in data from new sources. To do this you might be able to select higher memory versions and/or faster CPU versions of the new devices in order to achieve the performance you need. Or you might be forced to drop features and functionality so that your DDS enabled application fits and provides acceptable performance. Either your costs go up or you leave out features. Do you really want to make that trade off? What options exist now?
Fortunately, one of the great strengths of the DDS standard is that it is open and provides interoperability between DDS versions from other suppliers. That’s one of the reasons your choice of DDS was a good one!
Twin Oaks Computing (www.twinoakscomputing.com) has designed its implementation from the ground up especially for resource constrained environments. CoreDX DDS is a high-performance implementation of the OMG Data Distribution Service (DDS) standard. The CoreDX DDS Publish-Subscribe messaging infrastructure provides high-throughput, low-latency data communications in an extremely small footprint.
CoreDX DDS applications can easily communicate with applications based on DDS from other vendors. This multi-vendor interoperability is enabled by multiple standards managed by the Object Management Group (OMG), including specifications of the application programming interface (API), real-time publish subscribe wire protocol (RTPS), and quality of service (QoS) features. CoreDX DDS includes proven support across all of these interoperability aspects. Twin Oaks has publicly demonstrated CoreDX DDS interoperability with RTI DDS and OpenSplice DDS.
Interoperability is particularly important for systems that are deployed for long periods of time, often measured in the decades, before they can be upgraded or replaced. Maintaining these systems through individual component failures, and ever changing and expanding requirements is hard. Interoperable middleware technologies like DDS make this challenge easier. System
Figure 1: Examples of Supported Hardware
4
Interoperable DDS Strategies 4
Integrators, faced with the challenge of integrating components from diverse sources, demand interoperability.
Strategies for migration to public cloudSiddharth Ram
This document provides recommendations for organizations considering migrating to the public cloud. It addresses common questions around security, costs, compliance, and architecture decisions. Key recommendations include:
- Use threat modeling to prioritize security and consider boundaries and openness. Cloud can improve security when done right.
- Be aware of higher initial costs of cloud and factor them into budgets. Speed and agility, not just cost savings, should motivate cloud adoption.
- Leverage platform as a service (PaaS) capabilities to simplify designs while limiting vendor lock-in. Start with infrastructure as a service (IaaS) and shift to PaaS over time.
- Consider cross-region disaster recovery needs based on compliance and
The document discusses KREONET-S*, South Korea's national research and education network transitioning to a software-defined network (SDN) architecture. It outlines KREONET-S*'s goals of providing reliable and user-driven virtualized network services. The Open Network Operating System (ONOS) is used as the SDN controller to enable applications like Virtual Dedicated Networks (VDN) and user visibility tools. Initial deployment connected two cities in 2015, with plans to expand nationally by 2017. Performance tests show throughput up to 10Gbps and low latency between sites.
The Object Management Group (OMG) Data Distribution Service (DDS) and the OPC Foundation OLE for Process Control Unified Architecture (OPC-UA) are commonly considered as two of the most relevant technologies for data and information management in the Industrial Internet of Things. Although several articles and quotes on the two technologies have appeared on various medias in the past six months, there is still an incredible confusion on how the two technology compare and what’s their applicability.
This presentation, was motivated by the author's frustration with reading and hearing so many mis-conceptions as well as “apple-to-oranges” comparisons. Thus to contribute to clarity and help with positioning and applicability this webcast will (1) explain the key concepts behind DDS and OPC-UA and relate them with the reason why these technologies were created in the first place, (2) clarify the differences and applicability in IoT for DDS and OPC-UA, and (3) report on the ongoing standardisation activities that are looking at DDS/OPC-UA inter-working.
MPLS/SDN 2013 Intercloud Standardization and Testbeds - SillAlan Sill
This talk givens an overview of several multi-SDO and cross-SDO activities to promote and spur innovation in cloud computing. The focus is on API development and standardization, including testbeds, test use cases, and collaborative activities between organizations to create and carry out development and testing in this area. The focus is on work being pursued through the Cloud and Autonomic Computing Center at Texas Tech University, which is part of the US National Science Foundation's Industry/University Cooperative Research Center, and on work being done by standards organizations such as the Open Grid Forum, Distributed Management Task Force, and Telecommunications Management Forum in which the CAC@TTU is involved. A summary is also given of work to produce a new round of more detailed use cases suitable for testing by the US National Institute of Standards and Technology's Standards Acceleration to Jumpstart Adoption of Cloud Computing (SAJACC) working group, with brief mention also given to other related work going on in this area in other parts of the world. Background and other standards work is also mentioned.
How Autodesk Delivers Seamless Customer Experience with CatchpointDevOps.com
We now live in the age of the digital experience. Companies like Amazon have changed expectations by consistently delivering pages that load in 2.5 seconds or less. Every customer and employee now expects a seamless, smart, and stable experience. We all realize that delivering digital experiences at scale is not easy. Visibility gaps from legacy monitoring solutions make things harder.
On February 21, join Autodesk and Catchpoint as they discuss how they have applied the principles of Digital Experience Monitoring to comprehensively detect, identify, escalate, and remediate experience issues missed by legacy monitoring approaches.
The OMG Data Distribution Service (DDS) has brought a disruptive wave of innovation into what is commonly referred to as “Messaging” technology. DDS raises the abstraction level from unstructured, or loosely structured, messages to sound data types that allow architects and application developers to deal with concepts close to their problem space as opposed to having to worry about “plumbing” -- as it happens as with many messaging technologies. As it is common for disruptive innovations to take some time to be digested, many people still see DDS as an ultra-fast real-time messaging -- yet this is only the tip of the iceberg.
This presentation will explain how Data Distribution is different from Messaging and as a result how DDS differs from messaging technologies such as JMS. The webcast will cover the architectural benefits brought by data centricity as well as how the features introduced by the recently adopted DDS specification on Dynamic and Extensible Topic Types will support the design of efficient, extensible and evolvable systems.
Even though the U.S. Department of Defense budget is shrinking and the country's military footprint worldwide is receding the need for the warfighter to have accurate and actionable intelligence has never been more critical. Data from Intelligence, Surveillance, and Reconnaissance (C4ISR) systems such as radar, image processing payloads on Unmanned Aerial Vehicles, and more will be used and fused together to provide commanders with real-time situational awareness. Each system will also need to embrace open architectures and the latest commercial standards to meet the DoD's performance, size, and cost requirements. This e-cast will discuss how embedded defense suppliers are meeting these challenges.
RCA OCORA: Safe Computing Platform using open standardsAdaCore
The railway sector is facing a major transition as it moves towards more fully automated systems on both the train and infrastructure side. This in turn, requires the development of appropriate, future-proof connectivity and IT platforms.
The Reference Control Command and Signalling Architecture (RCA) and Open Control Command and Signalling Onboard Reference Architecture (OCORA) have developed a functional architecture for future trackside and onboard functions. The RCA OCORA open Control Command Signalling (CCS) on-board reference architecture introduces a standardized separation of safety-relevant and non-safety-relevant railway applications and the underlying IT platforms. This allows rail operators to decouple the very distinct life cycles of the domains and aggregate multiple railway applications on common IT platforms.
Based on a Safe Computing Platform (SCP), the architecture accommodates a Platform Independent Application Programming Interface (PI API) between safety-relevant railway applications and IT platforms. This approach supports the portability of railway applications among IT platform realisations from different vendors.
Two of its authors will discuss the RCA OCORA architecture with emphasis on its safe computing framework. The talk will review the required operating system standards and the discuss the newly-released DDS Reference Implementation for Safe Computing Platform Messaging. While designed for rail, this architecture will have elements of interest for other industries.
Fast RTPS is a C++ implementation of the RTPS protocol that provides middleware for robotics applications adopted in ROS2. It enables real-time data distribution with support for large data, security, and interoperability across platforms. A hello world example demonstrates how to define a data type, generate code, create a publisher-subscriber solution in Visual Studio, and run the programs to send and receive messages.
IRJET- A Survey on Remote Data Possession Verification Protocol in Cloud StorageIRJET Journal
This document summarizes a survey on remote data possession verification protocols for cloud storage. It begins with an abstract describing the problem of verifying integrity of outsourced data files on remote cloud servers. It then provides background on remote data possession verification (RDPV) protocols and discusses related work on ensuring data integrity and supporting dynamic operations. The document describes the system framework, RDPV protocol, use of homomorphic hash functions, and an optimized implementation using an operation record table to efficiently support dynamic operations like modifications. It concludes that the presented efficient and secure RDPV protocol is suitable for cloud storage applications.
Introduction to DDS: Context, Information Model, Security, and Applications.Gerardo Pardo-Castellote
Introduction to the Data-Distribution Service (DDS): Context and Applications.
This 50 minute presentation summarizes the main features of DDS including the information model, the type system, and security as well as how typical applications use DDS.
It was presented at the Canadian Government Information Day in Ottawa on September 2018.
There is also a video of this presentation at https://www.youtube.com/watch?v=6iICap5G7rw.
Analyze key aspects to be considered before embarking on your cloud journey. The presentation outlines the strategies, approach, and choices that need to be made, to ensure a smooth transition to the cloud.
Similar to Getting Started in DDS with C++ and Java (20)
This was the opening presentation of the Zenoh Summit in June 2022. The presentation goes through the motivations that lead to the design of the zenoh protocol and provides an introduction of its core concepts. This is the place to start to understand why you should care about zenoh and the way in which is disrupts existing technologies.
The recording for this presentation is available at https://bit.ly/3QOuC6i
This document provides an introduction to Eclipse Zenoh, an open source project that unifies data in motion, data at rest, and computations in a distributed system. Zenoh elegantly blends traditional publish-subscribe with geo-distributed storage, queries, and computations. The presentation will demonstrate Zenoh's advantages for enabling typical edge computing scenarios and simplifying large-scale distributed applications through real-world use cases. It will also provide an overview of Zenoh's architecture, performance, and APIs.
This document provides an overview of Zenoh, an open-source distributed data-centric middleware. It summarizes Zenoh's key features including pub/sub, storage/query, compute capabilities and how these can be used in peer-to-peer, routed, and geo-distributed communication patterns. It also describes how to install and use Zenoh in Python and Docker, configure routers and backends, and interact with the system using its REST API.
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
A presentation give at the European H-Cloud Conference to motivate decentralisation as a mean to improve energy efficiency, privacy, and opportunity for monetisation for your digital footprint.
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
Unifies data in motion, data in-use, data at rest and computations.
It carefully blends traditional pub/sub with distributed queries, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.
It provides built-in support for geo-distributed storages and distributed computations
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
This presentation introduces the key ideas behind zenoh -- an Internet scale data-centric protocol that unifies data-sharing between any kind of device including those constrained with respect to the node resources, such as computational resources and power, as well as the network.
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
This document introduces Zenoh, a new data-centric networking protocol being developed by ADLINK Tech. Inc. Zenoh allows applications to asynchronously read and write data associated with URIs and supports pub/sub and storage/query models. It is designed to unify data sharing across all types of devices, including extremely constrained ones. Zenoh provides reliability, load balancing, and a small protocol footprint to enable connectivity in resource-limited environments. A live demo is available to showcase Zenoh's capabilities.
This document provides recommendations for sights to see, things to eat, and places to swim in eastern Sicily. Key places mentioned include Piazza del Duomo and Via Crociferi in Catania, the fish market in Catania, Acireale known for its Baroque architecture, Acitrezza home to writer Verga, Acicastello with its Norman castle, the Roman mosaics at Villa Romana del Casale near Piazza Armerina, Taormina with its Greek theater, Mount Etna volcano, Syracuse with its Greek theater and Ortigia island, Noto known for its Baroque architecture, and beaches like Isola Bella, Cala Mosche, and V
This document introduces fogOS, an open-source distributed computing infrastructure developed by ADLINK's Advanced Technology Office. FogOS aims to provide a decentralized platform for managing heterogeneous compute, storage, networking and I/O resources across cloud and edge devices. It addresses limitations of cloud-centric architectures by bringing more control and analytics closer to data sources. The document outlines FogOS concepts including nodes, entities, networks and plugins. It also demonstrates FogOS through a prototype smart home application deployed across heterogeneous devices in a unified manner.
Making the right data available at the right time, at the right place, securely, efficiently, whilst promoting interoperability, is a key need for virtually any IoT application. After all, IoT is about leveraging access data – that used to be unavailable – in order to improve the ability to react, manage, predict and preserve a cyber-physical system.
The Data Distribution Service (DDS) is a standard for interoperable, secure, and efficient data sharing, used at the foundation of some of the most challenging Consumer and Industrial IoT applications, such as Smart Cities, Autonomous Vehicles, Smart Grids, Smart Farming, Home Automation and Connected Medical Devices.
In this presentation we will (1) introduce the Eclipse Cyclone DDS project, (2) provide a quick intro that will get you started with Cyclone DDS, (3) present a few Cyclone DDS use cases, and (4) share the Cyclone DDS development road-map.
Fog Computing is a paradigm that complements and extends cloud computing by providing an end-to-end virtualisation of computing, storage and communication resources. As such, fog computing allow applications to be transparently provisioned and managed end-to-end. This presentation first motivates the need for fog computing, then introduced fog05 the first and only Open Source fog computing platform!
The document summarizes key points from a lecture on Scala programming:
1. Implicits allow defining implicit conversions to resolve type mismatches and fix compiler errors. Monads separate composition timeline from execution and allow computations to carry extra data.
2. The Option type in Scala is equivalent to Haskell's Maybe monad. It provides flatMap and map operations for monadic computations.
3. Scala supports parallel collections for parallelism and futures for composable concurrent programming. Futures are monads that can be operated on and composed asynchronously.
This document provides a summary of key topics from the third lecture in a Scala programming course, including:
1) Reviewing fold operations like foldLeft and foldRight.
2) Exploring Scala classes in more detail, covering abstract classes, implementing abstract values lazily, overriding methods and values, and the Scala type hierarchy.
3) Introducing algebraic data types through sum and product types, and how case classes and pattern matching are used to represent them in Scala.
4) Examples of different pattern matching techniques like wildcard, constant, variable, constructor, typed and guarded patterns.
5) Revisiting for expressions and examples of using generators, definitions, and filters
This document provides an overview of a lecture on functional programming in Scala. It covers the following topics:
1. A recap of functional programming principles like functions as first-class values and no side effects.
2. An introduction to the Haskell programming language including its syntax for defining functions.
3. How functions are defined in Scala and how they are objects at runtime.
4. Examples of defining the factorial function recursively in Haskell and Scala, and making it tail recursive.
5. Concepts of first-class functions, currying, partial application, and an example of implementing looping in Scala using these techniques.
This document provides an overview of the "Programming in Scala" course, including:
- The course is divided into lectures introducing Scala features and a individual project to develop a non-trivial Scala application.
- It covers programming paradigms like object-oriented programming, functional programming, and compares imperative vs functional styles.
- Scala is introduced as a multi-paradigm language that blends OOP and FP on the JVM, making it appealing for its concise syntax and ability to seamlessly use Java libraries.
- The first Scala application example shows the object keyword, Unit return type, and string interpolation.
- Primitive types in Scala include integral,
Data Sharing in Extremely Resource Constrained EnvionrmentsAngelo Corsaro
This presentation introduces XRCE a new protocol for very efficiently distributing data in resource constrained (power, network, computation, and storage) environments. XRCE greatly improves the wire efficiency of existing protocol and in many cases provides higher level abstractions.
Vortex II -- The Industrial IoT Connectivity StandardAngelo Corsaro
The large majority of commercial IoT platforms target consumer applications and fall short in addressing the requirements characteristic of Industrial IoT. Vortex has always focused on addressing the challenges characteristic of Industrial IoT systems and with 2.4 release sets a the a new standard!
This presentation will (1) introduce the new features introduced in with Vortex 2.4, (2) explain how Vortex 2.4 addresses the requirements of Industrial Internet of Things application better than any other existing platform, and (3)showcase how innovative companies are using Vortex for building leading edge Industrial Internet of Things applications.
Fog computing has emerged as a new paradigm for architecting IoT applications that require greater scalability, performance and security. This talk will motivate the need to Fog Computing and explain what it is and how it differs from other initiatives in Telco such as Mobile/Multiple-Access Edge Computing.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Zilliz
Join us to introduce Milvus Lite, a vector database that can run on notebooks and laptops, share the same API with Milvus, and integrate with every popular GenAI framework. This webinar is perfect for developers seeking easy-to-use, well-integrated vector databases for their GenAI apps.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
1. Angelo Corsaro, Ph.D.
Chief Technology Officer
PrismTech
OMG DDS SIG Co-Chair
angelo.corsaro@prismtech.com
OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Getting Started with DDS
For C++ and Java Programmers
1
3. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
The OMG DDS
The OMG DDS Standard
‣ Introduced in 2004 to address the Data
distribution challenges typical of Defense
and Aerospace Mission Critical Applications
‣ Key requirements for the standard were high
performance and scalability from embedded
to ultra-large-scale deployments
‣ Today recommended by key administrations
worldwide and widely adopted well beyond
Aerospace and Defense in domains, such as,
Automated Trading, Simulations, SCADA,
Telemetry, etc.
3
4. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
DDS Recommendations
Increasingly Mandated/Recommended by Administrations
‣ US Navy: Open Architecture
‣ DISR/DISA: Net-centric Systems
‣ EuroControl: Air Traffic Control Center Operational
Interoperability
‣ QinetiQ & MILVA: Recommending DDS for Vehicles
Electronic Architecture
! The infrastructure evolution cycle is churning…
– New -> Emerging -> Standard -> Commodity
– Middleware is emerging as OS declines
! …DDS is maturing…
– OMG focus
– Wire spec
– Tools
– Enterprise integration
– Multiple products fielded
– Deployed applications!
! …and adoption is on the rise
– Navy
– DISR
– FCS/SoSCOE
– Many significant applications 4
5. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
The OMG Data Distribution Service
DDS v1.2 API Standard
‣ Language Independent, OS and
HW architecture independent
‣ DCPS. Standard API for Data-
Centric, Topic-Based, Real-Time
Publish/Subscribe
‣ DLRL. Standard API for creating
Object Views out of collection of
Topics
Object/Relational Mapping
Ownership Durability
Content
Subscription
Minimum Profile
Data Centric Publish/Subscribe (DCPS)
Data Local Reconstruction Layer (DLRL)
DDS Interoperability Wire Protocol
Application
UDP/IP
Real-Time Publish/Subscribe Protocol
5
6. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
The OMG Data Distribution Service
DDS v1.2 API Standard
‣ Language Independent, OS and
HW architecture independent
‣ DCPS. Standard API for Data-
Centric, Topic-Based, Real-Time
Publish/Subscribe
‣ DLRL. Standard API for creating
Object Views out of collection of
Topics
Object/Relational Mapping
Ownership Durability
Content
Subscription
Minimum Profile
Data Centric Publish/Subscribe (DCPS)
Data Local Reconstruction Layer (DLRL)
DDS Interoperability Wire Protocol
Application
UDP/IP
Real-Time Publish/Subscribe Protocol
5
7. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
The OMG Data Distribution Service
DDS-RTPS v2.1 Wire Protocol
Standard
‣ Standard wire protocol allowing
interoperability between different
implementations of the DDS
standard
‣ Interoperability demonstrated
among key DDS vendors in March
2009
Object/Relational Mapping
Ownership Durability
Content
Subscription
Minimum Profile
Data Centric Publish/Subscribe (DCPS)
Data Local Reconstruction Layer (DLRL)
DDS Interoperability Wire Protocol
Application
UDP/IP
Real-Time Publish/Subscribe Protocol
6
9. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
What is Data Distribution?
‣ Data distribution is about
making application defined
data available where needed
and when needed
‣ Data is a first class concept,
it can be created, updated,
read and eventually disposed
‣ The last value (or last N-
values) of a Data is available
VehicleSpeedVehicleSpeedVehicleSpeed
plate
“A123”
“B456”
“C789”
dx dy
50 0
0 45
10 30
VehiclePositionVehiclePositionVehiclePosition
plate
“A123”
“B456”
“C789”
x y
101 202
303 404
505 606
[1/2]
TrakCo.VehiclePosition
struct VehiclePosition {
string plate;
long x, y; }
TrakCo.VehicleSpeed
struct VehicleSpeed {
string plate;
long dx, dy; }
Brokers
8
10. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
What is Data Distribution?
‣ Producer, Consumers as well
as Topics are dynamically
discovered
‣ A rich set of QoS is used to
control the non-functional
properties of data (e.g.
durability, availability, etc.)
[2/2]
TrakCo.VehiclePosition
struct VehiclePosition {
string plate;
long x, y; }
TrakCo.VehicleSpeed
struct VehicleSpeed {
string plate;
long dx, dy; }
VehicleSpeedVehicleSpeedVehicleSpeed
plate
“A123”
“B456”
“C789”
dx dy
50 0
0 45
10 30
VehiclePositionVehiclePositionVehiclePosition
plate
“A123”
“B456”
“C789”
x y
101 202
303 404
505 606
Brokers
9
12. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Data in DDS
‣ The definition of Data in DDS is tied
to the definition of a Topic
‣ A Topic is the association between:
‣ Unique Name
‣ Type
‣ QoS
‣ A Topic can have associated a key
in order to express data instances
identities
VehiclePosition
TrackCo.VehiclePosition
{
Reliability
Deadline,
Priority
Transient,
...
}
TopicType QoS
Name
[1/2]
Topics
11
13. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Data in DDS
‣ A Topic key can be made of an
arbitrary number of Topic Type
attributes
‣ Each unique key value identify a
Topic Instance
‣ Topic Instance, can be Created,
Read, Updated, and Disposed
(CRUD)
[2/2]
VehiclePositionVehiclePositionVehiclePosition
plate
“A123”
“B456”
“C789”
x y
101 202
303 202
101 606
TrakCo.VehiclePositionTopic
TopicType
Topic Instances
Topic Key
Topic Instances
12
16. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
QoS Policy Applicabilit
y
RxO Modifiable
DURABILITY
DURABILITY
SERVICE
LIFESPAN
HISTORY
PRESENTATION
RELIABILITY
PARTITION
DESTINATION
ORDER
OWNERSHIP
OWNERSHIP
STRENGTH
DEADLINE
LATENCY
BUDGET
TRANSPORT
PRIORITY
T, DR, DW Y N
Data
Availability
T, DW N N
Data
Availability
T, DW N/A Y
Data
Availability
T, DR, DW N N
Data
Availability
P, S Y N
Data
Delivery
T, DR, DW Y N
Data
Delivery
P, S N Y
Data
Delivery
T, DR, DW Y N
Data
Delivery
T, DR, DW Y N
Data
Delivery
DW N/A Y
Data
Delivery
T, DR, DW Y Y
Data
Timeliness
T, DR, DW Y Y
Data
Timeliness
T, DW N/A Y
Data
Timeliness
TIME BASED
FILTER
RESOURCE
LIMITS
ENTITY
FACTORY
USER DATA
TOPIC DATA
GROUP DATA
LIVELINESS
WRITER DATA
LIFECYCLE
READER DATA
LIFECYCLE
DR N/A Y
Resources
T, DR, DW N N
Resources
Configuratio
n
DP, DR, DW N Y Configuratio
nT N Y
Configuratio
n
P, S N Y
Configuratio
n
T, DR, DW Y N
Configuratio
n
DW N/A Y
Lifecycle
DR N/A Y
Lifecycle
QoS Policy Applicability RxO Modifiable
QoS Policies
15
20. Brokers
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
VehiclePositionVehiclePositionVehiclePosition
plate x y
OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Data Distribution in Action
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehiclePositionVehiclePositionVehiclePosition
plate x y
18
21. Brokers
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
VehiclePositionVehiclePositionVehiclePosition
plate x y
OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Data Distribution in Action
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
“A123” 101 202
“A123” 101 202
“A123” 101 202
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehiclePositionVehiclePositionVehiclePosition
plate x y
18
22. Brokers
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
VehiclePositionVehiclePositionVehiclePosition
plate x y
OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Data Distribution in Action
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
“A123” 101 202
“A123” 101 202
“A123” 101 202
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehiclePositionVehiclePositionVehiclePosition
plate x y
“B456” 303 404
“B456” 303 404
“B456” 303 404
VehiclePositionVehiclePositionVehiclePosition
plate x y
18
23. VehiclePositionVehiclePositionVehiclePosition
plate x y
“A123” 101 202
“B456” 303 404
Brokers
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
VehiclePositionVehiclePositionVehiclePosition
plate x y
OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Data Distribution in Action
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
“A123” 101 202“A123” 101 202
VehiclePositionVehiclePositionVehiclePosition
plate x y
“B456” 303 404“B456” 303 404
VehiclePositionVehiclePositionVehiclePosition
plate x y
“A123” 101 202
“B456” 303 404
19
24. VehiclePositionVehiclePositionVehiclePosition
plate x y
“A123” 101 202
“B456” 303 404
Brokers
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
VehiclePositionVehiclePositionVehiclePosition
plate x y
OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Data Distribution in Action
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
“A123” 101 202“A123” 101 202
VehiclePositionVehiclePositionVehiclePosition
plate x y
“B456” 303 404“B456” 303 404
VehiclePositionVehiclePositionVehiclePosition
plate x y
“C789” 505 606
“C789” 505 606
“C789” 505 606
“A123” 101 202
“B456” 303 404
19
25. VehiclePositionVehiclePositionVehiclePosition
plate x y
“A123” 101 202
“B456” 303 404
Brokers
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
VehiclePositionVehiclePositionVehiclePosition
plate x y
OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Data Distribution in Action
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
“A123” 101 202“A123” 101 202
VehiclePositionVehiclePositionVehiclePosition
plate x y
“B456” 303 404“B456” 303 404
VehiclePositionVehiclePositionVehiclePosition
plate x y
“C789” 505 606“C789” 505 606
“A123” 101 202
“B456” 303 404
“C789” 505 606
“C789” 505 606
20
26. VehiclePositionVehiclePositionVehiclePosition
plate x y
“A123” 101 202
“B456” 303 404
Brokers
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
VehiclePositionVehiclePositionVehiclePosition
plate x y
OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Data Distribution in Action
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
“A123” 101 202“A123” 101 202
VehiclePositionVehiclePositionVehiclePosition
plate x y
“B456” 303 404“B456” 303 404
VehiclePositionVehiclePositionVehiclePosition
plate x y
“C789” 505 606“C789” 505 606
“A123” 101 202
“B456” 303 404
“C789” 505 606
“C789” 505 606
“A123” 50 0
20
27. VehiclePositionVehiclePositionVehiclePosition
plate x y
“A123” 101 202
“B456” 303 404
Brokers
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
VehiclePositionVehiclePositionVehiclePosition
plate x y
OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Data Distribution in Action
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
“A123” 101 202“A123” 101 202
VehiclePositionVehiclePositionVehiclePosition
plate x y
“B456” 303 404“B456” 303 404
VehiclePositionVehiclePositionVehiclePosition
plate x y
“C789” 505 606“C789” 505 606
“A123” 101 202
“B456” 303 404
“C789” 505 606
“C789” 505 606
“A123” 50 0
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
21
28. VehiclePositionVehiclePositionVehiclePosition
plate x y
“A123” 101 202
“B456” 303 404
Brokers
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
VehiclePositionVehiclePositionVehiclePosition
plate x y
OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Data Distribution in Action
VehiclePositionVehiclePositionVehiclePosition
plate x y
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
“A123” 101 202“A123” 101 202
VehiclePositionVehiclePositionVehiclePosition
plate x y
“B456” 303 404“B456” 303 404
VehiclePositionVehiclePositionVehiclePosition
plate x y
“C789” 505 606“C789” 505 606
“A123” 101 202
“B456” 303 404
“C789” 505 606
“C789” 505 606
“A123” 50 0
“A123” 50 0
VehicleSpeedVehicleSpeedVehicleSpeed
plate dx dy
21
31. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
What is the problem?
‣ IDL is very good for describing DDS Topic Types, yet...
‣ IDL’s biggest strength, namely (programming) language
independence, becomes its biggest weakness when trying to
define APIs that are well integrated with a programming
language
‣ For some programming languages (e.g. C++) the IDL2C++
mapping is “seasoned”
24
32. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Why is this a problem?
‣ Resulting DDS APIs are more complicated than they should
‣ API don’t feel natural or ergonomic to programmers
‣ API (esp. for C++) don’t integrate well with standard libraries
nor implements common idioms/patterns.
25
33. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Native C++/Java PSMs
‣ The new C++/Java PSM are derived
starting directly from the PIM
‣ The new C++/Java PSM take
advantage of all the features
available in C++/Java to provide a
natural, productive, efficient, safe and
portable API
PIM (UML)
ISO C++ PSM
The new PSM simplify DDS programming w/o limiting the
expensiveness or introducing limitations in what possible
Java 5 PSM
26
34. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
ISO C++ PSM in a Nutshell
‣ Provides transparent, safe, precise and real-time automatic
memory management
‣ Takes advantage of C++ Template Meta-programming to
automate tasks such as type registration and provide a strongly
typed API (no downcast ever!)
‣ Provides a DDS API that exploits Iterators and containers as well
as other C++ Standard Types
‣ API is extensible, efficient and portable
27
44. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Topics in C++
‣ Topic are associated to a C++ template class parametrized in the
topic type, e.g. Topic<VehiclePosition>, Topic<VehicleSpeed>
‣ Topic types can be described in IDL, XML, UML, and Java
‣ Topic types are mapped to C++ classes having one set of
accessors per Topic attribute
37
48. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Topics in Java
‣ Topic are associated to a Java Generic class parametrized in
the topic type, e.g. Topic<VehiclePosition>,
Topic<VehicleSpeed>
‣ Topic types can be described in IDL, XML, UML, and Java
‣ Topic types are mapped to Java classes having one set of
accessors per Topic attribute
‣ Properly annotated, user provided Java classes, can be used as
topic types w/o the need of code generation
41
49. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Types Mapping
‣ DDS primitive types are mapped to
Java primitive types
‣ DDS container types are mapped to
standard Java containers
DDS Type Java Type
Boolean boolean
Char8 char
Char32 int
Byte byte
Int16 short
UInt16 short
Int32 int
Uint32 int
Int64 long
Uint64 long
Float64 double
Float32 float
string<Char8> String
string<Char32> String
sequence<T> Collection
map<K,T> java.util.Map
T[] T[]
42
50. Java Topic Type Mapping
OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
TopicType Mapping
class VehiclePosition {
public VehiclePosition() { /* impl */ }
public VehiclePosition(String plate,
! ! ! int x, int y) { /* impl */}
String getPlate() { /* impl */ }
void setPlate(String plate) { /* impl */ }
int getX() { /* impl */ }
void setX(int x) { /* impl */ }
int getY() { /* impl */ }
void setY(int y) { /* impl */ }
// Private state implementation
}
struct VehiclePosition {
! string plate;
! long x;
! long y;
};
#pragma keylist VehiclePosition plate
IDL Topic Type Definition
43
51. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
JavaTopicType Definition
class VehiclePosition {
@key
private string plate;
private int x;
private int y;
public VehiclePosition() { }
public VehiclePosition(String plate,
! ! ! int x, int y) {
this.plate = plate;
! this.x = x;
! this.y = y;
}
String getPlate() { return this.plate; }
void setPlate(String plate) {
this.plate = plate; }
int getX() { return this.x; }
void setX(int x) { this.x = x; }
int getY() { return this.y; }
void setY(int y) { this.y = y; }
}
44
53. Domain
‣ A Domain is one instance of
the DDS Global Data Space
‣ DDS entities always belong
to a specific domain
Partition
‣ A partition is a scoping
mechanism provided by DDS
organize a partition
OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
DomainId = 0
VechicleTelemetry
Domain and Partitions
46
55. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Joining Domain/Partition
Note:
‣ Reference types are
always created via
factory methods on
the parent entity
‣ Policies can be
“streamed” into QoS
objects
// Create Domain Participant in the Domain “0”
DomainId id = 0;
DomainParticipant dp =
TheParticipantFactory().create_participant(id);
// Set the Publisher QoS with the proper partition
pub::qos::PublisherQos pqos;
pqos << policy::Partition("VehicleTelemetry");
// Create the Publisher
pub::Publisher pub =
dp.create_publisher(pqos);
using namespace dds::core;
using namespace dds;
using namespace dds::domain;
48
57. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Joining Domain/Partition
Note:
‣ The Boostrap class
allows to run multiple
DDS instances, even
from different vendors
on the same
application
// Create Domain Participant in the Domain “0”
DomainId id = 0;
DomainParticipantFactory factory =
! ! DomainParticipantFactory.getInstance
(Bootstrap.createInstance());
DomainParticipant dp =
factory.createParticipant(id);
// Create the Publisher
pub::Publisher pub =
dp.create_publisher(pqos);
import org.omg.dds.core.Bootstrap;
import org.omg.dds.domain.DomainParticipant;
import org.omg.dds.domain.DomainParticipantFactory;
50
60. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Topic Creation
Note:
‣ QoS setting is
optional and only
required to override
defaults
‣ QoS override shown
to highlight how
effective is the new
QoS API
// Create and set TopicQos (if different from
// default)
topic::qos::TopicQos tqos;
tqos << policy::Reliability::Reliable()
<< policy::Durability::Transient()
<< policy::History::KeepLast(10)
<< policy::TransportPriority(14);
// Create the Topic with specific Qos
topic::Topic<VehiclePosition> topic =
dp.create_topic<VehiclePosition>("VPosTopic", tqos);
using namespace dds;
// Create the Topic with default Qos
topic::Topic<VehiclePosition> topic =
dp.create_topic<VehiclePosition>("VPosTopic");
53
65. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Writing Data
Note:
‣ The DataWriter is
parametrized on the
Topic Type
‣ The stream operator
can be used to
write sample as well
as override Qos,
policies and to do
coherent updates
// Create and set DataWriterQos from TopicQos
pub::qos::DataWriterQos dwqos(tqos);
// Create DataWriter
pub::DataWriter<VehiclePosition> dw =
pub.create_datawriter(topic, dwqos);
// Create Sample
VehiclePosition vpos("A123", 100, 200);
// Write
dw.write(vpos);
// Stream-like Write
dw << vpos;
// Stream-like Write + Policy override
dw << policy::TransportPriority(55) << vpos;
using namespace dds::core;
using namespace dds;
58
67. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Writing Data
Note:
‣ No need to pass
the class type since
it is maintained by
the Topic
import org.omg.dds.pub.DataWriter;
// Create the Topic with default Qos
DataWriter<VehiclePosition> dw =
pub.createDataWriter(topic);
// Create Sample
VehiclePosition vp =
new VehiclePosition("A123", 100, 200);
// Write Sample
dw.write(vp);
60
70. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Reading Data
Note:
‣ The read API is heavily
based on iterators
‣ The stream operator can
also be used read
samples and a mutator is
used to control the
read/take behaviour
‣ Back-inserting iterators
and zero-copy API also
supported
// (1) Create and set DataReaderQos from TopicQos
sub::qos::DataReaderQos drqos(tqos);
// (2) Create DataReader
sub::DataReader<VehiclePosition> dr =
sub.create_datareader(topic, drqos);
// (3) Read with using Forward Iterators on std::vector
std::vector<VehiclePosition> data(N);
std::vector<SampleInfo> info(N);
dr.read(data.begin(), info.begin(), N);
// (3) Read with using Forward Iterators on arrays
VehiclePosition adata[N];
SampleInfo ainfo[N];
dr.read(&adata[0], &ainfo[0], N);
using namespace dds::core;
using namespace dds;
63
72. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Reading Data
Note:
‣ No need to pass
the class type since
it is maintained by
the Topic
import org.omg.dds.pub.DataReader;
// Create the Topic with default Qos
DataReader <VehiclePosition> dr =
sub.createDataReader(topic);
List<Sample<VehiclePosition>> data =
new Vector<Sample<VehiclePosition>>();
dr.read(data);
65
73. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Putting all together
int main(int, char**) {
// -- Create Domain Participant
DomainParticipant dp =
! ! TheParticipantFactory().create_participant();
// -- Create Publisher
pub::Publisher pub = dp.create_publisher();
// -- Create Topic
dds::topic::Topic<VehiclePosition> topic =
! ! dp.create_topic<VehiclePosition>("VSPosTopic");
// -- Create DataWriter
pub::DataWriter<VehiclePosition> dw =
! ! ! pub.create_datawriter(topic);
// -- Write Sample
dw << VehiclePosition("A123", 100, 200);
}
‣ Writing a DDS can take as
5 lines of code
‣ Default domain
‣ Default Qos
66
75. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
Concluding Remarks
‣ DDS provide a powerful abstraction for building high available,
scalable and high performance distributed systems
‣ The new C++ and Java API make DDS very simple to use while
improving safety, performances and portability
‣ These new API are now finalized and planned for adoption
during the December 2010 OMG meeting
68
77. OpenSpliceDDSOpenSpliceDDOpenSpliceDDSOpenSpliceDDSOpenSpliceDDS
References
‣ Working incubator from which most of
the ISO C++ PSM was derived
‣ Available at:
‣ http://code.google.com/p/simd-cxx
The Simple DDS API
SimD
‣ OMG submission for C++/Java PSM are also available as Open
Source project at the following URL
‣ http://code.google.com/p/dds-psm-cxx/
‣ http://code.google.com/p/datadistrib4j/
70