KR101356867B1 - 안드로이드 운영체제에서의 어플리케이션 분류방법, 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. - Google Patents

안드로이드 운영체제에서의 어플리케이션 분류방법, 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. Download PDF

Info

Publication number
KR101356867B1
KR101356867B1 KR1020120024968A KR20120024968A KR101356867B1 KR 101356867 B1 KR101356867 B1 KR 101356867B1 KR 1020120024968 A KR1020120024968 A KR 1020120024968A KR 20120024968 A KR20120024968 A KR 20120024968A KR 101356867 B1 KR101356867 B1 KR 101356867B1
Authority
KR
South Korea
Prior art keywords
application
android operating
operating system
relationship
module
Prior art date
Application number
KR1020120024968A
Other languages
English (en)
Other versions
KR20130103932A (ko
Inventor
신인식
김효수
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020120024968A priority Critical patent/KR101356867B1/ko
Priority to PCT/KR2013/000557 priority patent/WO2013137556A1/ko
Priority to US14/000,893 priority patent/US20150143340A1/en
Publication of KR20130103932A publication Critical patent/KR20130103932A/ko
Application granted granted Critical
Publication of KR101356867B1 publication Critical patent/KR101356867B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Abstract

본 발명은 안드로이드 운영체제에서의 어플리케이션 분류방법, 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다. 보다 상세하게는, 안드로이드 운영체제에서 어플리케이션들을 그 특성에 따라 분류하기 위한 안드로이드 운영체제에서의 어플리케이션 분류방법 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다. 본 발명은, 안드로이드 운영체제가 임베디드 디바이스(Embedded Device)에 탑재되어 전체 디바이스를 관리하고, 하나 이상의 시스템 서비스를 수행하는 시스템 서비스모듈이 상기 안드로이드 운영체제에 탑재되어 하나 이상의 시스템 핵심 기능들을 수행하는 안드로이드 운영체제의 어플리케이션 분류 방법에 있어서, 상기 안드로이드 운영체제에서 시스템 핵심 기능들을 제공하기 위해 기본적으로 탑재된 시스템 서비스모듈에 의해 수행되는 시스템 서비스를 사전에 분석하는 사전 시스템 서비스 사전분석단계; 상기 안드로이드 운영체제에서 상기 어플리케이션과 상기 시스템 서비스간의 관계를 파악하는 관계 파악단계; 상기 관계 파악단계에서 상기 안드로이드 운영체제에서 파악된 상기 어플리케이션과 상기 시스템 서비스간의 관계를 바탕으로 상기 어플리케이션의 특성을 유추하는 특성 유추단계; 및 상기 특성 유추단계에서 상기 안드로이드 운영체제가 유추한 상기 어플리케이션의 특성을 바탕으로 상기 어플리케이션을 분류하는 어플리케이션 분류단계; 를 포함하는 것을 특징으로 하는 안드로이드 운영체제의 어플리케이션 분류 방법을 제공한다.

Description

안드로이드 운영체제에서의 어플리케이션 분류방법, 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.{Method for classifying applications on android operation system, and computer-readable record medium with classifying program for applications on android operation system}
개시된 기술은, 안드로이드 운영체제에서의 어플리케이션 분류방법 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 보다 구체적으로는, 안드로이드 운영체제에서 어플리케이션들을 그 특성에 따라 분류하기 위한 안드로이드 운영체제에서의 어플리케이션 분류방법 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
최근 몇 년간 스마트폰의 사용량이 급격하게 증가함에 따라, 스마트폰이 가지고 있는 고유의 특성을 잘 고려할 수 있는 운영체제에 대한 필요성 또한 증가되고 있다. 특히, 일반 컴퓨터들과는 다르게 스마트폰과 같은 임베디드 장치(Embedded Device)들의 경우 중앙처리장치(CPU), 주기억장치(Main Memory), 입출력장치(I/O Device)와 같은 하드웨어 성능이 크게 제한됨에 따라, 스마트폰 어플리케이션들에게 제한된 하드웨어 자원에 대한 경쟁을 유발시키고, 이로 인해 전체적인 어플리케이션들의 성능이 저하되고 있다. 또한 이러한 성능 저하가 사용자가 현재 사용 중인 어플리케이션에게도 영향을 미침에 따라서 사용자는 큰 불편함을 호소하게 된다. 결국, 제한된 하드웨어 자원에 대한 효율적인 관리를 통해 스마트폰 애플리케이션들, 특히 사용자와 직접적으로 연관되어있는 어플리케이션들의 성능 저하를 최소화하는 것이 스마트폰 운영체제의 주요 관심사가 되고 있다.
최근 세계적으로 가장 널리 사용되고 있는 오픈소스 플랫폼(Open-Source Platform)기반의 안드로이드 운영체제(Android Operating System) 또한 상기 문제를 해결하기 위하여 노력하고 있다.
안드로이드 운영체제는 스마트폰의 포그라운드(Foreground)에서 실행중인 어플리케이션이 백그라운드(Background)에서 실행중인 어플리케이션보다 주로 사용자와 더욱더 직접적으로 연관되어있다는 일반적인 특성을 이용하여 포그라운드 어플리케이션을 사용자 상호작용 어플리케이션으로, 백그라운드 어플리케이션을 비 상호작용 어플리케이션으로 분류한다. 그리고 사용자 상호작용 어플리케이션들에게 중앙처리장치의 점유율을 높여주거나, 주기억장치에 더 오랜 시간 머물 수 있게 해주는 방법을 이용하여 사용자가 직접 느끼는 성능저하를 최소화 하고자 노력한다.
하지만, 단순히 어플리케이션을 백그라운드, 포그라운드 여부에 따라서 분류하는 것만으로는 어플리케이션의 특성을 제대로 파악하는데 있어서 많은 한계가 뒤따른다. 예를 들어 음악재생 어플리케이션의 경우, 주로 백그라운드에서 실행되지만 사용자에게 끊김없이 음악을 재생해주어야 하는 즉, 사용자와 굉장히 밀접하게 연관되어 있는 어플리케이션이다. 하지만 기존 분류에 의해서는 백그라운드에서 실행되므로 비 상호작용 어플리케이션으로 분류되고 자원 사용에 있어서 불이익을 받게 되어 사용자에게 불편을 초래할 수도 있다.
[관련기술문헌]
비안드로이드 플랫폼에서 안드로이드 어플리케이션을 실행하는 단말장치(TERMINAL DEVICE FOR EXECUTING ANDROID APPLICATION BASED NON-ANDROID FlATFORM)(특허출원번호 제10-2009-0121002호)
개시된 기술이 이루고자 하는 기술적 과제는, 안드로이드 운영체제에서 어플리케이션들을 그 특성에 알맞게 분류하여 효율적인 어플리케이션 관리를 가능토록 하는 기술을 제공하기 위한 안드로이드 운영체제에서의 어플리케이션 분류방법 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하기 위한 것이다.
상기 기술적 과제를 달성하기 위해 개시된 기술의 제 1측면은, 안드로이드 운영체제가 임베디드 디바이스(Embedded Device)에 탑재되어 전체 디바이스를 관리하고, 하나 이상의 시스템 서비스를 수행하는 시스템 서비스모듈이 상기 안드로이드 운영체제에 탑재되어 하나 이상의 시스템 핵심 기능들을 수행하는 안드로이드 운영체제의 어플리케이션 분류 방법에 있어서, 상기 안드로이드 운영체제에서 시스템 핵심 기능들을 제공하기 위해 기본적으로 탑재된 시스템 서비스모듈에 의해 수행되는 시스템 서비스를 사전에 분석하는 사전 시스템 서비스 사전분석단계; 상기 안드로이드 운영체제에서 상기 어플리케이션과 상기 시스템 서비스간의 관계를 파악하는 관계 파악단계; 상기 관계 파악단계에서 상기 안드로이드 운영체제에서 파악된 상기 어플리케이션과 상기 시스템 서비스간의 관계를 바탕으로 상기 어플리케이션의 특성을 유추하는 특성 유추단계; 및 상기 특성 유추단계에서 상기 안드로이드 운영체제가 유추한 상기 어플리케이션의 특성을 바탕으로 상기 어플리케이션을 분류하는 어플리케이션 분류단계; 를 포함하는 것을 특징으로 하는 안드로이드 운영체제의 어플리케이션 분류 방법을 제공한다.
상기 기술적 과제를 달성하기 위해 개시된 기술의 제 2측면은, 안드로이드 운영체제가 임베디드 디바이스(Embedded Device)에 탑재되어 전체 디바이스를 관리하고, 하나 이상의 시스템 서비스를 수행하는 시스템 서비스모듈이 상기 안드로이드 운영체제에 탑재되어 하나 이상의 시스템 핵심 기능들을 수행하는 안드로이드 운영체제의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 안드로이드 운영체제는, 시스템 핵심 기능들을 제공하기 위해 기본적으로 탑재된 시스템 서비스모듈에 의해 수행되는 시스템 서비스를 사전에 분석하는 사전분석모듈; 상기 어플리케이션과 상기 시스템 서비스간의 관계를 파악하는 관계파악모듈; 상기 관계파악모듈에 의해 파악된 상기 어플리케이션과 상기 시스템 서비스간의 관계를 바탕으로 상기 어플리케이션의 특성을 유추하는 특성유추모듈; 및 상기 특성유추모듈에 의해 유추된 상기 어플리케이션의 특성을 바탕으로 상기 어플리케이션을 분류하는 어플리케이션-분류모듈; 을 구비하여 이루어지는 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명의 실시예에 따른 안드로이드 운영체제에서의 어플리케이션 분류방법 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체는, 안드로이드 운영체제에서 어플리케이션들을 그 특성에 따라 분류할 수 있는 효과를 제공한다.
또한, 본 발명의 다른 실시예에 따른 안드로이드 운영체제에서의 어플리케이션 분류방법 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체는, 사전 시스템 서비스 사전분석을 통해 과학적으로 안드로이드 운영체제에서 어플리케이션들을 그 특성에 따라 분류할 수 있는 효과를 제공한다.
또한, 본 발명의 다른 실시예에 따른 안드로이드 운영체제에서의 어플리케이션 분류방법 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체는, 사전분석이 완료되면, 시스템이 구동된 후에 상기 어플리케이션이 시스템 핵심기능을 사용하는지 또는 사용종료하기 위해 시스템 서비스모듈에게 인텐트를 요청했는지 감시를 통해 안드로이드 운영체제에서 어플리케이션과 시스템 서비스간의 관계를 파악함으로써, 종래의 기술에 비해 직접적으로 관계가 판단되는 효과를 제공한다.
뿐만 아니라, 본 발명의 다른 실시예에 따른 안드로이드 운영체제에서의 어플리케이션 분류방법 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체는, 어플리케이션과 시스템 서비스간의 관계 뿐만 아니라, 어플리케이션의 포그라운드에서 백그라운드로 또는 백그라운드에서 포그라운드로 변화를 이용함으로써, 보다 정밀하게 어플리케이션을 사용자 상호작용 어플리케이션 또는 비 사용자 상호작용 어플리케이션으로 분류할 수 있는 효과를 제공한다.
도 1은 본 발명의 실시예에 따른 안드로이드 운영체제의 어플리케이션 분류 방법이 구현되는 사용자단말의 구성을 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 안드로이드 운영체제에서의 어플리케이션 분류방법에 있어서의 관계파악모듈에서 새로운 관계가 파악되어 분류가 이루어지는 과정을 나타내는 흐름도이다.
도 3은 본 발명의 다른 실시예에 따른 안드로이드 운영체제에서의 어플리케이션 분류방법에 있어서 어플리케이션-상태감시모듈에서 어플리케이션의 상태 변화가 파악되어 분류가 이루어지는 순서를 나타내는 흐름도이다.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시 예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시 예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시 예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 실시예에 따른 안드로이드 운영체제의 어플리케이션 분류 방법이 구현되는 사용자단말의 구성을 나타내는 도면이다. 도 1을 참조하면, 본 발명에 의한 안드로이드 운영체제의 어플리케이션 분류방법이 구현되는 사용자단말은 안드로이드 운영체제(110), 어플리케이션(120), 그리고 임베디드 디바이스(200)를 포함한다.
여기서 안드로이드 운영체제(110)는 시스템 메모리(1) 상에 구현되며, 어플리케이션(120)은 저장부(2)에 저장될 수 있다. 여기서 저장부(2)는 비휘발성 메모리(Non-volatile memory, NVM)로써 전원이 공급되지 않아도 저장된 데이터를 계속 유지하며 삭제되지 않으며, 플래시 메모리(Flash Memory), MRAM(Magnetic Random Access Memory), PRAM(Phase-change Random Access memory: 상변화 램), FRAM(Ferroelectric RAM: 강유전체 램) 등으로 구성될 수 있다. 한편, 안드로이드 운영체제(110)는 임베디드 디바이스(200)를 관리한다.
보다 구체적으로, 안드로이드 운영체제(110)는 사전분석모듈(111), 관계파악모듈(112), 어플리케이션-상태감시모듈(113), 특성유추모듈(114) 및 어플리케이션-분류모듈(115), 시스템 서비스모듈(116)을 포함한다. 사전분석모듈(111)은 사전에 안드로이드 운영체제(110)에 기본적으로 등록되어 있는 시스템 서비스모듈(116)이 수행하는 일의 유형 및 사용자와의 관련성을 분석하고 이러한 결과값을 저장한다. 여기서, 사전 분석은 시스템 부팅(System Booting)시 또는 안드로이드 운영체제(110) 설치 전에 시행될 수 있다. 관계파악모듈(112)은 어플리케이션(120)과 시스템 서비스모듈(116) 간의 관계를 파악한다. 여기서, 어플리케이션(120)과 시스템 서비스모듈(116) 간의 관계는 어플리케이션(120)이 시스템의 핵심기능을 수행하기 위해 시스템 서비스모듈(116)에게 요청하는 인텐트(Intent)를 분석해서 파악할 수 있다. 여기서, 새로운 관계의 맺고 끊김이 파악되면 관계파악모듈(112)은 이를 특성유추모듈(114)에게 알린다. 어플리케이션-상태감시모듈(113)은 어플리케이션(120)의 상태 변화를 감시한다. 여기서, 어플리케이션(120)의 상태 변화는 현재 수행되고 있는 위치 변화로 계산할 수 있다. 즉, 어플리케이션(120)이 포그라운드에서 백그라운드로 또는 백그라운드에서 포그라운드로 변화하는 경우 어플리케이션(120)의 상태가 변화되었다고 판단한다. 그리고, 새로운 어플리케이션(120)의 상태 변화가 파악되면 어플리케이션-상태감시모듈(113)은 이를 특성유추모듈(114)에게 알린다. 특성유추모듈(114)은 관계파악모듈(112) 또는 어플리케이션-상태감시모듈(113)로부터 새로운 관계 또는 어플리케이션(120)의 상태 변화에 대한 판단결과를 기반으로 어플리케이션(120)의 특성을 유추한다. 여기서, 특성유추모듈(114)은 관계파악모듈(112)로부터 새로운 관계가 발견된 어플리케이션(130)의 경우 관계된 시스템 서비스모듈(116)에 의해 수행되는 시스템 서비스의 특성을 상속받도록 하여 그 특성을 유추한다. 또한, 관계파악모듈(112)로부터 어떠한 시스템 서비스모듈(116)와도 관계가 파악되지 않은 어플리케이션(120)에 한하여 어플리케이션(130)의 상태 변화에 따라서 특성을 유추한다. 예를 들어, 어플리케이션(120)이 포그라운드에서 동작중일 경우 사용자와 밀접한 관련이 있는 것으로, 백그라운드에서 동작중일 경우 사용자와 관련이 떨어지는 것으로 특성을 유추한다. 또한, 특성유추모듈(114)은 어플리케이션(120)의 새로운 특성이 유추된다면 어플리케이션-분류모듈(115)에게 이를 알린다. 어플리케이션-분류모듈(115)은 특성유추모듈(114)로부터 유추된 어플리케이션(120)의 특성에 따라서 어플리케이션(120)을 사용자 상호작용 어플리케이션과 비 사용자 상호작용 어플리케이션으로 분류한다. 여기서, 어플리케이션(120)이 사용자와 밀접한 관련이 있는 것으로 특성이 유추된 경우 사용자 상호작용 어플리케이션, 밀접한 관련이 없는 경우 비 사용자 상호작용 어플리케이션으로 분류한다.
도 2는 본 발명의 실시예에 따른 안드로이드 운영체제에서의 어플리케이션 분류방법에 있어서의 관계파악모듈(112)에서 새로운 관계가 파악되어 분류가 이루어지는 과정을 나타내는 흐름도이다. 도 1 및 도 2를 참조하면, 먼저 안드로이드 운영체제(110)의 사전분석모듈(111)을 통해 시스템 서비스를 사전 분석한다(S201).
사전분석모듈(111)에 의한 사전 분석이 완료되고, 사용자단말의 시스템이 구동된 후에 안드로이드 운영체제(110)는 관계파악모듈(112)을 통해 어플리케이션(120)이 시스템 핵심기능을 사용하는지 또는 사용종료하기 위해 시스템 서비스모듈(116)에게 인텐트를 요청했는지 감시한다(S202).
관계파악모듈(112)이 어플리케이션(120)에 의한 시스템 핵심기능 사용 또는 사용을 종료하기 위한 시스템 서비스모듈(116)에게 요청한 인텐트를 감지한 경우, 해당 인텐트가 새로운 사용을 위한 것인지 또는 사용을 중단하기 위한 것인지를 분석하고 이를 통해 어플리케이션(120)과 시스템 서비스모듈(116) 간의 관계를 분석한다(S203).
단계(S203)에서 분석된 관계가 이전에 없던 새로운 관계일 경우 안드로이드 운영체제(110)의 관계파악모듈(112)은 새롭게 파악된 관계 정보를 특성유추모듈(114)에게 알린다(S204). 이때, 분석된 관계가 이미 이전에 성립되어 있던 관계와 동일하다면, 다시 단계(S202)로 회귀하여 단계(S202) 내지 단계(S204)를 반복하여 수행함으로써 어플리케이션(120)과 시스템 서비스모듈(116) 간의 인텐트를 감시한다.
한편 단계(S204)의 판단 결과, 새로운 관계가 파악되면 이를 기반으로 특성유추모듈(114)은 사전분석을 수행한 단계(S201)에서 분석된 시스템 서비스모듈(116)의 특성을 어플리케이션(120)에 상속하여 어플리케이션(120)의 특성을 유추한다(S205). 예를 들어, 어플리케이션(120)이 멀티미디어(Multimedia)를 재생하기 위하여 시스템 서비스모듈(116)에 의해 수행되는 미디어서버(MediaServer) 시스템 서비스와 관계를 맺은 경우 어플리케이션(120)은 멀티미디어와 관련된 작업을 수행하는 것으로 특성이 유추되고, 또한 멀티미디어의 특성상 사용자와 밀접한 관련을 가진 것으로 어플리케이션의 특성이 유추된다.
단계(S205)에서 새롭게 유추된 특성으로 인하여 어플리케이션(120)의 특성이 변화된 경우(S206) 특성유추모듈(114)은 이를 어플리케이션-분류모듈(115)에게 알린다. 한편 단계(S206)의 판단결과 변화가 없는 경우 다시 단계(S202)로 회귀하여 관계파악모듈(112)이 어플리케이션(120)과 시스템 서비스모듈(116) 간의 인텐트를 감시하도록 한다. 특성유추모듈(114)에서 어플리케이션(120)의 특성이 변화되었음이 전달되면, 어플리케이션-분류모듈(115)은 변화된 특성을 바탕으로 어플리케이션(120)을 사용자와 밀접한 관련이 있을 경우 사용자 상호작용 어플리케이션, 사용자와 밀접한 관련이 없는 경우 비 사용자 상호작용 어플리케이션으로 분류한다(S207).
그리고 마지막으로, 어플리케이션-분류모듈(115)에서 분류가 완료된 후 아직 시스템이 동작중이라면 다시 단계(S202)로 돌아가 관계파악모듈(112)이 어플리케이션(120)과 시스템 서비스모듈(116) 간의 인텐트를 지속적으로 감시하도록 한다(S208).
도 3은 본 발명의 다른 실시예에 따른 안드로이드 운영체제에서의 어플리케이션 분류방법에 있어서 어플리케이션-상태감시모듈(113)에서 어플리케이션(120)의 상태 변화가 파악되어 분류가 이루어지는 순서를 나타내는 흐름도이다. 먼저, 안드로이드 운영체제(110)가 시스템메모리(1) 상에서 구동되면 어플리케이션-상태감시모듈(113)에서 지속적으로 어플리케이션(120)의 상태 변화를 감시한다(S301). 여기서, 어플리케이션(120)의 상태 변화란 포그라운드에서 백그라운드 또는 백그라운드에서 포그라운드로의 동작 환경의 변화를 의미한다.
어플리케이션(120)의 상태 변화가 감지되면 어플리케이션-상태감시모듈(113)은 특성유추모듈(114)에게 이를 알린다(S302).
특성유추모듈(114)에서는 단계(S302)에서 어플리케이션-상태감시모듈(113)에 의해 감지된 어플리케이션(120)의 상태 변화에 따라서 어플리케이션(120)의 특성을 새롭게 유추한다(S303). 예를 들어, 포그라운드에서 백그라운드로 변화 시에는 사용자와 관계가 멀어진 것으로 유추하고, 백그라운드에서 포그라운드로 변화 시에는 사용자와 밀접한 관련이 생긴 것으로 유추한다. 여기서, 이미 이전에 어플리케이션(120)이 도 2의 단계(S205)에서 시스템 서비스모듈(116)에 의해 수행되는 시스템 서비스와의 관계에 따라서 특성이 유추된 경우에는 어플리케이션(120)의 상태 변화로 인한 특성 유추는 생략하고, 다시 단계(S301)로 돌아가 어플리케이션-상태감시모듈(113)이 어플리케이션(120)의 상태 변화를 감시하도록 한다(S304).
한편, 단계(S304)에서 새롭게 유추된 특성으로 인하여 어플리케이션(120)의 특성이 변화된 경우 특성유추모듈(114)은 이를 어플리케이션-분류모듈(115)에게 알린다(S305). 이때, 단계(S305)의 판단결과 변화가 없는 경우 다시 단계(S301)로 돌아가 어플리케이션-상태감시모듈(113)이 어플리케이션(120)의 상태 변화를 감시하도록 한다.
단계(S305) 이후, 특성유추모듈(114)에서 어플리케이션(120)의 특성이 변화되었음이 전달되면, 어플리케이션-분류모듈(115)은 변화된 특성을 바탕으로 어플리케이션(120)이 사용자와 밀접한 관련이 있을 경우 사용자 상호작용 어플리케이션, 사용자와 밀접한 관련이 없는 경우 비 사용자 상호작용 어플리케이션으로 분류한다(S306).
그리고 마지막으로, 어플리케이션-분류모듈(115)에서 분류가 완료된 후 아직 사용자단말 시스템이 동작중이라면 다시 단계(S301)로 돌아가 어플리케이션-상태감시모듈(113)이 어플리케이션(120)의 상태 변화를 감시하도록 한다(S307).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
110: 안드로이드 운영체제 111: 사전분석모듈
112: 관계파악모듈 113: 어플리케이션-상태감시모듈
114: 특성유추모듈 115: 어플리케이션-분류모듈
116: 시스템 서비스모듈 120: 어플리케이션
200: 임베디드 디바이스

Claims (10)

  1. 안드로이드 운영체제가 임베디드 디바이스(Embedded Device)에 탑재되어 전체 디바이스를 관리하고, 하나 이상의 시스템 서비스를 수행하는 시스템 서비스모듈이 상기 안드로이드 운영체제에 탑재되어 하나 이상의 시스템 핵심 기능들을 수행하는 안드로이드 운영체제의 어플리케이션 분류 방법에 있어서,
    상기 안드로이드 운영체제에서 시스템 핵심 기능들을 제공하기 위해 기본적으로 탑재된 시스템 서비스모듈에 의해 수행되는 시스템 서비스를 사전에 분석하는 사전 시스템 서비스 사전분석단계;
    상기 안드로이드 운영체제에서 상기 어플리케이션과 상기 시스템 서비스간의 관계를 파악하는 관계 파악단계;
    상기 관계 파악단계에서 상기 안드로이드 운영체제에서 파악된 상기 어플리케이션과 상기 시스템 서비스간의 관계를 바탕으로 상기 어플리케이션의 특성을 유추하는 특성 유추단계; 및
    상기 특성 유추단계에서 상기 안드로이드 운영체제가 유추한 상기 어플리케이션의 특성을 바탕으로 상기 어플리케이션을 분류하는 어플리케이션 분류단계; 를 포함하는 것을 특징으로 하는 안드로이드 운영체제의 어플리케이션 분류 방법.
  2. 제 1항에 있어서, 상기 관계 파악단계는,
    상기 어플리케이션이 상기 시스템 서비스와의 관계가 파악되지 않을 경우에는 상기 어플리케이션의 포그라운드 또는 백그라운드 상태에 따라서 상기 어플리케이션을 분류하는 단계를 더 포함할 수 있는 것을 특징으로 하는 안드로이드 운영체제의 어플리케이션 분류 방법.
  3. 제 1항에 있어서, 상기 관계 파악단계는,
    상기 어플리케이션이 시스템 핵심 기능들을 사용하기 위해 상기 시스템 서비스모듈에게 요청하는 구조적 특징을 이용하고, 상기 어플리케이션과 상기 시스템 서비스간의 관계는 하나의 시스템 서비스 또는 하나 이상의 시스템 서비스와 맺어질 수 있는 것을 특징으로 하는 안드로이드 운영체제의 어플리케이션 분류 방법.
  4. 제 1항에 있어서, 상기 특성 유추단계에 있어서의 상기 어플리케이션의 특성은,
    상기 시스템 서비스가 수행하는 시스템의 핵심 기능, 상기 시스템의 핵심 기능을 수행하기 위한 시스템 요구사항을 포함하고, 상기 요구사항을 바탕으로 상기 어플리케이션 분류단계에서 상기 어플리케이션을 사용자 상호작용 어플리케이션 또는 비 사용자 상호작용 어플리케이션으로 분류하는 것을 특징으로 하는 안드로이드 운영체제의 어플리케이션 분류 방법.
  5. 제 1항에 있어서, 상기 관계 파악단계는,
    상기 사전분석단계가 완료되면, 시스템이 구동된 후에 상기 안드로이드 운영체제가, 상기 어플리케이션이 시스템 핵심기능을 사용하는지 또는 사용종료하기 위해 시스템 서비스모듈에게 인텐트를 요청했는지 감시를 통해 수행되는 것을 특징으로 하는 안드로이드 운영체제의 어플리케이션 분류 방법.
  6. 안드로이드 운영체제가 임베디드 디바이스(Embedded Device)에 탑재되어 전체 디바이스를 관리하고, 하나 이상의 시스템 서비스를 수행하는 시스템 서비스모듈이 상기 안드로이드 운영체제에 탑재되어 하나 이상의 시스템 핵심 기능들을 수행하는 안드로이드 운영체제의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 안드로이드 운영체제는,
    시스템 핵심 기능들을 제공하기 위해 기본적으로 탑재된 시스템 서비스모듈에 의해 수행되는 시스템 서비스를 사전에 분석하는 사전분석모듈;
    상기 어플리케이션과 상기 시스템 서비스간의 관계를 파악하는 관계파악모듈;
    상기 관계파악모듈에 의해 파악된 상기 어플리케이션과 상기 시스템 서비스간의 관계를 바탕으로 상기 어플리케이션의 특성을 유추하는 특성유추모듈; 및
    상기 특성유추모듈에 의해 유추된 상기 어플리케이션의 특성을 바탕으로 상기 어플리케이션을 분류하는 어플리케이션-분류모듈; 을 구비하여 이루어지는 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  7. 제 6항에 있어서,
    상기 어플리케이션이 상기 시스템 서비스와의 관계가 파악되지 않을 경우에는 상기 어플리케이션의 포그라운드 또는 백그라운드 상태에 따라서 상기 어플리케이션을 분류하는 어플리케이션-상태감시모듈; 을 더 구비하여 이루어지는 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  8. 제 6항에 있어서, 상기 관계파악모듈은,
    상기 어플리케이션이 시스템 핵심 기능들을 사용하기 위해 상기 시스템 서비스모듈에게 요청하는 구조적 특징을 이용하고, 상기 어플리케이션과 상기 시스템 서비스간의 관계는 하나의 시스템 서비스 또는 하나 이상의 시스템 서비스와 맺어질 수 있는 것을 특징으로 하는 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  9. 제 6항에 있어서, 상기 어플리케이션의 특성은,
    상기 시스템 서비스가 수행하는 시스템의 핵심 기능, 상기 시스템의 핵심 기능을 수행하기 위한 시스템 요구사항을 포함하고, 상기 요구사항을 바탕으로 어플리케이션-분류모듈이 상기 어플리케이션을 사용자 상호작용 어플리케이션 또는 비 사용자 상호작용 어플리케이션으로 분류하는 것을 특징으로 하는 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  10. 제 6항에 있어서, 상기 관계파악모듈은,
    상기 사전분석이 완료되면, 시스템이 구동된 후에 상기 안드로이드 운영체제가, 상기 어플리케이션이 시스템 핵심기능을 사용하는지 또는 사용종료하기 위해 시스템 서비스모듈에게 인텐트를 요청했는지 감시를 통해 수행되는 것을 특징으로 하는 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020120024968A 2012-03-12 2012-03-12 안드로이드 운영체제에서의 어플리케이션 분류방법, 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. KR101356867B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120024968A KR101356867B1 (ko) 2012-03-12 2012-03-12 안드로이드 운영체제에서의 어플리케이션 분류방법, 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
PCT/KR2013/000557 WO2013137556A1 (ko) 2012-03-12 2013-01-24 안드로이드 운영체제에서의 애플리케이션 분류방법, 그리고 안드로이드 운영체제에서의 애플리케이션 분류 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
US14/000,893 US20150143340A1 (en) 2012-03-12 2013-01-24 Method of classifying application in android operating system and computer-readable recording medium having program for classifying application in android operating system recorded thereon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120024968A KR101356867B1 (ko) 2012-03-12 2012-03-12 안드로이드 운영체제에서의 어플리케이션 분류방법, 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.

Publications (2)

Publication Number Publication Date
KR20130103932A KR20130103932A (ko) 2013-09-25
KR101356867B1 true KR101356867B1 (ko) 2014-01-29

Family

ID=49161416

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120024968A KR101356867B1 (ko) 2012-03-12 2012-03-12 안드로이드 운영체제에서의 어플리케이션 분류방법, 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.

Country Status (3)

Country Link
US (1) US20150143340A1 (ko)
KR (1) KR101356867B1 (ko)
WO (1) WO2013137556A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577222A (zh) * 2013-10-17 2014-02-12 北京奇虎科技有限公司 识别移动终端中存储卡的方法及装置
KR102148948B1 (ko) * 2013-12-06 2020-08-27 삼성전자주식회사 전자 장치의 멀티 태스킹 방법 및 그 전자 장치
KR101602403B1 (ko) 2014-03-25 2016-03-10 김창대 모바일 어플리케이션 관리시스템 및 이를 이용한 관리 방법
KR102301397B1 (ko) * 2014-11-28 2021-09-14 삼성전자주식회사 이동 단말의 대기전력을 제어하는 장치 및 방법
KR101663687B1 (ko) * 2015-06-12 2016-10-07 주식회사 아이엠피티티 다중전송계층을 이용한 ip-ptt 시스템 및 그의 제어방법
US10430245B2 (en) 2017-03-27 2019-10-01 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems and methods for dynamic low latency optimization
CN107391540A (zh) * 2017-04-28 2017-11-24 阿里巴巴集团控股有限公司 一种小程序展示方法、装置及分类器
CN108153646A (zh) * 2017-12-26 2018-06-12 北京酷我科技有限公司 一种通用的监控Android前后台的方法
CN108920325A (zh) * 2018-06-12 2018-11-30 奇酷互联网络科技(深圳)有限公司 应用类型检测方法、系统、可读存储介质及智能终端
KR102028895B1 (ko) 2019-02-18 2019-10-07 고권석 어플리케이션 관리 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110129335A (ko) * 2010-05-25 2011-12-01 삼성전자주식회사 휴대단말기에서 실행중인 어플리케이션을 관리하는 방법 및 장치
KR20120012906A (ko) * 2010-08-03 2012-02-13 엘지전자 주식회사 통신 단말기에서 데이터 서비스 이용을 표시하는 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058933B2 (en) * 2002-09-11 2006-06-06 Sun Microsystems, Inc. Extending custom application development environment modules to a second application development environment
KR20080009415A (ko) * 2006-07-24 2008-01-29 엘지전자 주식회사 백그라운드 태스크 제어 방법 및 이를 수행하기 위한이동통신 단말기
KR100778764B1 (ko) * 2006-08-02 2007-11-27 삼성전자주식회사 이동통신 단말기의 파일 자동 분류 방법 및 그 장치
US8763071B2 (en) * 2008-07-24 2014-06-24 Zscaler, Inc. Systems and methods for mobile application security classification and enforcement
US9176747B2 (en) * 2009-02-17 2015-11-03 Sandisk Il Ltd. User-application interface
KR101752355B1 (ko) * 2010-07-26 2017-06-29 엘지전자 주식회사 영상표시기기의 동작 방법
US8732697B2 (en) * 2010-08-04 2014-05-20 Premkumar Jonnala System, method and apparatus for managing applications on a device
CN102025835A (zh) * 2010-12-06 2011-04-20 华为终端有限公司 一种移动终端中的应用程序自动分类的方法和装置
GB2501416B (en) * 2011-01-07 2018-03-21 Seven Networks Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
KR101885133B1 (ko) * 2011-02-01 2018-08-03 삼성전자주식회사 디지털 디바이스에서 어플리케이션 자동 인스톨 기능을 제공하기 위한 장치 및 방법
CN102135992B (zh) * 2011-03-15 2014-07-16 宇龙计算机通信科技(深圳)有限公司 终端应用程序的归类方法和终端
US8645199B1 (en) * 2011-03-31 2014-02-04 Google Inc. Using application characteristics for ad pricing
US8959539B2 (en) * 2011-09-30 2015-02-17 Verizon Patent And Licensing Inc. Message delivery mechanism

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110129335A (ko) * 2010-05-25 2011-12-01 삼성전자주식회사 휴대단말기에서 실행중인 어플리케이션을 관리하는 방법 및 장치
KR20120012906A (ko) * 2010-08-03 2012-02-13 엘지전자 주식회사 통신 단말기에서 데이터 서비스 이용을 표시하는 방법

Also Published As

Publication number Publication date
US20150143340A1 (en) 2015-05-21
KR20130103932A (ko) 2013-09-25
WO2013137556A1 (ko) 2013-09-19

Similar Documents

Publication Publication Date Title
KR101356867B1 (ko) 안드로이드 운영체제에서의 어플리케이션 분류방법, 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
US10915357B2 (en) System and method for structuring self-provisioning workloads deployed in virtualized data centers
US9262199B2 (en) Virtualization and dynamic resource allocation aware storage level reordering
JP4937266B2 (ja) ロードバランシング
US9003239B2 (en) Monitoring and resolving deadlocks, contention, runaway CPU and other virtual machine production issues
CN110865888B (zh) 一种资源加载方法、装置、服务器及存储介质
JP5065587B2 (ja) システムパフォーマンスを改善するための外部メモリデバイスの使用
US8381213B1 (en) Method for dynamic management of system resources through application hints
KR101955737B1 (ko) 강화된 어플리케이션 메타데이터를 갖는 메모리 매니저
US10785320B2 (en) Managing operation of instances
US20130019015A1 (en) Application Resource Manager over a Cloud
EP3350741B1 (en) Detecting software attacks on processes in computing devices
US8918776B2 (en) Self-adapting software system
US9886667B2 (en) Performance of predicted actions
KR20120102664A (ko) 미래 사용 추정에 기반한 저장 메모리 할당
US20200151086A1 (en) Providing additional stack trace information for time-based sampling in asynchronous execution environments
JP2009524856A (ja) 質的に注釈を付けられた注釈付きコード
KR102061466B1 (ko) 메모리 관리를 위한 보존 가비지 콜렉팅 및 정수 태깅 기법
US20190056877A1 (en) Storage domain growth management
US9785374B2 (en) Storage device management in computing systems
CN102426535B (zh) 用于促进应用虚拟化的系统和方法
US20120185869A1 (en) Multimedia pre-processing apparatus and method for virtual machine in multicore device
US9710164B2 (en) Determining a cause for low disk space with respect to a logical disk
US20140006599A1 (en) Probabilities of potential actions based on system observations
CN105740064A (zh) Linux系统中防止服务端重启的方法及装置

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: 20161227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 7