Vortex OpenSplice를 통해 데이터를 다양한 운영 체제 및 플랫폼에서 공유하고 통합할 수 있습니다. OMG DDS 최신 rev1.4(DCPS 프로파일) 및 OMG-DDSI / RTPS v2.3의 상호 운용 가능한 유선 프로토콜 표준을 완벽하게 구현합니다. 서버급(데스크탑, 랙 등) 플랫폼은 물론 보다 전문적인 실시간 임베디드 환경 및 운영 체제(예: VxWorks를 실행하는 싱글 보드 컴퓨터)와 함께 사용됩니다.
Vortex Opensplice는 Cyclone DDS, Vortex Link 및 Vortex Insight와 완벽하게 상호 운용할 수 있습니다.
Vortex OpenSplice 제품에는 에이디링크에서 제공하는 완전한 DDS 기능 세트와 도구가 포함되어 있습니다. 더불어 최신 기능 개선, 가장 효과적인 성능 향상 및 최신 버그 수정도 포함됩니다.
Vortex Opensplice의 상업용 버전은 Vortex OpenSplice Core와 COTS 애드온 및 추가 기능으로 구성됩니다. Vortex OpenSplice Core는 DDS 커뮤니티와 Vortex OpenSplice 에디션 모두에 공통적으로 적용됩니다.
상용 버전은 다수의 Linux 버전이나 Windows 플랫폼에서 VxWorks와 같은 다수의 실시간 운영 체제와 PikeOS와 같은 분할된 OS 하이퍼바이저에 이르기까지 광범위한 운영 체제를 다룹니다. 요청 시 다른 OS를 지원할 수 있습니다. Vortex OpenSplice 에디션은 활성 지원 구독 또는 에이디링크 상용 라이선스가 필요합니다.
상용 소프트웨어 애드온
Vortex OpenSplice 상용 소프트웨어 애드온 목록에는 전력 생산성 도구 및 서비스 세트, 확장성, 보안, 성능을 개선하는 추가 기능, 추가 통신 패러다임을 지원하는 추가 API가 포함됩니다. 또한 타사 기술에 대한 완전한 커넥터 세트도 함께 제공됩니다.
애드온 목록에는 다음이 포함됩니다:
- 서비스 품질(QoS)을 조율하고, 화이트박스 테스트를 실시하고, 애플리케이션으로 볼 수 있는 모든 DDS 데이터, 통계, QoS를 시각화하는 데 도움이 되는 튜너 도구. 튜너는 실행 시간에 DDS 엔티티를 생성하여 DDS 데이터 공간에 발행된 데이터를 주입하거나 소비하고 서비스 품질을 조율하는 데 도움이 됩니다.
- 전체 네트워크 규모에서 모든 DDS 도메인 계산 객체, 데이터, QoS, DDS 인식 애플리케이션 및 DDS 아티팩트를 모니터링할 수 있는 테스터 도구. 테스터를 통해 간단한 스크립팅 언어를 사용하여 사용자 정의 스크립트 세트로 블랙박스 테스트를 실시할 수도 있습니다.
- 시스템 배포 주기에서 DDS 개발 주기를 분명히 구분할 수 있도록 해 주는 설정 도구. 이는 모든 시스템, 네트워크 및 환경 세부 정보를 수집하고 XML로 배포 기술어를 생성함으로써 달성할 수 있습니다. 설정 도구를 사용하여 애플리케이션 코드를 한 번만 작성하면 어디서나 배포할 수 있습니다.
- 런처 도구는 모든 도구 및 유틸리티의 제어판, DDS에서 가장 일반적인 애플리케이션 패턴의 DDS 사례는 물론, API 및 도구와 배포 조율에 대한 완벽한 기록을 제공하기 때문에 Vortex OpenSplice 제품을 처음 사용할 때 도움이 됩니다.
- 레코드 앤 리플레이 서비스는 관심 있는 데이터를 기록하고 추후 데이터 보급률, QoS 및 구성과 같은 동일하거나 다른 특성으로 재생하는 데 도움이 되는 비침습적 DDS 서비스입니다.
- 레코드 앤 리플레이 관리자는 레코드 앤 리플레이 관리자 서비스를 구성하고 모니터링 하는데 도움이 되는 그래픽 사용자 인터페이스 도구입니다.
- 확장성과 결정성을 개선하기 위해 동일한 시스템에서 실행되는 모든 애플리케이션 간에 DDS 인프라를 연합으로서 공유할 수 있는 연합 아키텍처 배포 기능. 대개 인메모리 데이터베이스는 데이터가 동일한 기계에서 실행되는 모든 병치된 애플리케이션을 대신하여 균형 트리에 저장되는 공유 메모리 세그먼트 내에서 생성됩니다. 이러한 배포에서 네트워크 스케줄러는 병치된 애플리케이션의 모든 트래픽을 관리하여 데이터의 우선 순위를 정하고 네트워크 대역폭을 가장 중요하고 긴급한 데이터 스트림에 할당합니다.
- 연합 배포 시나리오에서 OpenSplice가 사용하는 공유 메모리 데이터베이스를 모니터링하는 데 도움이 되는 공유 메모리 모니터 도구. 이 도구를 통해 공유 메모리의 현재 상태나 메모리 최고 사용량은 물론, 다른 유용한 통계도 볼 수 있습니다.
- The RMI API. Vortex OpenSplice는 다형 미들웨어로서 데이터 중심적 요구 사항과 서비스 지향적 아키텍처 요구 사항을 모두 다룹니다. 아키텍처에 요청-응답 유형의 상호 작용이나 순수한 원격 절차 호출(RPC)이 필요한 경우, 원격 메소드 호출(RMI)을 통해 고급 추상화 프로그래밍 모델을 제공하고 개발 팀의 생산성을 높일 수 있습니다. 따라서 데이터 중심의 장점은 계속 누리면서 서비스 중심성을 활용하는 아키텍처를 구축할 수 있습니다.
- 스트림 API. 애플리케이션이 자주 연속 데이터 스트림을 생성할 때 데이터를 함께 일괄 처리하여 I/O를 줄이면 성능 및 처리량 측면에서 차이를 도출할 수 있습니다. 스트림 API는 모든 독점적인 확장에서 DDS 상호 운용성 프로토콜을 보존하는 표준 DCPS 인터페이스 상에 구축된 계층입니다.
- Google ProtoBuf 데이터 모델링 지원. 프로토콜 버퍼는 구조화된 데이터를 직렬화하기 위한 Google의 확장 가능한 언어 중립적 및 플랫폼 중립적 메커니즘입니다. XML에 비해 더 작고 빠르며 간단합니다. Vortex OpenSplice는 GPB를 지원합니다.
- DDS 보안 지원을 통해 민감한 데이터를 암호화하고 DDS 애플리케이션을 인증하고 DDS 데이터 주제 및 파티션에 대한 액세스를 승인할 수 있습니다. 기본 암호화, 인증 또는 액세스 제어 플러그인을 사용하거나 통합할 플러그인을 제공할 수 있습니다.
- 탁월한 확장성의 내구성 서비스가 고장, 충돌 또는 연결 해제 시에도 데이터의 일관성을 보장합니다. 궁극적으로 항상 일관된 데이터 모델을 보장합니다.
- 실시간 네트워킹 서비스 프로토콜은 결정성과 확장성을 개선하기 위해 기능이 향상된 OMG ddsi 프로토콜과 완벽하게 상호 운용할 수 있는 프로토콜입니다. 정적 검색, 트래픽 형성 및 차별화된 서비스 기능과 같은 기능들을 제공합니다.
- 데이터베이스 커넥터는 ODBC 호환 관계형 데이터베이스에서 관리하는 저장된 온디스크 데이터와 실시간 DDS 글로벌 데이터 공간을 연합합니다.
- MATLAB, Simulink 및 LabVIEW 커넥터는 시뮬레이션 및 설계 세계를 실시간 데이터 공간으로 통합합니다.
- 웹 연결은 Javascript Node.js 기반 기술을 통해 실시간 데이터 공간을 월드와이드 웹 공간에 통합합니다. 이러한 커넥터를 사용하여 선호하는 웹 브라우저 또는 Javascript 단말형 프로그램에서 데이터를 생성하거나 액세스할 수 있습니다.
Vortex OpenSplice는 Cyclone DDS를 비롯한 모든 ddsi V2.3 구현과 완벽하게 상호 운용할 수 있으며, Vortex Link 및 Vortex Insight Monitoring 에이디링크 제품과 완벽하게 호환 및 운용할 수 있습니다. 이러한 제품 및 애드온에 대한 자세한 정보는 별도로 다운로드할 수 있습니다.
Vortex OpenSplice는 소프트웨어 개발 키트로 사용하거나 DDS 애플리케이션용 UML 프로필을 구현하는 타사의 최신 기반 아키텍처 도구(MDA)와 통합할 수 있습니다.
광범위하게 분산된 시스템에서 네트워크와 CPU(중앙 처리 장치)는 가장 중요한 리소스입니다. 따라서 전체 시스템 성능을 결정하는 주요 요인으로 간주됩니다.
실시간 시스템에서 컴퓨터의 네트워크 인터페이스 카드나 사용 중인 네트워크 라우터가 아닌 네트워크 제어 기능에 상당한 한계가 있는 운영 체제 스케줄러가 CPU 조율 및 스케줄링을 제어합니다. 이렇게 미흡한 네트워크 스케줄링은 데이터 흐름의 우선 순위를 정해야 할 때 문제가 됩니다.
멀티 코어 컴퓨팅 아키텍처를 활용하고 긴급성과 중요성에 따른 DDS 수준에서 데이터를 관리할 수 있는 네트워크 스케줄링의 미흡함을 해결하기 위해서는, 동일한 컴퓨팅 장치에서 실행되는 모든 애플리케이션을 연합할 수 있는 DDS 아키텍처를 고안하고 서비스 품질(QoS)을 토대로 데이터 보급을 조율해야 합니다.
QoS를 데이터에 연결하면 DDS 인프라가 우선 순위가 가장 높고 가장 긴급한 트래픽이 유리하도록 우선 순위가 낮은 트래픽을 선점합니다. 반면, 인수 분해 및 연합할 처리 과정이 거의 없는 경우에는 DDS를 단일 프로세스 모드 내에서 애플리케이션 코드를 연결하는 라이브러리 세트로서 구현하는 고전적인 방법만으로도 충분할 수 있습니다.
단일 프로세스 아키텍처 모드는 대개 지정된 컴퓨터에서 싱글턴 애플리케이션만 실행 중인 경우에 권장됩니다.
Vortex OpenSplice 아키텍처는 완전히 상호 운용 가능한 두 가지 모드로 운용 및 배포할 수 있습니다.
- 연합 모드에서 각 컴퓨터가 다수의 DDS 인식 애플리케이션을 호스팅하는 복잡한 아키텍처의 경우.
- 라이브러리 기반의 단말형 단일 프로세스 모드에서는 대개 하나의 애플리케이션만 DDS를 사용하여 연합하거나 조율할 것이 없습니다.
Vortex OpenSplice 배포 모드
공유 메모리 및 네트워크 스케줄링을 통한 연합 아키텍처
Vortex OpenSplice 아키텍처는 다수의 DDS 인식 애플리케이션이 동일한 노드에서 실행 중일 때 메모리 리소스를 합리화하기 위해 공유 메모리를 지원함으로써 각 애플리케이션의 주소 공간에 데이터를 보관해야 할 필요성을 최소화할 수 있습니다. 공유 메모리 세그먼트는 모든 로컬 DDS 애플리케이션에 공통적입니다. 이것은 구조화 쿼리 언어(SQL)로 쿼리할 수 있는 인메모리 실시간 데이터베이스라고 할 수 있습니다. 공유 메모리 옵션이 포함된 연합 아키텍처는 지연 시간이 매우 짧은 코어 간 통신이 가능하다는 장점도 가지고 있습니다.
연합 배포 아키텍처에 대해 Vortex OpenSplice를 구성할 때, 데이터는 물리적으로 기계 연합 상에 한 번만 저장됩니다. 스마트 관리를 통해 계속해서 연합 내의 각 가입자에게 데이터 공간에 대한 개인 '열람 페이지'를 제공합니다. 이를 통해 독자의 데이터 캐시는 콘텐츠 필터링, 쿼리 등이 가능한 개별 '데이터베이스'로 인식될 수 있습니다.
Vortex OpenSplice는 또한 다음을 위해 DDS 네트워크 스케줄러를 제공하는 시장에서 독특한 아키텍처를 가지고 있습니다:
- 중요도와 긴급도에 따라 데이터를 구성 및 분류하고, 긴급하고 중요한 각 데이터 스트림 등급에 대한 네트워크 채널을 생성합니다. 해당 채널은 우선 출구로 호출됩니다.
- 각 데이터 스트림에 첨부된 QoS에 정의된 바와 같이, 비교적 긴급하지 않은 데이터 스트림을 선점하고 네트워크 대역폭을 최고로 우선시해야 하며 가장 긴급한 최신 데이터 스트림에 할당합니다.
- 트래픽 형성을 통해 제공되는 네트워크 대역폭으로 네트워크에서 전송할 데이터의 양을 조정합니다.
- 시스템이 논리적 및 물리적으로 분할될 때 데이터를 실제로 사용되는 하위 네트워크로 제한합니다.
Vortex OpenSplice DDS 네트워크 스케줄러 및 네트워크 우선 출구
DDS 네트워크 스케줄러를 통해 노드 확장성을 극대화할 수 있습니다. 이 스케줄러를 네트워크 상에 존재하는 모든 로컬 애플리케이션의 고유 프록시로 표시되도록 구성할 수 있습니다. 따라서 시스템 확장성은 고전적인 단일 프로세스 모드처럼 DDS 참여 애플리케이션의 수가 아니라 시스템 수에 의해 결정됩니다.
네트워크 스케줄러는 필요한 만큼 네트워크 우선 출구를 생성하고 TCP/IP 또는 UDP/IP와 같이 우선 순위를 보존하지 않는 전송에서도 메시지 우선 순위를 실행할 수 있도록 도와줍니다.
DDS 글로벌 데이터 공간과 이를 생성하는 애플리케이션은 ‘DDS 파티션’으로 알려진 논리 그룹으로 구성될 수 있습니다. Non-Vortex OpenSplice DDS 구현은 동일한 멀티 캐스트 주소를 사용하여 데이터를 도처로 분산시키고 DDSi 프로토콜 스택에 의존하여 해당 노드에서 원치 않는 데이터를 폐기합니다.
DDS 논리 대비 물리적 파티셔닝 도식화
예를 들어, 시스템이 동/서/남/북의 지리적 파티션으로 구성되어 있고 공중 감시와 같은 시스템을 구축하는 경우에는 각 지역에 침입을 감지하고 현지에서 즉각적으로 대응해야 하는 하위 시스템이 존재해야 합니다.
특정한 지리적 지역의 레이더가 공중에서 특정한 트랙의 위치를 감지하고 신호를 만들어 낼 때, 해당 데이터가 전체 네트워크에 분산되면서 중요한 네트워크 대역폭과 리소스를 낭비하고 위협에 반응하는 구독 애플리케이션이 발행인과 동일한 지역에 있을 경우 불필요하게 CPU 시간을 소모하는 일은 없어야 할 것입니다.
Vortex Opensplice Network Scheduler를 통해 다른 멀티캐스트 및 유니캐스트 주소를 동일한 DDS 논리 파티션에 연결하여 트래픽을 생성된 데이터에 실제로 관심이 있는 서브 네트워크로 물리적으로 제한할 수 있습니다.
공유 메모리가 있는 연합 아키텍처는 각 독자와 작성자가 고유한 스토리지가 있는 '통신 엔드포인트'로 간주되는 다른 DDS 구현과 비교할 때 설치 공간이 매우 콤팩트하며, 뛰어난 확장성과 최적의 성능을 제공합니다.
간단한 단말형/단일 프로세스 아키텍처
이 배포를 통해 DDS 애플리케이션과 Vortex OpenSplice 미들웨어 라이브러리를 단일 프로세스로 간단하게 연결할 수 있습니다.
이 배포 옵션의 장점 중 하나는 다음과 같습니다. 다이나믹 힙(heap) 메모리를 사용하는 프로세스로 공유 메모리 세그먼트를 미리 구성할 필요가 없습니다. '제로 구성'과 함께 모든 기능이 애플리케이션 프로세스 내에 번들로 제공되기 때문에 연합 서비스를 시작할 필요가 없습니다. 미들웨어, 데이터 및 애플리케이션 수명 주기가 서로 연결되어 있습니다.
시스템당 DDS 인식 애플리케이션이 하나이고 연합할 대상이 없을 때 이렇게 간단하게 배포하기만 하더라도 충분할 수 있습니다. 특히, 임베디드 플랫폼에 유용할 수 있습니다.
Vortex OpenSplice는 시스템에 제공하는 고급 기능과 비기능적 속성으로 인해 다른 유형의 메시징 또는 데이터 공유 기술과는 차별화됩니다. 해당 속성에는 다음이 포함됩니다:
- 데이터 중심 - 확장 및 진화가 가능한 데이터 모델을 중심으로 애플리케이션을 설계할 수 있어 엔드-투-엔드로 안전과 시간 및 공간 효율성을 촉진합니다. 데이터 중심성은 또한 시간과 공간의 분리를 촉진함으로써 더욱 간편하게 통합, 진화 및 재사용할 수 있는 시스템을 도출합니다.
- 실시간 - 적재적소에 정보를 제공합니다. 필요한 기한 내에 핵심 정보를 제공하지 못할 경우 생명, 임무 또는 비즈니스에 위협에 되는 상황이 발생할 수 있습니다.
- 신뢰성 - 하드웨어 및 소프트웨어 장애에도 불구하고 가용성, 신뢰성, 안전 및 무결성을 보장합니다.
- 보안 - 교환된 데이터의 기밀성, 무결성 및 신뢰성을 유지합니다.
Vortex 상용 버전은 다음과 같은 추가적인 장점이 있습니다:
- 다음과 같은 강력한 도구를 통한 생산성 향상
- the Tuner tool,
- the Tester tool,
- the Configurator
- the Record and Replay Manager tools.
- the Launcher,
- the shared memory monitor
- DDS 도메인 내의 모든 비휘발성(non-volatile data) 데이터 세트의 일관된 모델을 보장하기 위한 연결 해제 및 자동 정렬 정책을 지원하는확장 가능하고 내구성이 뛰어난 서비스입니다.
- 다음과 같은 고유한 아키텍처 패턴을 사용하여 성능, 결정성 및 확장성 개선
- 네트워크 스케줄링,
- 공유 메모리,
- 트래픽 형성,
- 데이터 분할,
- 우선 출구 패턴.
- 다음과 같은 추가 커뮤니케이션 패러다임
- 원격 메소드 호출(RMI) 및
- 스트림 API.
- 다음과 같은 광범위한 기술 전반적으로 데이터의 공유와 통합을 활성화하는 연결성 확대
- 웹 기술,
- 데이터베이스,
- 시뮬레이션 및 모듈화 환경.
- 다음을 포함하는 완벽한 전문 서비스 제공:
- 컨설팅,
- 교육,
- 다양한 수준의 서비스 수준 협약을 통한 기술 지원.
- 긴 수명 지원. 제품이 Vortex OpenSplice와 함께 배포되면 가장 최신 버전이 아니라 사용 중인 지정된 버전 지원을 원할 할 수도 있습니다. 이 경우 동결 제품 버전에 대한 지원을 받을 수 있으며 필요한 업데이트만 받을 수 있습니다.
- 다음을 포함한 광범위한 엔터프라이즈 및 임베디드 플랫폼 지원:
- Linux
- Windows
- VxWorks
- PikeOS, 그 외 다수의 요청에 따라