KR100744502B1 - 무선 단말기의 베이스 구조 및 그 방법 - Google Patents

무선 단말기의 베이스 구조 및 그 방법 Download PDF

Info

Publication number
KR100744502B1
KR100744502B1 KR1020010031163A KR20010031163A KR100744502B1 KR 100744502 B1 KR100744502 B1 KR 100744502B1 KR 1020010031163 A KR1020010031163 A KR 1020010031163A KR 20010031163 A KR20010031163 A KR 20010031163A KR 100744502 B1 KR100744502 B1 KR 100744502B1
Authority
KR
South Korea
Prior art keywords
application
handler
event
spy
events
Prior art date
Application number
KR1020010031163A
Other languages
English (en)
Other versions
KR20020092513A (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 KR1020010031163A priority Critical patent/KR100744502B1/ko
Priority to US10/158,913 priority patent/US20030079048A1/en
Priority to JP2002163298A priority patent/JP2003050699A/ja
Publication of KR20020092513A publication Critical patent/KR20020092513A/ko
Application granted granted Critical
Publication of KR100744502B1 publication Critical patent/KR100744502B1/ko

Links

Images

Classifications

    • 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
    • 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/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/543Local

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 애플리케이션을 관리하는 애플리케이션 핸들러를 구현하여 각 애플리케이션 간의 독립성을 확보하는 무선 단말기에서의 베이스(Basic Architecture for Software Environment; 이하 'BASE'라 약칭함) 구조를 갖는 컴퓨터로 읽을 수 있는 기록 매체에 관한 것으로서, 다수의 태스크로 구성되어 이벤트들을 발생시키는 DMSS(Dual-Mode Subscriber Software), 상기 발생된 이벤트들을 독립적으로 처리하는 다수의 애플리케이션을 포함하는 애플리케이션부와 상기 다수의 애플리케이션 중, 활성화된 애플리케이션을 검색하여 상기 활성화된 애플리케이션으로 처리하는 해당 이벤트를 선별하는 애플리케이션핸들러와 상기 애플리케이션부를 관리하는 애플리케이션 매니저부를 구비하는 BASE UI(Basic Architecture for Software Environment User Interface) 및 상기 애플리케이션이 이벤트를 처리하기 위해 PDK(Phone Development Kit) 라이브러리에 접근하도록 인터페이스하는 API(Application Programming Interface)를 포함하여 구성된다.
BASE UI, 퀄컴 코드, 무선 단말기

Description

무선 단말기의 베이스 구조 및 그 방법{Basic Architecture for Software Environment framework in radio terminal and method of the same}
도 1 은 종래 기술에 따른 퀄컴사의 시스템 소프트웨어 솔루션을 이용한 무선 단말기의 베이스 구조를 나타낸 도면.
도 2 는 종래 기술에 따른 퀄컴 UI의 구성을 나타낸 도면.
도 3 은 본 발명에 따른 무선 단말기의 베이스 구조를 나타낸 도면.
도 4 는 본 발명에 따른 베이스 UI의 구성을 나타낸 도면.
도 5 는 본 발명에 따른 베이스 구조에서 이벤트의 처리 순서를 나타낸 흐름도.
도 6 은 본 발명에 따른 애플리케이션 매니저부가 새로운 애플리케이션을 실행시키는 과정을 나타낸 흐름도.
도 7 은 본 발명에 따른 애플리케이션 매니저부가 실행중인 애플리케이션을 종료시키는 과정을 나타낸 흐름도.
*도면의 주요부분에 대한 부호의 설명
100: DMSS 200: BASE UI
210: PDK 핸들러 220: 우선 처리부
230: SPY 핸들러 240: 상태 처리부
250: 애플리케이션 핸들러 260: 상태 애플리케이션
270: 애플리케이션부 280: 애플리케이션 매니저부
300: API
본 발명은 무선통신 서비스에 관한 것으로, 특히 무선 단말기에서 사용되는 소프트웨어 코드 중 UI(User Interface) 또는 MMI(Man Machine Interface)에 해당하는 부분의 구조를 변경하여 애플리케이션 간의 독립성 확보와 모듈화를 용이하게 하는 무선단말기의 베이스(Basic Architecture for Software Environment; 이하 'BASE'라 약칭함) 구조 및 방법에 관한 것이다.
무선통신은 1970년대 말까지 주로 특수한 목적으로 한정된 분야에서만 이용되어 왔다. 그러다가 1980년대 초 무선통신기술을 이용하여 이동통신서비스를 상용화하면서부터 세계는 이동통신시장의 폭발적인 성장을 경험했다. 그리고 1990년대에 들어서면서 시작된 통신기술의 디지털화는 이동통신부분에도 영향을 미쳐 디지털 이동통신시대를 맞이하게 되었으며, 그에 따라 기존의 매크로셀을 이용하던 셀룰러방식의 이동전화서비스에서 마이크로셀을 이용하는 PCS(Personal Communications Service) 시대로 전환을 맞이하였다.
우리 나라의 경우 1984년부터 이동전화서비스를 아날로그방식에 의해 제공해왔으며, 이동통신부문에 있어 급속한 성장을 이루어왔다. 그리고 1980년대 후반부터 디지털 이동통신서비스를 위한 연구를 시작하였으며, 사용되는 여러 디지털 방식 중 미국 퀄컴(Qualcomm)사의 시스템 소프트웨어 솔루션인 코드분할접속(Code Division Multiple Access; 이하 'CDMA'라 약칭함) 방식을 국내 디지털 이동통신서비스의 표준으로 채택하였다. 그 후, 1995년 CDMA 시스템을 개발하고, 1996년 CDMA 방식의 디지털 셀룰러 이동전화서비스를 개시하였다.
그러나, 이와 같이 퀄컴사의 시스템 소프트웨어 솔루션을 채택함에 따라 국내 이동 통신은 퀄컴사의 기술력에 의존도가 높아지고, 앞으로 개발될 비동기식 IMT-2000의 경우는 오히려 더욱 의존도가 심화될 것이란 전망이 제기되고 있다.
이는 국내에서 생산되는 단말기의 품질과 가격면에서 국제 경쟁력을 갖추기 위해서 CDMA의 원천기술을 보유하고 있는 퀄컴사에 의존할 수밖에 없는 상황이 전개되어 국내에서 생산되는 단말기에 막대한 기술 이용료를 지불하게 될 것이다.
이와 같은 기술 이용료를 막기 위해서는 무엇보다 단말기에서 사용되는 시스템 소프트웨어 솔루션의 개발이 시급히 이루어져야 한다.
도 1 은 종래 기술에 따른 퀄컴사의 시스템 소프트웨어 솔루션을 이용한 무선 단말기의 BASE 구조를 나타낸 도면이고, 도 2 는 종래 기술에 따른 퀄컴 UI의 구성을 나타낸 도면이다.
도 1을 보면, 다수의 태스크로 구성된 DMSS(Dual-Mode Subscriber Software, 10) 및 상태 처리부(state machine) 구조로 상기 DMSS에서 발생하는 이벤트를 이용하여 해당 애플리케이션을 수행하는 BASE UI(20)로 구성된다.
이때, 상기 BASE UI(20)는 DMSS(10)에서 발생하는 신호 및 이벤트를 핸들링하는 이벤트 핸들러(21)와, 상기 이벤트 핸들러(21)에서 출력되는 신호 및 이벤트를 처리하는 애플리케이션부(22)와, 상기 애플리케이션부를 관리 및 실행, 종료시키는 애플리케이션 매니저부(미도시)로 구성된다.
이와 같이 구성된 퀄컴 UI에 관련된 코드 소프트웨어의 구조는 상태 처리부(state machine) 구조로 되어 있고, 각 상태(state) 간에 독립성이 확보되어 있지 않아서 새로운 기능 추가시 모든 상태(state)에 새로운 기능에 관련된 내용을 추가해 주어야 한다.
즉, 도 2와 같이 단말기에 전원이 인가되면 먼저, DMSS(10)내의 ui_task()에서 최초 신호인 ui_init를 콜한다. 그러면 BASE UI(20)는 rex_wait()를 콜하여 대기상태를 유지시킨다.
그리고 ui_signal, 상위 이벤트, 기지국으로부터의 정보, 키입력 등과 같은 신호 및 이벤트가 BASE UI(20)내의 이벤트 핸들러(21)로 입력되면, 입력되는 신호 및 이벤트에 따라 해당하는 함수를 콜한다. 이때 대부분은 상태 처리부(state machine) 구조로 되어 있는 ui_do_event()에서 모든 처리가 이루어진다.
이와 같이 신호 및 이벤트가 처리되는 ui_do_event()는 상태 처리부(state machine) 구조로 이루어져 있어서, 새로운 애플리케이션의 구현시 여러 개의 상태(state)와 연계시켜야 하며, 이를 위해서 모든 상태(state)에 코딩하여야 한다.
그로 인해, 새로운 기능 추가시 기존 코드의 수정이 불가피하고, 기존 코드의 재사용에 어려움이 있다. 또한, 애플리케이션 용역 개발시 상태(state)와 독립적으로 코딩할 수 없으므로 용역 개발업체에 전체 소스 코드를 제공하여야 하기 때문에 보안상의 위험이 따르게 된다.
그리고 상태(state) 간의 상호 연관성으로 인하여 계속되는 시스템의 업그레이드로 인하여 예상치 못한 오류가 발생할 가능성이 크고, 애플리케이션 간의 독립성과 재사용성이 어려워지게 된다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 애플리케이션을 관리하는 애플리케이션 핸들러를 구현하여 각 애플리케이션 간의 독립성을 확보하는데 그 목적이 있다.
본 발명의 다른 목적은 각 애플리케이션이 독립적으로 컴파일 및 링크되어 언제든지 다운로드와 삭제할 수 있는 모듈 형식을 갖는 데 있다.
본 발명의 또 다른 목적은 모듈별로 다운로드된 애플리케이션이 롬(ROM)에서 직접 수행이 가능하도록 하는 파일 시스템을 개발하는 데 있다.
본 발명의 또 다른 목적은 PC상에서 시뮬레이션 된 파일을 코드 검증 없이 무선 단말기에 직접 다운로드하여 사용하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 무선 단말기의 베이스 구조를 갖는 컴퓨터로 읽을 수 있는 기록 매체의 일 특징은, 다수의 태스크로 구성되어 이벤트들을 발생시키는 DMSS(Dual-Mode Subscriber Software), 상기 발생된 이벤트들을 독립적으로 처리하는 다수의 애플리케이션을 포함하는 애플리케이션부와 상기 다수의 애플리케이션 중, 활성화된 애플리케이션을 검색하여 상기 활성화된 애플리케이션으로 처리하는 해당 이벤트를 선별하는 애플리케이션핸들러와 상기 애플리케이션부를 관리하는 애플리케이션 매니저부를 구비하는 BASE UI(Basic Architecture for Software Environment User Interface) 및 상기 애플리케이션이 상기 이벤트를 처리하기 위해 필요한 데이터를 저장하는 PDK(Phone Development Kit) 라이브러리에 접근하도록 인터페이스하는 API(Application Programming Interface)를 포함하여 구성되는 것이다.
보다 바람직하게, 상기 BASE UI는, 상기 DMSS 및 PDK(Phone Development Kit)의 내부에서 발생하는 이벤트를 핸들링하는 PDK 핸들러, 상기 핸들링된 이벤트 중, 우선 처리할 이벤트를 정의하여 처리하는 우선 처리부, 상기 우선 처리된 이벤트 이외의 이벤트 중, 상기 애플리케이션부에 포함된 모든 애플리케이션에서 공통적으로 처리해야 하는 스파이가 존재하는 이벤트를 검사하여 처리하는 스파이(SPY)핸들러 및 상기 스파이 핸들러에서 스파이 처리되었거나 혹은 상기 PDK 핸들러에서 출력되는 이벤트 중 스파이가 존재하지 않는 이벤트를 처리하는 상태 처리부를 더 포함한다.
보다 바람직하게, 상기 스파이(SPY) 핸들러는, 시스템 전반에 걸쳐 공통적으로 처리될 이벤트를 검사하는 시스템 스파이(SPY) 핸들러 및 상기 시스템 스파이 이후, 해당 이벤트를 처리하는 애플리케이션 스파이(SPY) 핸들러를 포함한다.
삭제
삭제
삭제
본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시 예들의 상세한 설명을 통해 명백해질 것이다.
본 발명에 따른 무선 단말기에서의 베이스 구조 및 방법의 바람직한 실시 예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 3 은 본 발명에 따른 무선 단말기의 베이스 구조를 나타낸 도면이고, 도 4 는 본 발명에 따른 베이스 UI의 구성을 나타낸 도면이다.
도 3을 보면, 다수의 태스크로 구성된 DMSS(100)와, 상기 DMSS(100)에서 발생되는 이벤트를 이용하여 애플리케이션을 독립적으로 수행하는 BASE UI(200)와, 상기 애플리케이션이 상기 해당 이벤트를 처리하도록 PDK 라이브러리에 접근하도록 인터페이스하는 API(300)로 구성된다.
이때 상기 BASE UI(200)는 DMSS(100) 및 PDK 내부에서 발생되는 이벤트를 핸들링하는 PDK 핸들러(210)와, 상기 PDK 핸들러(210)에서 출력되는 이벤트 중 각 상태 처리부(240)로 전달하기 전에 우선적으로 처리해야 하는 이벤트를 먼저 처리하는 우선 처리부(preprocessor)(220)와, 상기 우선 처리부(220)에서 우선 처리된 이벤트 이외의 이벤트 중 모든 애플리케이션에서 공통으로 처리해야할 이벤트를 검사하여 처리하는 SPY 핸들러(230)와, 상기 스파이 핸들러(230)에서 스파이 처리되었거나 혹은 상기 PDK 핸들러(210)에서 출력되는 이벤트 중 스파이가 존재하지 않는 이벤트를 처리하는 상태 처리부(state machine)(240)와, 상기 상태 처리부(240)에서 출력되는 이벤트를 독립된 애플리케이션부(270)로 전달하는 애플리케이션 핸들러(250)와, 상기 애플리케이션 핸들러(250)에서 전달되는 이벤트를 독립적으로 처리하는 애플리케이션부(270)와, 상기 애플리케이션부(270)를 관리 및 실행, 종료시키는 애플리케이션 매니저부(280)로 구성된다.
이때 상기 DMSS(100)는 기존의 퀄컴 코드가 새로 발표(release)될 때, 즉 스팩(spec)이 업그레이드(upgrade)되거나 또는 기능 추가 등에 따라 계속 포팅(porting)해야하는 부분으로 이 부분은 그대로 사용한다.
그리고 PDK 핸들러(210)는 큐(queue)가 형성되어 있고, 기존 퀄컴 코드에서 사용하던 이벤트와 BASE UI(200)에서 제공하는 개발 환경의 PDK에서 사용되는 이벤트를 함께 처리하며, 이때 사용되는 이벤트의 데이터 구조는 다음과 같다.
typedef struct
{
WORD OrgEvent; //UI_TASK에서 발생시킨 이벤트 값
WORD Type;
DWORD wparam;
DWORD lparam;
} stPDKEvent;
이때 WORD type의 OrgEvent는 기존 퀄컴 코드에서 사용되던 이벤트가 들어가는 변수로, 이 영역이 제로가 아니면 DWORD type의 wParam과 lParam은 제로가 된다. 그리고 WORD type의 타입은 PDK 내부에서 발생한 이벤트를 나타내는 변수이고 이벤트에 따라 DWORD type의 wParam과 lParam은 다른 값을 갖는다.
그리고 상기 우선 처리부(220)는 상태 처리부(240) 앞에 구성되어 적어도 250[msec]마다 한 번씩은 콜이 되는 부분으로 상기 상태 처리부(240)에 무관하게 수행되는 코드들이다. 상기 우선 처리부(220)는 주로 상태 표시나 애니메이션(animation) 등에서 사용된다.
이와 같이 구성된 본 발명에 따른 무선 단말기에서의 BASE 구조의 동작을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도 5 는 본 발명에 따른 BASE 구조에서 이벤트의 처리 순서를 나타낸 흐름도이다.
도 5를 보면 먼저, DMSS(100)에서 발생되는 제 1 이벤트와 BASE에서 제공하는 개발 환경의 PDK에서 사용되는 제 2 이벤트가 발생하면(S10), 이를 PDK 핸들러(210) 내부의 큐(queue)에 저장한다(S40).
이때 상기 제 1 이벤트 중 일부는 PDK에서 사용되는 제 2 이벤트로 변환이 필요한데, 그 종류로는 키다운(key down), 타이머 체크(timer tick), SMS, 패킷(packet), 시리얼(serial) 그리고 포인팅(pointing) 등이 있다.
이와 같이 변환이 필요한 이벤트가 존재하면(S20), PDK 핸들러(210)는 일반 이벤트를 PDK 이벤트로 변환한 후(S30), 큐(queue)에 저장한다(S40).
이어 우선 처리부(220)는 큐에 이벤트가 저장되어 있는지를 판단하고(S40), 큐에 저장된 이벤트 중 가장 오래된 이벤트부터 순차적으로 읽어서(S60) 처리한다(S70).
상기 우선 처리부(220)의 처리로는 이벤트 발생시 각 상태(state)에서 처리되기에 앞서 우선적으로 처리되어야 하는 함수(function)들의 정의하고 이를 처리한다.
그리고 SPY 핸들러(230)는 우선 처리부(220)에서 출력된 이벤트 중 SPY가 존재하는지를 판단하고(S80), 상기 SPY가 존재하는 이벤트를 처리한다(S90).
이때, 상기 SPY는 단말기에서 발생한 이벤트를 애플리케이션에 전달되기 이전에 미리 검사하여 처리하는 프로그램 모듈로서, 상기 SPY 핸들러를 사용함으로써, 모든 애플리케이션에 대하여 공통으로 처리하여야 할 필요가 있는 이벤트를 처리한다.
이와 같은 SPY 핸들러(230)는 시스템 SPY 핸들러와 애플리케이션 SPY 핸들러의 두 종류로 구분된다.
상기 시스템 SPY 핸들러는 PDK 핸들러(210)와 우선 처리부(220) 사이에 존재하며 시스템 전반에 걸쳐 이벤트를 검사하는 기능을 수행하고, 상기 애플리케이션 SPY 핸들러는 상기 시스템 핸들러의 처리결과 출력되는 이벤트를 애플리케이션 단에서 검사하여 처리한다.
따라서 SPY 핸들러(230)는 모든 애플리케이션에 앞서 이벤트를 해석, 수행하므로, 애플리케이션에서 필요로 하는 이벤트에 대해서는 가급적 수행을 피해야 한다.
이와 같이, SPY 핸들러(230)에서 모든 SPY가 처리되었거나(S100), 또는 PDK 핸들러(230)에서 출력되는 이벤트에 SPY가 존재하지 않은 것으로 판단되면(S80), 다음단인 상태 처리부(240)로 이벤트들을 출력시킨다.
따라서 상기 상태 처리부(240)는 SPY 핸들러(230)를 통해 사용 가능하도록 변환된 이벤트를 전달받아 처리한다.
이때 상태 처리부(240)는 기존 상태 처리부의 퀄컴 코드를 다음의 표 1과 같이 독립된 다수개의 상태로 분리하여 상태 처리부(240)를 간소화하였다.
기존 퀄컴 코드의 state 독립된 애플리케이션
UI_CODE_S LOCK API
UI_MESSAGE_S DISPLAY API
UI_INFO_S DISPLAY API
UI_LIST_S PDK API
UI_NUMEDIT_S PDK API(IDLE,CALL)
UI_RCL_S CALL HISTORY APP
UI_STO_S PIM APP
UI_MENU_S SETTING APP
UI_SMS_S (FOREGROUND) SMS APP (BACKGROUND) SPY
UI_ALPHAEDIT_S EDIT API
UI_SERVICE_S SETTING APP
UI_CLI_S CLI API
UI_HELP_S PDK API
그리고 상태 처리부(240)는 표 1에서 나타낸 코드 이외에 Startup, End, Call, Idle 등의 상태가 더 있는데, 이는 기존 퀄컴 코드의 상태와 동일하게 구성한다.
표 1과 같이 코드를 구분함으로써, 단말기에서 발생하여 UI로 전달되는 대부분의 명령(command) 또는 이벤트들을 독립된 상태에서 처리할 수 있게 되어, 각 애플리케이션 부의 독립성을 유지할 수 있게 된다.
즉, 상태 처리부(240)로 입력된 이벤트 중 시작(Startup), 종료(End), 호출(Call), 대기(Idle) 등과 같이 정의된 몇몇의 이벤트는 상태 처리부(240)에서 직접 처리하고, 이외의 이벤트들은 애플리케이션 핸들러(250)로 전달한다(S110).
그러면 애플리케이션 핸들러(250)는 활성화되어 있는 애플리케이션(270)이 있는지 검색한다(S120).
그리고 활성화된 애플리케이션(270)으로 이벤트를 전달하고, 상기 이벤트를 전달받은 애플리케이션(270)은 독자적인 프로그램 모듈로 이벤트를 수행한다(S130).
이때 애플리케이션 매니저부(280)를 통해 애플리케이션부(270)를 활성화시키고 종료시키는 등 단말기에 탑재되어 있는 여러 개의 애플리케이션을 관리한다.
상기 애플리케이션 매니저부(280)가 애플리케이션 부(270)를 실행시키는 과정을 도면을 참조하여 상세히 설명하면 다음과 같다.
도 6 은 본 발명에 따른 애플리케이션 매니저부가 새로운 애플리케이션을 실행시키는 과정을 나타낸 흐름도이고, 도 7 은 본 발명에 따른 애플리케이션 매니저부가 실행중인 애플리케이션을 종료시키는 과정을 나타낸 흐름도이다.
첫 번째로, 도 6을 참조하여 새로운 애플리케이션을 실행시키는 과정을 살펴보면 다음과 같다.
먼저, 애플리케이션 매니저부(280)는 다수개의 애플리케이션부 중 어느 하나를 선택(pFE=FileSys_SearchFile)하고, 변수를 초기화(Param=0)한다. 그리고 애플리케이션 매니저부(280)는 새로운 애플리케이션을 실행하라는 App_Run 신호를 애플리케이션 핸들러(250)에게 전달한다(S140).
이어 애플리케이션 매니저부(280)는 활성화된 애플리케이션이 종료됨을 알리는 PDK_EVENT_TERMINATE 이벤트와, 선택된 새로운 애플리케이션이 활성화되었음을 알리는 PDK_EVENT_START 이벤트를 생성한다(S150).
그리고 상기 애플리케이션 매니저부(280)는 큐에 남아 있는 다른 이벤트를 모두 처리한 후(S160), 애플리케이션 핸들러(250)를 통해 상기 생성된 PDK_EVENT_TERMINATE 이벤트를 이전에 수행되고 있는 애플리케이션에게 전달한다.
그러면 상기 애플리케이션은 자신에게 필요한 종료과정을 수행한다(S170).
이어 애플리케이션 매니저부(280)는 다시 애플리케이션 핸들러(250)를 통해 상기 생성된 PDK_EVENT_START 이벤트를 선택한 새로운 애플리케이션(270)에 전달한다(S180).
그러면 상기 애플리케이션(270)은 자신의 정보를 애플리케이션 핸들러(250)에게 제공하고, 상기 애플리케이션 핸들러(250)는 상기 새 애플리케이션(270)의 정보를 애플리케이션 리스트에 저장시킨다(S191).
그리고 애플리케이션 핸들러(250)의 런 함수(runFunc)를 상기 새 애플리케이션(270)의 PXP 파일로 대치함으로써, 이후 발생되는 모든 이벤트가 새 애플리케이션으로 전달되게 한다(S192).
이때 상기 PXP 파일은 파일 헤더 정보, 레지스트리 정보, 프로그램 코드 위치, 작은 아이콘 데이터 위치, 큰 아이콘 데이터 위치, 리소스 데이터 위치, 프로그램 오프셋 코드 테이블, 프로그램 코드, 아이콘 데이터, 리소스 데이터 등과 같은 내용을 포함한다.
이어 애플리케이션 핸들러(250)는 새 애플리케이션을 위한 PDK의 초기화 루틴을 수행하고(S193), 상태 처리부(240)에서 입력되는 이벤트를 처리한다(S200).
이와 같은 과정을 통해 새 애플리케이션의 실행이 완료된다(S210).
두 번째로, 도 7을 참조하여 실행중인 애플리케이션을 종료시키는 과정을 살펴보면 다음과 같다.
먼저, 애플리케이션 매니저부(280)는 실행중인 애플리케이션을 종료하라는 App_Exit 신호를 애플리케이션 핸들러(250)에게 전달한다(S220).
이어 애플리케이션 매니저부(280)는 활성화된 애플리케이션이 종료됨을 알리는 PDK_EVENT_TERMINATE 이벤트와, 선택된 새로운 애플리케이션이 활성화되었음을 알리는 PDK_EVENT_START 이벤트를 생성한다(S230).
그리고 상기 애플리케이션 매니저부(280)는 큐에 남아 있는 다른 이벤트를 모두 처리한 후(S240), 애플리케이션 핸들러(250)를 통해 상기 생성된 PDK_EVENT_TERMINATE 이벤트를 현재 수행되고 있는 애플리케이션에 전달한다. 그러면 상기 현재 애플리케이션은 자신에게 필요한 종료과정을 수행한다(S250).
이어, 애플리케이션 매니저부(280)는 다시 애플리케이션 핸들러(250)를 통해 상기 생성된 PDK_EVENT_START 이벤트를 이전 애플리케이션(270)에 전달한다(S260).
그러면 상기 애플리케이션 핸들러(250)는 애플리케이션 리스트에서 이전 애플리케이션의 정보를 읽어온다(S271).
그리고 애플리케이션 핸들러(250)의 런 함수(runFunc)를 상기 이전 애플리케이션(270)의 PXP 파일로 대치함으로써, 이후 발생되는 모든 이벤트가 이전 애플리케이션으로 전달되게 한다(S272).
이어 애플리케이션 핸들러(250)는 이전 애플리케이션을 위한 PDK의 초기화 루틴을 수행하고(S273), 상태 처리부(240)에서 입력되는 이벤트를 처리한다(S280).
이와 같은 과정을 통해 현재 애플리케이션의 종료를 완료한다(S290).
이에 따라 CDMA 에 지식이 없는 PC 프로그램머도 코딩이 가능하고, 하드웨어와 소프트웨어 모듈의 병렬 개발이 가능하다. 또한, 하드웨어 없이 소프트웨어의 시뮬레이터만으로 코딩 및 디버깅(debugging)이 가능하다.
따라서 사용자는 PC 상에서 시뮬레이션 된 파일을 코드 검증 없이 소유하고 있는 무선 단말기에 직접 다운로드하여 사용 가능하다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정할 수 있을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시 예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.
이상에서 설명한 바와 같은 본 발명에 따른 무선 단말기에서의 BASE 구조 및 방법은 다음과 같은 효과가 있다.
첫째, 소프트웨어의 공용화 및 재사용성을 향상시킬 수 있다.
둘째, 모듈화된 구조로 기능별 업무 분리가 가능하므로 외주 용역 개발이 용이하며, 용역 개발시 자사 소스 코드 제공 없이 개발이 가능하므로 보안의 문제를 해결할 수 있다.
삭제
삭제

Claims (7)

  1. 다수의 태스크로 구성되어 이벤트들을 발생시키는 DMSS(Dual-Mode Subscriber Software);
    상기 발생된 이벤트들을 독립적으로 처리하는 다수의 애플리케이션을 포함하는 애플리케이션부와 상기 다수의 애플리케이션 중, 활성화된 애플리케이션을 검색하여 상기 활성화된 애플리케이션으로 처리하는 해당 이벤트를 선별하는 애플리케이션핸들러와 상기 애플리케이션부를 관리하는 애플리케이션 매니저부를 구비하는 BASE UI(Basic Architecture for Software Environment User Interface); 및
    상기 애플리케이션이 상기 이벤트를 처리하기 위해 필요한 데이터를 저장하는 PDK(Phone Development Kit) 라이브러리에 접근하도록 인터페이스하는 API(Application Programming Interface)를 포함하여 구성되는 무선단말기의 베이스 구조를 갖는 컴퓨터로 읽을 수 있는 기록 매체.
  2. 제 1 항에 있어서,
    상기 BASE UI는,
    상기 DMSS 및 PDK(Phone Development Kit)의 내부에서 발생하는 이벤트를 핸들링하는 PDK 핸들러;
    상기 핸들링된 이벤트 중, 우선 처리할 이벤트를 정의하여 처리하는 우선 처리부;
    상기 우선 처리된 이벤트 이외의 이벤트 중, 상기 애플리케이션부에 포함된 모든 애플리케이션에서 공통적으로 처리해야 하는 스파이가 존재하는 이벤트를 검사하여 처리하는 스파이(SPY)핸들러; 및
    상기 스파이 핸들러에서 스파이 처리되었거나 혹은 상기 PDK 핸들러에서 출력되는 이벤트 중 스파이가 존재하지 않는 이벤트를 처리하는 상태 처리부를 더 포함하는 것을 특징으로 하는 무선단말기의 베이스 구조를 갖는 컴퓨터로 읽을 수 있는 기록 매체.
  3. 삭제
  4. 제 2 항에 있어서,
    상기 스파이(SPY) 핸들러는,
    시스템 전반에 걸쳐 공통적으로 처리될 이벤트를 검사하는 시스템 스파이(SPY) 핸들러; 및
    상기 시스템 스파이 이후, 해당 이벤트를 처리하는 애플리케이션 스파이(SPY) 핸들러를 포함하여 구성되는 것을 특징으로 하는 무선단말기의 베이스 구조를 갖는 컴퓨터로 읽을 수 있는 기록 매체.
  5. 삭제
  6. 삭제
  7. 삭제
KR1020010031163A 2001-06-04 2001-06-04 무선 단말기의 베이스 구조 및 그 방법 KR100744502B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020010031163A KR100744502B1 (ko) 2001-06-04 2001-06-04 무선 단말기의 베이스 구조 및 그 방법
US10/158,913 US20030079048A1 (en) 2001-06-04 2002-06-03 Basic architecture for software environment of radio terminal and method of handling events in the same
JP2002163298A JP2003050699A (ja) 2001-06-04 2002-06-04 無線端末機のbase及びこのbaseでイベントをハンドリングする方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010031163A KR100744502B1 (ko) 2001-06-04 2001-06-04 무선 단말기의 베이스 구조 및 그 방법

Publications (2)

Publication Number Publication Date
KR20020092513A KR20020092513A (ko) 2002-12-12
KR100744502B1 true KR100744502B1 (ko) 2007-08-01

Family

ID=19710364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010031163A KR100744502B1 (ko) 2001-06-04 2001-06-04 무선 단말기의 베이스 구조 및 그 방법

Country Status (3)

Country Link
US (1) US20030079048A1 (ko)
JP (1) JP2003050699A (ko)
KR (1) KR100744502B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7885409B2 (en) 2002-08-28 2011-02-08 Rockwell Collins, Inc. Software radio system and method
US7395082B2 (en) * 2004-06-23 2008-07-01 Broadcom Corporation Method and system for handling events in an application framework for a wireless device
US8595687B2 (en) * 2004-06-23 2013-11-26 Broadcom Corporation Method and system for providing text information in an application framework for a wireless device
KR100653179B1 (ko) * 2004-12-17 2006-12-04 한국전자통신연구원 플랫폼 동적 업그레이드 기능을 가지는 무선통신단말기 및그 방법
KR100738400B1 (ko) * 2006-01-06 2007-07-11 에스케이 텔레콤주식회사 로그 파일 크기의 설정 및 알람 방법 및 그를 이용한 진단장치
US7720506B1 (en) 2006-07-28 2010-05-18 Rockwell Collins, Inc. System and method of providing antenna specific front ends for aviation software defined radios
US7831255B1 (en) 2006-07-31 2010-11-09 Rockwell Collins, Inc. System and method of providing automated availability and integrity verification for aviation software defined radios

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574934A (en) * 1993-11-24 1996-11-12 Intel Corporation Preemptive priority-based transmission of signals using virtual channels
US6243743B1 (en) * 1998-01-29 2001-06-05 Automated Business Companies Split personal computer system
US6269254B1 (en) * 1998-09-28 2001-07-31 Motorola, Inc. Radio communications device and method with API between user application program and telephony program and method
US6339436B1 (en) * 1998-12-18 2002-01-15 International Business Machines Corporation User defined dynamic help
US6854123B1 (en) * 2000-05-09 2005-02-08 International Business Machines Corporation Method, system, and program for mapping standard application program interfaces (APIs) to user interface APIs
US6826762B2 (en) * 2001-02-16 2004-11-30 Microsoft Corporation Radio interface layer in a cell phone with a set of APIs having a hardware-independent proxy layer and a hardware-specific driver layer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1019930013969

Also Published As

Publication number Publication date
US20030079048A1 (en) 2003-04-24
KR20020092513A (ko) 2002-12-12
JP2003050699A (ja) 2003-02-21

Similar Documents

Publication Publication Date Title
US7599991B2 (en) Rules interface for implementing message rules on a mobile computing device
US20050097248A1 (en) System and method for establishing a communication between a peripheral device and a wireless device
US20110265075A1 (en) Apparatus and method for firmware update in a portable terminal
KR20060023987A (ko) 경합 관리 프로그램, 경합 관리 프로그램이 기억된 기억매체, 경합 관리 방법 및 전자 기기
US8990929B2 (en) Auditing application activities
US7996044B2 (en) Mobile communication device and application execution environment software for mobile communication device
CN111095199B (zh) 一种加载应用的方法及终端设备
CN107861742A (zh) 一种程序的运行方法和终端设备
WO2023202299A1 (zh) 一种sdk升级方法、装置以及计算机设备
CN110046497B (zh) 一种函数挂钩实现方法、装置和存储介质
KR100744502B1 (ko) 무선 단말기의 베이스 구조 및 그 방법
CN111135581A (zh) 游戏更新的方法与装置
US10599444B2 (en) Extensible input stack for processing input device data
CN106778269B (zh) 一种驱动层防注入方法、装置及客户端
CN111414265B (zh) 一种调用系统资源的服务框架及方法
KR100952680B1 (ko) 이동통신 단말의 플랫폼 개발검증 시스템
KR101392907B1 (ko) 휴대폰의 소프트웨어 관리 방법
WO2019139738A1 (en) Extensible input stack for processing input device data
KR100606849B1 (ko) 이동통신용 단말기
CA2595661C (en) Auditing software application activities
KR100627819B1 (ko) 왑 브라우저의 기능을 이용하여 애플리케이션을 제어하는방법
KR100607361B1 (ko) 무선 핸드셋의 단말기 기본 소프트웨어와 모바일플랫폼간의 인터페이스 방법 및 장치
KR100606139B1 (ko) 기지국 웨이크업 방법
CN114398095A (zh) 算子的卸载及注册方法、装置、存储介质及电子装置
CN115373747A (zh) 指令扩展方法、系统及计算机可读存储介质

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20130624

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140624

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150624

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160624

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170623

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee