KR20190118353A - 모바일 장치의 전력 측정 및 분석 시스템 및 그 방법 - Google Patents

모바일 장치의 전력 측정 및 분석 시스템 및 그 방법 Download PDF

Info

Publication number
KR20190118353A
KR20190118353A KR1020180041571A KR20180041571A KR20190118353A KR 20190118353 A KR20190118353 A KR 20190118353A KR 1020180041571 A KR1020180041571 A KR 1020180041571A KR 20180041571 A KR20180041571 A KR 20180041571A KR 20190118353 A KR20190118353 A KR 20190118353A
Authority
KR
South Korea
Prior art keywords
component
mobile device
power
power consumption
measurement
Prior art date
Application number
KR1020180041571A
Other languages
English (en)
Other versions
KR102047866B1 (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 KR1020180041571A priority Critical patent/KR102047866B1/ko
Priority to US16/375,200 priority patent/US11293958B2/en
Publication of KR20190118353A publication Critical patent/KR20190118353A/ko
Application granted granted Critical
Publication of KR102047866B1 publication Critical patent/KR102047866B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R21/00Arrangements for measuring electric power or power factor
    • G01R21/133Arrangements for measuring electric power or power factor by using digital technique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Power Engineering (AREA)
  • Telephone Function (AREA)

Abstract

모바일 장치의 전력 측정 및 분석 시스템을 개시한다. 본 발명의 일 실시예에 따른 모바일 장치의 전력 측정 및 분석 시스템은, 어플리케이션 실행에 따라 동작하는 컴포넌트의 동작정보를 수집하는 모바일 장치, 상기 모바일 장치에 전력을 공급하고, 상기 공급하는 전력량을 측정하여 상기 모바일 장치의 전체 소모 전력량을 측정하는 측정 및 분석 장치, 상기 모바일 장치로부터 컴포넌트의 동작정보와 상기 측정 및 분석 장치로부터 전체 소모 전력량을 수신하고, 상기 컴포넌트의 동작정보와 전체 소모 전력량을 이용하여 컴포넌트 상태 추정 모델을 학습하며, 상기 학습된 컴포넌트 상태 추정 모델을 상기 측정 및 분석 장치에 제공하는 학습 서버를 포함하되, 상기 측정 및 분석 장치는 상기 컴포넌트 상태 추정 모델에 상기 모바일 장치의 전체 소모 전력량을 입력하여 컴포넌트 상태를 추정하고, 상기 추정된 컴포넌트 상태를 통해 각 컴포넌트의 소모 전력을 실시간으로 산출할 수 있다.

Description

모바일 장치의 전력 측정 및 분석 시스템 및 그 방법{(Power measurement and analysis system of mobile device and method thereof}
본 발명은 모바일 장치의 전력 측정 및 분석 시스템 및 그 방법에 관한 것으로, 특히 실시간으로 모바일 장치에서 소모하는 전체 소모 전력을 측정하고, 이로부터 각 컴포넌트의 상태 및 전력 소모량을 실시간으로 제공하는 모바일 장치의 전력 측정 및 분석 시스템 및 그 방법에 관한 것이다.
모바일 기기는 배터리와 같은 한정된 전력을 가지고 있다. 전력은 모바일 기기의 사용시간과 직결되므로, 모바일 플랫폼에서는 매우 중요한 문제로 다뤄지고 있다. 이는 지속적으로 센서를 활용하여 상황 정보를 획득하는 모바일 센싱 어플리케이션에서 더욱 부각되어진다. 그러므로 모바일 센싱 어플리케이션의 개발과정에서 전력 최적화를 도모해야하고, 이를 위해 기본적으로 모바일 기기의 전력 소모량을 명확히 알아야 한다.
모바일 기기의 전력 소모량을 얻기 위한 방법은 크게 배터리에서 소모되는 전력량을 실측하는 방법과 모델을 기반으로 전력을 추정하는 방식으로 나뉜다.
먼저 배터리에서 소모되는 전력량을 실측하는 방법은 모바일 기기에서 소모되는 전체 전력 측정을 통해 알 수 있으나, 모바일 기기를 구성하는 컴포넌트가 소모하는 전력량은 알 수 없고, 모바일 기기 전체 소모 전력만으로는 어플리케이션의 전력 효율 저하를 일으키는 원인을 찾기 어렵다. 이를 보완하기 위한 방법으로는 모델 기반 전력 추정이 존재한다. 이는 각 컴포넌트의 동작 정보를 이용하여 각 컴포넌트의 소모 전력량을 알아내는 방식으로, 모바일 기기의 운영체제에서 제공하는 시스템 서비스나 운영체제의 수정 및 드라이버 추가 등을 통해 컴포넌트 동작 수집 모듈을 추가하여 컴포넌트의 동작 정보를 수집한 후, 이를 통해 컴포넌트의 소모 전력량을 추정(분석)한다. 이러한 방식을 통해 실시간으로 컴포넌트의 소모 전력 및 상태를 파악하기 위해서는 추가적인 연산이 발생하여 탐침효과가 존재한다.
그러나, 모델을 기반으로 하는 전력 정보 수집 활동의 탐침효과는 모바일 기기의 전력 소모를 증가시키고, 모바일 기기의 동작을 방해하는 문제점을 갖는다. 구체적으로, 모델을 기반으로 하는 전력 정보 수집 활동은 스스로 전력 소모를 보이기 때문에 모바일 기기의 전력 소모를 증가시킬 뿐만 아니라, 측정 대상 모듈(기기, 앱, 컴포넌트 등)이 소모하는 전력과 이에 대한 정보를 수집하는 모듈이 소모하는 전력을 분리하기 어려운 문제가 있다. 또한, 전력 정보 수집 활동이 없었다면 절전 모드로서 동작해야 할 모바일 기기가 전력 정보 수집 활동으로 인해 전혀 다른 방식으로 운용되어, 모바일 기기의 고유 동작을 관찰할 수 없다는 문제가 있다.
이에, 컴포넌트의 동작 정보를 실시간으로 파악하기 위한 탐침효과 없이 컴포넌트의 동작 상태와 소모 전력량을 확인할 수 있는 기술 개발이 요구되고 있다.
이에 관련하여, 대한민국 등록특허공보 제10-0994828호(발명의 명칭: 전력 절감 시스템, 공고일자: 2011년 11월 17일)가 있다.
본 발명이 해결하고자 하는 기술적 과제는 탐침효과 없이 모바일 장치를 구성하고 있는 컴포넌트의 상태 및 전력 소모 정보를 실시간으로 확인할 수 있는 모바일 장치의 전력 측정 및 분석 시스템 및 그 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 모바일 장치의 전력 측정 및 분석 시스템은, 어플리케이션 실행에 따라 동작하는 컴포넌트의 동작정보를 수집하는 모바일 장치, 상기 모바일 장치에 전력을 공급하고, 상기 공급하는 전력량을 측정하여 상기 모바일 장치의 전체 소모 전력량을 측정하는 측정 및 분석 장치, 상기 모바일 장치로부터 컴포넌트의 동작정보와 상기 측정 및 분석 장치로부터 전체 소모 전력량을 수신하고, 상기 컴포넌트의 동작정보와 전체 소모 전력량을 이용하여 컴포넌트 상태 추정 모델을 학습하며, 상기 학습된 컴포넌트 상태 추정 모델을 상기 측정 및 분석 장치에 제공하는 학습 서버를 포함하되, 상기 측정 및 분석 장치는 상기 컴포넌트 상태 추정 모델에 상기 모바일 장치의 전체 소모 전력량을 입력하여 컴포넌트 상태를 추정하고, 상기 추정된 컴포넌트 상태를 통해 각 컴포넌트의 소모 전력을 실시간으로 산출할 수 있다.
바람직하게는, 상기 측정 및 분석 장치는, 상기 모바일 장치에 전력을 공급하는 전력 공급부, 상기 전력 공급부에서 공급되는 전력량을 측정하여, 상기 모바일 장치의 전체 소모 전력량을 측정하는 전력 측정부, 상기 컴포넌트 상태 추정 모델에 상기 모바일 장치의 전체 소모 전력량을 입력으로 하는 기계학습을 이용하여 컴포넌트의 상태를 추정하고, 상기 추정된 컴포넌트의 상태를 통해 각 컴포넌트의 소모전력을 실시간으로 추정하는 컴포넌트 동작 분석부를 포함할 수 있다.
바람직하게는, 상기 측정 및 분석 장치는 상기 전력 측정부에서 측정한 모바일 장치의 전체 소모 전력량과 컴포넌트 동작 분석부에서 분석한 결과인 컴포넌트 별 상태 정보 및 소모 전력을 디스플레이하는 디스플레이부를 더 포함할 수 있다.
바람직하게는, 상기 측정 및 분석 장치는 상기 모바일 장치와의 무선 통신을 수행하는 근거리 통신부를 더 포함할 수 있다.
바람직하게는, 상기 전력 측정부는, 상기 모바일 장치와 시간을 동기화하고, 측정 시작 이후 상기 모바일 장치의 소모 전력을 측정하여 동기화된 측정 시간과 함께 기록하며, 상기 컴포넌트 동작 분석부는, 상기 측정 시간에 따른 컴포넌트의 상태를 추정하고, 컴포넌트별 전력 소모량을 나타내는 전력 모델을 이용하여 상기 컴포넌트 상태에 따른 해당 컴포넌트의 소모전력을 실시간으로 추정할 수 있다.
바람직하게는, 상기 학습서버는, 상기 모바일 장치에서 수집한 컴포넌트의 동작 정보와 상기 측정 및 분석 장치에서 수집한 전력 소모량을 이용하여 학습 데이터를 생성하는 학습 데이터 관리부, 상기 컴포넌트의 동작정보와 상기 전체 소모전력을 이용하여 컴포넌트 상태 추정 모델을 학습하는 컴포넌트 상태 추정 모델 학습부를 포함할 수 있다.
바람직하게는, 상기 학습 데이터 관리부는 동일 시간에서의 컴포넌트 동작과 소모 전력을 매칭하여 입력 데이터와 출력 데이터로 구성된 학습 데이터를 생성할 수 있다.
바람직하게는, 상기 입력 데이터는, 일정 시간 내에서의 모바일 장치의 전체 소모 전력과 해당 전력을 통해 각 컴포넌트의 상태와 컴포넌트 별 소모 전력 분석을 위한 정보를 포함하고, 상기 출력 데이터는 각 컴포넌트의 상태일 수 있다.
바람직하게는, 상기 컴포넌트 상태 추정 모델 학습부는, 컴포넌트 상태 추정 모델을 통해 컴포넌트들의 상태 정보를 추정하고, 컴포넌트별 전력 소모량을 나타내는 전력 모델을 이용하여 상기 추정된 컴포넌트 상태정보에 따른 해당 컴포넌트의 소모전력을 각각 추정하며, 상기 추정된 컴포넌트들의 소모 전력 합으로 산출된 모바일 장치의 전체 소모 전력과 실제 측정된 모바일 장치의 전체 소모 전력의 차를 기 정의된 임계치와 비교하여, 그 차가 임계치보다 작은 경우 컴포넌트 상태 추정 모델의 학습을 완료하고, 작지 않은 경우 새로운 학습 데이터를 이용하여 동일한 과정을 반복하여, 컴포넌트 상태 추정 모델을 학습할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 모바일 장치의 전력 측정 및 분석 방법은, 모바일 장치는 어플리케이션 실행에 따라 동작하는 컴포넌트의 동작정보를 수집하는 단계, 측정 및 분석 장치는 상기 모바일 장치에 공급하는 전력량을 측정하여 상기 모바일 장치의 전체 소모 전력량을 측정하는 단계, 상기 학습 서버는 상기 모바일 장치로부터 컴포넌트의 동작정보와 상기 측정 및 분석 장치로부터 전체 소모 전력량을 수신하고, 상기 컴포넌트의 동작정보와 전체 소모 전력량을 이용하여 컴포넌트 상태 추정 모델을 학습하며, 상기 학습된 컴포넌트 상태 추정 모델을 상기 측정 및 분석 장치에 제공하는 단계, 상기 측정 및 분석 장치는 상기 컴포넌트 상태 추정 모델에 상기 모바일 장치의 전체 소모 전력량을 입력하여 컴포넌트 상태를 추정하고, 상기 추정된 컴포넌트 상태를 통해 각 컴포넌트의 소모 전력을 실시간으로 산출하는 단계를 포함한다.
본 발명에 따르면, 실시간으로 모바일 장치에서 소모하는 전체 소모 전력을 측정하고, 이로부터 각 컴포넌트의 상태 및 전력 소모량을 파악한 뒤, 시각화하여 사용자에게 제공함으로써, 탐침효과 없이 모바일 장치를 구성하고 있는 컴포넌트의 상태 및 전력 소모 정보를 실시간으로 확인할 수 있다.
나아가, 본 발명에 따르면, 모바일 장치에서 전력을 과소모하는 컴포넌트를 식별할 수 있으며, 최종적으로 어플리케이션을 저전력화할 수 있다. 이러한 어플리케이션의 저전력화로 인해 모바일 장치의 사용시간이 늘어날 것이며, 더 나아가 모바일 장치의 사용자는 더 많은 서비스를 더 좋은 품질로 제공받을 수 있을 것다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 모바일 장치의 전력 측정 및 분석 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 모바일 장치와 측정 및 분석 장치를 연결한 예시도이다.
도 3은 본 발명의 일 실시예에 따른 컴포넌트 동작 수집부와 전력 측정부를 통해 모바일 장치에서 소모하였던 전력을 추정하는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 측정 및 분석 장치가 출력하는 컴포넌트의 정보를 설명하기 위한 화면 예시도이다.
도 5는 본 발명의 일 실시예에 따른 RNN의 구조를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 모바일 장치가 CPU로만 이루어져있다는 가정 하에 RNN 모델의 입출력 형태를 표현한 예시도이다.
도 7은 본 발명의 일 실시예에 따른 컴포넌트 상태 추정 모델 학습 방법을 설명하기 위한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서는 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 모바일 장치의 전력 측정 및 분석 시스템을 설명하기 위한 도면, 도 2는 본 발명의 일 실시예에 따른 모바일 장치와 측정 및 분석 장치를 연결한 예시도, 도 3은 본 발명의 일 실시예에 따른 컴포넌트 동작 수집부와 전력 측정부를 통해 모바일 장치에서 소모하였던 전력을 추정하는 과정을 설명하기 위한 도면, 도 4는 본 발명의 일 실시예에 따른 측정 및 분석 장치가 출력하는 컴포넌트의 정보를 설명하기 위한 화면 예시도, 도 5는 본 발명의 일 실시예에 따른 RNN의 구조를 설명하기 위한 도면, 도 6은 본 발명의 일 실시예에 따른 모바일 장치가 CPU로만 이루어져있다는 가정 하에 RNN 모델의 입출력 형태를 표현한 예시도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 모바일 장치의 전력 측정 및 분석 시스템은 모바일 장치(100), 측정 및 분석 장치(200), 학습 서버(300)를 포함한다.
모바일 장치(100)는 어플리케이션 실행에 따라 동작하는 컴포넌트의 동작정보를 수집한다. 여기서, 컴포넌트는 모바일 장치(100)에서 전력 소모의 원인이 되는 구성으로, 예컨대, CPU, Wi-Fi, Audio, Display(LCD, LED 등), GPS, Cellular, Memory 등과 같은 모바일 장치(100)의 기본적인 기능을 제공하기 위해 독립적으로 설치 및 교체되고 사용되도록 설계된 모듈을 의미하며, 빛, 소리, 온도 등과 같은 감각과 관련된 신호를 수집하는 센서인 가속도센서, 조도센서, 자기장센서, 압력센서, 근접센서, 온도센서 등을 더 포함할 수 있다. 동작정보는 어플리케이션의 실행에 따라 모바일 장치 내에서 작동하는 대응 컴포넌트에 관한 정보로서, 컴포넌트의 모델명, 실행시간, CPU 사용률, 통신관련상태 등을 포함할 수 있다.
이러한 모바일 장치(100)는 각 컴포넌트의 동작정보를 수집하는 컴포넌트 동작 수집부(110), 측정 및 분석 장치(200)로부터 전력을 공급받는 전원부(120)를 포함한다.
컴포넌트 동작 수집부(110)는 모바일 장치(100)를 구성하는 컴포넌트의 상태와 관련된 정보를 수집한다. 여기서, 컴포넌트의 상태는 운영체제에서 취득할 수 있는 컴포넌트의 정보에 기반한 전력 소모 관점에서 컴포넌트의 동작에 대한 구분이다. 컴포넌트의 상태에 머무른 시간에 비례하여 전력을 소모하며, 동일한 상태인 경우 동일한 전력 소모량을 갖는다. 예컨대, Display는 특정 Screen 밝기에서의 단위 소모 전력과 사용시간의 곱, Phone(Call)은 통화에 대한 단위 소모 전력과 사용 시간의 곱, Bluetooth는 데이터 전송에 대한 단위 소모 전력과 데이터 전송량의 곱과 Bluetooth 사용에 대한 단위 소모 전력과 사용 시간의 곱의 합산, Wi-Fi는 Wi-Fi의 사용에 대한 단위 소모 전력과 사용 시간의 곱과 Wi-Fi 스캔에 대한 단위 소모 전력과 스캔 시간의 곱과 데이터 전송에 대한 단위 소모 전력과 데이터 전송량의 곱의 합산, CPU는 특정 CPU의 클럭 속도에서의 단위 소모 전력과 시스템 코드와 앱 코드에서의 실행 시간의 곱, GPS는 GPS에 대한 단위 소모 전력과 사용 시간의 곱이 소모 전력량일 수 있다.
따라서, 컴포넌트의 소모 전력을 추정하기 위하여 요구되는 각 컴포넌트에 대한 동작정보(상태정보)는 Display의 경우 Screen 밝기와 Screen 사용 시간, Phone(Call)의 경우 통화 사용 시간, Bluetooth의 경우 데이터 전송량 및 Bluetooth 사용 시간, Wi-Fi의 경우 Wi-Fi 사용 시간, 스캔 시간 및 데이터 전송량, CPU의 경우 시스템 코드의 실행 시간, 앱 코드의 실행 시간 및 클럭 속도, GPS의 경우 GPS 사용 시간일 수 있다.
예컨대, 특정 모바일 장치(100)에서의 전력모델(회귀모델)은 표 1과 같을 수 있다. 표 1에는 모바일 장치(100)를 구성하는 컴포넌트들의 전력 소모에 영향을 미치는 요소들이 정리되어 있고, 이를 통해 모바일 장치(100)의 전체 소모 전력의 추정이 가능하다.
[표 1]
Figure pat00001
컴포넌트 동작 수집부(110)는 운영체제에서 기본적으로 제공되고 있는 시스템 서비스(예컨대, BatteryStats)를 사용하거나, 기기의 운영체제 수정 및 드라이버 추가 등을 통해 컴포넌트의 동작정보를 수집할 수 있다. 운영체제에서 기본적으로 제공하고 있는 시스템 서비스를 이용할 경우, 컴포넌트의 동작 정보를 수집하기 위한 추가적인 연산이 없기 때문에 탐침효과가 발생하지 않는다. 그러나, 수집된 컴포넌트의 동작정보를 외부로 출력하기 위해서는 매우 큰 연산을 필요로 하기 때문에, 실시간으로 컴포넌트의 동작정보를 수집하기에는 한계가 있다. 또한, 컴포넌트 동작 수집부(110)를 추가하는 경우에는 운영체제에서 기본적으로 제공하는 시스템 서비스에 비해 상세한 컴포넌트 동작 정보를 획득할 수 있기 때문에 이를 통해 얻은 데이터로 학습한 컴포넌트 상태 추정 모델의 정확도는 높을 수 있다. 하지만, 이러한 방식은 운영체제의 수정으로 인한 보안 및 안전성 문제를 가지고 있으며, 운영체제와 컴포넌트의 종류 및 버전에 의존적이기 때문에 확장성 및 이식성이 떨어진다는 단점이 있다. 컴포넌트 동작 수집부(110)를 통해 수집된 정보들은 학습서버(300)로 전송된다.
이하, 컴포넌트 동작 수집부(110)가 운영체제에서 제공하는 시스템 서비스인 BatteryStats를 이용하는 경우에 대해 설명하기로 한다. BatteryStats은 안드로이드에서 시스템에 특별한 수정 없이 활용 가능한 명령어로 기기에 대한 의존성이 없어 다양한 기기에 적용이 가능하다. 이를 통해 Display, Cellular, Wi-Fi, GPS 등의 사용시간과 같은 정보를 획득 가능하다.
표 2는 BatteryStats을 통해 확인할 수 있는 컴포넌트들과 각 컴포넌트들로부터 얻어올 수 있는 정보들의 예시를 나타낸다.
[표 2]
Figure pat00002
컴포넌트 동작 수집부(110)는 모바일 장치(100)에 설치 가능한 어플리케이션으로 추출된 정보를 기반으로 장치에 대한 사용률을 기록한다. 여기서, 사용률은 샘플링 시간에 대한 장치의 사용 정도를 의미하고, 대상이 되는 장치의 변수의 종류에 따라 의미가 다르다. 장치에 대한 변수 중 스크린의 사용 시간, 통화 사용 시간, 블루투스 사용 시간, Wi-Fi 사용 시간, GPS 사용 시간에서는 샘플링 시간 동안 장치가 동작했던 시간을 의미하고, 블루투스의 데이터 전송량, Wi-Fi의 데이터 전송량에 대해서는 샘플링 시간에 대한 데이터 전송량을 의미한다. 그리고 스크린의 밝기에 대해서는 샘플링 시간에서의 화면의 밝기를 의미하고, CPU의 실행 시간에 대해서는 샘플링 시간 동안 시스템 코드와 유저 코드를 실행하는데 소요되었던 시간을 의미한다.
측정 및 분석 장치(200)는 모바일 장치(100)에 공급하는 전력량을 측정하여, 모바일 장치(100)의 전체 소모 전력을 측정한다. 즉, 측정 및 분석 장치(200)는 모바일 장치(100)에 외부전력을 공급하고, 모바일 장치(100)에 공급되는 전력량을 측정하여 모바일 장치(100)의 전체 소모 전력을 측정할 수 있다. 이때, 모바일 장치(100)의 전체 소모 전력은 모바일 장치(100)의 배터리 탈착에 따라 2가지 방법으로 측정할 수 있다. 첫번째 방법으로, 모바일 장치(100)에서 배터리를 분리하지 않고 모바일 장치(100)의 소모 전력을 측정할 수 있다. 이 경우, 모바일 장치(100)는 배터리 완충 시, 배터리 충전을 위한 회로를 단락시키고, 배터리가 아닌 외부에서 공급되는 전력만으로 모바일 장치(100)를 동작시키는 원리를 활용한다. 이러한 원리를 활용하면, 배터리를 분리하지 않고도, 모바일 장치(100)의 소모 전력을 측정할 수 있다. 이러한 방법은 배터리 분리가 필요없어 배터리 일체형 모바일 장치에도 손쉽게 적용이 가능하나, 모바일 장치(100)가 완전히 충전된 상태에서 정확한 전력측정이 가능하며, 충전 중인 상태에서는 정확한 소모 전력을 측정할 수 없다. 두번째 방법으로, 모바일 장치(100)에서 배터리 단자를 분리하고, 분리된 배터리 단자를 통해 전력을 공급하여, 모바일 장치(100)의 소모 전력을 측정할 수 있다. 이 경우, 충전 상태라는 상태가 존재하지 않아, 아무때나 측정이 가능하나, 배터리 단자의 분리가 요구된다.
측정 및 분석 장치(200)는 모바일 장치(100)의 전체 소모 전력을 컴포넌트 상태 추정 모델에 입력하여 컴포넌트 상태를 추정하고, 추정된 컴포넌트 상태를 통해 각 컴포넌트의 소모 전력을 산출하여 표시한다.
이러한 측정 및 분석 장치(200)는 용이성(Easy to setup), 이동성(Mobility), 이식성(Portability), 정밀성(Resolution), 정확성, 실시간성 등이 가능할 수 있다. 여기서, 용이성은 측정 환경의 셋업이 쉬워야 함을 의미하고, 정밀성은 휴대형 장비의 단점인 낮은 분해능을 극복해야 함을 의미하고, 이동성은 이동 중 측정이 가능함을 의미한다. 즉, 모바일 장치가 동작하는 상황은 이동 중인 경우가 많으므로 이동 중에도 측정이 가능한가는 중요한 요소이다. 따라서, 소형화된 측정도구와 휴대 가능한 전원, PC가 필요 없는 측정방식으로 이동 중에도 측정이 가능해야 한다. 이식성은 모바일 장치의 제한 없이 측정이 가능함을 의미한다. 모바일 장치의 기종과 형태는 다양해지고 있고, 기종이 다르면 사용된 컴포넌트가 다를 수 있어 소모 전력을 예상하기 어렵다. 또한 최근 출시하는 모바일 장치 중에는 배터리를 분리할 수 없는 형태의 배터리내장형 기기도 있기 때문에 모든 기종에 이식이 가능해야 한다. 정확성은 측정 기술의 발전으로 정밀함의 차이는 있으나, 측정값은 정확해야 함을 의미한다. 분석 장치(200)에서 정확성은 모바일 장치(100)의 실제 사용량을 정확히 반영하는가로, 에너지 모델을 사용한 분석 방식은 동작이 모델에 반영되어 있는가에 그 결과가 달라진다. 실시간성은 측정과 동시에 측정값 확인이 가능해야 함을 의미한다.
도 2는 측정 및 분석 장치(200)로 모바일 장치(100)의 전력을 측정하는 모습을 나타낸다. 외부 배터리를 통해 측정 및 분석 장치(200)와 모바일 장치(100)에 전력을 공급하며, 측정 및 분석 장치(200)에서는 모바일 장치(100)로 공급되는 전력을 측정한다.
이러한, 측정 및 분석 장치(200)는 전력 공급부(210), 근거리 통신부(미도시), 전력 측정부(220), 컴포넌트 동작 분석부(230), 디스플레이부(240), 저장부(250)를 포함한다.
전력 공급부(210)는 외부 전력 공급 방식으로, 모바일 장치(100)에 전력을 공급하며 공급 전력을 측정할 수 있다. 이때, 모바일 장치(100)에서 배터리를 분리하지 않고 전력을 공급 및 측정할 수 있고, 배터리 단자를 분리하여 전력을 공급 및 측정할 수도 있다.
전력 공급부(210)는 모바일 장치(100)에 안정적인 전력을 공급한다. 이동 중 모바일 장치(100)의 전력을 측정 및 분석이 가능하게 하려면 가장 중요한 것은 전력 공급부(210)이다. 전원소스가 휴대 가능하지 않다면 전력 측정 및 분석 장치(200)는 이동성을 상실한다. 휴대 가능한 전원소스에 의해서 도구가 동작되도록 해야 하고, 동시에 전원 소스가 고정적이라면 측정의 자유도를 저해하므로, 여러 전원소스에 대응할 수 있어야 한다. 예컨대, 모바일 장치(100)의 USB 단자로 전력을 공급하고, 공급한 전력을 측정하면 배터리 내장형 기기에 대한 제한이 없어진다. 또한, 저항에 의한 전력 손실을 줄이고 측정값이 유효한 범위에 있도록 하는 크기의 전류센서용 정밀저항을 사용할 수 있다. 측정 및 분석 장치(200)를 거쳐서 전력을 공급하면 모바일 장치(100)에서 소모되는 전력의 측정이 가능하고, 외장 보조 배터리를 사용하듯이 안정적인 전력을 공급할 수 있다.
근거리 통신부는 모바일 장치(100)와의 무선 통신을 수행하는 구성으로, 예컨대, 블루투스 등일 수 있다. 측정 및 분석 장치(200)는 근거리 통신부를 통해 모바일 장치(100)와 제어 명령어를 송수신하여 모바일 장치(100)와 측정 및 분석 장치(200)를 제어할 수 있다.
전력 측정부(220)는 전력 공급부(210)에서 모바일 장치(100)에 공급되는 전력량을 측정하여, 모바일 장치(100)의 전체 소모 전력을 측정한다. 전력 측정부(220)에서 측정된 전력은 학습 서버(300)에 전송되어 컴포넌트 상태 추정 모델의 학습을 위한 데이터를 생성하거나, 컴포넌트 동작 분석부(230)에 전송되어 분석을 위해 사용된다. 전력의 측정은 모바일 장치(100)에 공급하는 전원에 전류센서용 정밀저항을 직렬 연결하여 저항 양단에 걸리는 전압차를 이용하여 전류를 구하면 전력을 계산할 수 있다.
즉, 전력 측정부(220)는 전류 센서용 저항을 이용하고, 전류센서용 저항에서 입력 받는 전압은 mV단위 이하의 미세전압이다. 따라서, 전력 측정부(230)는 1mA 수준의 분해능을 가지기 위해 입력전압을 200배 증폭할 수 있도록 설계되고, 편리하게 모바일 장치(100)의 전력사용을 분석하기 위해서 전체 소모 전력을 측정할 수 있다.
컴포넌트 동작 분석부(230)는 컴포넌트 상태 추정 모델에 모바일 장치(100)의 전체 소모 전력을 입력으로 하는 기계학습을 이용하여 컴포넌트의 상태를 추정하고, 추정된 컴포넌트의 상태를 통해 각 컴포넌트의 소모전력을 실시간으로 추정한다.
즉, 컴포넌트 동작 분석부(230)는 학습 서버(300)에서 학습이 완료된 컴포넌트 상태 추정 모델을 이용하여 모바일 장치(100)에서 소모되는 전체 전력을 컴포넌트의 상태로 분리하고, 추정된 컴포넌트의 상태 정보를 통해 각 컴포넌트의 소모 전력을 산출한다. 이때, 컴포넌트의 상태 정보를 사용하여 컴포넌트의 소모 전력을 추정하기 위해서는 회귀 모델(전력 모델)이 사용될 수 있다. 회귀 모델은 이미 널리 사용되고 있는 모바일 장치 운영체제의 회귀 모델을 재사용하거나, 새로운 컴포넌트 별 소모 전력 추정 모델을 사용할 수 있다.
구체적으로, 컴포넌트 동작 분석부(230)는 전력 측정부(220)에서 측정된 전체 소모 전력이 컴포넌트 상태 추정 모델에 입력되며, 모바일 장치(100)를 구성하는 컴포넌트들의 상태가 출력으로 나오게 된다. 컴포넌트의 상태 정보는 디스플레이부(240)로 전달되어 실시간으로 사용자에게 보여지거나, 전력모델(회귀 모델)을 통해 컴포넌트가 소모하는 전력을 추정하는데 이용된다. 물론, 추정된 컴포넌트 별 소모 전력 또한 디스플레이부(240)로 전달되어 실시간으로 사용자에게 제공된다.
한편, 컴포넌트 동작 분석부(230)가 전력 측정부(220)에서 측정된 전력 데이터와 컴포넌트 동작정보의 분석을 위해서는 동기화가 요구된다. 이를 위해, 전력 측정부(220)는 모바일 장치(100)의 초기 측정 시간을 전송하고, 이후 초기 측정 시간을 기준으로 시스템 시간을 보정하는 방식으로 모바일 장치(100)의 시간에 동기화한다. 측정 시작 이후, 전력을 측정하여 동기화된 측정 시간과 함께 기록하여, 측정 시간에 따른 컴포넌트의 상태 분석이 가능하도록 되어있다. 구체적으로, 모바일 장치(100)의 컴포넌트 동작 수집부(110)는 샘플링 시간에 이전 샘플링 시간과 현재 샘플링 시간 사이 동안의 장치의 사용률을 기록하고, 모바일 장치(100)의 시간을 기준으로 샘플링이 발생하였던 시간을 기록하게 된다. 즉, 전력 측정 파일과 컴포넌트 동작 로그 파일에 각 기록마다 동기화된 시간이 기록되어 있어, 시간의 비교를 통해 분석하는 것이 가능하다.
도 3은 컴포넌트 동작 수집부(110)와 전력 측정부(220)를 통해 모바일 장치(100)에서 소모하였던 전력을 추정하는 과정을 설명하기 위한 예시도이다. 먼저, 각 컴포넌트의 사용률에 따른 전력 변화를 확인 가능하도록 제한된 환경을 구성하고, 전력 측정부(220)와 컴포넌트 동작 수집부(110)로 컴포넌트의 동작에 따른 전력을 측정하여 전력 모델을 생성한다. 이 후, 컴포넌트 동작 수집부(110)에서 어플리케이션의 수행에 따라 컴포넌트의 동작에 따른 사용률을 수집하고, 생성된 전력 모델을 활용하여 사용률에 따른 소모전력을 계산함으로써 각 컴포넌트의 전력을 추정할 수 있다. 여기서, 전력모델이란 어플리케이션의 실행에 따른 해당 컴포넌트의 전력 소모 분석을 위해 사용되는 모델로서, 어플리케이션 별 컴포넌트로부터 추출된 신호에 기초하여 소모되는 전력량을 파악할 수 있다. 참고로, 전력모델은 측정 및 분석 장치 내에 미리 저장해두어 사용되거나, 저장되지 않은 경우에는 개발자로부터 분석 대상 어플리케이션이 실행되는 모바일 장치(100)의 전력 모델을 직접 입력받아 사용될 수 있다.
구체적으로, 컴포넌트 동작 분석부(230)는 어플리케이션의 실행에 따른 해당 컴포넌트 별 전력 소모량을 나타내는 전력모델 및 컴포넌트 별 적어도 하나의 동작상태을 나타내는 상태정보에 기초하여 실시간 전력 소모량을 산출할 수 있다. 즉, 컴포넌트 동작 분석부(230)는 컴포넌트마다 컴포넌트가 어떤 동작을 하고 있는지에 따라 각 동작을 취하고 있을 때의 전력 소모량을 전력모델에 기초하여 개별적으로 산출할 수 있다.
예컨대, 메모장 어플리케이션이 실행되는 경우에 Memory 컴포넌트가 동작한다고 가정한다. 이때, 현재상태가 메모장 어플리케이션을 최초에 실행만 시킨 경우 Memory 컴포넌트는 초기상태로서 10mW의 전력을 소모하고 있음을 전력모델로부터 산출할 수 있고, 현재상태가 특정 메모를 저장하고 있는 경우 Memory 컴포넌트는 50 mW의 전력을 소모하고 있음을 전력모델로부터 산출할 수 있다.
한편, 컴포넌트 동작 분석부(230)는 컴포넌트 별 초기상태로부터 적어도 하나의 중간상태를 선택적으로 거친 현재상태까지의 변화를 나타내는 상태천이정보에 더 기초하여 실시간 전력 소모량을 산출할 수도 있다. 즉, 컴포넌트 동작 분석부(230)는 컴포넌트마다 컴포넌트의 동작이 어떻게 변하는지에 따라 각 동작의 실시간 변화가 반영된 전력 소모량을 전력모델에 기초하여 개별적으로 산출할 수 있다. 참고로, 상태천이정보는 초기상태로부터 중간상태를 거치지 않고 현재상태까지의 변화를 나타낼 수 있고, 초기상태로부터 최소 하나의 중간상태를 거친 현재상태까지의 변화를 나타낼 수도 있다.
예컨대, 전화 걸기 어플리케이션이 실행되는 경우에 3G 모듈이 동작한다고 가정한다. 이때, 현재상태가 어플리케이션을 최초에 실행만 시킨 경우 3G 컴포넌트는 초기상태로서 10 mW의 전력을 소모하고 있음을 전력모델로부터 산출할 수 있고, 현재상태가 전화 연결된 상태이되 전화 연결을 위한 대기 상황을 거쳐 전화 연결이 되는 경우 3G 모듈은 중간상태를 거친 현재상태로서 300 mW의 전력을 소모하고 있음을 전력모델로부터 산출할 수 있으며, 현재상태가 전화 연결된 상태이되 전화 연결을 위한 대기 상황을 거치지 않고 바로 전화 연결이 되는 경우 3G 모듈은 중간상태를 거치지 않은 현재상태로서 100 mW의 전력을 소모하고 있음을 전력모델로부터 산출할 수 있다.
이를 통해, 컴포넌트의 동작상태가 초기상태로부터 현재상태로 변화한 경우와 초기상태로부터 적어도 하나의 중간상태를 거쳐 현재상태로 변화한 경우에 소모되는 전력량은 서로 상이할 수 있음을 확인할 수 있다. 예컨대, 컴포넌트의 동작상태가 초기상태로부터 바로 현재상태로 변화한 경우보다 적어도 하나의 중간상태를 거쳐 현재상태로 변화한 경우에 더 많은 전력을 소모할 수 있다. 이와 같이 상태천이정보까지 반영함으로써 개발자는 대응 컴포넌트가 소모하는 전력에 대하여 실시간으로 정확한 분석이 가능하다.
이로써, 본 발명의 일 실시예에 따르면, 현재 실행되는 어플리케이션에 대응되는 컴포넌트의 동작상태만이 아니라 현재상태 이전에 어떤 상태를 취했고 어떤 상태를 거쳐 현재상태를 취하고 있는지에 대한 상태 변화를 즉각적으로 반영하여 전력 소모량을 산출할 수 있다.
컴포넌트 동작 분석부(230)에서 분석된 결과는 측정 및 분석 장치 내의 저장부(250)에 저장되거나, 디스플레이부(240)에 전달되어 사용자에게 제공된다.
디스플레이부(240)는 전력 측정부(220)에서 측정한 모바일 장치(100)의 전체 소모 전력과 컴포넌트 동작 분석부(230)에서 분석한 결과인 컴포넌트 별 상태 정보 및 소모 전력을 디스플레이한다. 이때, 디스플레이부(240)는 직관적인 제공을 위해 소모 전력량을 그래프(예컨대, 누적형 꺾은선 그래프, 원형 그래프)의 형태로 시각화 할 수 있다. 또한, 디스플레이부(240)는 시스템의 사용자가 FSM과 같은 시각화가 가능한 모델을 분석하고자하는 모바일 기종에 맞게 입력해준다면, 해당 부에서는 이를 시각화하여 제공할 수 있다.
디스플레이부(240)는 측정 및 분석 장치(200)의 사용자에게 실시간으로 전체 소모 전력량과 컴포넌트 동작 분석부(230)에서 나온 컴포넌트의 정보(컴포넌트의 상태 또는 소모전력)를 표시한다. 예컨대, 사용자의 직관적인 이해를 위해 도 4와 같이 시각화하여 제공할 수 있다. 이때, 분석하고 싶은 컴포넌트들만 확인이 가능하도록, 모바일 장치(100)를 구성하는 컴포넌트들 중 확인하고 싶은 컴포넌트를 설정하는 것이 가능하다.
도 4를 참조하면, 디스플레이부(240)는 1과 같이 시간별 컴포넌트 소모 전력을 표시할 수 있다. 시간에 따른 각 컴포넌트의 소모 전력을 누적 그래프를 이용하여 시각화한다. 그러면, 현재 소모하는 모바일 장치(100)의 총 소모 전력과 그 소모 전력을 구성하는 컴포넌트를 직관적으로 확인할 수 있다. 또한, 디스플레이부(240)는 각 컴포넌트가 소모하는 전력의 정확한 수치를 제공하기 위해 2와 같이 수치를 제공할 수 있다. 또한, 디스플레이부(340)는 3과 같이 컴포넌트 별 소모 전력 비중을 표시할 수 있다. 측정 및 분석 장치(200)로 측정을 시작한 순간부터 현재까지 소모한 전력의 누적치를 원형 그래프로 시각화한다. 이를 통해, 가장 전력을 많이 소모하는 컴포넌트와 적게 소모하는 컴포넌트를 직관적으로 구분할 수 있다. 또한, 디스플레이부(240)는 2, 4와 같이 컴포넌트 상태를 표시할 수 있다. 모바일 장치(100)를 구성하고 있는 컴포넌트의 상태를 2의 표와 같이 제공한다. 본 시스템의 사용자가 FSM(Finite State Machine)과 같은 시각화가 가능한 모델을 분석하고자하는 모바일 장치(100)의 기종에 맞게 입력해준다면, 해당 부에서는 이를 시각화하여 제공할 수 있다. FSM과 같이 시각화하여 표현이 가능한 모델과 회귀 모델을 같이 시각화하여 표현이 가능한 전력 모델은 4와 같이 표현이 가능하며, 사용자가 시각화하여 나타내고 싶은 컴포넌트를 2와 같이 선택하면 선택한 컴포넌트에 해당하는 전력 모델이 4와 같이 시각화된다.
상기와 같이 구성된 측정 및 분석 장치(200)는 모바일 장치(100)에 의존성 없이 측정 가능하도록 설계되고, 휴대 가능하다.
또한, 측정 및 분석 장치(200)는 외부 전력 공급 방식으로 구현되고, One board computer인 Raspberry-Pi를 활용할 수 있으며, Raspberry-Pi에 설치된 OS위에서 프로그램을 구동하는 방식을 이용할 수 있다. OS를 이용하여 확장하기에 용이하지만 OS를 유지하기 위해 시스템에 걸리는 부하를 무시할 수 없어 상대적으로 가벼운 Arch linux를 사용할 수 있다. 전류를 측정하기 위해서 션트저항을 이용하는데, 션트저항은 저항의 크기와 저항에 걸리는 전압을 이용하여 전류를 측정한다.
학습 서버(300)는 모바일 장치(100)에서 수집된 컴포넌트의 동작정보, 측정 및 분석 장치(200)에서 측정된 전체 소모전력을 이용하여 컴포넌트 상태 추정 모델을 학습하고, 컴포넌트 상태 추정 모델을 측정 및 분석 장치(200)로 전송한다.
이러한 학습 서버(300)는 학습 데이터 관리부(310), 컴포넌트 상태 추정 모델 학습부(320)를 포함한다. 또한, 학습 서버(300)는 학습 데이터 관리부(310)에서 생성된 학습 데이터를 저장하는 학습 데이터 데이터베이스(330), 컴포넌트 상태 추정 모델 학습부(320)에서 생성된 컴포넌트 상채 추정 모델을 저장하는 컴포넌트 상태 추정 모델 데이터베이스(340)를 더 포함할 수 있다. 여기서는 학습 데이터 데이터베이스(330)와 컴포넌트 상태 추정 모델 데이터베이스(340)를 별도로 구성하였으나, 하나의 데이터베이스로 구성할 수 있다.
학습 데이터 관리부(310)는 모바일 장치(100)의 컴포넌트 동작 수집부(110)에서 수집된 컴포넌트의 동작 정보와 측정 및 분석 장치(200)의 전력 측정부(220)에서 측정된 전력 소모량을 이용하여 학습 데이터를 생성한다. 즉, 학습 데이터 관리부(310)는 동일 시간에서의 컴포넌트 동작과 모바일 장치(100)에서 소모된 전체전력을 매칭하여 하나의 데이터 셋(입력 데이터와 그에 상응하는 출력 데이터)을 생성한다. 이때 생성된 데이터 셋이 학습 데이터일 수 있다. 따라서, 학습 데이터는 입력 데이터와 그에 상응하는 출력 데이터로 구성되고, 컴포넌트 동작 수집부(110)에서 수집한 컴포넌트 동작 정보와 전력 측정부(220)에서 측정한 소모 전력을 시간을 기준으로 매칭하여 생성된다. 여기서, 입력 데이터는 일정 시간 내에서의 모바일 장치(100)의 전체 소모 전력과 해당 전력을 통해 각 컴포넌트의 상태와 컴포넌트 별 소모 전력을 분석하기 용이하도록 참고가 될 수 있는 정보로 구성된다. 컴포넌트 상태 및 컴포넌트 별 소모 전력의 분석에 용이한 정보로는 현재 동작 중인 센서의 센싱 주기나 실행되고 있는 어플리케이션의 UID(어플리케이션의 이름), 컴포넌트의 동작 순서와 같은 것이 있을 수 있다. 출력 데이터는 각 컴포넌트의 상태가 될 수 있다.
또한, 학습 데이터 관리부(310)는 생성된 학습 데이터를 학습 데이터 데이터베이스(330)에 저장 및 관리하여 컴포넌트 상태 추정 모델 학습부(320)에서 컴포넌트 상태 추정 모델 학습에 사용될 수 있도록 제공한다. 모바일 장치(100)를 구성하는 컴포넌트의 상태를 1, 2, 3과 같이 라벨을 붙여 표현하지 않고 컴포넌트의 상태 하나 하나를 한 분류군으로 표현하며, 모바일 장치(100)를 구성하는 컴포넌트의 상태 개수가 총 분류군 수가 된다. 상태는 명목 데이터(nominal data)로 순서를 매길 수 없이 하나의 이름을 가진 데이터이다. 또한, 상태는 1, 2, 3과 같이 데이터 사이의 순서가 존재하는 순서 데이터(ordinal data)로 표현이 될 수 없다. 순서 데이터의 경우 1과 3사이의 2라는 데이터는 1과 3의 중간이라는 의미를 가지나, 상태는 명목 데이터로 1, 2, 3과 같이 라벨을 붙일 경우, 2번 상태가 1번 상태와 3번 상태의 중간이라는 의미를 갖지 않기 때문에 라벨을 붙여 표현할 수 없다.
컴포넌트가 어떤 상태에 속할 경우, 해당 상태를 표현하는 분류군은 1의 값을 가지며, 나머지 분류군은 0의 값을 가지게 된다. 예를 들어, Wi-Fi 컴포넌트의 경우, 총 3가지의 상태(Default, Data Transmission, Wi-Fi Scan)를 가질 수 있다. 3가지 상태가 각각의 분류군이 되며 현재 Wi-Fi 컴포넌트의 상태는 3가지 상태 중 하나일 것이므로 3개의 분류군 중 한 분류군이 1을 가질 수 있다.
컴포넌트 상태 추정 모델 학습부(320)는 모바일 장치(100)의 전체 소모 전력을 통해 각 컴포넌트의 상태를 분석(추정)하는 역할을 하는 컴포넌트 상태 추정 모델을 학습한다. 이때, 컴포넌트 상태 추정 모델 학습부(320)는 학습 데이터 관리부(310)에서 생성한 학습 데이터를 이용하여 컴포넌트 상태 추정 모델을 학습시킨다.
구체적으로 컴포넌트 상태 추정 모델 학습부(320)는 컴포넌트 상태 추정 모델을 통해 컴포넌트들의 상태 정보를 추정하고, 컴포넌트별 전력 소모량을 나타내는 전력 모델을 이용하여 상기 추정된 컴포넌트 상태정보에 따른 해당 컴포넌트의 소모전력을 각각 추정하며, 상기 추정된 컴포넌트들의 소모 전력 합으로 산출된 모바일 장치의 전체 소모 전력과 실제 측정된 모바일 장치의 전체 소모 전력의 차를 기 정의된 임계치와 비교하여, 그 차가 임계치보다 작은 경우 컴포넌트 상태 추정 모델의 학습을 완료하고, 작지 않은 경우 새로운 학습 데이터를 이용하여 동일한 과정을 반복하여, 컴포넌트 상태 추정 모델을 학습한다. 컴포넌트 상태 추정 모델은 머신러닝과 같은 알고리즘을 이용하여 모바일 장치(100)에서 소모되는 전체 전력으로 모바일 장치(100)를 구성하는 각 컴포넌트들의 상태를 출력한다.
알고리즘의 예로는 시간에 따른 소모 전력과 컴포넌트 상태 변화를 반영하기 위해 순차 데이터 패턴 학습이 가능한 RNN 등이 있다. RNN(Recurrent Neural Network)은 시간의 흐름에 따라 변화하는 데이터를 학습하기 위한 알고리즘으로, 기준시점과 다음 시점이 연결되어 현재의 값을 계산하기 위해 과거의 값이 영향을 미친다.
도 5는 RNN의 일반적인 구조로, 어떤 입력이 들어가 과거의 값을 반영한 Hidden Node를 지나 출력으로 나오게 된다. 본 발명에 RNN을 적용할 경우, 이전의 출력인 이전 컴포넌트의 상태들과 현재 소모되는 모바일 장치(100)의 전체 전력 그리고 컴포넌트의 상태를 분석하는데 용이한 정보가 입력으로 들어가게 되며, 해당 정보들은 Hidden Node를 거쳐 출력인 컴포넌트들의 상태가 나오게 된다.
도 6은 모바일 장치(100)가 CPU로만 이루어져 있다는 가정 하에 RNN 모델의 입출력 형태를 표현한 것이다. CPU는 총 N개의 상태로 구성되며 각 상태는 분류군이 된다. 각 분류군은 0에서 1 사이의 확률 값을 가지게 되며 가장 큰 확률 값을 가진 분류군이 현재 CPU의 상태로 인식된다. 컴포넌트 상태 추정 모델의 학습은 컴포넌트 상태 추정 모델을 통해 얻어진 각 컴포넌트의 상태 정보를 이용하여 전력 모델(회귀 모델)을 통해 추정한 전력량과 입력데이터의 모바일 장치(100)의 전체 소모 전력의 차가 미리 정의된 임계치 미만이면 학습을 완료하고, 아닌 경우 새로운 학습 데이터를 이용하여 동일한 과정을 반복하여 학습한다. 학습이 완료된 모델은 컴포넌트 상태 추정 모델 데이터베이스(340)에 저장되며, 추후 측정 및 분석 장치(200)에서의 요청이 있을 경우 측정 및 분석 장치(200)에 제공된다.
한편, 도 1에서는 컴포넌트 동작 수집부(110)가 구비된 모바일 장치(100), 전력 측정부(220) 및 컴포넌트 동작 분석부(230)가 구비된 측정 및 분석 장치(200), 컴포넌트 상태 추정 모델 학습부(320)가 구비된 학습서버(300)를 별도의 장치로 구현하였으나, 컴포넌트 동작 수집부(110), 전력 측정부(220), 컴포넌트 동작 분석부(230) 및 컴포넌트 상태 추정 모델 학습부(320)는 하나의 장치로 구현할 수도 있다.
도 7은 본 발명의 일 실시예에 따른 컴포넌트 상태 추정 모델 학습 방법을 설명하기 위한 순서도이다.
도 7을 참조하면, 학습 서버는 학습 데이터가 입력되면(S1010), 그 학습 데이터를 이용하여 컴포넌트 상태 추정 모델을 학습시킨다(S1020). 이때, 학습 서버는 머신러닝 등과 같은 알고리즘을 이용하여 컴포넌트 상태 추정 모델을 학습시킬 수 있다.
그런 후, 학습 서버는 컴포넌트 상태 추정 모델을 통해 얻어진 컴포넌트들의 상태 정보를 사용하여 추정된 모바일 장치의 전체 소모 전력과 실제 측정된 모바일 장치의 전체 소모 전력의 차를 기 설정된 임계치와 비교하여 학습 완료 여부를 판단한다(S1030). 즉, 학습 서버는 컴포넌트 상태 추정 모델을 통해 컴포넌트들의 상태 정보를 추정하고, 컴포넌트별 전력 소모량을 나타내는 전력 모델(회귀 모델)을 이용하여 상기 추정된 컴포넌트 상태정보에 따른 해당 컴포넌트의 소모전력을 각각 추정한다, 그런 후, 학습 서버는 추정된 컴포넌트들의 소모 전력 합으로 산출된 모바일 장치의 전체 소모 전력과 실제 측정된 모바일 장치의 전체 소모 전력의 차를 기 정의된 임계치와 비교하여, 그 차가 임계치보다 작은 경우 컴포넌트 상태 추정 모델의 학습을 완료할 수 있다.
단계 S1030의 판단결과 두 전체 소모 전력의 차가 임계치보다 작다면 컴포넌트 상태 추정 모델의 학습을 완료되고(S1040), 임계치보다 작지 않으면 새로운 학습 데이터를 이용하여 동일한 과정을 반복한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100 : 모바일 장치
110 : 컴포넌트 동작 수집부
120 : 전원부
200 : 측정 및 분석 장치
210 : 전력 공급부
220 : 전력 측정부
230 : 컴포넌트 동작 분석부
240 : 디스플레이부
250 : 저장부
300 : 학습 서버
310 : 학습 데이터 관리부
320 : 컴포넌트 상태 추정 모델 학습부
330 : 학습 데이터 데이터베이스
340 : 컴포넌트 상태 추정 모델 데이터베이스

Claims (10)

  1. 어플리케이션 실행에 따라 동작하는 컴포넌트의 동작정보를 수집하는 모바일 장치;
    상기 모바일 장치에 전력을 공급하고, 상기 공급하는 전력량을 측정하여 상기 모바일 장치의 전체 소모 전력량을 측정하는 측정 및 분석 장치;
    상기 모바일 장치로부터 컴포넌트의 동작정보와 상기 측정 및 분석 장치로부터 전체 소모 전력량을 수신하고, 상기 컴포넌트의 동작정보와 전체 소모 전력량을 이용하여 컴포넌트 상태 추정 모델을 학습하며, 상기 학습된 컴포넌트 상태 추정 모델을 상기 측정 및 분석 장치에 제공하는 학습 서버를 포함하되,
    상기 측정 및 분석 장치는,
    상기 컴포넌트 상태 추정 모델에 상기 모바일 장치의 전체 소모 전력량을 입력하여 컴포넌트 상태를 추정하고, 상기 추정된 컴포넌트 상태를 통해 각 컴포넌트의 소모 전력을 실시간으로 산출하는 것을 특징으로 하는 모바일 장치의 전력 측정 및 분석 시스템.
  2. 제1항에 있어서,
    상기 측정 및 분석 장치는,
    상기 모바일 장치에 전력을 공급하는 전력 공급부;
    상기 전력 공급부에서 공급되는 전력량을 측정하여, 상기 모바일 장치의 전체 소모 전력량을 측정하는 전력 측정부;
    상기 컴포넌트 상태 추정 모델에 상기 모바일 장치의 전체 소모 전력량을 입력으로 하는 기계학습을 이용하여 컴포넌트의 상태를 추정하고, 상기 추정된 컴포넌트의 상태를 통해 각 컴포넌트의 소모전력을 실시간으로 추정하는 컴포넌트 동작 분석부를 포함하는 것을 특징으로 하는 모바일 장치의 전력 측정 및 분석 시스템.
  3. 제2항에 있어서,
    상기 전력 측정부에서 측정한 모바일 장치의 전체 소모 전력량과 컴포넌트 동작 분석부에서 분석한 결과인 컴포넌트 별 상태 정보 및 소모 전력을 디스플레이하는 디스플레이부를 더 포함하는 것을 특징으로 하는 모바일 장치의 전력 측정 및 분석 시스템.
  4. 제2항에 있어서,
    상기 모바일 장치와의 무선 통신을 수행하는 근거리 통신부를 더 포함하는 것을 특징으로 하는 모바일 장치의 전력 측정 및 분석 시스템.
  5. 제2항에 있어서,
    상기 전력 측정부는,
    상기 모바일 장치와 시간을 동기화하고, 측정 시작 이후 상기 모바일 장치의 소모 전력을 측정하여 동기화된 측정 시간과 함께 기록하며,
    상기 컴포넌트 동작 분석부는,
    상기 측정 시간에 따른 컴포넌트의 상태를 추정하고, 컴포넌트별 전력 소모량을 나타내는 전력 모델을 이용하여 상기 컴포넌트 상태에 따른 해당 컴포넌트의 소모전력을 실시간으로 추정하는 것을 특징으로 하는 모바일 장치의 전력 측정 및 분석 시스템.
  6. 제1항에 있어서,
    상기 학습서버는,
    상기 모바일 장치에서 수집한 컴포넌트의 동작 정보와 상기 측정 및 분석 장치에서 수집한 전력 소모량을 이용하여 학습 데이터를 생성하는 학습 데이터 관리부; 및
    상기 컴포넌트의 동작정보와 상기 전체 소모전력을 이용하여 컴포넌트 상태 추정 모델을 학습하는 컴포넌트 상태 추정 모델 학습부를 포함하는 것을 특징으로 하는 모바일 장치의 전력 측정 및 분석 시스템.
  7. 제6항에 있어서,
    상기 학습 데이터 관리부는 동일 시간에서의 컴포넌트 동작과 소모 전력을 매칭하여 입력 데이터와 출력 데이터로 구성된 학습 데이터를 생성하는 것을 특징으로 하는 모바일 장치의 전력 측정 및 분석 시스템.
  8. 제7항에 있어서,
    상기 입력 데이터는, 일정 시간 내에서의 모바일 장치의 전체 소모 전력과 해당 전력을 통해 각 컴포넌트의 상태와 컴포넌트 별 소모 전력 분석을 위한 정보를 포함하고,
    상기 출력 데이터는 각 컴포넌트의 상태인 것을 특징으로 하는 모바일 장치의 전력 측정 및 분석 시스템.
  9. 제6항에 있어서,
    상기 컴포넌트 상태 추정 모델 학습부는,
    컴포넌트 상태 추정 모델을 통해 컴포넌트들의 상태 정보를 추정하고, 컴포넌트별 전력 소모량을 나타내는 전력 모델을 이용하여 상기 추정된 컴포넌트 상태정보에 따른 해당 컴포넌트의 소모전력을 각각 추정하며, 상기 추정된 컴포넌트들의 소모 전력 합으로 산출된 모바일 장치의 전체 소모 전력과 실제 측정된 모바일 장치의 전체 소모 전력의 차를 기 정의된 임계치와 비교하여, 그 차가 임계치보다 작은 경우 컴포넌트 상태 추정 모델의 학습을 완료하고, 작지 않은 경우 새로운 학습 데이터를 이용하여 동일한 과정을 반복하여, 컴포넌트 상태 추정 모델을 학습하는 것을 특징으로 하는 모바일 장치의 전력 측정 및 분석 시스템.
  10. 모바일 장치는 어플리케이션 실행에 따라 동작하는 컴포넌트의 동작정보를 수집하는 단계;
    측정 및 분석 장치는 상기 모바일 장치에 공급하는 전력량을 측정하여 상기 모바일 장치의 전체 소모 전력량을 측정하는 단계;
    상기 학습 서버는 상기 모바일 장치로부터 컴포넌트의 동작정보와 상기 측정 및 분석 장치로부터 전체 소모 전력량을 수신하고, 상기 컴포넌트의 동작정보와 전체 소모 전력량을 이용하여 컴포넌트 상태 추정 모델을 학습하며, 상기 학습된 컴포넌트 상태 추정 모델을 상기 측정 및 분석 장치에 제공하는 단계; 및
    상기 측정 및 분석 장치는 상기 컴포넌트 상태 추정 모델에 상기 모바일 장치의 전체 소모 전력량을 입력하여 컴포넌트 상태를 추정하고, 상기 추정된 컴포넌트 상태를 통해 각 컴포넌트의 소모 전력을 실시간으로 산출하는 단계
    를 포함하는 모바일 장치의 전력 측정 및 분석 방법.
KR1020180041571A 2018-04-10 2018-04-10 모바일 장치의 전력 측정 및 분석 시스템 및 그 방법 KR102047866B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180041571A KR102047866B1 (ko) 2018-04-10 2018-04-10 모바일 장치의 전력 측정 및 분석 시스템 및 그 방법
US16/375,200 US11293958B2 (en) 2018-04-10 2019-04-04 Power measurement and analysis system of mobile device and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180041571A KR102047866B1 (ko) 2018-04-10 2018-04-10 모바일 장치의 전력 측정 및 분석 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20190118353A true KR20190118353A (ko) 2019-10-18
KR102047866B1 KR102047866B1 (ko) 2019-11-22

Family

ID=68095977

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180041571A KR102047866B1 (ko) 2018-04-10 2018-04-10 모바일 장치의 전력 측정 및 분석 시스템 및 그 방법

Country Status (2)

Country Link
US (1) US11293958B2 (ko)
KR (1) KR102047866B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210107485A (ko) * 2020-02-24 2021-09-01 아주대학교산학협력단 전자 장치 및 이의 프로세싱 유닛의 소모 전력 산출 방법
KR20230014320A (ko) * 2021-07-21 2023-01-30 (주)한성컴퓨터 컴퓨터의 절전모드 진입 제어방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7288189B2 (ja) * 2019-05-29 2023-06-07 富士通株式会社 ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012063917A (ja) * 2010-09-15 2012-03-29 Ntt Docomo Inc アプリケーションの消費電力を評価する装置、配信サーバ及び方法
KR20160107692A (ko) * 2015-03-05 2016-09-19 변지원 실시간 전력 측정 장치 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102360178B1 (ko) * 2015-08-25 2022-02-08 삼성전자주식회사 애플리케이션 리스트를 제공하는 시스템 및 그 방법
US10338661B2 (en) * 2016-09-20 2019-07-02 International Business Machines Corporation Planning and managing the power utilization of a battery-powered device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012063917A (ja) * 2010-09-15 2012-03-29 Ntt Docomo Inc アプリケーションの消費電力を評価する装置、配信サーバ及び方法
KR20160107692A (ko) * 2015-03-05 2016-09-19 변지원 실시간 전력 측정 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210107485A (ko) * 2020-02-24 2021-09-01 아주대학교산학협력단 전자 장치 및 이의 프로세싱 유닛의 소모 전력 산출 방법
KR20230014320A (ko) * 2021-07-21 2023-01-30 (주)한성컴퓨터 컴퓨터의 절전모드 진입 제어방법

Also Published As

Publication number Publication date
KR102047866B1 (ko) 2019-11-22
US11293958B2 (en) 2022-04-05
US20190310291A1 (en) 2019-10-10

Similar Documents

Publication Publication Date Title
KR102047866B1 (ko) 모바일 장치의 전력 측정 및 분석 시스템 및 그 방법
US8086882B2 (en) Energy measurement techniques for computing systems
CN102265123B (zh) 重量测定装置
KR101477179B1 (ko) 어플리케이션의 전력 효율을 결정하고 표시하는 방법 및 단말기
US20210181256A1 (en) Estimation system, estimation device, estimation method, program, and storage medium
US20120130660A1 (en) Battery Life Monitor System and Method
CN103366221B (zh) 信息处理装置及信息处理方法
CN104854467A (zh) 利用电池上电路远程感测剩余电池容量
CN109359020A (zh) 启动时间测试方法及装置、计算机装置及存储介质
CN111225603A (zh) 提供与用户活动相对应的压力指数的电子设备和方法
US7234068B2 (en) Trace data and power measurement data matching apparatus and method that adds synchronization markers
CN113419941A (zh) 评估方法及装置、电子设备和计算机可读存储介质
KR20220075123A (ko) 전기 버스의 배터리 상태 분석 서비스 시스템
CN114595124A (zh) 时序异常检测模型评估方法、相关装置及存储介质
US9032129B2 (en) Advanced energy profiler
CN108254541A (zh) 血糖检测数据修正方法、装置和血糖仪
CN105095093A (zh) 一种智能终端性能测试方法及系统
Rattagan et al. Clustering and symbolic regression for power consumption estimation on smartphone hardware subsystems
CN114036074A (zh) 终端设备的测试方法和测试装置
RU2453912C2 (ru) Унифицированный способ оценки эффективности больших систем и автоматизированное устройство его осуществления
KR102408222B1 (ko) 전력 모델 증분 학습 방법 및 장치
CN116578227B (zh) 智能手表的屏幕控制方法、装置、设备及存储介质
US9594124B2 (en) Battery charge meter testing
Heitmann et al. EG0N: Portable in-situ energy measurement for low-power sensor devices
CN109902023A (zh) 一种测试代码移交控制方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant