+ All Categories
Home > Documents > DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의...

DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의...

Date post: 29-Jun-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
13
포커스 1 DDS 미들웨어 표준 기술 동향 전형국* 이수형* 김원태* 김경태** 박승민*** 임베디드 시스템의 증가와 모바일 기기들의 진화에 따라 다양한 형태의 유비쿼터스 환경에서 데이터의 전달과 배포 요구가 증가하고 있다. 또한 다수의 임베디드 시스템들이 동적으로 하나의 망을 구성하고 네트 워크 도메인을 형성하여 사용자의 간섭없이 사용자 요구 데이터를 투명하게 송수신 할 수 있는 분산 환경에 대한 요구는 점차 증가할 것으로 보인다. 이에 본 연구는 데이터 중심 배포 미들웨어 기술의 일환으로 OMG DDS(Data Distribution Service) 기술을 기반으로 한 데이터 Pub/Sub 기술을 설명한다. 또한 기존 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, 데이터 중심 배포 미들웨어의 표준으로 제시되고 있는 OMG DDS 미들웨어 기술 동향을 파악한다. 현재 데이터 중심 배포 미들웨어의 기술 요구는 국방 도메인과 같이 실시간성을 요구하는 응용 도메인에 국한되어 있지만 향후 전자상거래, 금융 서비스, 통신 서비스 등 다양한 범위의 응용 도메인에서 활용 가능할 것으로 보인다. ▨ I. 서 론 유비쿼터스 환경의 발달로 임베디드 시스템 및 다양한 모바일 기기의 활용이 늘어나고 있다. 특히 다양한 디바이스 기기의 출현은 다양한 형태의 통신 기법을 발생시켰고, 여러 가지 통신 서비스 형태로 확장되어 가고 있다. 이러한 다양한 통신 기법들은 각 통신 기법들에 의해서 생성된 응용 프로그램들에 대해서 각 망의 특성에 종속되고 특정 프로토콜에 의존하는 문제점들을 갖게 하였으며, 각 통신 기법 에서 생성된 응용들이 사용자가 요구하는 다양한 플 랫폼 및 통신 환경에서 효율적으로 구현되지 못하는 문제점을 발생시키게 되었다. 이러한 문제점을 해결 하기 위해 응용 프로그램 간의 직접적인 데이터 교 환을 배제하고 응용 프로그램의 자율적이고 효율적 인 데이터 교환을 제공하고자 데이터 통신 미들웨어 * ETRI CPS 연구팀/선임연구원 ** ETRI CPS 연구팀/연구원 *** ETRI 임베디드소프트웨어연구부/부장 I. II. 통신 미들웨어 기술 III. DDS 미들웨어 표준 기술 IV. DDS 산업기술 동향 V. 포커스
Transcript
Page 1: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

포커스

1

DDS 미들웨어 표준 기술 동향

전형국* 이수형* 김원태* 김경태** 박승민***

임베디드 시스템의 증가와 모바일 기기들의 진화에 따라 다양한 형태의 유비쿼터스 환경에서 데이터의

전달과 배포 요구가 증가하고 있다. 또한 다수의 임베디드 시스템들이 동적으로 하나의 망을 구성하고 네트

워크 도메인을 형성하여 사용자의 간섭없이 사용자 요구 데이터를 투명하게 송수신 할 수 있는 분산 환경에

대한 요구는 점차 증가할 것으로 보인다. 이에 본 연구는 데이터 중심 배포 미들웨어 기술의 일환으로

OMG DDS(Data Distribution Service) 기술을 기반으로 한 데이터 Pub/Sub 기술을 설명한다. 또한 기존

서비스 및 통신 미들웨어의 기술적 특성을 분석하고, 데이터 중심 배포 미들웨어의 표준으로 제시되고 있는

OMG DDS 미들웨어 기술 동향을 파악한다. 현재 데이터 중심 배포 미들웨어의 기술 요구는 국방 도메인과

같이 실시간성을 요구하는 응용 도메인에 국한되어 있지만 향후 전자상거래, 금융 서비스, 통신 서비스 등

다양한 범위의 응용 도메인에서 활용 가능할 것으로 보인다. ▨

I. 서 론

유비쿼터스 환경의 발달로 임베디드 시스템 및

다양한 모바일 기기의 활용이 늘어나고 있다. 특히

다양한 디바이스 기기의 출현은 다양한 형태의 통신

기법을 발생시켰고, 여러 가지 통신 서비스 형태로

확장되어 가고 있다. 이러한 다양한 통신 기법들은

각 통신 기법들에 의해서 생성된 응용 프로그램들에

대해서 각 망의 특성에 종속되고 특정 프로토콜에

의존하는 문제점들을 갖게 하였으며, 각 통신 기법

에서 생성된 응용들이 사용자가 요구하는 다양한 플

랫폼 및 통신 환경에서 효율적으로 구현되지 못하는

문제점을 발생시키게 되었다. 이러한 문제점을 해결

하기 위해 응용 프로그램 간의 직접적인 데이터 교

환을 배제하고 응용 프로그램의 자율적이고 효율적

인 데이터 교환을 제공하고자 데이터 통신 미들웨어

목 차

* ETRI CPS 연구팀/선임연구원

** ETRI CPS 연구팀/연구원

*** ETRI 임베디드소프트웨어연구부/부장

I. 서 론

II. 통신 미들웨어 기술

III. DDS 미들웨어 표준 기술

IV. DDS 산업기술 동향

V. 결 론

포커스

Page 2: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

주간기술동향 통권 1456호 2010. 7. 28.

2

기술들이 개발되었다. 이러한 데이터 통신 미들웨어 기술은 응용 프로그램에게 데이터 배포의

자율성을 제공할 뿐만 아니라 응용 프로그램 개발자의 입장에서 응용 프로그램 개발의 효율성을

제공해 주게 된다.

데이터 통신 미들웨어는 응용 프로그램에서 제공했던 데이터 교환 기능을 대행하는 역할을

수행한다. 또한 다양한 디바이스들이 존재하는 유비쿼터스 환경에서 동적으로 네트워크 망을 구

성하여 통신 네트워크 도메인을 형성하는 역할을 수행한다. 현재 데이터 교환을 위한 데이터 통

신 미들웨어는 Web Service, CORBA, JMS 등 다양한 데이터 통신 미들웨어들이 개발되었다.

이러한 데이터 통신 미들웨어는 각각의 특징을 가지고 다양한 응용 도메인에서 사용되고 있지만,

대부분 중앙 집중식 방법으로 중앙에 서버를 통한 데이터 관리 구조를 가지게 된다. 현재의 유

비쿼터스 환경과 같이 다수의 디바이스들이 동적으로 망을 구성하고 분산된 형태로 빈번한 데이

터를 제공하는 구조에서는 중앙 집중식 데이터 관리 구조는 효율적이지 못하게 된다. 따라서 이

러한 분산된 환경에서 데이터 도메인을 구성하고 효율적인 데이터 전송을 위하여 OMG(Object

Management Group)에서 DDS 미들웨어 표준을 제안하였다. OMG DDS(Data Distribution

Service)는 동적으로 네트워크 데이터 도메인을 형성하고, 각각의 임베디드 기기나 모바일 기기

들이 네트워크 데이터 도메인에 자유로운 참여나 탈퇴가 가능한 네트워크 통신 환경을 제공한다.

OMG DDS는 사용자에게 발간(publisher), 구독(subscriber) 환경을 제공하여 자신이 원하는 데

이터에 대한 추가적인 작업 없이 데이터를 생산, 수집, 소비할 수 있는 기능을 제공해 준다.

II. 통신 미들웨어 기술

1. 발간자/구독자 배포 기술

Pub/Sub 배포 기술은 클라이언트 서버 모델과 다르게 데이터 통신 도메인에 참여하는 사용

자가 발간자(데이터 생산)나 구독자(데이터 소비)가 되어 서비스의 연결 지향없이 자신이 원하는

데이터를 생산하고 소비하는 데이터 배포 기술을 말한다. Pub/Sub 배포 기술은 메시지 기반으

로 비연결 지향 서비스의 특징을 가지며, 서비스에 대한 정보(위치, 시간, 동기화)에 관계없이 데

이터에 대한 접근을 가능하게 해주어 실시간에 적합한 통신 환경을 제공해 준다.

Pub/Sub 배포 기술은 데이터를 처리하는 내부 구조가 큐(Queue) 기반 배포 기술과 구분되

는데 (그림 1)은 큐 기반 배포 기술을 보여준다.

큐 기반 배포 기술은 데이터의 생산자나 소비자 모두 하나의 큐를 통해서 데이터의 송수신을

Page 3: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

포커스

3

수행하게 된다. 큐는 하나의 데이터 생산자와 다중의 데이터 소비자를 가지며, 각 메시지는 유일

한 데이터 소비자에게 전달된다. (그림 2)는 Pub/Sub 배포 기술을 보여준다.

Pub/Sub 배포 기술은 데이터 생산자와 소비자가 가상의 데이터 송수신 채널인 토픽(Topic)을

기반으로 데이터를 송수신한다. 다중의 생산자는 하나의 토픽에 대하여 데이터를 생성할 수 있

고, 생산된 데이터는 토픽에 연결된 모든 소비자에게 전달될 수 있다. 생성된 각 데이터는 우선

순위를 가질 수 있으며, 데이터에 대한 QoS를 설정할 수 있는 기능 등이 제공된다.

또한 Pub/Sub 배포 기술은 접근하는 데이터의 처리 방법에 따라 토픽 기반, 콘텐츠 기반, 타

입 기반 Pub/Sub 배포 기술로 분류되며, 다음은 각 방식에 대한 설명이다.

- Topic-based Pub/Sub

* 데이터의 생산자 소비자가 토픽에 대한 접근을 토픽의 키워드로 수행

* 토픽은 생산되고 소비될 데이터의 그룹을 의미

- Content-based Pub/Sub

* 토픽에 대한 접근을 실제 토픽의 콘텐츠(내용)를 이용하여 접근

* 토픽의 콘텐츠는 필터링(filtering)되며, 데이터의 소비자는 필요한 필터를 설정

- Type-based Pub/Sub

* 키워드 대신 토픽에 포함된 타입을 기반으로 토픽에 접근

* 타입은 토픽을 구성하는 데이터의 서브셋을 의미

(그림 1) 큐 기반 배포 기술

(그림 2) Pub/Sub 배포 기술

Page 4: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

주간기술동향 통권 1456호 2010. 7. 28.

4

2. 통신 미들웨어 기술

가. 웹 서비스

웹 서비스(Web Service)는 XML 기반으로 WSDL(Web Service Description Language),

SOAP(Simple Object Access Protocol), UDDI(Universal Description Discovery and

Integration) 등의 표준 프로토콜에 의해 데이터 교환 서비스를 제공해 준다. 웹 서비스를 제공

할 사용자는 WSDL로 표현된 서비스의 인터페이스 정보, 데이터 정보, 위치 정보 등 서비스 호

출에 필요한 서비스 정보를 UDDI 저장소에 등록한다. 서비스 사용자는 UDDI 저장소에서 원하

는 서비스를 검색하고, 검색된 서비스 정보를 바탕으로 서비스를 호출한다. SOAP 프로토콜은

서비스를 등록하고 호출할 때 쿼리를 위해서 사용된다. 웹 서비스는 공개 표준(Open Standard)

을 따르고 XML을 사용함으로써 플랫폼과 프로그램 언어에 독립적이며, HTTP와 SMTP와 같

은 통신 프로토콜을 사용함으로써 웹 환경에서의 프로토콜 자율성을 보장하게 된다.

나. JMS

JMS(Java Message Service)는 Message Oriented Middleware 를 이용하기 위한 사용자

API로 메시지 전달을 위한 비동기적 처리를 수행하는 서비스 시스템을 말한다. JMS의 구성은

JMS 제공자와 클라이언트와의 연결을 표현하는 커넥션, 메시지를 생성하고 소비하기 위한 세션,

메시지를 생성하고 전달할 메시지 생성자(Message Producer), 메시지를 전달받고 소비할 메시

지 소비자(Message Consumer), 실제 전달될 데이터인 메시지로 구성되어 메시지의 송수신 관

련 작업을 수행한다. JMS 서비스는 통신이 비동기적으로 이루어짐으로써 클라이언트가 여러 개

의 작업을 동시에 수행할 수 있고 기존의 CORBA나 RPC에 비해 사용법이 간단하며, 사용자가

지정한 메시지 타입에 상관없이 다양한 형태의 메시지 전송을 수행할 수 있는 장점이 있다.

다. CORBA

CORBA(Common Object Request Broker Architecture)는 개방형 내부 구조를 정의하기

위하여 OMG에 의해서 생성되었으며, 분산 객체 간의 상호연동을 위한 통신 미들웨어 구조이다.

CORBA의 구조는 클라이언트와 서버 사이의 통신 버스 역할을 수행하는 ORB(Object Requset

Broker) Core, 클라이언트 사이드로 클라이언트 통신을 담당하는 클라이언트 스텁(Stub), 인터

페이스 저장소인 인터페이스 저장소(Interface Repository)로 구성되고, 서버 사이드로 통신을 담

당하는 동적 스켈레톤 인터페이스(Dynamic Skeleton Interface), 구현 객체를 저장하고 적재하는

Page 5: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

포커스

5

구현 저장소(Implementation Repository)로 구성된다. CORBA는 각 시스템에서 생성한 서비스

컴포넌트를 원격의 분산 시스템 환경에서 사용할 수 있도록 서비스의 위치 투명성과 상호 운용

성을 제공하여 주고, CORBA를 기반으로 응용 프로그램을 생성하는 시스템에서 응용 프로그램

재 사용성을 증가시켜준다.

라. DDS

DDS는 실시간 시스템을 위한 데이터 중심의 데이터 분산 서비스로, 분산 환경을 위한 Pub/

Sub 프로그래밍 모델에 대한 표준을 제시하고 있다. 다음 절에서 DDS 에 대한 자세한 설명이

이루어진다.

<표 1>은 위에서 설명한 데이터 통신 미들웨어에 대한 특징들을 정리한 것이다.

III. DDS 미들웨어 표준 기술

실시간 시스템을 위한 데이터 중심 배포 미들웨어 기술(DDS)은 분산 환경을 위한 발간

(Publish)/구독(Subscribe)의 명세를 갖는 미들웨어로, 분산 환경을 위한 데이터 중심의 발간/구

독 프로그래밍 모델에 대한 표준화의 필요성에 의해 만들어졌다.

DDS 발간/구독 모델은 분산 애플리케이션에서의 복잡한 네트워크 프로그래밍을 가상적으로

제거하며, 기본적인 발간/구독 모델 이상의 메커니즘을 지원한다. 통신으로 DDS를 이용하는 애

플리케이션이 갖는 주요한 이득은 상호간의 응답을 다루기 위해서 아주 적은 설계 시간이 소요

<표 1> 통신 미들웨어 특징

Web Service JMS CORBA DDS

Purpose - Complicated web

service - Message passing

- Distributed Object Management

- Data Distribution

Independency - Using XML through

HTTP - Platform Independent

- Java language - Dependent on JVM

- Some compatibility problems among products

- Language and platform independent

Architecture Complexity

- Loosely coupling - Centralized

publisher-subscriber architecture

- Hard to understand and develop

- Publisher-subscriber direct architecture

Protocol - TCP - UDP

- TCP - UDP

- TCP - UDP

Basic Messaging

- Message Oriented remote Procedure Call

- Point-to-Point - Publish/Subscribe

- Remote Procedure Call

- Predefined data

Comm. Model - Many-to-One - Many-to-Many - One-to-One - Many-to-Many

Page 6: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

주간기술동향 통권 1456호 2010. 7. 28.

6

되며, 특히 애플리케이션들은 위치나 존재를 포함한 참가하는 다른 애플리케이션들에 대한 정보

를 필요로 하지 않는다. DDS는 사용자 애플리케이션들로부터의 어떤 간섭 요구 없이 다음 내용

을 포함한 모든 메시지 전송에 대한 것을 자동적으로 다룬다.

- 메시지를 누가 받을 것인지 결정하는 것

- 구독자가 어디 위치해 있는지

- 메시지를 전달할 수 없을 경우 어떻게 되는지

DDS는 사용자가 QoS 파라미터를 설정하는 것을 허용하고 자동 발견 메커니즘을 포함한 메

시지를 보내거나 받을 때 사용되는 방법들을 설명하고 있다. DDS는 완전한 익명으로 메시지를

교환함으로써 분산된 애플리케이션 설계를 단순화하고 모듈러 형태의 잘 구조화된 프로그램을

구현할 수 있는 기반을 제공해 준다.

OMG 에서 제공하고 있는 DDS 의 기본 구조는 네트워크 계층을 기반으로 통신 프로토콜

(DDSI/RTPS) 계층, 통신 제어 및 관리(DCPS) 계층, 애플리케이션 계층의 4부분으로 구분하고

있으며 이는 (그림 3)과 같다.

DDS는 기본적으로 DDS v1.2 API Standard, DDS/RTPS v2.1 Wire Protocol Standard의

스펙으로 정의되어 있다.

DDS v1.2 API Standard

- 언어 독립적, OS와 HW architecture 독립적

- DCPS: Standard API for Data-Centric, Topic-Based, Real-Time Publish/Subscribe

(그림 3) OMG DDS 기본 구조

Page 7: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

포커스

7

- DLRL: Standard API for creating Object Views out of collection of Topics

DDSI/RTPS v2.1 Wire Protocol Standard

- 타 DDS 개체간의 상호운용 및 통신을 허용해주는 Standard wire protocol

1. DDS DCPS

DCPS(Data Centric Publisher/Subscriber)는 응용 프로그램에 제공되는 데이터 발간/구독

기능 인터페이스이다. 이 계층을 통해 응용 프로그램은 데이터를 교환할 상대에 대한 인지 없이

원하는 데이터의 발간/구독만을 수행하게 된다. 기본 인터페이스인 DCPS 는 read()/write() 방

식의 API 를 제공하여 읽기/쓰기 방식으로 응용 프로그램 간의 데이터 교환 기능을 제공한다.

DLRL은 선택사항으로 주고받는 데이터를 로컬 오브젝트로 변환하여 객체 참조 방식으로 데이

터의 발간/구독이 이루어지게 한다. 즉, 사용자 애플리케이션에 맞게 DCPS에서 정의된 데이터

객체를 사용자가 정의한 타입으로 데이터를 변환하여 애플리케이션에서 그 데이터를 사용하도

록 하는 역할을 한다.

DCPS 레이어는 퍼블리싱 애플리케이션에서의 전송하려는 데이터에 대한 값 설정 및 설정된

데이터를 퍼블리싱하는 기능을 제공하고, subscribing application에서의 수신 등록했던 관심 항

목에 대한 데이터를 수신하여 수신된 데이터에 대한 값의 접근을 가능하게 한다. 또한 토픽 정

의, 토픽 타입 정의, Publisher/Subscriber Entity 생성, 각 엔티니(Entity)에 대한 QoS 설정 및

모든 엔티니를 운용할 수 있도록 해준다.

현재까지의 표준 문서로 DCPS는 2004년 12월 1.0 버전이 표준화된 이후, 2005년 12월

1.1 버전이 2006 년 9 월에 1.2 버전이 발표되어 지금까지 사용되고 있다. 현재 DCPS 를 주도

(그림 4) DDS DCPS 구조

Page 8: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

주간기술동향 통권 1456호 2010. 7. 28.

8

하고 있는 업체는 RTI(Real-Time Innovation), Primstech, OCI(Object Computing Inc)로 OMG

의 DDS 표준을 이끌고 있다.

Publisher 와 DataWriter 는 전송 측에 존재하며, Subscriber 와 DataReader 는 수신 측에

존재한다. Publisher 와 Subscriber 는 자신이 사용할 토픽 타입의 개수만큼의 DataWriter 와

DataReader를 생성하여 각 DataWriter와 DataReader가 한 종류의 토픽만을 담당하도록 한다.

각 Publisher와 Subscriber는 전달받은 토픽 데이터의 담당 DataWriter와 DataReader를 확인

하고 담당자에게 전달하는 역할을 한다.

- Publisher는 데이터 분산을 담당하며 다양한 형태의 타입으로 정의된 데이터를 출판한다.

Publisher 에는 출판할 토픽의 종류에 따라 다수의 DataWriter 를 소유할 수 있으며,

DataWriter는 정해진 하나의 데이터 타입에 맞는 토픽에 대한 값을 할당한다.

- Subscriber는 출판 데이터 수신 및 수신 데이터를 애플리케이션이 이용할 수 있도록 한다.

애플리케이션은 수신된 토픽에 대해 DataReader를 사용하여 접근한다.

2. DDS RTPS

RTPS(Real Time Publish/Subscribe)는 OMG에 의해 표준화된 데이터 중심 배포 서비스를

위한 데이터 전송 프로토콜로써 데이터 발간/구독 통신 모델을 지원하며 UDP/IP 와 같이 신뢰

성 없는 전송계층 위에서도 동작 가능하도록 설계되었다. RTPS 가 등장하게 된 배경은 데이터

중심 배포 서비스를 제공하기 위해 앞서 표준화된 DCPS 규격의 경우 프로토콜의 수행절차, 내

부구조, 사용 메시지 포맷 정의와는 상관없이 DCPS가 제공해야 하는 기능과 응용 수준에서 사

용할 API 와 같은 인터페이스에 대해서만 정의하다 보니, DCPS 를 구현한 미들웨어 간에 상호

운용성이 떨어져 미들웨어 수준에서의 전송계층에 대한 표준화 요구가 있기 때문이다.

RTPS 는 2006 년 7 월 1.2 버전이 표준화된 이후 2007 년 6 월, 2008 년 6 월에 각각 버전

2.0, 버전 2.1이 채택되었고, 2009년 3월과 7월에 RTPS 표준을 주도한 3개 벤더들 간에 상

호운용성에 시연이 이루어졌으며, 현재 상용 DDS 기반 데이터중심 배포 미들웨어 제품에 모두

탑재되어 운용되고 있다.

RTPS 프로토콜에서 정의하고 있는 사항은 다음과 같다.

- Discovery 메커니즘: 네트워크 상에서 해당 응용에 참여하는 개체인 Participant, 데이터

발간/구독의 주체가 되는 Reader, Writer 개체, 교환 데이터를 정의한 토픽 개체에 대한

탐색과 연결을 응용에 참여하는 노드들로 구성된 도메인상에서 수행

Page 9: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

포커스

9

- 데이터 Encapsulation: 교환될 어떤 데이터 타입에 대해서도 통신 채널 상에서 전달될 형

태로 코딩

- Transport: UDP/IP 통신 계층 위에 전달 데이터 코딩 방법 및 멀티캐스트 주소, 포트의 매핑

- 메시지 포맷: 발간/구독 개체의 존재를 선언하는 메시지, 교환 데이터 전송 메시지, 구독

신청 메시지, Acknowledgement 메시지 등 RTPS에서 사용되는 메시지의 정의

- 전송 절차: 메시지의 Timing, UDP 계층 위에서 신뢰성 확보 방법, 멀티캐스팅의 이용, 신

뢰성 있는 멀티캐스팅 이용 절차 등 정의

표준 규격 상 RTPS를 구성하는 기본 모듈은 (그림 5)와 같이 4가지로 나타낼 수 있다.

- Structure Module: Structure Module은 RTPS 표준 규격 상 데이터 교환 시 통신에 참여

하게 되는 개체들에 대해 정의

- Message Module: Message Module 은 RTPS 의 라이터(Writer)와 리더(Reader) 간에

정보 교환을 위해 사용될 메시지에 대해 정의

- Behavior Module: Behavior Module은 RTPS 라이터와 리더들간 상태적, 시간적 조건에

따라 수행되어야 할 메시지 전송 절차에 대해 정의

- Discovery Module: Discovery Module은 도메인 상에 존재하는 데이터 배포 관련 개체

에 대한 정보를 탐색하는 기능을 수행한다. Discovery Module은 RTPS 탐색 프로토콜을

정의 다음과 같은 두 가지 정의된 프로토콜을 사용한다.

* PDP(Participant Discovery Protocol): 서로 다른 네트워크 상에서의 Participant 탐색

을 위한 프로토콜

* EDP(Endpoint Discovery Protocol): 라이터, 리더와 같이 서로 다른 종단점 간의 탐색

정보 교환에 사용되는 프로토콜

(그림 5) RTPS Module

Page 10: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

주간기술동향 통권 1456호 2010. 7. 28.

10

3. DDS QoS

QoS Policy는 DDS Participant 간의 통신 품질 및 보안, 효율성 등의 측면에서 최대한의 효

과를 주기 위해서 사용되는 정책으로 데이터를 개시하는 쪽(publications)과 정보를 수신하는 쪽

(subscriptions) 간의 호환이 이루어져야 한다. (그림 6)은 DDS QoS Model을 도식화한 것이다.

DDS 에서는 DDS 엔티티별로 개별적인 QoS를 설정 할 수 있으며, 여러 개의 QoS 정보를

통해 computing resource 및 네트워크를 최대한 활용한다. 그 사용 범위에 따라 논리적으로 분

류하면 Data Availability, Data Delivery, Data Timeliness, Resources, Configuration 의 제어

그룹으로 나누어 볼 수 있다. 그에 대한 세부 내용은 다음과 같다.

- DURABILITY: 쓰여진 데이터 인스턴스에 대한 지속 기간에 대한 설정

- HISTORY: 전송되는 데이터에 대한 유지와 관련된 QoS Policy 로 설정된 값에 따라

depth를 설정

- RELIABILITY QoS: 서비스에서 요청/제공되는 Reliability의 등급을 표현

- OWNERSHIP QoS: 동일한 Data Instance에 대한 다수의 DataWriter의 쓰기 권한 부여

에 관해 설정

- DEADLINE QoS: Data Instance 최대 내부 전송 시간을 정의

(그림 6) DDS QoS Model

Page 11: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

포커스

11

- RESOURCE_LIMITS QoS: Publishing side와 Subscribing side간의 통신 데이터 처리를

위한 resource 사용량을 설정

IV. DDS 산업 기술 동향

현재 DDS 표준은 OMG DDS 를 선도하고 있는 RTI(Real-Time Innovation), Primstech,

OCI(Object Computing Inc.) 통해서 표준이 진행되고 있다. 현재 RTI는 상용 제품인 COTS 형

태의 NDDS 제품을 개발 상용화 하고 있으며, Prismtech은 OMG DDS의 스펙을 준수하는 오

픈 소스 형태의 OpenSplice DDS 제품을 개발하고 있다. OpenSplice DDS 제품은 Community,

Compact, Professional, Enterprise 단계별 제품 군을 보유하고 있으며, DDS의 가본 기능을 제

공하는 커뮤니티 버전을 오픈 소스로 형태로 제공하고 있다. OCI는 TAO 기반 오픈 소스 형태

의 OpenDDS 제품을 개발하였는데, OpenDDS 는 C++ 기반의 DDS 제품으로 RTI 와

Prismtech의 DDS 제품들 보다 지원 기능이 떨어지는 단점을 가지고 있다. <표 2>는 DDS 제

품들의 특징들을 정리한 것이다.

현재 DDS의 국내 개발사례는 2007 국방기초연구사업의 일환으로 충남대에서 개발한ReTiCom

이 있다. ReTiCom은 OMG DDS 스펙을 준수하는 DDS 개발 사례로 DDS의 DCPS, RTPS 기

능을 지원하고 있으며, 데이터베이스 연동을 위한 DB-ReTiCom 으로 확장하였다. 산업계에서

는 ALTIBASE가 DBMS 연동을 위한 DDS 기반의 ALTIBASE Data Stream 제품을 개발하였

다. ALTIBASE Data Stream 은 DSMS(Data Stream Management System), CEP(Complex

Event Processing), DDS(Data Distribution Service)로 구성되며, 다양한 데이터의 실시간 전송

<표 2> DDS 제품별 특징

RTI DDS OpenSplice OpenDDS

Organization/Sponsor RTI Co Prism Tech Co. Open Computing Inc.

Framework - OpenFusino(CORBA) based/Stand-alone

TAO based

DDSI Implemented Implemented None

License Commercial License LGPL No License

Source Closed Open Open

Access Control Supported None None

Unneeded Context Switching

Eliminated Too Many Too Many Lightweight-

ness Preallocating Memory Buffer

Supported None None

Page 12: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

주간기술동향 통권 1456호 2010. 7. 28.

12

과 처리문제를 해결해 주는 제품이다.

DDS 제품을 이용한 국내 적용 사례로는 삼성 탈레스가 RTI 사의 NDDS 제품을 이용하여

해군 함정용 차기호휘함(FFX-1)용 전투체계에 이용하고 있으며, 시뮬레이터와 NDDS 사이의

어댑터 애플리케이션을 구성하는 DDS 연동 모델로 이용하고 있다. ALTIBASE 는 ALTIBASE

Data Stream 제품을 이용한 DBMS 연동 제품들을 내놓고 있다.

해외에서 적용되고 있는 DDS 제품 중 RTI 사가 개발한 RTI DDS 제품 군이 마켓의 70%

이상을 점유하고 있으며, 나머지 30%를 Prismtech 사의 OpenSplice 와 OCI 가 개발한

OpenDDS가 양분하고 있다. 다음은 현재 RTI 및 Prismtech, OCI 사에게 개발한 RTI DDS가

적용되고 있는 산업 영역을 정리한 것이다.

- Aerospace & defense

- Communications & Control System

- Simulation & Transportation

- Financial Service

V. 결 론

IT 기술, 특히 임베디드 시스템과 모바일 기기 사용의 증가는 다양한 디바이스 간의 통신 요

구를 증가시키게 되었고, 다양한 통신 기법들을 출현시키는 결과를 가져왔다. 통신 기법이 다양

해짐에 따라 특정 통신 프로토콜에 종속되는 응용 프로그램들은 상호간의 운용에 어려움을 가지

게 되었고, 이러한 문제점들을 해결하기 위하여 디바이스와 운용 플랫폼에 독립적인 데이터 통

신 미들웨어 표준들이 개발되었다. 이러한 데이터 통신 미들웨어들은 서비스 미들웨어, 통신 미

들웨어, 데이터 미들웨어라는 각각의 이름으로 이종의 디바이스 및 통신 프로토콜 서비스의 상

호 운용에 도움을 주고 있다. 현재 많은 시스템들이 CORBA, Web Service, JMS등과 같은 데이

터 통신 미들웨어 등을 이용하여 플랫폼에 독립적인 응용 서비스를 개발하고 있다.

OMG에서 제안하고 있는 DDS 표준은 분산 환경에서 데이터 중심의 데이터 배포를 구현하

기 위한 표준으로 제안하고 있다. 이는 응용 프로그램들이 플랫폼이나 특정 언어에 독립적으로

하나의 데이터 도메인을 형성하고 그들 간의 효율적인 데이터 교환을 가능하게 해준다. 데이터

도메인을 구성하는 분산 환경의 디바이스들은 데이터 송수신을 위한 별도의 중앙 시스템을 필요

로 하지 않으며, 사용자의 간섭 없이 데이터 도메인에 참여하는 기능들을 제공해 준다.

현재 OMG DDS의 표준을 만족하는 다양한 DDS 제품들이 개발되고 있으며, 이러한 제품들

Page 13: DDS 미들웨어 표준 기술 동향 · 2012-06-12 · 서비스 및 통신 미들웨어의 기술적 특성을 분석하고, ... 금융 서비스, 통신 서비스 등 다양한

포커스

13

은 국방, 항공, 금융 등 다양한 응용 도메인에서 응용 프로그램들 간의 데이터 교환 및 배포를

위한 표준으로 사용되고 있다. 특히 국방에서 항공기, 군함, 전투체계 등에 표준으로 적용되고

있어, 앞으로 DDS 표준을 만족하는 제품들의 사용은 더욱 더 확대될 것으로 보인다.

<참 고 문 헌>

[1] OMG, “The Real-Time Publish-Subscribe Wire Protocol DDS Interoperability Wire Protocol

Specification Version 2.1”, http://www.omg.ort/spec/DDSI/2.1.

[2] Fabrizio Bertocci, “Leveraging DDS-RTPS Interoperability Protocol towards a Canonical Tool-

Set”, http://www.rti.com, 2009. 7.

[3] http://www.rti.com

[4] Data Distribution Service for Real-time Systems Version 1.2(OMG Available Specification

formal/07-01-01)

[5] Common Object Request Broker Architecture: Core Specification, OMG, V3.1, part 1, part 2 and

part 3(formal/08-01-05; formal/08-01-07; formal/08-01-06).

[6] OpenDDS Developer’s Guide

[7] Ming Xiong et al “Evaluating the Performance of Publish/Subscribe Platforms for Information

Management in Distributed Real-time and Embedded Systems,” November 2006.

[8] Gregory Chockler, Roie Melamed, Yoav Tock, and Roman Vitenberg, “SpiderCast: a scalable

interest-aware overlay for topic-based pub/sub communication,” Proc. of Inaugural international

conference on Distributed event-based systems (DEBS), 2007.

[9] “OMG DDS Tutorial - Part I”, OMG Standards in Government & NGO's Workshop July 13-15,

2009.

[10] “OMG DDS Tutorial - Part II”, OMG Standards in Government & NGO's Workshop July 13-15,

2009.

[11] 박충범, 권기정, 차다함, 최훈, 김점수, “데이터 분배 서비스 시스템 설계 및 분석”, 정보과학회논문지:

컴퓨팅의 실제 및 레터 제 14권 제 2호, 2008. 4.

* 본 내용은 필자의 주관적인 의견이며 NIPA의 공식적인 입장이 아님을 밝힙니다.


Recommended