KR100845234B1 - 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법 - Google Patents

통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법 Download PDF

Info

Publication number
KR100845234B1
KR100845234B1 KR1020060112168A KR20060112168A KR100845234B1 KR 100845234 B1 KR100845234 B1 KR 100845234B1 KR 1020060112168 A KR1020060112168 A KR 1020060112168A KR 20060112168 A KR20060112168 A KR 20060112168A KR 100845234 B1 KR100845234 B1 KR 100845234B1
Authority
KR
South Korea
Prior art keywords
parsing
dom
framework
domain profile
interface
Prior art date
Application number
KR1020060112168A
Other languages
English (en)
Other versions
KR20080043517A (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 KR1020060112168A priority Critical patent/KR100845234B1/ko
Priority to PCT/KR2007/005398 priority patent/WO2008060050A1/en
Priority to US12/514,694 priority patent/US20100070524A1/en
Publication of KR20080043517A publication Critical patent/KR20080043517A/ko
Application granted granted Critical
Publication of KR100845234B1 publication Critical patent/KR100845234B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은, 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및 그 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 통신 소프트웨어 구조를 기반으로 한 이동단말기에서 하드웨어 디바이스와 소프트웨어 컴포넌트 정보를 일련의 파일로 기술한 시스템 도메인 프로파일을 파싱함에 있어, DOM(Document Object Model) 트리에 포함되어 있는 모든 정보를 저장하는 추가 저장구조의 생성을 배제하고, 자기기술적(self-describe) 특성을 갖는 도메인 프로파일 내의 정보에 직접 접근을 위한 경로, 선택, 한정, 참조 기능을 포함하는 고급 XML 파싱 인터페이스 및 이를 통해 생성한 DOM 트리에 대한 유지, 제거, 공유 등의 관리 기능을 제공함으로써, 잦은 중복 파싱 및 하드 코딩 과정 그리고 추가 저장구조 없이, 파싱 시간의 효율성을 제공하기 위한, 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및 그 방법을 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치에 있어서, 프레임워크로부터의 도메인 프로파일 이름을 파싱수단으로 전달하고, 상기 프레임워크로부터의 데이터 요청에 따라 해당 데이터의 추출을 위한 질의문을 생성한 후 문서객체모델(이하, DOM) 트리에서 해당 데이터를 직접 추출하여 상기 프레임워크로 제공하기 위한 인터페이스 처리수단; 및 상기 인터페이스 처리 수단으로부터 도메인 프로파일 이름을 전달받음에 따라 해당 도메인 프로파일의 DOM 트리를 생성하기 위한 상기 파싱수단을 포함함.
4. 발명의 중요한 용도
본 발명은 이동단말기 등에 이용됨.
개방형 플랫폼, 소프트웨어 통신 구조, 도메인 프로파일 파서, 질의문

Description

통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및 그 방법{Apparatus and method for parsing domain profile in software communication architecture}
도 1 은 일반적인 통신 소프트웨어 구조(SCA)에 대한 일예시도,
도 2 는 일반적인 도메인 프로파일에 대한 일실시예 설명도,
도 3 은 본 발명에 따른 개방형 통신 소프트웨어 구조에서 도메인 프로파일 파싱 플랫폼에 대한 일예시도,
도 4 는 본 발명에 따른 개방형 프로파일 인터페이스의 클래스 구조를 나타내는 일예시도,
도 5 는 본 발명에 따른 질의문의 일예시도,
도 6 은 본 발명에 따른 DOM 트리 인터페이스 구조를 나타내는 일예시도,
도 7 은 본 발명에 따른 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치의 일실시예 구성도,
도 8 은 본 발명에 따른 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 방법에 대한 일실시예 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
71 : 개방형 프로파일 인터페이스 처리부 72 : XML 파서
711 : 파서 인터페이스 처리기
712 : DOM 인터페이스 처리기
713 : 스크패링 인터페이스 처리기
본 발명은 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 SCA(Software Communication Architecture) 기반 도메인 프로파일의 파싱 결과인 문서객체모델(DOM : Document Object Model, 이하 DOM이라 함) 트리를 유지/관리하고, 특정 XML(eXtensible Markup Language) 파서에 종속적이지 않은 상기 DOM 트리로부터 해당 정보를 직접 추출하여 제공함으로써, 프로파일에 대한 중복 파싱 및 하드 코딩으로 인한 메모리의 낭비를 방지하기 위한, 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및 그 방법에 관한 것이다.
통신 소프트웨어 구조(SCA : Software Communication Architecture, 이하 SCA)는 JTRS(Joint Tactical Radio System) 및 JPEO(Joint Program Executive Office)에서 통신 시스템간 상호 연동성 제공을 목표로 개발되어, 소프트웨어 및 하드웨어의 이식성을 제공하고, 구성 능력을 보장한다.
또한, SCA는 분산 객체 모델의 산업 표준인 CORBA(Common Object Request Broker Architecture) 미들웨어를 기반으로 이기종의 하드웨어와 소프트웨어의 통합 환경을 제공한다.
또한, SCA의 코아 프레임워크는 소프트웨어 애플리케이션 설계자들에게 소프트웨어와 하드웨어 계층에 대한 접근 및 운용을 제공하는 인터페이스 처리부와 핵심 서비스들로 구성된다.
또한, SCA의 도메인 프로파일은 하드웨어(장치) 프로파일과 소프트웨어 프로파일로 구분되며, 소프트웨어 혹은 하드웨어 컴포넌트들 간의 인터페이스, 논리적 위치, 상호 의존성 및 고유한 파라미터를 XML을 이용하여 기술된다. 이때, 코아 프레임워크는 이러한 도메인 프로파일을 기반으로 대상 리소스와 디바이스 및 애플리케이션을 할당/유지/관리한다.
즉, 도메인 프로파일은 비정형적이고 자기기술적인 기록 방식인 XML로 작성되며, 코아 프레임워크는 XML 문서인 도메인 프로파일에 개별적으로 접근하여 정보를 얻는다.
이하, 도 1을 참조하여 상기 통신 소프트웨어 구조(SCA)에 대해 좀 더 상세히 살펴보기로 한다.
도 1에 도시된 바와 같이, 통신 소프트웨어 구조는 멀티 스레드를 지원하는 실시간 임베디드 운영체제(11)를 사용하며, 분산 처리 환경을 위한 메시지 전달 기술로 CORBA(12)를 사용하고, 프레임워크(15)를 통해 내장된 소프트웨어와 하드웨어 계층에 대한 인터페이스와 핵심 서비스들을 제공한다.
여기서, 도메인 프로파일(14)은 소프트웨어 및 하드웨어 장치 컴포넌트들 간의 인터페이스, 논리적 위치, 상호 의존성, 고유 파라미터 특성들을 XML로 기록한 파일을 의미한다. 이러한 다수의 도메인 프로파일(14)은 도메인 프로파일 파서(13)에 의해 파싱되고 개별 정보로 나뉘어 프레임워크(15)로 제공된다.
또한, 애플리케이션(16)을 통해 디지털 신호 처리, 프로토콜 처리, 외부 입/출력 접속 등을 포함하는 사용자 통신 기능을 수행한다. 이때, 애플리케이션(16)은 프레임워크(15)가 제공하는 인터페이스와 서비스들을 사용한다.
이하, 도 2를 참조하여 도메인 프로파일의 종류에 대해 살펴보기로 한다.
도 2에 도시된 바와 같이, SCA 시스템 도메인을 구성하는 하드웨어 디바이스와 소프트웨어 컴포넌트를 파일로 기술된 도메인 프로파일은, 개별 컴포넌트에 대한 정보를 담은, SPD(Software Package Description)(21), SCD(Software Component Descriptor)(22), SAD(Software Assembly Descriptor)(23), PD(Properties Descriptor)(24), DPD(Device Package Descriptor)(25), DCD(Device Configurarion Descriptor)(26), PD(Profile Descriptor)(27)를 포함한다.
여기서, SPD(Software Package Description)(21)는 단위 소프트웨어 컴포넌트의 구현 대상을 식별하기 위한 정보를 포함한다.
또한, SCD(Software Component Descriptor)(22)는 컴포넌트가 제공 및 사용하는 인터페이스에 대한 정보를 포함한다.
또한, SAD(Software Assembly Descriptor)(23)는 애플리케이션을 구성하는 컴포넌트들에 대한 정보를 포함한다.
또한, PD(Properties Descriptor)(24)는 패키지에 적용할 고유 특성 정보를 포함한다.
또한, DPD(Device Package Descriptor)(25)는 설치될 디바이스를 식별하는데 이용하는 정보를 포함한다.
또한, DCD(Device Configurarion Descriptor)(26)는 디바이스들과 디바이스 구성 정보를 포함한다.
또한, PD(Profile Descriptor)(27)는 사용된 도메인 프로파일들을 포함한다.
이러한 통신 소프트웨어 구조에서 도메인 프로파일 파서(13)는, 도메인 프로파일을 파싱하여 DOM 트리를 생성한 후 상기 DOM 트리에 포함되어 있는 모든 정보를 추출하여 해당 프레임워크에 종속적인 데이터로 재생성(재파싱)한 후 저장하고 있다가, 프레임워크(15)로부터의 요청에 따라 해당 데이터를 검색하여 상기 프레임워크(15)로 제공한다. 이때, 재파싱 과정에서 DOM 트리를 체계화되지 않은 로우 레벨로 직접 하드 코딩하여 프레임워크에 종속적인 데이터로 재생성한다.
따라서, 종래의 도메인 프로파일 파서(13)는, DOM 트리에 포함되어 있는 모든 정보를 추출(XML 파서 의존적인 하드 코딩)하여 해당 프레임워크에 종속적인 데이터로 저장하기 때문에, 도메인 프로파일 중복 파싱 및 이로 인한 파싱 시간의 비효율성, 그리고 하드 코딩으로 인한 파서의 메모리 크기 증가, 특정 XML 파서에 대한 의존성, 이동단말기용의 특성화된 파싱 응용(API)에 대한 적응성 부재와 같은 문제점을 초래한다.
이에, DOM 트리에서 프레임워크로부터의 요청 정보를 직접 추출하여 제공할 수 있는 방안이 요구되고 있다.
본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 통신 소프트웨어 구조를 기반으로 한 이동단말기에서 하드웨어 디바이스와 소프트웨어 컴포넌트 정보를 일련의 파일로 기술한 시스템 도메인 프로파일을 파싱함에 있어, DOM(Document Object Model) 트리에 포함되어 있는 모든 정보를 저장하는 추가 저장구조의 생성을 배제하고, 자기기술적(self-describe) 특성을 갖는 도메인 프로파일 내의 정보에 직접 접근을 위한 경로, 선택, 한정, 참조 기능을 포함하는 고급 XML 파싱 인터페이스 및 이를 통해 생성한 DOM 트리에 대한 유지, 제거, 공유 등의 관리 기능을 제공함으로써, 잦은 중복 파싱 및 하드 코딩 과정 그리고 추가 저장구조 없이, 파싱 시간의 효율성을 제공하기 위한, 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 장치는, 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치에 있어서, 프레임워크로부터의 도메인 프로파일 이름을 파싱수단으로 전달하고, 상기 프레임워크로부터의 데이터 요청에 따라 해당 데이터의 추출을 위한 질의문을 생성한 후 문서객체모델(이하, DOM) 트리에서 해당 데이터를 직접 추출하여 상기 프레임워크로 제공하기 위한 인터페이스 처리수단; 및 상기 인터페이스 처리 수단으로부터 도메인 프로파일 이름을 전달받음에 따라 해당 도메인 프로파일의 DOM 트리를 생성하기 위한 상기 파싱수단을 포함하는 것을 특징으로 한다.
한편, 본 발명의 방법은, 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 방법에 있어서, 개방형 프로파일 인터페이스가 프레임워크로부터의 도메인 프로파일 이름을 파서로 전달하는 단계; 상기 파서가 전달받은 도메인 프로파일에 대한 문서객체모델(이하, DOM라 함) 트리를 생성하는 단계; 상기 프레임워크로부터의 데이터 요청에 따라 상기 개방형 프로파일 인터페이스가 해당 데이터를 추출하기 위한 질의문을 생성하는 질의문 생성 단계; 및 상기 개방형 프로파일 인터페이스가 생성한 질의문을 이용하여 상기 DOM 트리에서 해당 데이터를 직접 추출하여 상기 프레임워크로 제공하는 단계를 포함하는 것을 특징으로 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또 한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 3 은 본 발명에 따른 개방형 통신 소프트웨어 구조에서 도메인 프로파일 파싱 플랫폼에 대한 일예시도이다.
도 3에 도시된 바와 같이, 프레임워크(15)는 표준 XML 파서(31)에 대한 직접 호출 대신에 개방형 프로파일 인터페이스(32)를 통해 파싱 결과를 요청한다(301). 이때, 개방형 프로파일 인터페이스(32)는 'CORBA IDL'로 정의되기 때문에, 이의 구현(33)은 CORBA 서번트(servant)이다.
또한, 개방형 프로파일 인터페이스(32)는 일반적인 XML 데이터 추출 관점보다 프레임워크 관점에 맞추어 XML 파싱 결과를 기록하도록 개선된 XML 파싱 연산자들인 스크래핑 인터페이스(321), 표준 XML 파서(31) 또는 특정 XML 파서(34)에 의해 파싱된 DOM 트리를 융통성 있게 활용할 수 있는 연산자들을 제공하는 DOM 인터페이스(323), 그리고 프레임워크 관점의 복잡한 자료구조를 선택적으로 추가할 수 있도록 하기 위한 파서 인터페이스(322)를 갖는다.
이를 통해 SCA용 프레임워크 벤더는 개방형 프로파일 인터페이스(32)에 대한 구현 사례(33)를 통해 프로파일 파싱 요구(301)를 달성한다.
여기서, 개방형 프로파일 인터페이스의 구현(33)은 표준 XML 파서(31)와의 인터페이스 혹은 특정 XML 파서 벤더(혹은 메모리 제한된 단말기용 파서)에 의해 최적화된 구현(34)과의 인터페이스를 선택함으로써, 보다 융통성 있는 최적화가 가능하다. 이들 인터페이스는 궁극적으로 XML 형태로 작성된 도메인 프로파일(14)의 파싱을 요청하여(302), 그 결과로 DOM 트리(35)를 얻는다(303).
또한, 프레임워크의 데이터 요구(301)는 구현 인터페이스를 거쳐 DOM 트리(35)에 대한 데이터 추출 인터페이스로 사상된다. 이를 통해, 프레임워크(15)는 XML 파싱 과정에 독립성을 부여하면서도 융통성 있는 파싱 효율을 얻을 수 있다.
이하, 도 4 및 도 5를 참조하여 개방형 프로파일 인터페이스(32)에 대해 좀 더 상세히 살펴보기로 한다.
도 4에 도시된 바와 같이, 개방형 프로파일 인터페이스(32)는, 스크래핑 인터페이스(321)와 DOM 인터페이스(323), 그리고 파서 인터페이스(322)로 구성된다. 도메인 프로파일(14)에 대한 개별 파서(41)는 파서 팩토리(42)에 의해 생성되며, 실제 이들에 대한 구체적인 파서 구현(43)은 파서(41)로부터 상속받아 재정의함으로써 이루어진다.
여기서, 프레임워크 내에 불필요한 메모리 할당/해제 과정과 중복 파싱을 배제하기 위해, 스크래핑 인터페이스(321)가 프레임워크(15)에서 요구되는 고급 데이터 추출 연산자를 사용하는 예를 도 5를 참조하여 설명한다.
도 5 에 도시된 바와 같이, 스크래핑 인터페이스(321)는 경로 기록, 선택 조건, 한정 조건, 참조 구조 형태로 구성된다.
일예로, 세 개의 리소스에 대한 프로파일의 물리적인 위치 추출 요구에 대한 스크래핑 인터페이스 명령은 "dom.componentfile[].localfile.name"(51)로 정의할 수 있다.
이 명령에서 dom(511)은 DOM 트리(35)의 최상위 노드를 지칭하는 것이며, 계층구조상 그 하위에 'componentfile' 노드(512)로부터 'localfile' 노드(513)까지 경로가 있다면, 'localfile' 요소(514)의 'name' 속성을 추출하고. 한정연산자 '[]'(515)에 의해 1차 집합 형태로 값을 반환한다.
즉, 프레임워크(15)는 세 개의 리소스에 대한 프로파일의 물리적인 위치 추출 요구의 결과로, 문자열 데이터 집합인 String[]:{'/xml/Controller.spd.xml', '/xml/3ge_resource.spd.xml', '/xml/wlan_resource.spd.xml'}을 얻을 수 있다. 이때, 한정 연산자는 최대 2개까지 가능하며, [1,2,5]와 같이 순서번호를 지정하여 추출할 수도 있다.
다른 예로, 'Assemblycontroller'의 'refid' 속성값을 얻기 위한 요구는, "dom.assemblycontroller.refid"(52)와 같이 정의함으로써, 'refid' 속성값으로 단일 문자열 데이터인 String: 'Controller'를 얻을 수 있다. 이때, SAD 파일 내에서 'assemblycontroller' 요소는 유일하게 정의되므로, 이와 같은 축약된 표현이 가능하다.
또 다른 예로, 'Controller2wlan_resource'로 식별되는 CORBA 연결에 대해 포트를 제공하는 리소스의 CORBA 네이밍 컨텍스트를 추출하기 위한 요구는, 'dom.connectinterface(id=’Controller2wlan_resource’).providesport.namingservice.name'(53)과 같이 정의함으로써, String: 'domain_a/wlan_resource'를 얻을 수 있다.
상기 요구(53)는 두 개의 'connectioninterface' 요소(534) 중에서 선택 조건을 명시하기 위해, 'connectioninterface' 노드(531)의 속성 노드인 id(532)를 사용한 조건식을 명시하는 것이 가능하며, 조건식은 선택 연산자 '()'(533)를 통해 분리된다.
또한, 대상 리소스의 연결 이름을 얻기 위해, 'name' 속성 대신에 'dom.connectinterface(id='Controller2wlan_resource').providesidentifier.value'를 통해 'providesidentifier' 요소(535)의 값인 String: 'wlan_resource'를 참조할 수 있다.
도 6 은 본 발명에 따른 DOM 트리 인터페이스 구조를 나타내는 일예시도이다.
도 6에 도시된 바와 같이, 본 발명에 따른 DOM 트리 인터페이스 구조는, DOM 트리 목록(61), 포인터(62), 및 참조 카운트(63)를 포함한다.
여기서, DOM 트리 목록(61)은 빠른 접근을 위해 인덱스 구조로 구성되며, 각 항목은 실제 DOM 트리를 지칭하는 포인터(62)와 실제 DOM 트리를 참조하고 있는 참조 카운트(63)를 포함한다.
이때, 참조 카운트(63)는 DOM 트리 목록(61)에 등록되는 시점에 1로 초기화되며, 대상 트리에 대한 참조 횟수를 가진다. 이는 해당 DOM 트리의 제거시에 실제 제거 시점을 결정하는데 활용된다. 이를 바탕으로, DOM 인터페이스(323)는 파싱을 통한 DOM 트리의 생성 연산자, 프레임워크(15) 내 단위 컴포넌트에서 DOM 트리의 해제/유지 지정을 위한 연산자, 요구된 도메인 프로파일에 대한 DOM 트리 존재 여 부 확인 연산자, DOM 트리 내 반복 사용되는 부분만을 가상의 새로운 DOM 트리로 가게하는 분할 연산자, DOM 트리 내 더 이상 필요하지 않은 부분 트리의 제거 연산자를 포함한다.
도 7 은 본 발명에 따른 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치의 일실시예 구성도이다.
도 7에 도시된 바와 같이, 본 발명에 따른 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치는, 프레임워크(15)로부터의 DOM 트리 생성 요청에 따라 함께 전달받은 도메인 프로파일 이름을 XML 파서(72)로 전달하고, 상기 도메인 프로파일에 대한 DOM 트리 내의 정보 요구에 따라 그에 상응하는 질의문을 생성하여 상기 DOM 트리에서 해당 정보를 직접 추출한 후 상기 프레임워크(15)로 제공하기 위한 개방형 프로파일 인터페이스 처리부(71), 및 상기 개방형 프로파일 인터페이스 처리부(71)로부터 도메인 프로파일 이름을 전달받음에 따라 해당 도메인 프로파일의 DOM 트리를 생성하기 위한 XML 파서(72)를 포함한다.
여기서, 상기 개방형 프로파일 인터페이스 처리부(71)는, 프레임워크(15)로부터 전달받은 도메인 프로파일 이름을 이용하여 DOM 인터페이스 처리기(712)를 호출하고, 상기 도메인 프로파일에 대한 DOM 트리 내의 정보 요구를 DOM 인터페이스 처리기(712)로 전달하며, 스크래핑 인터페이스 처리기(713)에서 추출한 정보를 상기 프레임워크(15)로 전달하기 위한 파서 인터페이스 처리기(711), 상기 파서 인터페이스 처리기(711)로부터 전달받은 도메인 프로파일 이름을 XML 파서(72)로 전달하고, 상기 도메인 프로파일에 대한 DOM 트리 내의 정보 요구에 따라 그에 상응하 는 질의문을 생성하여 스크래핑 인터페이스 처리기(713)로 전달하기 위한 상기 DOM 인터페이스 처리기(712), 및 상기 DOM 인터페이스 처리기(712)로부터 전달받은 질의문을 이용하여 상기 DOM 트리에서 해당 정보를 직접 추출하기 위한 상기 스크래핑 인터페이스 처리기(713)를 포함한다.
이때, 파서 인터페이스 처리기(711)는 프레임워크로부터의 DOM 트리 제거 요청을 DOM 인터페이스 처리기(712)로 전달한다.
또한, 파서 인터페이스 처리기(711)는 스크래핑 인터페이스 처리기(713)에서 추출한 정보를 프레임워크(15)에 상응하는 데이터 형식으로 변환하여 전달할 수도 있다.
또한, 파서 인터페이스 처리기(711)는 부가적으로 DOM 트리가 복사, 2중 참조 등이 되어 있는지 판단하고, 이들에 대한 관리 명령을 DOM 인터페이스 처리기(712)로 전달할 수도 있다.
또한, 파서 인터페이스 처리기(711)는 DOM 인터페이스 처리기(712)에서 DOM 트리의 생성이 완료됨에 따라 이를 프레임워크(15)로 알려줄 수도 있다.
또한, DOM 인터페이스 처리기(712)는 파서 인터페이스 처리기(711)로부터의 DOM 트리 제거 요청에 따라 해당 DOM 트리를 전체 혹은 일부 제거한다.
또한, DOM 인터페이스 처리기(712)는 프레임워크(15)로부터의 요구 정보가 DOM 트리 내에 다수 존재한다면 이를 모두 추출하기 위한 각각의 질의문을 생성하여 스크래핑 인터페이스 처리기(713)로 전달한다. 그러면, 파서 인터페이스 처리기(711)는 스크래핑 인터페이스 처리기(713)에서 추출한 해당 정보들을 취합하여 프레임워크(15)로 전달한다.
도 8 은 본 발명에 따른 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 방법에 대한 일실시예 흐름도이다.
먼저, 사용자는 프레임워크(15)로부터의 요구에 대한 응답을 수행하기 위해 도메인 프로파일 파싱 장치를 초기화한다.
이후, 프레임워크(15)로부터의 DOM 트리 생성 요청에 따라 함께 전달받은 도메인 프로파일 이름을 XML 파서(72)로 전달한다(801). 그러면, XML 파서(72)는 전달받은 도메인 프로파일에 대한 DOM 트리를 생성한다(802).
이후, 상기 도메인 프로파일에 대한 DOM 트리 내의 정보 요구에 따라 그에 상응하는 질의문을 생성한다(803). 이에 대한 질의문의 예는 도 5에 도시된, "51", "52", 및 "53"과 같다.
이후, 상기 DOM 트리에서 해당 정보를 직접 추출한 후 상기 프레임워크(15)로 제공한다(804).
여기서, 상기 "804" 과정에 대해 좀 더 상세히 설명하면, 스크래핑 인터페이스 처리기(713)는 DOM 인터페이스 처리기(712)로부터 전달받은 질의문의 질의 경로에서 노드명을 추출한다.
이후, DOM 트리로부터 노드명과 동일한 요소를 추출한 후 해당 요소의 값 혹은 속성값을 추출한다. 이때, 질의문에 연산자를 사용한 조건식(선택 연산자, 한정 연산자, 참조 연산자)이 존재하면 상기 조건식에 따른 결과를 추출한다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은, 통신 소프트웨어 구조를 기반으로 한 이동단말기에서 하드웨어 디바이스와 소프트웨어 컴포넌트 정보를 일련의 파일로 기술한 시스템 도메인 프로파일을 파싱함에 있어, DOM(Document Object Model) 트리에 포함되어 있는 모든 정보를 저장하는 추가 저장구조의 생성을 배제하고, 자기기술적(self-describe) 특성을 갖는 도메인 프로파일 내의 정보에 직접 접근을 위한 경로, 선택, 한정, 참조 기능을 포함하는 고급 XML 파싱 인터페이스 및 이를 통해 생성한 DOM 트리에 대한 유지, 제거, 공유 등의 관리 기능을 제공함으로써, 잦은 중복 파싱 및 하드 코딩 과정 그리고 추가 저장구조 없이, 파싱 시간의 효율성을 제공할 수 있는 효과가 있다.
또한, 본 발명은 SCA용 도메인 프로파일을 파싱함에 있어, 저 수준의 DOM API를 사용하지 않고 도메인 프로파일의 파싱에 맞게 적응된 한정 연산, 조건 연산, 참조 연산을 포함하는 고급 인터페이스를 사용할 수 있는 체계를 제공함으로써, 파싱에 부가되는 코드의 크기를 최소화할 수 있는 효과가 있다.
또한, 본 발명은 SCA 구조에서 프로파일의 파싱 결과를 유지/관리하고, 부분적인 DOM 트리의 재구성 인터페이스를 통해, 프로파일에 대한 반복적인 파싱 방지 및 메모리 효율과 처리 성능 향상을 위한 융통성 있는 도메인 프로파일 관리 체계를 제공할 수 있는 효과가 있다.
또한, 본 발명은 프레임워크와 파서의 잦은 연동을 최소화할 수 있는 방안으로, 도메인 프로파일 관점의 순서화된 혹은 구조화된 자료구조의 생성을 위한 체계를 함께 제공할 수 있는 효과가 있다.

Claims (11)

  1. 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치에 있어서,
    프레임워크로부터의 도메인 프로파일 이름을 파싱수단으로 전달하고, 상기 프레임워크로부터의 데이터 요청에 따라 해당 데이터의 추출을 위한 질의문을 생성한 후 문서객체모델(이하, DOM) 트리에서 해당 데이터를 직접 추출하여 상기 프레임워크로 제공하기 위한 인터페이스 처리수단; 및
    상기 인터페이스 처리 수단으로부터 도메인 프로파일 이름을 전달받음에 따라 해당 도메인 프로파일의 DOM 트리를 생성하기 위한 상기 파싱수단
    을 포함하는 도메인 프로파일 파싱 장치.
  2. 제 1 항에 있어서,
    상기 인터페이스 처리 수단은,
    상기 프레임워크로부터의 도메인 프로파일 이름을 DOM 인터페이스 처리기로 전달하고, 상기 프레임워크로부터의 데이터 요청을 상기 DOM 인터페이스 처리기로 전달하며, 스크래핑 인터페이스 처리기에서 추출한 데이터를 상기 프레임워크로 전달하기 위한 파서 인터페이스 처리기;
    상기 파서 인터페이스 처리기로부터의 도메인 프로파일 이름을 상기 파싱수단으로 전달하고, 상기 파서 인터페이스 처리기로부터 전달받은 데이터 요청에 따라 해당 데이터 추출을 위한 질의문을 생성하여 상기 스크래핑 인터페이스 처리기로 전달하기 위한 상기 DOM 인터페이스 처리기; 및
    상기 DOM 인터페이스 처리기로부터 전달받은 질의문을 이용하여 상기 DOM 트리에서 해당 데이터를 직접 추출하기 위한 상기 스크래핑 인터페이스 처리기
    를 포함하는 도메인 프로파일 파싱 장치.
  3. 제 2 항에 있어서,
    상기 DOM 인터페이스 처리기는,
    상기 프레임워크로부터의 요청 데이터가 상기 DOM 트리 내에 다수 존재하는 경우, 이를 모두 추출하기 위한 각각의 질의문을 생성하여 상기 스크래핑 인터페이스 처리기로 전달하는 것을 특징으로 하는 도메인 프로파일 파싱 장치.
  4. 제 2 항에 있어서,
    상기 DOM 인터페이스 처리기는,
    상기 파서 인터페이스 처리기를 통해 전달받은 프레임워크로부터의 DOM 트리 분할/제거 요청에 따라 해당 DOM 트리를 분할/제거하는 기능을 더 수행하는 것을 특징으로 하는 도메인 프로파일 파싱 장치.
  5. 제 2 항에 있어서,
    상기 스크래핑 인터페이스 처리기는,
    상기 DOM 인터페이스 처리기로부터 전달받은 질의문의 질의 경로에서 노드명을 추출한 후 상기 노드명과 동일한 요소를 DOM 트리로부터 추출하여 해당 요소의 값 혹은 속성값을 반환하는 것을 특징으로 하는 도메인 프로파일 파싱 장치.
  6. 제 2 항에 있어서,
    상기 스크래핑 인터페이스 처리기는,
    상기 질의문에 연산자를 사용한 조건식(선택 연산자, 한정 연산자, 참조 연산자)이 존재하면 상기 조건식에 따른 결과를 추출하는 것을 특징으로 하는 도메인 프로파일 파싱 장치.
  7. 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 방법에 있어서,
    개방형 프로파일 인터페이스가 프레임워크로부터의 도메인 프로파일 이름을 파서로 전달하는 단계;
    상기 파서가 전달받은 도메인 프로파일에 대한 문서객체모델(이하, DOM라 함) 트리를 생성하는 단계;
    상기 프레임워크로부터의 데이터 요청에 따라 상기 개방형 프로파일 인터페이스가 해당 데이터를 추출하기 위한 질의문을 생성하는 질의문 생성 단계; 및
    상기 개방형 프로파일 인터페이스가 생성한 질의문을 이용하여 상기 DOM 트리에서 해당 데이터를 직접 추출하여 상기 프레임워크로 제공하는 단계
    를 포함하는 도메인 프로파일 파싱 방법.
  8. 제 7 항에 있어서,
    상기 질의문 생성 단계는,
    상기 프레임워크로부터의 요청 데이터가 상기 DOM 트리 내에 다수 존재하는 경우, 이를 모두 추출하기 위한 각각의 질의문을 생성하는 것을 특징으로 하는 도메인 프로파일 파싱 방법.
  9. 제 7 항에 있어서,
    상기 DOM 트리에서 해당 데이터를 직접 추출하는 과정은,
    상기 질의문의 질의 경로에서 노드명을 추출한 후 상기 노드명과 동일한 요소를 DOM 트리로부터 추출하여 해당 요소의 값 혹은 속성값을 반환하는 것을 특징으로 하는 도메인 프로파일 파싱 방법.
  10. 제 7 항에 있어서,
    상기 DOM 트리에서 해당 데이터를 직접 추출하는 과정은,
    상기 질의문에 연산자를 사용한 조건식(선택 연산자, 한정 연산자, 참조 연산자)이 존재하는 경우 상기 조건식에 맞는 결과를 추출하는 것을 특징으로 하는 도메인 프로파일 파싱 방법.
  11. 제 7 항에 있어서,
    상기 프레임워크로부터의 DOM 트리 제거 요청에 따라 해당 DOM 트리를 제거하는 단계
    를 더 포함하는 도메인 프로파일 파싱 방법.
KR1020060112168A 2006-11-14 2006-11-14 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법 KR100845234B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020060112168A KR100845234B1 (ko) 2006-11-14 2006-11-14 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법
PCT/KR2007/005398 WO2008060050A1 (en) 2006-11-14 2007-10-30 Apparatus and method for parsing domain profile in software communication architecture
US12/514,694 US20100070524A1 (en) 2006-11-14 2007-10-30 Apparatus and method for parsing domain profile in software communication architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060112168A KR100845234B1 (ko) 2006-11-14 2006-11-14 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법

Publications (2)

Publication Number Publication Date
KR20080043517A KR20080043517A (ko) 2008-05-19
KR100845234B1 true KR100845234B1 (ko) 2008-07-09

Family

ID=39401830

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060112168A KR100845234B1 (ko) 2006-11-14 2006-11-14 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법

Country Status (3)

Country Link
US (1) US20100070524A1 (ko)
KR (1) KR100845234B1 (ko)
WO (1) WO2008060050A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509189A (zh) * 2018-04-13 2018-09-07 南京新贝金服科技有限公司 一种基于dom的h5时间选择器的组件统一实现方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100903999B1 (ko) * 2007-11-30 2009-06-22 한국전자통신연구원 Sdr 단말용 코아 프레임워크에서 데이터베이스를 이용한도메인 프로파일의 운용 시스템 및 방법
EP2148276A1 (en) * 2008-07-22 2010-01-27 Gemalto SA Mark-up language engine
US8291392B2 (en) * 2008-09-30 2012-10-16 Intel Corporation Dynamic specialization of XML parsing
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
CN102646039A (zh) * 2012-02-29 2012-08-22 河海大学 基于XML Schema的软件界面生成系统及方法
CN103049276A (zh) * 2013-01-17 2013-04-17 力合科技(湖南)股份有限公司 一种流程编写系统
US9195447B2 (en) 2014-03-10 2015-11-24 Raytheon Company Optimized SCA descriptors with run-time deployment additions
CN112182310B (zh) * 2020-11-04 2023-11-17 上海德拓信息技术股份有限公司 一种内置实时搜索的通用树形组件实现方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030114163A1 (en) * 2001-07-27 2003-06-19 Bickle Gerald L. Executable radio software system and method
KR20050066280A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법
KR100530587B1 (ko) * 2003-12-26 2005-11-22 한국전자통신연구원 에스씨에이 기반 시스템의 인터-도메인 지원 장치 및 그방법
KR100545633B1 (ko) * 2003-11-27 2006-01-24 한국전자통신연구원 에스시에이 기반 시스템에서의 소프트웨어 패키지 디스크립터 파일을 위한 저장 매체 및 그의 파일 파싱 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915304B2 (en) * 2000-05-23 2005-07-05 Kenneth A. Krupa System and method for converting an XML data structure into a relational database
US6542911B2 (en) * 2001-03-01 2003-04-01 Sun Microsystems, Inc. Method and apparatus for freeing memory from an extensible markup language document object model tree active in an application cache
US6785685B2 (en) * 2001-08-22 2004-08-31 International Business Machines Corporation Approach for transforming XML document to and from data objects in an object oriented framework for content management applications
US7171407B2 (en) * 2002-10-03 2007-01-30 International Business Machines Corporation Method for streaming XPath processing with forward and backward axes
KR100493882B1 (ko) * 2002-10-23 2005-06-10 삼성전자주식회사 Xml 데이터 검색을 위한 질의 처리 방법
JP3832830B2 (ja) * 2003-04-25 2006-10-11 インターナショナル・ビジネス・マシーンズ・コーポレーション XPath評価方法、これを用いたXPath評価装置及び情報処理装置
KR100554521B1 (ko) * 2003-12-26 2006-03-03 한국전자통신연구원 에스시에이 기반 시스템의 디스크립터 파일을 저장한 기록 매체 및 그의 파일 파싱 방법
US8918710B2 (en) * 2004-10-05 2014-12-23 Oracle International Corporation Reducing programming complexity in applications interfacing with parsers for data elements represented according to a markup language

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030114163A1 (en) * 2001-07-27 2003-06-19 Bickle Gerald L. Executable radio software system and method
KR100545633B1 (ko) * 2003-11-27 2006-01-24 한국전자통신연구원 에스시에이 기반 시스템에서의 소프트웨어 패키지 디스크립터 파일을 위한 저장 매체 및 그의 파일 파싱 방법
KR20050066280A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법
KR100530587B1 (ko) * 2003-12-26 2005-11-22 한국전자통신연구원 에스씨에이 기반 시스템의 인터-도메인 지원 장치 및 그방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509189A (zh) * 2018-04-13 2018-09-07 南京新贝金服科技有限公司 一种基于dom的h5时间选择器的组件统一实现方法

Also Published As

Publication number Publication date
KR20080043517A (ko) 2008-05-19
US20100070524A1 (en) 2010-03-18
WO2008060050A1 (en) 2008-05-22

Similar Documents

Publication Publication Date Title
KR100845234B1 (ko) 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법
US10440138B2 (en) Provisioning IaaS services
US6173313B1 (en) Methodology for hosting distributed objects at a predetermined node in a distributed system
JP4509916B2 (ja) Snmp基盤のネットワーク管理装置および方法
US7752598B2 (en) Generating executable objects implementing methods for an information model
JPH08263292A (ja) オブジェクト指向プログラミング・インターフェース及びマップする方法
US11595299B2 (en) System and method of suppressing inbound payload to an integration flow of an orchestration based application integration
CN108388622A (zh) Api接口动态生成方法、装置、计算机设备及存储介质
US10747638B2 (en) Computing memory health metrics
EP3462330A1 (en) Fault tolerant adapter system to consume database as a service
CN112698921A (zh) 一种逻辑代码运行方法、装置、计算机设备和存储介质
US8239862B2 (en) Apparatus, method, and computer program product for processing information
KR102443171B1 (ko) 이기종 컴퓨팅 환경에서 데이터 타입 변환을 지원하기 위한 시스템 및 방법
US20090327995A1 (en) Annotation-aided code generation in library-based replay
US7734640B2 (en) Resource discovery and enumeration in meta-data driven instrumentation
US7209248B1 (en) Managing the lifetime of distributed resource data using temporal scopes
TW200834419A (en) Method and apparatus for administering a process filesystem with respect to program code conversion
US7562084B2 (en) System and method for mapping between instrumentation and information model
US11169728B2 (en) Replication configuration for multiple heterogeneous data stores
US20170031660A1 (en) Methods for utilizing powershell modules in .net applications and devices thereof
CN116055569B (zh) 自定义切换时区的方法、系统、计算机设备和存储介质
US20080184264A1 (en) Method, Apparatus and Media for Information Model Data Retrieval
WO2024012101A1 (zh) 分布式服务生成方法、系统、计算设备及存储介质
US20070299846A1 (en) System and method for meta-data driven instrumentation
KR100921152B1 (ko) 에이전트 플랫폼.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee