KR100881419B1 - Sca 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및방법 - Google Patents

Sca 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및방법 Download PDF

Info

Publication number
KR100881419B1
KR100881419B1 KR1020060107638A KR20060107638A KR100881419B1 KR 100881419 B1 KR100881419 B1 KR 100881419B1 KR 1020060107638 A KR1020060107638 A KR 1020060107638A KR 20060107638 A KR20060107638 A KR 20060107638A KR 100881419 B1 KR100881419 B1 KR 100881419B1
Authority
KR
South Korea
Prior art keywords
application
port
application component
sca
data
Prior art date
Application number
KR1020060107638A
Other languages
English (en)
Other versions
KR20080040104A (ko
Inventor
조은선
오상철
이찬용
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020060107638A priority Critical patent/KR100881419B1/ko
Priority to US11/743,148 priority patent/US8347318B2/en
Publication of KR20080040104A publication Critical patent/KR20080040104A/ko
Application granted granted Critical
Publication of KR100881419B1 publication Critical patent/KR100881419B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

동적 연결 관리자를 이용하여 SCA(Software Communications Architecture) 기반 애플리케이션 컴포넌트들 간의 데이터 송수신을 효율적으로 수행할 수 있는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및 방법이 제공된다. SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치에서 애플리케이션 모듈은 SCA 기반 시스템에 배치되어 구동되며, 다수의 애플리케이션 컴포넌트로 패키지화되는 애플리케이션을 포함하고, 애플리케이션 팩토리는 이러한 애플리케이션 생성을 담당하며, XML 파일을 파싱하여 애플리케이션 컴포넌트를 구동시킨다. 동적 연결 관리자는 애플리케이션 컴포넌트의 포트 정보를 등록하며, 포트 정보에 따라 애플리케이션 컴포넌트간의 데이터 송수신에 필요한 연결을 설정하는 동적 연결 관리자(Dynamic Connection Manager)를 포함한다. 본 발명에 따르면, 동적 연결 관리자를 이용하여 SCA 기반 애플리케이션 컴포넌트들 간의 데이터 송수신을 효율적으로 수행할 수 있다.
에스디알, SCA, 컴포넌트, 포트, 연결, 동적 연결 관리자

Description

SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및 방법 {Application component communication apparatus of Software Communication Architecture(SCA)-based system, and method thereof}
도 1은 본 발명의 실시예에 따른 SCA 기반 시스템의 구성도이다.
도 2는 일반적인 SCA 기반 시스템에서 애플리케이션 컴포넌트간 통신 방식을 나타내는 도면이다.
도 3은 일반적인 애플리케이션 패키지 XML 파일의 연결에 대한 정의를 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 SCA 기반 시스템의 애플리케이션 컴포넌트간 통신 방식을 나타내는 도면이다.
도 5는 본 발명의 실시예에 따른 SCA 기반 시스템의 애플리케이션 컴포넌트의 데이터 송신 방법을 나타내는 동작 흐름도이다.
본 발명은 SCA(Software Communications Architecture) 기반 시스템에 관한 것으로, 보다 구체적으로 동적 연결 관리자를 이용하여 SCA 기반 애플리케이션 컴 포넌트들 간의 데이터 송수신을 효율적으로 수행하는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및 방법에 관한 것이다.
SCA란 표준화된 통신 소프트웨어 구조로서, 미국의 Joint Tactical Radio System(JTRS) Joint Program Office(JPO)에서 통신 시스템간 상호 연동성을 크게 개선하고, 개발 및 배치 비용을 줄이고자 제안한 것이다. 이러한 SCA는 실시간 운영체제(Operating System: OS)와 분산 객체 모델의 산업 표준인 코바(Common Object Request Broker Architecture: CORBA)를 미들웨어로 채택하여 이기종의 하드웨어와 소프트웨어의 통합 환경을 제공하고 있다. 이는 특정 시스템에 한정되는 규격이 아니라 독립적인 시스템 디자인 프레임워크(Framework)이다.
SCA 기반 시스템은 이러한 SCA 구조를 기반으로 이루어진 통신 시스템 또는 장치를 말한다. 예를 들면, SDR(Software Defined Radio) 시스템은 소프트웨어 프레임워크의 표준으로 SCA를 채택하고 있다. SCA에서, 하나의 애플리케이션은 여러 개의 애플리케이션 컴포넌트들을 하나의 패키지로 묶어 설치하거나 배치하여 실행한다.
한편, 종래의 SCA 기반 시스템에서, 애플리케이션은 초기 구동 시에 애플리케이션 팩토리가 XML(eXtensible Markup Language) 파일에 정의되어 있는 송신 포트(OutPort) 및 수신 포트(InPort)로 이루어진 연결 정보를 파싱(Parsing)하고, 이를 각 컴포넌트의 송신 포트(OutPort) 및 수신 포트(InPort)에 런타임 주소 값인 객체 레퍼런스(Object Reference)와 매핑시킨 후, 애플리케이션 구동 시에 각 컴포넌트가 사용할 일대일 단방향 연결을 설정해 놓는다.
이에 따라, 각 컴포넌트는 상대 컴포넌트와 연결되어 있는 송신 포트(OutPort)에 해당되는 런타임 주소 값인 송신 포트 객체 레퍼런스(OutPort Object Reference)로 데이터를 송신함으로써 상호간에 데이터 통신을 할 수 있다.
그러나 이중 하나의 컴포넌트가 비정상적으로 다운되거나 또는 교체되는 경우, 해당 컴포넌트의 런타임 정보인 송신 포트(OutPort) 및 수신 포트(InPort)의 객체 레퍼런스가 변경되어 해당 컴포넌트와 연결되어 있는 모든 연결 정보가 끊어지게 된다. 이것은 해당 컴포넌트와 관련된 포트로 다른 컴포넌트가 데이터를 송신하려 할 경우, 잘못된 메모리 주소로 데이터를 쓰려는 경우에 해당되며, 애플리케이션 전체가 다운되는 심각한 현상이 초래하게 된다. 예를 들면, 서버급의 시스템에 해당되는 애플리케이션에서 시스템 다운이라는 결과를 초래할 수 있다.
종래의 SCA 기반 시스템에 따른 애플리케이션 컴포넌트 통신 구조는 애플리케이션 내에 컴포넌트의 수의 증가로 인해 운용이 복잡할 뿐만 아니라 운용 중에 컴포넌트를 교체하거나 임의의 컴포넌트가 다운되었을 경우, 정적인 포트 및 연결 설정에 의해 애플리케이션 전체에 심각한 영향을 주는 문제점을 가지고 있었다.
상기 문제점을 해결하기 위한 본 발명이 이루고자 하는 기술적 과제는 동적 연결 관리자를 이용하여 SCA 기반 애플리케이션 컴포넌트들 간의 데이터 송수신을 효율적으로 수행할 수 있는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및 방법을 제공하기 위한 것이다.
또한, 본 발명이 이루고자 하는 다른 기술적 과제는 SCA 기반 애플리케이션 컴포넌트가 운용 중에 동적으로 애플리케이션 컴포넌트간 연결을 설정함으로써, 시스템 운용 중에 임의의 애플리케이션 컴포넌트가 다운되거나 교체되더라도 계속하여 운용할 수 있는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및 방법을 제공하기 위한 것이다.
본 발명이 이루고자 하는 기술적과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위한 본 발명의 하나의 특징에 따른 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치는, SCA 기반 시스템에 배치되어 구동되며, 다수의 애플리케이션 컴포넌트로 패키지화되는 애플리케이션을 포함하는 애플리케이션 모듈; 애플리케이션의 생성을 담당하며, XML 파일을 파싱하여 애플리케이션 컴포넌트를 구동시키는 애플리케이션 팩토리; 및 다수의 애플리케이션 컴포넌트로부터 각각의 포트 정보를 등록받으며, 등록된 송신 포트로부터의 데이터 전송 요청에 따라, 데이터가 전송될 수신 포트와의 사이에 연결을 설정하는 동적 연결 관리자를 포함한다.
삭제
본 발명의 다른 특징에 따른 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 방법은, a) 애플리케이션이 SCA 기반 시스템에 배치되어 구동되는 경우, XML 파일을 파싱하는 단계; b) 애플리케이션과 관련된 각각의 애플리케이션 컴포넌트를 구동하는 단계; c) 각각의 애플리케이션 컴포넌트가 동적 연결 관리자에 송신 포트 및 수신 포트의 정보를 등록하는 단계; d) 송신 애플리케이션 컴포넌트가 송신 포트를 이용하여 데이터 및 수신 애플리케이션 컴포넌트의 이름을 동적 연결 관리자로 전송하는 단계; 및 e) 동적 연결 관리자에 의해 송신 애플리케이션 컴포넌트의 송신 포트와 수신 애플리케이션 컴포넌트의 수신 포트가 연결되면, 연결을 통해 상기 데이터를 수신 애플리케이션 컴포넌트로 전송하는 단계를 포함한다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다. 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 도면 부호를 붙였다.
삭제
이하, 첨부된 도면을 참조하여, 본 발명의 실시예에 따른 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및 방법에 대해서 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 SCA 기반 시스템의 구성도로서, SCA 기반의 소프트웨어 기능별 컴포넌트의 관점에서 바라본 본 발명의 실시예에 따른 SCA 기반 시스템의 구성도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 SCA 기반 시스템(100)은 기본적으로 실시간 운영체제(110)를 포함하고, 또한 SCA 규격에서 규정하고 있는 코 바(CORBA) 미들웨어(120)를 포함한다.
또한, 상기 운영체제(110)와 CORBA 미들웨어(120) 위에 SCA를 기반으로 하는 재구성 코어 프레임워크(Reconfigurable Core Framework: RCF)(130)가 배치되는데, 상기 재구성 코어 프레임워크(130)는 도메인 관리자(Domain Manager: 131), 디바이스 관리자(Device Manager: 132), 애플리케이션 팩토리(Application Factory: 133), 동적 연결 관리자(Dynamic Connection Manager: 134) 등의 여러 개의 컴포넌트로 구성되어 시스템 재구성을 지원하게 된다. 이에 따라 소프트웨어 제어 및 구성을 위한 다수의 애플리케이션(140)은 애플리케이션 컴포넌트(144a~144n)로 구성되어 패키지화된다.
여기서, 상기 재구성 코어 프레임워크(130)의 도메인 관리자(131)는 디바이스와 애플리케이션의 등록 및 해제를 담당한다. 또한, 하드웨어 디바이스를 기능적으로 추상화한 다수의 논리적 디바이스에 대해, 디바이스 관리자(132)는 이러한 다수의 디바이스를 관리한다.
또한, 상기 재구성 코어 프레임워크(130)의 애플리케이션 팩토리(133)는 애플리케이션(140)의 생성을 담당하며, 본 발명의 실시예에서, 애플리케이션 팩토리(133)는 다수의 XML 파일(143a~143n)에 기술된 컴포넌트와 컴포넌트(144a~144n)간 송신 포트(OutPort)와 수신 포트(InPort)로 구성된 포트 정보만을 이용하여 연결을 설정함으로써 데이터의 송수신이 가능하게 한다. 여기서, 다수의 XML 파일(143a~143n)은 하드웨어 및 소프트웨어 정보를 기술하고 있으며, 본 발명의 실시예에 따라 컴포넌트와 컴포넌트(144a~144n)간 연결을 위한 포트 정보만 정의되어 있다.
본 발명의 실시예에 따라 재구성 코어 프레임워크(130)의 도메인 관리자(131)와 연계하여 통신 장치(100)에 애플리케이션 패키지의 다운로드와 배치 및 구동을 담당하는 운용자 인터페이스를 사용하여 SW 컴포넌트들을 하나의 애플리케이션 패키지로 구성하고, 이를 실행 디바이스에 배치하여 구동시키게 된다. 이때, 애플리케이션 패키지 정보, 컴포넌트 패키지 정보, 컴포넌트 정보 등은 각 XML 파일(143a~143n)에 기술되어 있다.
본 발명의 실시예에 따라, 각 컴포넌트(144a~144n)는 동적 연결 관리자(134)에게 자신의 송신 포트와 수신 포트에 대한 포트 정보를 등록하면, 동적 연결 관리자(134)는 상기 포트 정보를 이용하며 동적으로 연결을 설정하여 데이터의 송수신이 가능하게 한다. 여기서, XML 파일(143a~143n)에는 단방향의 연결 정보가 필요 없으며 하나의 컴포넌트에 대해 포트 정보, 즉, 송신 포트 및 수신 포트 형태의 2가지 포트만을 정의한다.
예를 들면, 본 발명의 실시예에 따른 SCA 기반 시스템의 구조에서 컴포넌트 A(144a)는 하나의 수신전용 포트를 가지며, 항상 이 수신 포트로 데이터가 수신되었는지 감시하고, 송신전용 포트로 다음 컴포넌트로의 데이터를 송신한다. 또한, 컴포넌트 B(144b) 또한 자신의 수신전용 포트를 가지며, 항상 이 포트로 데이터가 수신되었는지 감시하고, 송신전용 포트로 데이터를 송신하게 된다.
한편, 도 2 및 도 3을 참조하여, 일반적인 SCA 기반 시스템의 애플리케이션 컴포넌트간 통신 방식을 설명한다.
도 2는 일반적인 SCA 기반 시스템의 애플리케이션 컴포넌트간 통신 방식을 나타내는 도면으로서, 편의상 도 1의 SCA 기반 시스템의 구성요소와 동일한 구성요소에 대해서는 동일한 도면부호를 사용하기로 한다.
일반적으로, SCA 기반 시스템에서 하나의 애플리케이션이 구동될 때, 이에 속한 각 컴포넌트들은 XML 파일에 기술된 컴포넌트와 컴포넌트간 송신 포트(OutPort)와 수신 포트(InPort)로 구성된 연결 데이터를 이용하여 데이터 송수신이 가능하며, 이때, 애플리케이션의 생성을 담당하는 애플리케이션 팩토리가 연결을 설정해준다.
이러한 송신 포트(OutPort)와 수신 포트(InPort)의 연결로 정의되어 있는 연결 정보는 하나의 애플리케이션 내 통신을 필요로 하는 모든 컴포넌트간에 정의되고 설정되어야 한다. 특히, SCA에서 컴포넌트간 연결의 경우, 단방향으로 정의되어 있다. 예를 들면, AOutPort와 BInPort, 또는 BOutPort와 AInPort로 정의되어 있다(도 2 참조). 이러한 컴포넌트와 컴포넌트간 연결 정보 및 포트 정보는 XML 파일에 정의하여 관리하도록 하고 있다.
구체적으로 도 2를 참조하면, 하나의 SCA 기반 애플리케이션(140)은 애플리케이션 컴포넌트(144a~144n)로 이루어지며, 어셈블리 컨트롤러(142)를 통해 이러한 애플리케이션 컴포넌트(144a~144n)를 제어한다. 이때, 각각의 컴포넌트(144a~144n)는 상호 통신을 위해 각자 송신 포트 및 수신 포트를 가지고 있다.
이러한 애플리케이션 컴포넌트(144a~144n) 관련된 정보 및 포트와 포트가 연결된 연결 정보(Connection Information)는 별도의 XML 파일(143a~143n)에서 관리 하며, 애플리케이션 패키지를 만들 때 상기 XML 파일(143a~143n)도 함께 포함된다. 예를 들면, 애플리케이션 X(141)가 실제 SCA 기반 시스템(100)에 탑재되어 구동되면, 애플리케이션 팩토리(133)는 XML 파일(143a~143n)을 파싱하여 해당 컴포넌트(144a~144n)를 구동시키고, 이에 따라 구동된 해당 컴포넌트들(144a~144n)은 네이밍 서버(Naming Server)(도시되지 않음)에 자신의 이름과 객체 레퍼런스(Object Reference)를 등록하게 된다.
또한, 애플리케이션 팩토리(133)는 각각의 컴포넌트(144a~144n)로부터 런타임(Runtime) 정보인 Port Object Reference를 전달받아 XML 파일(143a~143n)에 정의되어 있는 연결 정보와 매핑(Mapping)시키고, 포트간의 연결을 설정하고, 각각의 컴포넌트(144a~144n)는 상기 연결 정보를 이용하여 각각의 컴포넌트(144a~144n)간 상호 통신을 하게 된다.
예를 들면, 도면부호 A로 도시된 바와 같이, 컴포넌트 A(144a)가 컴포넌트 B(144b)로 데이터를 전달할 경우, Connection 1에 해당하는 송신 포트(AData1OutPort)의 객체 레퍼런스(Object Reference)를 참조하여 데이터를 송신하게 된다. 이에 따라 데이터는 이미 설정되어 있는 Connection 1 정보에 의해 컴포넌트 B(144b)의 수신 포트(BData1InPort)로 전달되게 되고, 상기 수신 포트(BData1InPort)가 컴포넌트 B(144b)의 포트이므로, 상기 컴포넌트 B(144b)가 상기 데이터를 수신하게 된다.
이와 반대로 컴포넌트 B(144b)가 컴포넌트 A(144a)로 데이터를 송신하는 경우, Connection 2에 해당하는 송신 포트(BData2OutPort)의 객체 레퍼런스(Object Reference)를 참조하여 데이터를 송신하게 된다. 이에 따라 상기 데이터는 이미 설정되어 있는 Connection 2 정보에 의해 수신 포트(AData2InPort)로 전달되고, 상기 수신 포트(AData2InPort)가 컴포넌트 A(144a)의 포트이므로, 컴포넌트 A(144a)가 상기 데이터를 수신하게 된다.
또한, 도면부호 B로 도시된 바와 같이, 컴포넌트 A(144a) 및 컴포넌트 C(144c) 간에는 Connection 3 및 Connection 4를 통해 데이터 송수신이 이루어지게 된다.
이때, 각각의 연결은 단방향으로 두 개의 컴포넌트가 있으면 2개의 연결이 설정되어야 하고, 상기 컴포넌트(144a~144n)의 수가 증가함에 따라 포트의 수 및 연결의 수는 급격하게 증가하게 된다.
한편, 도 3은 일반적인 애플리케이션 패키지 XML 파일의 연결에 대한 정의를 나타내는 도면으로서, 도 2에 도시된 Connection 1 내지 4에 대해 각 포트와 포트간의 연결 정보를 나타낸다.
도 3에 도시된 바와 같이, 일반적인 애플리케이션 패키지 XML 파일의 연결에 대한 연결 정보에서 "Connection N"은 연결의 식별자를 나타내고, 연결이 필요한 모든 컴포넌트간에 단방향으로 정의되어야 한다. 또한, 데이터를 송신하는 컴포넌트는 "useport"에 자신의 송신 포트(OutPort) 명을 정의하고, 데이터를 수신하는 컴포넌트는 "providesport"에 자신의 수신 포트(InPort) 명을 정의한다. 이러한 연결 정보를 이용하여 애플리케이션 팩토리(133)가 포트간의 연결 설정을 하게 된다.
한편, 도 4는 본 발명의 실시예에 따른 SCA 기반 시스템에서 애플리케이션 컴포넌트간 통신 방식을 나타내는 도면이다.
도 1 및 도 4를 참조하면, 본 발명의 실시예에 따른 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치는, SCA 기반 시스템(100)에 배치되어 구동되며, 다수의 애플리케이션 컴포넌트(144a~144n)로 패키지화되는 애플리케이션(140); 상기 애플리케이션(140) 생성을 담당하며, XML 파일(143a~143n)을 파싱하여 상기 애플리케이션 컴포넌트(144a~144n)를 구동시키는 애플리케이션 팩토리(133); 및 상기 애플리케이션 컴포넌트(144a~144n)의 포트 정보를 등록하며, 상기 포트 정보에 따라 상기 애플리케이션 컴포넌트(144a~144n) 간의 데이터 송수신에 필요한 연결을 설정하는 동적 연결 관리자(134)를 포함하여 구성된다.
먼저, 애플리케이션 X(141)가 SCA 기반 시스템(100)에 배치되어 실행되면, 애플리케이션 팩토리(133)가 XML 파일(143a~143n)을 파싱하여 각 컴포넌트(144a~144n)를 구동시키는데, 이때 초기 구동 시에 수행하던 포트와 포트간의 연결 설정은 수행하지 않는다.
대신에 각 컴포넌트(144a~144n)는 동적 연결 관리자(134)에게 자신의 송신 포트(OutPort)와 수신 포트(InPort)에 대한 포트 정보를 등록하면, 동적 연결 관리자(134)는 상기 포트 정보를 이용하며 동적으로 연결을 설정하여 데이터의 송수신이 가능하게 한다.
여기서, XML 파일(143a~143n)에는 단방향의 연결 정보가 필요 없으며 하나의 컴포넌트에 대해 포트 정보, 즉, 송신 포트(OutPort) 및 수신 포트(InPort) 형태의 2가지 포트만을 정의한다. 본 발명의 실시예에 따른 SCA 기반 시스템의 구조에서, 컴포넌트 A(144a)는 하나의 수신전용 포트인 "A_InPort"를 가지며, 항상 이 수신 포트로 데이터가 수신되었는지 감시하고, 송신전용 포트인 "A_OutPort"로 다음 컴포넌트로의 데이터를 송신한다.
컴포넌트 B(144b) 또한 자신의 수신전용 포트인 "B_InPort"를 가지며, 항상 이 포트로 데이터가 수신되었는지 감시하고, 송신전용 포트인 "B_OutPort"로 데이터를 송신한다. 만일, 컴포넌트 A(144a)가 컴포넌트 B(144b)로 데이터 송신을 원하는 경우, 자신의 "A_OutPort"로 송신할 데이터와 수신 컴포넌트인 B의 이름을 송신하면, 동적 연결 관리자(134)는 컴포넌트 B(144b)의 수신 포트인 "B_InPort"로 A의 데이터를 송신해 준다. 따라서 여러 개의 컴포넌트(144a~144n)가 동시에 데이터를 송신할 수 있으므로, 이에 대응하여 동적 연결 관리자(134)는 데이터 큐(Que)를 관리하여 FIFO(First In First Out)의 형태로 데이터 송수신을 처리하게 된다.
이와 같이 본 발명의 실시예에서는 별도의 복잡한 연결에 대한 정의 없이 또한 자신의 송신전용 포트 및 수신전용 포트 두 개만을 정의하여 감시하면, 컴포넌트(144a~144n) 간의 데이터 통신을 간단히 해결할 수 있게 된다.
한편, 도 5는 본 발명의 실시예에 따른 SCA 기반 시스템에서 애플리케이션 컴포넌트의 데이터 송신 방법을 나타내는 동작 흐름도이다.
도 4 및 도 5를 참조하면, 본 발명의 실시예에 따른 SCA 기반 시스템에서 애플리케이션 컴포넌트의 데이터 송신 방법은, 먼저, 애플리케이션 X(141)가 SCA 기반 시스템(100)에 배치되어 구동되면, 애플리케이션 팩토리(133)는 XML 파일(143a, 143b, 143n)을 파싱하고(S510), 해당 애플리케이션(140)과 관련된 해당 컴포넌트(144a~144n)를 구동한다(S520).
다음으로, 각각의 컴포넌트(144a~144n)는 자신의 송신 포트(OutPort)와 수신 포트(InPort)를 동적 연결 관리자(134)에 등록한다(S530).
이후, 서비스가 시작되어(S540), 컴포넌트(144a~144n)간 데이터 통신이 필요할 경우, 데이터를 송신할 컴포넌트(144a~144n)는 수신 컴포넌트의 이름과 송신할 데이터를 자신의 송신 포트(OutPort)에 송신하게 되고(S550), 상기 데이터는 자동으로 동적 연결 관리자(134)가 관리하는 데이터 큐에 저장되고, 이때 상기 동적 연결 관리자(134)는 데이터 큐의 순서대로 해당 컴포넌트의 수신 포트(InPort)로 데이터를 송신한다(S560). 이에 따라 해당 컴포넌트는 자신의 수신 포트(InPort)로 상기 데이터를 수신하게 된다(S570).
결국, 본 발명의 실시예는 포트와 포트의 연결을 정의하는 연결에 대한 정보가 XML 파일에서 빠지고 각 컴포넌트의 송신 포트와 수신 포트만을 정의하여 사용하도록 XML 파일을 변경함으로써, 연결의 수 및 포트의 수를 줄일 수 있다. 또한, 컴포넌트간의 통신시 동적 연결 관리자를 이용하여 컴포넌트간 연결을 동적으로 설정하고 데이터 큐를 사용하여 데이터의 송수신 처리를 수행하게 된다.
이에 따라, 본 발명의 실시예는 SCA 구조를 가지는 모든 시스템에 적용할 수 있으며, 다중모드 지원과 재구성을 위해 이러한 SCA 구조를 대표적으로 SDR(Software Defined Radio) 시스템에 적용할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해되어야만 한다.
본 발명에 따르면, 동적 연결 관리자를 이용하여 SCA 기반 애플리케이션 컴포넌트들 간의 데이터 송수신을 효율적으로 수행할 수 있다. 또한, SCA 기반 애플리케이션 컴포넌트가 운용 중에 동적으로 컴포넌트간 연결을 동적으로 설정함으로써, SCA 기반 시스템 운용 중에 임의의 컴포넌트가 다운되거나 교체되더라도 계속 운용할 수 있게 된다.

Claims (13)

  1. SCA(Software Communications Architecture) 기반 시스템에 배치되어 구동되며, 다수의 애플리케이션 컴포넌트로 패키지화되는 애플리케이션을 포함하는 애플리케이션 모듈;
    상기 애플리케이션의 생성을 담당하며, XML(eXtensible Markup Language) 파일을 파싱하여 상기 애플리케이션 컴포넌트를 구동시키는 애플리케이션 팩토리(Application Factory); 및
    상기 다수의 애플리케이션 컴포넌트로부터 각각의 포트 정보―여기서, 포트 정보는 각 애플리케이션 컴포넌트의 송신 포트 및 수신 포트의 정보를 포함함―를 등록받으며, 등록된 송신 포트로부터의 데이터 송신 요청에 따라, 상기 데이터가 전송될 수신 포트와의 사이에 연결을 설정하는 동적 연결 관리자(Dynamic Connection Manager)
    를 포함하는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치.
  2. 제1항에 있어서,
    상기 동적 연결 관리자는,
    상기 다수의 애플리케이션 컴포넌트가 동시에 데이터를 송신하는 경우, 데이터 큐를 관리하여 데이터 송수신을 처리하는 것을 특징으로 하는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치.
  3. 제2항에 있어서,
    상기 데이터 큐는 선입선출(First In First Out: FIFO) 형태인 것을 특징으로 하는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 애플리케이션 팩토리는 상기 컴포넌트의 초기 구동 시에 각 애플리케이션 컴포넌트의 포트와 포트간의 연결 설정을 수행하지 않는 것을 특징으로 하는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치.
  6. 삭제
  7. 제1항에 있어서,
    상기 포트 정보는 상기 XML 파일 내에 기술되어 있는 것을 특징으로 하는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 장치.
  8. a) 애플리케이션이 SCA(Software Communications Architecture) 기반 시스템에 배치되어 구동되는 경우, XML(eXtensible Markup Language) 파일을 파싱하는 단계;
    b) 상기 애플리케이션과 관련된 각각의 애플리케이션 컴포넌트를 구동하는 단계;
    c) 각각의 애플리케이션 컴포넌트가 동적 연결 관리자―여기서, 동적 연결 관리자는 상기 애플리케이션 컴포넌트 사이의 데이터 송수신을 위한 포트 사이의 연결을 설정함―에 송신 포트 및 수신 포트의 정보를 등록하는 단계;
    d) 송신 애플리케이션 컴포넌트―여기서, 송신 애플리케이션 컴포넌트는 데이터를 전송하려는 애플리케이션 컴포넌트임―가 상기 송신 포트를 이용하여 상기 데이터 및 수신 애플리케이션 컴포넌트―여기서, 수신 애플리케이션 컴포넌트는 상기 데이터를 수신할 애플리케이션 컴포넌트임―의 이름을 상기 동적 연결 관리자로 전송하는 단계; 및
    e) 상기 동적 연결 관리자에 의해 상기 송신 애플리케이션 컴포넌트의 송신 포트와 상기 수신 애플리케이션 컴포넌트의 수신 포트가 연결되면, 상기 연결을 통해 상기 데이터를 상기 수신 애플리케이션 컴포넌트로 전송하는 단계
    를 포함하는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 방법.
  9. 제8항에 있어서,
    상기 d) 단계는,
    상기 송신 애플리케이션 컴포넌트로부터 전송된 데이터가 자동으로 상기 동적 연결 관리자가 관리하는 데이터 큐에 저장되는 것을 특징으로 하는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 방법.
  10. 제9항에 있어서,
    상기 e) 단계는,
    e-1) 상기 송신 애플리케이션 컴포넌트로부터 수신된 상기 수신 애플리케이션 컴포넌트의 이름을 이용하여, 상기 데이터를 전달할 애플리케이션 컴포넌트의 수신 포트를 결정하는 단계;
    e-2) 상기 수신 애플리케이션 컴포넌트의 수신 포트와, 상기 송신 애플리케이션 컴포넌트의 송신 포트를 연결하는 단계;
    e-3) 상기 데이터 큐의 순서에 따라, 상기 수신 애플리케이션 컴포넌트의 수신 포트로 상기 데이터를 송신하는 단계; 및
    e-4) 상기 수신 애플리케이션 컴포넌트가 상기 수신 포트를 통해 전송되는 데이터를 수신하는 단계
    를 포함하는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 방법.
  11. 제9항에 있어서,
    상기 데이터 큐는 선입선출(FIFO) 형태인 것을 특징으로 하는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 방법.
  12. 제8항에 있어서,
    상기 a) 단계에서 상기 애플리케이션 컴포넌트의 초기 구동 시에 각 애플리케이션 컴포넌트의 포트와 포트간의 연결 설정을 수행하지 않는 것을 특징으로 하는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 방법.
  13. 제8항에 있어서,
    상기 포트 정보는 송신 포트 정보 및 수신 포트 정보로서, 상기 XML 파일 내에 기술되어 있는 것을 특징으로 하는 SCA 기반 시스템의 애플리케이션 컴포넌트 통신 방법.
KR1020060107638A 2006-11-02 2006-11-02 Sca 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및방법 KR100881419B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060107638A KR100881419B1 (ko) 2006-11-02 2006-11-02 Sca 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및방법
US11/743,148 US8347318B2 (en) 2006-11-02 2007-05-02 Application component communication apparatus of SCA-based system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060107638A KR100881419B1 (ko) 2006-11-02 2006-11-02 Sca 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및방법

Publications (2)

Publication Number Publication Date
KR20080040104A KR20080040104A (ko) 2008-05-08
KR100881419B1 true KR100881419B1 (ko) 2009-02-05

Family

ID=39361148

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060107638A KR100881419B1 (ko) 2006-11-02 2006-11-02 Sca 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및방법

Country Status (2)

Country Link
US (1) US8347318B2 (ko)
KR (1) KR100881419B1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100923992B1 (ko) 2007-12-17 2009-10-28 한국전자통신연구원 에스씨에이 기반 시스템 및 그 컴포넌트 연결방법
US9619304B2 (en) * 2008-02-05 2017-04-11 Adobe Systems Incorporated Automatic connections between application components
US20100138473A1 (en) * 2008-12-03 2010-06-03 Electronics And Telecommunications Research Institute Communication apparatus of application for serving communication of relay node and method of the same
KR101227688B1 (ko) * 2008-12-03 2013-01-29 한국전자통신연구원 릴레이 노드 통신을 지원하는 어플리케이션 통신장치 및 그 방법
US20100142480A1 (en) * 2008-12-05 2010-06-10 Electronics And Telecommunications Research Institute Method of seamless vertical handover for sdr terminal and sca based sdr terminal for the same
KR101496333B1 (ko) * 2008-12-09 2015-02-26 삼성전자주식회사 소프트웨어 버스를 이용한 컴포넌트 연결 시스템 및 방법
KR101190597B1 (ko) 2008-12-19 2012-10-15 한국전자통신연구원 로봇 소프트웨어 컴포넌트를 위한 메소드 포트 장치 및 구성 방법
US9342382B2 (en) * 2010-03-30 2016-05-17 Nec Corporation Program processing method, program processing apparatus, and computer program
US20120102406A1 (en) * 2010-10-21 2012-04-26 Hilmar Demant Composition model for components of a user interface framework for web applications
US8972923B2 (en) * 2011-02-08 2015-03-03 Maxeler Technologies Ltd. Method and apparatus and software code for generating a hardware stream processor design
US8707277B2 (en) 2011-05-02 2014-04-22 Raytheon Company Systems, methods, and language for SCA CORBA descriptor files
US8813092B2 (en) 2011-10-12 2014-08-19 Raytheon Company CORBA embedded inter-orb protocol (EIOP)
US8719813B2 (en) 2011-11-29 2014-05-06 Raytheon Company Optimized SCA CORBA descriptor for SCA CORBA descriptor files
WO2016117730A1 (ko) * 2015-01-22 2016-07-28 한국과학기술원 Sdr 기반 통신 장치, 및 이의 동작 방법
CN112860223A (zh) * 2019-11-28 2021-05-28 湖南智领通信科技有限公司 基于软件通信体系架构的波形处理方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH024311A (ja) * 1988-06-13 1990-01-09 Kamiya Sadayoshi 眼内レンズの検査装置
US20020053070A1 (en) * 2000-10-27 2002-05-02 Kabushiki Kaisha Toshiba Application development system and method
KR20050066282A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 에스씨에이 기반 시스템의 인터-도메인 지원 장치 및 그방법
US6966050B2 (en) * 2001-01-31 2005-11-15 Kabushiki Kaisha Toshiba Software building support system
US7100148B2 (en) * 2001-03-16 2006-08-29 Sap Ag Development computer, development program for combining components to applications, using component descriptors related to the components, method, and computer program
KR20070106691A (ko) * 2004-12-06 2007-11-05 옴니폰 리미티드 무선 컴퓨팅 디바이스의 특정 유형을 위한 커스터마이징된소프트웨어 애플리케이션을 자동적으로 구축하는 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3151103B2 (ja) * 1994-03-30 2001-04-03 株式会社日立製作所 通信システムおよび通信方法
KR100248007B1 (ko) 1997-12-03 2000-10-02 윤종용 이동통신단말장치및그소프트웨어플랫폼
US6516322B1 (en) * 2000-04-28 2003-02-04 Microsoft Corporation XML-based representation of mobile process calculi
KR100641095B1 (ko) 2001-06-20 2006-11-06 엘지전자 주식회사 에스디알 시스템에서의 리소스 어댑터
JP4396639B2 (ja) * 2003-10-15 2010-01-13 三菱電機株式会社 路車間通信システム、基地局装置、及び移動局装置
US7487493B1 (en) 2003-12-30 2009-02-03 Itt Manufacturing Enterprises, Inc. Method and apparatus for developing standard architecture compliant software for programmable radios

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH024311A (ja) * 1988-06-13 1990-01-09 Kamiya Sadayoshi 眼内レンズの検査装置
US20020053070A1 (en) * 2000-10-27 2002-05-02 Kabushiki Kaisha Toshiba Application development system and method
US6966050B2 (en) * 2001-01-31 2005-11-15 Kabushiki Kaisha Toshiba Software building support system
US7100148B2 (en) * 2001-03-16 2006-08-29 Sap Ag Development computer, development program for combining components to applications, using component descriptors related to the components, method, and computer program
KR20050066282A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 에스씨에이 기반 시스템의 인터-도메인 지원 장치 및 그방법
KR20070106691A (ko) * 2004-12-06 2007-11-05 옴니폰 리미티드 무선 컴퓨팅 디바이스의 특정 유형을 위한 커스터마이징된소프트웨어 애플리케이션을 자동적으로 구축하는 방법

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
2006 한국컴퓨터종합학술대회 논문집,제33권,제1(D)호,"SDR을 위한 SCA에서의 소프트웨어 컴포넌트의 실시간 교체 방법"
전자공학회지, 제33권, 제2호, "SDR의 소프트웨어 구조"
정보과학회논문지:컴퓨팅의 실제, 제9권,제3호,"SDR 컴포넌트의 동적 배치를 위한 SCA기반 컴포넌트 프레임워크의 설계"*
한국 인터넷 정보학회 논문집, 제7권, 제2호, "재구성 가능한 SDR 이동국 설계 및 구축 방안 연구"
한국정보과학회 2004년 봄 학술발표논문집, 제31권, 제1(A),"컴포넌트의 비동기적 교체를 이용한 동적 재구성기법"

Also Published As

Publication number Publication date
US20080109828A1 (en) 2008-05-08
KR20080040104A (ko) 2008-05-08
US8347318B2 (en) 2013-01-01

Similar Documents

Publication Publication Date Title
KR100881419B1 (ko) Sca 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및방법
US8468255B2 (en) Data card and method for internet access of data card
US8584081B2 (en) Server side application integration framework
US8010973B2 (en) Class loader for managing a network
US20120284696A1 (en) Method, Apparatuses and a System for Compilation
JP2017530470A (ja) 動作環境の配置方法及び装置並びにシステム
KR100881275B1 (ko) Sca 멀티 컴포넌트 및 멀티 포트 환경에서의 우선 순위제어 장치 및 방법
CN102810069A (zh) 一种java对象的请求和响应方法、装置、系统和终端
Malek et al. Reconceptualizing a family of heterogeneous embedded systems via explicit architectural support
US6959439B1 (en) System interface abstraction layer
CN112688915A (zh) 跨协议通信方法、装置及服务器
US8200749B2 (en) Data processing method for generating service interface descriptions
KR100833494B1 (ko) 임베디드 단말의 OSGi 미들웨어 환경에서 이원화된애플리케이션 관리를 통한 애플리케이션 경량화를 위한장치 및 그 방법
US8051191B2 (en) Ethernet extensibility
KR20080052112A (ko) 컴포넌트 스타트 순서에 따른 sca기반의 파형어플리케이션의 스타트 방법
EP1830516A1 (en) A method and a network management apparatus for implementing information service hierarchy inherited relation in the network management interface
CN113032054B (zh) 一种服务执行方法、装置、存储介质及电子装置
JP2006338268A (ja) データ処理装置、ネットワークインターフェース基板及びアプリケーションプログラム登録方法
EP2530995B1 (en) Method and apparatus for implementing network device function of wireless communication terminal
US7552440B1 (en) Process communication multiplexer
KR100494827B1 (ko) 하드웨어 독립적인 통신 인터페이스를 가지는 분산객체모델 기반의 라디오 서버와 이를 이용한 통신제어방법
US7698362B2 (en) Web service connecting apparatus and web service connecting method
CN117082017B (zh) 一种白盒交换机扩展卡管理的方法及装置
US7773979B1 (en) System and method for integration of non-java device into a java-based mobile service oriented architecture
KR100754870B1 (ko) 에스시에이 어댑터 및 이의 운용방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121206

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140424

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150112

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee