KR101294256B1 - Computing terminal for performing application using devices and computing method thereof - Google Patents

Computing terminal for performing application using devices and computing method thereof Download PDF

Info

Publication number
KR101294256B1
KR101294256B1 KR1020110060209A KR20110060209A KR101294256B1 KR 101294256 B1 KR101294256 B1 KR 101294256B1 KR 1020110060209 A KR1020110060209 A KR 1020110060209A KR 20110060209 A KR20110060209 A KR 20110060209A KR 101294256 B1 KR101294256 B1 KR 101294256B1
Authority
KR
South Korea
Prior art keywords
target device
return value
application
return
devices
Prior art date
Application number
KR1020110060209A
Other languages
Korean (ko)
Other versions
KR20120140461A (en
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 KR1020110060209A priority Critical patent/KR101294256B1/en
Publication of KR20120140461A publication Critical patent/KR20120140461A/en
Application granted granted Critical
Publication of KR101294256B1 publication Critical patent/KR101294256B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms

Abstract

본 발명의 실시예들은 복수의 디바이스들을 이용하여 어플리케이션을 실행하는 컴퓨팅 단말에 관한 것으로서, 복수의 디바이스들의 반환값들을 획득하고, 어플리케이션의 요청에 따라 상기 획득된 반환값들을 가공하는 방법에 관련된다.Embodiments of the present invention relate to a computing terminal for executing an application using a plurality of devices, and to a method of obtaining return values of a plurality of devices and processing the obtained return values according to a request of an application.

Description

복수의 디바이스들을 구비하여 어플리케이션을 실행하는 컴퓨팅 단말 및 그 단말의 동작 방법{COMPUTING TERMINAL FOR PERFORMING APPLICATION USING DEVICES AND COMPUTING METHOD THEREOF}Computing terminal for running an application having a plurality of devices and a method of operating the terminal {COMPUTING TERMINAL FOR PERFORMING APPLICATION USING DEVICES AND COMPUTING METHOD THEREOF}

아래 실시예들은 복수의 디바이스들을 이용하여 어플리케이션을 실행하는 컴퓨팅 단말에 관한 것으로서, 복수의 디바이스들의 반환값들을 획득하고, 어플리케이션의 요청에 따라 상기 획득된 반환값들을 가공하는 방법에 관련된다.The embodiments below relate to a computing terminal for executing an application using a plurality of devices, and to a method of obtaining return values of a plurality of devices and processing the obtained return values in response to a request of an application.

컴퓨팅 단말은 사용자들의 요구가 점차 다양해짐에 따라 많은 종류의 디바이스들을 탑재하고 있다.Computing terminals are equipped with many kinds of devices as the needs of users gradually vary.

예컨대, 이동 단말은 터치 센서, 지자기 센서, 가속도 센서 등의 다수의 센서 디바이스들을 탑재하고 있으며, 이러한 센서 디바이스들을 통해 수집되는 정보들을 이용하여 스마트형 단말의 다양한 서비스들을 제공한다.For example, the mobile terminal includes a plurality of sensor devices such as a touch sensor, a geomagnetic sensor, an acceleration sensor, and the like, and provides various services of the smart terminal by using information collected through the sensor devices.

도 1은 종래의 컴퓨팅 단말에서 디바이스들의 반환값을 획득하는 일례를 보여준다. 여기서, 상기 디바이스들은 센서 디바이스들로 도시되었다.1 illustrates an example of obtaining return values of devices in a conventional computing terminal. Here, the devices are shown as sensor devices.

도 1을 참조하면, 컴퓨팅 단말(100)에서, 소프트웨어인 어플리케이션(110)이 제1 센서 디바이스(130)의 반환값을 획득하고자 한다면, 어플리케이션(110)은 유저 레벨에서 제1 센서 디바이스(130)에 대응하는 제1 디바이스 드라이버(120)에게 제1 센서 디바이스(130)의 반환값을 요청한다. Referring to FIG. 1, in the computing terminal 100, if the application 110, which is software, wants to obtain a return value of the first sensor device 130, the application 110 may include the first sensor device 130 at a user level. Request the return value of the first sensor device 130 to the first device driver 120 corresponding to the.

제1 디바이스 드라이버(120)는 커널 레벨에서, 제1 센서 디바이스(130)와 연동하고, 제1 센서 디바이스(130)로부터 반환값을 획득한 후, 획득된 반환값을 어플리케이션(110)에게 제공한다.The first device driver 120 interoperates with the first sensor device 130 at the kernel level, obtains a return value from the first sensor device 130, and then provides the obtained return value to the application 110. .

즉, 종래의 컴퓨팅 단말에서는 커널 레벨상에서 각각의 디바이스들의 반환값을 획득하여, 어플리케이션에게 전달하는 디바이스 드라이버들이 존재한다. That is, in a conventional computing terminal, there are device drivers that obtain return values of respective devices on a kernel level and deliver them to an application.

종래의 어플리케이션은 유저 레벨에서의 하나의 반환값 요청을 통해 하나의 대상 디바이스의 반환값을 별도의 처리 없이 획득하기 때문에, 상기 대상 디바이스의 반환값의 추가 보정이나 다른 디바이스의 반환값에 따른 가공이 필요하다면, 종래의 어플리케이션은 유저 레벨상에서 상기 보정이나 가공 과정을 실시해야 할 수 있다.Since a conventional application obtains a return value of one target device through a request for one return value at the user level without further processing, further correction of the return value of the target device or processing according to the return value of another device is difficult. If necessary, the conventional application may need to perform the above correction or processing on a user level.

본 발명의 실시예에 의하면, 복수의 디바이스들을 구비하여 어플리케이션을 수행하는 컴퓨팅 단말에서, 커널 레벨상에서, 어플리케이션이 요청한 대상 디바이스의 반환값을 상기 대상 디바이스와 연관된 다른 디바이스의 반환값과 융합하고, 상기 융합된 값을 상기 어플리케이션에게 제공할 수 있는 디바이스 드라이버, 드라이버 모듈, 컴퓨팅 단말 및 그 단말의 동작 방법 중 적어도 하나를 제공한다.According to an embodiment of the present invention, in a computing terminal having an application with a plurality of devices, at a kernel level, a return value of a target device requested by an application is fused with a return value of another device associated with the target device. It provides at least one of a device driver, a driver module, a computing terminal and a method of operating the terminal that can provide a fused value to the application.

특히, 본 발명의 실시예에 의하면, 복수의 디바이스들의 반환값들에 의해 추정되는 컴퓨팅 단말의 상태에 기초하여, 상기 어플리케이션이 요청한 대상 디바이스의 반환값을 상기 어플리케이션에게 제공할 수 있는 컴퓨팅 단말 및 그 단말의 동작 방법을 제공할 수 있다.In particular, according to an embodiment of the present invention, a computing terminal capable of providing a return value of a target device requested by the application to the application based on a state of the computing terminal estimated by the return values of a plurality of devices and its A method of operating a terminal may be provided.

또한, 본 발명의 실시예에 의하면, 상기 어플리케이션이 상기 컴퓨팅 단말에서 정상적으로 동작하지 않는 디바이스의 반환값을 요청하더라도, 다른 디바이스들의 반환값에 기초하여 상기 정상적으로 동작하지 않는 디바이스의 반환값을 추정하여 상기 어플리케이션에게 제공할 수 있는 컴퓨팅 단말 및 그 단말의 동작 방법을 제공할 수 있다.In addition, according to an embodiment of the present invention, even if the application requests a return value of a device that does not operate normally in the computing terminal, the return value of the non-operating device is estimated based on a return value of other devices. A computing terminal capable of providing the application and a method of operating the terminal can be provided.

본 발명의 일 실시예에 따른 컴퓨팅 단말은 어플리케이션을 실행하는 컴퓨팅 단말로서, 복수의 디바이스들과, 상기 복수의 디바이스들 각각의 반환값을 획득하는 복수의 디바이스 드라이버와, 상기 복수의 디바이스 드라이버를 관리하는 드라이버 관리 모듈을 포함하고, 상기 드라이버 관리 모듈은 커널 레벨에서 상기 복수의 디바이스들 사이의 상호 작용을 정의하고, 상기 어플리케이션으로부터 상기 복수의 디바이스들 중 대상 디바이스의 반환값에 대한 요청을 수신함에 응답하여, 상기 커널 레벨에서 상기 상호 작용을 고려하여 상기 대상 디바이스 및 상기 대상 디바이스와 연관된 다른 디바이스의 반환값들을 식별하고, 상기 식별된 반환값들을 기초로 생성된 융합 반환값을 상기 어플리케이션에 제공한다.A computing terminal according to an embodiment of the present invention is a computing terminal that executes an application, and manages a plurality of devices, a plurality of device drivers for obtaining return values of each of the plurality of devices, and the plurality of device drivers. And a driver management module, the driver management module defining an interaction between the plurality of devices at a kernel level and receiving a request for a return value of a target device among the plurality of devices from the application. Thereby identifying return values of the target device and another device associated with the target device in consideration of the interaction at the kernel level, and providing the application with a fusion return value generated based on the identified return values.

이때, 상기 어플리케이션은 상기 복수의 디바이스 드라이버 중 상기 대상 디바이스에 대응하는 디바이스 드라이버에게 상기 대상 디바이스의 반환값을 요청한 후, 상기 요청에 관련된 인터럽트를 발생시키고, 상기 드라이버 관리 모듈은 상기 인터럽트를 인지함에 대응하여 상기 융합 반환값을 상기 어플리케이션에게 전송할 수 있다.In this case, the application requests a return value of the target device from a device driver corresponding to the target device among the plurality of device drivers, generates an interrupt related to the request, and the driver management module responds to recognizing the interrupt. The fusion return value to the application.

또한, 상기 드라이버 관리 모듈은 상기 융합 반환값의 생성시, 칼만 필터링을 이용하여 상기 대상 디바이스 및 상기 다른 디바이스로부터 획득되는 반환값으로부터 상기 컴퓨팅 단말의 상태를 나타내는 정보를 추정하고, 상기 추정된 정보를 기초로 상기 융합 반환값을 생성할 수 있다.In addition, the driver management module estimates information representing the state of the computing terminal from return values obtained from the target device and the other device by using Kalman filtering when generating the fusion return value, and calculates the estimated information. Based on this, the fusion return value can be generated.

또한, 상기 드라이버 관리 모듈은 상기 생성된 융합 반환값을 상기 대상 디바이스의 출력 포맷으로 변환한 후 상기 변환된 융합 반환값을 상기 어플리케이션으로 출력할 수 있다.The driver management module may convert the generated fusion return value into an output format of the target device and then output the converted fusion return value to the application.

본 발명의 다른 실시예에 따른 컴퓨팅 단말은 어플리케이션을 실행하는 컴퓨팅 단말로서, 복수의 디바이스들과, 상기 복수의 디바이스들 각각의 반환값을 획득하여 상기 어플리케이션에게 제공하는 복수의 디바이스 드라이버를 포함하고, 상기 복수의 디바이스 드라이버는 커널 레벨에서 상기 복수의 디바이스들 중 제어 대상의 대상 디바이스 및 다른 디바이스 사이의 상호 작용을 정의하고, 상기 어플리케이션으로부터 상기 대상 디바이스의 반환값에 대한 요청을 수신함에 응답하여, 상기 커널 레벨에서 정의된 상기 상호 작용에 따라 상기 대상 디바이스 및 상기 대상 디바이스와 연관된 다른 디바이스의 반환값들을 식별하고, 상기 식별된 반환값들을 기초로 생성되는 융합 반환값을 상기 어플리케이션에게 제공한다.A computing terminal according to another embodiment of the present invention is a computing terminal that executes an application, and includes a plurality of devices and a plurality of device drivers that obtain return values of each of the plurality of devices and provide the same to the application. The plurality of device drivers define an interaction between a target device to be controlled and another device among the plurality of devices at a kernel level, and in response to receiving a request for a return value of the target device from the application, Identifying return values of the target device and another device associated with the target device according to the interaction defined at the kernel level, and providing the application with a fusion return value generated based on the identified return values.

이때, 상기 대상 디바이스가 정상적으로 작동하지 않는 경우, 상기 복수의 디바이스 드라이버 중 상기 대상 디바이스에 대응하는 디바이스 드라이버는 상기 상호 작용에 따라 상기 대상 디바이스와 연관된 다른 디바이스로부터 식별된 반환값을 기초로 상기 대상 디바이스의 반환값을 추정하고, 상기 추정된 반환값을 상기 어플리케이션에게 제공할 수 있다.In this case, when the target device does not operate normally, a device driver corresponding to the target device among the plurality of device drivers is based on a return value identified from another device associated with the target device according to the interaction. Estimate a return value of and provide the estimated return value to the application.

또한, 상기 대상 디바이스가 정상적으로 작동하지 않는 경우, 상기 대상 디바이스가 출력 가능한 반환값들이 상기 대상 디바이스와 연관된 다른 디바이스가 출력하는 반환값들과 서로 매핑된 샘플링 데이터를 더 포함하고, 상기 복수의 디바이스 드라이버 중 상기 대상 디바이스에 대응하는 디바이스 드라이버는 상기 요청에 응답하여, 상기 샘플링 데이터로부터 상기 다른 디바이스의 반환값에 대응하는 샘플링 데이터를 독출하고, 상기 독출된 샘플링 데이터를 상기 대상 디바이스의 반환값으로서 상기 어플리케이션에게 제공할 수 있다.In addition, when the target device does not operate normally, the return values output by the target device may further include sampling data mapped with return values output by another device associated with the target device, and the plurality of device drivers. In response to the request, the device driver corresponding to the target device reads sampling data corresponding to a return value of the other device from the sampling data, and uses the read sampling data as a return value of the target device. Can be provided to

본 발명의 또 다른 실시예에 따른 컴퓨팅 단말의 동작 방법은 복수의 디바이스들; 상기 복수의 디바이스들 각각의 반환값을 획득하는 복수의 디바이스 드라이버; 및 상기 복수의 디바이스 드라이버를 관리하는 드라이버 관리 모듈을 포함하고, 어플리케이션을 실행하는 컴퓨팅 단말의 동작 방법에 있어서, 커널 레벨에서 상기 복수의 디바이스들 사이의 상호 작용을 정의하는 단계와, 상기 어플리케이션으로부터 상기 복수의 디바이스들 중 대상 디바이스의 반환값에 대한 요청을 수신하는 단계와, 상기 요청의 수신에 응답하여, 상기 커널 레벨에서 상기 상호 작용에 따라 상기 대상 디바이스 및 상기 대상 디바이스와 연관된 다른 디바이스의 반환값들을 식별하는 단계와, 상기 식별된 반환값들을 기초로 상기 대상 디바이스를 위한 융합 반환값을 생성하고, 상기 생성된 융합 반환값을 상기 어플리케이션에게 제공하는 단계를 포함한다.According to another embodiment of the present invention, a method of operating a computing terminal includes a plurality of devices; A plurality of device drivers for obtaining return values of each of the plurality of devices; And a driver management module for managing the plurality of device drivers, the method comprising: defining an interaction between the plurality of devices at a kernel level; Receiving a request for a return value of a target device from among a plurality of devices, and in response to receiving the request, a return value of the target device and another device associated with the target device according to the interaction at the kernel level And generating a fusion return value for the target device based on the identified return values, and providing the generated fusion return value to the application.

이때, 상기 생성된 융합 반환값을 상기 어플리케이션에게 제공하는 단계는 상기 생성된 융합 반환값을 상기 대상 디바이스의 출력 포맷으로 변환하여 상기 어플리케이션에게 제공할 수 있다.In this case, the providing of the generated fusion return value to the application may convert the generated fusion return value into an output format of the target device and provide the generated fusion return value to the application.

또한, 상기 생성된 융합 반환값을 상기 어플리케이션에게 제공하는 단계는 칼만 필터링을 이용하여 상기 식별된 반환값으로부터 상기 컴퓨팅 단말의 상태를 나타내는 정보를 추정하는 단계와, 상기 추정된 정보를 기초로 상기 대상 디바이스를 위한 융합 반환값을 생성하는 단계와, 상기 생성된 융합 반환값을 상기 어플리케이션으로 전달하는 단계를 포함할 수 있다.The providing of the generated fusion return value to the application may include estimating information representing the state of the computing terminal from the identified return value using Kalman filtering, and based on the estimated information. Generating a fusion return value for the device and delivering the generated fusion return value to the application.

본 발명의 또 다른 실시예에 따른 컴퓨팅 단말의 동작 방법은 복수의 디바이스들; 상기 복수의 디바이스들 각각의 반환값을 획득하는 복수의 디바이스 드라이버; 및 상기 복수의 디바이스 드라이버를 관리하는 드라이버 관리 모듈을 포함하고, 어플리케이션을 실행하는 컴퓨팅 단말의 동작 방법으로서, 상기 드라이버 관리 모듈이 커널 레벨에서 상기 복수의 디바이스들 사이의 상호 작용을 정의하는 단계와, 상기 어플리케이션이 상기 대상 디바이스에 대응하는 디바이스 드라이버에게 상기 대상 디바이스의 반환값을 요청하고, 인터럽트를 발생시키는 단계와, 상기 드라이버 관리 모듈이 상기 인터럽트를 인지하는 단계와, 상기 인지에 대응하여, 상기 드라이버 관리 모듈이 상기 커널 레벨에서 상기 상호 작용에 따라 상기 대상 디바이스 및 상기 대상 디바이스와 연관된 다른 디바이스의 반환값들을 식별하는 단계와, 상기 드라이버 관리 모듈이 상기 식별된 반환값들을 기초로 상기 대상 디바이스를 위한 융합 반환값을 생성하고, 상기 생성된 융합 반환값을 상기 어플리케이션에 제공하는 단계를 포함한다.According to another embodiment of the present invention, a method of operating a computing terminal includes a plurality of devices; A plurality of device drivers for obtaining return values of each of the plurality of devices; And a driver management module for managing the plurality of device drivers, the method comprising: defining interactions between the plurality of devices at a kernel level by the driver management module; The application requesting a return value of the target device from a device driver corresponding to the target device, generating an interrupt, acknowledging the interrupt by the driver management module, and responsive to the recognition; The management module identifying return values of the target device and another device associated with the target device according to the interaction at the kernel level, and the driver management module for the target device based on the identified return values. fusion Generating a hwangap, and includes the step of providing the generated fusion return value to the application.

본 발명의 또 다른 실시예에 따른 컴퓨팅 단말의 동작 방법은 복수의 디바이스들을 구비하고, 어플리케이션을 실행하는 컴퓨팅 단말에서, 상기 복수의 디바이스들 중 대상 디바이스의 반환값을 상기 어플리케이션에게 제공하는 디바이스 드라이버의 동작 방법으로서, 커널 레벨에서, 상기 대상 디바이스와 상기 대상 디바이스와 연관된 다른 디바이스 사이의 상호 작용을 정의하는 단계와, 상기 어플리케이션으로부터 상기 대상 디바이스의 반환값에 대한 요청이 수신되었는 지를 판단하는 단계와, 상기 판단 결과, 상기 정의된 상호 작용에 따라 상기 대상 디바이스 및 상기 다른 디바이스 각각의 반환값을 식별하는 단계와, 상기 식별된 반환값들을 기초로 상기 대상 디바이스를 위한 융합 반환값을 생성하고, 상기 생성된 융합 반환값을 상기 어플리케이션에게 제공하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of operating a computing terminal, comprising: a device driver configured to provide a return value of a target device among the plurality of devices to the application in a computing terminal including a plurality of devices and executing an application; A method of operation comprising the steps of: defining at the kernel level an interaction between the target device and another device associated with the target device, determining whether a request for a return value of the target device has been received from the application; As a result of the determination, identifying a return value of each of the target device and the other device according to the defined interaction, generating a fusion return value for the target device based on the identified return values, and generating the The fusion return value to the application Providing the example.

본 발명의 또 다른 실시예에 따른 컴퓨팅 단말의 동작 방법은 복수의 디바이스들 및 복수의 디바이스 드라이버들을 구비하고 어플리케이션을 실행하는 컴퓨팅 단말에서, 정상적으로 작동하지 않는 대상 디바이스에 대응하는 디바이스 드라이버의 동작 방법으로서, 커널 레벨에서, 상기 대상 디바이스와 상기 대상 디바이스와 연관된 다른 디바이스 사이의 상호 작용을 정의하는 단계와, 상기 어플리케이션으로부터 상기 대상 디바이스의 반환값에 대한 요청이 수신되었는 지를 판단하는 단계와, 상기 판단 결과, 상기 정의된 상호 작용에 따라 상기 대상 디바이스와 연관된 다른 디바이스의 반환값들을 식별하는 단계와, 상기 식별된 반환값들을 기초로 상기 대상 디바이스의 반환값을 추정하는 단계를 포함한다.A method of operating a computing terminal according to another embodiment of the present invention is a method of operating a device driver corresponding to a target device not normally operating in a computing terminal including a plurality of devices and a plurality of device drivers and executing an application. Defining, at a kernel level, an interaction between the target device and another device associated with the target device, determining whether a request for a return value of the target device has been received from the application, and the determination result Identifying return values of another device associated with the target device according to the defined interaction, and estimating a return value of the target device based on the identified return values.

이때, 상기 대상 디바이스가 출력 가능한 반환값들이 상기 대상 디바이스와 연관된 다른 디바이스가 출력하는 반환값들과 서로 매핑된 샘플링 데이터를 미리 저장하고 유지하는 단계를 더 포함하고, 상기 식별된 반환값을 기초로 상기 대상 디바이스의 반환값을 추정하는 단계는 상기 샘플링 데이터로부터 상기 다른 디바이스의 반환값에 대응하는 샘플링 데이터를 독출하는 단계와, 상기 독출된 샘플링 데이터를 상기 대상 디바이스의 반환값으로 결정하는 단계를 포함할 수 있다.The method may further include storing and maintaining sampling data mapped to each other with return values output by another device associated with the target device, based on the identified return value. The estimating of a return value of the target device may include reading sampling data corresponding to a return value of the other device from the sampling data, and determining the read sampling data as a return value of the target device. It may include.

본 발명의 실시예에 의하면, 커널 레벨에서, 대상 디바이스의 반환값이 다른 디바이스의 반환값과 융합 처리되어 어플리케이션의 유저 레벨로 전달됨으로써, 어플리케이션은 한 번의 디바이스 반환값 요청을 통해 상기 복수의 반환값들이 융합 처리된 값을 획득할 수 있다. 이에 따라 어플리케이션은 이전보다 빠르게 동작할 수 있고 연산 처리 시간도 줄어들 수 있다. 또한, CPU는 반환값을 요청하고 전달하는 과정에서 커널 레벨과 유저 레벨 간 모드를 전환하는 횟수가 이전보다 줄어들 수 있으므로, CPU의 전력 소모량이 감소될 수 있다.According to an embodiment of the present invention, at a kernel level, a return value of a target device is fused with a return value of another device and transferred to a user level of an application, whereby an application requests the plurality of return values through a single device return value request. Can obtain the fused value. This allows applications to run faster and reduce computational processing time. In addition, since the CPU can switch the mode between the kernel level and the user level in a process of requesting and transferring a return value, the CPU power consumption can be reduced.

또한, 커널 레벨에서, 대상 디바이스의 반환값과 다른 디바이스의 반환값으로부터 컴퓨팅 단말의 상태를 추정함으로써, 대상 디바이스의 반환값만으로 컴퓨팅 단말을 추정하는 경우보다 오차가 적어질 수 있다. 따라서, 어플리케이션은 대상 디바이스의 반환값만을 이용하는 경우보다 오차가 적어진 반환값을 커널 레벨로부터 쉽게 획득할 수 있다.In addition, at the kernel level, by estimating the state of the computing terminal from the return value of the target device and the other device, the error may be smaller than that of estimating the computing terminal only by the return value of the target device. Therefore, the application can easily obtain the return value with less error than the case of using only the return value of the target device from the kernel level.

또한, 본 발명의 실시예에 따른 컴퓨팅 단말에서는 더미 디바이스 드라이버가 정상적으로 작동하지 않는 디바이스의 반환값을 추정하여 제공할 수 있다. 이에 따라 어플리케이션은 컴퓨팅 단말의 구체적인 하드웨어 정보를 모르거나 부품이 변경되더라도, 더미 디바이스를 통해 정상적으로 작동하지 않는 디바이스의 반환값을 획득하여 원래의 어플리케이션 동작들을 무리없이 수행할 수 있다.In addition, the computing terminal according to an embodiment of the present invention may estimate and provide a return value of a device in which the dummy device driver does not operate normally. Accordingly, even if the application does not know specific hardware information of the computing terminal or the parts are changed, the application may acquire the return value of a device that does not operate normally through the dummy device and perform the original application operations without difficulty.

나아가, 더미 디바이스 드라이버를 사용하는 경우, 본 발명의 실시예에 따른 컴퓨팅 단말은 실제 탑재되지 않은 디바이스의 반환값을 이용할 수 있기 때문에 하드웨어 탑재에 필요한 비용을 줄일 수 있다. Furthermore, when the dummy device driver is used, the computing terminal according to the embodiment of the present invention can use the return value of the device that is not actually mounted, thereby reducing the cost required for hardware mounting.

또한, 기존의 디바이스들은 특정 버스 인터페이스(예컨대, I2C(Inter IC), SCI(Scalable Coherent Interface) 등)을 통해 프로세서와 통신하는 반면, 더비 디바이스 드라이버는 이러한 버스 인터페이스를 사용하지 않아도 된다. 따라서, 본 발명의 실시예에 따른 컴퓨팅 단말은 버스 인터페이스의 사용에 따라 발생하는 리소스 크기를 기존보다 줄일 수 있다.In addition, existing devices communicate with the processor via a particular bus interface (eg, Inter IC (I2C), Scalable Coherent Interface (SCI), etc.), while the Derby device driver does not have to use this bus interface. Therefore, the computing terminal according to the embodiment of the present invention can reduce the resource size generated by the use of the bus interface than conventional.

아울러, 센서 디바이스들의 경우, 센서의 특성상 각각의 바이어스 오류를 자체적으로 가질 수 있기 때문에, 센서 디바이스들은 서로 동일한 모델이더라도 다소 상이한 센서값을 반환할 수 있다. 그러나, 더미 디바이스 드라이버는 항상 일정하게 모델링된 반환값을 출력하기 때문에, 본 발명의 실시예에 따른 컴퓨팅 단말은 이러한 더미 디바이스를 통해 균일한 센서값을 보장할 수 있다.In addition, in the case of sensor devices, since each bias error may have its own characteristics due to the characteristics of the sensor, the sensor devices may return somewhat different sensor values even if they are the same model. However, since the dummy device driver always outputs a uniformly modeled return value, the computing terminal according to the embodiment of the present invention can guarantee a uniform sensor value through the dummy device.

도 1은 종래의 컴퓨팅 단말에서 디바이스들의 반환값을 획득하는 일례를 보여주는 도면.
도 2는 제1 실시예에 따른 컴퓨팅 단말의 구성을 보여주는 도면.
도 3은 본 발명의 제2 실시예에 따른 컴퓨팅 단말의 구성을 보여주는 도면.
도 4는 본 발명의 제3 실시예에 따른 컴퓨팅 단말의 구성을 보여주는 도면.
도 5 및 6은 도 4에 도시된 드라이버 관리 모듈에서 적용될 수 있는 변환 방식의 예시를 보여주는 도면.
도 7은 본 발명의 제4 실시예에 따른 컴퓨팅 단말의 구성을 보여주는 도면.
1 illustrates an example of obtaining return values of devices in a conventional computing terminal.
2 illustrates a configuration of a computing terminal according to the first embodiment.
3 illustrates a configuration of a computing terminal according to a second embodiment of the present invention.
4 is a diagram illustrating a configuration of a computing terminal according to a third embodiment of the present invention.
5 and 6 show examples of conversion schemes that can be applied in the driver management module shown in FIG.
7 illustrates a configuration of a computing terminal according to a fourth embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예에 의하면, 복수의 디바이스들을 구비하여 어플리케이션을 수행하는 컴퓨팅 단말은 커널 레벨상에서, 어플리케이션이 요청한 대상 디바이스의 반환값을 상기 대상 디바이스와 연관된 다른 디바이스의 반환값과 내부적으로 융합하고, 상기 융합된 값(이하, '융합 반환값'이라 칭함)을 상기 어플리케이션에게 제공한다.According to an embodiment of the present invention, a computing terminal including a plurality of devices to perform an application internally fuses a return value of a target device requested by an application with a return value of another device associated with the target device on a kernel level. The fused value (hereinafter referred to as a fusion return value) is provided to the application.

이를 위하여, 컴퓨팅 단말은 제1 실시예에서, 복수의 디바이스들과, 상기 복수의 디바이스들 각각의 반환값을 상기 어플리케이션에게 제공시 상기 복수의 디바이스들 간의 상호 작용에 따라 대상 디바이스 및 상기 대상 디바이스와 연관된 다른 디바이스의 반환값을 기초로 상기 융합 반환값을 생성하는 적어도 하나의 디바이스 드라이버를 구비한다.To this end, in the first embodiment, the computing terminal, according to the interaction between the plurality of devices and the plurality of devices when providing a return value of each of the plurality of devices to the application with the target device and the target device; At least one device driver for generating the fusion return value based on a return value of another associated device.

제2 및 제3 실시예에서, 상기 컴퓨팅 단말은 어플리케이션을 실행하는 단말로서, 복수의 디바이스들과, 상기 복수의 디바이스들 각각의 반환값을 획득하는 복수의 디바이스 드라이버들을 구비하고, 상기 복수의 디바이스 드라이버들을 관리하며 상기 복수의 디바이스들의 반환값들을 기초로 상기 융합 반환값을 생성하는 별도의 드라이버 관리 모듈을 더 구비한다.
In the second and third embodiments, the computing terminal is a terminal that executes an application, the computing terminal having a plurality of devices and a plurality of device drivers for obtaining a return value of each of the plurality of devices, wherein the plurality of devices And a separate driver management module for managing drivers and generating the fusion return value based on the return values of the plurality of devices.

도 2는 제1 실시예에 따른 컴퓨팅 단말의 구성을 보여주는 도면이다. 2 is a diagram illustrating a configuration of a computing terminal according to the first embodiment.

도 2를 참조하면, 컴퓨팅 단말(200)은 어플리케이션(210), 복수의 디바이스 드라이버들(220 내지 222) 및 복수의 디바이스들(230 내지 233)을 포함한다.2, the computing terminal 200 includes an application 210, a plurality of device drivers 220 to 222, and a plurality of devices 230 to 233.

어플리케이션(210)은 유저 레벨에서 수행되며, 다양한 하드웨어들과 연동하는 소프트웨어 모듈이다. 어플리케이션(210)은 기 탑재된 소프트웨어의 기능을 수행하면서, 상기 복수의 디바이스 드라이버들(220 내지 222)에게 상기 기능에 필요한 디바이스들의 반환값을 요청한다.The application 210 is a software module that is executed at the user level and works with various hardware. The application 210 performs a function of preloaded software and requests the plurality of device drivers 220 to 222 to return values of devices required for the function.

예컨대, 어플리케이션(210)은 다수의 센서를 활용하는 게임 어플리케이션 등이 될 수 있다. 특히, 게임 어플리케이션의 경우, 게임 기능을 수행하면서, 가속도나 중력 등과 같이 게임 기능에 필요한 센서 디바이스들의 센싱 정보를 상기 복수의 디바이스 드라이버들(220 내지 222)에 요청하여 제공받는다.For example, the application 210 may be a game application utilizing a plurality of sensors. In particular, in the case of a game application, while performing a game function, the sensing information of sensor devices required for the game function, such as acceleration or gravity, is requested and provided to the plurality of device drivers 220 to 222.

복수의 디바이스 드라이버들(220 내지 222)은 상기 복수의 디바이스들(230 내지 233) 각각을 제어하고, 복수의 디바이스들(230 내지 233)은 상기 제어에 대응하여, 센싱 정보와 같은 출력 데이터를 각각의 디바이스 드라이버들(220 내지 222)에게 반환한다. 즉, 하나의 디바이스 드라이버는 하나의 디바이스에 대한 제어를 담당하고, 하나의 디바이스는 자신에게 대응하는 디바이스 드라이버의 제어에 대응에 따라 생성되는 출력 데이터를 상기 디바이스의 반환값으로서 출력한다.The plurality of device drivers 220 to 222 control each of the plurality of devices 230 to 233, and the plurality of devices 230 to 233 respectively output output data such as sensing information in response to the control. Return to the device drivers 220 to 222 of the. That is, one device driver is in control of one device, and one device outputs output data generated according to the control of the device driver corresponding to the device as a return value of the device.

이러한 디바이스 드라이버들(220 내지 222)은 어플리케이션 개발자의 편의를 돕기 위한 개념으로 연동 가능한 디바이스들의 제어 기능이 디바이스 레벨에서 구현되어 있고, 모듈화될 수 있다. 컴퓨팅 단말은 하나의 디바이스 및 그 디바이스를 제어하는 디바이스 드라이버를 추가함으로써, 디바이스 확장성을 높일 수 있다.These device drivers 220 to 222 have a concept of helping an application developer to implement a control function of interoperable devices at the device level and may be modularized. The computing terminal can increase device scalability by adding one device and a device driver to control the device.

복수의 디바이스 드라이버들(220 내지 222) 중 하나는 디바이스 정의부를 구비하여, 커널 레벨에서 상기 복수의 디바이스들 중 하나의 대상 디바이스 및 다른 디바이스 사이의 상호 작용을 나타내는 데이터를 정의할 수 있다.One of the plurality of device drivers 220 to 222 may include a device definition unit to define data representing interaction between one target device of the plurality of devices and another device at a kernel level.

즉, 상기 복수의 디바이스 드라이버들(220 내지 222) 중 하나의 대상 디바이스 드라이버(예컨대, 제1 디바이스 드라이버)는 하나의 대상 디바이스(예컨대, 제1 디바이스)의 제어를 담당하며, 상기 대상 디바이스와, 특정한 다른 디바이스(예컨대, 제2 디바이스)가 상호 작용한다는 정보를 커널 레벨에서 미리 정의한다.That is, one target device driver (eg, the first device driver) of the plurality of device drivers 220 to 222 is in charge of controlling one target device (eg, the first device), and the target device; Predefine information at the kernel level that certain other devices (eg, the second device) interact.

또한, 상기 대상 디바이스 드라이버는 어플리케이션(210)으로부터 상기 대상 디바이스의 반환값에 대한 요청을 수신함에 대응하여, 상기 커널 레벨에서 정의된 상기 상호 작용을 기초로 상기 대상 디바이스 및 상기 대상 디바이스와 연관된 다른 디바이스의 반환값들을 식별한다. 그리고, 상기 대상 디바이스 드라이버는 상기 식별된 반환값들을 기초로 융합 반환값을 생성하고, 상기 생성된 융합 반환값을 어플리케이션(210)에게 제공한다.In addition, the target device driver, in response to receiving a request for a return value of the target device from an application 210, based on the interaction defined at the kernel level, the target device and other devices associated with the target device. Identifies the return values of. The target device driver generates a fusion return value based on the identified return values, and provides the generated fusion return value to the application 210.

이를 위하여, 상기 대상 디바이스 드라이버는 융합 처리부 및 반환 처리부를 포함할 수 있다.To this end, the target device driver may include a fusion processor and a return processor.

즉, 어플리케이션(210)이 A1 단계에서 제1 디바이스 드라이버에게 제1 디바이스의 반환값을 요청한다면, 융합 처리부는 상기 정의된 상호 작용에 대한 정보를 참조하여, 제1 디바이스와 관련된 다른 디바이스가 제2 디바이스임을 인지한다. 융합 처리부는 A2 단계에서, 상기 제1 디바이스의 반환값을 식별하고, A3 단계에서, 상기 제2 디바이스의 반환값을 식별한 후, 상기 A2 및 A3 단계에서 식별된 반환값들을 기초로 하나의 융합 반환값을 생성한다. 그리고, 반환 처리부는 A4 단계에서 상기 융합 반환값을 어플리케이션(210)에게 제공한다.That is, if the application 210 requests the return value of the first device from the first device driver in step A1, the fusion processing unit may refer to the information on the interaction defined above, so that another device related to the first device may be connected to the second device. Recognize that it is a device. In step A2, the fusion processing unit identifies a return value of the first device, in step A3, identifies a return value of the second device, and then merges one fusion based on the return values identified in steps A2 and A3. Generate a return value. In operation A4, the return processor provides the fusion return value to the application 210.

이때, 상기 융합 반환값이 상기 제1 디바이스 드라이버(220)의 반환 처리부에서 어플리케이션(210)으로 제공되는 과정은 반환 처리부가 상기 융합 반환값을 특정 변수에 저장한 후, 유저 레벨상의 어플리케이션(210)이 상기 변수를 참조함으로써, 이루어질 수 있다.In this case, the process of providing the fusion return value to the application 210 in the return processing unit of the first device driver 220 may include a return processing unit storing the fusion return value in a specific variable, and then executing the application 210 on a user level. By referencing this variable, this can be done.

결과적으로, 상기 제1 디바이스 드라이버가 상기 A2 내지 A4 단계의 동작들을 디바이스 레벨에서 모두 수행함으로써, 어플리케이션(210)은 상기 A1 단계에서 유저 레벨상의 한 번의 반환값 요청으로, 대상 디바이스의 반환값 및 다른 디바이스의 반환값이 내부에서 융합된 값을 획득할 수 있다.
As a result, the first device driver performs all of the operations in steps A2 to A4 at the device level, so that the application 210 requests a return value on the user level in step A1, so that the return value of the target device and the other device are different. The return value of the device may obtain a value fused internally.

도 3은 본 발명의 제2 실시예에 따른 컴퓨팅 단말의 구성을 보여주는 도면이다.3 is a diagram illustrating a configuration of a computing terminal according to a second embodiment of the present invention.

도 3을 참조하면, 컴퓨팅 단말(300)은 어플리케이션(310), 복수의 디바이스 드라이버들(320 내지 322) 및 복수의 디바이스들(330 내지 333)를 포함하고, 별도의 드라이버 관리 모듈(340)를 더 구비한다.Referring to FIG. 3, the computing terminal 300 includes an application 310, a plurality of device drivers 320 to 322, and a plurality of devices 330 to 333, and includes a separate driver management module 340. It is further provided.

여기서, 어플리케이션(310) 및 복수의 디바이스들(330 내지 333)은 앞서 설명된 도 2의 컴퓨팅 단말(200)에 구비된 대응하는 구성들(210, 230 내지 233)과 동일하다. Here, the application 310 and the plurality of devices 330 to 333 are the same as the corresponding configurations 210, 230 to 233 included in the computing terminal 200 of FIG. 2 described above.

다만, 복수의 디바이스 드라이버들(320 내지 322)은 도 2의 디바이스 드라이버들(220 내지 222)과는 달리, 디바이스들(330 내지 333) 각각의 제어 및 반환값 획득의 일반적인 디바이스 드라이버 기능을 수행한다. However, unlike the device drivers 220 to 222 of FIG. 2, the plurality of device drivers 320 to 322 perform general device driver functions of controlling and obtaining a return value of each of the devices 330 to 333. .

드라이버 관리 모듈(340)은 어플리케이션(310)이 대상 디바이스에 대한 반환값을 요청함에 대응하여, 상기 대상 디바이스의 반환값과 상기 대상 디바이스와 관련된 다른 디바이스의 반환값을 내부적으로 융합 처리하여 어플리케이션에게 제공한다.In response to the application 310 requesting a return value for the target device, the driver management module 340 internally fuses the return value of the target device with the return value of another device related to the target device and provides the same to the application. do.

자세히 말해서, 드라이버 관리 모듈(340)은 디바이스 정의부(341), 요청 판단부(342), 필터링부(343) 및 변환 출력부(344)를 포함할 수 있다.In detail, the driver management module 340 may include a device definer 341, a request determiner 342, a filter 343, and a transform output unit 344.

디바이스 정의부(341)는 커널 레벨에서 상기 복수의 디바이스들 중 하나의 대상 디바이스 및 다른 디바이스 사이의 상호 작용을 나타내는 데이터를 정의한다. The device definition unit 341 defines data representing interaction between one target device and another device of the plurality of devices at the kernel level.

요청 판단부(342)는 어플리케이션(310)으로부터 상기 대상 디바이스의 반환값에 대한 요청이 수신한다.The request determiner 342 receives a request for a return value of the target device from the application 310.

필터링부(343)는 상기 커널 레벨에서 정의된 상기 상호 작용을 고려하여, 상기 대상 디바이스 및 상기 대상 디바이스와 연관된 다른 디바이스의 반환값을 획득하고, 상기 획득된 반환값들을 필터링하여 하나의 융합 반환값을 생성한다.The filtering unit 343 obtains a return value of the target device and another device associated with the target device in consideration of the interaction defined at the kernel level, and filters the obtained return values to obtain one fusion return value. Create

변환 출력부(344)는 상기 생성된 융합 반환값을 변환하여 어플리케이션(310)에게 제공한다.The transformation output unit 344 converts the generated fusion return value and provides it to the application 310.

이때, 어플리케이션(310)은 디바이스 드라이버(예컨대, 제1 디바이스 드라이버)에게 상기 대상 디바이스의 반환값을 요청하거나 또는 드라이버 관리 모듈(340)에게 상기 대상 디바이스의 반환값을 요청하는 것으로 구현될 수 있다. 따라서, 드라이버 관리 모듈(340)의 요청 판단부(342)는 어플리케이션(310)에서 디바이스 드라이버로 송신된 요청을 인지하거나 또는 어플리케이션(310)으로부터의 요청을 직접 인지하는 것으로 구현될 수 있다. 전자의 경우 상기 도 3의 제2 실시예로서 설명하고, 후자의 경우 도 4의 제3 실시예로서 설명하도록 한다.
In this case, the application 310 may be implemented by requesting a return value of the target device from a device driver (eg, a first device driver) or by requesting a return value of the target device from the driver management module 340. Accordingly, the request determiner 342 of the driver management module 340 may be implemented by recognizing a request transmitted from the application 310 to the device driver or directly recognizing a request from the application 310. The former case will be described as the second embodiment of FIG. 3, and the latter case will be described as the third embodiment of FIG. 4.

제2 실시예에서, 어플리케이션(310)은 상기 대상 디바이스에 대응하는 대상디바이스 드라이버에게 상기 대상 디바이스의 반환값을 요청하고, 상기 요청에 관련된 인터럽트를 발생시킬 수 있다. In a second embodiment, the application 310 may request a return value of the target device from the target device driver corresponding to the target device, and generate an interrupt related to the request.

드라이버 관리 모듈(340)의 요청 판단부(340)는 상기 발생된 인터럽트를 인지하고, 상기 인지에 대응하여, 상기 융합 반환값의 생성 및 제공을 수행할 수 있다. 이로써, 드라이버 관리 모듈(340)은 어플리케이션(310)이 상기 대상 디바이스 드라이버에게 요청한 것을 가로채고, 상기 대상 디바이스 드라이버 대신에 상기 융합 반환값을 어플리케이션(310)에게 제공할 수 있다.The request determiner 340 of the driver management module 340 may recognize the generated interrupt and, in response to the recognition, generate and provide the fusion return value. As such, the driver management module 340 may intercept that the application 310 requests the target device driver, and provide the converged return value to the application 310 instead of the target device driver.

자세히 말하자면, 어플리케이션(310)은 B1 단계에서, 제1 디바이스의 반환값을 제1 디바이스 드라이버에게 요청하고, 상기 요청에 관련된 인터럽트를 발생시킨다. 이때, 상기 B1 단계는 어플리케이션(310)에 의해 유저 레벨상에서 이루어진다.In detail, the application 310 requests a return value of the first device to the first device driver in step B1 and generates an interrupt related to the request. At this time, the step B1 is performed on the user level by the application 310.

드라이버 관리 모듈(340)은 B2 단계에서, 상기 발생된 인터럽트를 인지하고, 상기 정의된 상호 작용에 대한 정보를 참조하여, 제1 디바이스와 관련된 다른 디바이스가 제2 디바이스임을 인지한다.The driver management module 340 recognizes the generated interrupt in step B2, and recognizes that the other device related to the first device is the second device by referring to the information on the defined interaction.

드라이버 관리 모듈(340)은 B3 단계에서, 제1 디바이스 드라이버와 연동하여 제1 디바이스의 반환값을 획득하고, B4 단계에서, 제2 디바이스 드라이버와 연동하여 제2 디바이스의 반환값을 획득한다.The driver management module 340 acquires a return value of the first device in cooperation with the first device driver in step B3, and obtains a return value of the second device in cooperation with the second device driver in step B4.

드라이버 관리 모듈(340)은 상기 B3 및 B4 단계에서 획득된 반환값들을 기초로 상기 제1 디바이스에 대한 융합 반환값을 생성하고, B5 단계에서, 상기 생성된 융합 반환값을 어플리케이션(310)에게 제공한다.The driver management module 340 generates a fusion return value for the first device based on the return values obtained in the B3 and B4 steps, and provides the generated fusion return value to the application 310 in the B5 step. do.

이에 따라 드라이버 관리 모듈(340)은 상기 제1 디바이스 드라이버를 대신하여, 제1 디바이스에 대한 상기 융합 반환값을 어플리케이션(310)에게 제공할 수 있다. 이 경우, 어플리케이션(310)은 종래와 마찬가지로 디바이스 드라이버에게 대상 디바이스의 반환값을 요청하면 되므로, 본 발명의 제2 실시예를 위한 어플리케이션 수정이 최소화될 수 있다.
Accordingly, the driver management module 340 may provide the application 310 with the fusion return value for the first device in place of the first device driver. In this case, since the application 310 needs to request a return value of the target device from the device driver as in the related art, application modification for the second embodiment of the present invention can be minimized.

한편, 어플리케이션(310)은 제3 실시예에서, 드라이버 관리 모듈(340)에게 상기 대상 디바이스의 반환값을 요청한다. 상기 제3 실시예는 도 4를 통해 설명될 수 있다.Meanwhile, in the third embodiment, the application 310 requests the driver management module 340 to return a value of the target device. The third embodiment may be described with reference to FIG. 4.

도 4를 참조하면, 어플리케이션(410)은 디바이스 드라이버들(420 내지 422)과 직접 연동하는 대신, 드라이버 관리 모듈(440)과 연동하고, 드라이버 관리 모듈(440)을 통해 대상 디바이스에 대한 융합 반환값을 획득한다.Referring to FIG. 4, the application 410 interacts with the driver management module 440 instead of directly interworking with the device drivers 420 through 422, and returns a convergence value for the target device through the driver management module 440. Acquire.

즉, 어플리케이션(410)은 특정한 대상 디바이스의 반환값이 필요한 경우, C1단계에서, 드라이버 관리 모듈(440)에게 상기 대상 디바이스의 반환값을 요청한다.That is, when the application 410 needs a return value of a specific target device, in step C1, the application 410 requests the driver management module 440 to return the target device.

드라이버 관리 모듈(440)은 상기 요청에 대응하여, C2, C3 및 C4 단계를 통해 상기 대상 디바이스 및 상기 대상 디바이스와 관련된 다른 디바이스의 반환값들을 획득할 수 있다.The driver management module 440 may obtain return values of the target device and other devices related to the target device through steps C2, C3, and C4 in response to the request.

드라이버 관리 모듈(440)은 칼만 필터링을 이용하여 상기 획득된 반환값들으로부터 상기 컴퓨팅 단말의 상태를 나타내는 정보를 추정하고, 상기 추정된 정보를 기초로 상기 융합 반환값을 생성하고, 상기 생성된 융합 반환값을 어플리케이션(410)에게 제공할 수 있다.The driver management module 440 estimates information representing the state of the computing terminal from the obtained return values using Kalman filtering, generates the fusion return value based on the estimated information, and generates the fusion. The return value may be provided to the application 410.

여기서, 상기 대상 디바이스는 제1 디바이스, 제2 디바이스 및 제3 디바이스 중 하나가 될 수 있으며, 상기 대상 디바이스의 반환값의 포맷은 각각의 디바이스의 출력 포맷에 따라 달라질 수 있다. 따라서, 드라이버 관리 모듈(440)은 어플리케이션(410)에게 상기 융합 반환값을 각각의 디바이스의 출력 포맷에 맞는 형식으로 변환하여 제공할 수 있다. The target device may be one of a first device, a second device, and a third device, and a format of a return value of the target device may vary according to an output format of each device. Accordingly, the driver management module 440 may convert the fusion return value into a format suitable for the output format of each device and provide it to the application 410.

이를 위하여, 드라이버 관리 모듈(440)은 필터링부(441) 및 변환 출력부(442)를 포함할 수 있다.To this end, the driver management module 440 may include a filtering unit 441 and a conversion output unit 442.

필터링부(441)는 상기 대상 디바이스 및 상기 대상 디바이스와 연관된 다른 디바이스로부터 획득되는 반환값들을 칼만 필터에 적용하여, 상기 컴퓨팅 단말의 상태를 나타내는 정보를 추정할 수 있다. 상기 추정된 정보는 상기 컴퓨팅 단말의 위치, 각도, 온도 등과 같이 상태에 관련된 정보가 될 수 있다. The filtering unit 441 may estimate information indicating the state of the computing terminal by applying return values obtained from the target device and other devices associated with the target device to the Kalman filter. The estimated information may be information related to a state such as the location, angle, temperature, etc. of the computing terminal.

변환 출력부(442)는 필터링부(441)에 의해 추정된 정보를 어플리케이션(410)이 요청한 디바이스의 출력 포맷의 융합 반환값으로 변환하고, 상기 융합 반환값을 어플리케이션(410)에게 제공할 수 있다. 즉, 어플리케이션(410)이 C1에서 제1 디바이스의 반환값을 요청하였다면, 변환 출력부(442)는 C5와 같이 상기 융합 반환값을 제1 디바이스의 출력 포맷(예컨대, 가속도 센서의 출력 포맷(Fx, Fy, Fz))과 동일한 포맷으로 전달하고, 어플리케이션(410)이 C1에서 제2 디바이스 또는 제3 디바이스의 반환값을 요청하였다면, 변환 출력부(442)는 C6 또는 C7과 같이 상기 융합 반환값을 제2 디바이스의 출력 포맷(예컨대, 지자기 센서의 출력 포맷(M)) 또는 제3 디바이스의 출력 포맷(예컨대, 자이로 센서의 출력 포맷(Wx, Wy, Wz))으로 변환하여 전달할 수 있다.The transformation output unit 442 may convert the information estimated by the filtering unit 441 into a fusion return value of the output format of the device requested by the application 410, and provide the fusion return value to the application 410. . That is, when the application 410 requests the return value of the first device at C1, the conversion output unit 442 converts the fusion return value to the output format of the first device (eg, the output format Fx of the acceleration sensor) as in C5. , Fy, Fz)), and if the application 410 requests the return value of the second device or the third device at C1, the transform output unit 442 may convert the fusion return value as C6 or C7. May be converted into an output format of the second device (eg, the output format M of the geomagnetic sensor) or an output format of the third device (eg, the output formats Wx, Wy, and Wz of the gyro sensor).

한편, 필터링부(441)의 동작은 어플리케이션(410)의 요청에 응답하여 실시간으로 실행될 수도 있지만, 미리 설정된 규칙에 따라 주기적으로 실행될 수도 있다.Meanwhile, the operation of the filtering unit 441 may be executed in real time in response to a request of the application 410, but may be periodically executed according to a preset rule.

즉, 필터링부(441)는 상기 복수의 디바이스들 모두 또는 일부의 반환값들을 주기적으로 획득하여, 상기 상기 컴퓨팅 단말의 상태를 나타내는 정보를 추정할 수 있다. That is, the filtering unit 441 may periodically obtain return values of all or some of the plurality of devices to estimate information indicating the state of the computing terminal.

변환 출력부(442)는 어플리케이션(410)의 요청에 대응하여, 상기 추정된 정보를 참조하고, 상기 추정된 정보에 대응하여 어플리케이션(410)이 요청한 디바이스의 포맷의 융합 반환값을 어플리케이션(410)에게 제공할 수 있다.The conversion output unit 442 refers to the estimated information in response to the request of the application 410, and in response to the estimated information, the application 410 returns a fusion return value of the format of the device requested by the application 410. Can be provided to

나아가, 드라이버 관리 모듈(440)은 커널 레벨에서 상기 복수의 디바이스들 사이의 상호 작용을 직접 정의할 수도 있지만, 컴퓨팅 단말(100)이 상기 정의를 위한 디바이스 정의부(450)를 별도로 구비할 수도 있다.Furthermore, the driver management module 440 may directly define interactions between the plurality of devices at the kernel level, but the computing terminal 100 may include a device defining unit 450 for the definition. .

이 경우, 디바이스 정의부(450)는 상기 복수의 디바이스들 사이의 상호 작용을 정의하고, 드라이버 관리 모듈(440)은 디바이스 정의부(450)에 의해 정의된 정보를 참조하여, 복수의 디바이스들 중에서 상기 대상 디바이스와 연관된 다른 디바이스들이 어느 것인지를 식별할 수 있을 것이다.
In this case, the device defining unit 450 defines an interaction between the plurality of devices, and the driver management module 440 refers to the information defined by the device defining unit 450, and among the plurality of devices. It may be able to identify which other devices associated with the target device.

도 5 및 6은 도 4에 도시된 드라이버 관리 모듈에서 적용될 수 있는 변환 방식의 예시를 보여주는 도면이다.5 and 6 illustrate examples of a conversion scheme that may be applied to the driver management module illustrated in FIG. 4.

도 5를 참조하면, 상기 드라이버 관리 모듈은 자이로(gyros) 센서 디바이스(510), 기울기 및 지자기(Inclinometers & Compass) 센서 디바이스(520)의 반환값들을 이용하며, 상기 디바이스들 각각의 디바이스 드라이버들은 도면에서 생략하도록 한다.Referring to FIG. 5, the driver management module uses return values of a gyros sensor device 510, an inclinometers & compass sensor device 520, and the device drivers of each of the devices are shown in FIG. Omit from.

필터링부(530)은 자이로 센서 디바이스의 반환값(

Figure 112011047159338-pat00001
)을 획득하여, 자이로 센서 보상기(Gyro Error Compensation)(531)에 통과시켜서 자이로 센서 반환값의 바이어스(bias) 오차를 줄인다. The filtering unit 530 is a return value of the gyro sensor device (
Figure 112011047159338-pat00001
) And pass through a Gyro Error Compensation 531 to reduce the bias error of the gyro sensor return value.

필터링부(530)는 칼만 필터(Kalman Filter)(532)에 상기 오차가 줄어진 자이로 센서 반환값(

Figure 112011047159338-pat00002
)과, 기울기 및 지자기 센서 디바이스(520)의 반환값(
Figure 112011047159338-pat00003
)을 통과시켜, 상기 컴퓨팅 단말의 상태에 관련된 정보 중 하나인 각도 정보(
Figure 112011047159338-pat00004
)를 추정한다. 이때, 필터링부(530)는 상기 반환값(
Figure 112011047159338-pat00005
)도 미리 필터링하여 오차를 줄일 수 있다.The filtering unit 530 returns a gyro sensor return value having the error reduced to a Kalman filter 532.
Figure 112011047159338-pat00002
) And the return value of the tilt and geomagnetic sensor device 520 (
Figure 112011047159338-pat00003
), The angle information (one of the information related to the state of the computing terminal)
Figure 112011047159338-pat00004
). At this time, the filtering unit 530 is the return value (
Figure 112011047159338-pat00005
) Can also be filtered in advance to reduce errors.

필터링부(530)는 상기 추정된 각도 정보를 변환 출력부(540)에게 전달한다.The filtering unit 530 transfers the estimated angle information to the transform output unit 540.

변환 출력부(540)는 상기 어플리케이션이 어느 디바이스의 반환값을 요청하였는 지에 따라, 상기 각도 정보(

Figure 112011047159338-pat00006
)를 다르게 변환하여 상기 어플리케이션에게 제공할 수 있다.The conversion output unit 540 determines the angle information (depending on which device the application requested a return value of).
Figure 112011047159338-pat00006
) Can be converted differently and provided to the application.

예컨대, 변환 출력부(540)는 상기 어플리케이션이 가속도 센서에 대한 반환값을 요청한 경우라면, 상기 각도 정보(

Figure 112011047159338-pat00007
)를 가속도 센서의 반환값(Fx, Fy, Fz)으로 변환하여 상기 어플리케이션에게 제공할 수 있다. 또한, 상기 어플리케이션이 자이로 센서에 대한 반환값을 요청한 경우라면, 상기 각도 정보(
Figure 112011047159338-pat00008
)를 미분하여 상기 어플리케이션에게 제공할 수 있다. 여기서, 적분오차의 누적에 의해 오차가 발생할 수 있으므로, 상기 드라이버 관리 모듈은 반환값(
Figure 112011047159338-pat00009
)을 일정 주기마다 업데이트하여 누적되는 오차를 줄일 수 있다.For example, if the conversion output unit 540 requests the return value for the acceleration sensor, the angle information (
Figure 112011047159338-pat00007
) May be converted into return values (Fx, Fy, Fz) of the acceleration sensor and provided to the application. In addition, if the application requests a return value for the gyro sensor, the angle information (
Figure 112011047159338-pat00008
) Can be differentiated and provided to the application. Here, since an error may occur due to accumulation of an integration error, the driver management module returns a return value (
Figure 112011047159338-pat00009
) Can be updated at regular intervals to reduce the accumulated error.

도 6은 도 4에 도시된 드라이버 관리 모듈에서 적용될 수 있는 변환 방식의 다른 예시를 보여주는 도면으로, 도 5에 비해 보다 정밀한 오차 보정이 가능한 경우이다.FIG. 6 is a diagram illustrating another example of a conversion method that may be applied to the driver management module illustrated in FIG. 4, and may be more precise than error correction.

도 6을 참조하면, 필터링부(630)는 자이로 에러 보상기(Gyro Error Compensation)(631)를 이용하여 자이로 센서 디바이스(610)의 반환값(

Figure 112011047159338-pat00010
)의 오차를 줄이고, 자세 계산기(Attitude Computation)(632)를 이용하여 컴퓨팅 단말의 각도 정보(
Figure 112011047159338-pat00011
)를 추정할 수 있다.Referring to FIG. 6, the filtering unit 630 may return a return value of the gyro sensor device 610 using a gyro error compensation 631.
Figure 112011047159338-pat00010
), The angle information of the computing terminal (Attitude Computation) (632)
Figure 112011047159338-pat00011
) Can be estimated.

필터링부(630)는 칼만 필터 에러 추정기(Kalman Filter Error Estimator)(633)를 이용하여 기울기 및 지자기 센서 디바이스(520)의 반환값(

Figure 112011047159338-pat00012
)의 오차를 줄이고, 그 결과를 자이로 에러 보상기(631) 및 자세 계산기(632)에 각각 입력한다. 자이로 에러 보상기(631) 및 자세 계산기(632)는 칼만 필터 에러 추정기(633)로부터 입력된 값들을 기초로, 자신의 출력값의 미세한 오차를 줄일 수 있다.The filtering unit 630 may use the Kalman Filter Error Estimator 633 to return the gradient and return values of the geomagnetic sensor device 520.
Figure 112011047159338-pat00012
), And input the result into the gyro error compensator 631 and the attitude calculator 632, respectively. The gyro error compensator 631 and the attitude calculator 632 may reduce the fine error of its output value based on the values input from the Kalman filter error estimator 633.

필터링부(630)는 자세 계산기(631)에 의해 최종 출력된 결과인 각도 정보(

Figure 112011047159338-pat00013
)를 변환 출력부(640)에 전달하고, 변환 출력부(640)는 상기 어플리케이션이 어느 디바이스의 반환값을 요청하였는 지에 따라, 상기 각도 정보(
Figure 112011047159338-pat00014
)를 다르게 변환하여 상기 어플리케이션에게 제공할 수 있다.
Filtering unit 630 is the angle information (the final output result of the attitude calculator 631)
Figure 112011047159338-pat00013
) Is transmitted to the transformation output unit 640, and the transformation output unit 640 may determine the angle information () according to which device the application has requested a return value.
Figure 112011047159338-pat00014
) Can be converted differently and provided to the application.

한편, 본 발명의 실시예에 따른 컴퓨팅 장치는 커널 레벨에서, 복수의 디바이스들의 반환값을 융합처리하여 어플리케이션의 유저 레벨로 전달할 수 있음에 따라, 상기 컴퓨팅 단말에서 정상적으로 작동하지 않는 디바이스의 반환값을 추정하고 그 추정된 반환값을 어플리케이션에게 제공하는 것으로 구현될 수도 있다.On the other hand, the computing device according to an embodiment of the present invention can converge the return values of a plurality of devices to the user level of the application at the kernel level, and thus, return the return value of the device that does not operate normally in the computing terminal It may be implemented by estimating and providing the estimated return value to the application.

여기서, 정상적으로 작동하지 않는 디바이스는 상기 컴퓨팅 단말에서 오작동하거나 또는 구비되지 않은 디바이스가 해당될 수 있다. 이 경우, 디바이스 드라이버 또는 드라이버 관리 모듈은 상기 정상적으로 작동하지 않는 디바이스의 반환값을 직접적으로 획득하지 못할 것이다.Here, the device that does not operate normally may correspond to a device malfunctioning or not provided in the computing terminal. In this case, the device driver or the driver management module may not directly obtain a return value of the device that does not operate normally.

예를 들어, 개발자가 컴퓨팅 단말의 하드웨어적인 구조를 변경하거나, 컴퓨팅 단말에 다른 어플리케이션을 탑재하면, 어플리케이션은 변경된 구조나 또는 탑재된 컴퓨팅 단말의 구조를 모를 수 있기 때문에, 정상적으로 작동하지 않는 디바이스에 대한 반환값을 요청하게 될 수 있다.For example, if a developer changes the hardware structure of the computing terminal or mounts another application on the computing terminal, the application may not know the changed structure or the structure of the mounted computing terminal, so that the device may not be able to operate normally. You may be asked for a return value.

이를 위한 실시예로서, 도 7은 본 발명의 제4 실시예에 따른 컴퓨팅 단말의 구성을 설명한다.As an embodiment for this purpose, FIG. 7 illustrates a configuration of a computing terminal according to a fourth embodiment of the present invention.

도 7을 참조하면, 컴퓨팅 단말(700)은 정상적으로 작동하지 않는 디바이스에 대응하는 디바이스 드라이버를 더미 디바이스 드라이버(720)로서 구비한다.Referring to FIG. 7, the computing terminal 700 includes a device driver corresponding to a device not normally operating as the dummy device driver 720.

더미 디바이스 드라이버(720)는 커널 레벨에서 정의된 상호 작용에 따라서, 상기 대상 디바이스와 연관된 다른 디바이스로부터 식별되는 반환값들을 기초로 상기 대상 디바이스의 반환값을 추정할 수 있다. The dummy device driver 720 may estimate the return value of the target device based on the return values identified from other devices associated with the target device according to the interaction defined at the kernel level.

이러한 반환값의 추정은 상기 대상 디바이스에 대하여 미리 저장된 샘플링 데이터에 의해 이루어질 수 있다. 이 경우, 컴퓨팅 단말(700)은 상기 대상 디바이스가 출력 가능한 반환값들이 상기 대상 디바이스와 연관된 다른 디바이스가 출력하는 반환값들과 서로 매핑된 샘플링 데이터(730)를 더 구비할 수 있다. Estimation of such a return value may be made by sampling data stored in advance for the target device. In this case, the computing terminal 700 may further include sampling data 730 in which return values output from the target device are mapped to return values output from another device associated with the target device.

그리고, 더미 디바이스 드라이버(720)는 어플리케이션(710)이 D1 단계에서 대상 디바이스의 반환값을 요청함에 응답하여, D2 단계에서 상기 대상 디바이스와 연관된 다른 디바이스(750)의 반환값을 상기 다른 디바이스 드라이버(740)로부터 획득할 수 있다. In response to the application 710 requesting a return value of the target device in step D1, the dummy device driver 720 may return a return value of another device 750 associated with the target device in step D2. 740.

더미 디바이스 드라이버(720)는 D3 단계에서, 샘플링 데이터(730)로부터 상기 대상 디바이스와 연관된 다른 디바이스(750)의 반환값에 대응하는 샘플링 데이터를 독출할 수 있다. 더미 디바이스 드라이버(720)는 D4 단계에서, 상기 독출된 샘플링 데이터를 상기 대상 디바이스의 반환값으로서 상기 어플리케이션에게 제공할 수 있다.In operation D3, the dummy device driver 720 may read sampling data corresponding to a return value of another device 750 associated with the target device from the sampling data 730. In operation D4, the dummy device driver 720 may provide the read sampling data to the application as a return value of the target device.

본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. The methods according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

Claims (14)

어플리케이션을 실행하는 컴퓨팅 단말에 있어서,
복수의 디바이스들;
상기 복수의 디바이스들 각각의 반환값을 획득하는 복수의 디바이스 드라이버; 및
상기 복수의 디바이스 드라이버를 관리하는 드라이버 관리 모듈
을 포함하고,
상기 드라이버 관리 모듈은
커널 레벨에서 상기 복수의 디바이스들 사이의 상호 작용을 정의하고,
상기 어플리케이션으로부터 상기 복수의 디바이스들 중 대상 디바이스의 반환값에 대한 요청을 수신함에 응답하여, 상기 커널 레벨에서 상기 상호 작용을 고려하여 상기 대상 디바이스 및 상기 대상 디바이스와 연관된 다른 디바이스의 반환값들을 식별하고, 상기 식별된 반환값들을 기초로 생성된 융합 반환값을 상기 어플리케이션에 제공하는
컴퓨팅 단말.
In the computing terminal running the application,
A plurality of devices;
A plurality of device drivers for obtaining return values of each of the plurality of devices; And
Driver management module for managing the plurality of device drivers
/ RTI >
The driver management module
Define interactions between the plurality of devices at the kernel level,
In response to receiving a request for a return value of a target device of the plurality of devices from the application, identifying return values of the target device and another device associated with the target device in consideration of the interaction at the kernel level; Providing the application with a fusion return value generated based on the identified return values.
Computing terminal.
제1항에 있어서,
상기 어플리케이션은
상기 복수의 디바이스 드라이버 중 상기 대상 디바이스에 대응하는 디바이스 드라이버에게 상기 대상 디바이스의 반환값을 요청한 후, 상기 요청에 관련된 인터럽트를 발생시키고,
상기 드라이버 관리 모듈은
상기 인터럽트를 인지함에 대응하여 상기 융합 반환값을 상기 어플리케이션에게 전송하는
컴퓨팅 단말.
The method of claim 1,
The application
After requesting a return value of the target device from a device driver corresponding to the target device among the plurality of device drivers, generating an interrupt related to the request,
The driver management module
Sending the fusion return value to the application in response to acknowledging the interrupt.
Computing terminal.
제1항에 있어서,
상기 드라이버 관리 모듈은
상기 융합 반환값의 생성시, 칼만 필터링을 이용하여 상기 대상 디바이스 및 상기 다른 디바이스로부터 획득되는 반환값으로부터 상기 컴퓨팅 단말의 상태를 나타내는 정보를 추정하고, 상기 추정된 정보를 기초로 상기 융합 반환값을 생성하는
컴퓨팅 단말.
The method of claim 1,
The driver management module
In generating the fusion return value, information indicating the state of the computing terminal is estimated from the return values obtained from the target device and the other device using Kalman filtering, and the fusion return value is calculated based on the estimated information. Generated
Computing terminal.
제3항에 있어서,
상기 드라이버 관리 모듈은
상기 생성된 융합 반환값을 상기 대상 디바이스의 출력 포맷으로 변환한 후 상기 변환된 융합 반환값을 상기 어플리케이션으로 출력하는
컴퓨팅 단말.
The method of claim 3,
The driver management module
Converting the generated fusion return value to an output format of the target device and outputting the converted fusion return value to the application
Computing terminal.
어플리케이션을 실행하는 컴퓨팅 단말에 있어서,
복수의 디바이스들; 및
상기 복수의 디바이스들 각각의 반환값을 획득하여 상기 어플리케이션에게 제공하는 복수의 디바이스 드라이버
를 포함하고,
상기 복수의 디바이스 드라이버는
커널 레벨에서 상기 복수의 디바이스들 중 제어 대상의 대상 디바이스 및 다른 디바이스 사이의 상호 작용을 정의하고,
상기 어플리케이션으로부터 상기 대상 디바이스의 반환값에 대한 요청을 수신함에 응답하여, 상기 커널 레벨에서 정의된 상기 상호 작용에 따라 상기 대상 디바이스 및 상기 대상 디바이스와 연관된 다른 디바이스의 반환값들을 식별하고, 상기 식별된 반환값들을 기초로 생성되는 융합 반환값을 상기 어플리케이션에게 제공하는
컴퓨팅 단말.
In the computing terminal running the application,
A plurality of devices; And
A plurality of device drivers to obtain a return value of each of the plurality of devices to provide to the application
Lt; / RTI >
The plurality of device drivers
Define an interaction between a target device to be controlled and another device among the plurality of devices at a kernel level,
In response to receiving a request for a return value of the target device from the application, identifying return values of the target device and another device associated with the target device according to the interaction defined at the kernel level, and identifying the identified Providing the application with a fusion return value generated based on the return values.
Computing terminal.
제5항에 있어서,
상기 대상 디바이스가 정상적으로 작동하지 않는 경우,
상기 복수의 디바이스 드라이버 중 상기 대상 디바이스에 대응하는 디바이스 드라이버는
상기 상호 작용에 따라 상기 대상 디바이스와 연관된 다른 디바이스로부터 식별된 반환값을 기초로 상기 대상 디바이스의 반환값을 추정하고, 상기 추정된 반환값을 상기 어플리케이션에게 제공하는
컴퓨팅 단말.
The method of claim 5,
If the target device does not operate normally,
Among the plurality of device drivers, a device driver corresponding to the target device may be
Estimating a return value of the target device based on a return value identified from another device associated with the target device according to the interaction, and providing the estimated return value to the application.
Computing terminal.
제6항에 있어서,
상기 대상 디바이스가 정상적으로 작동하지 않는 경우,
상기 대상 디바이스가 출력 가능한 반환값들이 상기 대상 디바이스와 연관된 다른 디바이스가 출력하는 반환값들과 서로 매핑된 샘플링 데이터를 더 포함하고,
상기 복수의 디바이스 드라이버 중 상기 대상 디바이스에 대응하는 디바이스 드라이버는
상기 요청에 응답하여, 상기 샘플링 데이터로부터 상기 다른 디바이스의 반환값에 대응하는 샘플링 데이터를 독출하고, 상기 독출된 샘플링 데이터를 상기 대상 디바이스의 반환값으로서 상기 어플리케이션에게 제공하는
컴퓨팅 단말.
The method according to claim 6,
If the target device does not operate normally,
The return values output by the target device may further include sampling data mapped to return values output by another device associated with the target device.
Among the plurality of device drivers, a device driver corresponding to the target device may be
In response to the request, reading sampling data corresponding to a return value of the other device from the sampling data, and providing the read sampling data to the application as a return value of the target device;
Computing terminal.
복수의 디바이스들; 상기 복수의 디바이스들 각각의 반환값을 획득하는 복수의 디바이스 드라이버; 및 상기 복수의 디바이스 드라이버를 관리하는 드라이버 관리 모듈을 포함하고, 어플리케이션을 실행하는 컴퓨팅 단말의 동작 방법에 있어서,
커널 레벨에서 상기 복수의 디바이스들 사이의 상호 작용을 정의하는 단계;
상기 어플리케이션으로부터 상기 복수의 디바이스들 중 대상 디바이스의 반환값에 대한 요청을 수신하는 단계;
상기 요청의 수신에 응답하여, 상기 커널 레벨에서 상기 상호 작용에 따라 상기 대상 디바이스 및 상기 대상 디바이스와 연관된 다른 디바이스의 반환값들을 식별하는 단계; 및
상기 식별된 반환값들을 기초로 상기 대상 디바이스를 위한 융합 반환값을 생성하고, 상기 생성된 융합 반환값을 상기 어플리케이션에게 제공하는 단계
를 포함하는 컴퓨팅 단말의 동작 방법.
A plurality of devices; A plurality of device drivers for obtaining return values of each of the plurality of devices; And a driver management module for managing the plurality of device drivers, the method of operating a computing terminal executing an application,
Defining interactions between the plurality of devices at a kernel level;
Receiving a request for a return value of a target device among the plurality of devices from the application;
In response to receiving the request, identifying return values of the target device and another device associated with the target device in accordance with the interaction at the kernel level; And
Generating a fusion return value for the target device based on the identified return values and providing the generated fusion return value to the application
Method of operation of a computing terminal comprising a.
제8항에 있어서,
상기 생성된 융합 반환값을 상기 어플리케이션에게 제공하는 단계는
상기 생성된 융합 반환값을 상기 대상 디바이스의 출력 포맷으로 변환하여 상기 어플리케이션에게 제공하는
컴퓨팅 단말의 동작 방법.
9. The method of claim 8,
Providing the generated fusion return value to the application
Converting the generated fusion return value into an output format of the target device and providing the converted value to the application;
Method of operation of a computing terminal.
제8항에 있어서,
상기 생성된 융합 반환값을 상기 어플리케이션에게 제공하는 단계는
칼만 필터링을 이용하여 상기 식별된 반환값으로부터 상기 컴퓨팅 단말의 상태를 나타내는 정보를 추정하는 단계;
상기 추정된 정보를 기초로 상기 대상 디바이스를 위한 융합 반환값을 생성하는 단계; 및
상기 생성된 융합 반환값을 상기 어플리케이션으로 전달하는 단계
를 포함하는 컴퓨팅 단말의 동작 방법.
9. The method of claim 8,
Providing the generated fusion return value to the application
Estimating information indicative of the state of the computing terminal from the identified return value using Kalman filtering;
Generating a fusion return value for the target device based on the estimated information; And
Delivering the generated fusion return value to the application
Method of operation of a computing terminal comprising a.
복수의 디바이스들; 상기 복수의 디바이스들 각각의 반환값을 획득하는 복수의 디바이스 드라이버; 및 상기 복수의 디바이스 드라이버를 관리하는 드라이버 관리 모듈을 포함하고, 어플리케이션을 실행하는 컴퓨팅 단말의 동작 방법에 있어서,
상기 드라이버 관리 모듈이 커널 레벨에서 상기 복수의 디바이스들 사이의 상호 작용을 정의하는 단계;
상기 어플리케이션이 상기 대상 디바이스에 대응하는 디바이스 드라이버에게 상기 대상 디바이스의 반환값을 요청하고, 인터럽트를 발생시키는 단계;
상기 드라이버 관리 모듈이 상기 인터럽트를 인지하는 단계;
상기 인지에 대응하여, 상기 드라이버 관리 모듈이 상기 커널 레벨에서 상기 상호 작용에 따라 상기 대상 디바이스 및 상기 대상 디바이스와 연관된 다른 디바이스의 반환값들을 식별하는 단계; 및
상기 드라이버 관리 모듈이 상기 식별된 반환값들을 기초로 상기 대상 디바이스를 위한 융합 반환값을 생성하고, 상기 생성된 융합 반환값을 상기 어플리케이션에 제공하는 단계
를 포함하는 컴퓨팅 단말의 동작 방법.
A plurality of devices; A plurality of device drivers for obtaining return values of each of the plurality of devices; And a driver management module for managing the plurality of device drivers, the method of operating a computing terminal executing an application,
The driver management module defining an interaction between the plurality of devices at a kernel level;
Requesting, by the application, a return value of the target device from a device driver corresponding to the target device, and generating an interrupt;
The driver management module recognizing the interrupt;
In response to the recognition, the driver management module identifying return values of the target device and another device associated with the target device according to the interaction at the kernel level; And
The driver management module generating a fusion return value for the target device based on the identified return values and providing the generated fusion return value to the application
Method of operation of a computing terminal comprising a.
복수의 디바이스들을 구비하고, 어플리케이션을 실행하는 컴퓨팅 단말에서, 상기 복수의 디바이스들 중 대상 디바이스의 반환값을 상기 어플리케이션에게 제공하는 디바이스 드라이버의 동작 방법에 있어서,
커널 레벨에서, 상기 대상 디바이스와 상기 대상 디바이스와 연관된 다른 디바이스 사이의 상호 작용을 정의하는 단계;
상기 어플리케이션으로부터 상기 대상 디바이스의 반환값에 대한 요청이 수신되었는 지를 판단하는 단계;
상기 판단 결과, 상기 정의된 상호 작용에 따라 상기 대상 디바이스 및 상기 다른 디바이스 각각의 반환값을 식별하는 단계; 및
상기 식별된 반환값들을 기초로 상기 대상 디바이스를 위한 융합 반환값을 생성하고, 상기 생성된 융합 반환값을 상기 어플리케이션에게 제공하는 단계
를 포함하는 디바이스 드라이버의 동작 방법.
In a computing terminal having a plurality of devices and executing an application, a method of operating a device driver for providing a return value of a target device among the plurality of devices to the application,
At a kernel level, defining an interaction between the target device and another device associated with the target device;
Determining whether a request for a return value of the target device has been received from the application;
As a result of the determination, identifying a return value of each of the target device and the other device according to the defined interaction; And
Generating a fusion return value for the target device based on the identified return values and providing the generated fusion return value to the application
Method of operating a device driver comprising a.
복수의 디바이스들 및 복수의 디바이스 드라이버들을 구비하고 어플리케이션을 실행하는 컴퓨팅 단말에서, 정상적으로 작동하지 않는 대상 디바이스에 대응하는 디바이스 드라이버의 동작 방법에 있어서,
커널 레벨에서, 상기 대상 디바이스와 상기 대상 디바이스와 연관된 다른 디바이스 사이의 상호 작용을 정의하는 단계;
상기 어플리케이션으로부터 상기 대상 디바이스의 반환값에 대한 요청이 수신되었는 지를 판단하는 단계;
상기 판단 결과, 상기 정의된 상호 작용에 따라 상기 대상 디바이스와 연관된 다른 디바이스의 반환값들을 식별하는 단계; 및
상기 식별된 반환값들을 기초로 상기 대상 디바이스의 반환값을 추정하는 단계
를 포함하는 디바이스 드라이버의 동작 방법.
In a computing terminal having a plurality of devices and a plurality of device drivers and executing an application, a method of operating a device driver corresponding to a target device not normally operating,
At a kernel level, defining an interaction between the target device and another device associated with the target device;
Determining whether a request for a return value of the target device has been received from the application;
As a result of the determination, identifying return values of another device associated with the target device according to the defined interaction; And
Estimating a return value of the target device based on the identified return values
Method of operating a device driver comprising a.
제13항에 있어서,
상기 대상 디바이스가 출력 가능한 반환값들이 상기 대상 디바이스와 연관된 다른 디바이스가 출력하는 반환값들과 서로 매핑된 샘플링 데이터를 미리 저장하고 유지하는 단계를 더 포함하고,
상기 식별된 반환값을 기초로 상기 대상 디바이스의 반환값을 추정하는 단계는
상기 샘플링 데이터로부터 상기 다른 디바이스의 반환값에 대응하는 샘플링 데이터를 독출하는 단계; 및
상기 독출된 샘플링 데이터를 상기 대상 디바이스의 반환값으로 결정하는 단계
를 포함하는 디바이스 드라이버의 동작 방법.
The method of claim 13,
Storing and maintaining sampling data in which return values output by the target device are mapped with return values output by another device associated with the target device in advance;
Estimating a return value of the target device based on the identified return value
Reading sampling data corresponding to a return value of the other device from the sampling data; And
Determining the read sampling data as a return value of the target device
Method of operating a device driver comprising a.
KR1020110060209A 2011-06-21 2011-06-21 Computing terminal for performing application using devices and computing method thereof KR101294256B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110060209A KR101294256B1 (en) 2011-06-21 2011-06-21 Computing terminal for performing application using devices and computing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110060209A KR101294256B1 (en) 2011-06-21 2011-06-21 Computing terminal for performing application using devices and computing method thereof

Publications (2)

Publication Number Publication Date
KR20120140461A KR20120140461A (en) 2012-12-31
KR101294256B1 true KR101294256B1 (en) 2013-08-07

Family

ID=47906507

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110060209A KR101294256B1 (en) 2011-06-21 2011-06-21 Computing terminal for performing application using devices and computing method thereof

Country Status (1)

Country Link
KR (1) KR101294256B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014521A1 (en) 2001-06-28 2003-01-16 Jeremy Elson Open platform architecture for shared resource access management
JP2008059312A (en) 2006-08-31 2008-03-13 Hitachi Ltd Controller and development system therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014521A1 (en) 2001-06-28 2003-01-16 Jeremy Elson Open platform architecture for shared resource access management
JP2008059312A (en) 2006-08-31 2008-03-13 Hitachi Ltd Controller and development system therefor

Also Published As

Publication number Publication date
KR20120140461A (en) 2012-12-31

Similar Documents

Publication Publication Date Title
KR102004060B1 (en) Efficient communications amongst computing nodes for operating autonomous vehicles
KR102033265B1 (en) System Delay Estimation Method for Autonomous Vehicle Control
JP6437007B2 (en) Page cache write logging in block-based storage
CN111833607B (en) Techniques for route navigation sharing in community clouds
KR101531449B1 (en) Methods and apparatuses for controlling invocation of a sensor
KR20210042856A (en) Positioning method and apparatus, autonomous driving vehicle, electronic device and storage medium
JP2017520030A (en) Durability features that dynamically modify for individual data volumes
JP6908675B2 (en) Vehicle accelerator / brake assist system based on a predetermined calibration table for L2 autonomous driving
JP6250842B2 (en) Sharing non-USB sensor with another device using USB over IP
WO2022127829A1 (en) Self-moving robot, and path planning method, apparatus and device therefor, and storage medium
CN109213144A (en) Man-machine interface (HMI) framework
JP2017530350A (en) Automatic sensor selection based on required sensor characteristics
CN111127584A (en) Method and device for establishing visual map, electronic equipment and storage medium
CN109302563B (en) Anti-shake processing method and device, storage medium and mobile terminal
US11669192B2 (en) Electronic device for processing input event and method of operating same
KR101294256B1 (en) Computing terminal for performing application using devices and computing method thereof
KR20200023600A (en) Data transfer logic for data transfer between sensors and planning and control of autonomous vehicles
EP4296841A1 (en) Method and system for solid state drive (ssd)-based redundant array of independent disks (raid)
CN111428937A (en) User loss prediction method and device, electronic equipment and readable storage medium
WO2014085195A1 (en) Usb device interrupt signal
JP6163897B2 (en) Numerical calculation program, numerical calculation method, and information processing apparatus
US11586564B2 (en) Head of line entry processing in a buffer memory device
US10303462B2 (en) Windows support of a pluggable ecosystem for universal windows application stores
WO2022179602A1 (en) Navigation information processing method and apparatus, electronic device, and storage medium
WO2020255760A1 (en) Vehicular control device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180625

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190807

Year of fee payment: 7