KR100494827B1 - Distributed object model based radio server with hardware-independent communication interface and communication control method using the same - Google Patents

Distributed object model based radio server with hardware-independent communication interface and communication control method using the same Download PDF

Info

Publication number
KR100494827B1
KR100494827B1 KR1020050030052A KR20050030052A KR100494827B1 KR 100494827 B1 KR100494827 B1 KR 100494827B1 KR 1020050030052 A KR1020050030052 A KR 1020050030052A KR 20050030052 A KR20050030052 A KR 20050030052A KR 100494827 B1 KR100494827 B1 KR 100494827B1
Authority
KR
South Korea
Prior art keywords
distributed object
wireless communication
hardware
radio server
client
Prior art date
Application number
KR1020050030052A
Other languages
Korean (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 KR1020050030052A priority Critical patent/KR100494827B1/en
Application granted granted Critical
Publication of KR100494827B1 publication Critical patent/KR100494827B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/02Inter-networking arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Abstract

하드웨어 독립적인 통신 인터페이스를 가지는 분산객체 모델 기반의 라디오 서버와 이를 이용한 통신제어방법이 개시된다. 라디오 서버는 무선통신 하드웨어와 클라이언트 객체로 작용하는 적어도 하나의 응용 프로그램 사이에 위치하고, 각 응용 프로그램과는 분산객체시스템을 통해 링크된다. 또한, 라디오 서버는 무선통신 하드웨어에 대하여 장치 독립적으로 정의된 다수의 메쏘드를 구비한다. 이들 메쏘드들의 집합은 응용프로그램이 분산객체시스템을 통해 호출할 수 있는 무선통신 인터페이스로서 제공된다. 특정 응용프로그램에 의한 메쏘드 호출(invoke)의 요청(request)이 있으면, 그 호출된 특정 메쏘드의 실행에 필요한 정보를 분산객체시스템을 통해 전달받아 해당 메쏘드를 호출하고, 그 메쏘드가 정의하는 바에 따라 무선통신 하드웨어를 제어할 수 있는 통신제어 명령어를 생성하여 그 무선통신 하드웨어에 전달한다. 메쏘드의 수행 결과와 이벤트의 통지가 클라이언트 응용프로그램에게 제공된다. Disclosed are a distributed object model based radio server having a hardware independent communication interface, and a communication control method using the same. The radio server is located between the wireless communication hardware and at least one application program that acts as a client object, and each application program is linked through a distributed object system. The radio server also includes a number of methods that are device independent of the radio hardware. The set of these methods is provided as a wireless communication interface that applications can call through a distributed object system. When there is a request for a method invocation by a particular application, it receives the information needed to execute that specific method through the distributed object system and calls that method, and as defined by that method, wirelessly. A communication control command for controlling the communication hardware is generated and transmitted to the wireless communication hardware. The result of the method execution and the notification of the event are provided to the client application.

Description

하드웨어 독립적인 통신 인터페이스를 가지는 분산객체 모델 기반의 라디오 서버와 이를 이용한 통신제어방법 {Distributed object model based radio server with hardware-independent communication interface and communication control method using the same}Distributed object model based radio server with hardware-independent communication interface and communication control method using the same}

본 발명은 물리적인 분산객체구조를 기반으로 하는 무선통신 기술에 관한 것으로서, 보다 상세하게는 무선통신모듈을 직접적으로 제어하고 응용 프로그램에게는 장치 독립적인 통신 인터페이스를 제공하는 분산객체 모델 기반의 라디오 서버와 이를 이용한 무선통신 제어방법에 관한 것이다.The present invention relates to a wireless communication technology based on a physical distributed object structure, and more particularly, to a distributed object model-based radio server that directly controls a wireless communication module and provides a device-independent communication interface to an application program. It relates to a wireless communication control method using the same.

일반적으로 이동통신 단말기에서는 전화 응용 프로그램이 무선통신 장치(radio)에게 통신 제어 명령어를 전달하고 응답을 받음으로써 통신 기능을 수행한다. 대표적인 통신 제어 명령어로는 AT 명령어(AT commands)가 널리 사용된다. AT 명령어는 CDMA나 GSM/GPRS 와 같은 이동통신 방식에 따라 차이를 보이며, 무선장치 제조업체에 따라 상이한 명령어 세트를 제공한다.In general, a mobile communication terminal performs a communication function by transmitting a communication control command to a radio communication device and receiving a response. AT commands are widely used as representative communication control commands. AT commands are different depending on the mobile communication method such as CDMA or GSM / GPRS, and provide different command sets according to the wireless device manufacturer.

종래에 단말기 소프트웨어가 무선통신 장치와 인터페이스 하는 방법은 응용 프로그램에서 AT 명령어를 직접 처리하는 방식과 드라이버에서 AT 명령어를 처리하고 응용 프로그램에게 응용프로그램 인터페이스(Application Program Interface: API)를 제공하는 방식으로 나눌 수 있다.Conventionally, a terminal software interface with a wireless communication device can be divided into a method of processing AT commands directly in an application program and a method of processing AT commands in a driver and providing an application program interface (API) to an application program. Can be.

응용 프로그램에서 AT 명령어를 직접 처리하는 방식은 소프트웨어 계층을 단순화하고 처리 속도를 빠르게 하는 장점이 있으나, 응용 프로그램 개발자가 하드웨어 종속성을 가지는 무선통신 장치에 대해 이해를 하고 있어야 하는 어려움이 있다. 또한, 무선통신 장치의 변경이 있을 경우 응용 프로그램에서 일일이 수정을 해야 하므로, 유지 및 보수에 문제점을 야기 시킨다.The direct way of processing AT commands in an application has the advantage of simplifying the software layer and speeding up the processing. However, it is difficult for the application developer to understand a wireless communication device having a hardware dependency. In addition, if there is a change in the wireless communication device, the application must be modified manually, which causes problems in maintenance and repair.

드라이버에서 AT 명령어를 처리하고 응용 프로그램에게 API를 제공하는 방식은 응용 프로그램 개발자가 무선통신 장치의 하부 구조와 기능을 모르더라도 무선통신 장치에게 명령어를 전달할 수 있는 장점이 있다. 마이크로소프트사의 스마트폰 운영체제나 팜 소스(Palm Source)의 팜 운영체제(Palm OS)가 이러한 인터페이스 구조를 가지고 있다. The method of processing AT commands in a driver and providing an API to an application program has an advantage in that the application developer can deliver the commands to the wireless communication device even if the application developer does not know the infrastructure and functions of the wireless communication device. Microsoft's smartphone operating system or Palm Source's Palm OS has this interface structure.

응용 프로그램은 특정한 통신 기능을 수행하기 위해서 API를 호출하며, 프록시(proxy)에서는 API를 입출력제어(input output control: IOCTL) 코드로 변환하여 드라이버로 전달한다. 드라이버는 해당 IOCTL 코드를 관련 AT 명령어로 변환하여 무선통신 장치로 전송함으로써 그 기능을 수행한다. 이러한 구조는 무선통신 장치의 하드웨어적인 속성과 무관하게 응용 프로그램을 개발할 수 있어 대부분의 스마트폰에 적용되어 있다.An application program calls an API to perform a specific communication function. A proxy converts an API into input output control (IOCTL) code and passes it to a driver. The driver performs its function by converting the corresponding IOCTL code into the relevant AT command and transmitting it to the wireless communication device. Such a structure is applicable to most smartphones because application programs can be developed irrespective of a hardware property of a wireless communication device.

프록시와 드라이버가 핵심적인 구성 요소이며, 장치 독립적인 API 세트를 제공한다. 응용 프로그램은 드라이버와는 독립적인 모듈로 구성이 가능하나 반드시 같은 머신(machine)에서 응용 프로그램과 드라이버가 함께 존재하여야 한다. 또한, 드라이버의 특성 상 C/C++ 언어로 구현되므로 응용 프로그램은 언어적 종속성을 가진다. Proxies and drivers are key components and provide a set of device-independent APIs. An application program can be configured as a module independent of a driver, but an application program and a driver must exist together on the same machine. In addition, since the driver is implemented in C / C ++ language, the application has a language dependency.

휴대폰을 비롯한 이동통신 단말기는 점점 다양한 기능과 서비스를 지원하고 지능화되어 가고 있으며, 그것에 비례하여 소프트웨어 구조는 날로 복잡해지고 규모가 커지고 있다. 동일한 소프트웨어 기능을 가진 단말기이더라도 무선통신 모듈(또는 장치)의 기술과 사양이 변경되면 상위 응용 프로그램에서는 통신을 제어하는 방법이 달라지고 개발자들은 하드웨어 플랫폼에 이식이 가능하도록 해당 모듈을 재 작성하여야 하는 어려움이 있다. 하드웨어 플랫폼과 개발환경이 다르더라도 투명성 있는 인터페이스와 소프트웨어 구조를 가진다면 응용 프로그램 개발자들은 여러 플랫폼에서 운영되는 통신 프로그램을 용이하게 개발할 수 있을 것이다.Mobile terminals, including mobile phones, are becoming more and more intelligent and support various functions and services. In proportion, the software structure is becoming more complex and larger. Even if the terminal has the same software function, if the technology and specification of the wireless communication module (or device) are changed, the method of controlling communication is changed in the upper application, and the developer has to rewrite the module to be portable to the hardware platform. There is this. Even if the hardware platform and development environment are different, if a transparent interface and software structure are provided, application developers will be able to easily develop communication programs that operate on multiple platforms.

이러한 관점에서, 본 발명은 무선통신 하드웨어(장치)마다 상이한 인터페이스와 명령어 규약을 응용 프로그램 개발자에게 숨기고(장치 독립성), 그 기능을 추상화하고 단일화하여 프로그래밍 언어에 독립적인 인터페이스를 지원하고, 분산객체 모델을 따름에 의해 응용 프로그램이 탑재된 장치와 무관하게 위치(위치 투명성)할 수 있는 라디오 서버 시스템과 이를 이용한 통신제어방법을 제공하는 것을 목적으로 한다. From this point of view, the present invention hides different interface and command protocols from wireless communication hardware (device) to application developers (device independence), abstracts and unifies its functions to support a programming language independent interface, and a distributed object model. It is an object of the present invention to provide a radio server system capable of positioning (position transparency) irrespective of a device having an application program and a communication control method using the same.

상기와 같은 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 분산객체기반의 라디오 서버가 제공된다. 이 라디오 서버는 무선통신 하드웨어(radio hardware)와 적어도 하나의 응용 프로그램 사이에 위치하고, 각 응용 프로그램과는 분산객체시스템을 통해 링크되며, 상기 무선통신 하드웨어에 대하여 장치 독립적으로 정의된 다수의 메쏘드(methods)를 구비한다. 상기 메쏘드들의 집합은 상기 응용프로그램이 클라이언트 객체로서 상기 분산객체시스템을 통해 호출할 수 있는 무선통신 인터페이스로서 제공된다. 상기 라디오 서버는 또한, 특정 응용프로그램에 의한 메쏘드 호출(invoke)의 요청(request)이 있으면, 그 호출된 특정 메쏘드의 실행에 필요한 정보를 상기 분산객체시스템을 통해 전달받아 해당 메쏘드를 실행하고, 그 메쏘드가 정의하는 바에 따라 상기 무선통신 하드웨어를 제어할 수 있는 통신제어 명령어를 생성하여 그 무선통신 하드웨어에 전달한다. 이렇게 함으로써, 라디오 서버는 상기 응용프로그램에 대하여 장치 독립적인 통신인터페이스를 제공하는 서버 객체로서 동작한다. 상기 라디오 서버와 상기 응용프로그램 각각은 서로 간의 모든 통신을 상기 분산객체시스템을 기반으로 하여 인터페이스를 통해 수행하도록 구성된다. 각 인터페이스는 상기 라디오 서버와 상기 응용프로그램이 같은 머신 또는 다른 머신에 위치하는 것에 관계없이 동일한 표현으로 호출할 수 있는 메쏘드를 제공한다. According to an aspect of the present invention for achieving the above object, there is provided a distributed object-based radio server. The radio server is located between radio hardware and at least one application program, each application program is linked through a distributed object system, and has a plurality of device-independent methods defined for the radio hardware. ). The set of methods is provided as a wireless communication interface that the application can call through the distributed object system as a client object. The radio server also receives a request for a method invocation by a specific application, receives the information necessary to execute the called specific method through the distributed object system, and executes the method. As defined by the method, a communication control command capable of controlling the wireless communication hardware is generated and transmitted to the wireless communication hardware. In doing so, the radio server acts as a server object providing a device independent communication interface for the application. Each of the radio server and the application program is configured to perform all communication with each other through an interface based on the distributed object system. Each interface provides a method that can be called with the same representation regardless of whether the radio server and the application are located on the same machine or on a different machine.

바람직한 일 구성예에 따르면, 라디오 서버는, 상기 무선통신 하드웨어에 대해서 특정 동작을 수행하도록 정의되되 상기 무선통신 하드웨어에 대하여 장치 독립적으로 정의된 함수 형식의 다수의 메쏘드들을 포함하며, 상기 메쏘드들 각각은 상기 분산객체시스템을 통한 상기 응용프로그램의 호출(invoke) 요청에 응하여 실행되도록 구성된 라디오 인터페이스; 호출된 메쏘드의 실행 명령어를 생성하여 명령어 큐에 로드하면서, 한편으로는 상기 명령어 큐에 로드된 명령어들을 순차적으로 불러내어 그 명령어에 대응되는 통신제어 명령어로 변환하는 명령어 관리자; 및 상기 명령어 관리자로부터 통신제어 명령어를 전달받아 상기 무선통신 하드웨어에 전달하고, 상기 무선통신 하드웨어의 비동기적 통지와 상기 통신제어 명령어의 수행결과를 감시하는 통신포트 관리자를 구비한 구성을 갖는다. 나아가, 라디오 서버는 상기 통신포트 관리자로부터 전달받는 상기 비동기적 통지와 상기 수행결과를 담은 스트링을 구문분석(parse)하여 상기 클라이언트부로 이벤트를 보내는 통지 관리자를 더 구비하는 것이 바람직하다.According to a preferred configuration, a radio server comprises a plurality of methods of function type defined to perform a specific operation on the radio hardware, but device independent of the radio hardware, each of the methods A radio interface configured to be executed in response to an invoke request of the application program through the distributed object system; A command manager which generates an execution command of the called method and loads it into the command queue, while simultaneously calling up the commands loaded in the command queue and converting the command into a communication control command corresponding to the command; And a communication port manager that receives a communication control command from the command manager and transmits the communication control command to the wireless communication hardware, and monitors the asynchronous notification of the wireless communication hardware and the execution result of the communication control command. Furthermore, the radio server preferably further includes a notification manager for parsing the asynchronous notification received from the communication port manager and the string containing the execution result and sending an event to the client unit.

본 발명의 다른 측면에 따르면, 무선통신 하드웨어와의 통신을 분산객체구조를 기반으로 하여 제어하는 통신제어방법이 제공된다. 이 통신제어방법은 무선통신 하드웨어에 대하여 특정 동작을 수행하기 위해 특정 응용프로그램이 클라이언트 객체로서 분산객체시스템을 통해, 상기 무선통신 하드웨어에 대하여 장치 독립적으로 정의된, 라디오 서버가 제공하는 무선통신 인터페이스의 특정 원격 메쏘드의 호출(invoke)을 요청하는 제1 단계와, 상기 라디오 서버가 그 호출된 특정 메쏘드의 실행에 필요한 정보를 상기 분산객체시스템을 통해 전달받아 해당 메쏘드를 호출(invoke)하고, 그 메쏘드가 정의하는 바에 따른 명령어를 상기 무선통신 하드웨어를 제어할 수 있는 통신제어 명령어로 변환하여 그 무선통신 하드웨어에 전달하는 제2 단계를 구비한다. 이 통신제어방법은 분산객체구조를 기반으로 하여 상기 응용프로그램에 대하여 장치 독립적인 통신인터페이스를 제공한다. According to another aspect of the present invention, a communication control method for controlling communication with wireless communication hardware based on a distributed object structure is provided. This communication control method is a method of wireless communication interface provided by a radio server, in which a specific application program is defined as a client object through a distributed object system and device independent of the wireless communication hardware to perform a specific operation on the wireless communication hardware. A first step of requesting an invocation of a particular remote method, and the radio server receiving information necessary for execution of the called specific method through the distributed object system to invoke the method, and the method And a second step of converting a command as defined by the command into a communication control command capable of controlling the wireless communication hardware and transmitting the converted command to the wireless communication hardware. This communication control method provides a device-independent communication interface for the application program based on the distributed object structure.

이 통신제어방법은 상기 무선통신 하드웨어가 상기 통신제어 명령어를 수행하고 그 통신제어 명령어의 수행 결과를 상기 라디오 서버로 전달하는 제3 단계와, 상기 라디오 서버가 상기 무선통신 하드웨어의 비동기적 통지와 상기 통신제어 명령어의 수행결과를 감시하고, 획득된 통지와 수행결과를 상기 분산객체시스템을 통해 해당 클라이언트 객체로 전달하는 제4 단계를 더 구비하는 것이 바람직하다. The communication control method includes a third step of the wireless communication hardware executing the communication control command and transmitting a result of the execution of the communication control command to the radio server; And a fourth step of monitoring the execution result of the communication control command and transferring the obtained notification and the execution result to the corresponding client object through the distributed object system.

상기 통신제어방법의 제 2단계는 구체적으로, 호출된 메쏘드의 실행 명령어를 생성하여 명령어 큐에 로드 하는 단계와, 상기 명령어 큐에 로드 된 명령어들을 순차적으로 불러내어 그 명령어에 따라서 대응되는 통신제어 명령어로 변환하는 단계, 그리고 변환된 통신제어 명령어를 상기 무선통신 하드웨어에 전달하여 수행되도록 하는 단계를 포함하도록 구성될 수 있다. Specifically, the second step of the communication control method may include generating an execution command of a called method and loading the command into a command queue, and sequentially calling up the commands loaded in the command queue and corresponding to the command. And converting the data into the wireless communication hardware so as to be performed.

한편, 본 발명의 또 다른 측면에 따르면, 분산객체기반의 무선통신장치가 제공된다. 이 무선통신장치는 주어지는 통신제어명령어에 따라 해당 통신을 수행하는 무선통신 하드웨어와, 로컬 또는 분산된 네트워크 상에 위치한 객체 간에 투명한 접근을 가능하게 하여 클라이언트 객체가 서버 객체의 위치에 상관없이 서버 객체의 원격 메쏘드를 호출할 수 있는 분산객체환경을 제공하는 분산객체시스템을 구비한다. 나아가 상기 무선통신장치는 클라이언트 객체부를 구비한다. 이 클라이언트 객체부는 사용자 인터페이스를 제공하고, 사용자 명령에 응하여 전화통화에 필요한 동작을 수행하기 위해, 상기 분산객체시스템을 통해 라디오 서버 객체가 제공하는 인터페이스의 원격 메쏘드의 호출을 요청하는 폰 클라이언트 응용프로그램을 적어도 한 개 이상을 포함한다. 더 나아가, 상기 무선통신장치는 라디오 서버부를 구비한다. 이 라디오 서버부는 무선통신 하드웨어(radio hardware)와 상기 클라이언트 객체부 사이에 위치하고, 상기 클라이언트 객체부와는 상기 분산객체시스템을 통해 링크되며, 상기 무선통신 하드웨어에 대하여 장치 독립적으로 정의된 다수의 메쏘드를 구비하여, 상기 메쏘드들의 집합은 상기 응용프로그램이 클라이언트 객체로서 상기 분산객체시스템을 통해 호출할 수 있는 무선통신 인터페이스로서 제공되며, 상기 클라이언트 객체부의 특정 응용프로그램에 의한 메쏘드 호출(invoke)의 요청(request)이 있으면, 그 호출된 특정 메쏘드의 실행에 필요한 정보를 상기 분산객체시스템을 통해 전달받아 해당 메쏘드를 호출(invoke)하고, 그 메쏘드가 정의하는 바에 따라 상기 무선통신 하드웨어를 제어할 수 있는 통신제어 명령어를 생성하여 그 무선통신 하드웨어에 전달함으로써, 상기 응용프로그램에 대하여 장치 독립적인 통신인터페이스를 제공한다. On the other hand, according to another aspect of the present invention, there is provided a distributed object based wireless communication device. This wireless communication device enables transparent access between the wireless communication hardware that performs the communication according to the given communication control command and the objects located on the local or distributed network so that the client object can be connected to the server object regardless of the position of the server object. It has a distributed object system that provides a distributed object environment that can call remote methods. The wireless communication device further comprises a client object unit. The client object unit provides a user interface and, in response to user commands, performs a phone client application requesting a call of a remote method of an interface provided by a radio server object through the distributed object system to perform an operation required for a telephone call. At least one or more. Furthermore, the wireless communication device includes a radio server unit. The radio server unit is located between the radio hardware and the client object unit, and the client object unit is linked through the distributed object system, and provides a plurality of device-independent methods defined for the radio communication hardware. In addition, the set of methods is provided as a wireless communication interface that the application can call through the distributed object system as a client object, the request of the method (invoke) by a specific application of the client object portion Communication control capable of receiving information necessary to execute the called specific method through the distributed object system and invoking the corresponding method, and controlling the wireless communication hardware as defined by the method. Generate a command to the wireless hardware By months, it provides a device-independent communication interface for said applications.

상기 라디오 서버와 상기 응용프로그램 각각은 서로 간의 모든 통신을 상기 분산객체시스템을 기반으로 하여 인터페이스를 통해 수행하도록 구성되며, 상기 인터페이스는 상기 라디오 서버와 상기 응용프로그램이 같은 머신 또는 다른 머신에 위치하는 것에 관계없이 동일한 표현으로 호출할 수 있는 메쏘드를 제공한다. Each of the radio server and the application program is configured to perform all communication with each other via an interface based on the distributed object system, wherein the interface is located at the same machine or on a different machine. It provides a method that can be called with the same expression regardless.

바람직한 실시예에 따르면, 상기 클라이언트 객체부는 상기 라디오 서버가 이벤트를 보내기 위해 참조하는 인터페이스를 구비하고, 상기 라디오 서버 객체는 상기 분산객체시스템을 통해 상기 클라이언트 객체부의 인터페이스가 제공하는 원격 메쏘드를 호출하여 이벤트를 보낸다. According to a preferred embodiment, the client object unit has an interface referenced by the radio server to send an event, and the radio server object calls a remote method provided by the interface of the client object unit through the distributed object system to generate an event. Send it.

상기 클라이언트 객체부는 전화통화를 하는 데 필요한 응용프로그램들의 집합인 폰 클라이언트를 포함할 수 있다. 또한, 단문메시지서비스(SMS), 멀티미디어 메시지 서비스(multimedia messaging service: MMS), 강화 메시지 서비스(enhanced message service: EMS)를 이용하는 데 필요한 응용프로그램들의 집합인 메시지 서비스 클라이언트를 포함할 수 있다.The client object portion may include a phone client, which is a collection of applications required to make a phone call. It may also include a message service client, which is a set of applications required to use a short message service (SMS), multimedia messaging service (MMS), enhanced message service (EMS).

이상과 같은 본 발명에 따르면, 분산객체 모델에서 라디오 서버는 서버 객체로서 동작하며 응용 프로그램은 클라이언트로 동작하며, 라디오 서버는 통상적인 함수 호출방식으로 간단하게 원격 호출할 수 있는 메쏘드들로 구성된 인터페이스를 제공하고, 응용 프로그램은 그 원격 메쏘드를 호출하는 방식으로 서비스를 이용할 수 있다. 그러므로 통신 서비스를 이용하는 응용프로그램은 통신하고자 하는 무선통신장치의 종류나 제어명령어 등에 종속되지 않고 그에 대한 지식을 가질 필요는 없이 라디오 서버가 제공하는 메쏘드만 호출할 수 있으면 된다(무선통신장치에 대한 장치 독립성). 또한 응용프로그램은 서버 객체의 위치와 상관없이 투명하게 무선통신 장치에 접근하여 통신 기능을 구현할 수 있다(위치투명성). 그 밖에, 본 발명은 프로그래밍 언어 투명성, 프로토콜 및 운영체제 투명성 등도 제공한다. According to the present invention as described above, in the distributed object model, the radio server acts as a server object and the application program acts as a client, and the radio server has an interface composed of methods that can be remotely called by a simple function call. The application can then use the service by calling its remote methods. Therefore, an application program using a communication service does not depend on the type of wireless communication device or control command to communicate with and does not need to have knowledge about it, and only needs to call a method provided by a radio server. Independence). In addition, the application program can transparently access the wireless communication device regardless of the position of the server object to implement a communication function (location transparency). In addition, the present invention provides programming language transparency, protocol and operating system transparency, and the like.

이하에서는 첨부한 도면을 참조하여 본 발명을 보다 구체적으로 설명하기로 한다. Hereinafter, with reference to the accompanying drawings will be described the present invention in more detail.

본 발명은 예컨대 휴대폰이나 스마트폰 등과 같은 무선통신모듈을 가지고 있는 무선통신장치에 적용될 수 있다. 무선통신장치는 일반 전화통화 연결 서비스와 단문 메시지 서비스(SMS)를 제공한다. 이와 같은 서비스를 제공하기 위해서는 예컨대 모뎀과 같은 통신 하드웨어에 대하여 본 발명을 채용하는 경우를 예로 하여 설명하고자 한다. The present invention can be applied to a wireless communication device having a wireless communication module such as, for example, a mobile phone or a smart phone. The wireless communication device provides a general telephone call connection service and a short message service (SMS). In order to provide such a service, a case in which the present invention is adopted for communication hardware such as a modem will be described as an example.

도 1은 본 발명에 따른 라디오 서버 시스템의 전체적인 구성을 도시한다. 라디오 서버 시스템은 응용 프로그램의 예컨대 모뎀과 같은 무선통신 하드웨어(radio hardware)(400)에 대한 통신을 제어하기 위한 것으로, 분산객체환경을 제공하는 분산객체시스템(300)을 기반으로 하여 응용 프로그램들의 집합인 클라이언트부(200)와 라디오 서버(100)가 서로 링크된다. 라디오 서버(100)는 무선통신 하드웨어(400)와 클라이언트부(200) 사이에 위치한다. 라디오 서버(100), 클라이언트부(200), 분산객체시스템(300)은 소프트웨어로 구현된다.1 shows an overall configuration of a radio server system according to the present invention. The radio server system is for controlling communication of radio hardware 400 such as a modem of an application program, and is a collection of application programs based on a distributed object system 300 that provides a distributed object environment. The client unit 200 and the radio server 100 are linked to each other. The radio server 100 is located between the wireless communication hardware 400 and the client unit 200. The radio server 100, the client unit 200, and the distributed object system 300 are implemented in software.

클라이언트부(200)는 여러 가지 응용 프로그램들로 구성된다. 사용자 명령에 응하여 전화통화에 필요한 동작을 수행하기 위해, 분산객체시스템(300)을 통해 라디오 서버(100)가 제공하는 인터페이스의 원격 메쏘드의 호출을 요청하여 전화통화 서비스를 이용하는 데 필요한 응용프로그램들의 집합인 폰 클라이언트(200a)를 포함할 수 있다. 또한, 단문메시지서비스(SMS), 멀티미디어 메시지 서비스, 강화 메시지 서비스(enhanced message service: EMS)를 이용하는 데 필요한 응용프로그램들의 집합인 메시지 클라이언트(200b)도 포함할 수 있다. 나아가, 사용자의 통화연결 요청 또는 메시지 송수신 서비스 요청과 관련된 사용자 인터페이스를 포함할 수 있다. 폰 클라이언트(200a)와 메시지 클라이언트(200b)는 분산객체시스템(300)을 통해 라디오 서버(100)의 메쏘드의 호출을 통해서 간접적으로 무선통신 하드웨어(400)와 통신을 수행한다. The client unit 200 is composed of various application programs. A set of applications required to use a telephony service by requesting a call of a remote method of an interface provided by the radio server 100 through the distributed object system 300 to perform an operation required for a telephony in response to a user command. It may include an in-phone client 200a. It may also include a message client 200b, which is a set of applications required to use a short message service (SMS), a multimedia message service, and an enhanced message service (EMS). Furthermore, the user interface may include a user interface related to a call connection request or a message transmission / reception service request of the user. The phone client 200a and the message client 200b communicate with the wireless communication hardware 400 indirectly through the distributed object system 300 by calling a method of the radio server 100.

도 2는 라디오 서버 시스템의 보다 구체적인 구성예를 보여준다. 도시된 바와 같이, 라디오 서버(100)는 원격 메쏘드의 진입점인 라디오 인터페이스(110), 라디오 인터페이스(110)의 호출된 원격 메쏘드로부터 명령을 받아 그 명령을 통신제어 명령어로 변환하는 모듈인 명령어 관리자(120), 그리고 변환된 통신제어 명령어를 무선통신 하드웨어로 전달하고 그 수행결과 또는 통지를 감시하는 모듈인 통신포트 관리자(130)를 갖는다. 라디오 서버(100)와 각 클라이언트(200a, 200b) 간의 통신은 분산객체시스템(300)을 통해 인터페이스를 이용하여 이루어진다. 그러므로 라디오 서버(100)는 클라이언트(200)가 분산객체시스템(300)을 통해 호출할 수 있는 여러 가지 메쏘드들을 클라이언트용 인터페이스 즉, 라디오 인터페이스(110)를 제공하고, 클라이언트(200) 역시 라디오 서버(100)가 분산객체시스템(300)을 통해 호출할 수 있는 메쏘드들의 집합인 라디오 서버용 인터페이스 즉, 클라이언트 인터페이스(210)를 제공한다. 각 인터페이스(110, 120)는 라디오 서버(100)와 응용프로그램 클라이언트(200)가 예컨대 휴대폰이나 스마트폰과 같이 같은 머신에 위치하는 경우는 물론이고, 예컨대 랜(LAN), 완(WAN), 인터넷 등과 같은 네트워크를 통해 서로 연결될 수 있는 서로 다른 머신에 위치하는 경우에도 동일한 표현으로 호출할 수 있는 메쏘드를 제공한다. 또한 각 인터페이스가 제공하는 메쏘드들은 분산객체시스템(300)을 통해 호출될 수 있으므로 '객체'로서 인식되고 기능한다.2 shows a more specific configuration example of a radio server system. As shown, the radio server 100 receives a command from the radio interface 110, the entry point of the remote method, the called remote method of the radio interface 110 and converts the command into a communication control command. 120, and a communication port manager 130, which is a module that transmits the converted communication control command to the wireless communication hardware and monitors the execution result or notification. The communication between the radio server 100 and the clients 200a and 200b is performed by using an interface through the distributed object system 300. Therefore, the radio server 100 provides various methods that the client 200 can call through the distributed object system 300, that is, an interface for the client, that is, the radio interface 110, and the client 200 also provides a radio server ( 100 provides a radio server interface, that is, a client interface 210, which is a set of methods that can be invoked through the distributed object system 300. Each of the interfaces 110 and 120 is, of course, the case where the radio server 100 and the application client 200 are located on the same machine as, for example, a mobile phone or a smartphone, for example, a LAN, a WAN, and the Internet. It also provides methods that can be called with the same representation even if they are located on different machines that can be connected to each other via a network such as. In addition, the methods provided by each interface may be called through the distributed object system 300, so that they are recognized and function as 'objects'.

라디오 인터페이스(110)는 클라이언트부(200)의 응용프로그램이 라디오 서버(100)에 접근하는 창구 역할을 한다. 라디오 인터페이스(110)는 무선통신 하드웨어에 대해서 특정 동작을 수행하도록 정의된 다수의 메쏘드를 포함한다. 이들 메쏘드는 함수 형식으로 정의되는데, 특히 무선통신 하드웨어(400)의 종류에 종속됨이 없이 무선통신 하드웨어(400)에게 지시할 명령을 표준화하여 정의하면 되므로, 무선통신 하드웨어에 대해서는 장치 독립성을 갖는다. 클라이언트부(200)의 특정 응용프로그램은 분산객체시스템(300)을 통해 라디오 인터페이스(100)가 제공하는 특정 메쏘드의 호출(invoke)을 요청하는 것에 의해, 무선통신 하드웨어(400)에 대한 원하는 동작을 지시할 수 있다. 라디오 인터페이스(110)의 무선통신 하드웨어에 대한 장치 독립성은 클라이언트부(200)의 응용프로그램에 대해서도 유효하다. 즉, 응용프로그램이 무선통신 하드웨어(400)에 대한 어떤 동작을 요청하기 위해서는 그 동작을 수행하도록 미리 정의된 라디오 인터페이스(110)의 해당 메쏘드를 호출하기만 하면 될 뿐, 무선통신 하드웨어(400)의 종류나 특성 등에 대한 지식을 가질 필요가 전혀 없다. 따라서 클라이언트부(200)의 응용프로그램도 무선통신 하드웨어(400)에 완전히 독립적으로 프로그램 될 수 있다. The radio interface 110 serves as a window through which an application program of the client unit 200 accesses the radio server 100. Radio interface 110 includes a number of methods defined to perform specific operations on wireless communication hardware. These methods are defined in the form of a function. In particular, since the methods to be instructed to instruct the wireless communication hardware 400 are defined without being dependent on the type of the wireless communication hardware 400, the wireless communication hardware has device independence. The specific application program of the client unit 200 requests the invoke of a specific method provided by the radio interface 100 through the distributed object system 300 to perform a desired operation of the wireless communication hardware 400. Can be directed. Device independence of the radio interface 110 with respect to the radio communication hardware is also valid for the application program of the client unit 200. That is, in order for an application to request an operation on the wireless hardware 400, the application program only needs to call a corresponding method of the radio interface 110 predefined to perform the operation. There is no need to have any knowledge of types or characteristics. Therefore, the application program of the client unit 200 may be programmed completely independently of the wireless communication hardware 400.

클라이언트부(200)의 특정 응용프로그램이 라디오 인터페이스(110)의 특정 메쏘드의 호출(invoke)을 요청하면, 그 호출이 요청된 특정 메쏘드(함수)는 실행에 필요한 정보(파라미터 값 등)를 분산객체시스템을 통해 전달받아 수행된다. 계속하여, 특정 메쏘드가 정의하는 바에 따라 무선통신 하드웨어(400)를 제어할 수 있는 통신제어 명령어를 생성하여 그 무선통신 하드웨어(400)에 전달하는 동작을 수행한다. 명령어 관리자(120)와 통신포트 관리자(130)가 이러한 기능을 제공한다. 명령어 관리자(120)는 호출된 메쏘드의 실행 명령어를 생성하여 명령어 큐에 로드하면서, 한편으로는 그 명령어 큐에 로드된 명령어들을 순차적으로 불러내어 그 명령어에 대응되는 통신제어 명령어로 변환한다. 라디오 인터페이스(110)가 장치 독립적으로 정의된 반면, 명령어 관리자(120)는 제어 대상인 무선통신 하드웨어(400)에 종속된 프로그램 코딩이 불가피하다. 왜냐하면 명령어 관리자(120)는 호출된 메쏘드에 대응되는, 무선통신 하드웨어가 인식할 수 있는 통신제어명령어를 생성하여야 하기 때문이다. 그렇지만 명령어 관리자(120)가 갖는 장치 종속성은 라디오 인터페이스(110)나 클라이언트(200)에 영향을 주지 않는다. 통신포트 관리자(130)는 명령어 관리자(120)로부터 통신제어 명령어를 전달받아 무선통신 하드웨어(400)에 전달한다. 이에 의해 클라이언트부(200)의 특정 응용프로그램이 요청한 동작이 무선통신 하드웨어(400)에 의해 수행된다. 통신포트 관리자(300)는 또한 무선통신 하드웨어(300)의 비동기적 통지와 상기 통신제어 명령어의 수행결과를 감시하는 기능을 더 제공한다. When a specific application program of the client unit 200 requests an invocation of a specific method of the radio interface 110, the specific method (function) for which the invocation is requested is distributed to information (parameter values, etc.) necessary for execution. It is delivered through the system. Subsequently, a communication control command for controlling the wireless communication hardware 400 is generated and transmitted to the wireless communication hardware 400 as defined by a specific method. The command manager 120 and the communication port manager 130 provide such a function. The command manager 120 generates an execution command of the called method and loads it into the command queue, while simultaneously calling up the commands loaded in the command queue and converting the command into a communication control command corresponding to the command. While the radio interface 110 is defined device-independently, the command manager 120 inevitably has a program coding dependent on the wireless communication hardware 400 to be controlled. This is because the command manager 120 needs to generate a communication control command that can be recognized by the wireless communication hardware corresponding to the called method. However, device dependencies of the command manager 120 do not affect the radio interface 110 or the client 200. The communication port manager 130 receives a communication control command from the command manager 120 and transmits the command to the wireless communication hardware 400. As a result, an operation requested by a specific application program of the client unit 200 is performed by the wireless communication hardware 400. The communication port manager 300 further provides a function of monitoring asynchronous notification of the wireless communication hardware 300 and the execution result of the communication control command.

라디오 서버(100)는 또한 통신포트 관리자(130)를 통해 획득되는 무선통신 하드웨어(400)의 명령어 처리 결과 또는 통지를 원격 클라이언트(200)로 결과를 보내는 모듈인 통지관리자(140)를 더 구비할 수 있다. 이 통지관리자(140)는 통신포트 관리자(130)로부터 전달받는 여러 가지 비동기적 통지와 통신제어 명령어의 수행결과를 담은 스트링을 구문분석(parse)하여 클라이언트 인터페이스(210)를 통해 폰 클라이언트(200a) 또는 메시지 클라이언트(200b) 측에 이벤트를 보내는 기능을 제공한다. The radio server 100 may further include a notification manager 140 which is a module for sending a command processing result or notification of the wireless communication hardware 400 obtained through the communication port manager 130 to the remote client 200. Can be. The notification manager 140 parses a string containing various asynchronous notifications received from the communication port manager 130 and the execution result of the communication control command, and parses a string through the client interface 210 to the phone client 200a. Or it provides a function for sending an event to the message client (200b) side.

이와 같은 구성에 따르면, 라디오 서버(100)는 클라이언트부(200)의 응용프로그램에 대하여 제어대상인 무선통신 하드웨어(400)에 대하여 장치 독립적인 통신인터페이스를 제공하는 서버 객체로서 동작한다. 이 라디오 서버(100)는 휴대폰이나 스마트폰 등과 같은 무선통신모듈을 내장하고 일반 전화 기능을 수행하는 휴대폰, 스마트폰 또는 테스트보드 등에 적용되어, 이동통신 서비스를 제공하는 서버 객체로 동작하는 용도로 이용할 수 있다. 나아가, PCMCIA/CF 인터페이스를 지원하며 무선통신 모듈을 장착할 수 있는 PDA 또는 노트북 컴퓨터에도 적용될 수 있다. 이 경우, 라디오 서버(100)가 제공하는 인터페이스의 메쏘드들은 CDMA 통신제어명령어나 GSM/GPRS 통신제어명령어를 기반으로 하여 작성되는 함수들로서, 통신모뎀과 같은 무선통신 하드웨어와는 독립적으로 정의된다. According to this configuration, the radio server 100 operates as a server object that provides a device-independent communication interface to the wireless communication hardware 400 to be controlled for the application program of the client unit 200. The radio server 100 is applied to a mobile phone, a smart phone or a test board for embedding a wireless communication module such as a mobile phone or a smart phone and performing a general phone function, and to use it as a server object for providing a mobile communication service. Can be. Furthermore, it can be applied to PDA or notebook computers that support PCMCIA / CF interface and can be equipped with a wireless communication module. In this case, the methods of the interface provided by the radio server 100 are functions written based on the CDMA communication control command or the GSM / GPRS communication control command, and are defined independently of a wireless communication hardware such as a communication modem.

무선통신 하드웨어(400)는 주어지는 통신제어 명령어를 수행하는 장치로서, 예컨대 시리얼 포트나 USB 포트 등과 같은 통신 포트를 채널로 하는 통신모뎀이 그 예가 될 수 있다. 상용화된 대부분의 무선통신 하드웨어가 AT 명령어를 주로 사용하고 있다. 이 경우, 무선통신 하드웨어에 전달되는 통신제어 명령어는 AT 명령어(AT-commands) 형태로 만들어져야 한다. 만약 다른 종류의 통신제어 명령어를 채용하는 무선통신 하드웨어에는 그에 맞는 명령어를 전달하면 된다. The wireless communication hardware 400 is a device that performs a given communication control command. For example, a communication modem using a communication port such as a serial port or a USB port as a channel may be an example. Most commercially available wireless hardware uses AT commands. In this case, the communication control command transmitted to the wireless communication hardware should be made in the form of AT-commands. If the wireless communication hardware adopts a different type of communication control command, the appropriate command is transmitted.

본 발명에서 요구하는 분산객체시스템(300)은 로컬 또는 분산된 네트워크 상에 위치한 객체 간에 투명한 접근을 가능하게 하여 클라이언트 객체가 서버 객체의 위치에 상관없이 서버 객체의 원격 메쏘드를 호출할 수 있는 분산객체환경을 제공하는 요건을 만족할 필요가 있다. 클라이언트(200)에서는 라디오 서버(100) 객체의 메쏘드 즉, 함수를 호출할 때 마치 로컬에 존재하는 함수처럼 호출할 수 있도록 해준다. 구체적으로, 분산객체시스템(300)은 라디오 서버(100) 객체와 클라이언트부(200) 객체 간의 프로그래밍 언어에 중립성을 제공하기 위해서는, 이들 양 객체 간의 통신 메커니즘을 제공하는 바이너리 표준을 정의하여, 객체의 작성 프로그래밍 언어에 관계없이 메쏘드 호출을 동일한 표현방식으로 수행하도록 구성될 필요가 있다. 나아가, 이 분산객체시스템(300)은 클라이언트부(200)의 특정 응용프로그램(객체)이 라디오 서버(100)의 인터페이스(110)가 제공하는 특정 메쏘드를 호출할 때나 반대로 라디오 서버(100)의 객체가 클라이언트 인터페이스(210)가 제공하는 특정 메쏘드를 호출할 때, 통상적인 함수 호출방식을 따라 단순히 그 특정 메쏘드를 호출하기만 하면 되도록 해주면 된다. 이러한 점은 라디오 서버(100)와 응용프로그램 클라이언트(200)의 구현을 용이하게 해준다. The distributed object system 300 required by the present invention enables transparent access between objects located on a local or distributed network so that a client object can call a remote method of a server object regardless of the location of the server object. It is necessary to meet the requirements for providing an environment. When the client 200 calls a method of the radio server 100 object, that is, a function, it can be called like a function existing locally. Specifically, the distributed object system 300 defines a binary standard that provides a communication mechanism between the two objects in order to provide neutrality in a programming language between the radio server 100 object and the client unit 200 object. Regardless of the written programming language, method calls need to be configured to perform the same representation. Furthermore, this distributed object system 300 is an object of the radio server 100 as opposed to when a specific application (object) of the client unit 200 calls a specific method provided by the interface 110 of the radio server 100. When calling a particular method provided by the client interface 210, the user simply needs to call the specific method in accordance with a normal function call. This facilitates the implementation of the radio server 100 and the application client 200.

그런데 이러한 요건은 특별한 것은 아니다. 기존에 상용화 되어 있는 대부분의 분산객체시스템이라면 만족시키는 것이다. 현재까지 알려진 대표적인 분산객체시스템으로는 마이크로소프트사의 DCOM( distributed component object model:분산 컴포넌트 객체 모델), OMG(객체관리그룹: object management group)의 CORBA(common object request broker architecture: 공통객체요구 매개자 구조), 그리고 Java의 RMI(remote method invocation: 원격 메쏘드 호출) 시스템 등을 들 수 있다. 이들 기존의 분산객체시스템은 본 발명의 분산객체시스템(300)으로서 이용할 수 있다.However, this requirement is not special. Most distributed object systems that are commercially available are satisfying. Typical distributed object systems known to date include Microsoft's DCOM (Distributed Component Object Model) and OMG (Object Management Group) 's CORBA (Common Object Request Broker Architecture). And Java's remote method invocation (RMI) system. These existing distributed object systems can be used as the distributed object system 300 of the present invention.

분산객체는 바로 컴포넌트로 정의될 수 있다. 컴포넌트는 애플리케이션, 네트워크, 프로그래밍 언어, 도구와 운영체제를 넘어 플러그 앤 플레이가 가능한 독립적인 객체이다. 이러한 컴포넌트 기술로 정교하게 정의한 인터페이스를 통하여 서비스를 제공하는 재사용 가능한 부분들을 정의함으로써 소프트웨어도 다시 사용할 수 있는 효과적인 장치를 마련하고 있다. 분산객체시스템의 핵심은 내 쪽에 속하지 않은 객체를 통신을 통해 마치 내 것처럼 사용하는 것이다. 따라서 떨어져 있는 객체를 사용하기 위한 프로토콜이 필요하다. Distributed objects can be defined as components. Components are independent objects that can be plug and play across applications, networks, programming languages, tools, and operating systems. By defining the reusable parts that provide a service through an interface that is precisely defined by such component technology, an effective device for reusing the software is provided. The key to a distributed object system is to use an object that does not belong to me through communication as if it were mine. Therefore, you need a protocol for using distant objects.

CORBA는 객체 사이의 통신을 위한 표준이다. CORBA의 핵심은 ORB (Object Request Broker)이다. ORB는 객체의 위치가 로컬이거나 네트워크 상이거나 관계없이 서비스를 요청하고 응답을 받을 수 있도록 지원한다. 클라이언트는 객체의 위치는 물론 어떤 프로그래밍 언어로 객체가 작성되는지, 어떤 플랫폼에 객체가 상주하는지에 대한 정보를 가지고 있을 필요가 없다. 따라서 CORBA는 객체 기반의 분산 시스템을 지원한다.CORBA is a standard for communication between objects. The core of CORBA is the ORB (Object Request Broker). The ORB supports requesting and receiving services regardless of whether the object is local or on the network. The client does not need to know the location of the object, as well as in which programming language the object is created and on which platform the object resides. CORBA therefore supports an object-based distributed system.

RMI는 자바 기반 분산객체 기술이다. Java RMI는 분산된 객체를 마치 로컬에 있는 객체를 다루듯이 사용할 수 있으며 기존의 소켓 프로그래밍과 같은 복잡한 설계 절차와 에러를 발생시키는 요인을 극소화한 것에 특징이 있다. 모든 네트워크 프로그래밍의 자세한 부분, 즉 소켓 API 을 사용해서 구현되는 부분은 RMI 패키지, 클라이언트 스터브(client stub) 그리고 서버 서터브(server stub)에 의해 숨겨진다. RMI프로토콜은 떨어져 있는 객체의 메쏘드를 호출하는 기법을 제시하는데, 이를 위해서 객체를 사용하는 클라이언트와 객체가 존재하는 서버간에 RMI프로토콜에 따라 통신을 담당하는 객체가 필요하다. 클라이언트 쪽에서 떨어져 있는 객체에 접근하기 위한 대리인(agent) 역할을 하는 것을 스터브(stub)이라고 부르고, 서버 쪽에서 스터브의 요청에 따라 서버에 존재하는 객체를 제어하는 것을 스켈레톤(skeleton) 혹은 수신자라 부른다. 스터브는 서버에 존재하는 실제 객체가 공개한 메쏘드의 존재를 이미 알고 있고, 역시 클라이언트도 이를 알고 있다. 클라이언트가 서버 객체의 메쏘드를 호출하려고 하면, 스터브는 스켈레톤에게 어떤 객체의 어떤 메쏘드를 사용하겠다고 하는 정보를 네트워크를 통해 전달한다. 스켈레톤은 스터브로부터 이 정보를 받아서 실제 객체의 메쏘드를 수행하고 결과를 스터브에게 전달하게 된다. RPC와는 달리 RMI는 Java VM(virtual machine) 환경에서 실행된다. 따라서 자바 이외의 다른 언어는 지원하지 않는다. RMI의 특징은 객체지향 다형성을 제공한다. RMI is a Java-based distributed object technology. Java RMI allows you to use distributed objects as if you were dealing with objects locally, and minimized the complexity of design procedures and error-prone factors like traditional socket programming. The details of all network programming, which are implemented using the socket API, are hidden by the RMI package, client stubs, and server stubs. The RMI protocol provides a mechanism for calling methods of distant objects. For this purpose, an object responsible for communicating according to the RMI protocol is required between the client using the object and the server where the object exists. The act of acting as an agent to access objects away from the client side is called a stub, and the controlling of objects on the server at the request of the stub on the server side is called a skeleton or receiver. The stub already knows the existence of a method exposed by a real object on the server, and the client also knows it. When a client tries to call a method of a server object, the stub sends the skeleton information over the network that it will use which method of an object. The skeleton takes this information from the stub, performs the actual object's method, and passes the result to the stub. Unlike RPC, RMI runs in a Java virtual machine (VM) environment. Therefore, it does not support languages other than Java. Features of RMI provide object-oriented polymorphism.

DCOM은 원격 객체 액세스를 지원하는 마이크로소프트의 기술이다. 윈도우 환경에서 컴포넌트간의 연동을 위한 분산객체 시스템이다. 네트워크에서 원격 객체가 제공하는 서비스들을 요청하기 위해 클라이언트 응용프로그램을 사용하도록 지원한다. 객체들은 다수의 언어에서 작성될 수 있으며 표준을 따르면 다른 객체에 의해 호출된다. 언어 독립성을 제공한다. DCOM은 COM(component object model: 컴포넌트 객체 모델)의 확장이다. COM은 객체 그 자체와 객체들 간의 통신 메커니즘을 제공하는 바이너리 표준을 정의한다. 객체와 클라이언트간의 모든 통신은 인터페이스를 통해 이뤄지며, 그 통신이 같은 컴퓨터 내에서든지 원격 컴퓨터에서든지 프로그래밍 언어에서는 관계없이 객체의 메쏘드 호출로 동일하게 표현한다. 또한 바이너리 수준의 표준이어서 프로그래밍 언어에 중립적이므로 어떠한 언어를 사용해도 개발이 가능하며 다른 언어로 개발된 컴포넌트를 서로 참조할 수 있다. 다른 프로세스에 존재하는 컴포넌트를 사용하는 경우, 직접 컴포넌트를 액세스하지 못하고 원격 프로시저 콜(remote procedure call: RPC)을 통신방식을 통해 액세스한다. COM은 윈도우 환경에서 수행되며 바이너리 코드 레벨에서 호환 가능한 소프트웨어 컴포넌트 생성에 대한 기술이다. 따라서 COM은 프로그래밍 언어가 아니며 소스 코드 레벨의 라이브러리 역시 아니며, 컴파일러는 더더욱 아니다. 대신 바이너리 코드의 호환 표준이므로 프로그래밍 언어, 각종 개발 툴에 완전히 독립적인 소프트웨어 조각이다. 따라서 COM 및 DCOM은 분산 애플리케이션 개발 시 다양한 언어를 사용해 진행할 수 있다.DCOM is Microsoft's technology for supporting remote object access. Distributed object system for interworking between components in Windows environment. Supports the use of client applications on the network to request services provided by remote objects. Objects can be written in many languages and are called by other objects according to the standard. Provide language independence. DCOM is an extension of the component object model (COM). COM defines a binary standard that provides a mechanism for communicating between objects themselves and between objects. All communication between the object and the client is done through the interface, and the communication is represented equally by the method invocation of the object, regardless of the programming language, whether on the same computer or on a remote computer. It is also a binary-level standard that is neutral to programming languages, so it can be developed using any language and can refer to components developed in other languages. When using a component existing in another process, the remote procedure call (RPC) is accessed through a communication method without directly accessing the component. COM is a technique for creating software components that run in the Windows environment and are compatible at the binary code level. So COM is not a programming language, nor is it a library at the source code level, and the compiler is even worse. Instead, they are software standards that are completely independent of the programming language and development tools as they are compatible standards for binary code. As a result, COM and DCOM can be used in many different languages when developing distributed applications.

도 3은 분산객체모델의 대표적인 예인 DCOM 기반에 따른 로컬 서버와 원격 서버의 개념을 설명하기 위한 도면이다. DCOM은 클라이언트 객체(200)와 서버 객체(100a, 100b)의 한 가운데 위치하여 이들 양측에 대한 연결성을 부여한다. COM/DCOM 런타임 라이브러리가 클라이언트와 서버 컴포넌트 사이의 링크를 제공한다. DCOM 구조에서, 클라이언트 프로세스와 서버 프로세서 간의 통신은 RPC 통신방식으로 이루어진다. 이를 위해 RPC 채널(320)이 제공되는데, 클라이언트 프로세스를 기준으로 서버 프로세서가 로컬 머신에 존재하는 경우와 원격 머신에 존재하는 경우 각각에 대하여 로컬 RPC 채널(320a)과 네트워크를 통하는 원격 RPC 채널(320b)이 제공된다. 클라이언트와 서버 컴포넌트가 다른 머신 위에 존재할 때, DCOM은 로컬 프로세스 간 통신을 네트워크 프로토콜로 단순히 대체한다.  3 is a diagram for explaining the concept of a local server and a remote server based on DCOM, which is a representative example of a distributed object model. The DCOM is located in the middle of the client object 200 and the server objects 100a and 100b to provide connectivity to both sides. The COM / DCOM runtime library provides the link between the client and server components. In the DCOM structure, the communication between the client process and the server processor is made by RPC communication. For this purpose, an RPC channel 320 is provided, which is a local RPC channel 320a and a remote RPC channel 320b over the network for each of the server processor's presence on the local machine and the remote machine, based on the client process. ) Is provided. When client and server components are on different machines, DCOM simply replaces local interprocess communication with network protocols.

DCOM에서, 클라이언트가 다른 주소 공간에 있는 객체를 콜(call) 하고자할 때, 그 메쏘드 콜에 대한 파라미터들은 어떤 식으로든 그 클라이언트의 프로세서로부터 그 객체의 프로세서로 전해져야 한다. 클라이언트는 그 파라미터들을 스택에 위치시킨다. 직접 객체 호출(invocation)의 경우, 서버 객체는 그 스택으로부터 그 파라미터들을 읽고 그 스택에 다시 반환 값을 기록한다. 원격 호출(invocation)을 위해(좀더 구체적으로, 콜러와 객체가 같은 스택을 공유하지 않을 때), 몇몇 코드(대표적으로는 COM 라이브러리들)는 그 스택으로부터 모든 파라미터들을 읽을 필요가 있고 그것들을 플랫 메모리 버퍼에 쓰고 그래서 그들은 네트워크를 통해 전송될 수 있다. 그 스택으로부터 플랫 메모리 버퍼 안으로 파라미터들을 읽는 과정을 "마샬링"이라 한다. 마샬링에 대한 카운터파트는 프랫화 된 파라미터 데이터를 읽고 콜러에 의해 설정된 원래의 스택처럼 보이는 스택을 재생성하는 과정이다. 이 과정은 "언마샬링"이라 불린다. 일단 스택이 재생성 되면, 객체는 호출(called)될 수 있다. 파라미터들은 원격 절차 콜(remote procedure call : RPC) 위에 인프라구조 상에 만들어진다. DCOM은 인터페이스에 관한 마샬링과 언마샬링을 수행하기 위해, 클라이언트 측에는 프록시(310a, 310b)라는 객체를 배치하고, 서버 객체 측에서 스터브(330a, 330b)를 배치한다. 프록시들과 스터브들은 COM객체들이고, 이들은 필요에 따라 COM라이브러리들에 의해 로드 된다. 무선 플랫폼(Radio Platform) 또한 이 DCOM 구조를 수용한다.In DCOM, when a client wants to call an object in another address space, the parameters for that method call must be passed in some way from the client's processor to the object's processor. The client places its parameters on the stack. In the case of a direct object invocation, the server object reads the parameters from the stack and writes the return value back to the stack. For remote invocation (more specifically, when callers and objects do not share the same stack), some code (typically COM libraries) needs to read all parameters from the stack and load them into flat memory. Write to the buffer so they can be sent over the network. The process of reading parameters from the stack into a flat memory buffer is called "marshaling". The counterpart for marshaling is the process of reading the flattened parameter data and recreating the stack that looks like the original stack set by the caller. This process is called "unmarshalling". Once the stack is rebuilt, the object can be called. Parameters are made on the infrastructure over a remote procedure call (RPC). DCOM places objects called proxies 310a and 310b on the client side and stubs 330a and 330b on the server object side to perform marshaling and unmarshaling on the interface. Proxies and stubs are COM objects, which are loaded by COM libraries as needed. The Radio Platform also accepts this DCOM structure.

본 발명에 따른 라디오 서버 시스템이 제공하는 인터페이스는 앞서 언급한 바와 같이 다음의 두 가지가 있다. As mentioned above, there are two interfaces provided by the radio server system according to the present invention.

[라디오 서버 시스템의 인터페이스][Interface of Radio Server System]

------------------------------------------------------------------------------------------------------------------------------- ---------------------------

인터페이스 종류 코멘트Interface type comment

------------------------------------------------------------------------------------------------------------------------------- ---------------------------

IRadio 라디오 서버에 구현되며 서버가 노출하는 인터페이스로서    Implemented on an IRadio radio server and exposed by the server

클라이언트가 호출함(110)                    Client Calls (110)

_IRadioEvents 클라이언트에 구현되며 서버가 클라이언트에 이벤트를 보내기    _IRadioEvents Implemented on the client, the server sends events to the client

위해 호출함(210)                    Called for (210)

------------------------------------------------------------------------------------------------------------------------------- ---------------------------

분산객체시스템(300)에서는 서버 객체가 클라이언트에게 제공하는 인터페이스를 IDL(Interface Definition Language)로 정의한다. 다음은 라디오 서버(100)가 DCOM 기반에서 서비스하는 라디오 인터페이스(110)를 IDL로 정의한 내용이다.In the distributed object system 300, an interface provided by a server object to a client is defined in an interface definition language (IDL). Next, the radio server 100 defines the radio interface 110 serving as the IDL based on the DCOM.

라디오 서버(100)가 제공하는 라디오 인터페이스(110)는 함수 형태의 원격 메쏘드로 구성되어 있다. 아래는 각 원격 메쏘드의 함수 리스트를 정의한 것이다. The radio interface 110 provided by the radio server 100 is composed of a remote method in the form of a function. The following defines a list of functions for each remote method.

[함수 리스트(Function Listing)]              [Function Listing]

------------------------------------------------------------------------------------------------------------------------------- ---------------------------

함수 GSM AT 명령어 코멘트    Function GSM AT Command Comment

------------------------------------------------------------------------------------------------------------------------------- ---------------------------

GetPowerState 모뎀 파워 상태GetPowerState Modem Power State

SetPower +CKPD 모뎀 파워 설정SetPower + CKPD Modem Power Settings

GetSystemTime +CCLK 무선 모듈 시각GetSystemTime + CCLK Wireless Module Time

GetDevCaps 장치 정보GetDevCaps Device Information

DevSpecific 장치 사양 정보DevSpecific device specification information

SetChangePasswd +CPWD 비밀번호 시스템 변경SetChangePasswd + CPWD Password System Change

SetUnlock +CLCK 비밀번호 잠금 해제SetUnlock + CLCK Password Unlock

SetLock +CLCK 비밀번호 잠금SetLock + CLCK Password Lock

GetLockStatus +CLCK 잠금 상태GetLockStatus + CLCK Lock Status

SetAckMsg SMS 확인 설정SetAckMsg SMS Verification Settings

GetAckMsg SMS 확인가져옴 GetAckMsg Get SMS Verification

SendStoredMsg +CMSS 저장된 SMS 보냄SendStoredMsg + CMSS Send saved SMS

SendMsg +CMGS SMS 보냄SendMsg + CMGS Send SMS

DeleteMsg +CMGD 모뎀에 저장된 메시지 삭제DeleteMsg + Deletes messages stored on the CMGD modem

WriteMsg +CMGW 모뎀에 메시지 저장함.WriteMsg + CMGW Save message to modem.

ReadMsg +CMGR 모뎀에 저장된 메시지 읽음ReadMsg + CMGR Read messages stored in modem

GetMsgCount +CPMS 모뎀에 저장된 메시지 개수 받음GetMsgCount + Receives the number of messages stored in the CPMS modem

SetAutoReply 자동 응답 시간 설정SetAutoReply Set Auto Response Time

GetAutoReply 자동 응답 세팅 상태 나옴GetAutoReply Auto Answer Setting Status

GetVersionInfo +CGMM 모뎀 버전 GetVersionInfo + CGMM Modem Version

SetRingVolume +CRSL 모뎀의 링 볼륨 설정SetRingVolume + Set ring volume for CRSL modem

GetRingVolume +CRSL 모뎀의 링 볼륨 가져옴GetRingVolume + Get ring volume for CRSL modem

SetAudioMuting +CMUT 통화 마이크 뮤트SetAudioMuting + CMUT Call Microphone Mute

GetAudioMuting +CMUT 통화 마이크 뮤트 상태GetAudioMuting + CMUT Call Microphone Mute Status

GetAudioDevice +VGS 통화 마이크 오디오 장치 핸들 가져옴GetAudioDevice + VGS Call Microphone Gets Audio Device Handle

SetAudioVolume 통화 마이크 감도 조절SetAudioVolume call microphone sensitivity control

GetAudioVolume 통화 마이크 감도 가져옴GetAudioVolume Get call microphone sensitivity

GetLineStatus +CPAS 라인 상태GetLineStatus + CPAS Line Status

SetDTMFMonitoring DTMF 모니터링 설정SetDTMFMonitoring Setting DTMF Monitoring

SendDTMF +VTS DTMF 송신SendDTMF + VTS Send DTMF

Hangup ATH 통화 상태 끊음Hangup ATH Call Hang Up

Accept ATA 수신 콜 승인 Accept ATA Incoming Call Accept

Dial ATD 다이얼 함수 Dial ATD Dial Function

Deinitialize 라디오 서버 반환Deinitialize Radio Server Returns

Initialize 라디오 서버 초기화Initialize the radio server

------------------------------------------------------------------------------------------------------------------------------- ---------------------------

도 4는 DCOM 환경에서 클라이언트(200)가 전화 발신 호 연결을 하기 위한 일련의 처리 흐름도를 보여 주고 있다. 함수 Dial()(112)은 라디오 서버(100)의 인터페이스(110)에서 제공하는 원격 메쏘드들 중 하나이며, 발신 호 연결 서비스를 제공하도록 정의된 것이다. 예컨대 휴대폰에서 사용자가 전화번호(예: 11112345678)를 입력한 다음 통화버튼을 누른 경우를 가정하자. 이러한 사용자 지시에 응하여 전화발신 호 연결 서비스를 요청하기 위해, 클라이언트(200)는 먼저 라디오 서버(100)의 원격 메쏘드 Dial()(112) 호출을 요청한다. 라디오 서버(100)측은 DCOM(300)을 통해 원격 메쏘드 Dial()(521)의 호출요청을 접수한다. 그리고 그에 응하여 발신 호 연결을 위한 AT명령어로 변환한 후(명령어 관리자(120)에 의해)에 시리얼 통신으로 무선통신 하드웨어(400)(즉, 시리얼 통신포트)에 그 AT 명령어를 전달한다(통신포트 관리자(130)에 의해). 무선통신 하드웨어(400)에서는 해당 AT명령어를 수신하여 전달받은 전화번호에 대하여 발신 호 연결을 하고 그 결과를 라디오 서버(100)로 전달한다. 라디오 서버(100)는 명령 수행 결과를 DCOM(300)을 통해 클라이언트(500)에 통지함으로써 발신 호 연결 동작의 수행을 완료한다.Figure 4 shows a series of processing flow for the client 200 to make outgoing call connection in the DCOM environment. The function Dial () 112 is one of the remote methods provided by the interface 110 of the radio server 100 and is defined to provide an outgoing call connection service. For example, suppose a user enters a phone number (eg, 11112345678) in a mobile phone and then presses a call button. In order to request an outgoing call connection service in response to this user indication, the client 200 first requests a remote method Dial () 112 call of the radio server 100. The radio server 100 receives a call request of the remote method Dial () 521 through the DCOM 300. In response, the AT command is converted into an AT command for outgoing call connection (by the command manager 120) and the AT command is transmitted to the wireless communication hardware 400 (ie, a serial communication port) by serial communication (communication port). By administrator 130). The wireless communication hardware 400 receives the AT command and makes an outgoing call connection to the received telephone number and transmits the result to the radio server 100. The radio server 100 notifies the client 500 of the command execution result through the DCOM 300 to complete the execution of the outgoing call connection operation.

도 5는 라디오 서버(100)에서 함수 Dial()을 실행하는 절차를 나타낸다. 원격 메쏘드 Dial()이 호출되면(S10) 그것의 실행에 필요한 명령이 명령어 관리자(120)의 명령어 큐로 주어진다(S12). 명령어 관리자(120)는 명령어 큐에 로드 되어 있는 명령들을 차례대로 처리한다(S14). 함수 Handle_Dial()은 실제 명령을 처리하는 부분으로서 통신포트 관리자(130)를 통해서 무선통신 하드웨어(400)에 AT 명령을 내리고(S16) 처리 결과를 대기한다(S18). 무선통신 하드웨어(400)로부터 AT 명령의 처리 결과가 오면 그것에 대한 구문분석(Parsing)이 수행되고(S20), 그 처리 결과를 클라이언트(200)에 통지한다. 5 shows a procedure of executing a function Dial () in the radio server 100. When the remote method Dial () is called (S10), commands necessary for its execution are given to the command queue of the command manager 120 (S12). The command manager 120 sequentially processes the commands loaded in the command queue (S14). The function Handle_Dial () issues an AT command to the wireless communication hardware 400 through the communication port manager 130 as a part of processing an actual command (S16) and waits for a processing result (S18). When the processing result of the AT command is received from the wireless communication hardware 400, parsing thereof is performed (S20), and the client 200 is notified of the processing result.

도 4와 5는 Dial() 함수를 예로 하여 설명하였는데, 다른 원격 메쏘드의 실행도 대략 같은 방식으로 이루어진다. 도 6은 본 발명에 따른 라디오 서버 시스템의 상세 흐름도인데, 이를 참조하여 라디오 서버 시스템이 수행하는 통신제어방법을 일반적으로 설명하면 다음과 같다. 4 and 5 have been described using the Dial () function as an example, the execution of other remote methods is performed in much the same way. 6 is a detailed flowchart of a radio server system according to the present invention. Referring to this, a communication control method performed by a radio server system will be described in general.

폰 클라이언트(200a)는 사용자 인터페이스(UI)를 가지고 사용자가 폰에 관련된 명령을 직접 할 수 있다. 또한, 폰 클라이언트(200a)와 메시지 클라이언트(200b)는 라디오 서버(100)의 통지 관리자(140)로부터 이벤트를 받을 수 있는 클래스도 갖고, 전화 통화나 메시지를 송수신 한 기록을 남기는 로그 DB도 갖는다. 메시지 클라이언트(200b) 역시 사용자 인터페이스를 가지고, 사용자가 메시징에 관련된 명령을 할 수 있다. 사용자가 UI를 이용하여 모뎀과 같은 무선통신 하드웨어(400)에 대하여 특정 동작(발신 호 연결, 메시지 전송 등)을 지시하면, 이를 수행하기 위해 폰 클라이언트(200a)나 예컨대 메시지 클라이언트(200b)가 분산객체모듈(300)을 통해 라디오 인터페이스(110)가 제공하는 특정의 원격 메쏘드의 호출(invoke)을 요청한다. 이러한 요청은 로그 DB에 기록된다. 이와 같은 요청 과정에서, 호출된 원격 메쏘드는 실행에 필요한 정보(파라미터 값 등)를 분산객체모듈(300)을 통해 전달받는다. The phone client 200a has a user interface (UI) that allows a user to directly command a phone. In addition, the phone client 200a and the message client 200b have a class that can receive an event from the notification manager 140 of the radio server 100, and have a log DB that records a telephone call or a message transmitted / received. Message client 200b also has a user interface, which allows a user to issue commands related to messaging. When the user instructs the wireless communication hardware 400 such as a modem to perform a specific operation (outgoing call connection, message transmission, etc.), the phone client 200a or the message client 200b is distributed to perform this operation. The object module 300 requests the invocation of a specific remote method provided by the radio interface 110. These requests are recorded in the log DB. In the request process, the called remote method receives information (parameter values, etc.) necessary for execution through the distributed object module 300.

명령어 관리자(120)는 라디오 인터페이스(110)로부터 그 호출 메쏘드가 정의하는 바에 따른 명령어들을 전달받아 명령어 큐에 차례대로 쌓아두는 한편, 그 명령어 큐에 로드 되어 있는 명령어들을 순차적으로 꺼내어서 예컨대 AT 명령어와 같은 통신제어명령으로 변환한다. 명령어 큐를 활용하는 것은 여러 클라이언트에서 동시에 명령을 요청할 때 명령어를 버퍼링을 하기 위함이다. 통신포트 관리자(130)는 그 통신제어명령을 무선통신 하드웨어(400)에 전달하고, 그 통신제어 명령어의 무선통신 하드웨어(400)에 의한 처리 결과 또는 무선통신 하드웨어(400)가 보내오는 통지를 감시한다. The command manager 120 receives commands from the radio interface 110 and accumulates them in the command queue in order, and sequentially retrieves the commands loaded in the command queue, for example, AT commands and the like. Convert to the same communication control command. The command queue is used to buffer commands when multiple clients request them at the same time. The communication port manager 130 transmits the communication control command to the wireless communication hardware 400, and monitors the result of the processing of the communication control command by the wireless communication hardware 400 or the notification sent by the wireless communication hardware 400. do.

통신제어명령이 무선통신 하드웨어(400)에 전달된 후, 무선통신 하드웨어(400)는 수신된 통신제어 명령어를 수행하고 그 통신제어 명령어의 수행 결과를 통신포트로 전송한다. 경우에 따라서는 비동기적으로 어떤 통지를 전송할 때도 있다. 통지관리자(140)는 무선통신 하드웨어(400)가 보내오는 그러한 통신제어 명령의 수행결과나 통지를 통신포트 관리자(130)를 통해 감시한다. AT 명령어의 경우 획득된 통지와 수행결과는 스트링 형태로 주어진다. 이러한 스트링 형태의 통지와 수행결과를 구문분석(parse)하여 분산객체시스템(300)을 통해 해당 클라이언트 객체에 이벤트를 보낸다. 라디오 서버(100)가 클라이언트(200)에 보내는 통지 이벤트 리스트가 도 7에 도시되어 있다. 통지 이벤트는 크게 클라이언트(200)가 요청한 메쏘드(함수)의 수행 결과, 수신 콜(incoming call), 수신 메시지(incoming message), 시스템 정보 등이다.After the communication control command is transmitted to the wireless communication hardware 400, the wireless communication hardware 400 performs the received communication control command and transmits the result of the communication control command to the communication port. In some cases, some notifications may be sent asynchronously. The notification manager 140 monitors, through the communication port manager 130, the result of the communication control command or the notification sent by the wireless communication hardware 400. In the case of AT commands, the acquired notification and the result are given in the form of a string. The string-type notification and execution result are parsed and the event is sent to the corresponding client object through the distributed object system 300. A notification event list sent by the radio server 100 to the client 200 is shown in FIG. 7. The notification event is largely a result of performing a method (function) requested by the client 200, an incoming call, an incoming message, system information, and the like.

이상에서는 휴대폰이나 스마트폰과 같이 무선통신 모듈을 내장하고 일반 전화 기능을 수행하는 장치(구성 1)를 예로 하여 본 발명을 설명하였다. 본 발명의 적용범위는 이에 국한되지 않는다. PCMCIA/CF 인터페이스를 지원하는 PDA의 경우, 무선통신 모듈을 삽입하면 구성 1과 동일한 기능을 수행하도록 구성할 수 있다. 또한, PCMCIA/CF 인터페이스를 지원하는 노트북 컴퓨터 역시, 무선통신 모듈을 추가하면 전화접속 네트워킹 기능을 수행할 수 있다. UART나 USB 인터페이스로 외장 모뎀과 연결된 컴퓨터는 라디오 서버 모듈만이 탑재되어 무선통신 서버로 기능을 수행하게 할 수 있다. 원격지에 존재하는 다수의 클라이언트 컴퓨팅 장치에서 서버 컴퓨터로 접속하여 무선통신 기능을 테스트하거나 응용 프로그램을 개발하는 데 활용 할 수 있다. 무선통신 장치가 내장된 테스트 보드도 이와 동일한 기능을 수행하도록 구성할 수 있다. In the above, the present invention has been described by taking an example of a device (configuration 1) that incorporates a wireless communication module and performs a general telephone function such as a mobile phone or a smartphone. The scope of the present invention is not limited thereto. In the case of a PDA supporting the PCMCIA / CF interface, the wireless communication module can be inserted to perform the same function as Configuration 1. In addition, notebook computers that support the PCMCIA / CF interface can also perform dial-up networking by adding wireless communication modules. A computer connected to an external modem via a UART or USB interface can only be equipped with a radio server module to function as a wireless server. It can be used to test wireless communication functions or develop applications by connecting to a server computer from many client computing devices in remote locations. Test boards with built-in radios can be configured to perform these same functions.

이상에서 설명한 것은 본 발명의 바람직한 실시예에 불과하고, 해당 기술분야의 숙련된 당업자는 하기의 특허청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있다. 예컨대, 본 발명은 분산객체시스템은 CORBA 구조나 RMI 구조로 구현할 수도 있지만, 제3의 독자적인 분산객체구조를 개발하여 채용할 수도 있을 것이다. 나아가 적용가능한 무선통신방식도 CDMA나 GSM에 국한되지 않고, 향후 새로 개발되는 제3의 통신방식에도 적용될 수 있다. 따라서 특허청구범위의 등가적인 의미나 범위에 속하는 모든 변화들은 전부 본 발명의 권리범위안에 속함을 밝혀둔다. What has been described above is only a preferred embodiment of the present invention, and those skilled in the art will be variously modified and changed the present invention without departing from the spirit and scope of the present invention described in the claims below. You can. For example, the present invention may be implemented as a CORBA structure or an RMI structure, but a third unique distributed object structure may be developed and adopted. Furthermore, the applicable wireless communication method is not limited to CDMA or GSM, but may be applied to a third communication method newly developed in the future. Accordingly, all changes that come within the meaning or range of equivalency of the claims are to be embraced within their scope.

이상에서 설명한 바와 같이 본 발명은 분산객체시스템을 기반으로 하여 무선통신 하드웨어를 제어하는 구조를 취하므로, 분산객체환경을 이용함으로써 얻을 수 있는 여러 가지 장점들을 제공할 수 있다. As described above, the present invention takes a structure for controlling wireless communication hardware based on a distributed object system, and thus, may provide various advantages obtained by using a distributed object environment.

본 발명의 라디오 서버 시스템을 이용하면, 개발자는 무선통신 하드웨어와는 장치 독립적으로 응용 프로그램 개발이 가능하다. 따라서 응용 프로그램의 개발에 대한 부담이 현저하게 줄어들 수 있다. Using the radio server system of the present invention, the developer can develop an application program independently of the wireless communication hardware. Therefore, the burden on the development of the application can be significantly reduced.

또한 응용 프로그램은 라디오 서버의 위치와 상관없이 서비스 이용이 가능할 뿐만 아니라, 응용 프로그램은 무선통신 하드웨어와 분리된 별도의 머신에서 운영될 수 있으므로, 위치 투명성의 장점을 누릴 수 있고 다양한 응용이 가능하다.In addition, the application can use the service regardless of the location of the radio server, and the application can be operated on a separate machine separate from the radio hardware, thereby enjoying the advantages of location transparency and various applications.

도 1은 본 발명에 따른 분산객체모델 기반의 라디오 서버 시스템의 전반적인 구성을 간략하게 도시한다.FIG. 1 briefly shows an overall configuration of a radio server system based on a distributed object model according to the present invention.

도 2는 본 발명의 바람직한 실시예에 따른 라디오 서버 시스템의 보다 구체적인 구성예를 보여준다.2 shows a more specific configuration example of a radio server system according to a preferred embodiment of the present invention.

도 3은 분산객체모델의 대표적인 예인 DCOM 기반에 따른 로컬 서버와 원격 서버의 개념을 설명하기 위한 도면이다. 3 is a diagram for explaining the concept of a local server and a remote server based on DCOM, which is a representative example of a distributed object model.

도 4는 본 발명에 따른 라디오 서버 시스템에서 전화 발신 호 연결을 하기 위한 흐름을 예시적으로 나타낸다.4 exemplarily shows a flow for making outgoing call connection in a radio server system according to the present invention.

도 5는 "다이얼(dial)" 함수의 시퀀스를 예시적으로 나타낸다.5 exemplarily shows a sequence of "dial" functions.

도 6은 본 발명에 따른 라디오 서버 모듈의 상세 흐름도이다. 6 is a detailed flowchart of a radio server module according to the present invention.

도 7은 라디오 서버가 클라이언트에게 제공하는 통지 이벤트 리스트를 나타낸다.7 shows a list of notification events that a radio server provides to a client.

*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

100: 라디오 서버(radio server) 110: 라디오 인터페이스100: radio server 110: radio interface

120: 명령 관리자 130: 통신포트 관리자120: command manager 130: communication port manager

140: 통지관리자 200: 클라이언트140: notification manager 200: client

200a: 폰 클라이언트 200b: 메시지 클라이언트200a: phone client 200b: message client

210: 클라이언트 인터페이스 300: 분산객체시스템210: client interface 300: distributed object system

400: 무선통신 하드웨어400: wireless hardware

Claims (24)

무선통신 하드웨어(radio hardware)와 적어도 하나의 응용 프로그램을 포함하는 클라이언트부 사이에 위치하고, 각 응용 프로그램과는 분산객체시스템을 통해 링크되며, Located between the radio hardware and the client unit including at least one application program, each application program is linked through a distributed object system, 상기 무선통신 하드웨어에 대하여 장치 독립적으로 정의된 다수의 메쏘드를 구비하여, 상기 메쏘드들의 집합은 상기 응용프로그램이 클라이언트 객체로서 상기 분산객체시스템을 통해 호출할 수 있는 무선통신 인터페이스로서 제공되며, With a number of methods that are device independent of the wireless hardware, the set of methods is provided as a wireless communication interface that the application can call through the distributed object system as a client object, 특정 응용프로그램에 의한 메쏘드 호출(invoke)의 요청(request)이 있으면, 그 호출된 특정 메쏘드의 실행에 필요한 정보를 상기 분산객체시스템을 통해 전달받아 해당 메쏘드를 호출(invoke)하고, 그 메쏘드가 정의하는 바에 따라 상기 무선통신 하드웨어를 제어할 수 있는 통신제어 명령어를 생성하여 그 무선통신 하드웨어에 전달함으로써, 상기 응용프로그램에 대하여 장치 독립적인 통신인터페이스를 제공하는 서버 객체로서 동작하는 것을 특징으로 분산객체기반의 라디오 서버. When there is a request for a method invocation by a specific application, the distributed object system receives information necessary to execute the called specific method and invokes the method, and the method is defined. By generating a communication control command for controlling the wireless communication hardware and passing it to the wireless communication hardware, it operates as a server object that provides a device-independent communication interface for the application program Radio server. 제 1항에 있어서, 상기 라디오 서버와 상기 응용프로그램 각각은 서로 간의 모든 통신을 상기 분산객체시스템을 기반으로 하여 인터페이스를 통해 수행하도록 구성되며, 상기 인터페이스는 상기 라디오 서버와 상기 응용프로그램이 같은 머신 또는 다른 머신에 위치하는 것에 관계없이 동일한 표현으로 호출할 수 있는 메쏘드를 제공하는 것을 특징으로 하는 분산객체기반의 라디오 서버. The radio server of claim 1, wherein each of the radio server and the application program is configured to perform all communication with each other through an interface based on the distributed object system, wherein the interface is the same machine as the radio server and the application program. Distributed object-based radio server, which provides methods that can be called with the same representation regardless of where they are located on different machines. 제 1항에 있어서, 상기 라디오 서버는, The method of claim 1, wherein the radio server, 상기 무선통신 하드웨어에 대해서 특정 동작을 수행하도록 정의되되 상기 무선통신 하드웨어에 대하여 장치 독립적으로 정의된 함수 형식의 다수의 메쏘드들을 포함하며, 상기 메쏘드들 각각은 상기 분산객체시스템을 통한 상기 응용프로그램의 호출(invoke) 요청에 응하여 실행되도록 구성된 라디오 인터페이스; A plurality of methods of function form defined to perform a specific operation on the wireless hardware, the device independent definition of the wireless hardware, each of the methods invoking the application program through the distributed object system (invoke) a radio interface configured to be executed in response to a request; 호출된 메쏘드의 실행 명령어를 생성하여 명령어 큐에 로드하면서, 한편으로는 상기 명령어 큐에 로드된 명령어들을 순차적으로 불러내어 그 명령어에 대응되는 통신제어 명령어로 변환하는 명령어 관리자; 및 A command manager which generates an execution command of the called method and loads it into the command queue, while simultaneously calling up the commands loaded in the command queue and converting the command into a communication control command corresponding to the command; And 상기 명령어 관리자로부터 통신제어 명령어를 전달받아 상기 무선통신 하드웨어에 전달하고, 상기 무선통신 하드웨어의 비동기적 통지와 상기 통신제어 명령어의 수행결과를 감시하는 통신포트 관리자를 구비하는 것을 특징으로 하는 분산객체기반의 라디오 서버. And a communication port manager receiving a communication control command from the command manager and transmitting the communication control command to the wireless communication hardware, and monitoring the asynchronous notification of the wireless communication hardware and the execution result of the communication control command. Radio server. 제 3항에 있어서, 상기 라디오 서버는 상기 통신포트 관리자로부터 전달받는 상기 비동기적 통지와 상기 수행결과를 담은 스트링을 구문분석(parse)하여 상기 클라이언트부로 이벤트를 보내는 통지 관리자를 더 구비하는 것을 특징으로 하는 분산객체기반의 라디오 서버. [4] The system of claim 3, wherein the radio server further comprises a notification manager for parsing the asynchronous notification received from the communication port manager and a string containing the execution result and sending an event to the client unit. Distributed object based radio server. 제 1항에 있어서, 상기 분산객체시스템은, 상기 라디오 서버 객체와 상기 클라이언트 객체 간의 프로그래밍 언어에 중립성을 제공하기 위해, 이들 양 객체 간의 통신 메커니즘을 제공하는 바이너리 표준을 정의하여, 객체의 작성 프로그래밍 언어에 관계없이 메쏘드 호출을 동일한 표현방식으로 수행하는 것을 특징으로 하는 분산객체기반의 라디오 서버. 2. The system of claim 1, wherein the distributed object system defines a binary standard that provides a communication mechanism between these two objects to provide neutrality in a programming language between the radio server object and the client object. Distributed object-based radio server, characterized in that the method call is performed in the same manner regardless of the method. 제 1항에 있어서, 상기 분산객체시스템은 마이크로소프트사의 DCOM( distributed component object model:분산 컴포넌트 객체 모델), OMG(객체관리그룹: object management group)의 CORBA(common object request broker architecture: 공통객체요구 매개자 구조), 그리고 Java의 RMI(remote method invocation: 원격 메쏘드 호출) 중 어느 하나를 이용하여 구축된 분산객체시스템인 것을 특징으로 하는 분산객체기반의 라디오 서버. The distributed object system of claim 1, wherein the distributed object system is a common object request broker architecture (COBA) of Microsoft's DCOM (Distributed Component Object Model) and OMG (Object Management Group). A distributed object-based radio server, comprising: a distributed object system constructed using any one of the above), and Java's remote method invocation (RMI). 제 1항에 있어서, 상기 라디오 서버가 제공하는 메쏘드들은 CDMA 통신제어 명령어 또는 GSM 통신제어 명령어를 기반으로 하여 작성된 함수들인 것을 특징으로 하는 분산객체기반의 라디오 서버. The distributed object-based radio server of claim 1, wherein the methods provided by the radio server are functions written based on a CDMA communication control command or a GSM communication control command. 제 1항에 있어서, 상기 라디오 서버는 전화통화를 하는 데 필요한 응용프로그램들의 집합인 폰 서비스 클라이언트들과, 단문메시지서비스(SMS), 멀티미디어 메시지 서비스, 강화 메시지 서비스(enhanced message service: EMS)를 이용하는 데 필요한 응용프로그램들의 집합인 메시징 서비스 클라이언트 중 적어도 어느 하나에 대하여 통신 서비스를 제공하는 것을 특징으로 하는 분산객체기반의 라디오 서버. 2. The radio server of claim 1, wherein the radio server utilizes phone service clients, a collection of applications required for a telephone call, a short message service (SMS), a multimedia message service, and an enhanced message service (EMS). A distributed object-based radio server, characterized in that it provides a communication service to at least one of a messaging service client, which is a collection of applications necessary for it. 제 1항에 있어서, 상기 분산객체기반의 라디오 서버는 i) 무선통신 모듈이 내장되어 있고 일반 전화 기능을 수행하는 휴대폰, 스마트폰 또는 테스트보드 또는 ii) PCMCIA/CF 인터페이스를 지원하며 무선통신 모듈을 장착할 수 있는 PDA 또는 노트북 컴퓨터에 적용된 것을 특징으로 하는 분산객체기반의 라디오 서버. According to claim 1, wherein the distributed object-based radio server i) a mobile phone, a smart phone or a test board with a built-in wireless communication module and performs a general telephone function or ii) PCMCIA / CF interface and supports a wireless communication module Distributed object based radio server, characterized in that applied to the PDA or notebook computer that can be mounted. 제 1, 3, 7항 중 어느 하나에 있어서, 상기 통신제어 명령어는 AT 명령어(AT-commands)인 것을 특징으로 하는 분산객체기반의 라디오 서버. 8. The distributed object based radio server according to any one of claims 1, 3 and 7, wherein the communication control commands are AT commands. 무선통신 하드웨어와의 통신을 제어하는 방법에 있어서, In the method of controlling communication with wireless communication hardware, 상기 무선통신 하드웨어에 대하여 특정 동작을 수행하기 위해 특정 응용프로그램이 클라이언트 객체로서 분산객체시스템을 통해, 상기 무선통신 하드웨어에 대하여 장치 독립적으로 정의된, 라디오 서버가 제공하는 무선통신 인터페이스의 특정 원격 메쏘드의 호출(invoke)을 요청하는 제1 단계; 및 A particular application program of a particular remote method of a radio communication interface provided by a radio server, which is defined device-independently to the radio hardware through a distributed object system as a client object to perform a specific operation on the radio hardware. A first step of requesting an invoke; And 상기 라디오 서버가 그 호출된 특정 메쏘드의 실행에 필요한 정보를 상기 분산객체시스템을 통해 전달받아 해당 메쏘드를 호출(invoke)하고, 그 메쏘드가 정의하는 바에 따른 명령어를 상기 무선통신 하드웨어를 제어할 수 있는 통신제어 명령어로 변환하여 그 무선통신 하드웨어에 전달하는 제2 단계를 구비하여, The radio server receives the information necessary for the execution of the called specific method through the distributed object system to invoke the corresponding method, and can control the wireless communication hardware with an instruction as defined by the method. And a second step of converting the communication control command into the wireless communication hardware. 분산객체구조를 기반으로 하여 상기 응용프로그램에 대하여 장치 독립적인 통신인터페이스를 제공하는 것을 특징으로 하는 분산객체구조 기반의 통신제어방법. A distributed object structure-based communication control method comprising providing a device independent communication interface to the application program based on a distributed object structure. 제 11항에 있어서, 상기 무선통신 하드웨어가 상기 통신제어 명령어에 따른 통신을 수행하고 그 통신제어 명령어의 수행 결과를 상기 라디오 서버로 전달하는 제3 단계; 및 12. The method of claim 11, further comprising: a third step of the wireless communication hardware performing communication according to the communication control command and transferring a result of the communication control command to the radio server; And 상기 라디오 서버가 상기 무선통신 하드웨어의 비동기적 통지와 상기 통신제어 명령어의 수행결과를 감시하고, 획득된 통지와 수행결과를 상기 분산객체시스템을 통해 해당 클라이언트 객체로 전달하는 제4 단계를 더 구비하는 것을 특징으로 하는 분산객체구조 기반의 통신제어방법. And a fourth step of the radio server monitoring the asynchronous notification of the wireless communication hardware and the execution result of the communication control command and transferring the obtained notification and the execution result to the corresponding client object through the distributed object system. Distributed object structure based communication control method. 제 11항에 있어서, 상기 제2 단계는 12. The method of claim 11, wherein the second step is 호출된 메쏘드의 실행 명령어를 생성하여 명령어 큐에 로드 하는 단계;Generating an execution instruction of the called method and loading the instruction into an instruction queue; 상기 명령어 큐에 로드 된 명령어들을 순차적으로 불러내어 그 명령어에 따라서 대응되는 통신제어 명령어로 변환하는 단계; 및 Sequentially invoking the commands loaded in the command queue and converting the commands loaded into the command queue into corresponding communication control commands; And 변환된 통신제어 명령어를 상기 무선통신 하드웨어에 전달하여 수행되도록 하는 단계를 포함하는 것을 특징으로 하는 분산객체구조를 기반으로 하는 통신제어방법. And transmitting the converted communication control command to the wireless communication hardware to perform the communication. 제 11항에 있어서, 상기 라디오 서버가 제공하는 메쏘드들은 CDMA 통신제어 명령어 또는 GSM 통신제어 명령어를 기반으로 하여 작성된 함수들인 것을 특징으로 하는 분산객체구조를 기반으로 하는 통신제어방법. 12. The method of claim 11, wherein the methods provided by the radio server are functions written based on a CDMA communication control command or a GSM communication control command. 제 11항에 있어서, 상기 라디오 서버와 상기 응용프로그램 각각은 서로 간의 모든 통신을 상기 분산객체시스템을 기반으로 하여 인터페이스를 통해 수행하도록 구성되며, 상기 인터페이스는 상기 라디오 서버와 상기 응용프로그램이 같은 머신 또는 다른 머신에 위치하는 것에 관계없이 동일한 표현으로 호출할 수 있는 메쏘드를 제공하는 것을 특징으로 하는 분산객체구조를 기반으로 하는 통신제어방법. 12. The system of claim 11, wherein each of the radio server and the application is configured to perform all communication with each other via an interface based on the distributed object system, wherein the interface is the same machine or the same as the radio server and the application. A communication control method based on a distributed object structure, characterized by providing a method that can be called with the same expression regardless of being located in another machine. 제 11항 내지 14항 중 어느 하나에 있어서, 상기 통신제어 명령어는 AT 명령어(AT-commands)인 것을 특징으로 하는 분산객체구조를 기반으로 하는 통신제어방법. The communication control method according to any one of claims 11 to 14, wherein the communication control commands are AT commands (AT-commands). 로컬 또는 분산된 네트워크 상에 위치한 객체 간에 투명한 접근을 가능하게 하여 클라이언트 객체가 서버 객체의 위치에 상관없이 서버 객체의 원격 메쏘드를 호출할 수 있는 분산객체환경을 제공하는 분산객체시스템; A distributed object system that provides a distributed object environment that enables transparent access between objects located on a local or distributed network so that client objects can call remote methods of the server object regardless of the location of the server object; 주어지는 통신제어명령어에 따라 해당 통신을 수행하는 무선통신 하드웨어; Wireless communication hardware for performing communication in accordance with a given communication control command; 사용자 인터페이스를 제공하고, 사용자 명령에 응하여 전화통화에 필요한 동작을 수행하기 위해, 상기 분산객체시스템을 통해 라디오 서버 객체가 제공하는 인터페이스의 원격 메쏘드의 호출을 요청하는 폰 클라이언트 응용프로그램을 적어도 한 개 이상을 포함하는 클라이언트 객체부; 및 At least one phone client application requesting a call to a remote method of an interface provided by a radio server object through the distributed object system to provide a user interface and perform an operation required for a telephone call in response to a user command. A client object unit including a; And 무선통신 하드웨어(radio hardware)와 상기 클라이언트 객체부 사이에 위치하고, 상기 클라이언트 객체부와는 상기 분산객체시스템을 통해 링크되며, 상기 무선통신 하드웨어에 대하여 장치 독립적으로 정의된 다수의 메쏘드를 구비하여, 상기 메쏘드들의 집합은 상기 응용프로그램이 클라이언트 객체로서 상기 분산객체시스템을 통해 호출할 수 있는 무선통신 인터페이스로서 제공되며, 상기 클라이언트 객체부의 특정 응용프로그램에 의한 메쏘드 호출(invoke)의 요청(request)이 있으면, 그 호출된 특정 메쏘드의 실행에 필요한 정보를 상기 분산객체시스템을 통해 전달받아 해당 메쏘드를 호출(invoke)하고, 그 메쏘드가 정의하는 바에 따라 상기 무선통신 하드웨어를 제어할 수 있는 통신제어 명령어를 생성하여 그 무선통신 하드웨어에 전달함으로써, 상기 응용프로그램에 대하여 장치 독립적인 통신인터페이스를 제공하는 라디오 서버 객체부를 구비하는 것을 특징으로 하는 분산객체기반의 무선통신장치. Located between a radio hardware and the client object portion, the client object portion is linked through the distributed object system, and has a plurality of methods that are device independent of the wireless communication hardware. The set of methods is provided as a wireless communication interface that the application can call through the distributed object system as a client object, and if there is a request for a method invocation by a particular application of the client object portion, Receives information necessary to execute the called specific method through the distributed object system, invokes the method, and generates a communication control command that can control the wireless communication hardware as defined by the method. By transmitting to the wireless communication hardware, With respect to the program for device-independent radio server object in a distributed object-based wireless communication apparatus comprising unit for providing a communication interface. 제 17항에 있어서, 상기 라디오 서버와 상기 응용프로그램 각각은 서로 간의 모든 통신을 상기 분산객체시스템을 기반으로 하여 인터페이스를 통해 수행하도록 구성되며, 상기 인터페이스는 상기 라디오 서버와 상기 응용프로그램이 같은 머신 또는 다른 머신에 위치하는 것에 관계없이 동일한 표현으로 호출할 수 있는 메쏘드를 제공하는 것을 특징으로 하는 분산객체기반의 무선통신장치. 18. The system of claim 17, wherein each of the radio server and the application program is configured to perform all communication with each other via an interface based on the distributed object system, wherein the interface is the same machine or the same as the radio server and the application program. Distributed object based wireless communication device, characterized in that it provides a method that can be called in the same representation regardless of being located in a different machine. 제 17항에 있어서, 상기 클라이언트 객체부는 상기 라디오 서버가 이벤트를 보내기 위해 참조하는 인터페이스를 구비하며, 상기 라디오 서버 객체는 상기 분산객체시스템을 통해 상기 클라이언트 객체부의 인터페이스가 제공하는 원격 메쏘드를 호출하여 이벤트를 보내는 것을 특징으로 하는 분산객체기반의 무선통신장치. 18. The method of claim 17, wherein the client object unit has an interface referenced by the radio server to send an event, wherein the radio server object calls a remote method provided by an interface of the client object unit through the distributed object system to generate an event. Distributed object based wireless communication device, characterized in that for sending. 제 17항에 있어서, 상기 클라이언트 객체부는 전화통화를 하는 데 필요한 응용프로그램들의 집합인 폰 클라이언트들과, 단문메시지서비스(SMS), 멀티미디어 메시지 서비스, 강화 메시지 서비스(enhanced message service: EMS)를 이용하는 데 필요한 응용프로그램들의 집합인 메시지 서비스 클라이언트 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 분산객체기반의 무선통신장치. 18. The method of claim 17, wherein the client object unit is used to use phone clients, a short message service (SMS), a multimedia message service, and an enhanced message service (EMS), which are sets of applications required to make a phone call. A distributed object based wireless communication device comprising at least one of a message service client which is a collection of necessary applications. 제 17항에 있어서, 상기 라디오 서버 객체부는, The method of claim 17, wherein the radio server object unit, 상기 무선통신 하드웨어에 대해서 특정 동작을 수행하도록 정의되되 상기 무선통신 하드웨어에 대하여 장치 독립적으로 정의된 함수 형식의 다수의 메쏘드들을 포함하며, 상기 메쏘드들 각각은 상기 분산객체시스템을 통한 상기 응용프로그램의 호출(invoke) 요청에 응하여 실행되도록 구성된 라디오 인터페이스; A plurality of methods of function form defined to perform a specific operation on the wireless hardware, the device independent definition of the wireless hardware, each of the methods invoking the application program through the distributed object system (invoke) a radio interface configured to be executed in response to a request; 호출된 메쏘드의 실행 명령어를 생성하여 명령어 큐에 로드하면서, 한편으로는 상기 명령어 큐에 로드된 명령어들을 순차적으로 불러내어 그 명령어에 대응되는 통신제어 명령어로 변환하는 명령어 관리자; A command manager which generates an execution command of the called method and loads it into the command queue, while simultaneously calling up the commands loaded in the command queue and converting the command into a communication control command corresponding to the command; 상기 명령어 관리자로부터 통신제어 명령어를 전달받아 상기 무선통신 하드웨어에 전달하고, 상기 무선통신 하드웨어의 비동기적 통지와 상기 통신제어 명령어의 수행결과를 감시하는 통신포트 관리자; 및 A communication port manager receiving a communication control command from the command manager and transmitting the communication control command to the wireless communication hardware, and monitoring an asynchronous notification of the wireless communication hardware and a result of the execution of the communication control command; And 상기 통신포트 관리자로부터 전달받는 상기 비동기적 통지와 상기 수행결과를 담은 스트링을 구문분석(parse)하여 상기 클라이언트 객체부에 이벤트를 보내는 통지 관리자를 더 구비하는 것을 특징으로 하는 분산객체기반의 무선통신장치. And a notification manager for parsing the asynchronous notification and the execution result received from the communication port manager and sending an event to the client object. . 제 17항 또는 21항에 있어서, 상기 통신제어 명령어는 AT 명령어(AT-commands)인 것을 특징으로 하는 분산객체기반의 무선통신장치. 22. The distributed object based wireless communication device of claim 17 or 21, wherein the communication control commands are AT commands. 제 17항에 있어서, 상기 무선통신장치는 i) 무선통신 모듈이 내장되어 있고 일반 전화 기능을 수행하는 휴대폰, 스마트폰 또는 테스트보드, 또는 ii) PCMCIA/CF 인터페이스를 지원하며 무선통신 모듈을 장착할 수 있는 PDA 또는 노트북 컴퓨터인 것을 특징으로 하는 분산객체기반의 무선통신장치.18. The wireless communication device of claim 17, wherein the wireless communication device includes: i) a mobile phone, a smart phone or a test board having a built-in wireless communication module and performing a general telephone function, or ii) supporting a PCMCIA / CF interface and equipped with a wireless communication module. Distributed object based wireless communication device, characterized in that the PDA or notebook computer. 제 17항에 있어서, 상기 분산객체시스템은 마이크로소프트사의 DCOM( distributed component object model:분산 컴포넌트 객체 모델), OMG(객체관리그룹: object management group)의 CORBA(common object request broker architecture: 공통객체요구 매개자 구조), 그리고 Java의 RMI(remote method invocation: 원격 메쏘드 호출) 중 어느 하나를 이용하여 구축된 분산객체시스템인 것을 특징으로 하는 분산객체기반의 무선통신장치. 18. The method of claim 17, wherein the distributed object system is a common object request broker architecture (COBA) of Microsoft's DCOM (Distributed Component Object Model) and OMG (Object Management Group). Architecture), and a distributed object based wireless communication device, which is a distributed object system constructed using any one of Java's remote method invocation (RMI).
KR1020050030052A 2005-04-11 2005-04-11 Distributed object model based radio server with hardware-independent communication interface and communication control method using the same KR100494827B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050030052A KR100494827B1 (en) 2005-04-11 2005-04-11 Distributed object model based radio server with hardware-independent communication interface and communication control method using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050030052A KR100494827B1 (en) 2005-04-11 2005-04-11 Distributed object model based radio server with hardware-independent communication interface and communication control method using the same

Publications (1)

Publication Number Publication Date
KR100494827B1 true KR100494827B1 (en) 2005-06-13

Family

ID=37302950

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050030052A KR100494827B1 (en) 2005-04-11 2005-04-11 Distributed object model based radio server with hardware-independent communication interface and communication control method using the same

Country Status (1)

Country Link
KR (1) KR100494827B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100919053B1 (en) 2007-12-03 2009-09-24 한국전자통신연구원 Apparatus and method of managing hardware component in framework of mobile terminal
CN102075548A (en) * 2011-02-22 2011-05-25 迈普通信技术股份有限公司 Unified communication system and unified communication realization method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100919053B1 (en) 2007-12-03 2009-09-24 한국전자통신연구원 Apparatus and method of managing hardware component in framework of mobile terminal
CN102075548A (en) * 2011-02-22 2011-05-25 迈普通信技术股份有限公司 Unified communication system and unified communication realization method

Similar Documents

Publication Publication Date Title
JP3251800B2 (en) Communication system for exchanging data between computers in a network
US20030009539A1 (en) Distributed object middleware connection method
KR100807651B1 (en) System and method of creating and communicating with component based wireless applications
US8010973B2 (en) Class loader for managing a network
US7900214B2 (en) System and method for adaptable provisioning of generic application content
EP1117035A1 (en) Runtime environment component services
CA2495396C (en) System and method for customized provisioning of application content
CA2511916A1 (en) System and method of building wireless component applications
CN111506368B (en) Method, device, equipment and storage medium for converting asynchronous call into synchronous call
US7392060B2 (en) Mobile exchange infrastructure
US9026701B2 (en) Implementing device support in a web-based enterprise application
US8051191B2 (en) Ethernet extensibility
KR100494827B1 (en) Distributed object model based radio server with hardware-independent communication interface and communication control method using the same
CN112688915A (en) Cross-protocol communication method, device and server
KR101190597B1 (en) Method port apparatus and composition method for robot software component
CN109669793B (en) Object calling method in middleware process
WO2021203343A1 (en) Web request processing method and apparatus
EP1734443A1 (en) Access to a mobile device from another device
Cheng et al. An adaptive mobile application development framework
JP2003076563A (en) Distributed object middleware connection method and recording medium with program recorded thereon and program
US7472174B2 (en) Abstract mechanism for constructing commands for the command pattern
KR100593843B1 (en) An application program management system for a mobile telecommunication terminal
JP2006127399A (en) Application platform provision system, method, and program for it
EP1560114A1 (en) Computer system and method for customized provisioning of application content
Gabhart et al. kXML-RPC Enables Service-Oriented Mobile Computing

Legal Events

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