KR20040047889A - 저 레벨 계층을 고객 소프트웨어 프로그램에 개방하는메인 소프트웨어 프로그램과 저 레벨 계층을 구동하는무선통신 모듈 - Google Patents

저 레벨 계층을 고객 소프트웨어 프로그램에 개방하는메인 소프트웨어 프로그램과 저 레벨 계층을 구동하는무선통신 모듈 Download PDF

Info

Publication number
KR20040047889A
KR20040047889A KR10-2004-7004938A KR20047004938A KR20040047889A KR 20040047889 A KR20040047889 A KR 20040047889A KR 20047004938 A KR20047004938 A KR 20047004938A KR 20040047889 A KR20040047889 A KR 20040047889A
Authority
KR
South Korea
Prior art keywords
application
customer
level
software program
sub
Prior art date
Application number
KR10-2004-7004938A
Other languages
English (en)
Other versions
KR100962614B1 (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 KR20040047889A publication Critical patent/KR20040047889A/ko
Application granted granted Critical
Publication of KR100962614B1 publication Critical patent/KR100962614B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality

Abstract

본 발명은 시스템 운영(OS), 무선통신(계층 3 GSM) 및 주변장치(HWL)를 관리하기 위해서 사용되는 애플리케이션을 포함하는 메인 소프트웨어 프로그램을 호스트하고 구동하기 위한 타입의 무선통신 모듈에 관한 것이다. 본 발명에 따르면, 상기 각각의 애플리케이션은 일련의 레벨 1 구동 기능과 연관된다. 또한, 본 발명의 무선통신 모듈은 일련의 레벨 1 소스 기능과 연관된 적어도 하나의 고객 애플리케이션을 포함하는 적어도 하나의 고객 소프트웨어 프로그램을 호스트하고 구동한다. 메인 소프트웨어 프로그램 및/또는 고객 소프트웨어 프로그램은 상기 고객 애플리케이션과 연관된 레벨 1 소스 기능을, 시스템 연산 관리 애플리케이션과 연관되고, 무선통신 및 주변장치를 관리하기 위해서 사용되는 적어도 하나의 애플리케이션과 연관된 레벨 1 구동 기능과 인터페이스하기 위해서 사용될 수 있는 레벨 1 인터페이스 애플리케이션을 포함한다. 이러한 방법에 의해서, 메인 소프트웨어의 기능성의 적어도 일부에의 액세스가 적어도 하나의 고객 애플리케이션에 제공될 수 있다.

Description

저 레벨 계층을 고객 소프트웨어 프로그램에 개방하는 메인 소프트웨어 프로그램과 저 레벨 계층을 구동하는 무선통신 모듈{RADIOCOMMUNICATION MODULE THAT RUNS A MAIN SOFTWARE PROGRAM, THE LOW-LEVEL LAYERS OF WHICH ARE OPEN TO A CLIENT SOFTWARE PROGRAM WHICH IS ALSO RUN BY THE MODULE}
일반적으로, 무선 통신 모듈은, 다음을 포함하는 메인 소프트웨어 프로그램을 호스트(host)하고 구동한다:
- 태스크 관리자, 메모리 관리자, 시간 지연 관리자 등의 시스템 측면을 관리하는 "OS"(Operating System: 운영 시스템)라고 하는 운영 시스템 관리 애플리케이션;
- 출력 및 입력 호 관리, 단문의 텍스트 메세지의 수신 및 송신 관리 등의 네트워크 측면을 관리하는 "계층 3 GSM(layer 3 GSM)" 블록으로 알려진 무선 통신 관리 애플리케이션, 여기에서, "계층 3 GSM" 블록은 3개의 계층에 대한 전체 GSM 제안을 준수할 수 없다는 것에 유의하여야 한다. 이것은 역시 다른 표준(DCS 1800, PCS 1900, GPRS, UMTS 등)에도 적용된다;
- "HWL"(HardWare Layer)로 알려진 무선통신 모듈에 연결된 주변 장치를 관리하기 위한 애플리케이션, 여기서, 주변장치는 구체적으로는, 스크린, 키보드, 마이크로폰, 스피커, 시리얼 버스, GPIO (General Purpose Inputs/Outputs: 범용의 입력/출력)부품, 배터리, 및 SIM 판독기 등을 의미한다;
- 무선 통신 모듈을 갖는 장치에 특정된 복수의 기능을 사용자에게 제공하기 위해서 앞에서 언급된 "OS", "Layer 3 GSM" 및 "HWL"를 사용하기 위한 사유 애플리케이션, 여기서, 이러한 장치는 예를 들어, 무선 전화 (제1 응용), "기타 장치"(제2 응용), 또는 모뎀 (제 3 응용) 등에 관한 것이다.
본 발명에 있어서, 메인 소프트웨어 프로그램은 무선통신 모듈 생산업자에 의해서 개발된 사유의 소프트웨어 프로그램이다. 이것은 상기의 사유 프로그램뿐만 아니라, "OS", "Layer 3 GSM" 및 "HWL" 블록 등을 갖는 이진 파일을 포함한다. 일반적으로, 이러한 이진 파일은 복수의 소스 파일(예를 들어, "C" 언어)을 컴파일하고, 컴파일된 소스 파일(객체 파일로 알려진) 사이의 링크 편집한 것이다.
메인 소프트웨어 프로그램이 사유 소프트웨어 프로그램인 현재에 기술에 있어서는, 몇 가지 문제점이 있다.
첫째, 고객이 스스로 자신의 고유한 애플리케이션을 개발하는 것을 허용하지 않는다. 고객은 (상기의 사유 애플리케이션을 갖기 위해서는) 자기의 애플리케이션을 무선 통신 모듈의 생산업자에게 개발하도록 하지 않으면 안된다.
본 발명의 다른 문제점은, 고객이 사유 애플리케이션에 대해서 수정을 하고 자하는 경우에도, 무선 통신의 모듈의 생산자를 통하여 그 태스크를 수행하여야 한다. 따라서, 고객은 그 애플리케이션에 대해서 자신이 원하는 변화에 대한 통제권을 갖지 못하고, 무선 통신 모듈의 생산자에게 영구적으로 종속될 수밖에 없다.
본 발명의 분야는 무선 통신 시스템 분야에 관한 것으로, 특히, GSM (Global System for Mobile Communication), DCS 1800 (Digital Cellular System 180 MHz), PCS 1900 (Personal Communication System), GPRS (General Packet Radio Service), 또는 UMTS (Universal Mobile Telecommunication System) 표준에 따른 무선 통신 시스템에 관한 것이다.
더욱 구체적으로는, 본 발명은 무선전화의 핵심 구성인 무선 통신 모듈에 관한 것이다.
실제로 사용되는 경우(제1 응용)에 있어서, 무선 통신 모듈은 SIM (Subscriber Identity Module: 고객 인식 모듈) 카드와 관련된 ME(Mobile Equipment: 무선 장비) 또는 단말에 포함된다.
다른 응용은 앞에서 언급된 무선통신 모듈에 대해서 적용될 수 있다.
본 발명의 두 번째 응용으로서, 특히, 무선 통신 단말 이외의 무선 통신의기능을 갖는 장치의 무선 통신 모듈에 대해서 적용될 수 있다. 예를 들어서, 텔레메터리 장치(계기 판독), 경보 장치 또는 은행 카드 판독 장치에 대해서 적용될 수 있다.
본 발명의 세 번째 응용으로서, 모뎀과 같이 독립된 형태로 제공되는 무선 통신 모듈에 대해서 적용된다. 이러한 유형의 모뎀은 인간/기계 인터페이스 하드웨어 부품(스크린, 키보드, 스피커 등)을 포함하지 않는다. 이것은 인간/기계 인터페이스 하드웨어 부품을 포함하는 제 3 자 장비(고객 소프트웨어 프로그램을 지원하는)와 연관된다. 제 3 자 장비는 더욱 구체적으로는 마이크로 컴퓨터이다.
본 발명의 다른 특징 및 장점은 이하에 기재하는 본 발명의 실시예 및 도면에 의해서 본 발명의 바람직한 실시 태양을 기재하는 것에 의해서 보다 구체적으로 개시된다.
도 1은 하부 계층을 포함하는 메인 소프트웨어 프로그램, 레벨 1 인터페이스애플리케이션 및 복수의 고객 애플리케이션을 포함하는 고객 소프트웨어 프로그램을 도시하는, 본 발명에 따른 무선통신 모듈의 특정한 실시예의 다이어그램을 도시하고 있다.
도 2는 고객 소프트웨어 프로그램에 포함된 고객 애플리케이션을 개시하기 위한 메커니즘을 도시하고 있다.
도 3은 고객 소프트웨어 프로그램에 포함된 2 개의 고객 태스크 애플리케이션 사이의 대화를 위한 메커니즘을 도시하고 있다.
도 4는, 고객 애플리케이션 내에서, "HWL" 블록에 관련된 레벨 1 소스 기능을 호출하는 메커니즘을 도시하고 있다.
도 5는, 고객 애플리케이션 내에서, "계층 3 GSM" 블록에 관련된 레벨 1 소스 기능을 호출하기 위한 메커니즘을 도시하고 있다.
도 6은, 고객 애플리케이션 내에서, "HWL" 및 "계층 3 GSM" 블록에 관련된 레벨 1 소스 기능을 호출하기 위한 메커니즘을 도시하고 있다.
도 7은 메인 소프트웨어 프로그램에 의해서 관리되는 메일박스 서비스에 가입하는 고객 애플리케이션을 위한 메커니즘을 도시하고 있다.
도 8은, 무선통신 모듈에서, 본 발명에 따른 소프트웨어 구조에 의해서 지지되는 새로운 무선통신 모듈 제어 기술을 도시하고 있다.
본 발명의 목적은 종래의 기술의 여러 가지 문제점들을 극복하기 위한 것이다.
보다 정확하게는, 본 발명의 목적의 하나는 고객이 자기 자신의 애플리케이션을 개발하도록 하여, 그것을 내장(embed)하여 무선 통신 모듈을 사용하여 동작시키는 기술을 제공하는 것이다. "고객 애플리케이션"으로 불리는 본 발명의 애플리케이션은, 무선통신 모듈의 생산자와는 독립적으로 고객은 자신에 의해서 개발될 수 있어야 하고, 그것에 의해서 무선 통신 모듈에서 상기의 "사유 애플리케이션"을 대치하여야 한다.
본 발명의 다른 목적은 고객이 우선권을 특정할 수 있는, 복수의 실시간 태스크를 수행할 수 있는 복수의 "태스크" 애플리케이션을 포함하는 "분산"된 고객 애플리케이션을 고객이 개발하는 것을 허용하는 것이다.
본 발명의 다른 목적은 (하드웨어 및 에너지 소비 면에 있어서) 직접적이고 저가인 새로운 무선통신 모듈 구동 기술의 지원을 가능하게 하는, 무선 통신 모듈 내부에 소프트웨어 구조를 제공하는 것이다.
기존의 제 3 자 장비를 사용하는 무선 통신 모듈 제어 기술은 몇 가지 단점을 갖고 있다. 첫째로, 이중 세트의 자원(프로세서 및 메모리)을 필요로 한다. 즉,무선 통신 모듈은 프로세서 및 메모리( 제1 세트의 자원)를 포함하고, 제 3 자 장비도 프로세서 및 메모리(제2 세트의 자원)를 중복적으로 갖는다. 따라서, 그러한 기존의 기술은 하드웨어의 비용 및 에너지 소비 면에 있어서 고가이다. 그러한 기존의 기술의 또 다른 단점은 무선 통신 모듈이 제 3 자 장비에 의해서 완전하게 통제된다는 것이다. 제 3 자 장비에 의해서 호스트 되고 동작하는, 고객 제어 소프트웨어 장비는 "마스터"이고, 반면에, 무선 통신 모듈에 의해서 호스트 되고 동작하는 메인 소프트웨어 프로그램은 "슬레이브"이다.
본 발명의 다른 목적에 의하면, 본 발명에 따른 새로운 구조에 의해서 지지되는 새로운 무선통신 모듈 제어 기술은, 제 3 자 장비에 의해서 제어되는 경우에, 무선통신 모듈이 제어의 동작을 관리(동작을 포함하여)할 수 있도록 한다. 달리 말하면, 무선 통신 모듈은 슬레이브의 역할만을 수행해서는 안된다.
또한, 본 발명의 다른 목적은, 새로운 무선 통신 모듈 제어 기술의 면에 있어서, 고객이 자신의 고객 애플리케이션을 개발하는 과정에서 고객의 태스크를 용이하게 하는 것이다.
본 발명의 다른 목적은 다음의 요소를 갖는 본 발명의 실시예의 구현으로부터 발생하는 (메인 및 제2차의) 고객 서브 애플리케이션들 사이의 대화 문제 (dialogue problems)에 대한 직접적이고 효율적인 해결책을 제안하는 것이다.
- 고객 애플리케이션은 앞에서 기재한 면에서 "분배"되어 다음을 포함한다.
* 제어 명령(예를 들어, AT 명령)을 수행하는 제1 실시간 태스크를 수행하는 제1 "태스크(task)" 애플리케이션,
* 제2 "태스크" 애플리케이션이 고객 제어 애플리케이션의 역할 및/또는 고객 감독 애플리케이션의 역할을 하도록 제2 실시간 태스크를 수행하는 제2 태스크 애플리케이션
- 상기 제2 "태스크" 애플리케이션은 다음을 포함한다:
* 메인 고객 서브 애플리케이션,
* 적어도 하나의 부(secondary) 고객 서브 애플리케이션
본 발명의 상기한 여러 가지 목적 및 이하에서 실제적으로 나타나는 목적들은, 시스템 운영 관리 애플리케이션 (OS), 무선 통신 관리 애플리케이션 (계층 3 GSM) 및 무선 통신 모듈에 연결되는 주변 장치(HWL)를 관리하기 위한 애플리케이션을 포함하는 메인 소프트웨어 프로그램을 호스트하고 구동하는 타입의 무선통신 모듈을 사용하는 것에 의해서 제공된다.
본 발명에 따르면, 메인 소프트웨어 프로그램에 포함된 각각의 상기 애플리케이션은 일련의 레벨 1 실행 기능과 연관된다. 본 발명의 무선통신 모듈은 일련의제1 소스 기능과 연관된 적어도 하나의 고객 애플리케이션을 갖는 적어도 하나의 고객 소프트웨어 프로그램을 추가적으로 호스트하고 구동한다.
상기 메인 소프트웨어 프로그램 및/또는 상기 고객 소프트웨어 프로그램은, 상기 고객 애플리케이션과 연관된 레벨 1 소스 기능이, 상기 시스템 운영 관리 애플리케이션, 적어도 하나의 상기 무선통신 관리 및 주변 장치 관리 애플리케이션과 연관된 레벨 1 실행 기능과 인터페이스 하도록 하는 레벨 1 인터페이스 애플리케이션을 포함한다.
이러한 방법으로 상기 적어도 하나의 고객 애플리케이션은 메인 소프트웨어 프로그램의 기능성의 적어도 일부에 수행하는 액세스를 갖게 된다.
따라서, 본 발명의 일반적인 원리는 서로 대화할 수 있는(interact) 2 개의 소프트웨어 프로그램을 사용하고, 내장된 고객 소프트웨어 프로그램에서 (적어도) 하나의 고객 애플리케이션을 호스팅 하는 것이다.
달리 말하면, 무선통신 모듈 생산자에 의해서 개발된 무선통신 모듈의 하부 계층에의 액세스는 고객에 의해서 개발된 고객 애플리케이션에 개방된다. 이러한 일련의 하부 계층은 본 명세서의 나머지 부분에서 "개방-스택(open-stack)"이라고 불린다.
본 발명에 따른 새로운 기술은 고객이 자신의 고유한 고객 애플리케이션을 개발하여 그것들을 무선통신 모듈에 다운로드할 수 있는 소프트웨어 플랫폼이라고 할 수 있다.
고객, 무선통신 모듈의 생산자와 독립하여, 그 자신의 애플리케이션을 개발하고, 그것을 내장(embed)하여, 그것을 무선통신 모듈에 의해서 구동할 수 있도록 하는 것이다. 또한, 고객 무선통신 모듈 생산자의 개입 없이 자신의 고객 애플리케이션을 변형하거나 개발할 수 있다.
이러한 방법으로, 본 발명에 있어서, 제1 층 인터페이스 애플리케이션에 의해서, 다음의 3개의 인터페이싱 타입을 구별할 수 있다.
- 고객 애플리케이션(들)을 "OS" 및 "제 3 계층 GSM"과의 인터페이스;
- 고객 애플리케이션(들)을 "OS" 및 "HWL" 블록과의 인터페이스;
- 고객 애플리케이션(들)을 "OS", "제 3 계층 GSM" 및 "HWL" 블록과의 인터페이스.
고객 애플리케이션(들)은 다음의 여러 가지 형태로 고객 소프트웨어 프로그램에 포함될 수 있다:
- 이진 파일의 형태로 고객 소프트웨어 프로그램에 포함된 싱글 고객 애플리케이션이 있다. 레벨 1의 인터페이스 애플리케이션은 이진 파일(고객 애플리케이션을 포함하는 오브젝트 파일은 레벨 1 인터페이스 애플리케이션을 포함하는 오브젝트 파일과 링크 편집된다는 것을 가정함), 또는 다른 이진 파일에 포함된다.
- 또는, 동일한 이진 파일의 형태로 고객 소프트웨어 프로그램에 포함된 다수의 고객 애플리케이션이 있다. 이 경우에 있어서, 레벨 1 인터페이스 애플리케이션은 이진 파일(고객 애플리케이션을 포함하는 오브젝트 파일은 레벨 1 인터페이스 애플리케이션을 포함하는 오브젝트 파일과 링크 편집된다고 가정함), 또는 다른 이진 파일에 포함된다.
- 또는, 다수의 이진 파일(각각의 이진 파일은 하나 또는 그 이상의 고객 애플리케이션을 포함함)의 형태로 고객 소프트웨어 프로그램에 포함된, 다수의 고객 애플리케이션이 있다. 이 경우에 레벨 1 인터페이스 애플리케이션은 이진 파일 (관련 이진 파일에 대하여, 고객 애플리케이션(들)을 포함하는 오브젝트 파일(들)은 레벨 1 인터페이스 애플리케이션을 포함하는 오브젝트 파일과 링크 편집된다는 가정함) 중에서 하나, 또는 다른 이진 파일에 포함된다.
"레벨 1"이라는 표현은 고객 애플리케이션(들) 및 메인 소프트웨어 프로그램에 포함된 애플리케이션(들) 사이의 관계에 관련된 실체(entity)를 나타내기 위해서 사용된다. "레벨 1 실체" 는 메인 소프트웨어 프로그램에 포함된 애플리케이션과 연관된 실행 기능들(executive functions), 고객 애플리케이션(들), 또는 고객 애플리케이션(들) 및 메인 소프트웨어 프로그램에 포함된 애플리케이션(들) 사이의 인터페이스 애플리케이션과 연관된 소스 기능(source functions)이다.
계속하여, "레벨 2"이라는 표현은, 무선통신 모듈 제어에 관련된 발명의 하나의 특별한 실시예에 있어서, 2 개의 고객 애플리케이션 사이의 관계에 관련된 실체를 나타낸다. 이러한 "레벨 2 실체"는 특히 제어 명령(예를 들어, AT 표준에 따라 특정한 실행 기능 및 소스 기능, 또는 그들 사이의 인터페이싱을 위한 애플리케이션이다.
바람직하게는, 상기 고객 소프트웨어 프로그램은 전역적 초기화(global initialization) 고객 애플리케이션과, 적어도 하나의 실시간 태스크를 수행하는 적어도 하나의 고객 태스크 애플리케이션을 포함한다. 상기 전역적 초기화 고객 애플리케이션과 연관된 일련의 레벨 1의 소스 기능은 레벨 1의 전역적 초기화 소스 기능을 포함하고, 그것의 역할은 메인 소프트웨어 프로그램이 초기화하고 각각의 고객 태스크 애플리케이션과 대화할 수 있는 정보를 메인 소프트웨어 프로그램에 제공하는 것이다.
이러한 방법에 있어서는, 메인 소프트웨어 프로그램은 전역적 초기화 고객 애플리케이션을 인가(launch)하기 위해서 레벨 1의 전역적 초기화 소스 기능을 하는 것만이 필요하다. 따라서, 각각의 고객 태스크 애플리케이션에 대해서 대화 포인트(dialogue points)(레벨 1 메시지 초기화 및 소스 기능의 처리)를 알 필요가 없다. 그 대화 포인트는 다음에 상세하게 제시된다.
바람직하게, 상기 고객 소프트웨어 프로그램은, 각각 일련의 레벨 1의 소스 기능과 연관되고, 각각 적어도 하나의 별개의 실시간 태스크를 수행하는 적어도 2 개의 고객 태스크 애플리케이션을 포함한다. 상기 메인 소프트웨어 프로그램 및/또는 상기 고객 소프트웨어 프로그램은, 실시간 멀티-태스크 연산을 할 수 있도록, 상기 고객 태스크 애플리케이션간의 계산 자원을 공용하기 위한 수단을 포함한다.
바람직하게는, 각각의 고객 태스크 애플리케이션과 연관된 일련의 레벨 1의 소스 기능은 고객 태스크 애플리케이션을 초기화시키는, 레벨 1의 초기화 소스 기능을 포함한다. 이 레벨 1 초기화 소스 기능은 관련된 고객 태스크 애플리케이션에 의해서 수행된 태스크를 초기화하기 위해서 메인 소프트웨어 프로그램에 의해서 한번 호출된다.
바람직하게, 전역적 초기화 소스 기능에 의해서 메인 소프트웨어 프로그램에 제공되는 상기 정보는:
- 초기화될 고객 태스크 애플리케이션의 수, 및
- 초기화될 각각의 고객 태스크 애플리케이션에 대하여, 대응되는 레벨 1 초기화 소스 기능을 포함한다.
바람직하게는, 각각의 고객 태스크 애플리케이션과 연관된 일련의 레벨 1 소스 기능은 메인 소프트웨어 프로그램으로부터의 메시지를 수신하고 처리하는 레벨 1의 소스 기능을 포함하고, 상기 레벨 1 수신 및 처리 소스 기능의 파리미터는 메시지이다.
초기화 소스 기능은 관련된 고객 태스크 애플리케이션에 의해서 수행된 태스크를 초기화하기 위해서 메인 소프트웨어 프로그램에 의해서 한번 호출된다. 메시지를 수신하고 처리하는 레벨 1의 소스 기능은 메인 소프트웨어 프로그램이 관련 고객 태스크 애플리케이션에 메시지를 전송하는 각각의 경우에 호출된다. 각각의 고객 애플리케이션은 메시지를 수신하고 처리하는 레벨 1의 소스 기능을 갖는다.
바람직하게 레벨 1의 전역적 초기화 소스 기능에 의해서 메인 소프트웨어 프로그램에 제공되는 상기 정보는 추가로, 초기화될 각각의 고객 태스크 애플리케이션에 대해서, 레벨 1의 수신 및 처리 소스 기능을 포함한다.
이러한 방법에 있어서는, 메인 소프트웨어 프로그램은 레벨 1 초기화 소스 기능과, 레벨 1 수신 및 처리 소스 기능의, 각각의 고객 애플리케이션을 갖는 2 개의 대화 포인트(레벨 1 소스 기능)를 갖는다.
본 발명의 특정한 실시예에 있어서, 각각의 고객 태스크 애플리케이션과 연관된 일련의 레벨 1 소스 기능은 메인 소프트웨어 프로그램에 의해서 관리되는 메일박스 서비스에 가입하여, 상기 고객 태스크 애플리케이션에 특정되고, 그것이 적어도 하나의 미리 결정된 소스로부터 오는 정보를 수신하기를 바라는 메일박스를 상기 고객 태스크 애플리케이션에 할당하도록 하는 레벨 1 소스 기능을 포함한다.
바람직하게는, 각각의 미리 정해진 정보 소스는, 상기 메인 소프트웨어 프로그램에 의해서 수행되는 적어도 하나의 메인 태스크에 할당되고, 상기 메인 태스크가 하나 또는 그 이상의 다른 실체에 통신하기를 바라는 정보를 포함하고 있는 메일박스이다. 메인 태스크가 정보를 전송하고자 하는 다른 실체(들)는 고객 태스크 애플리케이션 및/또는 다른 메인 태스크이다.
본 발명의 바람직한 실시예에 있어서, 고객 소프트웨어 프로그램은 적어도,
- 적어도 하나의 고객 제어 애플리케이션에 의해서 상기 제1 애플리케이션에 전송되고 미리 정해진 일련의 제어 명령에 속하는, 제어 명령어를 실행하는 제1 실시간 태스크를 수행하는 제1 고객 애플리케이션 - 여기서, 상기 제1 고객 애플리케이션은, 제어 명령어에 특정되고, 상기 제어 명령어의 적어도 하나가 실행되도록 하는 일련의 레벨 2의 실행 기능에 기초함-;
- 제2 의 실시간 태스크를 수행하는 제2 고객 애플리케이션, 여기서, 제2 고객 애플리케이션은 다음의 역할 중 적어도 하나의 역할을 수행함,
-* 제어 명령어를 상기 제1 고객 애플리케이션에 전송하고, 몇 개의 제어 명령어의 실행으로부터 생기는 고객 애플리케이션 응답을 수신하는 고객 제어 애플리케이션의 역할,
-* 고객 제어 애플리케이션에 의해서 전송된 제어 명령어의 실행을 관리하는 고객 관리 애플리케이션의 역할, 여기서, 상기 고객 애플리케이션은 외부에 있고, 상기 무선통신 모듈과 관계되는 제 3 자 장비에 의해서 호스트 되고 구동됨;
-* 상기 제2 고객 애플리케이션은 특히, 일련의 레벨 2의 소스 기능에 기초하고 있고, 상기 제어 명령어에 특정되고, 각각은 제1 고객 애플리케이션으로 전송되거나 또는 제1 고객 애플리케이션으로부터 수신되는 명령을 제어하기 위한 명령 또는 응답을 제어하도록 함; 및
- 상기 제어 명령어에 특정되고, 상기 레벨 2 소스 및 실행 기능이 인터페이스 되는 레벨 2 인터페이스 애플리케이션, 여기서, 상기 제2 레벨 인터페이스 애플리케이션은 상기 레벨 1 인터페이스 애플리케이션에 기초하고 있음; 을 포함한다.
이러한 방법에 의해서, 본 발명은 무선통신 모듈에 있어서 새로운 소프트웨어 구조를 제공하고, 직접적이고(straight forward)이고 저가의 새로운 무선통신 모듈 제어 기술을 지원하는 것이 가능하게 된다.
본 발명의 새로운 무선통신 모듈 제어 기술은, 무선통신 모듈에서,
- 제어 명령(예를 들어, AT 명령)을 실행할 수 있는 제1 고객 애플리케이션, 실제적으로, 이러한 제1 고객 애플리케이션은 무선통신 모듈 생산자에 의해서 제공된다.
- 무선통신 모델을 제어 및/또는 관리하여, 제1 고객 애플리케이션이 명령을 실행할 수 있는 제2 고객 애플리케이션,
을 포함하는 고객 소프트웨어 프로그램을 호스팅 하는 기술에 관한 것이다.
무선통신 모듈을 제어하는 제2 고객 애플리케이션에 있어서, 무선통신 모듈을 제어하는 것에 의해서 자치적이고 저가의 연산이 제공된다. 이러한 무선통신 모듈은 제 3 자 장비와 관련될 필요가 없고, 메인 소프트웨어 프로그램 및 고객 소프트웨어 프로그램은 동일한 자원(동일한 프로세서 및 동일한 메모리)을 사용한다.
무선통신 모듈을 관리하는 제2 고객 애플리케이션에 있어서, 무선통신 모듈을 관리하는 것은 고객 제어 소프트웨어 프로그램을 구동하는 제 3 자 장비에 대해서 슬레이브의 역할에 제한되지 않는다. 제2 고객 애플리케이션은 제 3 자 장비에의해서 구동되는, (외부) 고객 제어 소프트웨어 프로그램에 의해서 요청된 제어를 관리한다. 이러한 경우에 있어서, 내장(embedded)된 고객 소프트웨어 프로그램은 선행 기술의 구성에 관계된 추가적인 소프트웨어 프로그램이다. 그러나, 이러한 추가적인 소프트웨어 프로그램은 그것이 무선통신 모듈에 의해서 호스트된 메인 소프트웨어 프로그램과 동일한 자원(프로세서 및 메모리)을 사용하기 때문에, 저가이다.
상기 제2 고객 애플리케이션이 고객 제어 애플리케이션의 역할을 수행하도록 하기 위해서,
- 상기 제2 고객 애플리케이션은 상기 제1 고객 애플리케이션에 포함된 실행 수단에 제어 명령어를 송신하는 수단을 포함하고;
- 상기 제1 고객 애플리케이션은, 상기 제1 고객 애플리케이션에 포함된 실행 수단에 의해서 상기 제어 명령의 일부의 실행으로부터 발생하는 응답을 제2 고객 애플리케이션에 전송하는 수단을 포함하고;
- 상기 제2 고객 애플리케이션은 상기 제1 고객 애플리케이션에 의해서 전송된 응답을 처리하는 수단을 포함한다.
바람직하게는, 제2 고객 애플리케이션이 고객 관리 애플리케이션의 역할을 수행하기 위하여,
- 상기 제1 고객 애플리케이션은, 사전 설정된 명령 스위칭 정책의 기능으로서, 외부 고객 애플리케이션으로부터 오는 제어 명령어를 제2 고객 애플리케이션 및/또는 상기 제1 고객 애플리케이션에 포함된 실행 수단에 전송하기 위한 명령 스위칭 수단을 포함하고,
- 상기 제2 고객 애플리케이션은, 상기 명령 스위칭 수단에 의해서 스위칭된 제어 명령을 처리하는 수단을 포함한다.
또한, 바람직하게는, 상기 제2 고객 애플리케이션은,
- 외부 고객 애플리케이션으로부터의 제어 명령은 상기 제1 고객 애플리케이션에 포함된 실행 수단으로만 전송되고,
- 상기 외부 고객 애플리케이션으로부터의 제어 명령은 상기 제2 고객 애플리케이션으로만 전송되고,
- 상기 외부 고객 애플리케이션으로부터의 제어 명령은 상기 제1 고객 애플리케이션 및 제2 고객 애플리케이션에 포함된 실행 수단에 전송되는
일련의 명령 스위칭 정책 중에서, 상기 명령 스위칭 수단에 의해서 인가된 명령 스위칭 정책을 선택하는 수단을 포함한다.
바람직하게는, 상기 명령 처리 수단은, 각각의 명령에 대해서,
- 제1 고객 애플리케이션에 포함된 실행 수단에 제어 명령을 전송하고, 상기 제2 고객 애플리케이션은 제어 명령을 실행 수단에 전송하는 단부 수단(end means)을 포함하고;
- 제2 고객 애플리케이션은, 제2 고객 애플리케이션을 통하여, 외부 고객 애플리케이션에 응답을 전송하는 단부 수단을 포함하고, 명령을 실행하지 않고, 명령에 관계된 적어도 일부의 정보의 기능으로 응답을 제공하거나, 제공하지 않는 그룹 중에 속하는지를 결정한다.
바람직하게는, 제2고객 애플리케이션이 고객 관리 애플리케이션의 역할을 수행하도록 하기 위해서,
- 상기 제1 고객 애플리케이션은, 제1 고객 애플리케이션에 포함된 실행 수단에 의한 제어 명령의 일부의 실행으로부터 발생하는 응답을, 제2 고객 애플리케이션 및/또는 외부 고객 애플리케이션에 전송하기 위해서, 사전 설정된 응답 스위칭 정책의 기능으로서, 응답 스위칭 수단을 포함하고;
- 제2 고객 애플리케이션은 상기 응답 스위칭 수단에 의해서 처리 응답 수단으로 스위치 되는 처리응답 수단을 포함한다.
바람직하게는, 제2 고객 애플리케이션은,
- 실행 수단으로부터의 응답들은, 외부 고객 애플리케이션으로 유일하게 전송되고;
- 상기 실행 수단으로부터의 응답은 제2 고객 애플리케이션으로 전송되고;
- 상기 실행 수단으로부터의 응답은 제2 고객 애플리케이션 및 외부 고객 애플리케이션으로 전송되는
일련의 응답 스위칭 정책 중에서, 상기 응답 스위칭 수단에 의해서 인가되는 응답 스위칭 정책을 선택하는 수단을 포함한다.
바람직하게는, 상기 일련의 레벨 2 소스 기능은, 제1 애플리케이션으로부터의 메시지를 처리하는 기능을 포함한다. 여기서, 상기 처리하는 기능의 하나의 파리미터는 상기 메시지이다.
바람직하게는, 상기 일련의 제어 명령은 일련의 표준 AT 명령이다. 이것은,AT 명령이 이미 공지되었고, 외부 고객 소프트웨어 프로그램(제 3 자 장비에 의해서 호스트된)을 개발하기 위해서 사용되고 있기 때문에, 제1 및 제2 고객 애플리케이션의 신속한 개발을 가능하게 한다. 또한, 이것은 기존의 외부 고객 소프트웨어 프로그램에 밀접하게 기초한 제2 고객 애플리케이션이 개발을 용이하게 한다.
바람직하게는, 상기의 일련의 제어 명령은, 표준 AT 명령과 무관하게, 외부 고객 애플리케이션이 제2 고객 애플리케이션을 디스에이블 시키도록 하는, 추가적인 AT 명령, 소위 디스에이블 하는 명령을 포함한다.
본 발명의 일실시형태에서, 상기 제2 고객 애플리케이션은 메인 고객 서브 애플리케이션 및 적어도 하나의 부 고객 서브 애플리케이션, 상기 주 고객 서브 애플리케이션의 슬레이브(slave), 상기 메인 고객 서브 애플리케이션 및 상기 적어도 하나의 부 고객 서브 애플리케이션 사이에 할당된 상기 제2 고객 애플리케이션에 의해 수행되는 처리 연산을 포함한다.
따라서, 본 실시형태는 전술한 새로운 무선통신 모듈 제어 기술의 문맥(context) 내에 설정된다.
이 문맥에서, 제2 “단일 블록(single block)” 고객 애플리케이션이 아니라 제2 “분산된(distributed)"("다중 블록(multi-block)") 고객 애플리케이션을 사용할 것이 제안된다. 상기 제2 ”분산된“ 고객 애플리케이션은, 하나 또는 그 이상의 부 고객 서브 애플리케이션과 결합된 메인 고객 서브 애플리케이션을 포함한다. 각각의 부 고객 서브 애플리케이션은 시작 및 종료 시 이를 호출하는 메인 고객 서브 애플리케이션의 슬레이브 서브 애플리케이션이다. 그러나, 일단 초기화되면, 부고객 서브 애플리케이션은 메인 고객 서브 애플리케이션과는 독립적으로 제1 고객 애플리케이션에 의해 제공되는 모든 실행 기능에 액세스(access)한다(하기에 설명되는 제1 고객 애플리케이션으로부터 메시지 전송용 서비스에 가입하는(subscribing) 메커니즘을 통해).
부 고객 서브 애플리케이션은 제 3 자 개발자 (일반적으로 무선통신 모듈 제작자)에 의해 고객에게 제공될 수 있는 “기초 블록(elementary block)"이다. 이러한 방법에서, 고객은 하나 또는 그 이상의 부 고객 서브 애플리케이션을 호출함으로써 일부 처리 동작을 계약하는(sub-contract) ”메인 고객 서브 애플리케이션“만 개발하므로 고객의 개발 작업이 감소된다.
고객이 개발중인 다른 메인 고객 서브 애플리케이션에서 고객이 부 고객 서브 애플리케이션을 호출할 수 있기를 원한다면, 고객 자신은 부(secondary) 고객 서브 애플리케이션을 개발할 수 있다는 점을 유념해야 할 것이다.
바람직하게, 상기 레벨 1 초기화 소스(source) 기능은, 제2 고객 태스크 애플리케이션과 연관된 일련의 레벨 1 소스 기능에 포함되며, 메인 고객 서브 애플리케이션을 초기화시킨다.
바람직하게, 메인 고객 서브 애플리케이션은 제1 고객 애플리케이션으로부터 메시지를 전송하는 서비스에 가입하는 레벨 2 소스 기능을 포함하는 일련의 레벨 2 소스 기능과 관련된다. 가입시, 메인 고객 서브 애플리케이션은 소스 기능을 처리하는 레벨 2 메시지의 주소를 제1 고객 애플리케이션에 전송한다. 이 때, 메인 고객 서브 애플리케이션은 제1 고객 애플리케이션으로부터 메시지를 수신하기를 원한다.
메인 고객 서브 애플리케이션이 제1 고객 애플리케이션에 의해 제공되는 모든 실행 기능을 호출하게 하는 제1 고객 애플리케이션으로부터 메시지를 전송하고, 또한, 제1 고객 애플리케이션에 의해 전송되는 메시지를 수신할 수 있는 서비스에 가입하기 위한 메커니즘이다.
바람직하게는, 부 고객 서브 애플리케이션은 메인 고객 서브 애플리케이션에 의해서 호출되는, 부 고객 서브 애플리케이션을 초기화하는 레벨 2 소스 기능을 포함하는 일련의 레벨 2 소스 기능과 연관된다.
이러한 방법에 있어서, 메인 고객 서브 애플리케이션은 이러한 대화 포인트("레벨 2 부 고객 서브 애플리케이션 초기화 소스 기능), 및 아래에서 기재될 그것의 카운터파트("레벨 2 부 고객 서브 애플리케이션 정지 소스 기능")를 알아야 한다. 이것이 메인 고개 서브 애플리케이션 및 부 고객 서브 애플리케이션 사이의 대화 문제를 해결하기 위한 직접적이고 효과적인 방법이다. 부 고객 서브 애플리케이션의 개발자는 고객이 자신의 메인 고객 서브 애플리케이션에 병합하고자 하는 고객의 수와 동일한 수의 버전으로 부 고객 서브 애플리케이션을 기술하여야 한다. 부 고객 서브 애플리케이션의 개발자는 고객들에게 앞에 언급된 2 개의 대화 포인트를 지시하면 된다.
부 고객 서브 애플리케이션의 2 명의 개발자는 동일한 대화 포인트를 사용하여서는 안된다는 것에 유의하여야 한다. 그러한 목적을 위해서, 예를 들어, 각각의 개발자가 개발하기를 원하는 각각의 부 고객 서브 애플리케이션에 대한 고유한 식별자(unique identifier)를 중앙 서비스로부터 요청하기 위한 규정이 만들어져야한다.
또한, 메인 고객 서브 애플리케이션 및 부 고객 서브 애플리케이션 사이의 대화 메커니즘은 부 고객 서브 애플리케이션이 메인 고객 서브 애플리케이션에게 그의 태스크 또는 태스크들의 실행의 결과를 전송하도록 하여야 한다. 그 대화는 양 방향 또는 단 방향일 수 있다.
바람직하게는, 부 고객 서브 애플리케이션과 연관된 일련의 레벨 2 기능은 제1 고객 애플리케이션으로부터의 메시지를 전송 서비스에 가입하는 레벨 2 기능을 포함한다. 가입시에, 부 고객 서브 애플리케이션은 제1 고객 애플리케이션에게 메시지를 처리하는 레벨 2 소스 기능의 어드레스를 전송한다. 여기서, 부 고객 서브 애플리케이션은 제1 고객 애플리케이션으로부터 메시지를 수신하기를 원한다.
바람직하게는, 상기 레벨 2 부 고객 서브 애플리케이션 초기화 소스 기능은 대화 메커니즘이 메인 고객 서브 애플리케이션 및 부 고객 서브 애플리케이션 사이에 구현될 수 있도록 하는 적어도 하나의 파리미터를 포함한다.
바람직하게는, 상기 부 고객 서브 애플리케이션과 연관된 일련의 레벨 2 소스 기능은, 메인 고객 서브 애플리케이션에 의해서 호출되는, 레벨 2 부 고객 서브 애플리케이션 정지 소스 기능을 포함한다.
바람직하게는, 상기 부 고객 서브 애플리케이션과 연관된 일련의 레벨 2 소스 기능은 제1 고객 애플리케이션으로부터의 메시지를 전송하는 서비스로부터 가입을 해지하는 레벨 2 소스 기능을 포함한다.
또한, 본 발명은 메인 무선통신 모듈 소프트웨어 프로그램의 적어도 일부의 기능성에의 액세스를 개시할 수 있는 프로세스에 관련된다. 본 발명의 모듈은, 시스템 운영(OS) 관리 애플리케이션, 무선통신 (계층 3 GSM) 관리 애플리케이션, 및 무선통신 모듈(HWL)에 연결될 수 있는 주변 장치를 관리하기 위한 애플리케이션을 포함하는 메인 소프트웨어 프로그램을 호스트하고 구동할 수 있는 유형이라고 가정된다. 본 발명에 의하면, 메인 소프트웨어 프로그램에 포함된 각각의 애플리케이션은 일련의 레벨 1 실행 기능과 연관된다.
무선통신 모듈은, 일련의 레벨 1 소스 기능과 연관된, 적어도 하나의 고객 애플리케이션을 포함하는 적어도 하나의 고객 소프트웨어 프로그램을 추가적으로 호스트하고 구동한다. 메인 소프트웨어 프로그램 및/또는 고객 소프트웨어 프로그램은, 상기 고객 애플리케이션과 연관되어, 상기 시스템 운영 관리 애플리케이션과 연관되어, 또한, 적어도 하나의 상기 무선통신 관리 및 주변 장치 관리 애플리케이션과 연관되어, 레벨 1 소스 기능이 레벨 1 실행 기능과 인터페이스될 수 있도록 허용하는 레벨 1 소스 기능을 포함한다.
따라서, 본 발명은 동일한 일련의 소스(프로세스 및 메모리)를 가지고 메인소프트웨어 프로그램 및 (적어도) 하나의 내장된 고객 소프트웨어 프로그램을 호스트하고 구동하는 무선통신 모듈에 관한 것이다.
통상적으로, 도 1 에 도시된 바와 같이, 메인 소프트웨어 프로그램 (3)은
- 무선통신 모듈에 연결될 수 있는 주변 장치를 관리하기 위한 애플리케이션인, "HWL"블록 (3a);
- 태스크 관리자, 메모리 관리자, 시간 지연 관리자 등과 같은 시스템 측면을 관리하는, 시스템 운영 관리 애플리케이션인, "OS" 블록 (3b);
출력 및 입력 호 관리, 단문 메시지(short text message) 수신 및 송신 관리 등과 같은 네트워크 측면을 관리하는, 무선통신 관리 애플리케이션인 "계층 3 GSM" 블록을 포함한다.
3 개의 "HWL", "OS", "계층 3 GSM" 블록의 각각은 일련의 레벨 1 실행 기능과 연관된다.
도 1에 도시된 특정 실시예에 있어서, 내장된 고객 소프트웨어 프로그램 (6)(본 발명에 특정한 개념)은,
- 고객 초기화 애플리케이션(6a) 및 2개의 고객 태스크 애플리케이션 no. 1 및 no. 2 (6b, 6c) 등의, 각각이 일련의 레벨 1 소스 기능과 연관된 3 개의 고객 애플리케이션,
- 레벨 1 소스 애플리케이션(고객 애플리케이션 6a, 6b, 및 6c 와 연관된)이 레벨 1 실행 기능 ( "HWL"(3a), "OS"(3b), "계층 3 GSM"(3c) 블록과 연관된 )과 인터페이스 하도록 하는 레벨 1 인터페이스 애플리케이션(6d)을 포함한다.
이러한 방법에 의해서, 고객 애플리케이션(6a, 6b, 6c)은 레벨 1 인터페이스 애플리케이션(6d)을 통하여, "HWL"(3a), "OS"(3b), "계층 3 GSM"(3c) 블록과 통신한다. 이러한 목적을 위해서, 각각의 구성요소는 "API" (Application Programming Interface: 애플리케이션 프로그래밍 인터페이스)를 포함한다. "API" 인터페이스는 임의의 기능적 설정에 관련된 통신 법칙을 기재하는 것이라는 것을 유의하라.
각각의 고객 애플리케이션(6a, 6b, 6c)은 고객 애플리케이션에 특정된 기능을 설명하는 인터페이스를 형성하는 "애플리케이션 위임(Application Mandatory) API" 블록을 포함한다. 상기한 고객 애플리케이션의 "애플리케이션 위임 API" 블록은 엄격하게 상이할 필요가 없다.
레벨 1 인터페이스 애플리케이션 (또는, 애플리케이션 인터페이스 라이브러리)(6d)은 다음의 4 개의 블록을 포함한다.
- "HW" 블록 (3a)에의 액세스를 설명하는 인터페이스를 형성하는 "HWL API" 블록, 이 인터페이스는 레벨 1 애플리케이션 인터페이스 라이브러리에 있는 기능을 설명한다.
- "OS" 블록 (3b)에의 액세스를 설명하는 인터페이스를 형성하는 "OS API" 블록, 이 인터페이스는 레벨 1 애플리케이션 인터페이스 라이브러리에 있는 기능을 설명한다.
- "계층 3 GSM" 블록 (3c)에의 액세스를 설명하는 인터페이스를 형성하는 "계층 3 GSM API" 블록, 이 인터페이스는 레벨 1 애플리케이션 인터페이스 라이브러리에 있는 기능을 설명한다.
- 표준 기능에의 액세스를 설명하는 인터페이스를 형성하는 "표준 API" 블록, 이 인터페이스는 레벨 1 애플리케이션 인터페이스 라이브러리에 있는 기능을 설명한다.
메인 소프트웨어 프로그램 측(3)에는:
- "HWL" 블록(3a)은, 레벨 1 인터페이스 애플리케이션(6d)에 포함되는 동일한 이름의 블록과 대응되는, "HWL API" 블록을 포함한다.
- "OS" 블록(3b)은, 레벨 1 인터페이스 애플리케이션(6d)에 포함되는 동일한 이름의 블록과 대응되는, "OS API" 블록을 포함한다.
- "계층 3 GSM" 블록(3c)은, 레벨 1 인터페이스 애플리케이션(6d)에 포함되는 동일한 이름의 블록과 대응되는, "계층 3 GSM API" 블록을 포함한다.
레벨 1 인터페이스 애플리케이션(6d)은 예를 들면, 라이브러리(이미 컴파일된)의 형태로 제시되는, 이진 파일이다.
메인 소프트웨어 프로그램(3)은, 특별히 "HWL"(3d), "OS"(3b) 및 "계층 3 GSM"(3c) 블록을 포함하는 소스파일의 컴파일의 결과로 생기는, 복수의 객체 파일사이의 링크 편집으로부터 생기는, 예를 들어 이진 파일이다.
고객 애플리케이션 (6a)(6b)(6c)에 대해서,
- 고객 애플리케이션을 포함하는 객체 파일을 특히 포함하는 링크 편집의 결과로 생기는 동일한 이진 파일의 형태인 고객 소프트웨어 프로그램(6)에 포함된 고객 애플리케이션, 또는
- 몇 개의 이진 파일(각각의 이진 파일은 하나 또는 그 이상의 고객 애플리케이션을 포함한다) 의 형태로 고객 소프트웨어 프로그램 (6)에 포함된 고객 애플리케이션 중 하나의 변수가 생각할 수 있다.
내장된 고객 소프트웨어 프로그램(6) 및 메인 소프트웨어 프로그램(3)은 각각 동일한 랜덤 액세스 메모리(RAM)의 상이한 부분을 사용한다. 고객은 내장된 고객 소프트웨어 프로그램을 적합하게 구동하기 위해서 필요한 메모리 스택의 크기를 특정한다. 다른 소프트웨어 프로그램을 위해서 할당된 랜덤 액세스 메모리의 부분에 액세스하기 위한 2 개의 소프트웨어 프로그램 중에서 하나에 의한 시도는 동작을 정지시킨다.
고객 소프트웨어 프로그램 (6)에 포함된 고객 애플리케이션 (6a, 6b, 6c)을 시작하기 위한 메커니즘은 도 2를 참조하여 이하에서 설명된다.
무선통신 (1)에 포함된 구성요소와, 도 2에 관련되어 이미 제시된 구성요소는 동일한 참조번호에 의해서 설명된다.
이 메커니즘에서의 각각의 스태이지는 관련되는 스태이지의 숫자가 기재된 서클에 의해서 도 2에 도시된다. 이하에서 설명되는 본 발명에 대한 도면에서도 동일한 규정이 채용되어 설명된다(그 도면의 설명에서는 이하에서 자세히 설명된다).
고객 애플리케이션 (6a, 6b, 6c)에 대한 개시 메커니즘의 동작은 다음과 같이 정리된다.
- 단계 "1" : 메인 소프트웨어 프로그램 (3)은 고객 초기화 애플리케이션 (6a)의 존재를 검출하고, OS 관리자 (3b)(위에서 설명된 "OS 블록"에 대한 다른 이름)에 의해서 그것을 개시한다:
- 단계 "2" : 고객 초기화 애플리케이션 (6a)은 레벨 1 인터페이스 애플리케이션 (6d)을 통하여 개시된다. 레벨 1 인터페이스 애플리케이션 (6d)은 (레벨 1)의 전역적 초기 설정 소스 기능에서 고객 초기화 애플리케이션(6a)을 호출한다. 이러한 소스 기능 ("wm_apmGlobalInit_level1()")은 다음의 설명에서 상세하게 제시된다.
- 단계 "3" : 고객 초기화 애플리케이션 (6a)에서, 소스 기능(wm_apmGlobalInit_level1()"은 메인 소프트웨어 프로그램이 초기화되고 각각의 고객 태스크 애플리케이션(6b,6c)과 상호 대화하도록 하는 정보를 메인 소프트웨어 프로그램에 제공하는 전역적 초기 설정을 수행한다. 이러한 정보는 예를 들어 다음과 같다:
- 내장된 고객 소프트웨어 프로그램에 포함된 고객 태스크 애플리케이션의 수 (위에서 설명된 예에서 2 개),
- 이러한 고객 태스크 애플리케이션의 각각과 연관된 대화 기능. 이러한 대화 소스 기능 ("AppliInit_nx_level1" 및 "AppliParser_nx_level1)은 상세한 설명의 나머지 부분에서 상세하게 제시된다:
- 단계 "4": 메인 소프트웨어 프로그램에서, OS 관리자(3b)는 각각의 초기화 기능 (AppliInit1_level1 및 "AppliInit2_level1")을 호출하는 것에 의해서 고객 태스크 애플리케이션(6b, 6c)을 초기화한다.
고객 소프트웨어 프로그램(6)에 포함된 2 개의 고객 태스크 애플리케이션 (6b, 6c) 사이의 대화를 위한 메커니즘은 도 3을 참조하여 설명된다.
이 메커니즘의 동작은 다음과 같이 요약된다:
- 단계 "1" : 메인 소프트웨어 프로그램(3)은 레벨 1 인터페이스 애플리케이션 (6d)을 통하여 소스 기능 "AppliInit1_level1()" 을 호출하여 고객 태스크 애플리케이션을 초기화한다. 이 소스 기능은 기능 ("wm_osStartTimer_level()")을 호출하여 메인 소프트웨어 프로그램에서 시간 지연을 트리거한다;
- 단계 "2" : 인터페이스 애플리케이션(6d)은, 메인 소프트웨어 프로그램에서, 적당한 실행 기능(들)을 호출한다;
- 단계 "3" : 메인 소프트웨어 프로그램 3에서, OS 관리자 (3b)는, 인터페이스 애플리케이션(6d)을 통하여, 시간 지연을 설정한 제1 고객 태스크 애플리케이션에게 통보한다;
- 단계 "4" : 시간 지연이 종료되면, OS 관리자(3b)는, 인터페이스 애플리케이션 (6d)을 통하여, 시간 지연을 설정한 제1 고객 태스크 애플리케이션에게 통보한다;
- 단계 "5" : 인터페이스 애플리케이션(6d)을 통하여, 제1 고객 태스크 애플리케이션에서, 앞에서 언급되었던 소스 기능 "AppliParser1_level1()"을 호출하는, 제1 고객 태스크 애플리케이션과의 대화가 실시된다;
- 단계 "6" : 제1 고객 태스크 애플리케이션에서, 호출된 소스 기능 "AppliParser1_level1()"은, 소스 기능 "wm_osSendMsg_level1()"(이하에서 상세히 제시됨)을 호출하는 제2 고객 태스크 애플리케이션에 메시지를 전송한다;
- 단계 "7" : 인터페이스 애플리케이션 (6d)은, 메인 소프트웨어프로그램(3)에서, 적절한 실행 기능(들)을 호출한다;
- 단계 "8" : 메인 소프트웨어 프로그램(3)에서, OS 관리자 (3b)는 메시지를 제2 고객 태스크 애플리케이션에 전송하는, 요청된 처리를, 인터페이스 애플리케이션을 통하여 수행한다;
- 단계 "9" : 제2 고객 태스크 애플리케이션에서 앞에서 언급된 소스 기능 "AppliParser2_level1()"을 호출하는, 제2 고객 태스크 애플리케이션과의 대화가 인터페이스 애플리케이션(6d)에 의해서 수행된다;
- 단계 "10": 제2 고객 태스크 애플리케이션에서, 호출된 소스 기능 "AppliParser2_level1()"은 수신된 메시지를 처리한다.
고객 애플리케이션에서, "HWL" 블록에 관련된 레벨 1 소스 기능을 호출하는 메커니즘은 도 4를 참조하여 이하에서 상세하게 개시된다.
시간 지연은 제1 고객 태스크 애플리케이션에 의해서 설정되고, 고객 태스크 애플리케이션은 그 시간 지연의 경과를 기다리는 것으로 가정한다.
이 사례에서는, HWL 관리자 (3a)에의 호출은 제1 고객 태스크 애플리케이션에 의해서 만들어진다. 호출이 내장된 고객 소프트웨어 프로그램의 다른 고객 태스크 애플리케이션에 의해서 만들어진다면, 이 사례는 유효하다는 것은 명확하다.
이 메커니즘의 동작은 다음과 같이 요약된다:
- 단계 "1" : 시간 지연이 경과하면, OS 관리자 (3b)는 인터페이스 애플리케이션 (6d)을 통하여, 시간 지연을 설정한 제1 고객 태스크 애플리케이션에게 통보한다;
- 단계 "2" : 제1 고객 태스크 애플리케이션에서 소스 기능 "AppliParser1_level1()"을 호출하는 제1 고객 태스크 애플리케이션과의 대화가, 인터페이스 애플리케이션 (6d)을 통하여 수행된다;
- 단계 "3" : 제1 고객 태스크 애플리케이션에서, 소스 기능 "AppliParser1_level1()은, 예를 들어, Eeprom 메모리에 저장된 값을 판독하기 원한다. 이것을 하기 위해서, 제1 고객 태스크 애플리케이션은 "wm_hwlE2pRead_level1()" 기능을 호출한다;
- 단계 "4" : 메인 소프트웨어 프로그램(3)에서, 인터페이스 애플리케이션 (6d)은 HWL 관리자 (3a)에서 적절한 실행 기능(들)을 호출한다.
- 단계 "5" : 메인 소프트웨어 프로그램(3)에서, HWL 관리자 (3a)는 Eeprom 메모리에 저장된 값을 판독하는, 요청된 처리를 수행한다. 그리고, 제1 고객 태스크 애플리케이션은, 인터페이스 애플리케이션 (6d)을 통하여 판독된 값을 제1 고객 태스크 애플리케이션으로 다시 보낸다.
위에서 언급된 "wm_hwlE2pRead_level1()" 기능은 "HWL" 블록에 관련된 복수의 레벨 1 소스 기능 중에서 하나의 예이다.
고객 애플리케이션에 있어서, "계층 3 GSM" 블록에 관련된 레벨 1 소스 기능을 호출하기 위한 메커니즘은 다음의 도 5를 참조하여 제시된다.
도 4에 대한 설명을 통해 전술한 가설 및 관찰은 도 5에도 적용된다.
본 메커니즘의 작동은 다음과 같이 요약될 수 있다:
-단계 "1":시간 지연이 종료될 때, OS 관리자(3b)는 인터페이스 애플리케이션(6d)을 통해 시간 지연을 설정한 제1 고객 태스크(task) 애플리케이션에 통보한다;
-단계 "2":제1 고객 태스크 애플리케이션과의 대화는 제1 고객 태스크 애플리케이션 내에서 소스 기능 "AppliParser1_level1()"를 호출하는 인터페이스 애플리케이션(6d)을 통해 수행된다;
-단계 "3":제1 고객 태스크 애플리케이션 내에서, 예를 들어 소스 기능 "AppliParser1_level1()"은 네트워크에 메시지를 발신하기를 원한다. 이를 위해 상기 소스 기능 "AppliParser1_level1()"은 기능 "wm_osRtkSend_level1()"을 호출한다;
-단계 "4":인터페이스 애플리케이션(6d)은 메인 소프트웨어 프로그램(3) 내에서 적절한 실행 기능 또는 "계층 3 GSM" 관리자 내의 기능을 호출한다;
-단계 "5":메인 소프트웨어 프로그램(3) 내에서, "계층 3 GSM" 관리자(3c)는 요청되는 프로세스를 수행한다;
-단계 "6":프로세스(네트워크로 메시지를 발신) 및 네트워크로부터 응답을 수신한 후, 인터페이스 애플리케이션에 의해 "계층 3 GSM" 관리자(3c)는 제1 고객 태스크 애플리케이션에 통보한다;
-단계 "7":제1 고객 태스크 애플리케이션과의 대화는 제1 고객 태스크 애플리케이션 내에서 상기 소스 기능 "AppliParer1_level1()"를 호출하는 인터페이스 애플리케이션(6d)을 통해 수행된다;
-단계 "8":제1 고객 태스크 애플리케이션 내에서, 소스 기능"AppliParer1_level1()"는 수신된 메시지를 처리한다.
상기 기능 "wm_osRtkSend_level1()"은 "계층 3 GSM" 블록에 관련된 복수개의 레벨 1 소스 기능 가운데 단지 하나의 예에 불과하다는 점은 명백하다.
이하, 도 6을 참조하여, 고객 애플리케이션 내에서 "HWL" 블록 및 "계층 3 GSM" 블록에 관련된 레벨 1 소스 기능을 호출하는 메커니즘을 설명한다.
본 예에서, 제1 고객 태스크 애플리케이션은 Eeprom 메모리에 저장된 값을 읽고 이어 네트워크로 발신하기를 원한다고 가정한다. 제1 고객 태스크 애플리케이션은 다음과 상호작용 한다:
- "HWL" 블록(3a)(상기 도 4에서 단계 "1" 내지 단계 "5"에 해당하는 단계 "1" 내지 단계 "5")
-이어 "계층 3 GSM" 블록(3c)(상기 도 5에서 단계 "3" 내지 단계 "5"에 해당하는 단계 "3b", 단계 "6" 및 단계 "7").
도 7을 참조하면, 메인 소프트웨어 프로그램에 의해 관리되는 메일박스 서비스에 고객 애플리케이션을 가입하기 위한 메커니즘이 제시된다.
본 메커니즘은 다음과 같이 요약된다.
-단계 "1":시간 지연이 종료될 때, OS 관리자(3b)는 인터페이스 애플리케이션(6d)을 통해 시간 지연을 설정한 제1 고객 태스크 애플리케이션에 통보한다;
-단계 "2":제1 고객 태스크 애플리케이션과의 대화는 제1 고객 태스크 애플리케이션 내에서 소스 기능 "AppliParser1_level1()"를 호출하는 인터페이스 애플리케이션(6d)을 통해 수행된다;
-단계 "3":제1 고객 태스크 애플리케이션 내에서, 예를 들어 소스 기능 "AppliParser1_level1()"은 배터리(예를 들어, 로드 레벨 지시)에 관련된 정보에 대한 가입을 요청하기를 원한다. 이를 위해, 소스 기능 "AppliParser1_level1()"은, 지정되고 적어도 하나의 소정 소스(본 예에서 "배터리" 태스크)로부터 정보를 수신하기를 원하는 자신에게 할당된 메일박스를 얻기 위해 메인 소프트웨어 프로그램에 의해 관리되는 메일박스 서비스 관리에 가입하기 위한 소스 기능 "wm_MbxSubscribe()"을 호출한다. 이 소스 기능은 하기에 자세하게 설명한다;
-단계 "4":메인 소프트웨어 프로그램(3) 내에서, 인터페이스 애플리케이션(6d)은 "계층 3 GMS" 관리자(3c)에서 적절한 실행 기능 또는 기능들을 호출한다;
-단계 "5":메인 소프트웨어 프로그램(3) 내에서, "OS" 관리자(3b)는 요청되는 프로세스를 수행한다. 본 예에서, 이 프로세스는 배터리 정보의 어드레스로서 제1 고객 태스크 애플리케이션을 저장하는 것으로 구성된다;
-단계 "6":배터리 정보가 이용될 때, HWL 관리자(3a)는 이 정보를 인터페이스 애플리케이션(6d)을 통해 제1 고객 테스크 애플리케이션에 발신한다. 이를 위해, HWL 관리자(3a)는 이 정보가 어드레스 지정된 메일박스 또는 메일박스들을 찾아내도록 지속적으로 OS 관리자(3b)를 참고한다;
-단계 "7":제1 고객 테스크 애플리케이션과의 대화는, 제1 고객 태스크 애플리케이션 내에서 상기 소스 기능 "AppliParser1_level1()"을 호출하는 인터페이스 애플리케이션(6d)을 통해 수행된다;
-단계"8":제1 고객 태스크 애플리케이션 내에서, 소스 기능 "AppliParser1_level1()"은 수신된 배터리 정보를 처리한다.
"OS" 블록(3b)은 태스크 관리자를 포함한다는 점을 주지해야 한다. 태스크 관리자는 메인 소프트웨어 프로그램(3)에 의해 제공되는 태스크 및 고객 소프트웨어 프로그램(6)에 의해 제공되는 태스크를 모두 관리한다. 각 태스크는 메일박스와 관련되며, 메일박스는 이러한 태스크에 의해 생성된 정보의 소스가 된다. 이와 같은 방법으로, 하나의 태스크가 다른 태스크와 통신하기 원할 때마다 "OS" 블록 태스크 관리자를 사용한다. 메인 소프트웨어 프로그램(3)에서 일부 태스크는 내장된 고객 소프트웨어 프로그램(6)과 통신하기 위한 정보를 갖는다. 내장된 고객 소프트웨어 프로그램(6)은 어느 태스크 애플리케이션이 이 정보를 수신하기를 원하는지 결정할 수 있다. 이러한 방법으로 상기 예에서, 메인 소프트웨어 프로그램(3)의 "배터리" 태스크는 배터리 관리에 관련된 정보를 갖고, 그것은 제1 고객 태스크 애플리케이션이 관리한다(따라서 메일박스에 그것을 수신하기를 원한다).
도 8을 참조하면, 무선 통신 모듈 내에서 본 발명에 따른 소프트웨어 아키텍처에 의해 지원되는 새로운 무선 통신 모듈 제어 기술이 제시된다.
본 발명에 따른, 무선통신 모듈의 소프트 아키텍처의 일실시형태가 상기 도 1 내지 도 7을 참조하여 상기 설명되었다. 본 실시형태에서, 메인 소프트웨어 프로그램(3)은, "HWL" 블록(3a), "OS" 블록(3b) 및 "계층 3 GSM" 블록(3c)을 포함하며, 내장된 고객 소프트웨어 프로그램(6)은 고객 초기화 애플리케이션(6a), 제1 및 제2 고객 태스크 애플리케이션(6b, 6c) 및 레벨 1 인터페이스 애플리케이션(6d)을 포함한다.
이하의 설명에서, 제어 명령은 AT 명령인 것으로 간주한다. 보다 상세하게는, AT 명령에 관련하여, 하나의 측면에서 ETSI 표준 "GSM 07.05" 및 "GSM 07.07"을 참고할 수 있으며, 다른 측면에서 ITU-T의 V25ter 권고를 참고할 수 있다. 이들은 본 명세서에서 참고로 삽입된다.
그럼에도, 본 발명은 이러한 제어 명령의 형식을 한정할 수 없다는 것은 명백하다.
새로운 무선 통신 모듈 제어 기술을 제안하기 위해, 다음과 같은 사항이 명시된다.
- 제1 고객 태스크 애플리케이션은 AT 명령을 실행하기 위한 제1 실시간 태스크를 수행한다. AT 명령은 (적어도) 하나의 고객 제어 애플리케이션에 의해 제1 고객 태스크 애플리케이션에 발신된다;
- 제2 고객 태스크 애플리케이션은 다음 두 가지 중 적어도 하나의 역할을 하는 제2 실시간 태스크를 수행한다:
* AT 명령을 제1 고객 태스크 애플리케이션에 발신하고 제1 고객 태스크 애플리케이션으로부터 응답을 수신하며, AT 명령의 일부의 실행으로부터 발생되는 고객 제어 애플리케이션의 역할;
* 고객 제어 애플리케이션에 의해 발신되는 AT 명령의 실행을 관리하는 고객 관리 애플리케이션, 즉 무선 통신에 사용되는 제3 파티 장치에 의해 호스트 되고 실행되는 외부 고객 애플리케이션의 역할.
특히, 제1 고객 태스크 애플리케이션은 AT 명령에 특정되고 각각이 적어도 하나의 AT 명령을 허용하는 일련의 레벨 2 실행 기능에 기반한다.
특히, 제2 고객 태스크 애플리케이션은 AT 명령에 특정되고 각각이 AT 명령 및 제1 고객 태스크 애플리케이션으로 또는 그로부터 발신 또는 수신되는 AT명령에 대한 응답을 허용하는 일련의 레벨 2 소스 기능에 기반한다.
추가적으로 AT 명령에 특정된 레벨 2 인터페이스 애플리케이션(6e)에 대해 규정이 마련된다. 이 규정은 레벨 2 소스 및 실행 기능 사이의 인터페이싱을 허용한다. 이 레벨 2 인터페이스 자체는 레벨 1 인터페이스 애플리케이션(6d)에 기반한다.
다음 두 가지를 올바르게 구별하는 것은 중요하다:
- AT 명령에 특정되고, 제1 및 제2 고객 태스크 애플리케이션 사이의 관계에서 사용되는 일련의 레벨 2 소스 및 실행 기능;
- 상기 도 1 내지 도 7 및 첨부 1에 관련하여 상기에 상세하게 설명되었으며, 각각이 고객 태스크 애플리케이션(제1 또는 제2) 및 메인 소프트웨어 프로그램(3)의 "OS" 블록(3b) 및 "계층 3 GSM" 블록(3c) 사이의 관계에서 사용되는 일련의 레벨 1 소스 및 실행 기능.
고객 제어 애플리케이션의 역할을 하는 제2 고객 태스크 애플리케이션의 경우(제1 경우)에, 제어 기술의 운용은 다음과 같이 요약된다:
-단계 "1":제2 고객 태스크 애플리케이션이 제1 고객 태스크 애플리케이션에 AT 명령(들)을 발신하기 위해 소스 기능(wm_atSendCommand_level2")를 요청한다.이 소스 기능은 이후에 상세하게 설명하기로 한다;
-단계 "2": 레벨 2 인터페이스 애플리케이션이 제1 고객 태스크 애플리케이션 내에서 적절한 실행 기능 또는 기능들을 요청한다;
-단계 "3":제1 고객 태스크 애플리케이션은 AT 명령 또는 명령들을 실행한다;
-단계 "4":실행 후, 제1 고객 태스크 애플리케이션은 AT 응답 또는 응답들을 제2 고객 태스크 애플리케이션에 발신한다(만약 상기 발신 명령이 이 방향으로 파라미터화 된다면);
-단계 "5":이 응답(들)이 제2 고객 태스크 애플리케이션 내에서 제1 고객 태스크 애플리케이션으로부터의 메시지를 처리하는 소스 기능(wm_apmAppliParser_lever2")을 요청하는 레벨 2 인터페이스 애플리케이션을 통해 발신된다. 이러한 처리 소스 기능 중 하나의 파라미터는 상기 응답 또는 응답들을 포함하는 메시지이다;
-단계 "6":제2 고객 태스크 애플리케이션 내에서, 처리 소스 기능이 응답을 처리한다.
이하, 제2 고객 태스크 애플리케이션이 고객 관리 애플리케이션의 역할을 하는 경우에 대해 상세하게 설명한다.
이 제2 경우에, 무선 통신 모듈은 독립적(제1 경우와 같이)이 아니라 예를 들어 시리얼 링크를 통해 사용되는 제3 파티 장치에 의해 제어된다. 제3 파티 장치에 의해 호스트 되는 외부 고객 애플리케이션은 무선 통신 모듈에 의해 AT 명령이실행되도록 AT 명령을 무선 통신 모듈로 발신한다.
이 제2 경우에서, 외부 고객 애플리케이션에 대한 명료한 방법으로, 제2 고객 태스크 애플리케이션은 제1 고객 태스크 애플리케이션에 의한 AT 명령의 실행(또는 비실행)을 관리한다.
특히, 제2 고객 태스크 애플리케이션(관리 애플리케이션)은 무선 통신 모듈 내에서 다음의 실행을 결정할 수 있다:
- 외부 고객 애플리케이션에 의해 발신되는 AT 명령의 스위칭 및 처리에 대한 메커니즘. 예를 들면, 제1 고객 태스크 애플리케이션이 수신한 AT 명령을 어디로 전송하는데 따라, 이 메커니즘을 실행하기 위한 다음의 세 가지의 변형이 제안된다: 오직 제1 고객 태스크 애플리케이션에 포함된 실행 수단(제1 변형)으로 전송 또는 오직 제2 고객 태스크 애플리케이션(제2 변형)으로 전송 또는 상기 모두(제3 변형)로 전송;
- 제1 고객 태스크 애플리케이션에 포함된 실행 수단에 의한 실행으로부터 발생하는 AT 응답을 스위칭하고 처리하기 위한 메커니즘. 예를 들어, 제1 고객 태스크 애플리케이션에 의해 생성되는 AT 명령들이 각각 오직 외부 고객 애플리케이션으로 전송되는지(제1 변형), 또는 오직 제2 고객 태스크 애플리케이션으로 전송되는지(제2 변형) 또는 두 가지 모두로 전송되는지(제3 변형)에 따라 본 메커니즘을 실행하기 위한 세 가지 변형이 존재한다.
상기 두 가지 메커니즘(각각 AT 명령 및 AT 응답에 관련된) 각각의 제1 변형은 제2 고객 태스크 애플리케이션이 소정 시간에 모두 수동적으로 결정될 수 있다는 것을 의미한다는 점을 유념해야 할 것이다.
이하, 제2 고객 태스크 애플리케이션이 외부 고객 애플리케이션으로부터의 AT 명령을 필터링하게 하는 AT 명령 스위칭 및 처리 메커니즘의 제2 변형이 설명된다.
AT 명령 스위칭 및 처리 메커니즘의 제2 변형의 동작은 다음의 두 가지 연속적인 단계로 요약될 것이다:
- AT 명령이 오직 제2 고객 태스크 애플리케이션으로 재전송됨에 따라 외부 고객 애플리케이션에 의해 (제2) AT 명령 스위칭 정책을 선택하는 전단계; 및
- 선택된 (제2) 명령 스위칭 정책에 따라 외부 고객 애플리케이션에 의해 발신된 AT 명령을 처리하는 단계.
제2 AT 명령 스위칭 정책을 선택하는 전단계는 다음 단계들을 포함한다:
-단계 "1":제2 고객 태스크 애플리케이션이, 제2 AT 명령 스위칭 정책의 선택을 지시하는 가입 기능 중의 하나의 파라미터를 갖는 AT 명령 스위칭 서비스에 제1 고객 태스크 애플리케이션을 가입하는 소스 기능("wm_atCmdPrePrarerSubscribe_level2")을 호출한다. 이 소스 기능은 이후에 상세하게 설명하기로 한다.
-단계 "2":레벨 2 인터페이스 애플리케이션이, 제1 고객 태스크 애플리케이션 내에서, 소위 AT 명령 스위칭 서비스에 가입을 등록하는 기능인 적절한 실행 기능 또는 기능들을 호출한다.
-단계 "3":제1 고객 태스크 애플리케이션이 레벨 2 인터페이스 애플리케이션을 통해 제2 고객 태스크 애플리케이션에 의해 요청되는 가입을 설정한다.
단지 단순화를 위해, 이하의 설명에서는 AT 명령 스위칭 서비스에 가입을 등록하는 기능 또는 기능들이 제1 고객 태스크 애플리케이션 내에서 AT 명령 실행 수단에 포함된다고 가정한다. 또한, 단지 단순화를 위해, 이하의 설명에서는 명령 스위칭 수단(이하에서 설명되는)은 제1 고객 태스크 애플리케이션 내에서 AT 명령 실행 수단에 포함된다고 가정한다.
AT 명령 실행 단계는 다음 단계들을 포함한다:
-단계 "4":외부 고객 애플리케이션은 AT 명령을 제1 고객 태스크 애플리케이션으로 발신한다;
-단계 "5":시리얼 링크는 AT 명령을 명령 스위칭 수단으로 전송한다. 명령 스위칭 수단은 제1 고객 태스크 애플리케이션에 포함된 실행 수단에 포함되며 제2 AT 명령 스위칭 정책(전단계 동안 선택된)에 따라 동작한다;
-단계 "6":실행 수단에 의해 실행되지 않고서, AT 명령은 오직 제2 고객 태스크 애플리케이션으로 재전송된다;
-단계 "7":AT 명령이, 제2 고객 태스크 애플리케이션 내에서 제1 고객 태스크 애플리케이션으로부터 메시지를 처리하는 소스 기능("wm_apmAppliParser_level2")을 호출하는 레벨 2 인터페이스 애플리케이션에 의해 발신되며, 특히 AT 명령을 포함하는 메시지에 의해 파라미터화 되고, "원(original)" AT 명령임을 지시한다. 이 소스 기능은 이후 보다 상세하게 설명하기로 한다;
-단계 "8": 제2 고객 태스크 애플리케이션 내에서, 처리 소스 기능이 AT 명령을 처리한다.
예를 들어 이 처리 동작은, 제1 고객 태스크 애플리케이션에 포함된 실행 수단에 AT 명령을 되돌려 발신하는 것으로 구성된다(상기의 제1 경우에 해당하는 메커니즘에 따라). 또한, 이 처리 동작은 실행되는 AT 명령 없이, 제2 고객 태스크 애플리케이션 자체에 의한 응답의 임의 규정으로 구성된다. 이 경우, 예를 들어 제2 고객 태스크 애플리케이션은 적절한 AT 명령에 관련된 적어도 하나의 정보(명령 형식, 파리미터의 특성 또는 파라미터 등)를 사용한다. 일반적으로, 처리 동작이 수행되기만 하면, 제2 고객 태스크 애플리케이션이 AT 명령을 필터링하는 것으로 이해된다.
이하, 제2 고객 태스크 애플리케이션이 외부 고객 애플리케이션으로부터의 AT 명령을 감시하게 하는 AT 명령 스위칭 및 처리 메커니즘의 제3 변형에 대해 설명하기로 한다.
AT 명령 스위칭 및 처리 메커니즘의 제3 변형의 동작은 다음 두 가지 연속적인 단계로 요약된다:
- 외부 고객 애플리케이션에 의해 AT 명령이 제2 고객 태스크 애플리케이션 및 제1 고객 태스크 애플리케이션에 포함된 실행 수단에 재전송되는지에 따라, AT 명령 스위칭 정책을 선택하는 전단계; 및
- 선택된 (제3) 명령 스위칭 정책에 따라, 외부 고객 애플리케이션에 의해 발신되는 AT 명령을 처리하는 단계.
본 제3 변형의 동작은 상기 제2 변형의 동작과는 다음과 같은 점에서 다르다:
- 전단계의 단계 "1"에서, 제2 고객 태스크 애플리케이션이 제3(제2가 아니라) AT 명령 스위칭 정책을 선택한다;
- 처리 단계의 단계 "6"에서, AT 명령이 실행 수단으로 전송되고, 이 AT 명령의 복사본이 제2 고객 태스크 애플리케이션으로 전송된다;
- 처리 단계의 단계 "8"에서, 제2 고객 태스크 애플리케이션 내에서, 처리 소스 기능이 AT 명령의 복사본을 처리한다;
- 더하여 처리 단계는, 제1 고객 태스크 애플리케이션에 포함된 실행 수단이 AT 명령을 실행하는 동안 단계 "7"을 포함한다.
이하, 제2 고객 태스크 애플리케이션이 제1 고객 태스크 애플리케이션용으로 의도된 AT 명령을 필터링하게 하는 AT 응답 스위칭 및 처리 메커니즘의 제2 변형이 설명된다.
AT 응답 스위칭 및 처리 메커니즘의 제2 변형의 동작은 다음과 같은 연속적인 두 개의 단계로 요약된다:
-제1 고객 태스크 애플리케이션에 의해 생성된 AT 응답이 오직 제2 고객 태스크 애플리케이션으로 전송되는지에 따라, 외부 고객 애플리케이션에 의해 (제2) AT 응답 스위칭 정책을 선택하는 전단계;
- 선택된 (제2) 응답 스위칭 정책에 따라, 제1 고객 태스크 애플리케이션에 의해 생성된 AT 응답을 처리하는 단계.
제2 AT 응답 스위칭 정책을 선택하는 전단계는 다음 단계들을 포함한다:
-단계 "1":제2 고객 태스크 애플리케이션이, 제2 AT 응답 스위칭 정책의 선택을 지시하는 가입 기능 중의 하나의 파라미터를 갖는 AT 명령 스위칭 서비스에 제1 고객 태스크 애플리케이션을 가입하는 소스 기능("wm_atRspPreParserSubscribe_level2")을 호출한다. 이 소스 기능은 이후에 상세하게 설명하기로 한다.
-단계 "2":레벨 2 인터페이스 애플리케이션이, 제1 고객 태스크 애플리케이션 내에서, AT 응답 스위칭 서비스에 가입을 등록하는 기능(들)으로 알려진 적절한 실행 기능 또는 기능들을 호출한다.
-단계 "3":제1 고객 태스크 애플리케이션이 레벨 2 인터페이스 애플리케이션을 통해 제2 고객 태스크 애플리케이션에 의해 요청되는 가입을 설정한다.
단지 단순화를 위해, 이하의 설명에서는 AT 응답 스위칭 서비스에 가입을 등록하는 기능 또는 기능들이 제1 고객 태스크 애플리케이션 내에서 AT 명령 실행 수단에 포함된다고 가정한다. 또한, 단지 단순화를 위해, 이하의 설명에서는 응답 스위칭 수단(이하에서 설명되는)은 제1 고객 태스크 애플리케이션 내에서 AT 명령 실행 수단에 포함된다고 가정한다.
AT 응답 실행 단계는 다음 단계들을 포함한다:
-단계 "4":외부 고객 애플리케이션은 AT 명령을 제1 고객 태스크 애플리케이션으로 발신한다;
-단계 "5":시리얼 링크는 AT 명령을 제1 고객 태스크 애플리케이션에 포함된실행 수단으로 전송한다;
-단계 "6":실행 수단은 AT 명령을 실행하고 AT 응답을 생성한다;
-단계 "7":실행 수단에 포함되고 제2 AT 응답 스위칭 정책(전단계 동안 선택된)에 따라 동작하는 응답 스위칭 수단은 AT 응답을 제2 고객 태스크 애플리케이션으로 송신한다.
-단계 "8":AT 응답이, 제2 고객 태스크 애플리케이션 내에서 제1 고객 태스크 애플리케이션으로부터 메시지를 처리하는 소스 기능("wm_apmAppliParser_level2")을 호출하는 레벨 2 인터페이스 애플리케이션에 의해 발신되며, 특히 AT 응답을 포함하는 메시지에 의해 파라미터화 되고, "원(original)" AT 응답임을 지시한다.
-단계 "9":제2 고객 태스크 애플리케이션 내에서, 처리 소스 기능이 AT 응답을 처리한다. 여기에서, 제2 고객 태스크 애플리케이션에 의한 AT 응답의 "필터링"을 말하는 것이 가능하다.
이하, 제2 고객 태스크 애플리케이션이 제1 고객 태스크 애플리케이션용으로 의도된 AT 응답을 감시하게 하는 AT 응답 스위칭 및 처리 메커니즘의 제3 변형에 대해 설명하기로 한다.
AT 응답 스위칭 및 처리 메커니즘의 제3 변형의 동작은 다음 두 가지 연속적인 단계로 요약된다:
- 외부 고객 애플리케이션에 의해 AT 응답이 제1 고객 태스크 애플리케이션 및 제2 고객 태스크 애플리케이션에 재전송되는지에 따라, AT 응답 스위칭 정책을선택하는 전단계; 및
- 선택된 (제3) 응답 스위칭 정책에 따라, 제1 고객 태스크 애플리케이션에 의해 생성되는 AT 응답을 처리하는 단계.
상기 제 3 변형의 동작은 상기 제2 변형의 동작과는 주로 다음과 같은 점에서 다르다:
- 이전 단계의 단계 "1"에서는, 제2 고객 태스크 애플리케이션을 제 3(제2가 아님) AT 응답 스위칭 정책을 선택한다:
- 상기 프로세싱 단계의 단계 "7"에서는, 상기 AT 응답은 외부 가입자 애플리케이션에 전송되고, 이러한 AT 응답의 복사본은 제2 고객 태스크 애플리케이션에 전송된다;
- 상기 처리 단계의 단계 "9"에서는, 제2 고객 태스크 애플리케이션 내부에서, 상기 프로세싱 소스 기능을 상기 AT 응답의 복사본을 프로세스 한다.
- 상기 프로세싱 단계는 부가적으로 상기 응답이 상기 시리얼 링크를 통하여 전송되는 단계 "8"과, 상기 외부 고객 애플리케이션이 상기 응답을 수신 및 프로세스 하는 단계 "9"를 포함한다.
본 발명에 따른 새로운 무선통신 모듈 제어 기술(이 중 하나의 특정 실시예는 위에서 설명되었음)에서는, 제2 고객 태스크 애플리케이션(6c)은 "단일 블록"이 아니고, "분산된"("다중-블록")이다. 이것은 하나 또는 그 이상의 부 고객 서브 애플리케이션(들)과 결합된 메인 고객 애플리케이션(7)을 포함한다. 각각의 부 고객 서브 애플리케이션(8)은, 개시 및 중단 용어로 말하면, 여기에서 호출되는 상기 메인 고객 서브 애플리케이션(7)의 슬레이브 서브 애플리케이션이다. 그러나 일단 초기화되면, 상기 제2 고객 애플리케이션(8)은 상기 메인 고객 서브 애플리케이션(7)에 독립적으로, 상기 제1 고객 태스크 서브 애플리케이션에 의하여 제공되는 모든 실행 기능에 접속한다(아래에서 설명되는, 상기 제1 고객 태스크 애플리케이션으로부터 전송되는 메시지를 위한 서비스에 가입하는 메커니즘을 통하여).
각각의 부 고객 서브 애플리케이션은 "기초 블록"이며, 이 기초 블록은 제 3 개발자(전형적으로는 상기 무선통신 모듈 제작자)에 의하여 상기 가입자에게 제공될 수 있다. 이러한 방식으로, 상기 고객의 개발 작업은 감소된다. 왜냐하면 상기 고객이 하나 또는 하나 이상의 부 고객 서브 애플리케이션(들)에 의하여 일부가 프로세스 되는 오직 하나의 메인 고객 서브 애플리케이션만 개발하면 되기 때문이다.
상기 고객은, 만약 그가 개발하고 있는 다른 메인 고객 서브 애플리케이션에서 상기 부 고객 서브 애플리케이션을 호출할 수 있도록 바라는 경우에는, 그 자신이 상기 부 고객 서브 애플리케이션을 제작할 수 있다는 것이 강조될 것이다.
본 발명에 따른 새로운 무선통신 모듈 제어 기술에 대하여 위에서 언급한 변형의 문맥 내에서의 여러 메커니즘을 구현하는 것이 이하에서 연속적으로 설명된다.
우선 상기 메인 고객 서브 애플리케이션(7)을 개시하는 메커니즘과 이것을 상기 제1 고객 태스크 애플리케이션으로부터 메시지를 전송하는 서비스에 가입하는 메커니즘을 설명한다. 이러한 메커니즘의 동작은 다음과 같이 요약될 수 있다:
- 단계 "1": 제1 고객 태스크 애플리케이션은 메인 고객 애플리케이션의 존재를 검사하고 이를 개시한다;
- 단계 "2": 상기 메인 고객 서브 애플리케이션은 상기 제2 레벨 인터페이스 애플리케이션을 통하여 개시되며, 이것은 상기 메인 고객 서브 애플리케이션 내부에서 메인 고객 서브 애플리케이션 초기화 소스 기능을 호출한다. 상기 소스 기능("wm_apmAppliInit2_level1")이 다음의 명세서에서 상세히 설명된다;
- 단계 "3": 상기 메인 고객 서브 애플리케이션 내부에서, 상기 소스 기능("wm_apmAppliInit2_level1")은 상기 메인 고객 서브 애플리케이션을 초기화한다. 다음의 단계("4"에서 "6"까지)에서 상세하게 설명되는 바와 같이, 이러한 초기화에는 특히 상기 메인 고객 서브 애플리케이션이 제1 고객 태스크 애플리케이션으로부터 메시지를 수신할 수 있도록 하는 소스 기능(예를 들어 "wm_apmAppliParser_level2")의 주소를 제1 고객 태스크 애플리케이션에 부여하는 것을 포함한다;
- 단계 "4": 상기 메인 고객 서브 애플리케이션은 제1 고객 태스크 애플리케이션으로부터 메시지를 전송하는 서비스에 가입하는 소스 기능을 호출한다("wm_osMsgParserSubscribe_andlevel2"). 이러한 소스 기능은 다음의 명세서에서 상세히 설명된다;
- 단계 "5": 상기 제2 레벨 인터페이스 애플리케이션은, 제1 고객 태스크 애플리케이션 내부에서, 상기 메인 고객 서브 애플리케이션을 위하여 의도된 메시지를 전송하는 서비스에 대한 가입(또는 기록)을 등록하는 기능이라고 알려진 적절한 기능 또는 기능들을 호출한다;
- 단계 "6": 제1 가입자 태스크 애플리케이션은 상기 메인 고객 서브 애플리케이션에 의하여, 상기 제2 레벨 인터페이스 애플리케이션을 통하여, 상기 가입 요청을 설정한다.
하나의 변형예에 따르면, 제1 고객 태스크 애플리케이션은 원하는 경우에(상기 초기화 소스 기능의 실행과는 독립적으로), 소스 기능"wm_osMsgParserSubscribe_level2"을 호출한다.
이제 상기 부 고객 서브 애플리케이션을 개시하는 메커니즘과 이것을 상기 고객 태스크 애플리케이션으로부터 메시지를 전송하는 서비스에 가입할 수 있는 메커니즘이 설명된다.
이러한 메커니즘의 동작은 다음과 같이 요약된다:
- 단계 "1": 상기 메인 고객 서브 애플리케이션은, 그 소스 기능"wm_apmAppliParser_level2" 내에서 메시지를 수신한 이후에, 상기 부 고객 서브 애플리케이션의 소스 기능, 즉 상기 제2 고객 애플리케이션(8)의 초기화 소스 기능을 호출한다("wm_app2Pipe_level2(init)"). 이러한 소스 기능(이것은 상기 메인 고객 서브 애플리케이션이 알고 있어야 한다) 다음의 명세서에 상세히 설명된다;
- 단계 "2": 상기 부 고객 서브 애플리케이션 내에서, 상기 소스 기능("wm_app2Pipe_level2(init)")은 상기 부 고객 서브 애플리케이션을 초기화한다. 다음의 단계("3"부터 "5"까지)에서 설명되는 것처럼, 이러한 초기화에는 특히 제1 고객 태스크 애플리케이션에 상기 소스 기능(예를 들어"wm_app2MsgParser_level2")을 부여하는 것을 포함하며, 상기 부 고객 서브 애플리케이션이 상기 제1 고객 태스크 애플리케이션으로부터 메시지를 수신할 수 있도록 한다;
- 단계 "3": 상기 부 고객 서브 애플리케이션은 제1 고객 태스크 애플리케이션으로부터 메시지를 전송하는 서비스에 가입하는 소스 기능을 호출한다("wm_osMsgParserSubscribe_level2"). 이러한 소스 기능은 다음의 명세서에서 상세히 설명된다;
- 단계 "4": 상기 제2 레벨 인터페이스 애플리케이션은, 상기 제1 고객 태스크 애플리케이션 내부에서, 상기 부 고객 서브 애플리케이션을 위하여 의도된 메시지를 전송하는 서비스에 가입(또는 기록)하는 기능이라고 알려진 적절한 실행 기능 또는 기능들을 호출한다; - 단계 "5": 제1 고객 태스크 애플리케이션은 상기 제2 가입자 서브 애플리케이션(8)에 의하여, 상기 제2 레벨 인터페이스 애플리케이션(6e)을 통하여, 요청된 가입을 설정한다.
상기 제2 가입자 서브 애플리케이션(8)은, 개시된 이후에, 상기 메인 고객 서브 애플리케이션(7)에 비하여 자동적으로, 그 기능을 수행한다. 이하에서 상세히 설명되는 것처럼, 이것은 이러한 목적으로 자유롭게 사용할 수 있고 상기 제1 고객 태스크 애플리케이션에 의하여 제공되는 실행 기능 세트를 갖는다.
변형된 일실시예에 따르면, 상기 부 고객 서브 애플리케이션(8)은 원하는 경우에(상기 제2 고객 애플리케이션의 초기화 소스 기능의 실행과는 독립적으로) 상기 소스 기능"wm_osMsgParserSubscribe_level2"을 호출한다.
상기 부 고객 서브 애플리케이션의 초기화 소스 기능은 상기 메인 고객 서브 애플리케이션과 상기 부 고객 서브 애플리케이션 사이에 대화 메커니즘을 구현을 가능하게 하는 적어도 하나의 파리미터를 포함한다. 이러한 본 발명의 특징은 다음의 명세서에서 상세히 설명된다.
이제 상기 부 고객 서브 애플리케이션(8)을 중단하는 메커니즘과, 이것을 제2 고객 태스크 애플리케이션으로부터 메시지를 전송하는 서비스로부터 가입 해제하는 메커니즘을 설명한다.
이러한 메커니즘의 동작은 다음과 같이 요약될 수 있다:
- 단계 "1": 상기 메인 고객 서브 애플리케이션(7)은, 그 자원 기능"wm_apmAppliParser_level2()" 내에서 메시지를 수신한 이후에, 상기 부 고객 서브 애플리케이션(8)의 소스 기능 즉, 상기 부 고객 서브 애플리케이션을 중단하는 기능("wm_app2Pipe_level2(stop)")을 호출한다. 이러한 소스 기능(이것은 상기 고객 서브 애플리케이션이 알고 있어야 한다)은 다음의 명세서에 상세히 설명된다;
- 단계 "2": 상기 부 고객 서브 애플리케이션(8) 내에서, 상기 소스 기능 "wm_app2Pipe_level2(stop)"은 상기 부 고객 서브 애플리케이션을 중단하기 위한 프로세싱 동작을 수행한다. 다음의 단계("3"에서 "5"까지)에서 설명되는 것과 같이, 이러한 프로세싱 동작은 특히 부 고객 서브 애플리케이션을 위하여 제1 고객 태스크 애플리케이션으로부터 메시지를 전송하는 서비스로부터 가입 해지하는 것을 포함한다;
- 단계 "3": 상기 부 고객 서브 애플리케이션은 제1 고객 태스크 애플리케이션으로부터 메시지를 전송하는 서비스로부터 가입해지하기 위한 소스 기능을 호출한다("wm_osMsgParserUnsubscribe_level2"). 이러한 소스 기능은 다음의 명세서에서 상세히 설명된다;
- 단계 "4": 상기 제2 레벨 인터페이스 애플리케이션은, 상기 제1 고객 태스크 애플리케이션 내에서, 상기 제2 고객 온-애플리케이션(on-application)을 위하여 의도된 메시지를 전송하는 서비스로부터 가입해지(또는 가입 철회) 기능(들)이라고 알려진 적절한 실행 기능 또는 기능들을 호출한다;
- 단계 "5": 제1 고객 태스크 애플리케이션은 상기 부 고객 서브 애플리케이션에 의하여, 상기 레벨 2 인터페이스 애플리케이션을 통하여, 상기 가입 중단 요청을 설정한다.
이제 상기 메인 고객 서브 애플리케이션을 언로드(unload)하기 위하여, 상기 제2 고객 애플리케이션에 의하여 수행될 수 있는 프로세싱 동작에 대한 일실시예가 설명된다.
상기 실시예에서는, 다음 사항이 가정된다:
- 제2 고객 태스크 애플리케이션은 상기 고객 제어 애플리케이션의 역할을 한다;
- 상기 프로세싱 동작은 상기 부 고객 서브 애플리케이션에 의한 명령어의 전송과 이에 대응하는 응답의 수신으로 구성된다;
- 상기 부 고객 서브 애플리케이션(8)은 초기화되고, 제1 고객 태스크 애플리케이션으로부터 메시지를 전송하는 서비스에 가입된다;
- 가입에 있어서, 상기 부 고객 서브 애플리케이션(8)은 상기 메시지 수신 소스 기능으로서 "wm_app2MsgParser_level2()"을 부여한다.
상기 프로세싱의 실시예에 대한 동작은 다음과 같이 요약될 수 있다:
- 단계 "1": 상기 제2 서브 애플리케이션(8)은 제1 고객 태스크 애플리케이션에 하나 또는 하나 이상의 AT 명령어를 전송하는 소스 기능을 호출하며, 이를 실행한다(따라서 "AT 명령 프로세싱 동작"을 수행한다). 이러한 소스 기능("wm_atSendCommand_level2")은 다음의 명세서에 상세히 설명된다;
- 단계 "2": 상기 제2 레벨 인터페이스 애플리케이션(6e)은, 상기 제1 고객 태스크 애플리케이션 내에 포함되는 실행 수단 내부에서, AT 명령 프로세싱 기능(들)이라고 알려진 적절한 실행 기능 또는 기능들을 호출한다;
- 단계 "3": 상기 실행 수단(4)은 상기 AT 명령 또는 명령어들을 실행한다;
-단계 "4": 실행이 있은 이후에, 상기 실행 수단(4)은 상기 AT 응답 또는 응답들을 상기 부 고객 서브 애플리케이션(8)에 전송한다(만약 상기 소스 기능이 이러한 방향으로 파라미터화된 경우);
- 단계 "5": 이러한 응답(또는 응답들)은, 상기 제2 레벨 인터페이스 애플리케이션을 통하여, 상기 부 고객 서브 애플리케이션(8)으로 전송된다; 단계 "6": 상기 부 고객 서브 애플리케이션 내부에서, 상기 수신 및 프로세스 소스 기능 "wm_app2MsgParser_level2()"은 상기 응답을 프로세스한다. 이러한 소스 기능은 상기 부 고객 서브 애플리케이션에 의하여 제1 고객 태스크 애플리케이션으로부터의 수신에 관한 가입에서 부여되는 것이다. 이러한 수신 및 프로세스 소스 기능의 한파리미터는 위에서 언급한 응답 또는 응답들을 포함하는 메시지이다.
이제 본 발명에 따른 새로운 무선통신 모듈 제어 기술의 변형에 대한 문맥에 있어서, 제2 고객 태스크 애플리케이션이 감독 애플리케이션(supervision application)을 수행하는 경우에 관하여 논한다. 이 경우에는, 예를 들어 상기 부 고객 서브 애플리케이션(8)이 다음의 프로세싱 동작을 수행할 수 있다:
- 명령 스위칭 메커니즘의 구현, 이것은 상기 부 고객 서브 애플리케이션(8)이 상기 외부 고객 애플리케이션으로부터 오는 명령어를 여과(filter) 또는 염탐(spy on)을 할 수 있도록 한다;
- 응답 스위칭 메커니즘의 구현, 이것은 상기 부 고객 서브 애플리케이션(8)이 상기 외부 고객 애플리케이션을 위하여 의도된 응답을 여과 또는 염탐할 수 있도록 한다.
이와 같은 상기 부 고객 서브 애플리케이션에 의하여 수행되는 프로세싱 동작의 실시예는 이하에서 상세하게 설명되지는 않는다. 그러나 위에서 언급된 상기 두 개의 스위칭 메커니즘에 관련된 설명 텍스트(explanatory text)는 다음의 전환(transposition)을 수행함으로써 얻을 수 있다는 것이 강조될 것이다.
- 위의 "단일 블록"이 되는, 위의 상기 제2 고객 태스크 애플리케이션의 경우의 설명 텍스트로부터 벗어나며, 그리고
- 부 고객 서브 애플리케이션(제2 고객 태스크 애플리케이션 대신에)이 관련된다는 것을 고려한다.
실제로 사용되는 경우(제1 응용)에 있어서, 무선 통신 모듈은 SIM (Subscriber Identity Module: 고객 인식 모듈) 카드와 관련된 ME(Mobile Equipment: 무선 장비) 또는 단말에 포함된다.
다른 응용은 앞에서 언급된 무선통신 모듈에 대해서 적용될 수 있다.
본 발명의 두 번째 응용으로서, 특히, 무선 통신 단말 이외의 무선 통신의 기능을 갖는 장치의 무선 통신 모듈에 대해서 적용될 수 있다. 예를 들어서, 텔레메터링 장치(meter reading), 경보 장치 또는 은행 카드 판독 장치에 대해서 적용될 수 있다.
본 발명의 세 번째 응용으로서, 모뎀과 같이 독립된 형태로 제공되는 무선 통신 모듈에 대해서 적용된다. 이러한 유형의 모뎀은 인간/기계 인터페이스 하드웨어 부품(스크린, 키보드, 스피커 등)을 포함하지 않는다. 이것은 인간/기계 인터페이스 하드웨어 부품을 포함하는 제 3 자 장비(고객 소프트웨어 프로그램을 지원하는)와 연관된다. 제 3 자 장비는 더욱 구체적으로는 마이크로 컴퓨터이다.
이하, 첨부 1에서는 몇몇 제1 레벨 소스 기능에 대한 상세한 설명이 주어질 것이며, 상기 고객 초기화 애플리케이션(6a)과 상기 고객 태스크 애플리케이션(6b, 6c)은 여기에 기초한다.
첨부 2에서는, 몇몇 제2 레벨 소스 기능에 대한 상세한 설명이 주어질 것이며, 상기 제2 고객 태스크 애플리케이션과 본 발명에 따른 새로운 무선 통신 모듈제어 기술의 문맥에서 소개되는 메인 및 제2(변형 실시예의 경우) 고객 서브 애플리케이션은 여기에 기초한다(도 8에 관하여 위에서 설명한 부분 참조).
[첨부1]
고객 초기화 애플리케이션 및 고객 태스크 애플리케이션의 기초가 되는 레벨 1 소스 기능의 일부에 대한 상세한 설명.
예비 관찰: 다음의 리스트에 국한되지 않는다. 제1 레벨의 소스 기능의 모든 예들은 상기 고객 태스크 애플리케이션과 연관되고, 상기 "OS" 블록에 관계된다. 비록 아래의 리스트 상에 나타나지는 않을 지라도, 많은 수의 제1 레벨의 소스 기능들이 존재하며, 상기 고객 태스크 애플리케이션에 연관되고, 상기 "HWL" 및 "계층 3 GSM"블록에 관련된다는 것을 명백하다(이러한 두 개의 블록 각각에 관련된 기능에 대한 하나의 예는 상기 특징들에 관하여 위에서 제시한 설명에서 찾을 수 있다).
A1) "wm_apmGlobalInit level1()"
제1 레벨의 전역적 초기화 소스 기능, 이 것의 역할은 메인 소프트웨어 프로그램(3)이 초기화하고 각각의 고객 태스크 애플리케이션(6b, 6c)과 대화할 수 있도록 메인 소프트웨어 프로그램에 정보를 제공하는 것이다.
A2) "ampAppliInit nx level1()"
x번째 고객 태스크 애플리케이션이 초기화시키는 제1 레벨의 초기화 소스 기능. 이러한 기능은 적절한 고객 태스크 애플리케이션이 초기화될 때에 호출된다.
정확한 명칭:
void AppliInitl(wm_apmInitTypw_e InitType);
파리미터:
InitType
상기 초기화를 개시하는 아이템을 나타낸다. 그 대응되는 값은:
typedef enum
{
WM_APM-POWER_ON,
WM_APM_REBOOT_FROM_EXCEPTION
}wm_apmInitType_e;
WM_APM-POWER_ON은 정상적인 파워 상승이 일어났다는 것을 나타낸다.
WM_APM_REBOOT_FROM_EXCEPTION은 상기 모듈이 예외적인 경우 이후에 재부팅되는 것을 나타낸다.
A3) "wm apmAppliParser level1()"
상기 메인 소프트웨어 프로그램으로부터 메시지의 수신 및 처리를 하는 제1 레벨 소스 기능. 이러한 기능은 관리자 애플리케이션이 상기 메인 소프트웨어 프로그램으로부터 메시지를 수신할 때마다 호출된다.
정확한 명칭:
bool AppliParserl(wm_apmMsg_t*Message);
파리미터:
메시지:
상기 "메시지" 구조는 그 타입에 의존한다:
typedef struct
{
u16
u16
s16
s16MbxSrc;
MbxDst;
Length;
TypMsg;/*소스 메일박스*/
/*수신자 메일박스*/
/*메시지 실체의 길이*/
/*수신된 메시지의 타입: 상기 메시지 실체와 연관된 구조를 지시한다*/
}wm_apmHeader_t;
typedef struct
{
wm_apmHeader_t Header;/*메시지 헤더*/
wm_apmBody_t Body;/*특정 메시지 실체*/
}wm_apmMsg_t;
TypMsg는 다음의 값을 나태낼 수 있다:
WM_OS_TIMER:
상기 메시지가 시간 지연의 만기로 전송되는 것을 나타낸다.
WM_HWL_xxx ...
WM_L3xxx ...
반환값:
상기 반환된 파리미터는 상기 메시지가 처리되었는지(참) 또는 아닌지(거짓) 여부를 나타낸다.
A4) "Global task information"
define WM_OS_MAX_CUST_TASK 4
/*고객 태스크 애플리케이션(또는 "고객 태스크") 식별자*/
enum
{
WM_OS_CUST_TASK_1, /*선순위 태스크*/
WM_OS_CUST_TASK_2,
WM_OS_CUST_TASK_3,
WM_OS_CUST_TASK_4, /*후순위 태스크*/
};
/*메일박스 식별자*/
typedef enum
{
/*고객 태스크 메일박스(MBX) 식별자*/
WM_OS_MBX_CUST_1/*WM_OS_CUST_TASK_1과 연관된 MBX*/
WM_OS_MBX_CUST_2/*WM_OS_CUST_TASK_2와 연관된 MBX*/
WM_OS_MBX_CUST_3/*WM_OS_CUST_TASK_3과 연관된 MBX*/
WM_OS_MBX_CUST_4/*WM_OS_CUST_TASK_4와 연관된 MBX*/
/*메인 소프트웨어 프로그램 태스크 메일 박스(MBX) 식별자*/
WM_OS_MBX_CORE_CC,/*콜 제어 관리와 연관*/
WM_OS_MBX_CORE_SS,/*보조 서비스 관리와 연관*/
WM_OS_MBX_CORE_SMS,/*단문 메시지 서비스 관리와 연관*/
WM_OS_MBX_CORE_MM,/*이동성 관리와 연관*/
WM_OS_MBX_CORE_RR,/*무선 자원 관리와 연관*/
WM_OS_MBX_CORE_DATA,/*데이터 콜 관리와 연관*/
WM_OS_MBX_CORE_IR,/*적외선 관리와 연관*/
WM_OS_MBX_CORE_IP,/*IP 관리와 연관*/
WM_OS_MBX_CORE_SIM,/*SIM 관리와 연관*/
/*HWL 및 BATT 메일 박스(MBX) 식별자*/
WM_OS_MBX_CORE_HWL,/*HWL 관리와 연관*/
WM_OS_MBX_CORE_BATT,/*배터리 관리와 연관*/
}Mbx_t
A5) "wm osSendMsg level1()"
메시지를 상기 인터페이스 애플리케이션 및 상기 메인 소프트웨어 프로그램을 통하여 다른 고객 태스크 애플리케이션에 전송하는 제1 레벨 소스 기능.
정확한 명칭
bool wm_osSendMsg (void*Msg)
파리미터:
Msg: 전송될 메시지
반환값:
상기 반환된 파리미터는 상기 메시지가 전송되었는지(참) 또는 아닌지(거짓)를 나타낸다.
A6) "wm osStartTimer level1"
상기 메인 소프트웨어 프로그램 내에서 시간 지연을 트리거된 제1 레벨 소스 기능.
A7) "wm osStopTimer level1"
상기 메인 소프트웨어 프로그램 내에서 사전에 트리거된 시간 지연을 정지시키는 제1 레벨 소스 기능.
A8) "wm osDebugTrace level1"
결함수정 동작을 추적하는 제1 레벨 소스 기능.
A9) "wm osDebugFatalError level1"
치명적 에러를 나타내고 재부팅하는 제 1 레벨 소스 기능.
A10) "wm osWriteFlashData level1"
데이터를 상기 무선통신 모듈에 포함된 메모리에 기록하는 제1 레벨 소스 기능.
A11) "wm osReadFlashData level1"
상기 무선통신 모듈에 포함된 메모리의 데이터를 판독하는 제1 레벨 소스 기능.
A12) "wm osGetLenFlashData level1"
상기 무선통신 모듈에 포함된 메모리에 저장된 데이터의 길이를 제공하는 제1 레벨 소스 기능.
A13) "wm osDeleteFlashData level1"
상기 무선통신 모듈에 포함된 메모리에 저장된 데이터를 삭제하는 제1 레벨 소스 기능.
A14) "wm osGetAllowedMemoryFlashData level1"
상기 무선통신 모듈에 포함된 메모리에 할당된 메모리의 크기를 제공하는 제1 레벨 소스 기능.
A15) "wm osGetFreeMemoryFlashData level1"
상기 무선통신 모듈에 포함된 메모리의 빈 메모리의 크기를 제공하는 제1 레벨 소스 기능.
A16) "wm osGetMemoryFlashData level1"
상기 무선통신 모듈에 포함된 메모리 내의 메모리 할당을 요청하는 제1 레벨 소스 기능.
A17) "wm osReleaseMemoryFlashData level1"
상기 무선통신 모듈에 포함된 메모리 내의 메모리의 해제를 요청하는 제1 레벨 소스 기능.
A18) "wm MbxSubscribe"
상기 메인 소프트웨어 프로그램에 의하여 관리되는 메일 박스 서비스에 가입하고, 상기 고객 태스크 애플리케이션에 그 자신이 메일 박스가 할당되도록 하는 기능, 여기서 상기 메일 박스는 특정한 것이고 그 내부에서 적어도 하나의 미리 결정된 소스로부터 오는 정보를 수신하기를 바라는 것이다.
디폴트 세팅은 WM_OS_CUST_MBX_1, 즉 WM_OS_CUST_TASK_1에 연관된 메일 박스에 전송되는 모든 정보를 위한 것이다(고객 태스크 애플리케이션 no.1).
정확한 명칭:
bool
wm_MbxSubscribe(wm_apmMbxSubscription_t*TabMbxSubs);
파리미터:
TabMbsSubs:
엔티티와 그 연관된 메일 박스를 포함하는 테이블.
Typedef struct
{
Mbx_t MbxSrc;/*소스 메일 박스, WM_OS_CORE_MBX_x 중 하나를 식별한다*/
Mbx_t MbxDst;/*목적지 메일 박스, WM_OS_CUST_MBX_x 중 하나를 식별한다*/
} wm_apmMbxSubscription_t;
반환값:
상기 반환값은 상기 가입 동작이 처리되었는지(참) 또는 아닌지(거짓) 여부를 나타낸다.
[첨부2]
제2 고객 태스크 애플리케이션과 상기 메인 및 제2 서브 애플리케이션의 기초가 되고(변형의 경우에 있어서), 본 발명에 따른 상기 새로운 무선통신 모듈 제어 기술의 문맥에 소개되는 레벨 2 소스 기능의 일부에 대한 상세한 설명.
예비 관찰: 다음의 리스트에 국한되지 않는다.
A1) "wm osMsgParserSubscribe level2()"
상기 제1 고객 애플리케이션으로부터 메시지를 수신하기 위한 서비스로 제1 고객 애플리케이션을 이용하여 제2 고객 태스크 애플리케이션 또는 (메인 또는 제2) 고객 서브 애플리케이션을 가입하는 기능. 제1 고객 태스크 애플리케이션은 이러한 기능을 저장하고 관련된 상기 (메인 또는 제2) 고객 서브 애플리케이션에 전송할 것이 있을 때마다 이것을 사용할 것이다.
정확한 명칭:
void
wm_osMsgParserSubscribe_level2(void(*SubscribeFunction)(wm_apmMsg_t*));
파리미터:
SubscribeFunction(wm_apmMsg_t*): 제1 고객 태스크 애플리케이션이 메시지를 보낼수 있도록 호출부(the calling party)(제2 고객 태스크 애플리케이션 또는 (메인 또는 제2) 고객 서브 애플리케이션)에 의하여 제공되는 기능. 이와 같이 제공된 기능의 전형이 아래에 상세히 설명된다(상기 메인 고객 서브 애플리케이션을 위한 "wm_apmAppliParser_level2", 또는 상기 부 고객 서브 애플리케이션을 위한 "wm_app2MsgParser_level2").
반환값:
상기 반환 파리미터는 상기 가입이 처리되었는지(참) 또는 아닌지(거짓) 여부를 나타낸다.
A2) "wm osMsgParserUnsubscribe level2()"
제1 고객 태스크 애플리케이션을 이용하여, 제1 고객 태스크 애플리케이션으로부터 오는 메시지를 수신하기 위한 서비스에 대하여, 제2 고객 태스크 애플리케이션 또는 (메인 또는 제2) 고객 서브 애플리케이션의 가입을 중단하는 기능. 제1 고객 태스크 애플리케이션은 이전에 저장된 기능을 잃게 된다.
정확한 명칭:
boolwm_osMsgParserUnsubscribe_level2(void(*SubsFunction)(wm_apmMsg_t*));
파리미터:
SubsFunction(wm_apmMsg_t*): 제1 고객 태스크 애플리케이션이 메시지를 보낼 수 있도록 호출부(the calling party)(제2 고객 태스크 애플리케이션 또는 (메인 또는 제2) 고객 서브 애플리케이션)에 의하여 제공되는 기능. 상기 기능은 이러한 서비스를 가입하는 시간에 주어진 것과 동일하여야 하며, 그렇지 않으면 상기 가입 중단은 처리되지 않을 것이다.
반환값:
상기 반환 파리미터는 상기 가입이 중단이 처리되었는지(참) 또는 아닌지(거짓) 여부를 나타낸다.
A3) "wm app2Pipe level2(FunctionTypefunction,...)"
상기 부 고객 서브 애플리케이션이 서로 상호 작용할 수 있도록 상기 메인 고객 서브 애플리케이션을 제공해야 하는 상기 기능의 전형. 이것은 가변 인자 기능(variable argument function)이며, 인자의 수와 타입은 첫 번째 "기능" 파리미터에 의존한다.
정확한 명칭:
void wm_app2Pipe_level2(FunctionTypefunction,...);
파리미터:
기능: 기능이 요구된다. 이는 다음의 파리미터의 수와 타입을 암시한다. 몇몇 값들은 예비로 남겨지고(예를 들어 0에서 127), 다른 것들(예를 들어 128에서 255)은 상기 메인 고객 서브 애플리케이션과 상기 부 고객 서브 애플리케이션간에 특정 대화에 의하여 사용될 수 있도록 자유롭게 남겨진다.
A3-1)Variableparameters for
function=WM_APP_FUNCTION_INIT:
void wm_app2Pipe_level2 (
FunctionType_t function,
InitType_t Init,
void (*MainAppDialogFunction)(wm_apmMsg_t*),
void
*(*SecondaryAppDialogFunction)(wm_apmMsg_t*),
);
상기 제2 서브 애플리케이션은 초기화되고 및 그 프로세스를 해야한다.
InitType_t Init: 초기화 타입(APM_INIT_POWER_ON 또는 APM_INIT_REBOOT)
void(*MainAppDialogFunction)(wm_apmMsg_t*): 메시지를 상기 메인 고객 서브 애플리케이션에 전송하기 위하여 상기 부 고객 서브 애플리케이션에 의하여 사용되어야하는 기능 주소. 만약 이러한 기능이 상기 메인 고객 서브 애플리케이션에 의하여 요구되지 않는 경우에는, NULL 값을 부여한다.
void: *(*SecondaryAppDialogFunction)(wm_apmMsg_t*):
상기 부 고객 서브 애플리케이션은 상기 메인 고객 서브 애플리케이션에 발행하는 상기 기능의 주소를 부여해야 한다. 만약 상기 부 고객 서브 애플리케이션이 이러한 기능을 제공하지 않는 경우에는, 상기 값을 NULL로 설정하여야 한다.
(A3-2) Variableparameters for
function=WM_APP_FUNCTION_STOP:
void wm_app2Pipe_level2 (
FunctionType_t function,
);
상기 부 고객 서브 애플리케이션은 그 프로세싱 동작을 중단하고, 그 모든 가입으로부터 가입 해지하며, 모든 사용된 자원을 풀어놓아야 한다.
A4) "wm_apmAppliParser_level2"
제1 고객 태스크 애플리케이션으로부터 메시지를 수신하기 위하여 제2 고객 태스크 애플리케이션이 발행해야 하는 소스 기능의 전형. 이러한 프로세싱(또한 "수신"이라고 알려진) 기능의 파리미터 형성 메시지는 특히 AT 명령 또는 AT 명령어에 대한 응답을 포함한다.
이하에서 설명되는 모든 것들은 또한 상기 소스 기능에 적용되고, 여기서 상기 메인 고객 서브 애플리케이션 또는 상기 부 고객 서브 애플리케이션은 상기 제1 고객 태스크 애플리케이션으로부터 오는 메시지의 수신을 예상한다는 것을 알 수 있을 것이다. 오직 상기 기능 자체의 명칭만이 변경된다(예를 들어 "wm_apmAppliParser_level2" 대신에 "wm_app2MsgParser_level2").
정확한 명칭:
bool wm_apmAppliParser_level2(wm_apmMsg_t*Message);
파리미터
메시지
상기 메시지의 구조는 수신된 각각의 메시지 타입에 따라 변경된다:
typedef struct
{
s16 MsgTyp;
/*"MsgTyp"는 수신된 메시지 타입이며, 이는 상기 연관된 메시지 실체가 판단될 수 있도록 한다*/
wm_apmBody_t Body; /*"Body"는 특정 메시지 실체이다*/
} wm_apmMsg_t;
"MsgTyp"의 값:
WM_AT_SEND_RSP
상기 메시지는 고객 태스크에 의하여 제1 고객 태스크 애플리케이션으로 사전에 전송된 AT 명령어에 대한 응답을 포함한다.
WM_AT_UNSOLICITED
상기 메시지는 요청 받지 않은 AT 명령어를 포함한다.
WM_AT_CMD_PRE_PARSER
상기 메시지는 제1 고객 태스크 애플리케이션을 통하여 외부 고객 애플리케이션에 전송된 AT 명령어를 포함한다.
WM_AT_RSP_PRE_PARSER
상기 메시지는 외부 애플리케이션으로부터 오는 AT 명령어의 제1 고객 태스크 애플리케이션에 의한 실행으로부터 발생하는 AT 응답을 포함한다.
WM_OS_TIMER
상기 메시지는 시간 지연 만료에 전송된다.
상기 실체의 구조는:
typedef union
{
/*여기에 메시지 타입 "MsgTyp"과 연관된 모든 특정 구조가 포함된다 */
/*WM_AT_SEND_RSP */
wm_atResponse_t ATResponse;
/*WM_AT_UNSOLICITED */
wm_atUnsolicited_t ATUnsolicited;
/*WM_AT_CMD_PRE_PARSER */
wm_atCmdPreParser_t ATCmdPreParser;
/*WM_AT_RSP_PRE_PARSER */
wm_atRspPreParser_t ATRspPreParser;
/*WM_OS_TIMER */
wm_osTimer_t OSTimer;
}wm_apmBody_t
상기 실체의 서브 구조는:
WM_AT_SEND_RSP를 위한 실체:
typedef struct {
wm_atSendRspType_e Type;
u16 StrLength; /*StrData의 길이*/
char StrData[1]; /*AT 응답*/
}wm_atResponse_t
typedef enum {
WM_AT_SEND_RSP_TO_EMBEDDED,
WM_AT_SEND_RSP_TO_EXTERNAL,
WM_AT_SEND_RSP_TO_BROADCAST
}wm_atSendRspType_e;
("wm_atSendRspType_e description"에 대한 묘사는 "wm_atSendComand_level2" 기능에 대한 상세 설명을 참조하라).
WM_AT_UNSOLICITED를 위한 실체:
typedef struct {
wm_atUnsolicited_e Type;
u16 StrLength;
char StrData[1];
}wm_atUnsolicited_t;
typedef enum {
WM_AT_UNSOLICITED_TO_EXTERNAL,
WM_AT_UNSOLICITED_TO_EMBEDDED,
WM_AT_UNSOLICITED_TO_BROADCAST
}wm_atUNSOLICITED_e;
("wm_atUnsolicited_e"에 대한 묘사는 "wm_atUnsolicitedSubscription_level2" 기능에 대한 상세 설명을 참조하라).
WM_AT_CMD_PRE_PARSER를 위한 실체:
typedef struct {
wm_atCmdPreSubscribe_e Type;
u16 StrLength;
char StrData[1];
}wm_atCmdPreParser_t;
typedef enum {
WM_AT_CMD_PRE_WAVECOM_TREATMENT, /*디폴트값*/
WM_AT_CMD_PRE_EMBEDDED_TREATMENT,
WM_AT_CMD_PRE_BROADCAST
}wm_atCmdPreSubscribe_e;
("wm_atCmdPreSubscribe_e"에 대한 묘사는 "wm_atRspPreParserSubscribe_level2" 기능에 대한 상세 설명을 참조하라).
WM_AT_RSP_PRE_PARSER를 위한 실체:
typedef struct {
wm_atRspPreParserSubscribe_e Type;
u16 StrLength;
char StrData[1];
}wm_atRspPreParser_t;
typedef enum {
WM_AT_RSP_PRE_WAVECOM_TREATMENT, /*디폴트값*/
WM_AT_RSP_PRE_EMBEDDED_TREATMENT,
WM_AT_RSP_PRE_BROADCAST
}wm_atRspPreSubscribe_e;
("wm_atRspPreSubscribe_e"에 대한 묘사는 "wm_atRspPreParserSubscribe_level2" 기능에 대한 상세 설명을 참조하라).
WM_OS_TIMER를 위한 실체:
typedef struct {
wm_atRspPreParserSubscribe_e Type;
u8 Ident; /*시간 지연 식별자*/
}wm_osTimer_t;
("Ident"에 대한 묘사는 "wm_osStartTimer_level2" 기능에 대한 상세 설명을 참조하라).
반환값
상기 반환 파리미터는 상기 메시지가 처리되었는지(참) 또는 아닌지(거짓) 여부를 나타낸다.
A5) "wm atSendCommand level2"
적어도 하나의 AT 명령어에서 제1 고객 태스크 애플리케이션 기능이며, 이중 하나의 파리미터는 상기 애플리케이션을 나타낸다(즉 상기 내장된 제2 고객 태스크 애플리케이션 (또는 (메인 또는 제2) 고객 서브 애플리케이션) 및/또는 상기 AT 명령어의 실행으로부터 응답이 발생하는 외부 고객 애플리케이션이 어드레스된다.
정확한 명칭
void wm_atSendCommand_level2 (u16 AtStringSize,
wm_atSendRspType_e
ResponseType,
char *AtString,);
파리미터
AtString
상기 파리미터는 ASCII 문자에서의 어떠한 타입의 AT 명령 스트링이라도 될 수 있다. 여러개의 스트링이 동시에 전송될 수 있다.
AtStringSize
이전 파리미터의 크기: AtString.
응답 타입
응답의 타입
typedef enum {
WM_AT_SEND_RSP_TO_EMBEDDED, /*디폴트값*/
WM_AT_SEND_RSP_TO_EXTERNAL
WM_AT_SEND_RSP_BROADCAST
}wm_atSendRspType_e;
WM_AT_SEND_RSP_TO_EMBEDDED
모든 응답들은 상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션)으로 전환된다. 이것은 디폴트 모드이다.
WM_AT_SEND_RSP_TO_EXTERNAL
모든 응답들은 상기 외부 고객 애플리케이션(PC)으로 전환된다.
WM_AT_SEND_RSP_BROADCAST
모든 응답들은 상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션) 및 상기 외부 고객 애플리케이션(PC)으로 전환된다("broadcast").
A6) "wm atUnsolicitedSubscription level2"
요청되지 않은 AT 명령 접수 서비스에 대한 제1 고객 태스크 애플리케이션으로 가입하는 기능, 이 중 한 파리미터는 어느 수신자 애플리케이션(즉 상기 제2 임베디드 고객 태스크 애플리케이션 (또는 (메인 또는 제2) 고객 서브 애플리케이션) 및/또는 상기 외부 고객 애플리케이션)에 상기 각각의 요청되지 않은 AT 명령어들을 전환할 것인지를 나타낸다.
정확한 명칭:
void
wm_atUnsolicitedSubscription level2(wm_atUnsolicited_eUnsolicited);
파리미터:
Unsolicited
상기 파리미터는 요청되지 않은 AT 명령어가 도달 시 수행되는 동작을 나타낸다.
typedef enum {
WM_AT_UNSOLICITED_TO_EXTERNAL, /*디폴트값*/
WM_AT_UNSOLICITED_TO_EMBEDDED,
WM_AT_UNSOLICITED_broadcast
}wm_atUnsolicited_e;
WM_AT_UNSOLICITED_TO_EXTERNAL
모든 요청되지 않은 명령어는 상기 외부 고객 애플리케이션(PC)으로 전환된다(디폴트 모드).
WM_AT_UNSOLICITED_TO_EMBEDDED
모든 요청되지 않은 명령어는 상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션)으로 전환된다.
WM_AT_UNSOLICITED_broadcast
모든 요청되지 않은 명령어는 상기 외부 고객 애플리케이션(PC) 및 상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션)으로 전환된다.
A7) "wm atCmdPreParserSubscribe level2"
AT 명령 스위칭 서비스에 제1 고객 태스크 애플리케이션으로 가입하는 기능, 이 중 한 파리미터는 어느 수신자 애플리케이션(즉 상기 제2 임베디드 고객 태스크 애플리케이션 (또는 상기 (메인 또는 제2) 고객 서브 애플리케이션) 및/또는 제1 고객 태스크 애플리케이션)에 외부 애플리케이션으로부터 오는 AT 명령 각각을 스위치할 것인지를 나타낸다.
정확한 명칭:
void wm_atCmdPreParserSubscriber_level2
(wm_atCmdPreParserSubscrie_e SubscribeType)
파리미터:
상기 파리미터는 AT 명령어가 도착시 일어나는 동작을 설명한다
typedef enum {
WM_AT_CMD_PRE_WAVECOM_TREATMENT, /*디폴트값*/
WM_AT_CMD_PRE_EMBEDDED_TREATMENT,
WM_AT_CMD_PRE_BROADCAST
}wm_atCmdPreSubscribe_e;
WM_AT_CMD_PRE_WAVECOM_TREATMENT
상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션)은 상기 외부 고객 애플리케이션으로부터 전송된 명령어에 대한 여과(또는 염탐)를 원하지 않는다(디폴트 모드).
WM_AT_CMD_PRE_EMBEDDED_TREATMENT
상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션)은 상기 외부 고객 애플리케이션으로부터 전송되는 명령어에 대한 여과를 원한다.
WM_AT_CMD_PRE_BROADCAST
상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션)은 상기 외부 고객 애플리케이션으로부터 전송되는 명령어에 대한 염탐을 원한다.
A8) "wm atRspPreParserSubscribe level2"
제1 고객 태스크 애플리케이션으로 AT 응답 스위칭 서비스에 가입하는 기는, 이 중 한 파리미터는 어느 수신자 애플리케이션(즉 상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션) 및/또는 상기 외부 고객 애플리케이션)에 외부 애플리케이션으로부터 오는 AT 명령어의 제1 고객 태스크 애플리케이션에 의한 실행으로부터 발생하는 각각의 AT 응답을 스위칭할 것인지를 나타낸다.
정확한 명칭:
void wm_atRspPreParserSubscribe_level2
wm_atRspPreSubscribe_e SubscribeType
파리미터:
상기 파리미터는 AT 명령어가 도착시 발생하는 동작을 설명한다
typedef enum {
WM_AT_RSP_PRE_WAVECOM_TREATMENT, /*디폴트값*/
WM_AT_RSP_PRE_EMBEDDED_TREATMENT
WM_AT_RSP_PRE_BROADCAST
}wm_atRspPreSubscribe_e;
WM_AT_RSP_PRE_WAVECOM_TREATMENT
상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션)은 상기 외부 고객 애플리케이션으로부터 전송된 응답에 대한 여과(또는 염탐)를 원하지 않는다(디폴트 모드).
WM_AT_RSP_PRE_EMBEDDED_TREATMENT
상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션)은 상기 외부 고객 애플리케이션으로부터 전송되는 응답에 대한 여과를 원한다.
WM_AT_RSP_PRE_BROADCAST
상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션)은 상기 외부 고객 애플리케이션으로부터 전송되는 응답에 대한 염탐을 원한다.
A9) "wm atSendRspExternalApp level2"
제1 고객 태스크 애플리케이션을 통하여, 적어도 하나의 응답을 상기 외부 고객 애플리케이션에 전송하는 기능. 만약, 상기 응답에 대한 하나의 복사본을 특히 상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션)에 스위칭함으로써, 이전의 가입이 상기 응답 스위칭 서비스에 대하여 이루어지는 경우에만, 이러한 기능을 사용할 수 있다.
정확한 명칭:
void wm_atSendRspExternalApp_level2 (u16 AtStringsize,
char *AtString,);
파리미터:
AtString
ASCII 문자 중에서 어떠한 타입의 AT 응답 스트링이라도 될 수 있다
AtStringsize
이전 파리미터의 크기: AtString
A10) Data Flow Service level2
데이터 통신이 설정 완료된 이후에, 상기 제2 임베디드 고객 태스크 애플리케이션(또는 상기 (메인 또는 제2) 고객 서브 애플리케이션)에 의하여, 제1 고객 태스크 애플리케이션을 통하여, 데이터를 송신 및/또는 수신하는 기능.

Claims (38)

  1. - 시스템 운영 관리 애플리케이션 (OS),
    - 무선 통신 관리 애플리케이션 (계층 3 GSM), 및
    - 무선 통신 모듈에 연결되는 주변 장치를 관리하기 위한 애플리케이션(HWL)을 포함하는 메인 소프트웨어 프로그램을 호스트하고 구동하는 타입의 무선통신 모듈에 있어서,
    상기 메인 소프트웨어 프로그램에 포함된 상기 각각의 애플리케이션은 일련의 레벨 1의 실행 기능과 연관되고,
    상기 무선 통신 모듈은, 일련의 레벨 1 소스 기능과 연관된, 적어도 하나의 고객 애플리케이션을 포함하는 적어도 하나의 고객 소프트웨어 프로그램을 추가적으로 호스트하고 구동하고,
    상기 메인 소프트웨어 프로그램 및/또는 상기 고객 소프트웨어 프로그램은, 상기 고객 애플리케이션과 연관된 레벨 1 소스 기능이, 상기 시스템 운영 관리 애플리케이션, 적어도 하나의 상기 무선통신 관리 및 주변 장치 관리 애플리케이션과 연관된 레벨 1 실행 기능과 인터페이스 하도록 하여, 적어도 하나의 고객 애플리케이션이 상기 메인 소프트웨어 프로그램의 적어도 일부의 기능성에 엑세스하는 것을 시작할 수 있도록 하는 레벨 1 인터페이스 애플리케이션을 포함하는 것을 특징으로 하는 무선 통신 모듈.
  2. 제1항에 있어서, 상기 인터페이스 애플리케이션은 상기 고객 소프트웨어 프로그램에 포함되는 것을 특징으로 하는 무선통신 모듈.
  3. 제1항 또는 제2항에 있어서, 상기 고객 소프트웨어 프로그램은 적어도 2 개의 고객 애플리케이션을 갖는 이진 파일을 포함하는 것을 특징으로 하는 무선통신 모듈.
  4. 제1항 또는 제2항에 있어서, 상기 고객 소프트웨어 프로그램은 각각 적어도 하나의 고객 애플리케이션을 갖는, 적어도 2개의 이진 파일을 포함하는 것을 특징으로 하는 무선통신 모듈.
  5. 상기 청구항 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 고객 소프트웨어 프로그램은 전역적 초기화 고객 애플리케이션과, 적어도 하나의 실시간 태스크를 수행하는 적어도 하나의 고객 태스크 애플리케이션을 포함하고,
    상기 전역적 초기화 고객 애플리케이션과 연관된 일련의 레벨 1의 소스 기능은 레벨 1의 전역적 초기화 소스 기능 ("wm_apmGlobalInit_level1")을 포함하고, 그것의 역할은 메인 소프트웨어 프로그램이 초기화하고 각각의 고객 태스크 애플리케이션과 대화할 수 있도록 메인 소프트웨어 프로그램에 정보를 제공하는 것을 특징으로 하는 무선통신 모듈.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 고객 소프트웨어 프로그램은, 각각 일련의 레벨 1의 소스 기능과 연관되고, 각각 적어도 하나의 별개의 실시간 태스크를 수행하는 적어도 2개의 고객 태스크 애플리케이션을 포함하고,
    상기 메인 소프트웨어 프로그램 및/또는 상기 고객 소프트웨어 프로그램은, 실시간 멀티-태스크 연산을 할 수 있도록, 상기 고객 태스크 애플리케이션간의 계산 자원을 공용하기 위한 수단을 포함하는 것을 특징으로 하는 무선통신 모듈.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 각각의 고객 태스크 애플리케이션과 연관된 일련의 레벨 1의 소스 기능은, 상기 고객 태스크 애플리케이션을 초기화시키는, 레벨 1의 초기화 소스 기능 ("AppliInit_nx_level1")을 포함하는 것을 특징으로 하는 무선통신 모듈.
  8. 제5항 또는 제7항에 있어서,
    상기 전역적 초기화 소스 기능에 의해서 메인 소프트웨어 프로그램에 제공되는 상기 정보는:
    - 초기화될 고객 태스크 애플리케이션의 수, 및
    - 초기화될 각각의 고객 태스크 애플리케이션에 대하여, 대응되는 레벨 1 초기화 소스 기능을 포함하는 것을 특징으로 하는 무선통신 모듈.
  9. 제5항 내지 제8항 중 어느 한 항에 있어서,
    각각의 고객 태스크 애플리케이션과 연관된 일련의 레벨 1 소스 기능은 메인 소프트웨어 프로그램으로부터의 메시지를 수신하고 처리하는 레벨 1의 소스 기능을 포함하고, 상기 레벨 1 수신 및 처리 소스 기능의 파리미터는 메시지인 것을 특징으로 하는 무선통신 모듈.
  10. 제8항 또는 제9항에 있어서, 상기 레벨 1의 전역적 초기화 소스 기능에 의해서 메인 소프트웨어 프로그램에 제공되는 상기 정보는 추가로,
    - 초기화될 각각의 고객 태스크 애플리케이션에 대해서, 레벨 1의 수신 및 처리 소스 기능을 포함하는 것을 특징으로 하는 무선통신 모듈.
  11. 제5항 내지 제10항 중 어느 한 항에 있어서,
    각각의 고객 태스크 애플리케이션과 연관된 일련의 레벨 1 소스 기능은 메인 소프트웨어 프로그램에 의해서 관리되는 메일박스 서비스에 가입하여, 상기 고객 태스크 애플리케이션에 특정되고, 그것이 적어도 하나의 미리 결정된 소스로부터 오는 정보를 수신하기를 원하는 메일박스를 상기 고객 태스크 애플리케이션에 할당하도록 하는 레벨 1 소스 기능("wm_apmMbxSubscribe")을 포함하는 것을 특징으로 하는 무선통신 모듈.
  12. 상기 청구항 제11항에 있어서,
    각각의 미리 정해진 정보 소스는, 상기 메인 소프트웨어 프로그램에 의해서 수행되는 적어도 하나의 메인 태스크에 할당되고, 상기 메인 태스크가 하나 또는 그 이상의 다른 실체에 통신하기를 바라는 정보를 포함하고 있는 메일박스인 것을 특징으로 하는 무선통신 모듈.
  13. 제1항 내지 제12항 중에서 어느 한 항에 있어서,
    상기 고객 소프트웨어 프로그램은, 일련의 레벨 1 소스 기능과 연관되고 각각은 적어도 하나의 별개의 실시간 태스크를 수행하는 적어도 하나의 고객 태스크 애플리케이션을 포함하고,
    각각의 고객 태스크 애플리케이션과 연관된 일련의 레벨 1의 소스 기능이:
    - 메시지 (사전에 할당되고 완료된)를 상기 인터페이스 애플리케이션 및 상기 메인 소프트웨어 프로그램을 통하여 다른 고객 태스크 애플리케이션에 전송하는 레벨 1 소스 기능("wm_osSendMsg_level1");
    - 상기 메인 소프트웨어 프로그램에 있어서 시간 지연을 트리거링 레벨 1의 소스 기능("wm_osStartTimer_level1");
    - 상기 소프트웨어 프로그램에서 사전에 트리거된 시간 지연을 정지시키는 레벨 1 소스 기능 ("wm_osStopTimer_level1");
    - 결함수정을 추적하는 레벨 1 소스 기능("wm_osDebugTrace_level1");
    - 치명적 에러를 나타내고 재부팅하는 레벨 1 소스 기능("wm_osDebugFatalError_level1");
    - 데이터를 상기 무선통신 모듈에 포함된 메모리에 기록하는 레벨 1 소스 기능("wm_osWriteFlashData_level1");
    - 상기 무선통신 모듈에 포함된 메모리의 데이터를 판독하는 레벨 1 소스 기능("wm_osReadFlashData_level1");
    - 상기 무선통신 모듈에 포함된 메모리에 저장된 데이터의 길이를 제공하는 레벨 1 소스 기능("wm_osGetLenFlashData_level1");
    - 상기 무선통신 모듈에 포함된 메모리에 저장된 데이터를 삭제하는 레벨 1 소스 기능("wm_osDeleteFlashData_level1");
    - 상기 무선통신 모듈에 포함된 메모리에 할당된 메모리의 크기를 제공하는 레벨 1 소스 기능("wm_osGetAllowedMemoryFlashData_level1");
    - 상기 무선통신 모듈에 포함된 메모리의 빈 메모리의 크기를 제공하는 레벨 1 소스 기능("wm_osGetFreeMemoryFlashData_level1");
    - 상기 무선통신 모듈에 포함된 메모리 내의 메모리 할당을 요청하는 레벨 1 소스 기능("wm_osGetMemory_level1");
    - 상기 무선통신 모듈에 포함된 메모리 내의 메모리의 해제를 요청하는 레벨 1 소스 기능("wm_osReleaseMemoryFlashData_level1")을 포함하는 그룹에 속하는 적어도 하나의 기능을 포함하는 것을 특징으로 하는 무선통신 모듈.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서,
    내장된 고객 소프트웨어 프로그램 및 메인 소프트웨어 프로그램 각각은 동일한 랜덤 액세스 메모리의 상이한 부분을 사용하고, 소프트웨어 프로그램 중 하나에 의해서 다른 소프트웨어 프로그램에 할당된 랜덤 액세스 메모리의 한 부분에 엑세스하는 시도에 의해서 연산이 정지되는 것을 특징으로 하는 무선통신 모듈.
  15. 상기 청구항 제1항 내지 제14항 중 어느 한 항에 있어서,
    무선통신 모듈은;
    - 무선통신 단말;
    - 무선통신 단말 이외에, 무선 통신 기능성을 요구하는 장치; 및
    - 모뎀을 포함하는 그룹에 속하는 장치에 포함되는 것을 특징으로 하는 무선통신 모듈.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서,
    상기 고객 소프트웨어 프로그램은 적어도:
    - 적어도 하나의 고객 제어 애플리케이션에 의해서 상기 제1 애플리케이션에 전송되고 미리 정해진 일련의 제어 명령에 속하는, 제어 명령어를 실행하는 제1 실시간 태스크를 수행하는 제1 고객 애플리케이션-여기서, 상기 제1 고객 애플리케이션은, 제어 명령어에 특정되고, 상기 제어 명령어의 적어도 하나가 실행되도록 하는 일련의 레벨 2의 실행 기능에 기초함-;
    - 제2 의 실시간 태스크를 수행하는 제2 고객 애플리케이션-여기서, 제2 고객 애플리케이션은 다음의 역할 중 적어도 하나의 역할을 수행함-:
    * 제어 명령어를 상기 제1 고객 애플리케이션에 전송하고, 몇 개의 제어 명령어의 실행으로부터 생기는 고객 애플리케이션 응답을 수신하는 고객 제어 애플리케이션의 역할;
    * 고객 제어 애플리케이션에 의해서 전송된 제어 명령어의 실행을 관리하는 고객 관리 애플리케이션의 역할, 여기서, 상기 고객 애플리케이션은 외부에 있고, 상기 무선통신 모듈과 관계되는 제 3 자 장비에 의해서 호스트 되고 구동됨;
    * 상기 제2 고객 애플리케이션은 특히, 일련의 레벨 2의 소스 기능에 기초하고 있고, 상기 제어 명령어에 특정되고, 각각은 제1 고객 애플리케이션으로 전송되거나 또는 제1 고객 애플리케이션으로부터 수신되는 명령을 제어하기 위한 명령 또는 응답을 제어하도록 함; 및
    - 상기 제어 명령어에 특정되고, 상기 레벨 2 소스 및 실행 기능이 인터페이스 되는 레벨 2 인터페이스 애플리케이션-여기서, 상기 제2 레벨 인터페이스 애플리케이션은 상기 레벨 1 인터페이스 애플리케이션에 기초하고 있음-; 을 포함하는 것을 특징으로 하는 무선통신 모듈.
  17. 제16항에 있어서, 상기 제2 고객 애플리케이션이 고객 제어 애플리케이션의 역할을 수행하도록 하기 위해서,
    - 상기 제2 고객 애플리케이션은 상기 제1 고객 애플리케이션에 포함된 실행 수단에 제어 명령어를 송신하는 수단을 포함하고;
    - 상기 제1 고객 애플리케이션은, 상기 제1 고객 애플리케이션에 포함된 실행 수단에 의해서 상기 제어 명령의 일부의 실행으로부터 발생하는 응답을 제2 고객 애플리케이션에 전송하는 수단을 포함하고;
    - 상기 제2 고객 애플리케이션은 상기 제1 고객 애플리케이션에 의해서 전송된 응답을 처리하는 수단을 포함하는 것을 특징으로 하는 무선 통신 모듈.
  18. 제16항 또는 제17항에 있어서,
    제2 고객 애플리케이션이 고객 관리 애플리케이션의 역할을 수행하기 위하여,
    - 상기 제1 고객 애플리케이션은, 사전 설정된 명령 스위칭 방침의 기능으로서, 외부 고객 애플리케이션으로부터 오는 제어 명령어를 제2 고객 애플리케이션 및/또는 상기 제1 고객 애플리케이션에 포함된 실행 수단에 전송하기 위한 명령 스위칭 수단을 포함하고,
    - 상기 제2 고객 애플리케이션은 상기 명령 스위칭 수단에 의해서 스위칭된 제어 명령을 처리하는 수단을 포함하는 것을 특징으로 하는 무선 통신 모듈.
  19. 제18항에 있어서, 상기 제2 고객 애플리케이션은,
    - 상기 외부 고객 애플리케이션으로부터의 제어 명령은 상기 제1 고객 애플리케이션에 포함된 실행 수단으로만 전송되고,
    - 상기 외부 고객 애플리케이션으로부터의 제어 명령은 상기 제2 고객 애플리케이션으로만 전송되고,
    - 상기 외부 고객 애플리케이션으로부터의 제어 명령은 상기 제1 고객 애플리케이션 및 제2 고객 애플리케이션에 포함된 실행 수단에 전송되는
    일련의 명령 스위칭 정책 중에서, 상기 명령 스위칭 수단에 의해서 인가된 명령 스위칭 정책을 선택하는 수단을 포함하는 것을 특징으로 하는 무선 통신 모듈.
  20. 제18항 또는 제19항에 있어서, 상기 명령 처리 수단은, 각각의 명령에 대해서,
    - 제1 고객 애플리케이션에 포함된 실행 수단에 제어 명령을 전송하고, 상기 제2 고객 애플리케이션은 제어 명령을 실행 수단에 전송하는 단부 수단(end means)을 포함하고;
    - 제2 고객 애플리케이션은, 제2 고객 애플리케이션을 통하여, 외부 고객 애플리케이션에 응답을 전송하는 단부 수단을 포함하고, 명령을 실행하지 않고, 명령에 관계된 적어도 일부의 정보의 기능으로 응답을 제공하거나, 제공하지 않는 그룹 중에 속하는지를 결정하는 것을 특징으로 하는 무선통신 모듈.
  21. 제16항 내지 제20항 중 어느 한 항에 있어서, 제2고객 애플리케이션이 고객 관리 애플리케이션의 역할을 수행하도록 하기 위해서,
    - 상기 제1 고객 애플리케이션은, 제1 고객 애플리케이션에 포함된 실행 수단에 의한 제어 명령의 일부의 실행으로부터 발생하는 응답을, 제2 고객 애플리케이션 및/또는 외부 고객 애플리케이션에 전송하기 위해서, 사전 설정된 응답 스위칭 정책의 기능으로서, 응답 스위칭 수단을 포함하고;
    - 제2 고객 애플리케이션은 상기 응답 스위칭 수단에 의해서 처리 응답 수단으로 스위칭되는 처리응답 수단을 포함하는 것을 특징으로 하는 무선통신 모듈.
  22. 제21항에 있어서,
    제2 고객 애플리케이션은 상기 응답 스위칭 수단에 의해서 인가되는 응답 스위칭 정책을,
    - 실행 수단으로부터의 응답들은 외부 고객 애플리케이션으로 유일하게 전송하고;
    - 상기 실행 수단으로부터의 응답은 제2 고객 애플리케이션으로 전송되고;
    - 상기 실행 수단으로부터의 응답은 제2 고객 애플리케이션 및 외부 고객 애플리케이션으로 전송되는
    일련의 응답 스위칭 정책 중에서 선택하는 수단을 포함하는 것을 특징으로 하는 무선통신 모듈.
  23. 제16항 내지 제22항 중 어느 한 항에 있어서,
    상기 일련의 레벨 2 소스 기능은 제1 애플리케이션으로부터의 메시지를 처리하는 기능("wm_apmAppliParser_level2")을 특히 포함하고, 상기 처리 기능의 하나의 파리미터는 상기 메시지인 것을 특징으로 하는 무선통신 모듈.
  24. 청구항 제23항에 있어서, 상기 처리 기능의 파리미터를 형성하는 메시지는,
    - 상기 메시지 타입과 관련된 정보의 일부를 갖는 제1 필드;
    - 상기 메시지의 특정 바디를 갖는 제2 필드를 포함하는
    구조를 갖는 것을 특징으로 하는 무선통신 모듈.
  25. 제24항에 있어서, 상기 메시지의 타입은,
    - 제2 애플리케이션에 의해서 제1 애플리케이션에 이미 전송된 제어 명령으로의 응답을 갖는 메시지;
    - 비요청 제어 명령을 포함하는 메시지;
    - 제1 애플리케이션을 통하여, 외부 고객 애플리케이션에 의해서 전송하는 제어 명령을 포함하는 메시지;
    - 외부 고객 애플리케이션에 의해서 전송된 제어 명령의 제1 애플리케이션에 의한 실행으로부터 발생하는 응답을 포함하는 메시지;
    - 시간 지연이 종료될 때 전송되는 메시지를 포함하는 그룹에 속하는 것을 특징으로 하는 무선통신 모듈.
  26. 제23항 내지 제25항 중 어느 한 항에 있어서,
    상기 일련의 제2 레벨 소스 기능은,
    - 상기 제1 애플리케이션에 적어도 하나의 제어 명령을 전송하는 레벨 2의 소스 기능("wm_atSendCommand_level2"), 여기서, 상기 전송 기능의 제1 파리미터는 상기 적어도 하나의 제어 명령이고, 상기 전송 기능의 제2 파리미터는 상기 제어 명령의 실행으로부터 생기는 응답이 어드레스 되는 애플리케이션, 즉 제2 애플리케이션 및/또는 외부 고객 애플리케이션을 나타냄;
    - 상기 제1 애플리케이션으로 비요청 제어 명령을 수신하는 서비스에 가입하는 레벨 2 소스 기능("wm_atUnsolicitedSubscription_level2"), 상기 가입 기능의 한 파리미터는 어드레스 되는 애플리케이션, 즉, 제2 고객 애플리케이션 및/또는 외부 고객 애플리케이션을 나타내고, 각각의 비요청 제어 명령은 방향을 바꿈;
    - 상기 제1 애플리케이션으로 제어 명령 스위칭 서비스에 가입하는 레벨 2 소스 기능("wm_atCmdPreParserSubscribe_lverl2"), 상기 가입 기능의 하나의 파리미터는, 각각 제어 명령의 제1 애플리케이션에 의한 실행으로부터 생성되는 응답인, 외부 고객 애플리케이션 및/또는 제2 애플리케이션 중 어떤 애플리케이션으로 스위칭되는 가를 나타냄;
    - 상기 제1 애플리케이션을 통하여, 적어도 하나의 응답을 외부 고객 애플리케이션에 전송하는 레벨 2 소스 기능("wM_atSendRspExternalApp_level2"), - 여기서, 상기 전송 기능의 하나의 파리미터는 적어도 하나의 응답이다-; 을 포함하는 그룹에 속하는 적어도 하나의 기능을 추가적으로 포함하는 것을 특징으로 하는 무선통신 모듈.
  27. 제16항 내지 제26항 중 어느 한 항에 있어서,
    상기 일련의 제어 명령은 AT 명령의 표준 세트인 것을 특징으로 하는 무선통신 모듈.
  28. 제27항에 있어서,
    상기 일련의 제어 명령은, 표준 AT 명령으로부터 분리되어, 외부 고객 애플리케이션이 신규한 제2 고객 애플리케이션 또는 무선통신 모듈에 있어서 신규한 고객 소프트웨어 프로그램 전체를 로드할 수 있는, 로드 명령(load command)으로 알려진 추가적인 AT 명령(AT + WDWL)을 포함하는 것을 특징으로 하는 무선통신 모듈.
  29. 제27항 또는 제28항에 있어서,
    상기 일련의 제어 명령은, 표준 AT 명령으로부터 분리되어, 외부 고객 애플리케이션이 제2 고객 애플리케이션을 디스에이블 시킬 수 있는, 디스에이블 명령으로 알려진 추가적인 AT 명령(AT + WOPEN)을 포함하는 것을 특징으로 하는 무선통신 모듈.
  30. 제16항 내지 제29항 중 어느 한 항에 있어서,
    상기 제2 고객 애플리케이션은 메인 고객 애플리케이션과, 상기 메인 고객 서브-애플리케이션의 슬레이브인 적어도 하나의 부 고객 서브-애플리케이션을 포함하고, 상기 제2 고객 애플리케이션에 의해서 수행되는 처리 애플리케이션은 상기메인 고객 서브-애플리케이션과 상기 적어도 하나의 부 고객 서브-애플리케이션 사이에서 분배되는 것을 특징으로 하는 무선통신 모듈.
  31. 제30항 또는 제7항에 있어서,
    상기 레벨 1 초기화 소스 기능("AppliInit_nx_level1")은 제2 고객 태스크 애플리케이션과 연관된 일련의 레벨 1 소스 기능에 포함되고, 상기 메인 고객 서브-애플리케이션이 초기화되도록 하는 것을 특징으로 하는 무선통신 모듈.
  32. 청구항 제31항에 있어서,
    상기 메인 고객 서브 애플리케이션은 상기 제1 고객 애플리케이션으로부터 메시지를 전송하는 서비스에 가입하는 레벨 2 소스 기능("wm_osMsgParserSubscribe_level2")을 포함하는 일련의 레벨 2 소스 기능과 연관되고,
    상기 가입에서, 상기 메인 고객 서브-애플리케이션은, 상기 메인 고객 서브-애플리케이션이 상기 제1 고객 애플리케이션으로부터 메시지를 수신하기를 원하는, 레벨 2 메시지 프로세싱 소스 기능("wm_apmAppliParser_level2")의 주소로 제1 고객 애플리케이션을 전송하는 것을 특징으로 하는 무선 통신 모듈.
  33. 제30항 내지 제32항 중 어느 한 항에 있어서,
    상기 부 고객 서브-애플리케이션은 부 고객 서브-애플리케이션을 초기화시키는 레벨 2 소스 기능("wm_app2Pipe(Init)_level2") - 여기서, 상기 레벨 2 소스 기능은 상기 메인 고객 서브-애플리케이션에 의해서 호출됨 - 을 포함하는 일련의 레벨 2 소스 기능과 연관된 것을 특징으로 하는 무선통신 모듈.
  34. 제33항에 있어서,
    상기 부 고객 서브 애플리케이션과 연관된 일련의 레벨 2 소스 기능은 상기 제1 고객 애플리케이션으로부터 메시지를 전송하는 서비스에 가입하는 레벨 2 소스 기능("wm_osMsgParserSubscribe_level2")을 포함하고,
    상기 가입에서, 상기 부 고객 서브-애플리케이션은, 상기 제2 고객 애플리케이션이 상기 제1 고객 애플리케이션으로부터 메시지를 수신하기를 원하는, 레벨 2 메시지 프로세싱 소스 기능 ("wm_app2MsgParser_level2")의 주소로 제1 고객 애플리케이션을 전송하는 것을 특징으로 하는 무선 통신 모듈.
  35. 제33항 또는 제34항에 있어서,
    상기 부 고객 서브-애플리케이션을 초기화시키는 레벨 2의 소스 기능은 상기 메인 고객 서브-애플리케이션과 상기 부 고객 서브 애플리케이션 사이에 구현되는 대화 메커니즘을 가능하게 하는 적어도 하나의 파리미터를 포함하는 것을 특징으로 하는 무선통신 모듈.
  36. 제33항 내지 제35항 중 어느 한 항에 있어서,
    상기 부 고객 서브-애플리케이션과 연관된 일련의 레벨 2의 소스 기능은, 메인 고객 서브-애플리케이션에 의해서 호출되는, 부 고객 서브 애플리케이션을 정지시키는 레벨 2의 소스 기능("wm_app2Pipe(Stop)_level2")을 포함하는 것을 특징으로 하는 무선통신 모듈.
  37. 제33항 내지 제36항 중 어느 한 항에 있어서,
    상기 부 고객 서브-애플리케이션과 연관된 일련의 레벨 2의 소스 기능은 상기 제1 고객 애플리케이션으로부터의 메시지를 전송하는 서비스로부터 가입을 해지하는 레벨 2 소스 기능("wm_osMsgParserUnsubscribe_level2")을 포함하는 것을 특징으로 하는 무선 통신 모듈.
  38. 무선통신 모듈의 메인 소프트웨어 프로그램의 적어도 일부의 기능성에의 액세스를 개시하는 방법에 있어서, 상기 무선통신 모듈은,
    - 시스템 운영 관리 애플리케이션 (OS),
    - 무선 통신 관리 애플리케이션 (계층 3 GSM),
    - 무선 통신 모듈에 연결되는 주변 장치를 관리하기 위한 애플리케이션(HWL)을 포함하는 메인 소프트웨어 프로그램을 호스트하고 구동하는 타입의 무선통신 모듈에 있어서,
    상기 메인 소프트웨어 프로그램에 포함된 상기 각각의 애플리케이션은 일련의 레벨 1의 실행 기능과 연관되고,
    상기 무선 통신 모듈은, 일련의 레벨 1 소스 기능과 연관된, 적어도 하나의 고객 애플리케이션을 포함하는 적어도 하나의 고객 소프트웨어 프로그램을 추가적으로 호스트하고 구동하고,
    상기 메인 소프트웨어 프로그램 및/또는 상기 고객 소프트웨어 프로그램은, 상기 고객 애플리케이션과 연관된 레벨 1 소스 기능이, 상기 시스템 운영 관리 애플리케이션, 적어도 하나의 상기 무선통신 관리 및 주변 장치 관리 애플리케이션과 연관된 레벨 1 실행 기능과 인터페이스 하도록 하여, 적어도 하나의 고객 애플리케이션이 상기 메인 소프트웨어 프로그램의 적어도 일부의 기능성에 엑세스하는 것을 개시할 수 있도록 하는 레벨 1 인터페이스 애플리케이션을 포함하는 것을 특징으로 하는 방법.
KR1020047004938A 2001-10-02 2002-09-09 저 레벨 계층을 고객 소프트웨어 프로그램에 개방하는메인 소프트웨어 프로그램과 저 레벨 계층을 구동하는무선통신 모듈 KR100962614B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0112692A FR2830403B1 (fr) 2001-10-02 2001-10-02 Module de radiocommunication executant un logiciel principal dont les couches sont ouvertes a un logiciel client egalement execute par le module
FR01/12692 2001-10-02
PCT/FR2002/003058 WO2003030572A1 (fr) 2001-10-02 2002-09-09 Module de radiocommunication executant un logiciel principal dont les couches basses sont ouvertes a un logiciel client egalement execute par le module

Publications (2)

Publication Number Publication Date
KR20040047889A true KR20040047889A (ko) 2004-06-05
KR100962614B1 KR100962614B1 (ko) 2010-06-11

Family

ID=8867862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047004938A KR100962614B1 (ko) 2001-10-02 2002-09-09 저 레벨 계층을 고객 소프트웨어 프로그램에 개방하는메인 소프트웨어 프로그램과 저 레벨 계층을 구동하는무선통신 모듈

Country Status (11)

Country Link
US (1) US20050118995A1 (ko)
EP (1) EP1433343B1 (ko)
KR (1) KR100962614B1 (ko)
CN (1) CN100514990C (ko)
AT (1) ATE293873T1 (ko)
DE (1) DE60203811T2 (ko)
ES (1) ES2242067T3 (ko)
FR (1) FR2830403B1 (ko)
HK (1) HK1072867A1 (ko)
WO (1) WO2003030572A1 (ko)
ZA (1) ZA200402988B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004062869A1 (de) * 2004-12-21 2006-07-06 Mayr, Ralph Modul zur Datenübertragung und Peripheriegerät zur Aufnahme des Moduls
FR2905819B1 (fr) 2006-09-12 2013-01-18 Wavecom Procede de gestion de l'architecture logicielle d'un circuit de radiocommunication,application,produit programme d'ordinateur et circuit correspondants.
US10225317B2 (en) * 2014-10-30 2019-03-05 Be-Bound Inc. Asynchronous application data access system and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997021281A1 (en) * 1995-12-08 1997-06-12 Amsc Subsidiary Corporation Mobile communications terminal for satellite communications system
SE520934C2 (sv) * 1998-06-05 2003-09-16 Telia Ab Anordning och metod för att hantera tele- och datatjänster i en mobil terminal som utnyttjar SIM Application Toolkit (SIMAT) baserade informationsmeddelanden
FR2805912A1 (fr) * 2000-03-01 2001-09-07 Gemplus Card Int Procede de commande d'une carte a puce
JP2001251366A (ja) * 2000-03-07 2001-09-14 Sony Corp 通信装置及び通信方法

Also Published As

Publication number Publication date
ES2242067T3 (es) 2005-11-01
WO2003030572A1 (fr) 2003-04-10
DE60203811T2 (de) 2006-01-26
FR2830403B1 (fr) 2003-11-21
EP1433343B1 (fr) 2005-04-20
ZA200402988B (en) 2005-04-26
ATE293873T1 (de) 2005-05-15
CN100514990C (zh) 2009-07-15
CN1586086A (zh) 2005-02-23
DE60203811D1 (de) 2005-05-25
US20050118995A1 (en) 2005-06-02
KR100962614B1 (ko) 2010-06-11
FR2830403A1 (fr) 2003-04-04
HK1072867A1 (en) 2005-09-09
EP1433343A1 (fr) 2004-06-30

Similar Documents

Publication Publication Date Title
JP4362178B2 (ja) ユーザ・アプリケーション・プログラムと電話プログラム間のapiを備える無線通信装置およびその方法
US5146568A (en) Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs
JP2544904B2 (ja) 協調作業ネットワ―クでの呼出し管理ワ―クステ―ション及び方法
US6988274B2 (en) Method, system, and computer program product for representing and connecting an underlying connection-oriented device in a known format
KR101047278B1 (ko) 미들웨어 어플리케이션 메시지/이벤트 모델
JP2005518015A (ja) 移動体端末用プラットフォーム・システムのミドルウエア・サービス・レイヤ
JP2010152917A (ja) 周辺デバイスとワイアレス・デバイスとの間の通信を確立するためのシステム及び方法
WO2005083984A1 (en) Protocol stack with modification facility
JPH09265409A (ja) 高性能ユーザ・レベル・ネットワーク・プロトコル・サーバ・システムのための動的実行ユニット管理
JP2007527562A (ja) 埋め込みシステムの中に統合されるソフトウェアコンポーネントを管理する方法
US9112917B2 (en) Controller system and method therefor
US6393494B1 (en) Method, computer program product, and system for managing connection-oriented media
RU2298298C2 (ru) Способ выполнения программы заказчика блоком радиосвязи
KR100962614B1 (ko) 저 레벨 계층을 고객 소프트웨어 프로그램에 개방하는메인 소프트웨어 프로그램과 저 레벨 계층을 구동하는무선통신 모듈
US8051191B2 (en) Ethernet extensibility
US20120192208A1 (en) Method, Apparatus and Computer Program for Providing Multimedia Functions Using a Software Wrapper Component
US20020026536A1 (en) Method, computer program product, and system for separating connection management functionality from a connection-oriented device driver
JP3924279B2 (ja) 統合ネットワーク・サービス・プロバイダ向けのサービス・アプリケーション・アーキテクチャ
US7805733B2 (en) Software implementation of hardware platform interface
Emako et al. A mobile agent-based advanced service architecture for wireless Internet telephony: design, implementation, and evaluation
KR100593843B1 (ko) 이동 통신 단말기용 응용 프로그램 운영 시스템
US20030093536A1 (en) Support interface module
KR20010105756A (ko) 통합 응용 프로그램 인터페이스를 사용한 컴퓨터 전화인터페이스 서비스 프로그램 개발 시스템 및 방법
CN111245936A (zh) 一种app的运行方法、代理服务器和目标终端
AU2002253260B2 (en) Radiocommunication module executing a main software and a client software comprising several client applications

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
FPAY Annual fee payment

Payment date: 20130603

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140602

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150601

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee