KR100918114B1 - 이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성보장 방법 - Google Patents

이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성보장 방법 Download PDF

Info

Publication number
KR100918114B1
KR100918114B1 KR1020070104481A KR20070104481A KR100918114B1 KR 100918114 B1 KR100918114 B1 KR 100918114B1 KR 1020070104481 A KR1020070104481 A KR 1020070104481A KR 20070104481 A KR20070104481 A KR 20070104481A KR 100918114 B1 KR100918114 B1 KR 100918114B1
Authority
KR
South Korea
Prior art keywords
hardware
data
logic
hardware logic
request message
Prior art date
Application number
KR1020070104481A
Other languages
English (en)
Other versions
KR20090039069A (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 KR1020070104481A priority Critical patent/KR100918114B1/ko
Priority to US12/738,165 priority patent/US20100229183A1/en
Priority to PCT/KR2008/004885 priority patent/WO2009051340A1/en
Publication of KR20090039069A publication Critical patent/KR20090039069A/ko
Application granted granted Critical
Publication of KR100918114B1 publication Critical patent/KR100918114B1/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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
    • 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/465Distributed object oriented systems
    • 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/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits

Abstract

본 발명은 이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성 보장 방법에 관한 것으로, 본 발명은 개발자가 작성하는 하드웨어 컴포넌트와 소프트웨어(혹은 다른 하드웨어) 컴포넌트로 연동하기 위한 하드웨어 미들웨어로 구성된다. 따라서, 본 발명의 실시 예에서는 하드웨어 컴포넌트에서 하드웨어 의존적인 부분들이 설정 파라미터를 통해 하드웨어 미들웨어에 제공되며, 이에 따라 하드웨어 미들웨어는 해당 하드웨어 컴포넌트와 연동될 수 있다.
하드웨어 미들웨어는 프레임워크의 기본 통신 체계에서 사용되는 GIOP(General Inter-ORB Protocol) 전달 체계에 따라 요구 메시지를 수신하고, 요구 메시지를 해석하여 해당 하드웨어 컴포넌트로 데이터를 변환 전달한다. 요구 메시지가 전달된 하드웨어 컴포넌트(하드웨어 로직)은 데이터를 사용해 고유의 역할을 수행하며, 그 결과는 다시 하드웨어 미들웨어에 의해 응답 메시지로 구성되어 소프트웨어 컴포넌트로 전달된다.
컴포넌트, 미들웨어, 상호 운용성, 객체 요구 브로커(ORB), 로직

Description

이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성 보장 방법{A framework apparatus of mobile and method for providing interoperability between component}
본 발명은 이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성 보장 방법에 관한 것이다. 특히 본 발명은 이동단말기의 프레임워크에서 하드웨어 컴포넌트와 소프트웨어 컴포넌트간의 상호 운용성을 보장할 수 있는 이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성 보장 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-S-404-33, 과제명: 3G Evolution 단말 기술 개발].
이동단말기 프레임워크인 소프트웨어 통신 구조(SCA, Software Communication Architecture)는 JTRS(Joint Tactical Radio System), JPEO(Joint Program Executive Office)에서 제안되었으며, 소프트웨어의 이식성을 제공하고 소프트웨어의 재구성 능력을 보장할 수 있는 통신을 위한 소프트웨어 구조이다. 소프트웨어 통신 구조(SCA)는 분산 객체 모델의 산업표준인 코바(CORBA, Common Object Request Broker Architecture)를 기반으로 하고 있다. 코바(CORBA)는 컴포넌트 개발과정에서 통신체계, 개발언어, 운영체제에 대한 독립성을 보장하는 미들웨어이다.
현재, 범용 프로세서(GPP, General Purpose Processor)가 비약적인 발전을 이루고 있으나, 이동단말기내 많은 컴포넌트들이 FPGA(Field Programmable Gate Array)나 CPLD(Complex Programmable Logic Device)와 같은 FPD(Field Programmable Devices)에서 구현되고 있다. FPD는 실시간 처기가 가능하며, 다수의 복잡한 알고리즘들을 병행해서 실행할 수 있다. 그러나, 소프트웨어 통신 구조(SCA)와 같은 이동단말기 프레임워크에서 하드웨어 컴포넌트는 개별 벤더(vender)용 칩(chip) 또는 보드(board)에 의존적으로 구현되어, 범용 프로세서(GPP)의 소프트웨어 컴포넌트가 FPD의 하드웨어 컴포넌트들과 개별적, 직접적으로 연동하기가 어렵다. 이는 이동단말기의 하드웨어 환경이 다양하게 구성되고, 이에 따라 하드웨어 컴포넌트와 연동 방법이 모두 상이하기 때문이다. 따라서, 이동단말기에서 상호 운용성이 가능하지 않으며 재사용율도 크게 떨어진다.
본 발명이 해결하고자 하는 기술적 과제는 컴포넌트간의 상호 운용성을 보장할 수 있는 이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성 보장 방법을 제공하는 것이다.
본 발명의 실시 예에 의하면, 소프트웨어 컴포넌트, 객체 요구 브로커, 복수의 하드웨어 컴포넌트, 하드웨어 미들웨어를 포함하는 이동단말기의 프레임워크 장치가 제공된다. 소프트웨어 컴포넌트는 어플리케이션을 구현한다. 객체 요구 브로커는 소프트웨어 컴포넌트에 논리적 통신 경로를 제공한다. 복수의 하드웨어 컴포넌트는 입력된 데이터를 수행하는 복수의 하드웨어 로직을 각각 포함한다. 하드웨어 미들웨어는 객체 요구 브로커와 표준 전달 체계를 지원하여 소프트웨어 컴포넌트로부터 요구 메시지를 수신하고, 복수의 하드웨어 컴포넌트의 복수의 하드웨어 로직 중에서 요구 메시지에 포함된 데이터를 수행할 제1 하드웨어 로직을 선택하고, 요구 메시지에 포함된 데이터를 제1 데이터로 변환하여 제1 하드웨어 로직으로 전달하고, 복수의 하드웨어 컴포넌트와 공통 버스 구조를 통해 연결된다.
본 발명의 다른 실시 예에 의하면, 복수의 하드웨어 로직을 각각 포함하는 복수의 하드웨어 컴포넌트와 소프트웨어 컴포넌트를 포함하는 이동단말기의 프레임워크 장치에서 컴포넌트의 상호 운용성을 보장하는 방법이 제공된다. 이 방법은, 소프트웨어 컴포넌트로부터 객체식별자와 연산이름을 포함하는 요구 메시지를 수신 하는 단계, 복수의 하드웨어 컴포넌트 중 상기 객체식별자에 대응하는 하드웨어 컴포넌트를 선택하는 단계, 선택한 하드웨어 컴포넌트의 복수의 하드웨어 로직 중 연산이름에 대응하는 제1 하드웨어 로직을 선택하는 단계, 데이터를 제1 데이터로 변환하여 상기 복수의 하드웨어 컴포넌트와 연결되는 공통 버스 구조를 통해 제1 하드웨어 로직으로 전달하는 단계, 제1 하드웨어 로직에 제1 데이터를 수행시키는 단계를 포함한다.
본 발명의 실시 예에서는 하드웨어 컴포넌트의 하드웨어 의존적인 부분을 하드웨어 미들웨어로 구현함으로써, 컴포넌트의 위치에 무관하게 하드웨어 컴포넌트와 소프트웨어 컴포넌트간에 상호 운용성을 보장할 수 있고, 하드웨어 컴포넌트의 활용 목적인 실시간 처리, 서비스 품질 개선 효과를 증대시킬 수 있다. 또한, 하드웨어 의존적인 부분이 하드웨어 미들웨어를 통해 해소되므로, 하드웨어 컴포넌트의 재사용성이 증대된다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이제 본 발명의 실시예에 따른 이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성 보장 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 이동단말기의 프레임워크 장치를 개략적으로 나타내는 도면이다.
도 1에 나타낸 바와 같이, 이동단말기의 프레임워크(1000)는 복수의 범용 프로세서(GPP, General Purpose Processor)(100, 100-1), FPD(Field Programmable Devices)(200), 범용 프로세서(100, 100-1)와 FPD(200)를 연결하는 시스템 버스(300)를 포함한다.
범용 프로세서(100)에는 복수의 소프트웨어 컴포넌트(Software Component)가 존재하나, 아래에서는 설명의 편의상 복수의 소프트웨어 컴포넌트 중 클라이언트(110)와 서버(120)를 예로 들어서 설명한다. FPD(200)에는 복수의 하드웨어 컴포넌트(Hardware Component)가 존재하나, 아래에서는 설명의 편의상 2개의 하드웨어 컴포넌트(210, 210-1)에 대해서 설명한다. 하나의 하드웨어 컴포넌트(210)에는 복수의 하드웨어 로직(HL+DL, Hardware Logic + Developer Logic)이 존재하나, 아래 에서는 설명의 편의상 두 개의 하드웨어 로직(211, 212)에 대해서 설명한다.
범용 프로세서(100)는 클라이언트(110), 서버(120), 객체 요구 브로커(ORB, Object Request Broker)(130), 스터브(stub)(140) 및 스켈톤(skeleton)(150)를 포함한다.
클라이언트(110)는 전형적으로 서버(120)의 서비스를 사용해 어플리케이션을 구현하는 소프트웨어 컴포넌트이다. 서버(120)는 클라이언트(110)의 요구를 처리하는 일종의 서비스 구현에 해당하는 소프트웨어 컴포넌트이다.
객체 요구 브로커(130)는 동일 범용 프로세서(100)내 혹은 다른 범용프로세서(100-1)상에 존재하는 클라이언트(110)와 서버(120)들에게 논리적인 통신 경로인 소프트웨어 버스(131)를 제공한다. 단일 범용 프로세서(100)내에서 소프트웨어 버스(131)에 대한 물리적 통신 경로는 소켓이나 프로세스간 공유메모리 방식으로 구현된다. 다른 범용 프로세서(100, 100-1) 사이에서 소프트웨어 버스(131)에 대한 물리적 통신 경로는 프로세서간 전달체계(예, 이더넷(Ethernet 혹은 프로세서간 공유메모리 등)로 구현된다.
스터브(140) 및 스켈톤(150)은 소프트웨어 버스(131)를 통해 소프트웨어 컴포넌트(110, 120)간 연동에 필요한 인터페이스를 제공한다. 구체적으로, 바이트 순서(data endian), 주소 정렬(address align), 전달 메시지 작성/해석 등의 역할을 포함한다.
FPD(200)는 하드웨어 컴포넌트(210, 210-1), 하드웨어 미들웨어(Hardware-based Middleware)(220), 공통 버스 구조(230), 로컬 버스 구조(240)를 포함한다.
하드웨어 컴포넌트(210)는 FPD(200) 상에서 수행되어야 할 알고리즘을 구현한 하드웨어 로직(HL+DL)(211, 212)들의 모임이다. 하드웨어 로직(211, 212)은 이동단말기에서 실시간 처리, 다양한 하드웨어 자원의 활용, 서비스 품질 개선을 위해 직접 사용되며, VHDL(VHSIC Hardware Description Language) 등과 같은 하드웨어 기술 언어(HDL, Hardware Description Language)로 코딩된다. 이때, 하드웨어 로직(211, 212)는 하드웨어 미들웨어(220)에 의해 식별되며 전달받은 메시지를 사용하여 역할을 수행한다. 이동단말기 프레임워크 관점에서 하드웨어 로직(211, 212)은 프레임워크에서 소프트웨어 컴포넌트의 연산을 구현한 것이다.
하드웨어 미들웨어(220)는 FPD(200)의 외부와 표준 코바(CORBA, Common Object Request Broker Architecture) 통신 프로토콜인 일반 상호 객체 요구 브로커 프로토콜(GIOP, General Inter-ORB Protocol)을 통해 메시지를 송수신한다. 이때, 하드웨어 미들웨어(220)는 수신된 GIOP_요구 메시지(GIOP_request message)를 해석하여 요구를 실제 수행할 하드웨어 컴포넌트(210, 210-1)를 식별한다. 그리고, 필요에 따라 수신된 GIOP_요구 메시지에 포함된 파라미터 데이터를 변환하여 하드웨어 컴포넌트(210, 210-1)로 전달한다.
이러한, 하드웨어 미들웨어(220)는 설정 파라미터에 따라 재구성이 가능한 것으로, 도 2에 도시된 바와 같이 개발된다.
도 2는 본 발명의 실시 예에 따른 하드웨어 미들웨어의 개발 순서도이다.
소프트웨어 개발자 및 하드웨어 개발자는 소프트웨어 컴포넌트(110, 120)가 범용 프로세서(100) 또는 FPD(200) 중 어디에 존재하는지에 관계없이 요청과 응답 관점으로 인터페이스를 정의한다(S1). 인터페이스 정의는 표준인 인터페이스 정의 언어(IDL, Interface Definition Language)를 사용한다. 소프트웨어 개발자 및 하드웨어 개발자는 별도의 인터페이스 분석기(도시하지 않음)를 통해 인터페이스 정의 언어(IDL)를 분석한다(S2). 그리고 인터페이스 분석기에서는 컴포넌트 중 하드웨어에 의존적인 파라미터와 하드웨어 미들웨어(220)에서 개별 하드웨어 컴포넌트(210)의 하드웨어 로직(211)과 연동하기 위한 파라미터가 추출된다(S3). 이후, 인터페이스 분석기에서 추출된 파라미터(설정 파라미터)에 따라 하드웨어 미들웨어를 재구성한다(S4).
공통 버스 구조(230)는 하드웨어 미들웨어(220)와 하드웨어 컴포넌트(210, 210-1)를 연결한다. 로컬 버스 구조(240)는 하드웨어 컴포넌트(210, 210-1)내 개별 하드웨어 로직(211, 212)를 연결하며, 공통 버스 구조(230)를 기본적으로 포함한다. 하드웨어 컴포넌트(210)에서 다른 하드웨어 로직과 공유할 데이터가 있을 경우, 이 데이터를 공통 버스 구조(230)에 추가 확장한다. 그러면, 로컬 버스 구조(240)는 개별 하드웨어 로직(211, 212) 자체의 고유한 로컬 버스 구조(240)로 재정의된다. 하드웨어 로직(211, 212)을 개발하는 개발자는 하드웨어 로직(211, 212)이 수행해야할 문맥에 따라 확장 범위를 직접 결정한다.
하드웨어 로직(211, 212)은 실제 서비스를 실행하기 위해서 다음 표 1과 같이 인터페이스 정의 언어(IDL)을 초고속 집적회로 하드웨어 기술 언어(VHDL)로 변환한다.
IDL VHDL
Interface Attributer Operation Entity(A) Register 또는 Entity(A의 sub entity) Entity(A의 sub entity)
하드웨어 미들웨어(220) 개발과정에서 정의된 인터페이스 정의에서 'Interface'는 VHDL의 'entity'로 변환되며 하드웨어 컴포넌트(210)에 포함된다. 'operation'은 하위 'entity'로 변환되며, 반환값의 유무와 파라미터의 입출력 형태(in, out, inout)에 따라 한 개 혹은 두 개의 하위 'entity'로 변환되며, 이들은 각각 하드웨어 로직(211, 212)에 포함된다. 'attribut'는 'entity' 내의 레지스터 혹은 독립된 메모리 블록을 제어하는 하위 'entity'로 변환된다. 변환된 하드웨어 기술 언어들은 하드웨어 기술 언어를 합성하는 도구에 의해 컴파일, 합성되어 FPD(200)에 다운로드된다.
도 3은 본 발명의 실시 예에 따른 하드웨어 미들웨어(220)의 개략적인 구성도이다.
하드웨어 미들웨어(220)는 시스템 버스(300)를 통해 입력된 클라이언트(110)의 요구 메시지(GIOP_request massage)에 따라 메시지를 수행할 하드웨어 로직(211, 212)만을 인가(enable)하고, 응답하기 위한 제반 과정을 제어한다. 하드웨어 미들웨어(220)는 외부 객체 요구 브로커(130)로부터 GIOP 전달 체계를 통해 요구 메시지를 수신한다. 수신된 요구 메시지는 시스템 버스(300)를 통해 전달되므로, 모든 요구 메시지는 외부 저장 장소(통상적으로 범용 프로세서와 공유하는 RAM)에 버퍼링된다. 하드웨어 미들웨어(220)는 외부 저장 장소로부터 선입선출(FIFO, First In First Out) 규칙에 따라 요구 메시지를 추출한다. 이때, 시스템 버스(300)의 크기, 주소 할당, 외부저장 장소 정보, 필요한 하드웨어 미들웨어 개수 등의 파라미터들이 하드웨어 미들웨어(220)에 제공된다. 하드웨어 컴포넌트는 이들 파라미터에 환경 변경에 의존하지 않는다.
하드웨어 미들웨어(220)로 입력되는 요구 메시지의 구성은 표 2와 같다.
Message header Message body
메시지 정보 응답 여부 길이 요구식별자 객체식별자 연산이름 데이터들
표 2에서, 요구 메시지내 '객체식별자'는 하드웨어 컴포넌트(210)를 구분하기 위해 사용하며, '연산 이름(표 1에서는 'operation'의 이름)'은 하드웨어 컴포넌트(210) 내의 특정 하드웨어 로직(211, 212)을 지칭하는데 사용한다. '데이터들'은 하드웨어 로직(211, 212)이 수행되기 위해 필요한 데이터들이다(표 1에서 'operation'이 사용할 파라미터들). '요구식별자'는 하드웨어 미들웨어(220)가 요구 메시지에 대한 응답으로 결과를 전송할 때 응답 메시지를 구분하기 위해 사용한다. '응답 여부'는 요구 메시지에 대해 응답을 요구하는지 요구하지 않는지 여부를 나타내는데 사용한다.
상호운용 객체 레퍼런스(IOR, Interoperable Object Reference)은 연결 가능한 모든 소프트웨어 컴포넌트(110, 120)들을 유일하게 구분할 수 있는 식별자이다. 클라이언트(110)는 요청할 서버(120)의 상호운용 객체 레퍼런스(IOR)로부터 '객체식별자'를 얻는다. 그러나, FPD(200)에서 하드웨어 미들웨어(220)가 하드웨어 컴포넌트(210, 210-1)의 생성여부/개수를 파악할 수 있으므로, 하드웨어 미들웨어(220)와 하드웨어 컴포넌트(210, 210-1)간의 객체식별자는 아래 표 3와 같이 구성된다.
객체식별자 영역
인터페이스 식별자 인스턴스 식별자
'인터페이스 식별자'는 FPD(200)에 활성화된 전체 하드웨어 컴포넌트(210, 210-1)개수를 범위로 갖는 비트열(bit sequence)로 구성되며, '인스턴스 식별자'는 하드웨어 컴포넌트(210, 210-1) 중 최대 중복 개수를 범위로 갖는 비트열(bit sequence)로 구성된다. 이렇게 최소화된 객체식별자의 크기와 생성 규칙은 하드웨어 미들웨어(220)에 파라미터로 제공된다. 예를 들어, 인터페이스 정의에서 8개의 'interface' 각각 2개의 중복 생성이 허용된다면, 표 3의 객체식별자는 5 비트 크기로 설정된다. 이때, 'interface'에 중복 생성이 허용되지 않는다면, 표 3의 객체식별자는 4 비트 크기로 설정된다. 이와 같이, 하드웨어 미들웨어(220)는 하드웨어 컴포넌트(210, 210-1)의 개수에 따라 객체식별자를 구성함으로써, 하드웨어 컴포넌트(210, 210-1)와 하드웨어 미들웨어(220)를 연결하는 공통 버스 구조(230)를 최적화한다.
도 3에 나타낸 바와 같이, 하드웨어 미들웨어(220)는 메시지 해석부(221), 메시지 획득부(222), 로직 선택부(LS, Logic Selector)(223), 데이터 변환부(DC, Data Converter)(224), 메시지 생성부(225)를 포함한다.
메시지 해석부(221)는 외부에서 들어오는 요구 메시지를 표 2와 같이 판정한다. 이때, '데이터'들은 공동 데이터 표현(CDR, Common Data Representation)에 의해 바이트 정렬(endian), 주소 정렬(address align) 된다. 메시지 획득부(222)는 요구 메시지의 메시지 헤더(Message Header) 중 "길이"를 판단한 후 요구 메시지를 기설정된 길이 단위로 분할하여 획득한다.
로직 선택부(223)는 요구 메시지에 포함된 '객체식별자'에 따라 하드웨어 컴포넌트(210, 210-1)를 식별하고, 요구 메시지에 포함된 '연산이름'으로 실제 'operation' 기능을 구현하는 하드웨어 로직(211, 212)을 결정한다. 보다 구체적으로, 로직 선택부(223)는 '연산이름' 으로부터 수치화된 '연산 식별자' 생성하며, '연산 식별자'를 '객체식별자'와 통합하여 '인가 시그널'을 생성한다. 이때, 인가 시그널은 실제 대상 서비스를 구현하는 하드웨어 로직(211, 212)을 결정한다. 그리고 인가 시그널의 크기, 최대 연산이름의 크기 등의 파라미터는 인터페이스 분석기에 의해 생성되어 하드웨어 미들웨어(220)에 제공되어 최적화되도록 구성되었다.
설정 로직 식별기(21)는 복수의 하드웨어 로직(211, 212) 중에서 요구 메시지내 연산이름이 지칭한 해당 하드웨어 로직을 설정 로직으로 선택하고, 설정 로직으로 인가 시그널을 전달하여 설정 로직을 인가한다. 아래에서는 설명의 편의상 인가 시그널이 제1 하드웨어 로직(211)을 설정 로직으로 결정한다고 가정한다. 인가 시그널이 제1 하드웨어 로직(211)을 설정 로직으로 결정할 경우, 데이터 변환부(224)는 요구 메시지내 데이터들로부터 제1 하드웨어 로직(211)이 수행하는데 필요한 파라미터를 추출한다. 메시지 해석부(221)를 통해 정렬된 데이터에는 다수의 패딩 데이터가 포함되어 있어서, 패딩 데이터를 제거하는 작업이 필요하다. 따라서, 인가 시그널이 제1 하드웨어 로직(211)을 설정 로직으로 결정할 경우, 데이터 변환부(224)의 설정 데이터 변환기(23)는 메시지 해석부(221)에서 입력된 데이터를 최소 크기의 파라미터 데이터로 축소 변환한다. 이는 FPD(200)의 제한된 자원(bus, multiplexor)들에 대해 사용량을 최소화하기 위해 필요하다. 그리고, 축소 변환된 파라미터 데이터는 공통 버스 구조(230)를 통해 제1 하드웨어 로직(211)에 전송된다. 이때, 제1 하드웨어 로직(211)이 사용하는 공통 버스 구조를 통해 전달되는 데이터 또는 시그널은 표 4와 같다.
내용 크기
로직 인가 시그널 객체식별자+연산식별자(bit 단위)
축소된 파라미터 데이터 전체 파라미터의 크기 합(byte 단위)
표 4에서 '객체식별자'와 '연산식별자'는 비트단위의 크기이며, 모든 '로직 인가 시그널'에 대해 공통이다. '축소된 파라미터 데이터'는 전체 파라미터의 바이트 단위 크기의 합이며, 축소 과정은 설정 데이터 변환부(224)에 의해 수행된다. 이때, '축소된 파라미터 데이터'의 크기 등과 같은 파라미터는 인터페이스 분석기에 의해 파악되고 하드웨어 미들웨어(220)에 제공된다.
응답이 요구되는 요구 메시지가 입력될 경우, 추출 로직 식별기(22)는 복수의 하드웨어 로직(211, 212) 중에서 요구 메시지의 연산이름에 해당하는 하드웨어 로직을 추출 로직으로 선택하고, 추출 로직으로 인가 시그널을 전달하여 추출 로직을 인가한다. 아래에서는 설명의 편의상 인가 시그널이 제2 하드웨어 로직(212)을 추출 로직으로 결정한다고 가정한다. 인가 시그널이 제2 하드웨어 로직(21)을 추출 로직으로 결정할 경우, 데이터 변환부(224)에서는 추출 로직에서 준비한 데이터를 공통 버스 구조(230)를 통해 수신한다. 이때, 추출 로직이 사용하는 공통 버스 구조를 통해 전달되는 데이터 또는 시그널은 표 5와 같다.
내용 크기
로직 인가 시그널 객체식별자+연산식별자(bit 단위)
수신 허용 시그널 1bit
수신할 데이터 수신할 데이터의 크기 합(byte 단위)
표 5에서 '로직 인가 시그널'은 표 4와 동일하다. '수신 허용 시그널'은 추출 로직에서 데이터 송신이 준비된 경우 이를 알릴 때 사용하는 제어 시그널이다. 데이터 변환부(224)의 추출 데이터 변환기(24)는 '수신할 데이터'를 공동 데이터 표준(CDR)에 준한 데이터로 확장 변환한다. 추출 데이터 변환기(24)에서 확장 변환된 데이터는 메시지 생성부(225)로 전송된다. 이때, '수신할 데이터'의 전송에 사용될 공통 버스(230)의 크기 등과 같은 파라미터들은 인터페이스 분석기에 의해 하드웨어 미들웨어(220)에 제공된다.
메시지 생성부(225)는 데이터 변환부(224)로부터 입력된 데이터를 응답 메시지에 포함하여 GIOP 전달 체계에 적합한 응답 메시지를 생성한다. 이렇게 생성된 응답 메시지는 시스템 버스(300)를 통해 외부 객체 요구 브로커(130)에 전송된다. 이때, 표 2에 보인 '요구식별자'가 추가된다.
도 4는 공통 버스 구조(230)에 사용되는 로직 인가 시그널의 구조도이다.
FPD(200)는 구조적인 특성상 전원이 인가되면 모든 하드웨어 컴포넌트(210, 210-1) 및 하드웨어 로직(211, 212)이 동시에 활성화된다. 단, FPD(200)에서 하드웨어 미들웨어(220)의 로직 선택부(223)로부터 인가 시그널을 받은 하드웨어 로직(211, 212)만이 수행된다. 이때, 인가 시그널은 인터페이스 분석기에 의해 FPD(200)의 모든 하드웨어 로직(211, 212)에 대해 각각 고유한 인가 시그널 번호가 할당된다. 또한, 인터페이스 정의 언어(IDL)의 상속(inheritance)에 따라, 상속 계층(inheritance hierarchy)에 따른 하드웨어 로직(211, 212)은 오바라이딩(overriding)이 가능하다. 이를 위해, 하드웨어 로직(211, 212)의 인가 시그널(500)은 인터페이스 구분 영역(510), 인스턴스 구분 영역(520), 로직 구분영역(530)과 같은 세 개의 영역으로 구분하여 명시한다. 인터페이스 구분 영역(510)은 인터페이스 정의 언어(IDL)에서 인터페이스(511)를 구분하기 위해서 사용된다. 인스턴스 구분 영역(520)은 하드웨어 컴포넌트(210, 210-1)를 중복시켜 병행 처리할 때 각각을 구분하기 위해 사용된다. 로직 구분 영역(530)은 상속 계층 내에서 연산 이름(531)을 유일하게 식별한다. 이들은 인터페이스 분석기에 의해 하드웨어 미들웨어(220)에 제공된다. 인터페이스 S(511)와 인터페이스 T(611)는 상속관계가 있어, 인터페이스 S(511)는 인터페이스 T(611)의 상위 인터페이스이며, 이에 따라 인터페이스 T(611)는 인터페이스 S(511)의 특성을 수용할 수 있다. 도면에서, 인가 시그널(500)과 인가 시그널(600)은 동일한 연산이름을 지칭하고 있다(여기에서는 'o()'). 인가 시그널(500)과 인가 시그널(600)은 시그널 값은 다르지만, 상속 계층을 고려했을 때 동일 하드웨어 로직을 지칭하도록 하여야 한다. 이에 대한 인식 및 인가할 하드웨어 로직의 선택은 로직 선택부(223)에서 수행한다. 하드웨어 로직(211, 212)은 상속 관계내에서 오버라이딩되는 하드웨어 로직 이름에 하나의 유일한 로직 구분 식별자를 생성하여 하드웨어 미들웨어(220)에 파라미터로 제공한다.
도 5는 본 발명의 실시 예에 따른 하드웨어 컴포넌트의 구성도이다.
하드웨어 컴포넌트(210)는 복수의 하드웨어 로직(211, 212)과 레지스터 혹은 메모리(40)를 포함한다.
레지스터 혹은 메모리(40)는 하드웨어 컴포넌트(210)내에서 복수의 하드웨어 로직(211, 212)들이 'attribute'을 공유할 수 있도록 한다. 그리고, 필요 시 레지스터 혹은 메모리(40)를 사용하기 위한 탬플릿 로직도 함께 생성된다.
하드웨어 컴포넌트(210)는 'interface'에 선언한 'operation 들에 각각 대응되는 하드웨어 로직(211, 212)을 하위 부품으로 가진다(표 1에서 설명함). 공통 버스 구조(230)를 통해 수신한 '데이터들'(표 2에서 설명함)은 바이트 단위로 축소된 형태이다.
하드웨어 로직(211)은 전처리부(31), 데이터 처리부(32), 후처리부(33)를 포함한다.
전처리부(31)는 로컬 버스 구조(240)를 통해 입력된 바이트 단위의 '데이터'(표 2에서 설명함)을 데이터 처리부(32)에서 수행할 수 있는 시그널 데이터로 변환한다. 데이터 처리부(32)는 입력된 시그널 데이터와 함께 수행한다. 데이터 처리부(32)의 수행이 완료되면, 후처리부(33)는 시그널 데이터들을 공통 버스 구조(230)에 적합한 '데이터들'로 변환한다. 이때, 데이터 처리부(32)는 순수하게 하드웨어 개발자에 의해 작성되는 하드웨어 관점의 서비스 구현이다.
도 6a 및 도 6b는 표 1에서 설명한 속성(attribute)을 구체화하는 방식을 도시화한 것이다.
도 6a는 'attribute'의 크기가 크지 않고 구현을 단순화하고자 할 때 사용하는 방법이다. 이 경우의 'attribute'는 'interface'용 엔티티인 하드웨어 컴포넌트(210)내의 레지스터(41)로 변환된다. 하드웨어 컴포넌트(210)내의 레지스터(41)를 사용하는 'operation' 엔티티인 하드웨어 로직(211)은 로컬 버스(240-1)에 레지스터(41)를 추가로 확장하여 재정의된다.
도 6b는 'attribute'를 공유 메모리(42)로 표현하고 이에 대한 처리는 사용자 정의 하드웨어 로직(UDL, User-defined Developer Logic)(211-1)에 위치시키는 방법이다. 'attribute'를 공유하는 'operation' 엔티티인 하드웨어 로직(211)은 UDL(211-1)와 연결을 위한 사용자 정의 버스(240-2)를 추가로 갖는다. 도 6b와 같이 HC(210)에서 레지스터(41)가 존재하지 않을 경우, 하드웨어 로직(211)은 공통 버스 구조(230)에 직접 연결된다.
이와 같이, 본 발명은 개발자가 작성하는 하드웨어 컴포넌트와 소프트웨어(혹은 다른 하드웨어) 컴포넌트로 연동하기 위한 하드웨어 미들웨어로 구성된다. 따라서, 본 발명의 실시 예에서는 하드웨어 컴포넌트에서 하드웨어 의존적인 부분들이 설정 파라미터를 통해 하드웨어 미들웨어에 제공되며, 이에 따라 하드웨어 미들웨어는 해당 하드웨어 컴포넌트와 연동될 수 있다.
하드웨어 미들웨어는 프레임워크의 기본 통신 체계에서 사용되는 GIOP 전달 체계에 따라 요구 메시지를 수신하고, 요구 메시지를 해석하여 해당 하드웨어 컴포넌트로 데이터를 변환 전달한다. 요구 메시지가 전달된 하드웨어 컴포넌트(하드웨어 로직)은 데이터를 사용해 고유의 역할을 수행하며, 그 결과는 다시 하드웨어 미들웨어에 의해 응답 메시지로 구성되어 소프트웨어 컴포넌트로 전달된다. 본 발명의 실시 예에서는 하드웨어 컴포넌트가 가지는 하드웨어 및 이동단말기 프레임워크에 의존적인 부분들을 하드웨어 미들웨어로 구성함으로써, 하드웨어 컴포넌트 또는 이동단말기 프레임워크에 대한 의존성이 제거된다. 그 결과, 하드웨어 또는 이동단말기 프레임워크에 의존하지 않고 하드웨어 컴포넌트와 소프트웨어 컴포넌트간에 데이터 교환이 가능하고 통신 체계를 제공할 수 있다. 따라서, 하드웨어 컴포넌트와 소프트웨어 컴포넌트간에 상호 운용성이 보장된다. 또한, 이동단말기의 프레임워크에서 하드웨어에 의존적인 부분들이 하드웨어 미들웨어를 통해 해소되므로, 하드웨어 컴포넌트의 재사용성이 증대될 수 있다.
이상에서 설명한 본 발명의 실시 예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 본 발명의 실시 예에 따른 이동단말기의 프레임워크 장치를 개략적으로 나타내는 도면이다.
도 2는 본 발명의 실시 예에 따른 하드웨어 미들웨어의 개발 순서도이다.
도 3은 본 발명의 실시 예에 따른 하드웨어 미들웨어의 개략적인 구성도이다.
도 4는 본 발명의 실시 예에 따른 공통 버스 구조에 사용되는 로직 인가 시그널의 구조도이다.
도 5는 본 발명의 실시 예에 따른 하드웨어 컴포넌트의 구성도이다.
도 6a 및 도 6b는 표 1에 나타낸 속성(attribute)을 구체화하는 방식을 도시화한 것이다.

Claims (16)

  1. 어플리케이션을 구현하는 소프트웨어 컴포넌트,
    상기 소프트웨어 컴포넌트에 논리적 통신 경로를 제공하는 객체 요구 브로커,
    입력된 데이터를 수행하는 복수의 하드웨어 로직을 각각 포함하는 복수의 하드웨어 컴포넌트, 및
    상기 객체 요구 브로커와 표준 전달 체계를 지원하여 상기 소프트웨어 컴포넌트로부터 요구 메시지를 수신하고, 상기 복수의 하드웨어 컴포넌트의 상기 복수의 하드웨어 로직 중에서 상기 요구 메시지에 포함된 데이터를 수행할 제1 하드웨어 로직을 선택하고, 상기 요구 메시지에 포함된 데이터를 제1 데이터로 변환하여 상기 제1 하드웨어 로직으로 전달하고, 상기 복수의 하드웨어 컴포넌트와 공통 버스 구조를 통해 연결되는 하드웨어 미들웨어를 포함하는 이동단말기의 프레임워크 장치.
  2. 제1항에 있어서,
    상기 요구 메시지는,
    상기 선택된 하드웨어 컴포넌트를 구분하기 위한 객체식별자,
    상기 제1 하드웨어 로직을 지칭하는 연산이름,
    상기 제1 하드웨어 로직에서 수행될 데이터, 및
    상기 요구 메시지에 대한 응답 메시지를 구분하기 위한 요구 식별자를 포함하는 이동단말기의 프레임워크 장치.
  3. 제2항에 있어서,
    상기 객체식별자는,
    상기 복수의 하드웨어 컴포넌트의 개수를 범위로 갖는 비트열로 구성되는 인터페이스 식별자, 및
    상기 복수의 하드웨어 컴포넌트의 최대 중복 개수를 범위로 갖는 비트열로 구성되는 인스턴스 식별자를 포함하는 이동단말기의 프레임워크 장치.
  4. 제2항에 있어서,
    상기 하드웨어 미들웨어는,
    상기 요구 메시지를 판정하는 메시지 해석부,
    상기 요구 메시지에 포함된 상기 객체식별자에 따라 상기 하드웨어 컴포넌트를 식별하고, 상기 연산이름으로부터 연산식별자를 생성하여 상기 연산식별자와 상기 객체식별자를 통합하여 상기 제1 하드웨어 로직을 결정하는 제1 인가 시그널을 생성하는 로직 선택부, 및
    상기 요구 메시지에서 상기 제1 하드웨어 로직이 수행하는데 필요한 파라미터를 추출하고, 상기 파라미터를 상기 제1 데이터로 변환하여 상기 공통 버스 구조를 통해 상기 제1 하드웨어 로직에 전달하는 데이터 변환부를 포함하는 이동단말기 의 프레임워크 장치
  5. 제4항에 있어서,
    상기 데이터 변환부는,
    상기 파라미터를 최소 크기의 파라미터인 상기 제1 데이터로 축소 변환하여 상기 공통 버스 구조를 통해 상기 제1 하드웨어 로직에 전송하는 설정 데이터 변환기를 포함하는 이동단말기의 프레임워크 장치.
  6. 제4항에 있어서,
    상기 요구 메시지에 대한 응답이 필요한 경우, 상기 로직 선택부는 상기 복수의 하드웨어 로직 중 제2 하드웨어 로직을 추출 로직으로 결정하기 위한 제2 인가 시그널을 생성하는 이동단말기의 프레임워크 장치.
  7. 제6항에 있어서,
    상기 데이터 변환부는,
    상기 공통 버스 구조를 통해 상기 제2 하드웨어 로직으로부터 수신한 제2 데이터를 변환하는 추출 데이터 변환기를 더 포함하며,
    상기 하드웨어 미들웨어는,
    상기 변환된 제2 데이터로부터 응답 메시지를 생성하고, 상기 응답 메시지를 상기 객체 요구 브로커를 통해 상기 소프트웨어 컴포넌트로 전송하는 메시지 생성 부를 더 포함하는 이동단말기의 프레임워크 장치.
  8. 제7항에 있어서,
    상기 요구 메시지에 대한 응답이 필요한 경우 상기 공통 버스 구조를 통해,
    상기 제2 인가 시그널,
    상기 제2 하드웨어 로직에서 데이터 송신이 준비된 경우 이를 알리는 로직 인가 시그널, 및
    상기 제2 하드웨어 로직으로부터 수신되는 상기 제2 데이터가 전달되는 이동단말기의 프레임워크 장치.
  9. 제1항에 있어서,
    상기 하드웨어 컴포넌트는,
    상기 복수의 하드웨어 로직을 개별 연결하는 로컬 버스 구조를 더 포함하는 이동단말기의 프레임워크 장치.
  10. 제1항에 있어서,
    상기 각 하드웨어 로직은,
    상기 하드웨어 미들웨어로부터 상기 제1 데이터를 수신하고, 상기 제1 데이터를 상기 하드웨어 로직에서 수행되는 시그널 데이터로 변환하는 전처리부,
    상기 시그널 데이터를 수행하는 데이터 처리부, 및
    상기 데이터 처리부에서 수행이 완료된 상기 시그널 데이터를 상기 공통 버스 구조에 적합한 데이터로 변환하는 후처리부를 포함하는 이동단말기의 프레임워크 장치.
  11. 제10항에 있어서,
    상기 각 하드웨어 로직은
    상기 복수의 하드웨어 로직들이 속성(attribute)을 공유할 수 있도록 속성을 공유하는 레지스터 또는 메모리를 더 포함하는 이동단말기의 프레임워크 장치.
  12. 복수의 하드웨어 로직을 각각 포함하는 복수의 하드웨어 컴포넌트와 소프트웨어 컴포넌트를 포함하는 이동단말기의 프레임워크 장치에서 컴포넌트의 상호 운용성을 보장하는 방법에 있어서,
    상기 소프트웨어 컴포넌트로부터 객체식별자와 연산이름을 포함하는 요구 메시지를 수신하는 단계,
    상기 복수의 하드웨어 컴포넌트 중 상기 객체식별자에 대응하는 하드웨어 컴포넌트를 선택하는 단계,
    상기 선택한 하드웨어 컴포넌트의 상기 복수의 하드웨어 로직 중 상기 연산이름에 대응하는 제1 하드웨어 로직을 선택하는 단계,
    상기 요구 메시지에 포함된 데이터를 제1 데이터로 변환하여 상기 복수의 하드웨어 컴포넌트와 연결되는 공통 버스 구조를 통해 상기 제1 하드웨어 로직으로 전달하는 단계, 및
    상기 제1 하드웨어 로직에 상기 제1 데이터를 수행시키는 단계를 포함하는 컴포넌트의 상호 운용성 보장 방법.
  13. 제12항에 있어서,
    상기 제1 하드웨어 로직을 선택하는 단계는,
    상기 연산이름으로부터 연산식별자를 생성하여 상기 연산식별자와 상기 객체식별자를 통합하여 상기 제1 하드웨어 로직을 설정 로직으로 결정하는 제1 인가 시그널을 생성하는 단계, 및
    상기 제1 인가 시그널을 상기 제1 하드웨어 로직에 인가하는 단계를 포함하는 컴포넌트의 상호 운용성 보장 방법.
  14. 제12항에 있어서,
    상기 전달하는 단계는,
    상기 요구 메시지에서 상기 제1 하드웨어 로직이 수행하는데 필요한 파라미터를 추출하는 단계, 및
    상기 파라미터를 상기 제1 데이터로 축소 변환하는 단계를 포함하는 컴포넌트의 상호 운용성 보장 방법.
  15. 제12항에 있어서,
    상기 수행시키는 단계는,
    상기 제1 데이터를 상기 제1 하드웨어 로직에서 수행되는 시그널 데이터로 변환하는 단계,
    상기 제1 하드웨어 로직에서 시그널 데이터를 수행시키는 단계, 및
    수행이 완료된 상기 시그널 데이터를 상기 공통 버스 구조에 적합한 데이터로 변환하는 단계를 포함하는 컴포넌트의 상호 운용성 보장 방법.
  16. 제12항에 있어서,
    상기 요구 메시지에 대한 응답이 필요한 경우, 상기 복수의 하드웨어 로직 중 제2 하드웨어 로직을 추출 로직으로 결정하는 제2 인가 시그널을 생성하는 단계,
    상기 공통 버스 구조를 통해 상기 제2 하드웨어 로직으로부터 제2 데이터를 수신하는 단계,
    상기 제2 데이터를 확대 변환하여 상기 소프트웨어 컴포넌트로 전송될 응답 메시지를 생성하는 단계를 더 포함하는 컴포넌트의 상호 운용성 보장 방법.
KR1020070104481A 2007-10-17 2007-10-17 이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성보장 방법 KR100918114B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070104481A KR100918114B1 (ko) 2007-10-17 2007-10-17 이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성보장 방법
US12/738,165 US20100229183A1 (en) 2007-10-17 2008-08-21 Framework device of mobile terminal and method for providing interoperability between components
PCT/KR2008/004885 WO2009051340A1 (en) 2007-10-17 2008-08-21 Framework device of mobile terminal and method for providing interoperability between components

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070104481A KR100918114B1 (ko) 2007-10-17 2007-10-17 이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성보장 방법

Publications (2)

Publication Number Publication Date
KR20090039069A KR20090039069A (ko) 2009-04-22
KR100918114B1 true KR100918114B1 (ko) 2009-09-22

Family

ID=40567561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070104481A KR100918114B1 (ko) 2007-10-17 2007-10-17 이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성보장 방법

Country Status (3)

Country Link
US (1) US20100229183A1 (ko)
KR (1) KR100918114B1 (ko)
WO (1) WO2009051340A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8789046B2 (en) 2012-03-30 2014-07-22 International Business Machines Corporation Method to embed a light-weight kernel in a full-weight kernel to provide a heterogeneous execution environment
US8918799B2 (en) * 2012-03-30 2014-12-23 International Business Machines Corporation Method to utilize cores in different operating system partitions
US9092281B2 (en) 2012-10-02 2015-07-28 Qualcomm Incorporated Fast remote procedure call
WO2014165538A2 (en) 2013-04-01 2014-10-09 Nebula, Inc. Update management for a distributed computing system
US10325002B2 (en) * 2014-09-29 2019-06-18 Sap Se Web service framework
KR102372423B1 (ko) 2017-05-16 2022-03-10 한국전자통신연구원 파라미터 공유 장치 및 방법
CN115022115B (zh) * 2022-05-23 2023-06-06 中国船舶重工集团公司第七0七研究所九江分部 一种基于软总线技术的舰船操控系统通用软件分层架构

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182347A1 (en) 2000-09-20 2003-09-25 Patrick Dehlinger Mutiple-platform virtual microprocessor architecture and its corresponding operating system, in particular for onboard and mobile computer field
KR20040086330A (ko) * 2002-02-15 2004-10-08 텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘) 이동 단말기용 플랫폼 시스템을 위한 미들웨어 서비스 계층
KR20050034968A (ko) * 2003-10-10 2005-04-15 에스케이 텔레콤주식회사 객체지향적 어플리케이션 프레임 워크를 지원하는 모바일플랫폼을 포함하는 이동통신단말
KR20060066031A (ko) * 2004-12-11 2006-06-15 한국전자통신연구원 에스디알 기반의 통신 장치의 구성 모듈 및 그 장치의 동작방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040045007A1 (en) * 2002-08-30 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Object oriented component and framework architecture for signal processing
US7448066B2 (en) * 2002-09-19 2008-11-04 International Business Machines Corporation Application server object-level security for distributed computing domains
US7331049B1 (en) * 2003-04-21 2008-02-12 Borland Software Corporation System and methodology providing typed event and notification services
US8689244B2 (en) * 2007-01-26 2014-04-01 Objective Interface Systems, Inc. Hardware communications infrastructure supporting location transparency and dynamic partial reconfiguration

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182347A1 (en) 2000-09-20 2003-09-25 Patrick Dehlinger Mutiple-platform virtual microprocessor architecture and its corresponding operating system, in particular for onboard and mobile computer field
KR20040086330A (ko) * 2002-02-15 2004-10-08 텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘) 이동 단말기용 플랫폼 시스템을 위한 미들웨어 서비스 계층
KR20050034968A (ko) * 2003-10-10 2005-04-15 에스케이 텔레콤주식회사 객체지향적 어플리케이션 프레임 워크를 지원하는 모바일플랫폼을 포함하는 이동통신단말
KR20060066031A (ko) * 2004-12-11 2006-06-15 한국전자통신연구원 에스디알 기반의 통신 장치의 구성 모듈 및 그 장치의 동작방법

Also Published As

Publication number Publication date
US20100229183A1 (en) 2010-09-09
WO2009051340A1 (en) 2009-04-23
KR20090039069A (ko) 2009-04-22
WO2009051340A8 (en) 2010-02-18

Similar Documents

Publication Publication Date Title
KR100918114B1 (ko) 이동단말기의 프레임워크 장치 및 컴포넌트의 상호 운용성보장 방법
US11004024B2 (en) Service and resource orchestration system and method, and apparatus
CN107278299A (zh) 经由可重配置的虚拟交换机实现次级总线功能性的方法、装置和系统
AU2008211278B2 (en) A hardware communications infrastructure supporting location transparency and dynamic partial reconfiguration
CN112286746A (zh) 针对axi从设备接口的通用验证平台及方法
Perrotin et al. TASTE: An open-source tool-chain for embedded system and software development
KR102153968B1 (ko) 전자 장치가 제공하는 서비스와 관련된 서비스 모델 블록을 포함하는 메모리 맵의 구성 방법
CN210983400U (zh) 片上系统和微控制器
CN111212061B (zh) 基于afdx的套接字的实现方法
WO2005093571A1 (en) Hardware object request broker on a chip for generating separate control and data channels for improved throughput efficiency
CN116795752A (zh) 接口通信方法、装置以及服务器
Gomaa et al. Reusable component interconnection patterns for distributed software architectures
Shinde et al. Modeling NICs with Unicorn
Mehta et al. UVM (Universal Verification Methodology)
CN114036769A (zh) 面向航电系统物理架构的功能部署方案生成方法及装置
CN107818071A (zh) 一种基于fpga的硬件线程实现方法
CN115509146B (zh) 一种飞行维护模拟机分布式通讯资源整合方法
US7543307B2 (en) Interface method and device having interface for circuit comprising logical operation element
CN112559039B (zh) 一种计算机编程用指令集生成方法及系统
Astarloa et al. A self-reconfiguration framework for multiprocessor CSoPCs
CN106850546A (zh) 一种雷达终端的地图模块软件组织方法
Jackson et al. Simulation and synthesis of CSP-based interprocess communication
CN111666164A (zh) 一种事务级建模远程方法调用的方法及装置
CN115687231A (zh) 一种基于异构多核的终端控制方法、系统、设备及介质
KR100919053B1 (ko) 이동통신 단말기 프레임워크에서의 하드웨어 컴포넌트관리방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20120910

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140827

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150827

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160826

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170828

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180823

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190826

Year of fee payment: 11