JMS 및 DDS 기반 미들웨어의 데이터 전송효율 비교 분석
초록
현대의 전쟁 양상은 네트워크 중심전(Network Centric War)으로 전개될 것이라고 많은 연구에서 주장하고 있다. 네트워크 중심전에서 전투력의 우위는 네트워크에 연결된 시스템 간의 적시적인 데이터 유통을 통한 지휘 통제 시간 단축 등 네트워크 파워가 좌우할 것이다. 네트워크 파워를 뒷받침하는 것이 C4I체계의 데이터통신 미들웨어이며 이것의 중요성은 점점 증가하고 있다.
C4I체계(Command, Control, Communication, Computer and Intelligence System)의 데이터통신 미들웨어는 JMS(Java Message Service)를 기반으로 Point-to-Point 메시징 시스템을 운용하고 있다. Point-to-Point 메시징 모델은 메쉬(Mesh) 형태의 1:1 데이터 유통구조를 가지게 되며, 이는 유통구조 복잡도 증가, 노드 추가 비용의 증가, 데이터 유통 효율성 저하 등의 문제점을 안고 있다.
JMS 기반 미들웨어 시스템의 문제점을 개선하기 위하여 본 논문에서는 DDS(Data Distribution Service) 기반 미들웨어 시스템과 성능 비교실험을 수행하여 데이터 전송 효율을 분석하였다.
Abstract
Many studies have argued that the modern war pattern will develop as a Network Centric War. In Network Central War, the superiority of combat power will be dictated by network power, including shorter command and control times through timely distribution of data between systems connected to the network. It is the data communication middleware of the defense C4I system that supports network power and its importance is increasing.
Currently, the data communication middleware of the defense C4I systems operates a point-to-point messaging system based on the Java Message Service (JMS). The point-to-point messaging model has a 1:1 data distribution structure in the form of a mesh. This has problems such as increased complexity of distribution structure, increased cost of adding nodes, and reduced efficiency of data distribution.
In order to improve the problem of the JMS-based middleware system, this paper analyzed the data transmission efficiency by performing a performance comparison experiment with the DDS-based middleware system.
Keywords:
information system, data communication, middleware model, DDSⅠ. 서 론
현대의 전쟁 양상은 정보 우위와 지휘의 속도를 바탕으로 적의 의도를 파악하고 적의 의사결정 사이클보다 앞서 필요한 조치를 하여 결정적인 효과를 획득할 수 있는 네트워크 중심전(Network centric war)으로 전개될 것이라고 많은 연구에서 주장하고 있으며 또한 네트워크 중심전에서의 전투력 산정은 네트워크 인프라 구축 여부, 네트워크에 연결된 시스템 간 실시간 데이터 유통을 통한 지휘통제시간 단축 등을 반영한 네트워크 파워를 고려하여 전투력이 산정되어야 한다고 주장하고 있다[1][2].
국방 C4I체계(Command, Control, Communication, Computer and Intelligence System)에서 네트워크 Power를 뒷받침하는 것이 데이터통신 미들웨어이며, 미들웨어의 중요성은 점점 증가하고 있다.
현재 정보체계 간 데이터 교환을 위한 상용 미들웨어는 Java RMI, Web Service, CORBA, JMS(Java Message Service), DDS(Data Distribution Service) 등 다양한 데이터통신 미들웨어들이 개발되었다. 이러한 데이터통신 미들웨어는 각각의 특징을 가지고 다양한 응용 도메인에서 사용되고 있다.
본 논문에서는 전장 상황을 가정하여 C4I체계에서 사용되고 있는 JMS 기반 미들웨어와 최근 대중화되고 있는 DDS 기반 미들웨어의 데이터 전송효율을 비교 분석하였다.
DDS 기반 미들웨어는 OMG 표준 DCPS(Data Centric Publish/Subscribe), RTPS(Real-Time Publish/Subscribe)를 준수하는 상용 DDS 미들웨어 제품을 적용하였으며 특정 DDS 업체 종속성을 벗어나기 위한 DDS 공통 API를 제공하는 ‘응용 정합엔진’과 C4I체계의 인터페이스 DB에 저장된 KMTF(Korean Message Text Format) 메시지를 DDS 토픽으로 발간/구독하는 ‘DB 연동SW’ 그리고 정보체계 서버가 구축된 LAN 구간에서 송수신되는 DDS 메시지들을 WAN 구간으로 전달하는 ‘DDS 게이트웨이(Gateway)’를 활용하여 성능 비교실험을 수행하였다.
Ⅱ. 데이터통신 미들웨어 기술 분석
2.1 JMS 미들웨어
JMS는 메시지 지향 미들웨어이다. 메시지 지향 미들웨어(MOM, Message Oriented Middleware)란 분산 시스템 간에 메시지를 주고받을 수 있는 기능을 가진 미들웨어를 말한다. MOM의 기본요소로 클라이언트, 메시지 및 MOM 제공자, API와 관리도구로 구성된다. MOM 제공자는 서로 다른 구조를 사용하여 메시지를 라우팅하고 전달하며 이를 위해 중앙 집중식 메시지 서버를 사용하거나 각 클라이언트 컴퓨터에 라우팅 및 전달 기능을 배포한다. MOM은 일반적으로 서버에서 서버로 전달되는 메시지 서비스를 말하며 비동기 프로토콜을 지원하고 메시지 순서를 보장한다[3].
JMS는 Sun Microsystem사에서 만든 전사적인 메시징을 위한 API로 메시지 전달을 위한 비동기적 처리를 수행하는 데이터통신 미들웨어이다.
JMS의 구성요소는 그림 1과 같이 JMS Provider와 클라이언트간 연결을 표현하는 커넥션, 메시지를 생성하고 소비하기 위한 세션, 메시지를 생성하고 전달할 메시지 생성자(Message producer), 메시지를 전달받고 소비할 메시지 소비자(Message consumer), 실제 전달될 데이터인 메시지로 구성되어 메시지의 송수신 관련 작업을 수행한다[4].
JMS는 Point-to-Point와 Publish/Subscribe 타입의 두 가지 메시징 모델을 지원한다.
국방 C4I체계의 JMS 기반 미들웨어 시스템(이하 JMS시스템)은 C4I체계의 생존성을 고려하여 Point-to-Point 방식의 메모리 Queue 방식을 채택하였다[5].
C4I체계의 JMS시스템은 그림 2와 같이 엔진과 내부 어댑터 통신, 엔진과 코어 어댑터 통신, 코어 어댑터와 원격의 연동대상 체계의 Engine과 통신한다.
2.2 DDS 미들웨어
DDS는 이벤트 기반 미들웨어이다. 이벤트 기반 미들웨어는 대규모 분산 시스템을 위한 미들웨어로, 컴포넌트 간에 확장 가능성(Scalable)과 효율적인 발간/구독 통신을 제공한다. 또한 유용성(Usability), 관리성(Administrability), 상호 운용성(Interoperability) 및 확장성(Extensibility)과 같은 기존 미들웨어 요구사항을 해결할 수 있다[6].
이벤트 기반 미들웨어에서는 많은 Topic 이벤트가 발생하지만 구독자(Subscriber)는 필요한 Topic만 수신한다. 이벤트 구독자, 즉, 이벤트를 수신하는 시스템은 특정 이벤트를 구독의 형태로 수신하게 된다. 이벤트 발간자(Publisher) 즉, 이벤트 생성 서버들은 이벤트 구독자들에게 전달될 이벤트를 발간한다. 이러한 모델은 자연스럽게 이벤트 발간자와 구독자 사이를 분리하게 되고 1:N 및 N:N 통신을 지원하게 된다. 그림 3과 같이 구독자는 이벤트를 제공하는 발간자에 대해 알 필요가 없으며, 마찬가지로 발간자도 발간된 이벤트를 받을 구독자들에 대해 알 필요가 없다[7].
이벤트 기반 미들웨어는 동적 대규모 분산 컴퓨팅 환경을 위한 적응형 애플리케이션을 개발하기에 적합하며 비동기식 1:N, N:N 통신이 가능하고 발간자와 구독자 간 느슨하게 결합되어 운용되며 점점 더 대중화되고 있다[8].
DDS 미들웨어의 기본구조는 통신을 담당하는 RTPS(Real-Time Publish/Subscribe)와 응용프로그램 구현에 필요한 API와 QoS를 제공하는 DCPS(Data Centric Publish-Subscribe) 계층으로 구분된다.
DDS 미들웨어의 통신 방식은 Topic을 발간-구독(Publish-subscribe) 방식으로 응용프로그램에서 수신하는 데이터를 이해할 수 있게 문맥 정보(Contextual information)를 메시지에 포함하여 전달한다[9].
JMS시스템과 비교하고자 하는 DDS 기반 미들웨어 시스템(이하 DDS시스템)의 데이터통신 구조는 그림 4와 같다.
국방 C4I체계의 JMS시스템은 유통하고자 하는 데이터를 I/F(Interface) DB에 저장함에 따라, 동일한 조건에서 실험을 하기 위해 DDS시스템에서도 I/F DB에 있는 정보를 DDS 미들웨어로 송수신하는 DB연동 SW(Software)를 구현하여 적용하였다.
DDS시스템은 C4I체계의 I/F DB에 있는 정보를 DDS 미들웨어를 통해 원격지의 C4I체계와 통신하는 방식이다.
Ⅲ. 실험 및 고찰
3.1 성능 비교 실험환경 구성
JMS시스템과 DDS시스템의 성능 비교실험을 위하여 각각 네트워크를 구성하고 동일한 정보체계 장비를 설치하여 실험환경을 구성하였다. 두 시스템의 성능 실험은 동일한 시나리오에서 진행하였다.
JMS시스템 실험환경은 그림 5와 같이 구성하였다.
각 정보체계 서버는 라우터를 통해 WAN 구간에서 연동되며 서버 간 유통 데이터를 각 서버의 I/F DB에 저장하고 유통한다.
DDS시스템의 실험환경은 JMS시스템 실험환경에서 사용한 서버 6대와 스위칭 허브, 라우터 장비를 사용하여 실험환경을 그림 6과 같이 구성하였다.
JMS시스템이 DB를 포함하여 동작하기 때문에 동일한 조건에서 성능 비교를 위해 DDS시스템에서도 DB 연동SW가 DB를 이용하도록 하여 동일환경에서 성능 비교를 수행하였다. DDS 시스템 실험환경에서는 DDS시스템 연동을 모의하기 위해 상용 DDS 미들웨어, DB 연동SW, DDS 게이트웨이를 추가로 설치하여 실험환경을 구성하여 성능을 실험하였다. 상용 DDS 미들웨어는 ㈜구름네트웍스의 CoreDDS Ver2.0을 활용하였다. 그리고 DDS시스템의 실험환경 서버 간에 송수신되는 메시지는 DB 연동과 관련된 메시지들을 DDS Topic으로 매핑하여 총 270종의 Topic을 정의하였다. 각 Topic은 통신 신뢰성 특징을 고려하여 DDS의 Reliability QoS를 Reliable/Best-Effort로 분류하여 적용하였다.
3.2 JMS 및 DDS시스템 성능비교 실험
JMS 및 DDS시스템의 성능을 비교하기 위해 각 실험 시나리오별 15회씩 반복한 실험결과를 이용하여 평균을 산정하였다. 실험결과표 및 그래프에는 편의상 JMS시스템은 TCP로 DDS시스템은 CoreDDS로 표현하였다.
전장 상황에서는 원격지 노드(서버)의 비상정지 상황이 빈번히 발생할 수 있다. 이러한 상황을 가정하여 JMS 및 DDS시스템의 복구 상황에서 메시지의 응답시간을 측정하여 비교 분석하였다.
노드 비상정지 상황에서 복구된 경우를 모의하기 위해 데이터 발생기에서 데이터 발간(송신)을 수행하는 노드에 데이터를 미리 입력 후, 데이터 발간(송신)을 수행하는 응용프로그램을 실행하여 순간적으로 다량의 데이터를 발생시켰다.
노드 비상정지 상황에서의 응답시간 측정 실험결과는 표 2, 그림 7과 같이 나타났다.
실험결과는 DDS시스템이 JMS시스템보다 약 19배 빠른 응답시간이 측정되었다. 이는 JMS시스템이 비상정지 후 복구 상황에서 추가적으로 다양한 작업을 수행하기 때문이다.
1:N 통신 환경에서 JMS와 DDS시스템의 대역폭 사용량을 실험하였다. 실험결과는 표 3, 그림 8과 같이 측정되었다.
DDS시스템은 구독자(수신자)가 3명 이상인 네트워크 환경에서는 JMS시스템보다 더 적은 대역폭을 사용하였다. JMS시스템은 수신자가 증가하더라도 매번 유니캐스트로 수신자 모두에게 데이터를 전송해야 하지만, DDS시스템은 다수의 구독자에게 멀티캐스팅으로 데이터를 한 번에 보낼 수 있기 때문에 구독자(수신자) 많을수록 DDS시스템은 상대적으로 더 적은 대역폭을 사용한다는 것을 알 수 있다.
전장 상황은 네트워크 상태가 항상 양호한 상태로 유지된다고 보장할 수가 없다. 따라서 데이터 유실이 존재하는 상황에서 JMS와 DDS시스템의 성능을 비교하기 위해 초당 메시지 처리량 비교실험을 하였다. 실험을 위해 네트워크상의 데이터 유실률은 10%와 30%로 설정하였으며 실험결과는 표 4, 5, 그림 9와 같이 측정되었다.
데이터 유실이 10% 있는 상황에서 DDS시스템은 JMS시스템보다 적은 메시지 처리 건수가 측정되었으나, 30% 데이터 유실이 있는 상황에서는 DDS시스템의 메시지 처리 건수가 매우 높게 측정되었다.
이는 TCP 프로토콜이 장애 상황에서 유리하지 않기 때문이다. 반면 DDS시스템은 데이터 유실이 30% 존재하는 상황에서 대역폭이 2Mbps 이상 확보되면 DDS 특성과 다양한 최적화를 이용하여 JMS시스템보다 약 13배 많은 메시지를 처리하였다.
Ⅳ. 결론 및 향후 과제
국방 C4I체계를 모의한 실험환경을 구성하고 전시 불안정한 네트워크 상황을 가정하여 JMS와 DDS시스템의 성능 비교실험을 하였다. 노드 비상 정지 후, 복구 상황에서의 성능 측정결과는 DDS시스템이 JMS시스템 보다 약 19배 응답속도가 빠른 것을 확인하였다.
1:N 통신 환경에서 JMS와 DDS시스템의 대역폭 사용량을 비교하는 실험에서 DDS시스템은 구독자(수신자)가 3명 이상인 환경에서는 JMS시스템 보다 더 적은 대역폭을 사용하였다. DDS시스템은 다수의 구독자에게 멀티캐스팅으로 데이터를 한 번에 보낼 수 있기 때문에 구독자가 많을수록 DDS시스템이 더 유리하다는 것을 알 수 있다.
네트워크상에서 데이터 유실이 발생하는 환경에서 JMS와 DDS시스템의 성능 실험결과에서도 DDS시스템이 유리하였다.
JMS시스템의 Point-to-Point 메시징모델은 Mesh 형태의 1:1 데이터 유통구조를 가지게 되며, 이는 유통구조 복잡도 증가, 노드 추가 비용의 증가, 데이터 유통 효율성 저하 등의 문제점을 안고 있다.
미래의 전장 상황에서는 절대적인 정보의 우위를 달성하기 위해서는 각종 센서와 타격체계 그리고 모든 C4I체계가 유기적으로 연결되어 시너지 효과를 발휘할 수 있어야 한다.
DDS시스템은 각 정보체계가 발간하거나 구독할 토픽을 정의하여 데이터를 발간하거나 구독하면 DDS 데이터 버스를 통하여 발간되는 데이터들을 구독자에게 전달한다. 따라서 각 체계에서 서로 통신해야 할 상대방 목적지를 따로 유지하지 않아도 되기 때문에 연결의 복잡도와 노드 추가에 따른 비용을 감소시킬 수 있다.
본 논문에서의 실험은 예산 및 장비의 부족으로 실험실 내부에 6대의 서버로 유선 네트워크를 구성하여 실험을 실시하였다. 향후 연구 과제로는 복잡한 전장상황을 고려하여 유무선 복합 네트워크 환경과 다양한 상용 DDS 미들웨어를 적용하여 정보체계간의 데이터 유통뿐만 아니라 정보체계와 IOT 장치들간 복합적인 데이터 유통 실험이 필요하다.
References
- Whan-Sik Jung, Gun-Woo Park, Jae-Yeong Lee, and Sang-Hoon Lee, "Algorithm for evaluating the effectiveness of C4I system combat power in the NCW environment: consideration of technical and human factors", Intelligence Information Research, Vol. 16, No. 2, pp. 55-72, Jun. 2010.
- Whi-rak Park, "Understanding and Promotion Status of Network Centric War", Defense Policy Research, Vol. 75, pp. 155-181, 2005.
- Edward Curry, "Message-Oriented Middleware", National University of Ireland, pp. 1-7, Jul, 2005. [https://doi.org/10.1002/0470862084.ch1]
- Mark Richards, Richard Monson-Haefel, and David A Chappell, "Java Message Service: Creating Distributed Enterprise Applications", O'Reilly Media, Inc., pp. 11-13, May 2009.
- Eun-Tae Jung, Duck-Su Song, and In-Tak Oh, "Defense Intelligence System Based on KMTF", DSA, pp. 27-31, Dec. 2017
- Peter R. Pietzuch, "Hermes: A scalable event-based middleware", University of Cambridge, pp. 53-58, Jun. 2004.
- Jongh-yeok Im, "Introduction to Defense Information Sharing and Distribution Innovation Technology(DDS, PUSH)", H2O System Technology Corp, pp. 4-20, Nov. 2017.
- Tao Wang, Wenbo Xu, Jianli He, Rong Chen, and Weinan Gu, "A brief survey of event-based middleware", 2010 2nd International Conference on Computer Engineering and Technology, Chengdu, pp. V1.461-464, 2010. [https://doi.org/10.1109/ICCET.2010.5486037]
- Suhyeong Lee, "Introduction to OMG DDS Communication Middleware Technology", Electronics and Telecommunications Research Institute, pp. 5-46, Aug. 2017.
- Andre Foster, "Messaging Technologies for the Industrial Internet and the Internet of Things Whitepaper", PrismTech Version 1.7, pp. 22-23, Jul. 2014.
1988년 2월 : 금오공대 컴퓨터공학과(학사)
2001년 2월 : 국방대학교 전산정보학과(석사)
2016년 3월 ~ 현재 : 목원대 IT공학과 박사과정
관심분야 : C4I체계, 정보보호
1982년 2월 : 경희대학교 전자공학과(공학사)
1991년 2월 : 경희대학교 전자공학과(공학박사)
1994년 ~ 1995년 : UCSB Post-Doc
2011년 1월 ~ 2012년 12월 : 한국정보기술학회 회장
1989년 ~ 현재 : 목원대학교 IT공학과 교수
2019년 ~ 현재 : 과학기술자문위원회 ICT 융합분과 전문위원
관심분야 : ICT융합, 사물인터넷, 신호처리