KR100858156B1 - 에스시에이 기반 애플리케이션 시스템 및 이의 운용 중컴포넌트 교체방법 - Google Patents

에스시에이 기반 애플리케이션 시스템 및 이의 운용 중컴포넌트 교체방법 Download PDF

Info

Publication number
KR100858156B1
KR100858156B1 KR1020060043703A KR20060043703A KR100858156B1 KR 100858156 B1 KR100858156 B1 KR 100858156B1 KR 1020060043703 A KR1020060043703 A KR 1020060043703A KR 20060043703 A KR20060043703 A KR 20060043703A KR 100858156 B1 KR100858156 B1 KR 100858156B1
Authority
KR
South Korea
Prior art keywords
component
name
data
based application
application system
Prior art date
Application number
KR1020060043703A
Other languages
English (en)
Other versions
KR20070061084A (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 한국전자통신연구원
Publication of KR20070061084A publication Critical patent/KR20070061084A/ko
Application granted granted Critical
Publication of KR100858156B1 publication Critical patent/KR100858156B1/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/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 에스시에이 기반 애플리케이션 시스템 및 이의 운용 중 컴포넌트 교체방법에 관한 것이다.
이를 위하여 본 발명은, 특정 애플리케이션의 운용에 필요한 컴포넌트를 선택적으로 구동시키기 위한 구동정보를 나타내는 XML 파일을 저장하는 XML 파일 저장부, XML 파일을 해석하여 컴포넌트를 구동시키는 어셈블리 컨트롤러 및 컴포넌트 교체 시 교체되는 컴포넌트의 이름과 교체되는 컴포넌트의 데이터 입력 포트의 이름을 등록 취소하고, 새롭게 배치되어 구동되는 컴포넌트의 이름과 새롭게 배치되어 구동되는 컴포넌트의 데이터 입력 포트의 이름을 등록하는 네이밍 서버를 포함하는 에스시에이(SCA: Software Communication Architecture) 기반 애플리케이션 시스템을 제공한다.
본 발명에 의하면, 운용중 임의의 컴포넌트를 교체하더라도, 이로 인해 잘못된 목적지 정보(Object Reference)로 데이터를 송신하는 오류의 발생 또는 시스템의 다운을 방지하는 SCA 기반 애플리케이션 시스템을 제공할 수 있다.
SCA, 애플리케이션, 네이밍 서비스, 운용 중 교체, 데이터 타입

Description

에스시에이 기반 애플리케이션 시스템 및 이의 운용 중 컴포넌트 교체방법{SCA Based Application System and the Method of Exchanging Component in Operation thereof}
도 1은 본 발명의 실시예에 따른 SCA 기반 애플리케이션 시스템을 도시한 블록도이다.
도 2는 본 발명의 실시예에 따른 네이밍 서비스를 위해 네이밍 서버에 등록되는 네이밍 트리를 도시한 블록도이다.
도 3은 본 발명의 실시예에 따른 컴포넌트를 도시한 블록도이다.
도 4는 본 발명의 실시예에 따른 데이터 타입을 나타낸 것이다.
도 5는 본 발명의 실시예에 따른 애플리케이션 서비스 시작 과정을 나타낸 순서도이다.
도 6은 본 발명의 실시예에 따라 교체되는 컴포넌트와 관련된 서비스 중지 과정을 나타낸 순서도이다.
도 7은 본 발명의 실시예에 따라 컴포넌트 교체 이후 애플리케이션 서비스 재시작 과정을 나타낸 순서도이다.
본 발명은 에스시에이(Software Communication Architecture: 이하, SCA라 칭한다.) 기반 애플리케이션 시스템 및 이의 운용 중 컴포넌트 교체방법에 관한 것이다.
SCA는 합동 전술 무선 시스템(Joint Tactical Radio System: JTRS) 합동 프로그램 사무국(Joint Program Office: JPO)에서 통신 시스템간 상호 연동성을 크게 개선하고, 개발 및 배치 비용을 줄이고자 제안한 표준화된 통신 소프트웨어 구조이다.
SCA는 크게 애플리케이션(Application)과 운영환경(Operating Environment)의 계층구조로 구성되며, 이중 운영환경은 실시간 운영체계(Real-Time Operating System: RTOS)와 코어 프레임워크(Core Framework: CF) 및 코바(Common Object Request Broker Architecture: CORBA) 인터페이스로 이루어진다. SCA는 분산 객체 모델의 산업표준인 코바(CORBA: Common Object Request Broker Architecture)를 미들웨어(Middleware)로 채택하여 이기종의 하드웨어와 소프트웨어의 통합 환경을 제공하는데, 이는 특정 시스템에 한정되는 규격이 아닌 독립적인 시스템 디자인 프레임워크이다.
SCA 기반 애플리케이션 시스템(SCA based application system)은 SCA 구조를 기반으로 이루어진 통신 시스템을 의미하며, 소프트웨어 기반 무선통신(Sofeware Defined Radio: SDR) 시스템은 SCA 기반 애플리케이션 시스템의 대표적인 예이다. 소프트웨어 기반 무선통신 시스템은 하드웨어의 수정 없이 모듈화된 소프트웨어의 변환을 통해 다수의 무선 통신규격을 복합적으로 수용할 수 있으며, 소프트웨어 프레임워크의 표준으로 SCA를 채택한다.
SCA 기반 애플리케이션 시스템에서 웨이브폼(Waveform) 기능을 수행하는 애플리케이션은 다수의 컴포넌트를 하나의 패키지로 묶어 배치하여 실행한다. 이로 인해, 애플리케이션 운영 중 하나 또는 복수의 컴포넌트에 고장이 발생하거나 교체가 필요한 경우, 전체 애플리케이션 패키지를 시스템으로부터 제거하고 새로운 컴포넌트가 적용된 애플리케이션 패키지를 다시 제작하여 패키지 전체를 다시 시스템에 로딩하고 실행할 수 있을 뿐, 운용 중 컴포넌트를 교체하는 것은 불가능하였다.
만약, 애플리케이션의 재배치가 생략된다면 하나 또는 복수의 컴포넌트에 고장이 발생하거나 교체되는 경우 실제 해당 컴포넌트의 런타임 정보인 입출력 포트들 각각의 포트별 목적지 정보(Port Object Reference)가 변경되어 해당 컴포넌트와 연결되어 있는 모든 커넥션 정보가 끊어지게 된다. 이로 인해, 고장이 발생하거나 교체되는 해당 컴포넌트와 관련된 입출력 포트로 다른 컴포넌트가 데이터를 송신하려 할 경우 잘못된 메모리 주소로 데이터를 쓰는 오류를 유발하여 애플리케이션 전체가 영향을 받아서 시스템이 다운되는 현상을 초래할 수 있다.
이 때문에, 기지국과 같이 이동통신 서비스를 위하여 중단 없이 작동하는 장치에서는 애플리케이션 패키지의 교체를 위하여 전체 애플리케이션을 종료시켜야 하는 SCA 기반 애플리케이션 시스템을 적용하기 어려웠다.
이와 같은 문제점을 해결하기 위하여, 본 발명은 운용중 임의의 컴포넌트를 교체하더라도, 이로 인한 오류의 발생이나 시스템의 다운을 방지하는 SCA 기반 애플리케이션 시스템 및 이의 운용 중 컴포넌트 교체방법을 제시한다.
이러한 기술적 과제를 달성하기 위하여 본 발명의 특징에 따른 에스시에이 기반 애플리케이션 시스템은, 특정 애플리케이션의 운용에 필요한 컴포넌트를 선택적으로 구동시키기 위한 구동정보를 나타내는 XML 파일을 저장하는 XML 파일 저장부, XML 파일을 해석하여 상기 컴포넌트를 구동시키는 어셈블리 컨트롤러 및 컴포넌트 교체 시 교체되는 컴포넌트의 이름과 교체되는 컴포넌트의 데이터 입력 포트의 이름을 등록 취소하고, 새롭게 배치되어 구동되는 컴포넌트의 이름과 새롭게 배치되어 구동되는 컴포넌트의 데이터 입력 포트의 이름을 등록하는 네이밍 서버를 포함한다.
한편, 본 발명의 특징에 따른 어셈블리 컨트롤러에 의해 구동되는 둘 이상의 컴포넌트를 구비하는 에스시에이 기반 애플리케이션 시스템의 운용 중 컴포넌트 교체방법은, (a) 교체될 컴포넌트의 등록 취소 요청 신호를 생성하는 단계, (b) 교체될 컴포넌트의 이름과 교체될 컴포넌트의 데이터 입력 포트의 이름을 등록 취소하고, 시스템에서 삭제하는 단계, (c) 새로운 컴포넌트를 배치시켜 구동시키는 단계 및 (d) 새로운 컴포넌트의 이름과 새로운 컴포넌트의 데이터 입력 포트의 이름을 등록하고, 애플리케이션 서비스를 재개하는 단계를 포함한다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명 이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
또한 어떤 부분이 어떤 구성 요소를 ”포함“한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 본 명세서에서 기재한 모듈(Module)이란 용어는 특정한 기능이나 동작을 처리하는 하나의 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현할 수 있다.
도 1은 본 발명의 실시예에 따른 SCA 기반 애플리케이션 시스템을 도시한 블록도이다.
도 1에 도시된 바와 같이, SCA 기반 애플리케이션 시스템(100)은 네이밍 서버(Naming Server, 110), 어셈블리 컨트롤러(Assembly Controller, 120), XML 파일 저장부(130), 컴포넌트 A(140) 및 컴포넌트 B(150)로 구성된다.
참고로, 도 1에 도시한 SCA 기반 애플리케이션 시스템(100)은 컴포넌트 A(140)와 컴포넌트 B(150)의 두 개의 컴포넌트만을 포함하나, 이는 설명의 편의를 위한 것으로, 통상적인 SCA 기반 애플리케이션 시스템은 적어도 세 개 이상의 컴포넌트를 포함한다. SCA 기반 애플리케이션 시스템에 배치되는 컴포넌트(Component) 는 기능의 완전한 집합을 구현하는 소프트웨어 모듈이나 요소로서 정의되며, 보통 공유 라이브러리의 형태이지만 배치 환경에 따라 이진 코드(Binary Code), 바이트 코드(Byte Code), 혹은 스크립트 언어(Script Language)로 작성된 소스 파일 중 하나이다.
컴포넌트 A(140)와 컴포넌트 B(150), 즉 SCA 기반 애플리케이션 시스템(100) 내의 모든 컴포넌트는 어셈블리 컨트롤러(120)에 의해 구동됨에 따라 자신의 이름과 자신의 데이터 입력 포트의 이름을 네이밍 서버(110)에 등록한다. SCA 기반 애플리케이션 시스템(100)에 포함되는 하나의 컴포넌트가 다른 컴포넌트로 데이터를 전송할 때, 예컨대 컴포넌트 A(140)가 컴포넌트 B(150)로 데이터 전송 시, 컴포넌트 A(140)는 네이밍 서버(110)로 출력 데이터 목적지 질의 정보를 전송하고, 이에 따라 수신되는 컴포넌트 B(150)의 데이터 입력 포트 정보를 자신의 출력 데이터 목적지 정보(Object Reference)로 인식하여 데이터를 전달한다. SCA 기반 애플리케이션 시스템(100) 내의 모든 컴포넌트는 각각 데이터 입력 포트(141, 151)와 데이터 출력 포트(142, 152)를 구비하며, 자신의 데이터 입력 포트로 수신되는 데이터를 감시하고, 자신이 수신할 데이터가 아닌 데이터가 입력되면, 이를 수신하지 않음으로써 오류의 발생을 방지한다. 한편, 자신의 비정상적인 운용중단을 감지하거나 어셈블리 컨트롤러(120)로부터 컴포넌트 교체 요구를 수신한 컴포넌트는 네이밍 서버(110)에 등록된 자신의 이름과 자신의 데이터 입력포트의 이름의 등록을 취소한다.
XML 파일 저장부(130)는 SCA 기반 애플리케이션 시스템(100) 내의 모든 컴포 넌트의 구동정보를 정의하는 XML 파일을 저장한다. 여기에서, 구동정보란 어셈블리 컨트롤러(120)에 임의의 애플리케이션이 배치되어 실행됨에 따라 해당 애플리케이션의 실행에 필요한 컴포넌트만을 선택적으로 구동시키기 위한 정보이다. XML 파일은 저장, 배치 및 논리적 구조에 제한요소를 주는 메커니즘(Mechanism)을 제공하는 것으로, 데이터 오브젝트(Object)의 분류와 이를 처리하는 컴퓨터 프로그램의 활동을 기술하는 확장성 작성 언어(XML: eXtensible Markup Language)로 구성되며, 엔터티(Entity)라는 단위로 저장된다. 엔터티(Entity)는 해석(Parse)되거나 또는 해석되지 않은 데이터로 구성되는데, 이중 해석(Parse)된 데이터는 글자(Letter)로 구성되어 일부는 글자 데이터를 형성하고, 일부는 코드(Markup)을 형성한다.
어셈블리 컨트롤러(120)는 SCA 기반 애플리케이션 시스템(100) 내의 모든 컴포넌트, 즉 컴포넌트 A(140)와 컴포넌트 B(150)의 구동을 제어한다. 어셈블리 컨트롤러(120)는 각 컴포넌트의 구동을 시작시키거나 중지하도록 제어하고, 임의의 애플리케이션이 SCA 기반 애플리케이션 시스템(100)에 배치되어 구동되면 네이밍 서버(110)에 자신의 이름과 애플리케이션의 이름을 등록한다. 어셈블리 컨트롤러(120)는 XML 파일 저장부(130)에 저장된 XML 파일을 해석(Parse)하여 SCA 기반 애플리케이션 시스템(100) 내의 모든 컴포넌트 중 해당 애플리케이션의 실행에 필요한 컴포넌트를 선택적으로 구동시킨다. 어셈블리 컨트롤러(120)는 SCA 기반 애플리케이션 시스템(100) 관리자의 컴포넌트 교체요구를 수신하면, 교체할 컴포넌트로 컴포넌트 교체 요구신호를 전달하고, 해당 컴포넌트를 삭제한다. 또한, 임의의 컴포넌트로부터 비정상적인 운용중단의 발생을 통보받은 어셈블리 컨트롤러(120)는 해당 컴포넌트를 삭제한다.
네이밍 서버(110)는 임의의 애플리케이션이 배치되어 구동됨에 따라 어셈블리 컨트롤러와 컴포넌트로부터 등록 요청신호를 수신하여 어셈블리 컨트롤러(120), 애플리케이션, 컴포넌트 및 각 컴포넌트의 데이터 입력 포트의 이름을 네이밍 트리(Naming Tree)에 등록한다. 네이밍 서버(110)는 SCA 기반 애플리케이션 시스템(100) 내 임의의 컴포넌트로부터 데이터를 전송할 다른 컴포넌트의 이름을 포함하는 출력 데이터 목적지 질의 정보를 수신하면, 네이밍 트리에 등록된 해당 컴포넌트의 데이터 입력 포트 정보를 전달한다. 한편, 네이밍 서버(110)는 비정상적인 운용중단이 발생하거나 컴포넌트 교체 요구를 수신한 컴포넌트로부터 등록취소 요청신호를 수신하면, 해당 컴포넌트의 이름과 데이터 입력 포트의 이름의 등록을 취소한다.
도 2는 본 발명의 실시예에 따른 네이밍 서비스를 위해 네이밍 서버에 등록되는 네이밍 트리를 도시한 블록도이다.
네이밍 서버(도 1의 110)는 임의의 애플리케이션 X가 SCA 기반 애플리케이션 시스템(도 1의 100)에 배치되어 구동됨에 따라 어셈블리 컨트롤러(도 1의 120)와 컴포넌트 A(도 1의 140) 및 컴포넌트 B(도 1의 150)로부터 등록 요청신호를 수신하면, 도 2로 도시한 바와 같은 네이밍 트리를 구성한다. 이때, 도시한 컴포넌트A_DataPort와 컴포넌트 B_DataPort는 각각 컴포넌트 A(도 1의 140)와 컴포넌트 B(150)의 데이터 입력 포트를 의미한다.
네이밍 서버(도 1의 110)는 애플리케이션 X의 하단에 어셈블리 컨트롤러(도 1의 120)와 컴포넌트 A(도 1의 140) 및 컴포넌트 B(도 1의 150)의 이름을 등록하고, 컴포넌트 A(도 1의 140)의 이름 하단에 컴포넌트 A(도 1의 140)의 데이터 입력 포트(141)의 이름을, 컴포넌트 B(도 1의 150)의 이름 하단에 컴포넌트 B(도 1의 150)의 데이터 입력포트(151)의 이름을 등록한다.
여기에서, 어셈블리 컨트롤러(도 1의 120)와 컴포넌트 A(도 1의 140), 컴포넌트 B(도 1의 150), 데이터 입력 포트(141) 및 데이터 입력포트(151) 각각의 이름은 SCA 기반 애플리케이션 시스템(도 1의 100) 내에서 유일해야 하므로 전 세계적으로 유일한 고유 아이디(Universally Unique Identifier: UUID)를 기반으로 작성된다.
도 3은 본 발명의 실시예에 따른 컴포넌트를 도시한 블록도이다.
도 3에 도시한 바와 같이, 컴포넌트 A(140)는 데이터 입력 포트(141), 데이터 출력 포트(142), 운용정보 입출력 포트(143), 제어부(144), 출력 데이터 목적지 정보 저장부(145), 운용상태 관리부(146), 데이터 저장부(147) 및 수신 데이터 모니터링부(148)을 포함한다.
데이터 입력 포트(141)와 데이터 출력 포트(142)는 다른 컴포넌트와의 상호 통신을 위한 것이고, 운용정보 입출력 포트(143)는 컴포넌트 A(140)의 운용정보를 송수신하기 위한 것이다. 운용정보 입출력 포트(143)는 애플리케이션 구동 시 어셈블리 컨트롤러(도 1의 120)로부터의 구동 명령 수신과 컴포넌트 A(140)의 이름과 데이터 입력 포트(141)의 이름을 포함하는 등록 요청신호를 네이밍 서버(도 1의 110)로 전달하기 위한 것이다. 또한, 운용정보 입출력 포트(143)는 어셈블리 컨트 롤러(도 1의 120)로부터 컴포넌트 A(140)의 교체요구를 수신하거나, 구동중인 컴포넌트 A(140)에 비정상적인 운용 중단의 발생 시, 운용상태 관리부(146)에서 생성되는 등록 취소 요청신호를 네이밍 서버(도 1의 110)로 전달하기 위한 것이다.
출력 데이터 목적지 정보 저장부(145)는 제어부(144)에 의해 정의되는 데이터 입력 포트(141)와 데이터 출력 포트(142) 정보를 저장하고, 네이밍 서버(도 1의 110)로부터 수신되는 출력 데이터 목적지 정보를 저장한다.
운용상태 관리부(146)는 컴포넌트의 운용상태에 따라 네이밍 서버(도 1의 110)로 전달할 등록 요청 신호나 등록 취소 요청 신호를 생성한다. 운용상태 관리부(156)는 애플리케이션 구동시 어셈블리 컨트롤러(도 1의 120)로부터 구동정보를 수신한 제어부(144)에 의해 컴포넌트 A(140)가 구동을 시작하면, 등록 요청 신호를 생성한다. 운용상태 관리부(156)는 어셈블리 컨트롤러(도 1의 120)로부터 컴포넌트 A(140)의 교체요구를 수신하거나 구동중인 컴포넌트 A(140)의 비정상적인 운용 중단의 발생을 감지하면 등록 취소 요청 신호를 생성한다. 데이터 저장부(147)는 다른 컴포넌트와 입출력되는 데이터를 저장한다.
제어부(144)는 컴포넌트 A(140)의 구동을 제어한다. 제어부(144)는 어셈블리 컨트롤러(도 1의 120)로부터 구동정보를 수신하면, 컴포넌트 A(140)를 구동시키고, 이때 감지되는 컴포넌트 A(140)의 런타임 정보를 이용하여 데이터 입력 포트(141)와 데이터 출력 포트(142)를 정의한다. 제어부(144)는 운용상태 관리부(146)에서 등록 요청 신호가 생성되었음을 감지하면, 컴포넌트 A(140)의 이름과 데이터 입력 포트(141)의 이름을 포함하는 등록 요청 신호를 네이밍 서버(도 1의 110)로 전달하고, 운용상태 관리부(146)에서 등록 취소 요청 신호가 생성되면, 등록 취소 요청 신호를 네이밍 서버(도 1의 110)로 전달한다.
제어부(144)는 다른 컴포넌트로의 데이터 전송이 필요하면, 데이터를 전송할 다른 컴포넌트의 이름이나 다른 컴포넌트의 데이터 입력 포트의 이름을 포함하는 출력 데이터 목적지 질의 정보를 네이밍 서버(도 1의 110)로 전달하고, 그에 따라 네이밍 서버(도 1의 110)로부터 수신되는 출력 데이터 목적지 정보를 출력 데이터 목적지 정보 저장부(145)에 저장한다.
제어부(144)는 데이터 저장부(147)에 저장된 데이터를 출력 데이터 목적지 정보 저장부(145)에 저장된 정보에 따라 데이터 출력 포트(142)를 통해 정해진 출력 데이터 목적지 정보로 전달하고, 수신 데이터 모니터링부(148)의 모니터링 결과에 따라 데이터 입력 포트(141)로 입력되는 데이터의 저장 여부를 결정하여 선별적으로 데이터 저장부(147)에 저장한다.
수신 데이터 모니터링부(148)는 데이터 입력 포트(141)로 수신되는 데이터를 모니터링하고, 그 결과에 따른 제어부의 제어에 따라 데이터를 데이터 저장부(147)로 전달하거나 또는 삭제한다. 여기에서, 수신 데이터 모니터링부(148)에 의한 데이터 모니터링은 컴포넌트 A(140)가 수신할 데이터가 아닌 다른 목적지 주소로 전달될 데이터를 수신하였는지의 여부를 판별하기 위한 것으로, 이를 위한 본 발명의 실시예에 따른 데이터 타입을 도 4로 나타내었다.
도 4는 본 발명의 실시예에 따른 데이터 타입을 나타낸 것이다.
도 4에 도시한 데이터 타입은 SCA 기반 애플리케이션 시스템(도 1의 100) 내의 컴포넌트 상호 간에 오류 없는, 정확한 데이터 송수신을 위한 것으로, 스트링(String) 타입의 에스알씨(Src) 컴포넌트 구분자와 스트링 타입의 디에스티(Dst) 컴포넌트 구분자, 스트링 타입의 아이디(Id) 및 애니(Any) 타입의 밸류(Value) 변수를 포함한다. 여기에서, 에스알씨(Src) 컴포넌트 구분자와 스트링 타입의 디에스티(Dst) 컴포넌트 구분자는 각각 데이터를 전송하는 컴포넌트와 데이터를 수신하는 컴포넌트를 나타낸다. 또한, 아이디(Id)는 밸류(Value) 정보가 어떤 종류의 값인지를 구분하기 위한 구분자이며, 밸류(Value)는 컴포넌트 상호 간에 실제 전송되는 데이터이다.
이러한 데이터 타입을 이용하여, 수신 데이터 모니터링부(도 3의 148)는 데이터 입력 포트(도 3의 141)를 통해 컴포넌트 A(도 3의 140)로 입력되는 데이터의 디에스티(Dst)를 모니터링함으로써, 컴포넌트 A(도 3의 140)이 수신할 데이터가 수신되었는지의 여부를 판별할 수 있다.
도 5는 본 발명의 실시예에 따른 애플리케이션 서비스 시작 과정을 나타낸 순서도이다.
SCA 기반 애플리케이션 시스템(도 1의 100)에 임의의 애플리케이션 X가 배치되어 구동되면, 어셈블리 컨트롤러(도 1의 120)는 XML 파일 저장부(도 1의 130)에 저장된 XML 파일을 해석(Parse)하여(S301), 애플리케이션 X의 실행에 필요한 컴포넌트 A(도 1의 140)와 컴포넌트 B(도 1의 150)를 구동시킨다(S302). 어셈블리 컨트롤러(도 1의 120)로부터 구동정보를 수신한 컴포넌트 A(도 1의 140)와 컴포넌트 B(도 1의 150)는 각각 자신의 이름과 자신의 데이터 입력 포트의 이름을 네이밍 서버(도 1의 110)에 등록하기 위해 등록 요청 신호를 생성하여 네이밍 서버(도 1의 110)로 전달한다. 네이밍 서버(도 1의 110)는 이를 수신하여, 컴포넌트 A(도 1의 140)와 컴포넌트 B(도 1의 150) 각각의 이름과 데이터 입력 포트의 이름을 등록한다(S303). 컴포넌트 A(도 1의 140)와 컴포넌트 B(도 1의 150) 각각은 컴포넌트 상호 간 데이터 송수신을 위해 데이터를 전송할 다른 컴포넌트의 이름이나 다른 컴포넌트의 데이터 입력 포트의 이름을 포함하는 출력 데이터 목적지 질의 정보를 네이밍 서버(도 1의 110)로 전달하고, 그에 따라 네이밍 서버(도 1의 110)로부터 출력 데이터 목적지 정보를 수신한다. 컴포넌트 A(도 1의 140)와 컴포넌트 B(도 1의 150)는 각각 수신한 출력 데이터 목적지 정보에 따라 데이터를 전달함으로써 애플리케이션 X 서비스가 시작된다(S304).
도 6은 본 발명의 실시예에 따라 교체되는 컴포넌트와 관련된 서비스 중지 과정을 나타낸 순서도이다.
컴포넌트 A(도 1의 140)가 교체되는 경우를 예로써 설명한다.
컴포넌트 A(도 1의 140)의 비정상적인 운용 중단이 발생하거나 어셈블리 컨트롤러(도 1의 120)로부터 SCA 기반 애플리케이션 시스템(도 1의 100) 관리자에 의한 교체요구를 수신하면(S401), 운용상태 감지부(도 3의 146)는 등록 취소 요청 신호를 생성하고, 이를 감지한 제어부(도 3의 144)는 등록 취소 요청 신호를 네이밍 서버(도 1의 110)로 전달한다. 네이밍 서버(도 1의 110)는 컴포넌트 A(도 1의 140)로부터 등록 취소 요청 신호를 수신함에 따라 컴포넌트 A(도 1의 140)의 이름과 컴포넌트 A(도 1의 140)의 데이터 입력 포트(도 3의 141)의 이름을 등록 취소한 다(S402). 네이밍 서버(도 1의 110)에서 등록 취소된 컴포넌트 A(도 1의 140)는 SCA 기반 애플리케이션 시스템(도 1의 100)의 메모리에서 삭제된다(S403).
도 7은 본 발명의 실시예에 따라 컴포넌트 교체 이후 애플리케이션 서비스 재시작 과정을 나타낸 순서도이다.
컴포넌트 A(도 1의 140)가 교체되어 배치되면, 어셈블리 컨트롤러(도 1의 120)는 XML 파일 저장부(도 1의 130)에 저장된 컴포넌트 A(도 1의 140)의 XML 파일을 해석(Parse)하여(S501), 컴포넌트 A(도 1의 140)을 구동시킨다(S502). 컴포넌트 A(도 1의 140)는 등록 요청 신호를 네이밍 서버(도 1의 110)로 전달하고, 이를 수신한 네이밍 서버(도 1의 110)는 컴포넌트 A(도 1의 140)의 이름과 컴포넌트 A(도 1의 140)의 데이터 입력 포트(도 1의 141)의 이름을 등록한다(S503).
컴포넌트 A(도 1의 140)와 컴포넌트 B(도 1의 150) 각각은 컴포넌트 상호 간 데이터 송수신을 위해 데이터를 전송할 다른 컴포넌트의 이름이나 다른 컴포넌트의 데이터 입력 포트의 이름을 포함하는 출력 데이터 목적지 질의 정보를 네이밍 서버(도 1의 110)로 전달하고, 그에 따라 네이밍 서버(도 1의 110)로부터 출력 데이터 목적지 정보를 수신한다. 컴포넌트 A(도 1의 140)와 컴포넌트 B(도 1의 150)는 각각 수신한 출력 데이터 목적지 정보에 따라 데이터를 전달함으로써 애플리케이션 X 서비스가 재개된다(S504).
이상과 같이 본 발명은, 네이밍 서버(도 1의 110)의 네이밍 서비스와 새로운 데이터 타입의 이용을 통해 컴포넌트의 비정상적인 운용중단의 발생 또는 SCA 기반 애플리케이션 시스템(도 1의 100) 관리자의 요구에 따른 컴포넌트 교체 시 잘못된 목적지 정보로의 데이터 전달을 방지하는 운용 중 컴포넌트 교체 가능한 SCA 기반 애플리케이션 시스템을 제공할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
전술한 구성에 의하여, 컴포넌트의 비정상적인 운용중단의 발생 또는 SCA 기반 애플리케이션 시스템 관리자의 요구에 따른 컴포넌트 교체로 인한 잘못된 목적지 정보로의 데이터 전달과 이에 기인한 애플리케이션 전체 시스템의 다운을 방지할 수 있다.
이로 인해, 기지국과 같이 이동통신 서비스를 위하여 중단 없이 작동하는 장치에 SCA 기반 애플리케이션 시스템의 적용이 가능해 짐은 물론, 운용 중에도 애플리케이션 컴포넌트의 자유로운 교체가 가능하다.

Claims (15)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 어셈블리 컨트롤러에 의해 구동되는 둘 이상의 컴포넌트를 구비하는 에스시에이(SCA: Software Communication Architecture) 기반 애플리케이션 시스템의 운용 중 컴포넌트 교체방법에 있어서,
    (a) 교체될 컴포넌트의 등록 취소 요청 신호를 생성하는 단계;
    (b) 상기 교체될 컴포넌트의 이름과 상기 교체될 컴포넌트의 데이터 입력 포트의 이름을 등록 취소하고, 시스템에서 삭제하는 단계;
    (c) 새로운 컴포넌트를 배치시켜 구동시키는 단계; 및
    (d) 상기 새로운 컴포넌트의 이름과 상기 새로운 컴포넌트의 데이터 입력 포트의 이름을 등록하고, 애플리케이션 서비스를 재개하는 단계
    를 포함하는 에스시에이 기반 애플리케이션 시스템의 운용 중 컴포넌트 교체방법.
  10. 제9항에 있어서,
    상기 (a) 단계에서,
    상기 등록 취소 요청 신호는 상기 교체될 컴포넌트의 비정상적인 운용중단의 발생이 감지되거나 시스템 관리자의 상기 교체될 컴포넌트의 교체 요구를 수신함에 따라 생성되는 에스시에이 기반 애플리케이션 시스템의 운용 중 컴포넌트 교체방법.
  11. 제9항에 있어서,
    상기 (b) 단계의 등록 취소는,
    어셈블리 컨트롤러에 의해 구동되는 둘 이상의 컴포넌트의 이름과 상기 둘 이상의 컴포넌트의 데이터 입력 포트의 이름을 등록하여 저장하는 네이밍 서버가 상기 (a) 단계에서 생성된 상기 교체될 컴포넌트의 등록 취소 요청 신호를 수신함에 따라 실시하는 에스시에이 기반 애플리케이션 시스템의 운용 중 컴포넌트 교체방법.
  12. 제9항에 있어서,
    상기 (c) 단계에서,
    상기 새로운 컴포넌트는 상기 어셈블리 컨트롤러로부터 구동정보를 수신함에 따라 구동되는 에스시에이 기반 애플리케이션 시스템의 운용 중 컴포넌트 교체방법.
  13. 제11항에 있어서,
    상기 (d) 단계에서,
    상기 네이밍 서버가 상기 (c) 단계에서 구동된 새로운 컴포넌트로부터 상기 새로운 컴포넌트의 이름과 상기 새로운 컴포넌트의 데이터 입력 포트의 이름을 포함하는 등록 요청 신호를 수신하여 등록하는 에스시에이 기반 애플리케이션 시스템의 운용 중 컴포넌트 교체방법.
  14. 제13항에 있어서,
    상기 (d) 단계의 애플리케이션 서비스의 재개는,
    상기 어셈블리 컨트롤러에 의해 구동되는 둘 이상의 컴포넌트가 상기 네이밍서버로부터 수신되는 다른 컴포넌트의 데이터 입력 포트 정보에 기초하여 출력 데이터를 전달함으로써 이루어 지는 에스시에이 기반 애플리케이션 시스템의 운용 중 컴포넌트 교체방법.
  15. 제14항에 있어서,
    상기 둘 이상의 컴포넌트는 상기 네이밍 서버로 전달하는 출력 데이터 목적 지 질의 정보에 대한 응답으로 상기 다른 컴포넌트의 데이터 입력 포트 정보를 수신하는 에스시에이 기반 애플리케이션 시스템의 운용 중 컴포넌트 교체방법.
KR1020060043703A 2005-12-08 2006-05-16 에스시에이 기반 애플리케이션 시스템 및 이의 운용 중컴포넌트 교체방법 KR100858156B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050119908 2005-12-08
KR20050119908 2005-12-08

Publications (2)

Publication Number Publication Date
KR20070061084A KR20070061084A (ko) 2007-06-13
KR100858156B1 true KR100858156B1 (ko) 2008-09-10

Family

ID=38357019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060043703A KR100858156B1 (ko) 2005-12-08 2006-05-16 에스시에이 기반 애플리케이션 시스템 및 이의 운용 중컴포넌트 교체방법

Country Status (1)

Country Link
KR (1) KR100858156B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100881275B1 (ko) * 2006-12-08 2009-02-05 한국전자통신연구원 Sca 멀티 컴포넌트 및 멀티 포트 환경에서의 우선 순위제어 장치 및 방법
KR100918849B1 (ko) * 2007-12-17 2009-09-28 한국전자통신연구원 Sca 기반 애플리케이션 컴포넌트의 네이밍 서비스시스템 및 방법
KR100927232B1 (ko) 2007-12-18 2009-11-16 한국전자통신연구원 어플리케이션 시스템의 포트 설정방법
CN111596898B (zh) * 2020-05-08 2024-01-30 湖南智领通信科技有限公司 一种基于corba组件的sca组件及服务器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050041153A (ko) * 2003-10-30 2005-05-04 삼성에스디에스 주식회사 컴포넌트의 추가/교체 프로그램을 기록한 기록매체
KR20050055986A (ko) * 2003-12-09 2005-06-14 한국전자통신연구원 에스시에이 기반 시스템의 파일 시스템, 및 그의소프트웨어 컴포넌트 파일 배치 및 관리 방법
KR20050066280A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050041153A (ko) * 2003-10-30 2005-05-04 삼성에스디에스 주식회사 컴포넌트의 추가/교체 프로그램을 기록한 기록매체
KR20050055986A (ko) * 2003-12-09 2005-06-14 한국전자통신연구원 에스시에이 기반 시스템의 파일 시스템, 및 그의소프트웨어 컴포넌트 파일 배치 및 관리 방법
KR20050066280A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
한국정보과학회 *

Also Published As

Publication number Publication date
KR20070061084A (ko) 2007-06-13

Similar Documents

Publication Publication Date Title
US8584081B2 (en) Server side application integration framework
US9047392B2 (en) System and method for conversion of JMS message data into database transactions for application to multiple heterogeneous databases
US7908580B2 (en) Connecting an integrated development environment with an application instance
US7752598B2 (en) Generating executable objects implementing methods for an information model
Taherkordi et al. Optimizing sensor network reprogramming via in situ reconfigurable components
US20080109828A1 (en) Application component communication apparatus of sca-based system and method thereof
US8307058B2 (en) Apparatus, method, and computer program product for processing information
US20160026661A1 (en) System and method for the automated generation of events within a server environment
US20070240171A1 (en) Device, Method, And Computer Program Product For Accessing A Non-Native Application Executing In Virtual Machine Environment
US20080127055A1 (en) Application proxy
US20030069969A1 (en) Method and apparatus for using java dynamic proxies to interface to generic, bean-like management entities
KR100845234B1 (ko) 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법
GB2419203A (en) A system event log with additional event records
US7107574B1 (en) Managing computer program configuration data
KR100858156B1 (ko) 에스시에이 기반 애플리케이션 시스템 및 이의 운용 중컴포넌트 교체방법
US6594709B1 (en) Methods and apparatus for transferring data using a device driver
US7237222B1 (en) Protocol for controlling an execution process on a destination computer from a source computer
US8239862B2 (en) Apparatus, method, and computer program product for processing information
CN100574284C (zh) 一种分布式路由器系统的操作控制方法
US20100333063A1 (en) Software development, deployment and evolution system, method and program product
US20100185582A1 (en) Web Deployment Functions and Interfaces
US20060136933A1 (en) Server-side eventing for managed server applications
KR100808662B1 (ko) Sca 기반 애플리케이션 시스템 및 이의 운용 중컴포넌트 교체방법
US8885205B2 (en) Electronic device, printer, status management method for an electronic device, and recording medium
US7251248B2 (en) Connection device

Legal Events

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

Payment date: 20120831

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140827

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee