KR100689116B1 - Daemon for executing the wipi in smartphone - Google Patents
Daemon for executing the wipi in smartphone Download PDFInfo
- Publication number
- KR100689116B1 KR100689116B1 KR1020050102864A KR20050102864A KR100689116B1 KR 100689116 B1 KR100689116 B1 KR 100689116B1 KR 1020050102864 A KR1020050102864 A KR 1020050102864A KR 20050102864 A KR20050102864 A KR 20050102864A KR 100689116 B1 KR100689116 B1 KR 100689116B1
- Authority
- KR
- South Korea
- Prior art keywords
- smartphone
- daemon
- kernel
- wipi
- smart phone
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
Description
도 1은 일반적인 스마트폰에 위피를 탑재하는 과정에 대한 일실시예 설명도.1 is a diagram illustrating an embodiment of a process of mounting a Wi-Fi on a typical smartphone.
도 2는 본 발명에 따른 위피를 구동하기 위한 데몬에 대한 일실시예 구성도.Figure 2 is an embodiment configuration for the daemon for driving the epithelium in accordance with the present invention.
도 3은 본 발명에 따른 위피 구동 서비스 개념도.3 is a schematic diagram of a Wi-Fi driving service according to the present invention.
* 도면의 주요 부분에 대한 부호 설명* Explanation of symbols on the main parts of the drawing
41 : 이벤트 디스패쳐 42 : 에이전트 매니저41: event dispatcher 42: agent manager
43 : 알람 매니저 44 : 위피 인터페이스43: Alarm Manager 44: Wifi Interface
본 발명은 스마트폰에서 위피를 구동하기 위한 데몬에 관한 것으로, 더욱 상세하게는 데몬을 사용하여 위피 구동 조건이 스마트폰에서 발생되는지를 모니터링하고 있다가 위피 구동 조건이 발생되면 데몬이 위피를 호출하여 스마트폰의 운영 체제 위에서 위피가 구동되도록 하는, 스마트폰에서 위피를 구동하기 위한 데몬에 관한 것이다.The present invention relates to a daemon for driving the epithelium in a smartphone, and more specifically, using a daemon to monitor whether the epithelial driving condition is generated in the smartphone, and when the epithelial driving condition occurs, the daemon calls the epiphysis. It relates to a daemon for driving the Wi-Fi in the smartphone, which allows the Wi-Fi to run on the operating system of the smartphone.
최근에 휴대 전화기의 기능과 PDA의 기능을 결합시킨 스마트폰(smartphone)이 각광받고 있다. 이러한 스마트폰에는 기존 휴대 전화기에 비해 대용량의 메모리와 고성능 CPU가 실장되며, 다양한 어플리케이션 실행, 음성/데이터 통신 및 PC 연동 등을 지원하기 위한 운영체제(OS)가 탑재된다. 스마트폰의 운영체제로는 영국의 심비안사가 개발한 "symbian OS"와 미국의 마이크로소프트사가 개발한 "WindowsCE OS"가 대표적이다.Recently, smart phones that combine the functions of a mobile phone and a PDA have been in the spotlight. These smartphones are equipped with a larger memory and a higher performance CPU than conventional mobile phones, and are equipped with an operating system (OS) to support various application execution, voice / data communication, and PC interworking. Smartphone operating systems include the "symbian OS" developed by the British Symbian company and the "WindowsCE OS" developed by the Microsoft company of the United States.
한편, 대한민국에서는 위피(WIPI: Wireless Internet Platform for Interoperability)를 휴대 전화기의 무선 인터넷 플랫폼 표준으로 채택하였다. 이에, 각 이동통신사 및 각 단말 제조업체에서는 휴대 전화기의 운영체제(예; REX 등) 계층과 어플리케이션 계층 중간에 위피를 탑재(포팅, porting)하고 있다.Meanwhile, South Korea has adopted Wireless Internet Platform for Interoperability (WIPI) as the wireless Internet platform standard for mobile phones. Accordingly, each mobile communication company and each terminal manufacturer has installed (porting) portie in the middle of the operating system (eg, REX) layer and the application layer of the mobile phone.
앞서 언급한 바와 같이, 기존 휴대 전화기에는 REX와 같은 기존 운영체제 위에 위피가 탑재되어 있는 반면에 최근에 출시되고 있는 스마트폰에는 위피가 탑재되어 있지 않은 바, 여러 업체에서 위피를 기반으로 하여 실행되는 각 어플리케이션(예; 브라우저, 무선 인터넷 메뉴, 게임, 벨소리, 동영상, 문서 작성 프로그램 등)이 스마트폰 상에서 원활하게 실행될 수 있도록 스마폰에 위피를 탑재시키는 개발을 진행하고 있다.As mentioned earlier, while existing mobile phones have Wipy on top of existing operating systems, such as REX, recently launched smart phones do not have Wipy on them. We are working on developing Wi-Fi on smartphones so that applications (eg, browsers, wireless Internet menus, games, ringtones, videos, document creation programs, etc.) can run smoothly on smartphones.
위와 같이 스마트폰에 위피를 탑재하기 위해서는 symbian OS 또는 WindowsCE OS의 스펙을 고려하여 위피의 일부 스펙을 추가/변경하여 스마트폰의 운영체제에 위피를 올려야만 된다. 특히, 이러한 고려 사항 중 하나가 바로 스마트폰의 운용체제가 위피를 어떻게 취급하느냐인데, 스마트폰의 운영체제는 위피를 하나의 어플리케이션으로 취급, 예컨대 스마트폰에 기 탑재되어 있던 윈도우즈 파일 탐색기("Explorer.exe") 등과 같은 어플리케이션의 일종으로 위피를 취급한다. 이를 도 1을 참조하여 설명하면 다음과 같다.In order to install Wi-Fi on the smartphone as above, it is necessary to add / change some specifications of Wi-Fi in consideration of the specifications of symbian OS or Windows CE OS and upload Wi-Fi on the operating system of the smartphone. In particular, one of these considerations is how the operating system of a smartphone treats Wi-Fi. The operating system of a smartphone treats Wi-Fi as an application, for example, Windows File Explorer ("Explorer. exe ") and other types of applications, such as the Wiki. This will be described with reference to FIG. 1.
도 1은 일반적인 스마트폰에 위피를 탑재하는 과정에 대한 일실시예 설명도이다.1 is a diagram illustrating an embodiment of a process of mounting a Wi-Fi on a typical smartphone.
도 1의 상단에 도시된 바와 같이, 스마트폰의 운영체제는 위피를 하나의 어플리케이션으로 취급하기 때문에, 이러한 스마트폰의 운영체제의 스펙, 예컨대 스마트폰의 운영체제에서 제공되는 API, 컴파일러, 실행 바이너리 포맷 등을 사용하여 위피 관련 어플리케이션, 위피 라이브러리, HAL 라이브러리 등을 코딩하고서 이를 링커를 통해 하나의 실행 파일("Wcewipi.exe")로 제작한다. 그런 후에, 도 1의 하단에 도시된 바와 같이 실행 파일 형태의 위피("Wcewipi.exe")를 스마트폰에 설치하게 되면 위피가 기존 윈도우즈 파일 탐색기 등과 마찬가지로 스마트폰의 운영체제 위에서 하나의 어플리케이션으로 실행된다.As shown at the top of FIG. 1, since the operating system of the smartphone treats Wi-Fi as an application, the specifications of the operating system of the smartphone, for example, APIs, compilers, and executable binary formats provided by the operating system of the smartphone Code the Wi-Fi related application, Wi-Fi library, HAL library, etc. and make it as an executable file ("Wcewipi.exe") through the linker. Then, as shown at the bottom of Figure 1, when installed in the smartphone Wipy ("Wcewipi.exe") in the form of executable files Wipy will run as a single application on the operating system of the smartphone, like the existing Windows file explorer .
위에서 살펴본 바와 같이, 스마트폰에서는 위피가 플랫폼으로서 동작하지 못하고 단지 하나의 어플리케이션으로서 동작하기 때문에 위피를 기반으로 하는 어플리케이션, 예를 들어 SMS 푸시 서비스, 대기화면 서비스, 왑 브라우저, 호 착신 등을 처리하기 위해 스마폰의 운영체제 구동과 함께 위피를 항상 구동시켜 두어야만 된다.As we saw above, in Wi-Fi, Wi-Fi does not work as a platform, but as a single application, which handles Wi-Fi-based applications such as SMS push service, idle screen service, swap browser, and call forwarding. In order to keep your smartphone running, you should always have Wipy enabled.
그러나, 스마트폰에서는 기존 휴대 전화기, 예컨대 위피를 기반으로 하는 어플리케이션뿐만 아니라 PDA의 기능, 스마트폰에 기 탑재되어 있던 각종 서비스 등을 수시로 수행해야 되는데, 위피 항시 구동에 의해 하드웨어(예; 메모리, CPU 등) 및 소프트웨어(예; 각 서비스 프로세스 등)가 점유되어져 단말 리소스 부족으로 인해 고유 서비스가 수행되지 못하는 경우가 종종 발생되고 있는 형편이다. 즉, 스마트폰에서 위피를 항상 구동시켜 두게 되면 메모리 및 프로세스 등과 같은 단말 리소스가 위피에 의해 낭비되며, 이에 타 어플리케이션 구동을 위한 단말 리소스가 부족해지는 문제점이 있다.However, in smartphones, as well as applications based on existing mobile phones, such as Wi-Fi, the functions of PDAs and various services already installed in smart phones must be frequently performed. Etc.) and software (e.g., each service process, etc.) are often occupied, and thus a unique service cannot be performed due to a lack of terminal resources. In other words, if the Wi-Fi is always driven in the smartphone, terminal resources such as memory and processes are wasted by Wi-Fi, and thus there is a problem that the terminal resources for driving other applications are insufficient.
따라서, 스마트폰에서 위피에 의해 단말 리소스가 낭비되는 것을 방지하기 위해서는 위피를 항상 구동시켜 둘 수 없는 점을 고려하여 스마트폰에서 위피가 필요한 경우에만 위피를 구동시키는 기술이 절실히 요구되고 있다.Therefore, in order to prevent terminal resources from being wasted by smartphones in the smartphone, a technology for driving the stomach is only required when the smartphone is needed in consideration of the fact that the smartphone cannot be always driven.
또한, 기존 휴대 전화기에서는 단말 제조사에 의해 운영체제가 위피 관련 이벤트 발생 시에 해당되는 이벤트를 위피에게 올려주도록 개발되어 있으나, 상기와 같은 스마트폰에서는 단말 제조사 또는 운영체제 개발사에 의한 위피 고려가 없었기에 스마트폰의 운영체제가 위피에게 해당 이벤트를 올려주지 않고 있는 형편이다.In addition, the existing mobile phone has been developed by the terminal manufacturer to raise the corresponding event when the operating system is related to Wi-Fi, but in the smart phone as described above, there was no consideration of the Wi-Fi by the terminal manufacturer or operating system developer 'S operating system is not posting the event to Wippy.
따라서, 스마트폰의 운영체제가 위피에게 위피 관련 이벤트 등을 알려주지 않더라도 특정 어플리케이션, 예컨대 경량 프로세스를 사용하여 스마트폰에 부하를 주지 않으면서도 스마트폰의 운영체제에서 발생된 위피 관련 이벤트 등을 위피에게 알려주며, 이에 위피가 해당되는 이벤트를 처리할 수 있도록 하는 기술이 절실히 요구되고 있다.Therefore, even if the operating system of the smartphone does not inform the Wi-Fi related events, etc., Wi-Fi notifies the Wi-Fi-related events generated in the operating system of the smartphone without applying a load to the smart phone using a specific application, for example, a lightweight process. There is an urgent need for a technology that allows WiPie to handle the event.
본 발명은 상기와 같은 문제점을 해결하고 상기와 같은 요구에 부응하기 위하여 제안된 것으로, 데몬을 사용하여 위피 구동 조건이 스마트폰에서 발생되는지를 모니터링하고 있다가 위피 구동 조건이 발생되면 데몬이 위피를 호출하여 스마트폰의 운영체제 위에서 위피가 구동되도록 하는, 스마트폰에서 위피를 구동하기 위한 데몬을 제공하는데 그 목적이 있다.The present invention has been proposed in order to solve the above problems and to meet the above requirements, using a daemon to monitor whether the Wi-Fi driving conditions are generated in the smart phone and when the Wi-Fi driving conditions occur, the daemon detects Wi-Fi Its purpose is to provide a daemon for driving the Wi-Fi on a smartphone, by calling the Wi-Fi on the operating system of the smartphone.
상기의 목적을 달성하기 위한 본 발명은, 스마트폰에서 위피 구동 조건이 발생되는지를 모니터링하고 있다가 위피 구동 조건이 발생되면 스마트폰의 운영체제 위에서 위피가 구동되도록 하는 데몬으로서, 상기 데몬은, 상기 스마트폰의 커널에 접근해 위피 관련 이벤트가 발생되는지를 모니터링하고 있다가 위피 관련 이벤트가 발생되면 상기 스마트폰 커널에게 위피 호출을 명령하는 이벤트 디스패쳐; 상기 스마트폰의 커널에 접근해 위피 기반 에이전트 실행 요구가 발생되는지와 위피 기반 에이전트 실행 조건이 발생되는지를 모니터링하고 있다가 위피 기반 에이전트 실행 요구 또는 위피 기반 에이전트 실행 조건이 발생되면 상기 스마트폰 커널에게 위피 호출을 명령하는 에이전트 매니저; 상기 스마트폰의 커널에 접근해 위피 알람 시각을 모니터링하고 있다가 해당 위피 알람 시각이 도래하게 되면 상기 스마트폰 커널 에게 위피 호출을 명령하는 알람 매니저; 및 상기 이벤트 디스패쳐, 에이전트 매니저 및 알람 매니저에 의해 상기 스마트폰 커널과 상기 위피간의 데이터, 메시지를 전달하는 위피 인터페이스로 이루어진다.In order to achieve the above object, the present invention monitors whether a Wi-Fi driving condition is generated in a smartphone, and when the Wi-Fi driving condition is generated, the daemon is configured to drive the Wi-Fi on an operating system of the smartphone. An event dispatcher for accessing the phone's kernel to monitor whether a Wi-Fi-related event occurs and instructing the smartphone kernel to call a Wi-Fi call when a Wi-Fi-related event occurs; Approaching the kernel of the smartphone to monitor whether the Wi-Fi-based agent execution request is generated and whether the Wi-Fi-based agent execution condition is generated, and when the Wi-Fi-based agent execution request or Wi-Fi-based agent execution condition occurs An agent manager for invoking a call; An alarm manager for accessing the kernel of the smartphone to monitor the Wi-Fi alarm time and instructing the Wi-Fi call to the smartphone kernel when the Wi-Fi alarm time arrives; And a Wi-Fi interface for transferring data and messages between the smartphone kernel and the Wi-Fi by the event dispatcher, the agent manager, and the alarm manager.
이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, detailed descriptions of well-known functions or configurations will be omitted if it is determined that the detailed description of the present invention may unnecessarily obscure the subject matter of the present invention. Terms to be described later are terms defined in consideration of functions in the present invention, and may be changed according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the specification.
도 2는 본 발명에 따른 위피를 구동하기 위한 데몬에 대한 일실시예 구성도이다.Figure 2 is a configuration diagram for one embodiment of a daemon for driving the epithelium according to the present invention.
일반적인 스마트폰에는, 최하위 계층에 각종 하드웨어(예; 이동통신 모듈, CPU, 메모리, 디스플레이, 키패드, GPS 수신모듈 등)(10)이 탑재되고, 운영체제 계층에 WindowsCE OS(20)가 탑재되고, 어플리케이션 계층에 WindowsCE OS를 기반으로 구동되는 각종 어플리케이션, 예컨대 도 1에서 언급했던 위피("Wcewipi.exe")(30), 윈도우즈 파일 탐색기("Explorer.exe"), 프리셀 게임("freecell.exe") 등이 탑재된다. 한편, 이하 본 발명의 실시예로 WindowsCE OS가 스마트폰의 기본 OS로 탑재된 것을 예로 들어 설명하겠으나, symbian OS 등과 같은 여타 스마트폰의 운영체제에 도 본 발명이 적용됨을 당업자라면 쉽게 이해할 수 있을 것이다.In a typical smartphone, various hardware (e.g., mobile communication module, CPU, memory, display, keypad, GPS receiver module, etc.) 10 are mounted at the lowest layer, and the Windows CE OS 20 is mounted at the operating system layer. Various applications that are run based on the WindowsCE OS in the layer, for example, WIPI ("Wcewipi.exe") 30, Windows File Explorer ("Explorer.exe"), and freecell games ("freecell.exe") mentioned in FIG. Etc. are mounted. On the other hand, in the following embodiment of the present invention will be described as an example that the Windows CE OS is mounted as a basic OS of the smartphone, it will be readily understood by those skilled in the art that the present invention is applied to the operating system of other smartphones, such as symbian OS.
상기 WindowsCE OS(20)는 스마트폰에 탑재된 각종 하드웨어 및 각종 소프트웨어에 대한 단말 리소스 할당, 프로세스 제어 등을 전반적으로 수행하는 스마트폰 커널("Smartphone Kernel")과, 스마트폰 커널 접근을 위해 자신[WindowsCE OS]을 기반으로 구동되는 어플리케이션에게 제공되는 각종 스마트폰 API("Smartphone API")로 이루어진다. 이하, 본 발명을 설명함에 있어 WindowsCE OS(20)의 실제 주체가 스마트폰 커널이므로 WindowsCE OS와 스마트폰 커널에 "20"이라는 동일한 도면부호를 부여하여 설명하기로 한다.The Windows CE OS 20 is a smartphone kernel (“Smartphone Kernel”) that generally performs terminal resource allocation and process control on various hardware and various software mounted on the smartphone, and the user can access the smartphone kernel [ WindowsCE OS] based on a variety of smartphone API ("Smartphone API") provided to the application that is running. Hereinafter, in describing the present invention, since the actual subject of the WindowsCE OS 20 is a smartphone kernel, the same reference numerals as "20" will be given to the WindowsCE OS and the smartphone kernel.
상기 위피(30)는 도 1에서 언급했던 스마트폰의 OS 스펙에 맞추어져 제작된 실행 파일 형태의 어플리케이션으로서, 자신[위피]을 기반으로 구동되는 어플리케이션(예; 브라우저, 무선 인터넷 메뉴, LBS 서비스, 대기화면 서비스, 모바일결제 서비스, 멀티미디어메시지 서비스 자바-버츄얼 머신 등)에게 제공되는 위피 API("WIPI API")와 위피 구동 엔진인 위피 코어("WIPI Core") 및 핸드셋 적응 계층인 위피 HAL("WIPI HAL")로 이루어진다.The Wi-
본 발명의 특징은, 어플리케이션 형태의 상기 위피(30)를 WindowsCE OS(20) 위에서 항상 구동시켜 두지 않고서, WindowsCE OS(20)에서 위피 구동 조건이 발생될 때에 위피(30)가 WindowsCE OS(20) 위에서 구동되도록 하는 것이다.A feature of the present invention is that when the Wipy driving condition is generated in the WindowsCE OS 20, the Wipy 30 does not always drive the Wipy 30 in an application form on the WindowsCE OS 20. To be driven from above.
이를 위해, 본 발명에서는 단말 리소스를 작게 차지하는 백그라운드 프로세스 형태의 데몬(Daemon)(일명 WIPI On Smartphone Agent)(40)을 사용하여 위피 구동 조건이 WindowsCE OS(20)에서 발생되는지를 모니터링하고 있다가 위피 구동 조 건이 발생되면 위피(30)를 호출하여 위피(30)를 구동시킨다.To this end, the present invention monitors whether the Wi-Fi driving condition is generated in the WindowsCE OS 20 by using a daemon (aka WIPI On Smartphone Agent) 40 in the form of a background process that takes up a small amount of terminal resources. When the driving condition is generated to call the
그리고, 본 발명에서는 WindowsCE OS(20)에서 발생된 위피 관련 이벤트 등이 위피(30)에서 처리될 수 있도록, 데몬(40)이 WindowsCE OS(20)에서 발생된 위피 관련 데이터, 메시지 등을 위피(30)에게 전달한다. 또한, 본 발명에서는 위피(30)가 특정 데이터, 메시지 등을 스마트폰 커널(20)에 보낼 수 있도록, 데몬(40)이 위피(30)에서 발생된 데이터, 메시지 등을 스마트폰 커널(20)에게 전달한다.And, in the present invention so that the Wipy-related events, such as generated in the WindowsCE OS 20 can be processed in the Wiffy (30), the daemon (40) Wipy related data, messages, etc. generated by the WindowsCE OS (20) To 30). In addition, in the present invention, so that the Wipy 30 can send specific data, messages, and the like to the
앞서 언급한 바와 같이, 본 발명에서는 위피(30)가 WindowsCE OS(20) 초기화 시에 구동되지 않으며, 데몬(40)만이 WindowsCE OS(20) 초기화 시에 시작되어져 WindowsCE OS(20) 종료 시까지 스마트폰 API를 사용하면서 스마트폰 커널(20)을 모니터링하다가 위피 구동 조건이 발생되면 위피(30)를 호출하게 된다.As mentioned above, in the present invention, the WiPi 30 is not driven at the time of initializing the WindowsCE OS 20, and only the
위와 같은 본 발명의 데몬(40)은 이벤트 디스패쳐("Event Dispatcher")(41), 에이전트 매니저("Agent Manager")(42), 알람 매니저("Alarm Manager")(43) 및 위피 인터페이스("WIPI Interface")(44)로 이루어진다.The
상기 이벤트 디스패쳐(41)는 스마트폰 API를 사용하여 스마트폰 커널(20)에 접근해서 스마트폰에서 위피 관련 이벤트가 발생되는지를 모니터링하고 있다가 특정 위피 관련 이벤트가 발생되면 스마트폰 커널(20)에게 위피 호출을 명령하며, 이에 스마트폰 커널(20)이 위피(30)를 호출하여 WindowsCE OS 위에서 구동시킨다.The
또한, 이벤트 디스패쳐(41)는 스마트폰 커널(20)에게 상기 위피 관련 이벤트에 해당되는 데이터, 메시지 등을 자신에게 반환해 달라고 명령해 둔다. 이와 같이 WindowsCE OS 위에서 위피(30)가 구동된 상태에서 상기 이벤트 디스패쳐(41)는 스 마트폰 커널(20)로부터 반환받은 위피 관련 이벤트에 해당되는 데이터, 메시지 등을 위피 인터페이스(44)를 통해 위피(30)에게 전달하며, 이에 위피(30)가 수신받은 데이터, 메시지 등을 사용하여 해당 위피 관련 이벤트를 처리한다.In addition, the
여기서, 이벤트 디스패쳐(41)가 다루는 위피 관련 이벤트로는 호 착신 발생, SMS 수신[일반적인 문자], 자바-버츄얼 머신 실행 요구, 멀티미디어메시지 작성 요구, 특정 키 버튼 눌림(예; 무선 인터넷 접속 메뉴인 "nate key"가 눌렸을 때 등), OEM 연동 서비스 요구(예; 지도 데이터 업데이트 요구에 대응하여 브라우저를 구동시켜 LBS 서버에 접속해야 되는 경우 등) 등과 같이 위피에서 반드시 처리되어야 되는 이벤트들을 들 수 있다. 이외에도 공지의 위피(30)에서 처리하는 이벤트 구현에 따라 본 이벤트 디스패쳐(41)가 다루는 위피 관련 이벤트를 다양하게 지정할 수 있다.Here, the Wi-Fi related events handled by the
상기 에이전트 매니저(42)는 스마트폰 API를 사용하여 스마트폰 커널(20)에 접근해서, 스마트폰에서 위피 기반 에이전트 실행 요구가 발생되는지와 스마트폰에서 위피 기반 에이전트 실행 조건이 발생되는지를 모니터링하고 있다가 위피 기반 에이전트 실행 요구 또는 위피 기반 에이전트 실행 조건이 발생되면 스마트폰 커널(20)에게 위피 호출을 명령하며, 이에 스마트폰 커널(20)이 위피(30)를 호출하여 WindowsCE OS 위에서 구동시킨다.The
또한, 에이전트 매니저(42)는 스마트폰 커널(20)에게 상기 위피 기반 에이전트 실행 요구 또는 상기 위피 기반 에이전트 실행 조건에 해당되는 데이터, 메시지 등을 자신에게 반환해 달라고 명령해 둔다. 이와 같이 WindowsCE OS 위에서 위피 (30)가 구동된 상태에서 상기 에이전트 매니저(42)는 스마트폰 커널(20)로부터 반환받은 데이터, 메시지 등을 위피 인터페이스(44)를 통해 위피(30)에게 전달하며, 이에 위피(30)가 수신받은 데이터, 메시지 등을 사용하여 위피를 기반으로 하는 해당 에이전트를 통해 해당되는 작업을 수행한다.In addition, the
여기서, 에이전트 매니저(42)가 다루는 위피 기반 에이전트로는 SMS 푸시 에이전트, 모바일결제 에이전트, 대기화면 에이전트 등을 들 수 있다. 예를 들어, 단말 분실 서비스에서는 분실된 휴대 전화기로 단말 잠금 명령을 SMS로 날리는데, 스마트폰에서 이와 같은 단말 잠금 명령 SMS를 수신받게 되는 경우에 상기 에이전트 매니저(42)가 이를 모니터링해서 SMS 푸시 에이전트 실행을 위해 위피를 구동시키는 프로세스를 수행하게 된다. 다른 예로, 대기화면 에이전트는 단말 모드가 아이들 상태인 경우에 디스플레이에 플래시와 같은 대기화면을 표시하는데, 스마트폰의 모드가 아이들 상태인 경우에 상기 에이전트 매니저(42)가 이를 모니터링해서 대기화면 에이전트 실행을 위해 위피를 구동시키는 프로세스를 수행하게 된다. 이외에도 공지의 위피(30)를 기반으로 하는 에이전트 구현에 본 에이전트 매니저(42)가 다루는 에이전트를 다양하게 지정할 수 있다.The Wi-Fi-based agent handled by the
상기 알람 매니저(43)는 스마트폰 API를 사용하여 스마트폰 커널(20)에 접근해서 스마트폰에 등록된 위피 알람 시각을 모니터링하고 있다가 해당 위피 알람 시각이 도래하게 되면 스마트폰 커널(20)에게 위피 호출을 명령하며, 이에 스마트폰 커널(20)이 위피(30)를 호출하여 WindowsCE OS 위에서 구동시킨다.The
또한, 알람 매니저(43)는 스마트폰 커널(20)에게 상기 위피 알람 시각과 관 련된 데이터, 메시지 등을 자신에게 반환해 달라고 명령해 둔다. 이와 같이 WindowsCE OS 위에서 위피(30)가 구동된 상태에서 상기 알람 매니저(43)는 스마트폰 커널(20)로부터 반환받은 데이터, 메시지 등을 위피 인터페이스(44)를 통해 위피(30)에게 전달하며, 이에 위피(30)가 수신받은 데이터, 메시지 등을 사용하여 해당 알람 시각에 대응되는 작업을 수행한다.In addition, the
여기서, 알람 매니저(43)는 스마트폰에 등록된 위피 알람 시각을 다루는데, 이러한 위피 알람 시각은 위피(30)가 스마트폰 커널(20)에 등록해 둔 예약 시간을 말한다. 예를 들어, 사용자가 위피를 기반으로 하는 콘텐츠 다운로더를 통해 몇시몇분에 어떠한 콘텐츠를 다운로드받겠다고 예약해 놓은 경우에, 상기 위피(30)는 이러한 사용자의 요구 조건에 맞추어 WindowsCE OS에게 해당되는 시각에 자신을 깨워달라고 위피 알람 시각을 등록하며, 이에 스마트폰 커널(20)의 알람 스케쥴링 등에 위 위피 알람 시각이 등록되게 된다. 이와 같은 위피 알람 시각으로는 특정 에이전트 실행 예약 시각, 특정 작업 예약 시각, 모닝콜 예약 시각 등을 들 수 있다.Here, the
상기 위피 인터페이스(44)는 전술한 이벤트 디스패쳐(41), 에이전트 매니저(42), 알람 매니저(43)가 스마트폰에서 발생된 위피 관련 데이터, 메시지 등을 위피(30)에게 전달할 수 있는 통신 라이브러리 등과, 위피(30)가 스마트폰 커널(20)에게 특정 데이터, 메시지 등을 전달할 수 있는 통신 라이브러리 등을 제공한다.The Wi-
즉, 스마트폰의 WindowsCE OS(20) 위에서 하나의 프로세스 형태로 실행되는 데몬(40)이 사용하는 인스턴스(Instance)와 스마트폰의 WindowsCE OS(20) 위에서 하나의 프로세스 형태로 실행되는 위피(30)가 사용하는 인스턴스가 서로 다르기 때 문에 프로세스간 통신(IPC; InterProcess Communication)을 위피 인터페이스(44)를 통해 보장한다. 예컨대, 이러한 위피 인터페이스(44)는 스마트폰의 통신 API와 위피의 통신 API간의 변환을 담당한다.That is, an instance used by the
위에서 전술한 바와 같이 본 데몬(40)의 각 구성 요소에 대해 상세히 설명했기에, 하기에서는 도 3을 참조하여 이벤트 디스패쳐(41), 에이전트 매니저(42), 알람 매니저(43) 및 위피 인터페이스(44)로 이루어진 본 데몬(40)을 WindowsCE OS(20) 상에서 어떻게 구현했는지에 대해 상세히 설명하기로 한다.As described above, each component of the
도 3은 본 발명에 따른 위피 구동 서비스 개념도이며, 이 도 3을 참조하여 본 데몬(40)의 수행 동작에 대해 먼저 살펴보면 다음과 같다.3 is a conceptual diagram of a Wi-Fi driving service according to the present invention. Referring to FIG. 3, the operation of the
먼저, 본 데몬(40)은 WindowsCE OS(20)의 시작 시점에 WindowsCE OS_Service.exe 프로세스 관리 하에 호출되어져 초기화 작업[WOS_Init]을 수행하며, 각종 데이터 싱크 오브젝트(Data Sync Objects)를 생성한다.First, the
이후에, 본 데몬(40)은 WindowsCE OS(20) 위에서 백그라운드 프로세스 형태로 구동되면서 슈퍼 데몬 서비스[IOCTL_Service_Connection]를 사용하여 키 눌림, SMS 수신 등과 같은 이벤트가 발생되는지를 모니터링하고 있다가 해당 이벤트가 발생되면 WindowsCE OS(20)에게 위피 호출을 명령하며, IPC[도 3에서는 이 IPC를 구현한 "IOCTL(아이오콘트롤)"로 표현]를 통하여 WindowsCE OS(20)와 위피(30)간의 각종 데이터 연동 및 메시지 송수신을 처리한다.Subsequently, the
그러다가, 본 데몬(40)은 WindowsCE OS(20)의 종료 시점에 함께 종료하며, 기 사용했던 모든 오브젝트 핸들(Object Handle) 및 리소스(Resource) 등을 해지[WOS_Deinit]한다.Then, the
한편, 도 2에서 언급한 바와 같이, 스마트폰의 운영체제 위에서 위피가 타 어플리케이션과 마찬가지로 하나의 어플리케이션으로서 구동된다. 이에 본 발명에서는 위피가 스마트폰에서 어플리케이션으로 취급되지만 플랫폼과 동일한 동작 양상을 낼 수 있도록, WindowsCE OS(20)와 위피(30)간의 상호 작용을 위한 데몬(40)을 구현한다.On the other hand, as mentioned in Figure 2, the Wi-Fi on the operating system of the smart phone as other applications are driven as one application. Therefore, in the present invention, Wipy is treated as an application in a smartphone, but implements a
본 발명에서는 일반적인 유닉스 시스템(UNIX Systems)의 데몬을 WindowsCE OS(20)에 구현할 수 없는 점을 고려하여, WindowsCE OS(20) 상에서 단말 리소스를 작게 차지하는 백그라운드 프로세스 형태의 데몬을 구현하기 위해 WindowsCE OS 스펙 중 WindowsCE OS_Driver 모델을 본따서 만들어진 WindowsCE OS_Service에 착안하였다. 여기서, WindowsCE OS_Service는 기존 Device Driver가 Device.exe 프로세스의 관리 하에서 안정적을 동작하는 것처럼, third party의 특색 있는 서비스들이 Service.exe 프로세스의 관리를 받으며 항상 안정적으로 동작할 수 있도록 하는 것이다.In the present invention, in consideration of the fact that a general Unix system daemon cannot be implemented in the
특히, 본 데몬(40)의 동작이 위피 구동 조건 발생 시에 위피(30)를 WindowsCE OS(20) 위에서 구동되도록 하는 것이므로, WindowsCE OS_Service의 기본 동작 개념 중 필요한 부분만을 데몬(40)에 커스터마이징(customizing)한다.In particular, since the operation of the
즉, WindowsCE OS_Service는 기존 Device Driver와 동일하게 약속된 규격으로 노출된 10개의 진입점을 가진 다이나믹 링크드 라이브러리(Dynamic Linked Library) 형태의 파일로 구성된다. 이 중에서, 본 발명에서는 서비스가 시작/정지되는 경우에 자동으로 호출되는 진입점과, 전원 관련 변동이 있을 때 호출되는 진입점, 직접 명령을 내려서 서비스를 시작/정지/리프레시/인스톨/언인스톨/새로정의된작업[IOCTL_Service_Start/Stop/Refresh/Install/Uninstall/Status] 등을 하게 하는 커맨드 진입점[외부제어명령수행]을 구현 포인트로 설정한다. 여기서, "IOCTL(아이오콘트롤)"은 IPC를 의미하며, 하기에 후술하기로 한다.In other words, WindowsCE OS_Service consists of a file in the form of a Dynamic Linked Library with 10 entry points exposed in the same promise as the existing Device Driver. Among these, in the present invention, an entry point that is automatically called when the service is started / stopped, an entry point that is called when there is a power-related change, and a service is directly started / stopped / refreshed / installed / installed / uninstalled. Set the command entry point [execution of external control commands] to allow the defined operation [IOCTL_Service_Start / Stop / Refresh / Install / Uninstall / Status] to be an implementation point. Here, "IOCTL (IoControl)" means IPC, which will be described later.
또한, 본 데몬(40), 예컨대 이벤트 디스패쳐(41)가 위피 관련 이벤트가 발생되는지를 모니터링, 에이전트 매니저(42)가 위피 기반 에이전트 실행 요구가 발생되는지와 위피 기반 에이전트 실행 조건이 발생되는지를 모니터링, 알람 매니저(43)가 위피 알람 시각을 모니터링 등을 수행하는데 있어, 데몬 프로세스와 스마트폰 커널 프로세스간의 동작 방식을 고려할 필요가 있다.In addition, the
이에, 본 발명에서는 "인터넷 슈퍼 데몬 서비스(inetd)"를 본 데몬(40)에 구현[IOCTL_Service_Connection]하여 프로세스간 통신에 단말 부담을 주지 않도록 한다. 예컨대, WindowsCE OS 상에서는 동시에 구동될 수 있는 프로세스의 개수가 32개로 제한되는 바, 본 데몬(40)이 슈퍼 데몬 서비스를 사용하여 스마트폰 커널 프로세스로 접근해서 특정 이벤트 등이 발생되는지를 모니터링한다. 다음의 [표 1]은 데몬의 일부 코드 중 이러한 슈퍼 데몬 서비스 및 하기에 후술할 메시지 송수신에 관한 내용을 나타낸다.Thus, in the present invention, the "internet super daemon service (inetd)" is implemented in the daemon 40 [IOCTL_Service_Connection] so as not to burden the terminal on inter-process communication. For example, the number of processes that can be run simultaneously on the WindowsCE OS is limited to 32. The
[표 1]을 통해 알 수 있듯이, 본 데몬(40)은 슈퍼 데몬 서비스를 사용하여 스마트폰 커널(20)에서 위피 구동 조건이 발생하는지를 모니터링하고 있다가 위피 관련 이벤트가 발생되면 IPC[즉, IOCTL]를 통해 스마트폰 커널(20)에게 위피(30)를 구동하라고 호출 명령하고서, IPC를 통해 스마트폰 커널(20)의 글로벌 영역에 저장되어 있던 메시지 내용 중 위피 관련 메시지를 스마트폰 커널(20)로부터 위피(30)에게 전달한다. 이하, 이러한 IPC에 대해 설명하면 다음과 같다.As can be seen from Table 1, the
앞서 언급한 바와 같이, 본 발명에서는 스마트폰 커널 프로세스와 위피 프로세스간의 데이터 통신 및 메시지 송수신, 즉 IPC를 데몬(40), 바람직하게는 위피 인터페이스(44)에 구현한다.As mentioned above, the present invention implements data communication and message transmission and reception, that is, IPC between the smartphone kernel process and the Wi-Fi process in the
즉, 일반적인 휴대 전화기에서는 운영체제(REX), 이 운영체제를 기반으로 실행되는 OEM 어플리케이션, 위피 및 이 위피를 기반으로 실행되는 어플리케이션들이 단일 바이너리(One-Binary)/단일 프로세스(One-Porcess)/단일 쓰레드(One-Thread) 모드로 동작하기 때무에 별도의 통신 인터페이스가 필요 없기에 단순한 API 호출만을 사용해서도 데이터 통신 및 메시지 전달이 가능하다.That is, in a typical mobile phone, the operating system (REX), the OEM application running on the operating system, the Wipy, and the applications running on the WiFi are one-binary / one-process / single thread. Because it operates in (One-Thread) mode, it does not need a separate communication interface, so data communication and message delivery are possible using only simple API calls.
그러나, 스마트폰에서는 운영체제(WindowsCE OS), 이 WindowsCE OS를 기반으로 실행되는 OEM 어플리케이션, 위피 및 이 위피를 기반으로 실행되는 어플리케이션들이 모두 독립적인 프로세스로서 동작하기 때문에 프로세스간에 공유할 수 있는 공유 오브젝트(Shared Object)를 사용해 이벤트 전달 및 데이터 처리를 해야만 된다.However, in smartphones, the operating system (WindowsCE OS), OEM applications running on the WindowsCE OS, WiPy, and applications running on the WiPI all operate as independent processes, so shared objects that can be shared between processes ( Shared Objects) must be used for event forwarding and data processing.
특히, 스마트폰에서는 위피(30), 데몬(40) 및 타 어플리케이션(OEM Application)들이 모두 독립적인 프로세스 형태로 구동되기 때문에 이들간의 데이터 통신 및 메시지 전달에 관한 일반적인 규칙이 필요하며, 이를 위한 구조로서 본 발명에서는 IOCTL을 사용한다. 이러한 IOCTL은 Event[이벤트], MuteX[뮤트엑스], Semaphore[세마포어], Critical Section[크리티컬 섹션], File Mapping[파일 매핑] 및 Registered Message[레지스터 메시지] 등과 같은 방식을 채용한다. 이를 보다 상세히 설명하면 다음과 같다.In particular, since
스마트폰에서는 위피에 어떠한 데이터를 요청하거나 위피에서 스마트폰의 운영체제에게 데이터를 요구할 때에 단순히 메시지 전달을 하는 구조가 아닌 데이터를 서로 주고 받는 구조로 되어 있다. 이러한 구조는 "Send Data -> Wait Result -> Recv Data"의 형태를 이루며, 이를 처리하기 위해서는 서로 다른 두 프로세스간에 공유할 수 있는 데이터 공간이 필요하며, 서로의 요청을 이해할 수 있는 명령들이 정의되어야 된다.In smartphones, when data is requested from Wi-Fi or Wi-Fi requires data from the operating system of the smartphone, it is a structure that sends and receives data to each other, not just a structure to deliver a message. This structure takes the form of "Send Data-> Wait Result-> Recv Data", which requires a data space that can be shared between two different processes, and commands must be defined to understand each other's requests. do.
이에, 본 발명에서는 프로세스간 통신 명령에 관한 규약 및 데이터 통신 방식을 IOCTL로 정의하여 프로세스간 통신(IPC)이 수행되도록 한다. 이러한 IOCTL의 예는 다음의 [표 2]와 같다.Accordingly, in the present invention, the inter-process communication command and the data communication method are defined as IOCTL to perform inter-process communication (IPC). Examples of such IOCTLs are shown in Table 2 below.
이상 본 발명의 내용이 실시예를 들어 설명되었으나, 본 발명의 실시예는 본 발명의 예시에 불과하며 본 발명의 범위를 제한하는 것으로 해석되어서는 안 된다. 본 발명이 속하는 분야의 기술자는 본원의 특허청구범위에 기재된 원리 및 범위 내에서 본 발명을 여러 가지 형태로 변형 또는 변경할 수 있다.While the content of the present invention has been described by way of examples, the embodiments of the present invention are merely illustrative of the present invention and should not be construed as limiting the scope of the present invention. Those skilled in the art to which the present invention pertains may modify or alter the present invention in various forms within the principles and scope described in the claims herein.
상기와 같은 본 발명은 스마트폰에서 위피가 필요할 때마다 이 위피를 구동시키기 때문에 기존에 스마트폰 구동에 맞추어 위피를 항상 구동시키는 것에 비해 메모리 및 프로세스 등과 같은 단말 리소스가 낭비되는 것을 방지하며, 이에 타 어플리케이션이 스마트폰에서 효율적으로 구동될 수 있도록 하는 효과가 있다.The present invention as described above is to drive the Wi-Fi whenever the Wi-Fi is required in the smart phone to prevent the terminal resources such as memory and processes to be wasted compared to always driving the Wi-Fi in accordance with the existing smartphone drive, There is an effect that the application can be run efficiently on the smartphone.
또한, 본 발명은 기존 스마폰의 운영체제에 어떠한 제약을 가하지 않더라도 단말 리소스를 작게 차지하는 백그라운드 프로세스 형태의 데몬을 사용하여 위피 구동 조건에 맞추어 위피를 스마트폰에서 제대로 구동되도록 하는 효과가 있다.In addition, the present invention has the effect of allowing the Wi-Fi to be properly driven in the smartphone in accordance with the Wi-Fi driving conditions by using a daemon in the form of a background process that takes up a small amount of terminal resources even without any restrictions on the operating system of the existing smartphone.
또한, 본 발명은 데몬을 사용하여 스마트폰 커널과 위피간의 데이터, 메시지 송수신을 보장해 줌으로써, 스마트폰에서도 위피 관련 작업이 제대로 처리될 수 있도록 하는 효과가 있다.In addition, the present invention by using the daemon to ensure the transmission and reception of data, messages between the smartphone kernel and Wi-Fi, there is an effect that can be properly processed Wi-Fi-related tasks in the smart phone.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050102864A KR100689116B1 (en) | 2005-10-31 | 2005-10-31 | Daemon for executing the wipi in smartphone |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050102864A KR100689116B1 (en) | 2005-10-31 | 2005-10-31 | Daemon for executing the wipi in smartphone |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100689116B1 true KR100689116B1 (en) | 2007-03-02 |
Family
ID=38102307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050102864A KR100689116B1 (en) | 2005-10-31 | 2005-10-31 | Daemon for executing the wipi in smartphone |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100689116B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101087665B1 (en) | 2009-10-12 | 2011-11-30 | 에스케이플래닛 주식회사 | Method And Apparatus for Interworking Applications |
WO2012151998A1 (en) * | 2011-08-17 | 2012-11-15 | 中兴通讯股份有限公司 | Data processing method and drive apparatus for mobile broadband device |
-
2005
- 2005-10-31 KR KR1020050102864A patent/KR100689116B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101087665B1 (en) | 2009-10-12 | 2011-11-30 | 에스케이플래닛 주식회사 | Method And Apparatus for Interworking Applications |
WO2012151998A1 (en) * | 2011-08-17 | 2012-11-15 | 中兴通讯股份有限公司 | Data processing method and drive apparatus for mobile broadband device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI488035B (en) | Aggregating recurrent schedules to optimize resource consumption | |
US9182975B2 (en) | Automatic application updates | |
US10713091B2 (en) | Streaming program execution method of intelligent terminal | |
US8260354B2 (en) | Operating device and method for universal IC card | |
JP5137781B2 (en) | Mobile device and application switching method | |
US20060253548A1 (en) | Method and system for hosting and executing a component application | |
WO2012122884A1 (en) | Open plug-in management platform and plug-in management method implemented on browser | |
KR100957020B1 (en) | Method and Smartphone for Operating Heterogeneous Application | |
US9727705B2 (en) | Remotely defining security data for authorization of local application activity | |
CN105190555A (en) | Centralized task scheduling | |
WO2021082733A1 (en) | Mobile communication method and apparatus, storage medium, and electronic apparatus | |
US20140033208A1 (en) | Method and device for loading application program | |
KR20080109412A (en) | Prediction-based dynamic thread pool management method and agent platform using the same | |
CN102546920A (en) | Method, system and device of running process | |
CN102348004A (en) | Configuration method of service assembly, system and equipment thereof | |
CN102685303A (en) | Communication method and device | |
KR100689116B1 (en) | Daemon for executing the wipi in smartphone | |
CN111052083B (en) | Method and apparatus for managing scheduling of services during startup | |
US8677476B2 (en) | Providing remotely defined security data to a local application extension | |
KR20090125470A (en) | Method, apparatus and record carrier for interworking between applications on a mobile platform | |
CN110389791B (en) | Component scheduling method, device, equipment and storage medium | |
US9384344B2 (en) | Authorizing local application activity using remotely defined security data | |
CN112559199A (en) | Device and method for controlling android Bluetooth in glibc environment and terminal equipment | |
KR101168899B1 (en) | A Method For Handling Task In Mobile Terminal With Mobile Internet Platform | |
CN116795557B (en) | Communication method, electronic device, and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120111 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130201 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |