KR20240027146A - 애플리케이션에 대한 환경 영향 전력 소비량 등급 - Google Patents

애플리케이션에 대한 환경 영향 전력 소비량 등급 Download PDF

Info

Publication number
KR20240027146A
KR20240027146A KR1020247005305A KR20247005305A KR20240027146A KR 20240027146 A KR20240027146 A KR 20240027146A KR 1020247005305 A KR1020247005305 A KR 1020247005305A KR 20247005305 A KR20247005305 A KR 20247005305A KR 20240027146 A KR20240027146 A KR 20240027146A
Authority
KR
South Korea
Prior art keywords
power consumption
application
applications
data
measurement data
Prior art date
Application number
KR1020247005305A
Other languages
English (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 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20240027146A publication Critical patent/KR20240027146A/ko

Links

Images

Classifications

    • 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/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/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Power Sources (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

전력 소비량 등급을 생성하기 위한 시스템 및 방법은 복수의 애플리케이션에 대응하는 계측 데이터를 수신하는 것을 포함한다. 수신된 계측 데이터를 프로세싱하여 복수의 애플리케이션의 각 애플리케이션에 대한 상대 전력 소비량 값을 계산한다. 각 애플리케이션에 대한 상대 전력 소비량 값을 비교하고, 비교에 기초하여 각 애플리케이션에 대한 전력 소비량 등급을 생성함으로써, 애플리케이션마다 쉽게 평가될 수 있는 전력 소비량의 시각적 지표를 제공한다.

Description

애플리케이션에 대한 환경 영향 전력 소비량 등급
컴퓨팅 디바이스에 의한 전체 전력 사용량은 디바이스의 수, 디바이스의 유형, 및 이용 가능한 애플리케이션이 증가함에 따라 계속해서 증가하고 있다. 많은 경우, 애플리케이션 사용자와 애플리케이션 설계자는 특히 컴퓨팅 디바이스 상에서 실행되는 애플리케이션과 관련하여 컴퓨팅 디바이스의 전력 사용량을 인식하지 못한다. 그리고 사용자나 개발자는 환경에 미치는 영향을 줄이기 위해 디바이스 상에서 실행되는 애플리케이션에서 기인한 전력 사용량을 줄일려고 해도 특정 변화(예컨대, 애플리케이션 사용량 변화 또는 애플리케이션 설계 변화)로 인한 영향을 파악할 방법이 없다. 즉, 사용자와 개발자는 사용량이나 설계의 변화와 전력 소비량 사이의 구체적인 상관관계를 파악할 수 없다. 이처럼 사용자와 개발자는 애플리케이션 사용량 및/또는 설계에 대한 변화의 전력 소비량 영향을 인식하지 못한다. 이와 같이, 2개 이상의 애플리케이션이 유사한 기능을 제공하는 경우, 현재로서는 사용자가 환경적 영향을 고려하여 정보를 바탕으로 애플리케이션을 선택할 수 있는 방법이 없다.
따라서, 사용자나 설계자가 특정 애플리케이션 또는 그 애플리케이션의 기능을 턴오프하거나 비활성화할 수는 있지만, 그 변화가 미치는 환경적 영향을 알 수 있는 방법은 없다. 예를 들어, 애플리케이션 사용량 거동의 변화, 애플리케이션 설계의 변화, 애플리케이션 기능의 변화 등의 전력 사용량에 미치는 영향을 파악할 방법이 없다.
본 개요는 이하의 상세한 설명에서 더 설명하는 다양한 개념들을 간략화한 형태로 소개하기 위해 제공된다. 본 개요는 청구범위의 주제가 되는 주요 특징 또는 본질적 특징을 확인하기 위한 것이 아니며, 청구범위의 주제의 범주를 결정하는데 도움을 주는 것으로 이용되어서도 안 된다.
전력 소비량 등급을 생성하기 위한 컴퓨터화된 방법은, 복수의 애플리케이션에 대응하는 계측 데이터를 수신하는 단계와, 수신된 계측 데이터를 프로세싱하여 복수의 애플리케이션의 각 애플리케이션에 대한 상대 전력 소비량 값을 계산하는 단계를 포함한다. 컴퓨터화된 방법은 각 애플리케이션에 대한 상대 전력 소비량 값을 비교하는 단계와, 그 비교에 기초하여 각 애플리케이션에 대한 전력 소비량 등급을 생성하는 단계를 더 포함한다.
첨부 도면과 관련하여 고려되는 다음의 상세한 설명을 참조하면 동일한 내용이 더 잘 이해되므로 다수의 수반되는 특징이 보다 쉽게 이해될 것이다.
본 설명은 첨부 도면을 고려하면서 읽을 때 다음의 상세한 설명으로부터 더 잘 이해될 것이다.
도 l은 일 예에 따른 프로세스 흐름을 예시하는 블록도이다.
도 2는 일 예에 따른 시스템을 예시하는 블록도이다.
도 3은 일 예에 따른 전력 소비량 등급 생성 시스템을 예시하는 블록도이다.
도 4는 일 예에 따른 애플리케이션 전력 소비량을 보여주는 그래프를 예시한다.
도 5는 일 예에 따른 전력 소비량 등급의 디스플레이를 예시한다.
도 6은 일 예에 따른 애플리케이션 전력 소비량 분석을 수행하기 위한 컴퓨팅 디바이스의 동작을 예시하는 흐름도이다.
도 7은 기능 블록도로서 일 예에 따른 컴퓨팅 장치를 예시한다.
대응하는 참조 문자들은 도면 전체에 걸쳐 대응하는 부분들을 나타낸다. 도면에는 시스템이 개략도로서 예시된다. 도면에는 축척이 반영되지 않을 수도 있다.
본원에서 설명하는 다양한 예의 컴퓨팅 디바이스 및 방법은 애플리케이션의 전력 소비량에 기초하여 애플리케이션 사용이 환경에 미치는 영향을 결정하도록 구성된다. 일부 예에서, 운영체제(예컨대, Windows® 운영체제)에서 실행되는 애플리케이션에 대해 환경 영향 등급(EIR, Environmental Impact Rating)이 생성되고 디스플레이된다. 예를 들어, 애플리케이션이 실행 중에 활용하는 중앙 처리 장치CPU), 디스플레이, 및/또는 기타 시스템 리소스에 대한 사용량 텔레메트리 데이터를 조합하는 것에 의해 애플리케이션의 EIR이 생성된다. 일부 예에서, EIR은 관련 클라우드 서비스 또는 네트워크 전반의 스트리밍 전력 사용량과 같은 서비스 제공 리소스 비용 및 기타 관련 요인을 포함한 다른 요인을 고려한다. 하나 이상의 예에서, EIR은 소비자나 설계자가 명확하게 이해할 수 있는 관련 지표를 제공하기 위해 애플리케이션 카테고리(예컨대, 음악 스트리밍, 메모 작성, 계산기) 내에서 정규화된다(예컨대, 개발자가 시간 경과에 따라 리소스 소비를 개선할 것을 장려하기 위해 EIR을 주기적으로 업데이트할 수 있음).
본원에서 설명하는 동작들을 수행한 결과로서, 사용자와 개발자가 애플리케이션 사용에 따른 환경적 영향을 식별할 수 있게 함으로써 전체 사용자 경험이 개선될 수 있다. 이러한 방식으로, 프로세서가 본원에서 설명하는 동작들을 수행하도록 프로그래밍될 때, 프로세서는 애플리케이션에 의한 보다 효율적인 프로세싱 및 전력 사용을 가능하게 하는 색다른 방식으로 사용되며, 이에 전력 소비가 감소한다. 일부 예에서, 본원에서 설명하는 동작들은 소비자의 선호를 저전력, 저영향의 애플리케이션으로 유도하는 것을 촉진하고, 개발자가 리소스 사용을 인식하고 최적화하는 것을 용이하게 할 수 있다. 즉, 하나 이상의 예에서는, 예를 들어, 지속 가능한 소프트웨어 엔지니어링을 개선하기 위해 설계 중인 애플리케이션의 전력 소비량을 알지 못하는 개발자; 및 환경적 영향과 관련하여 애플리케이션 선택에 대한 정보를 알지 못하거나 알 수 없는 소비자에 의한 운영 플랫폼 전력 소비량과 같은 전력 소비에 관한 지속 가능성에 초점을 맞출 수 있게 한다. 따라서, 기술이 환경에 미치는 전반적인 영향에 대한 넓어진 인식을 제공할 수 있고, 지속 가능한 소프트웨어 엔지니어링이 혁신과 더욱 통합됨에 따라, 사용자 경험 및/또는 애플리케이션 성능이 향상될 수 있다.
본원에서 설명하는 프로세스 및 동작은 특정 유형의 애플리케이션 또는 전력 사용량으로 제한되는 것이 아니라, 다양한 유형의 애플리케이션으로 구현될 수 있고 다양한 영향을 결정할 수 있다. 애플리케이션 전력 소비량 또는 사용량 결정 및/또는 모니터링은 도 1에 예시한 프로세스 흐름(100)을 수행하는, 도 2에 예시한 클라우드 서비스로서 배치된 프로세싱 시스템(200)(예컨대, 애플리케이션 전력 소비량 결정 시스템)에서 구현될 수 있다.
다양한 예에서, 용어 "전력"은 에너지가 소비되는 비율을 지칭한다. 일부 예에서는 주어진 시간 단위당 에너지로 전력을 표현할 수 있다. 일부 예에서, 전력은 순간 측정치에 의해 결정되거나 일정 시간 기간에 걸쳐 소비된 에너지를 계산하고 그 값을 그 시간 기간으로 나눔으로써 결정될 수 있는데, 이것은 운영체제 또는 플랫폼(예컨대, Windows® 운영체제)에 의해 캡처된 계측 데이터의 세트로부터 결정될 수 있다. 캡처되는 계측 데이터는 운영체제 또는 플랫폼에 한정되지 않는다는 것을 이해해야 한다. 예를 들어, 클라우드 및 서비스 관련 소비량 데이터는, 운영체제가 이 소비량을 결정하고 보고할 수 없기 때문에 제공자로부터 직접(예컨대, 서비스 애플리케이션 프로그래밍 인터페이스(API)를 사용하여) 수집될 수 있다.
디바이스마다 에너지와 전력을 계산하는 방식이 다를 수 있지만, 전력 소비량을 측정하는 다수의 디바이스들이 와트 단위를 사용할 수 있고, 직류에 대한 순간 전류 측정치(암페어)와 전압(볼트)을 곱하는 방식으로 계산할 수 있다. "에너지"라는 용어는 시간의 경과에 따라 통합된 전력일 수 있다. 예를 들어, 킬로와트-시(Kilowatt-Hour) 단위의 에너지는 일정 시간 기간에 걸쳐 측정된 와트 단위의 평균 전력에 시간의 길이(이 경우 시간 단위로 측정됨)를 곱한 값이다. 에너지 또는 전력 소비량을 결정하기 위해, 다른 것들 중에서도 역률에 대한 표현식을 사용할 수 있는 교류 예를 포함해, 다른 방법들이 사용될 수 있다는 것을 이해해야 한다.
일부 예에서, 전력은 직접 측정될 수 있고, 에너지는 다수의 순간 측정치로부터 추정 또는 계산될 수 있다. 다른 예에서, 에너지는 직접 측정될 수 있고 전력은 계산될 수 있다. 일부 예에서, 특정 컴포넌트는 전력을 직접 측정하거나 결정할 수 있는 반면에, 다른 컴포넌트는 에너지를 직접 측정하거나 결정할 수 있다. 또 다른 예에서 에너지 또는 전력은, 에너지 또는 전력이 계산될 수 있는 온도 또는 다른 파라미터를 측정하는 것과 같이, 간접적으로 측정 또는 결정될 수 있다.
디바이스 상에서 실행되는 애플리케이션이 소비하는 전체 에너지는, 실행시 애플리케이션에 의해 사용되는 다양한 컴포넌트가 소비하는 에너지를 합산함으로써 적어도 부분적으로 결정될 수 있다. 일부 예에서, 전체 에너지는 각각의 개별 컴포넌트가 소비하는 에너지를 더함으로써 결정될 수 있다. 다른 예에서, 애플리케이션이 사용하는 전체 에너지를 계산하기 위해 함수 또는 기타 메커니즘을 사용할 수 있고, 이러한 메커니즘은 개별 컴포넌트에 의해 소비되는 측정된 에너지 각각으로부터의 입력을 포함할 수 있다.
하나 이상의 예는 다양한 애플리케이션의 에너지 소비를 모니터링할 수 있는 계측 디바이스를 제공한다. 애플리케이션에 대한 등급을 결정하기 위해 에너지 소비량이 평가될 수 있고/있거나 소프트웨어 개발자의 애플리케이션 설계 동안 최적화된 설계 구성이 결정될 수 있다.
애플리케이션 레벨에서 전력 또는 에너지 소비량을 모니터링하기 위한 메커니즘은 하나 이상의 애플리케이션의 전력 소비량을 저감하거나 전력 소비량을 최적화하는 데에 그리고 디바이스에서 동작할 효율적인 애플리케이션 세트를 선택(예컨대, 디바이스 상에 설치 및/또는 실행할 애플리케이션의 사용자 선택)하는 데에 사용될 수 있다. 최적화된 또는 원하는 전력 소비량 레벨은 상이한 세트들의 애플리케이션을 실행한 다음, 애플리케이션 동작 동안의 에너지 소비량에 기초하여 최적의 구성을 파악함으로써 결정될 수 있다. 일부 예에서, 사용자는 설치 및/또는 동작 전에 애플리케이션의 상대 전력 소비량 등급을 볼 수 있다(예컨대, 애플리케이션 스토어프론트에 디스플레이되는 전력 소비량 등급). 이와 같이, 사용자는 원하는 또는 요구되는 전력 소비량 레벨 또는 등급을 갖는 애플리케이션, 애플리케이션 세트, 및/또는 애플리케이션 구성을 선택할 수 있다.
전력 소비량 정보를 계산하여 전력 소비에 관한 동적 라벨을 생성하기 위한 프로세스 흐름(100)이 도 1에 예시된다. 본원에서 더 상세히 설명하겠지만 전력 소비량 정보는 다양한 방식으로 포맷팅되고 사용자에게 제시될 수 있다. 프로세스 흐름(100)이 단일 디바이스(102)와 관련하여 예시되어 있지만, 하나 이상의 예는 시간의 경과에 따라 축적되고 프로세싱될 수 있는 복수의 디바이스(및/또는 사용자)로부터의 정보를 사용한다는 점에 유의해야 한다. 도시한 바와 같이, 디바이스(102)는 전력 소비량 또는 사용량을 모니터링하는 모니터(104)를 포함한다. 일 예에서, 모니터(104)는 계측 데이터(106)로서 예시한 전력 소비량 데이터 세트를 캡처한다. 일부 예에서, 계측 데이터(106)는 디바이스(102) 상에서 실행되는 하나 이상의 애플리케이션(112)의 전력 소비량을 결정하는 데 유용한 데이터를 취득 또는 획득하기 위해 디바이스(102)의 운영체제에 의해 캡처되고 프로세스 흐름(100)에 의해 마이닝된다. 예를 들어, 사용량 텔레메트리 데이터는 계측 데이터(106)로부터 마이닝되고 전력 소비량 분석(108)을 사용하여 프로세싱된다. 일부 예에서, 데이터베이스(116)로부터 사용량 텔레메트리 데이터를 마이닝하기 위해 D3 쿼리 툴을 사용하여 수행되는 쿼리, SQL 쿼리, 또는 스크립트가 사용될 수 있다. 단일 데이터베이스(116)가 도시되지만, 일부 예에서는, 데이터가 복수의 데이터베이스(116)에 저장된다는 점에 유의해야 한다.
일 예에서, 디바이스(102)가 실행되고 있는 동안(예컨대, 하나 이상의 애플리케이션(112)을 구동하는 경우), 모니터(104)는 하나 이상의 애플리케이션(112)과 함께 동작하거나 이들 애플리케이션이 사용하는 다양한 컴포넌트 및 서브컴포넌트의 전력 또는 에너지 소비량을 모니터링하도록 구성된다. 일부 예에서, 모니터 애플리케이션(114)(운영체제 또는 플랫폼의 일부일 수 있음)은 모니터(104)와 통신하여, 모니터(104)를 구성하고 애플리케이션(112)의 사용에 대응하는 전력 또는 에너지 소비량을 계산하는 데 사용될 수 있는 데이터를 수신한다. 예를 들어, 모니터(104)는 전력 소비량 분석(108)에 사용될 계측 데이터(106)를 획득하고 저장하도록 구성된다. 즉, 모니터 애플리케이션(114)은 어떤 정보가 수집되고 언제 정보를 수집할지를 정의하도록 모니터(104)를 구성한다. 일 예에서, 모니터(104)는 이용 가능한 컴포넌트의 서브세트에 기초하여 전력 또는 에너지 소비량 정보를 계산하기 위한 데이터를 수집하도록 구성된다. 모니터(104)는, 일부 예에서, 특정 워크로드가 특정 기능을 수행할 때, 또는 특정 시간 기간 동안 정보를 수집하도록 구성된다. 일부 예에서, 모니터(104)는 운영체제에 의해 이미 획득된 정보를 저장한다.
모니터 애플리케이션(114)은 상이한 방식으로 모니터(104)로부터 데이터를 수신한다. 일부 예에서, 모니터(104)는 애플리케이션에 의해 수행되고 있는 특정 애플리케이션 또는 동작에 대한 데이터를 수집하고, 동작이 완료될 때, 데이터를 모니터 애플리케이션(114)에 전송하도록 구성된다. 다른 예에서, 모니터(104)는 데이터를 수집하고, 미리 정의된 빈도로 또는 특정 이벤트가 발생한 후에 데이터를 모니터 애플리케이션(114)에 전송하도록 구성된다. 예를 들어, 모니터(104)는 수집된 데이터를 매 5분마다, 매일마다 등의 빈도로 전송하도록 구성될 수 있거나, 또는 동작의 특정 부분이 완료된 후에 수집된 데이터를 전송하도록 구성될 수 있다.
일부 예에서 모니터(104)가 데이터의 전송을 개시한다는 점에 유의해야 한다. 다른 예에서 모니터 애플리케이션(114)이 모니터(104)에 요청을 전송하고 모니터(104)는 데이터를 전송함으로써 요청에 응답한다. 이러한 예에서, 이 요청은 모니터(104)(뿐만 아니라 다른 디바이스의 모니터)로 전송될 수 있다.
일부 예의 모니터 애플리케이션(114)은 계측 데이터(106)와 같은 수집 정보로 데이터베이스(116)를 업데이트한다. 다양한 예에서, 데이터베이스(116)에 저장된 데이터는 애플리케이션(112)의 에너지 또는 전력 사용량 및/또는 소비량과 관련된 이력 데이터를 포함한다. 일부 예에서, 데이터베이스(116)는 하나 이상의 애플리케이션(112)의 동작 동안 디바이스(102)의 전체 에너지 또는 전력 사용량 및/또는 소비량과 관련된 요약 통계로 업데이트된다. 일부 예에서, 정보는 하나 이상의 애플리케이션(112)의 동작을 수행하는 데 사용되는 디바이스(102)의 특정 컴포넌트(예컨대, 하나 이상의 애플리케이션(112)이 사용 중일 때 동작하는 하나 이상의 모니터링된 컴포넌트)의 에너지 또는 전력 사용량 및/또는 소비량에 관한 것이거나 이것과 연관된다.
계측 데이터(106)를 사용하여, 하나 이상의 애플리케이션(112) 각각에서 기인하는 전력 소비량 또는 사용량을 결정하기 위해 전력 소비량 분석(108)이 수행된다. 일부 예에서, 전력 소비량 분석(108)은 또한, 일정 시간 기간 또는 복수의 사용자에 대해 그리고/또는 애플리케이션의 그룹 또는 유형에 걸쳐 전력 소비량 또는 사용량을 정규화하는 것(예컨대, 각 애플리케이션(112)마다 전력 사용량의 범위에 걸쳐 개별 사용자별로 정규화함)을 포함할 수 있는 하나 이상의 애플리케이션(112)의 서브세트의 비교를 포함한다. 일 예에서, 애플리케이션(112) 각각은 범주화되고, 애플리케이션(112)의 카테고리 각각에 걸쳐 전력 소비량 또는 사용량의 정규화가 수행된다. 즉, 전력 소비량 또는 사용량의 정규화는 애플리케이션의 각 카테고리(112)마다 개별적으로 수행된다. 애플리케이션(112)의 범주화는 임의의 카테고리 유형 정의를 사용하여 (예를 들어, 애플리케이션 경험에 대한 취득 포인트 내의 범주화, 또는 특정 애플리케이션(App) 스토어(이를테면, Windows® 앱 스토어) 또는 기타 애플리케이션 취득 경험의 범주화와 같은, 애플리케이션 스토어 범주화에 기초하여) 수행될 수 있다. 그 결과, 전력 소비량 분석(108)을 수행하여 유사한 애플리케이션(112)의 전력 소비량 또는 사용량을 결정하고 비교할 수 있다.
하나 이상의 예에서, 전력 소비량 분석(108)에 의해 수행되는 것인, 프로세싱된 전력 소비량 또는 사용량 데이터는 각 애플리케이션(112)에 대해 동적 라벨(110)을 생성한다. 일 예에서, 동적 라벨(110)은 애플리케이션(112)의 계산된 전력 소비량 또는 사용량(예컨대, 정의된 시간 기간 동안의 평균 전력 소비량 또는 총 전력 소비량)에 적어도 부분적으로 기초하는 각 애플리케이션(112)에 대한 EIR이다. 일부 예에서 동적 라벨(110)은 시간의 경과에 따라 업데이트된다는 점에 유의해야 한다. 예를 들어, 업데이트(예를 들어, 애플리케이션 개발자 업데이트)가 애플리케이션(112)에 제공될 때, 전력 소비량 분석(108)이 다시 수행되고 업데이트된 동적 라벨(110)이 생성된다. 일부 예에서, 업데이트된 동적 라벨(110)이 수개월 후, 애플리케이션(112)의 카테고리에 임계량의 새로운 애플리케이션(112)을 추가한 후 등과 같은 기타 정의된 시간 기간 후에 생성된다. 이와 같이, 애플리케이션(112) 각각의 환경 영향 지표는 주기적으로 업데이트될 수 있고, 애플리케이션(112)의 카테고리 내에서 상대 전력 소비량 또는 사용량을 반영할 수 있다. 예를 들어, 동적 라벨(110)은 애플리케이션(112)과 관련된 전력 소비량 또는 사용량 피드백(예컨대, Windows® 애플리케이션에 대한 전력 소비량 피드백)을 나타낸다. 일부 예에서, 라벨(110)은 애플리케이션(112) 각각에 대한 제품 설명 페이지(PDP, product description page)에 디스플레이되거나 사용자에게 제공될 수 있다(예컨대, Windows® 스토어 경험 내에서, 그리고 애플리케이션을 취득하는 데 사용되는 웹 페이지 상에 전력 등급을 표시함). 동적 라벨(110)(예컨대, 전력 소비량의 등급)은 일부 예에서, 개별 애플리케이션 개발자가 애플리케이션을 수정하고 등급(예컨대, 문자 또는 값 등급)을 상향 조정(예컨대, 등급을 향상)할 수 있는 시간을 허용하기 위해, 주기적으로 업데이트된다.
다양한 유형의 데이터가 수집될 수 있고, 예를 들어 데이터베이스(116)에 저장될 수 있다는 것을 이해해야 한다. 예를 들어, 다양한 예에서 모니터(104)는 다음과 같은 특정 유형의 데이터를 캡처하도록 구성된다: D3 텔레메트리 데이터(예컨대, 전기, CPU 소비량, 프로세스에 사용된 분(minutes)), 네트워크 사용량 데이터(이 데이터로부터 전력 소비량이 도출됨), 디스플레이 사용량(예컨대, 포그라운드/백그라운드 애플리케이션, 포그라운드에서 애플리케이션에 의해 조명되는 픽셀), 디스크 활동량, 애플리케이션(112)의 사용자 사용량(예컨대, 사용자에 의한 애플리케이션(112)의 일일 활성 사용량, 사용자 당 데이터 분 활동 사용량) 등을 포함할 수 있다. 이해하겠지만, 적절하게 구성된 모니터(104)에 의해 다른 유형의 데이터가 획득될 수 있다. 예를 들어, 다른 유형의 데이터는 백라이트(하이/로우) 사용량, 스크린 온/오프 데이터, 볼륨 레벨/스피커 사용량, 배터리 전력 저감(예컨대, 절전 모드) 등을 포함한다. 일반적으로, 본원에서 설명하는 시스템 및 방법은 본원에서 더 상세히 설명하겠지만 전력 소비량 분석(108)을 사용하여 임의의 유형의 데이터를 캡처 및 프로세싱하도록 구성될 수 있다. 일 예에서, 전력 소비량 분석(108)에서 사용될 수 있는 텔레메트리(진단) 데이터를 수집하기 위해 Windows® 애플리케이션이 사용된다. 즉, 일부 예에서, 데이터베이스(116)는 시스템에 의해 수집된 텔레메트리 데이터의 로그를 저장한다. 그런 다음 로그는 전력 소비량 분석(108)을 위한 전력 소비량 또는 사용량 데이터에 관한 데이터를 획득하기 위해 파싱되거나 필터링될 수 있다(예컨대, 본원에서 더 상세히 설명하겠지만 전력 소비량 또는 사용량 데이터와 관련된 메트릭 또는 데이터를 추출함). 일부 예에서, 데이터베이스(116)는 운영체제(예컨대, Windows®) 플랫폼 내에서 아이덴티티 시스템의 일부를 형성하거나 또는 그 내부에 수록된다.
이에, 프로세스 흐름(100)에서는, 일부 예에서, 프로그램(애플리케이션) 전력 사용량 또는 소비량 메트릭을 계산하는 것을 포함하여, 사용자 프로그램 세션으로부터 수집된 계측 데이터(106)(예를 들어, 소프트웨어 계측 데이터)가 분석된다. 애플리케이션 전력 사용량 메트릭을 나타내는 정보는, 예컨대 애플리케이션들 간의 비교를 허용하는 형태로 출력된다. 일부 예에서 계측 데이터(106)는 이를테면 시간 경과에 따른 전력 사용량 추세 중 적어도 하나를 결정하는, 전력 사용량과 연관된 사용자 그룹을 결정하기 위해, 추가로 분석될 수 있다는 것을 유의해야 한다.
또한, 다양한 예에서 전력 소비량 분석(108)을 수행하기 위해 상이한 기준 및 데이터가 사용될 수 있다는 것도 유의해야 한다. 즉, 다양한 파라미터, 기준, 데이터 등이 계측 데이터(106)를 분석하는 데 사용될 수 있다. 전력 소비량 분석(108)은 또한 애플리케이션(112)의 전력 소비량과 관련된 상이한 유형의 데이터를 결정하기 위해 수행될 수 있다. 예를 들어, 전력 소비량 분석(108)은 애플리케이션(112)이 실행 중일 때(예를 들어, 동작을 수행하거나 또는 유휴 상태에 있을 때) 디바이스(102)의 컴퓨팅 시스템 활동량과 전력 소비량을 상관시키는 애플리케이션(112)에 대한 전력 소비량 프로파일을 결정하기 위해 수행될 수 있다.
특히 도 2를 참조하면(그리고 도 1을 계속 참조하면), 프로세싱 시스템(200)은 개별 애플리케이션(112)의 전력 소비량을 결정하고, 결정된 전력 소비량에 기초하여 애플리케이션(112) 중 하나 이상에 대한 등급(예컨대, 동적 라벨(110))(예컨대, 애플리케이션 유형 전체에 대한 애플리케이션의 비교 등급)을 생성할 수 있다. 프로세싱 시스템(200)은, 예컨대, 본원에서 더 상세히 설명하겠지만, 수집된 전력 소비량 또는 사용량 데이터를 저장하기 위한 하나 이상의 컴퓨터(202) 및 스토리지(204)를 포함한다. 다른 데이터도 본원에서 설명하는 다양한 예를 사용하여 스토리지(204)에 저장되고 하나 이상의 컴퓨터(202)에 의해 프로세싱될 수 있다는 것을 이해해야 한다. 예를 들어, 디바이스(102)에 대한 상이한 유형의 사용량 데이터(예컨대, 세션 데이터)도 등급을 생성하는 데 사용될 수 있다.
프로세싱 시스템(200)은, 각각 애플리케이션(112) 중 하나 이상을 동작시킬 수 있는 데스크탑 컴퓨터(206), 스마트폰(208), 랩탑 컴퓨터(210), 및 증강 현실 머리 착용형 컴퓨터(212)(예컨대, Microsoft HoloLens®)와 같은 하나 이상의 최종 사용자 컴퓨터 디바이스(102)에 접속된다. 도시하는 예에서, 데이터 프로세싱 시스템(200)은 인터넷으로서 예시하는 컴퓨터 네트워크(214)를 통해 최종 사용자 컴퓨팅 디바이스에 접속되는 것으로 도시된다.
프로세싱 시스템(200)은 최종 사용자 컴퓨팅 디바이스 또는 서버로부터, 또는 텔레메트리 애플리케이션(120)으로부터 계측 데이터(106)와 같은 입력 데이터를 수신한다. 애플리케이션들(112) 간의 상대 전력 소비량 또는 사용량을 결정하기 위해 프로세스 흐름(100)을 사용한 프로세싱과 같은 프로세싱을 위해 데이터가 프로세싱 시스템(200)에 업로드된다. 일부 예에서는, 프로세싱 시스템(200)이 수신된 계측 데이터(106)에 대해 데이터 분석을 수행하는데, 이것은 사용자별로 정규화되고 하나 이상의 그래프를 생성하는데 사용될 수 있다(예컨대, 전력 소비량 프로파일을 나타내는 하나 이상의 전력 소비량 그래프를 생성하기 위해 스크립트가 구현될 수 있다). 따라서, 애플리케이션(112)의 전력 소비량 또는 사용량을 비교하기 위한 프레임워크가 제공된다.
프로세싱 시스템(200) 또는 프로세싱 시스템(200)의 기능 중 일부 또는 전부가 하나 이상의 최종 사용자 컴퓨팅 디바이스 내에서 구현될 수 있다는 것을 이해해야 한다. 이 예의 프로세싱 시스템(200)은 또한 전력 소비량 분석에 기초하여 등급 생성을 수행하는 등급 생성기(216)를 구현한다. 예를 들어, 등급 생성기(216)는 애플리케이션(112) 중 하나 이상에 대한 전력 소비량 등급을 생성하며, 이것은 상이한 기준을 사용하여 정규화된 데이터에 기초할 수 있다. 일부 예에서, 전력 소비량 분석(108)은 복수의 애플리케이션(112)에 걸쳐 비교 또는 상대 전력 소비량 데이터를 생성하는데, 그런 다음 그것은 애플리케이션(112) 각각에 대한 등급을 생성하는 등급 생성기(216)에 의해 정규화되고 사용된다. 예를 들어, 분석된 전력 소비량 데이터는 전력 데이터의 변동("상승치" 및 "하강치")을 고려하도록 일정 시간 기간에 대해 그리고/또는 복수의 사용자에 대해 정규화될 수 있다.
일부 예에서, 본원에서 설명하는 프로세싱 시스템(200)의 기능은 하나 이상의 하드웨어 로직 컴포넌트에 의해 적어도 부분적으로 수행된다. 예를 들면, 제한 없이, 사용되는 하드웨어 로직 컴포넌트의 유형의 실례는 FPGA(Field-programmable Gate Array), ASIC(Application-specific Integrated Circuit), ASSP(Application-specific Standard Product), SOC(System-on-a-chip system), CPLD(Complex Programmable Logic Device), GPU(Graphics Processing Unit)을 포함한다.
따라서, 본 개시내용에서, 이를테면 도 3에 예시하는 전력 소비량 등급 생성 시스템(300)을 사용하여, 환경적 영향 평가가 수행된다. 일 예에서 전력 소비량 등급 생성 시스템(300)은 비교 전력 소비량 분석(308)을 사용하여, 복수의 애플리케이션(예컨대, 애플리케이션(112)) 각각에 대한 전력 소비량 등급(310)을 출력으로서 생성한다. 보다 구체적으로, 전력 소비량 등급 생성 시스템(300)은 일부 예에 있어서 계측 데이터(106)인 입력(304)의 비교 전력 소비량 분석(308)을 수행하는 프로세싱 엔진으로서 구성되는 전력 소비량 계산 프로세서(302)를 포함한다. 즉, 전력 소비량 등급 생성 시스템(300)은 입력(304)을 수신하고, 비교 전력 소비량 분석(308)에 의해 프로세싱될 전력 소비량 관련 데이터(306)를 식별한다. 예를 들어, 하나 이상의 애플리케이션의 전력 소비량에 관한 또는 관련된 계측 데이터는, 애플리케이션들 간의 전력 소비량 또는 사용량의 스케일링된 비교(예를 들어, 본원에서 설명하는 정규화된 계측 데이터의 비교)를 결정하기 위해 비교 전력 소비량 분석(308)을 사용하여 프로세싱된다. 이러한 스케일링된 비교에 기초하여, 전력 소비량 등급(310)이 생성되며, 이것은 본원에서 더 상세히 설명하는 바와 같이 정의된 애플리케이션 유형 내에서의 각 애플리케이션에 대한 등급일 수 있다.
다양한 예의 전력 소비량 계산 프로세서(302)는 컴퓨팅 디바이스에 의한 하나 이상의 애플리케이션의 실행에서 기인한 컴퓨팅 디바이스에 의해 소비되는 전력을 분석한다. 일부 예에서, 시간 경과에 따른 애플리케이션의 전력 소비량 또는 사용량에 대응하는 전력 소비량 트레이스 또는 그래프가 생성된다. 즉, 컴퓨팅 디바이스의 프로세싱 유닛에 의해 실행되는 애플리케이션에서 기인한 컴퓨팅 디바이스의 하나 이상의 컴포넌트에 의해 소비되는 전력량의 시간 경과에 따른 분석이 수행되고 전력 소비량 등급(310)을 생성하는 데 사용된다. 예를 들어, 도 4의 그래프(400 및 402)는 시간 경과에 따른 애플리케이션의 전력 소비량을 예시한다. 그래프(400)는 시간 경과에 따른 평균 애플리케이션 사용량을 예시하고, 그래프(402)는 시간 경과에 따른 대응하는 평균 전력 사용량을 예시한다. 도시한 바와 같이 계측 데이터(106)와 같은 텔레메트리 데이터를 사용하여, 하나 이상의 애플리케이션에 대해 전력 소비량 프로파일이 생성될 수 있다(도 4에서는 단일 애플리케이션으로서 예시됨).
도 4에 예시한 데이터에서, 애플리케이션에 대한 전력 소비량 또는 사용량은 다른 애플리케이션의 전력 소비량 또는 사용량과의 비교를 위해 계산되고 시간에 대해 정규화될 수 있다. 일 예에서, 시간 경과에 따른 전력 소비량 데이터가 합산된다(예를 들어, 애플리케이션 1을 실행하는 시간 기간 동안 CPU가 소비하는 소비된 전력을 합산함). 그런 다음, 합계를 활성 시간(분) 또는 활성 사용자 수로 나누어 정규화된 값을 획득한다. 그 결과, 애플리케이션 인스턴스 분 결정이 이루어질 수 있다(예컨대, 1분 동안 애플리케이션 1은 X# 줄(Joules)을 소비할 것이다). 복수의 애플리케이션 각각마다 이 데이터를 사용하여, 전력 소비 등급(310)과 같은 소모성 값이 생성되고 주기적으로 업데이트된다(예컨대, 3개월 내지 6개월마다 업데이트됨).
일 예에서, 운영체제(예컨대, Windows®) 상에서 실행되는 애플리케이션에 대하여, CPU, 디스플레이 사용량, 및 애플리케이션이 그 실행 동안 행사하는 시스템의 다른 컴포넌트의 사용량 텔레메트리 데이터를 조합함으로써 EIR이 생성된다. 이 등급은 일부 예에 있어서 각각의 애플리케이션 카테고리(예컨대, 음악 스트리밍, 메모 작성, 계산기) 내에서 정규화되어 소비자가 명확하게 이해할 수 있는 문자(예를 들어, A-G) 또는 기타 상대적 지표를 제공하고, 저전력, 저영향의 애플리케이션과 같은 거동(behavior)을 유도하고 개발자가 의식하여 리소스 사용량을 최적화하도록 촉진한다. 예를 들어, EIR은 개발자가 리소스 소비를 개선할 것을 장려하기 위해 주기적으로 업데이트될 수 있다.
따라서, 시스템 및 애플리케이션 사용량 둘 다에 대한 텔레메트리 데이터를 사용하여, 다양한 예에서 상대 전력 소비량 값이 생성된다. 일부 예에서, 상대적 값은 유사한 유형의 애플리케이션들 간의 비교를 제공하여 사용자 소비를 위해 공개된다. 예를 들어, PDP(500)가 도 5에 도시되고, 복수의 애플리케이션(502) 각각에 대응하는 등급(504)을 예시한다. 즉, 본원에서 설명하는 하나 이상의 예를 사용하여 애플리케이션(502) 각각마다 생성된 상대 전력 소비량 등급(504)이 사용자에게 제공된다. 등급의 범위 또는 스케일은 등급 범위(506)에 의해 식별된다. 이 예에서, 등급 범위(506)는 최저 등급(최대 상대 전력량을 소비함)의 문자 A 및 최고 등급 또는 최상 등급(최저 상대 전력량을 소비함)의 문자 G, 또는 그 반대로 정의된다. 등급 레벨 각각은 원하는 대로 정의될 수 있고, (각각의 문자마다 플러스 또는 마이너스와 같은) 서브레벨을 포함할 수 있다. 일부 예에서, 각각의 문자 등급은 본원에서 설명하는 예에서 결정된 대로 전력 소비 사용량 범위에 대응한다. 예를 들어, 각각의 문자는 애플리케이션(502) 각각에 대한 정규화된 값에 대응하는 상위 전력 소비량 값 및 하위 전력 소비량 값에 의해 정의된다. 상대 전력 소비 사용량의 임의의 지표가 숫자, 그래픽 등과 같은 등급 스케일에 채택될 수 있는 것을 이해해야 한다.
일 예로 다시 도 3을 참조하면, 전력 소비량 계산 프로세서(302)는 등급 페이지(318) 또는 기타 사용자가 볼 수 있는 디스플레이 상에 표시되거나 표시되게 하는 전력 소비량 등급(310)을 생성한다. 일부 예의 등급 페이지(318)는 PDP(500)와 유사하게 구성되고, 사용자가 이를테면 특정 애플리케이션 유형 또는 클래스 내에서 하나 이상의 애플리케이션에 대한 전력 소비량 등급을 볼 수 있게 한다.
또한, 전력 소비량 계산 프로세서(302)와 관련하여, 수행될 분석을 정의하기 위해 오퍼레이터가 다양한 파라미터 등을 지정할 수 있다. 예를 들어, 오퍼레이터는 그래픽 사용자 인터페이스(316)를 사용하여 날짜 범위, 임계값 등을 지정할 수 있다. 오퍼레이터가 하나 이상의 파라미터를 구성하면, 전력 소비량 계산 프로세서(302)는 본원에서 설명하는 바와 같이 복수의 애플리케이션의 전력 소비량 분석을 수행하도록 구성된다. 일부 예에서는, 등급 페이지(318)가 하나 이상의 디바이스나, 애플리케이션 스토어와 같은 하나 이상의 애플리케이션 위치에 저장되고 로딩되는 것에 유의해야 한다. 애플리케이션 스토어는 Windows® 운영체제 또는 안드로이드 운영체제와 같은, 하나 이상의 운영 플랫폼 또는 시스템에서 사용하기 위한 애플리케이션을 포함할 수 있다. 애플리케이션은 또한, 모바일폰, 컴퓨터, 게이밍 시스템 등과 같은 다양한 디바이스에서 동작하도록 구성될 수 있다.
이해하는 바와 같이, 상이한 유형들의 애플리케이션에 대한 전력 소비 사용량 및 등급을 계산하기 위해 다양한 예를 사용할 수 있다. 추가적으로, 상이한 유형들의 데이터를 사용하여 전력 소비량 분석을 수행하기 위해 다양한 예를 사용할 수 있다.
도 6은 전력 소비량 등급을 생성하기 위해 사용할 수 있는 다양한 예의 애플리케이션 전력 소비량 분석을 수행하기 위한 방법(600)의 흐름도를 예시한다. 본원에서 설명하는 흐름도에 예시한 동작들은 도시한 바와 상이한 순서로 수행될 수 있고, 추가 단계 또는 더 적은 수의 단계를 포함할 수 있고, 원하는 대로 또는 필요에 따라 수정될 수 있다. 또한, 하나 이상의 동작이 동시에, 함께, 또는 순차적으로 수행될 수 있다. 일부 예에서 방법(600)은 동작을 효율적으로 수행할 수 있는 프로세싱 능력을 가진 서버 또는 컴퓨터와 같은 컴퓨팅 디바이스 상에서 수행된다.
방법(600)을 참조하면, 602에서 컴퓨팅 디바이스가 애플리케이션과 관련된 계측 데이터 세트를 수신한다. 예를 들어, 애플리케이션에 대한 텔레메트리 데이터, 네트워크 사용량 데이터, 디스플레이 사용량 데이터, 디스크 활동량 데이터, 애플리케이션 사용량 데이터 등이 획득된다. 이 데이터는 정의된 시간 기간 동안 애플리케이션 사용량을 위해 획득된다. 이 데이터의 일부는 이를테면 진단 동작 중에도 별도의 사용을 위해, 운영 플랫폼 상에서 애플리케이션의 정상 동작 동안 획득된다는 점에 유의해야 한다(예컨대, 데이터는 전력 소비량 이외의 분석을 위해 획득됨). 즉, 데이터는 시스템 내에서 이미 사용 가능하다. 그러나, 다른 예에서, 하나 이상의 모니터 디바이스 또는 프로세스(예컨대, 모니터(104))는 계측 데이터의 일부 또는 전부를 획득하도록 구성된다.
604에서, 수신된 계측 데이터가 필터링된다. 예를 들어, 계측 데이터는 애플리케이션에 대한 전력 소비 사용량을 결정하는 데 사용되는 계측 데이터의 서브세트를 획득하거나 취득하기 위해 필터링된다. 즉, 애플리케이션의 전력 소비량을 분석하기 위해 사용되는 계산에 관한 또는 관련된 계측 데이터는 이를테면 (도 3의) 전력 소비량을 계산하는 프로세서(302)에 의해 프로세싱을 위해 유지되거나 출력된다. 일부 예에서, 필터링은 본원에서 설명하는 바와 같은 전력 소비량 프로세싱에 사용할 시스템에 의해 획득된 특정 계측 데이터만을 식별하는 데이터 마이닝 프로세스이다. 다양한 예에서의 계측 데이터의 서브세트는 전력 소비량(예컨대, 애플리케이션에 의해 사용되는 컴포넌트에 대한 전력 소비량 값)과 직접적으로 관련될 수 있거나 또는 전력 소비량(예컨대, 대응하는 전력 소비량 값이 계산될 수 있는 컴포넌트에 대한 사용량 값)과 간접적으로 관련될 수 있다는 점에 유의해야 한다. 예를 들어, 텔레메트리 데이터 및 디스플레이 사용량 데이터는 전력 소비량과 관련하여 직접적인 상관성 또는 값을 갖는다. 네트워크 사용량 데이터는 전력 사용량과 간접적인 상관성을 가지며, 이를테면, 애플리케이션의 실행에서 기인한 네트워크 사용 시간 동안 동작하는 컴포넌트에 기초하여, 연관된 전력 소비량을 도출하는 데 사용된다.
606에서, 필터링된 계측 데이터가 애플리케이션에 대한 전력 소비량 또는 사용량을 계산하는 데 사용된다. 예를 들어, 애플리케이션의 실행에 응답하여 동작하는 프로세스 및/또는 컴포넌트에 대해 정의된 시간 기간 동안의 총 사용량, 평균 사용량, 및/또는 기타 사용량이 계산된다. 즉, 애플리케이션이 실행되는 중에 동작으로 식별된 프로세스 및/또는 컴포넌트에 대한 대응하는 계측 데이터가 일부 예에서 합산된다. 이러한 방식으로, 대응하는 디바이스 리소스의 총 전력 소비 사용량이 애플리케이션마다 결정된다. 계산은 원하는 대로 다양한 시간 프레임 또는 윈도우 동안 수행될 수 있다.
608에서, 애플리케이션에 대한 전력 소비량이 정규화된다. 예를 들어, 계산된 애플리케이션 전력 소비량(예컨대, 애플리케이션의 실행에서 기인한 간접적 및 직접적 전력 사용량 데이터)이 정규화된다. 다양한 예에서, 임의의 적절한 수학적 정규화 프로세스가 사용될 수 있다. 하나 이상의 예에서, 정규화는 일정 시간 기간 중 하나 이상의 기간에 걸쳐, 복수의 사용자에 대해, 특정 애플리케이션 유형에 대해, 특정 컴포넌트 사용량에 대해, 등으로 수행될 수 있다. 즉, 일부 예에서, 수행될 비교 및 생성될 각각의 전력 소비량 등급에 따라, 필터링된 계측 데이터의 상이한 정규화가 수행될 수 있다.
610에서, 정규화된 전력 소비량의 결과가 범주화된다. 예를 들어, 복수의 애플리케이션 유형이 정의되고, 애플리케이션마다 정규화된 전력 소비량은 애플리케이션의 대응하는 애플리케이션 유형과 연관된다. 애플리케이션 유형은 임의의 입도 레벨로 정의될 수 있으며, 이것은 일부 예에 있어서 애플리케이션 스토어에서 정의된 애플리케이션 유형에 적어도 부분적으로 기초한다. 범주화는 일부 예에서 등급을 생성하는 데 사용될 정규화된 전력 소비의 서브세트를 정의한다는 것을 이해해야 한다.
612에서, 범주화된 전력 소비량 값들이 비교된다. 즉, 단일 애플리케이션 유형 내에서 애플리케이션들의 전력 소비량 또는 사용량이 비교된다. 일부 예에서, 비교는 상이한 등급들마다 전력 소비 레벨 또는 임계값을 정의하는 데 사용된다. 예를 들어, 정규 분포(예컨대, 벨 곡선 그래프 분포) 또는 다른 데이터 값 분포 체계를 사용하여 애플리케이션 유형에 따라 전력 소비량의 다양한 레벨 또는 범위를 순위화하거나 구분할 수 있다.
그런 다음, 614에서 전력 소비량에 기초하여 등급이 생성된다. 예를 들어, 정의된 분포에 기초한 컷오프 레벨 또는 임계값 레벨을 사용하여 등급 체계에 대한 등급 범위 또는 레벨을 선택할 수 있다. 일부 예에서, 등급 레벨 또는 범위는, 각각의 애플리케이션에 대한 계산된 전력 소비량의 절대값, 각각의 등급 레벨 또는 범위 내에 포함될 애플리케이션의 수 등에 기초하여 설정된다. 즉, 등급 체계는 특정 동작 환경, 전력 사용량과 관련하여 원하는 동작 또는 설계 거동의 변화 등에 기초하여 달라질 수 있다. 그런 다음, 애플리케이션 각각의 등급은 (예컨대, Windows® 스토어 경험 내에서) PDP 상에의 디스플레이 등에 이용될 수 있다. 상이한 등급 또는 순위화 체계들이 사용될 수 있고, 이들은 계산된 전력 소비량 또는 사용량에 대응하는 임의의 상대적 값일 수 있다는 점에 유의해야 한다. 본원에서 더 상세히 설명하겠지만, 일부 예에서는 등급이 주기적으로 업데이트된다는 것도 유의해야 한다.
Windows® 운영 환경 내의 일례와 관련하여, 데이터는 Windows® 운영체제의 기존의 텔레메트리 컴포넌트에 도달하며 이것은 여러 개의 이종 데이터베이스에 저장된다. 해당 데이터에 대해 SQL 쿼리가 수행되고, 애플리케이션에 대한 전력 소비량 값을 생성하기 위해 임계 시간 기간 및 상이한 사용자들의 임계 수에 걸친 수 개의 데이터 포인트에 대해 정규화가 적용된다. 일부 예에서, 전력 소비량 값은 평균치이다(도 4의 그래프(400 및 402) 참조). 전력 소비량 값은 등급 값을 생성하는 데 사용된다.
따라서, 일부 예에서, 방법(600)은, 애플리케이션의 전력 소비량 또는 사용량을 계산하고, 계산된 전력 소비량 또는 사용량에 기초하여 애플리케이션에 대한 등급을 생성하는 데 사용될 수 있다. 이와 같이, 소비자 또는 프로그래머는 다른 애플리케이션보다 적은 전력을 사용하는 애플리케이션을 쉽게 식별할 수 있다.
예시적인 운영 환경
본 개시내용은 도 7의 기능 블록도(700)의 일례에 따른 컴퓨팅 장치(702)에서 운영 가능하다. 일 예에서, 컴퓨팅 장치(702)의 컴포넌트들은 명세서에서 설명한 하나 이상의 예에 따라 전자 디바이스의 일부로서 구현될 수 있다. 컴퓨팅 장치(702)는 전자 디바이스의 동작을 제어할 컴퓨터 실행 가능 명령어를 프로세싱하기 위한 마이크로프로세서, 컨트롤러, 또는 기타 적절한 유형의 프로세서일 수 있는 하나 이상의 프로세서(704)를 포함한다. 운영체제(706)을 포함한 플랫폼 소프트웨어 또는 기타 적절한 플랫폼 소프트웨어가 장치(702) 상에 제공되어 애플리케이션 소프트웨어(708)로 하여금 디바이스 상에서 실행될 수 있도록 할 수 있다. 일례에 따르면, 등급(712)을 생성하는 데 사용되는 계산된 애플리케이션 전력 소비량(710)은 소프트웨어에 의해 달성될 수 있다.
컴퓨팅 장치(702)에 의해 액세스 가능한 임의의 컴퓨터 판독 가능 매체를 사용하여 컴퓨터 실행 가능 명령어가 제공될 수 있다. 컴퓨터 판독 가능 매체는, 예컨대 메모리(714)와 같은 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 메모리(714)와 같은 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 등과 같은, 정보 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다용도 디스크(digital versatile disk, DVD) 또는 기타 광학 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 기타 자기 저장 디바이스, 또는 컴퓨팅 장치가 액세스할 정보를 저장하는 데 사용될 수 있는 기타 비전송 매체를 포함하나, 이들에 한정되지는 않는다. 반면, 통신 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 등을 반송파나 기타 수송 메커니즘과 같은 변조된 데이터 신호로 수록할 수 있다. 본원에서 정의한 바와 같이, 컴퓨터 저장 매체는 통신 매체를 포함하지 않는다. 따라서, 컴퓨터 저장 매체를 그 자체로 전파 신호로 해석해서는 안 된다. 전파 신호 자체는 컴퓨터 저장 매체의 예가 아니다. 컴퓨팅 장치(702) 안에서 컴퓨터 저장 매체(메모리(714))가 도시되고 있지만, 당업자라면 스토리지는 분산되거나 원격으로 위치하고 네트워크 또는 다른 통신 링크를 통해(예컨대, 통신 인터페이스(716)를 사용하여) 액세스될 수 있는 것이 이해될 것이다.
컴퓨팅 장치(702)는 전자 디바이스와 분리될 수도 통합될 수도 있는 하나 이상의 입력 디바이스(720) 및 출력 디바이스(722)(예컨대, 디스플레이 또는 스피커)에 정보를 출력하도록 구성된 입출력 컨트롤러(718)를 포함할 수 있다. 입출력 컨트롤러(718)는 또한 하나 이상의 입력 디바이스(720), 예컨대 키보드, 마이크, 또는 터치패드로부터 입력을 수신하고 프로세싱하도록 구성될 수 있다. 일 실시형태에서, 출력 디바이스(722)는 또한 입력 디바이스(720)로서 기능할 수도 있다. 이러한 디바이스의 예는 터치 감지 디스플레이일 수 있다. 입출력 컨트롤러(718)는 또한 출력 디바이스(722) 이외의 디바이스, 예컨대 로컬 접속된 인쇄 디바이스에 데이터를 출력할 수 있다. 일부 실시형태에서, 사용자는 입력 디바이스(720)에 입력을 제공하고 그리고/또는 출력 디바이스(722)로부터 출력을 수신할 수 있다.
일부 예에서, 컴퓨팅 장치(702)는 음성 입력, 사용자 제스처 또는 기타 사용자 액션을 검출하고, NUI(natural user interface)를 제공한다. 이 사용자 입력은 전자 잉크 작성, 콘텐츠 보기, 잉크 컨트롤 선택, 전자 잉크 오버레이가 포함된 비디오 재생, 및 기타 목적으로 사용될 수 있다. 입출력 컨트롤러(718)는 일부 예에서 디스플레이 디바이스 이외의 디바이스, 예컨대 로컬 접속된 인쇄 디바이스에 데이터를 출력할 수 있다.
본원에서 설명하는 기능은 적어도 부분적으로, 하나 이상의 하드웨어 로직 컴포넌트에 의해 수행될 수 있다. 일 실시형태에 따르면, 컴퓨팅 장치(802)는 프로세서(704)에 의해 실행될 때 프로그램 코드에 의해 구성되어 설명한 동작 및 기능의 예 및 구현을 실행한다. 대안적으로 또는 추가로, 본원에서 설명한 기능은 적어도 부분적으로, 하나 이상의 하드웨어 로직 컴포넌트에 의해 수행될 수 있다. 예를 들어, 그리고 제한 없이, 사용될 수 있는 하드웨어 로직 컴포넌트의 유형 실례는 FPGA, ASIC, ASSP, SOC, CPLD, 및 GPU를 포함할 수 있다.
도면 내의 다양한 엘리먼트의 기능의 적어도 일부는 도면 내의 다른 엘리먼트, 또는 도면에 도시하지 않은 엔티티(예컨대, 프로세서, 웹 서비스, 서버, 애플리케이션 프로그램, 컴퓨팅 디바이스 등)에 의해 수행될 수 있다.
예시적인 컴퓨팅 시스템 환경과 관련하여 설명하지만, 본 개시내용의 예들은 다수의 다른 범용 또는 특수 목적 컴퓨팅 시스템 환경, 구성, 또는 디바이스로 구현될 수 있다.
본 개시내용의 양태에서 사용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경, 및/또는 구성의 예는, 모바일 또는 포터블 컴퓨팅 디바이스(예컨대, 스마트폰), 개인용 컴퓨터, 서버 컴퓨터, 핸드헬드(예컨대, 태블릿) 또는 랩탑 디바이스, 멀티프로세서 시스템, 게이밍 콘솔 또는 컨트롤러, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그래머블 소비자 전자기기, 모바일폰, 착용식 또는 액세서리 폼팩터(예컨대, 시계, 안경, 헤드셋, 또는 이어폰)의 모바일 컴퓨팅 및/또는 통신 디바이스, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 이들 시스템 또는 디바이스 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 포함할 수 있다. 일반적으로, 본 개시내용은 본원에서 설명한 바와 같은 명령어를 실행할 수 있도록 프로세싱 능력을 갖는 임의의 디바이스에서 동작 가능하다. 이들 시스템 또는 디바이스는, 제스처 입력, (예컨대, 호버링에 의한) 근접 입력, 및/또는 음성 입력을 통한 키보드 또는 포인팅 디바이스와 같은 입력 디바이스로부터의 입력을 포함하여, 임의의 방식으로 사용자로부터의 입력을 받을 수 있다.
본 개시내용의 예는 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합으로 하나 이상의 컴퓨터 또는 다른 디바이스에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행 가능 명령어의 일반적인 맥락에서 설명될 수 있다. 컴퓨터 실행 가능 명령어는 하나 이상의 컴퓨터 실행 가능 컴포넌트 또는 모듈로 구성될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 및 데이터 구조를 포함하지만 이에 한정되지는 않는다. 본 개시내용의 양태는 이들 컴포넌트 또는 모듈의 임의의 수 및 구성으로 구현될 수 있다. 예를 들어, 본 개시내용의 양태는 특정 컴퓨터 실행 가능 명령어 또는 도면에 예시하고 본원에서 설명한 특정 컴포넌트 또는 모듈에 한정되지 않는다. 본 개시내용의 다른 예는 본원에서 예시하고 설명한 것보다 더 많거나 더 적은 기능을 갖는 상이한 컴퓨터 실행 가능 명령어 또는 컴포넌트를 포함할 수 있다. 범용 컴퓨터를 포함하는 예에서, 본 개시내용의 양태는 본원에서 설명한 명령어를 실행하도록 구성될 때 범용 컴퓨터를 특수 목적 컴퓨팅 디바이스로 변환한다.
다른 예는 다음을 포함한다:
전력 소비량 등급을 생성하기 위한 컴퓨터화된 방법으로서, 컴퓨터화된 방법은,
― 복수의 애플리케이션에 대응하는 계측 데이터를 수신하는 단계와,
― 수신된 계측 데이터를 프로세싱하여 복수의 애플리케이션의 각 애플리케이션에 대한 상대 전력 소비량 값을 계산하는 단계와,
― 각 애플리케이션에 대한 상대 전력 소비량 값을 비교하는 단계와,
― 그 비교에 기초하여 각 애플리케이션에 대한 전력 소비량 등급을 생성하는 단계를 포함함.
다른 예는 다음을 포함한다:
전력 소비량 등급을 생성하기 위한 시스템으로서, 시스템은,
― 적어도 하나의 프로세서와,
― 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하고,
적어도 하나의 메모리와 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서에 의해, 적어도 하나의 프로세서로 하여금,
― 복수의 애플리케이션에 대응하는 계측 데이터를 수신하고,
― 수신된 계측 데이터를 프로세싱하여 복수의 애플리케이션의 각 애플리케이션에 대한 상대 전력 소비량 값을 계산하고,
― 각 애플리케이션에 대한 상대 전력 소비량 값을 비교하고,
― 그 비교에 기초하여 각 애플리케이션에 대한 전력 소비량 등급을 생성하게 하도록 구성됨.
다른 예는 다음을 포함한다:
전력 소비량 등급을 생성하기 위한 컴퓨터 실행 가능 명령어를 갖는 하나 이상의 컴퓨터 저장 매체로서, 컴퓨터 실행 가능 명령어는 프로세서에 의한 실행시 프로세서로 하여금 적어도,
― 복수의 애플리케이션에 대응하는 계측 데이터를 수신하고,
― 수신된 계측 데이터를 프로세싱하여 복수의 애플리케이션의 각 애플리케이션에 대한 상대 전력 소비량 값을 계산하고,
― 각 애플리케이션에 대한 상대 전력 소비량 값을 비교하고,
― 그 비교에 기초하여 각 애플리케이션에 대한 전력 소비량 등급을 생성하게 하도록 함.
전술한 예의 대안으로, 또는 추가하여, 예는 다음의 임의의 조합을 포함한다:
― 복수의 애플리케이션의 각 애플리케이션을 복수의 카테고리 중 하나 이상의 카테고리로 범주화하는 것과, 각 카테고리 내에서만 비교를 수행하는 것.
― 상대 전력 소비량 값을 정규화하는 것, 정규화는 정의된 시간 기간 및 복수의 사용자 중, 적어도 하나에 대해 수행됨.
― 전력 소비량 등급의 생성을 주기적으로 수행하여 애플리케이션 중 적어도 하나에 대해 업데이트된 전력 소비량 등급을 생성하는 것.
― 사용자에게 전력 소비량 등급을 디스플레이하는 것, 사용자는 소비자 및 소프트웨어 개발자 중 하나임.
― 수신된 계측 데이터를 프로세싱하여 상대 전력 소비량 값을 계산하는 것은 수신된 계측 데이터를 합산하는 것 및 평균화하는 것 중 적어도 하나를 포함함.
― 계측 데이터는 텔레메트리 데이터, 네트워크 사용량 데이터, 디스플레이 사용량 데이터, 디스크 활동량 데이터, 및 애플리케이션 사용량 데이터 중, 적어도 하나를 포함함.
당업자에게는 명백하겠지만 본원에서 주어진 임의의 범위 또는 디바이스 값은 원하는 효과를 잃지 않으면서 확장되거나 변경될 수 있다.
구조적인 피처 및/또는 방법론적인 액트 특유의 언어로 청구 대상을 설명하였지만, 첨부하는 청구범위에서 규정되는 청구 대상은 전술한 피처 또는 액트에 한정되지 않는 것이 이해되어야 한다. 그보다는, 전술한 특정 피처 및 액트는 청구범위를 구현하는 실시예로서 개시되어 있다.
전술한 이점 및 장점은 하나의 예와 관련될 수도 여러 예들과 관련될 수 있음을 이해할 것이다. 예들은 언급한 문제 중 일부 또는 전부를 해결하는 것 또는 언급한 이점 및 장점 중 일부 또는 전부를 갖는 것으로 한정되지 않는다. 또한 한('an') 아이템에 대한 언급이 이들 아이템 중 하나 이상을 지칭한다는 것이 이해될 것이다.
본원에서 예시하고 설명한 예뿐만 아니라 본원에서 구체적으로 설명하지는 않지만 청구범위의 양태의 범위 내에 있는 예는 신경망을 트레이닝하기 위한 예시적인 수단을 구성한다. 예시한 하나 이상의 프로세서(1004)는 메모리(1014)에 저장된 컴퓨터 프로그램 코드와 함께 멀티모달 데이터를 융합하기 위한 예시적인 프로세싱 수단을 구성한다. 명세서에서 "포함하는"이라는 용어는 하나 이상의 추가 피처(feature) 또는 액트(act)의 존재를 배제하지 않으면서, 그 뒤를 따르는 피처 또는 액트를 포함한다는 의미로 사용된다.
일부 예에서, 도면에 예시한 동작은 컴퓨터 판독 가능 매체 상에 인코딩된 소프트웨어 명령어로서, 동작을 수행하도록 프로그래밍 또는 설계된 하드웨어로, 또는 그 둘다에 의해 구현될 수 있다.
예를 들어, 본 개시내용의 양태는 복수의 상호 연결된 전기 전도성 엘리먼트를 포함하는 칩 또는 기타 회로부 상의 시스템으로서 구현될 수 있다.
본원에서 예시하고 설명한 본 개시내용의 예에서의 작업의 실행 또는 수행의 순서는 달리 명시되지 않는 한 필수적인 것은 아니다. 즉, 작업은 달리 명시되지 않는 한 임의의 순서로 수행될 수 있고, 본 개시내용의 예는 여기에 개시한 작업보다 추가의 또는 더 적은 수의 작업을 포함할 수도 있다. 예를 들어, 특정 작업을 또 다른 작업 이전에, 동시에, 또는 이후에 실행 또는 수행하는 것이 본 개시내용의 양태의 범위 내에 있는 것으로 간주된다.
본 개시내용의 양태 또는 그 예의 요소를 소개할 때, 관사 "a", "an", "the", 및 "said"는 그 요소가 하나 이상 존재한다는 것을 의미하기 위한 것이다. "포함하다", "포함하는", 및 "갖는"이라는 용어는 포괄적인 것으로 의도되고, 열거된 요소 이외의 추가 요소가 있을 수 있음을 의미한다. "예시적인"이라는 용어는 "~의 예"를 의미하도록 의도된다. "다음: A, B, 및 C 중 하나 이상"이라는 문구는 "A의 적어도 하나 및/또는 B의 적어도 하나 및/또는 C의 적어도 하나"를 의미한다.
"다음: A, B, 및 C 중 하나 이상"이라는 문구는 "A의 적어도 하나 및/또는 B의 적어도 하나 및/또는 C의 적어도 하나"를 의미한다. 명세서 및 청구범위에 사용된 "및/또는"이라는 문구는 그렇게 결합된 요소들 중 "하나 또는 둘", 즉 어떤 경우에는 결합적으로 존재하고 다른 경우에는 분리적으로 존재하는 요소를 의미하는 것으로 이해되어야 한다. "및/또는"으로 나열된 다수의 요소는 동일한 방식으로, 즉 그렇게 결합된 요소 중 "하나 이상"으로 해석되어야 한다. 구체적으로 식별된 요소와 관련되든 관련되지 않든, "및/또는" 절에 의해 구체적으로 식별된 요소 이외의 다른 요소가 선택적으로 존재할 수 있다. 따라서, 비제한적인 예로서, "포함한다"와 같은 개방형 언어와 함께 사용될 때, "A 및/또는 B"에 대한 언급은, 일 구현예에서, A만을 지칭하고(선택적으로 B 이외의 요소를 포함함); 다른 구현예에서는 B만을 지칭하고(선택적으로 A 이외의 요소를 포함함); 또 다른 구현예에서는, A와 B 둘 다를 지칭하고(선택적으로 다른 요소를 포함함); 등을 지칭할 수 있다.
명세서 및 청구범위에서 사용하는 "또는"은 위에서 정의된 "및/또는"과 동일한 의미를 갖는 것으로 이해되어야 한다. 예를 들어, 목록에서 항목을 구분할 때, "또는" 또는 "및/또는"은 포괄적인 의미, 즉, 요소의 수 또는 목록 중 적어도 하나 이상을 포함하되, 선택적으로 나열되지 않은 추가 항목을 포함하는 것으로 해석되어야 한다. "~ 중 하나 또는 "~ 중 정확히 하나", 또는 청구범위에서 사용되는 경우 "~로 구성되는"과 같이, 반대되는 것으로 명확하게 표시된 용어만이 다수의 요소 또는 요소의 목록 중의 정확히 하나의 요소를 포함하는 것을 의미할 것이다. 일반적으로, 사용하는 용어 "또는"은 "둘 중 하나", "~ 중 하나", "~ 중 오직 하나 또는 ~ 중 정확히 하나"와 같은 배타성 용어가 선행될 때 배타적 대안(즉, "하나 또는 다른 하나 그러나 둘 모두는 아님")을 나타내는 것으로만 해석되어야 한다. 청구범위에서 사용할 때, "본질적으로 구성되는"은 특허법 분야에서 사용되는 통상적인 의미를 가질 것이다.
명세서 및 청구범위에서 사용하는 "적어도 하나"라는 문구는 하나 이상의 요소 목록과 관련하여, 요소 목록에 있는 하나 이상의 요소 중에서 선택된 적어도 하나의 요소를 의미하지만, 요소 목록에 구체적으로 나열된 모든 요소 중 적어도 하나를 반드시 포함해야 하는 것은 아니며 요소 목록에 있는 요소의 조합을 배제하지 않는 것으로 이해되어야 한다. 이 정의는 또한, 구체적으로 식별된 요소와 관련되든 관련되지 않든, "적어도 하나"라는 문구가 언급하는 요소 목록에 구체적으로 명시된 요소 이외에 선택적으로 존재할 수 있음을 허용한다. 따라서, 비제한적인 예로서, "A와 B 중 적어도 하나"(또는, 동등하게, "A 또는 B 중 적어도 하나", 또는, 동등하게 "A 및/또는 B 중 적어도 하나")는, 일 구현예에서, B가 존재하지 않는(그리고 선택적으로 B 이외의 요소를 포함하는) 선택적으로 하나 이상을 포함한 적어도 하나의 A를 지칭하고; 다른 구현예에서, A가 존재하지 않는(그리고 선택적으로 A 이외의 요소를 포함하는) 선택적으로 하나 이상을 포함한 적어도 하나의 B를 지칭하고; 또 다른 구현예에서, 선택적으로 하나 이상을 포함한 적어도 하나의 A와 선택적으로 하나 이상을 포함한(그리고 선택적으로 다른 요소를 포함한) 적어도 하나의 B를 지칭; 등을 지칭할 수 있다.
본 개시내용의 양태를 상세히 설명하였으므로, 첨부된 청구범위에 정의된 본 개시내용의 양태의 범위로부터 벗어나지 않고서 수정 및 변형이 가능하다는 것이 명백할 것이다. 본 개시내용의 양태의 범위를 벗어나지 않고 상기 구조, 제품 및 방법에서 다양한 변경이 이루어질 수 있으므로, 상기 설명에 포함되고 첨부된 도면에 도시된 모든 사항은 예시적인 것으로 해석되어야 하며 제한적인 의미로 해석되지 않아야 한다.

Claims (15)

  1. 전력 소비량 등급을 생성하기 위한 컴퓨터화된 방법에 있어서,
    복수의 애플리케이션에 대응하는 계측 데이터를 수신하는 단계;
    상기 수신된 계측 데이터를 프로세싱하여 상기 복수의 애플리케이션의 각 애플리케이션에 대한 상대 전력 소비량 값을 계산하는 단계;
    각 애플리케이션에 대한 상기 상대 전력 소비량 값을 비교하는 단계; 및
    상기 비교에 기초하여 각 애플리케이션에 대한 전력 소비량 등급을 생성하는 단계
    를 포함하는, 컴퓨터화된 방법.
  2. 제1항에 있어서, 상기 복수의 애플리케이션의 각 애플리케이션을 복수의 카테고리 중 하나 이상의 카테고리로 범주화하는 단계 및 각 카테고리 내에서만 상기 비교를 수행하는 단계를 더 포함하는, 컴퓨터화된 방법.
  3. 제1항 또는 제2항에 있어서, 상기 상대 전력 소비량 값을 정규화하는 단계를 더 포함하고, 상기 정규화는 정의된 시간 기간 및 복수의 사용자 중, 적어도 하나에 대해 수행되는, 컴퓨터화된 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 전력 소비량 등급의 생성을 주기적으로 수행하여 상기 애플리케이션 중 적어도 하나에 대해 업데이트된 전력 소비량 등급을 생성하는 단계를 더 포함하는, 컴퓨터화된 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 사용자에게 상기 전력 소비량 등급을 디스플레이하는 단계를 더 포함하고, 상기 사용자는 소비자 및 소프트웨어 개발자 중 하나인, 컴퓨터화된 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 수신된 계측 데이터를 프로세싱하여 상대 전력 소비량 값을 계산하는 단계는, 상기 수신된 계측 데이터를 합산하는 것 및 평균화하는 것 중 적어도 하나를 포함하는, 컴퓨터화된 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 계측 데이터는 텔레메트리 데이터, 네트워크 사용량 데이터, 디스플레이 사용량 데이터, 디스크 활동량 데이터, 및 애플리케이션 사용량 데이터 중, 적어도 하나를 포함하는, 컴퓨터화된 방법.
  8. 전력 소비량 등급을 생성하기 위한 시스템에 있어서,
    적어도 하나의 프로세서; 및
    컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리
    를 포함하고, 상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 프로세서로 하여금:
    복수의 애플리케이션에 대응하는 계측 데이터를 수신하고;
    상기 수신된 계측 데이터를 프로세싱하여 상기 복수의 애플리케이션의 각 애플리케이션에 대한 상대 전력 소비량 값을 계산하고;
    각 애플리케이션에 대한 상기 상대 전력 소비량 값을 비교하고;
    상기 비교에 기초하여 각 애플리케이션에 대한 전력 소비량 등급을 생성하게 하도록
    구성되는, 시스템.
  9. 제8항에 있어서, 상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 프로세서로 하여금, 상기 복수의 애플리케이션의 각 애플리케이션을 복수의 카테고리 중 하나 이상의 카테고리로 범주화하고, 각 카테고리 내에서만 상기 비교를 수행하게 하도록 구성되는, 시스템.
  10. 제8항 또는 제9항에 있어서, 상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 프로세서로 하여금, 상기 상대 전력 소비량 값을 정규화하게 하도록 구성되고, 상기 정규화는 정의된 시간 기간 및 복수의 사용자 중, 적어도 하나에 대해 수행되는, 시스템.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서, 상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 프로세서로 하여금, 상기 전력 소비량 등급의 생성을 주기적으로 수행하여 상기 애플리케이션 중 적어도 하나에 대해 업데이트된 전력 소비량 등급을 생성하게 하도록 구성되는, 시스템.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서, 상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 프로세서로 하여금, 사용자에게 전력 소비량 등급을 디스플레이하게 하도록 구성되고, 상기 사용자는 소비자 및 소프트웨어 개발자 중 하나인, 시스템.
  13. 제8항 내지 제12항 중 어느 한 항에 있어서, 상기 수신된 계측 데이터를 프로세싱하여 상대 전력 소비량 값을 계산하는 것은, 상기 수신된 계측 데이터를 합산하는 것 및 평균화하는 것 중 적어도 하나를 포함하는, 시스템.
  14. 제8항 내지 제13항 중 어느 한 항에 있어서, 상기 계측 데이터는 텔레메트리 데이터, 네트워크 사용량 데이터, 디스플레이 사용량 데이터, 디스크 활동량 데이터, 및 애플리케이션 사용량 데이터 중, 적어도 하나를 포함하는, 시스템.
  15. 전력 소비량 등급을 생성하기 위한 컴퓨터 실행 가능 명령어를 갖는 하나 이상의 컴퓨터 저장 매체에 있어서,
    상기 컴퓨터 실행 가능 명령어는 프로세서에 의한 실행시 상기 프로세서로 하여금 적어도:
    복수의 애플리케이션에 대응하는 계측 데이터를 수신하고;
    상기 수신된 계측 데이터를 프로세싱하여 상기 복수의 애플리케이션의 각 애플리케이션에 대한 상대 전력 소비량 값을 계산하고;
    각 애플리케이션에 대한 상기 상대 전력 소비량 값을 비교하고;
    상기 비교에 기초하여 각 애플리케이션에 대한 전력 소비량 등급을 생성하게 하도록
    구성되는, 하나 이상의 컴퓨터 저장 매체.
KR1020247005305A 2021-07-21 2022-06-01 애플리케이션에 대한 환경 영향 전력 소비량 등급 KR20240027146A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/382,239 2021-07-21
US17/382,239 US20230027162A1 (en) 2021-07-21 2021-07-21 Environmental impact power consumption rating for applications
PCT/US2022/031686 WO2023003634A1 (en) 2021-07-21 2022-06-01 Environmental impact power consumption rating for applications

Publications (1)

Publication Number Publication Date
KR20240027146A true KR20240027146A (ko) 2024-02-29

Family

ID=82492558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247005305A KR20240027146A (ko) 2021-07-21 2022-06-01 애플리케이션에 대한 환경 영향 전력 소비량 등급

Country Status (5)

Country Link
US (1) US20230027162A1 (ko)
EP (1) EP4374260A1 (ko)
KR (1) KR20240027146A (ko)
CN (1) CN117677937A (ko)
WO (1) WO2023003634A1 (ko)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754470B2 (en) * 2000-09-01 2004-06-22 Telephia, Inc. System and method for measuring wireless device and network usage and performance metrics
US8335661B1 (en) * 2008-05-30 2012-12-18 Symantec Operating Corporation Scoring applications for green computing scenarios
US9235250B2 (en) * 2010-01-12 2016-01-12 International Business Machines Corporation Customized power rating for computer equipment
US9003017B2 (en) * 2011-06-30 2015-04-07 At&T Intellectual Property I, L.P. Methods, devices, and computer program products for providing a computing application rating
US9021439B2 (en) * 2013-04-25 2015-04-28 Centurylink Intellectual Property Llc Green software applications
US9195515B1 (en) * 2013-04-25 2015-11-24 Ca, Inc. Method and system for process load balancing
US9465711B2 (en) * 2014-01-31 2016-10-11 Verizon Patent And Licensing Inc. Providing power utilization information for operational states of an application across different operating systems
US10289189B2 (en) * 2016-10-31 2019-05-14 Microsoft Technology Licensing, Llc Usage pattern based supervisory control of power management
US11537488B2 (en) * 2020-01-09 2022-12-27 Dell Products L.P. Portable power management profile for an information handling system

Also Published As

Publication number Publication date
EP4374260A1 (en) 2024-05-29
WO2023003634A1 (en) 2023-01-26
CN117677937A (zh) 2024-03-08
US20230027162A1 (en) 2023-01-26

Similar Documents

Publication Publication Date Title
Gupta et al. Deeprecsys: A system for optimizing end-to-end at-scale neural recommendation inference
US10715393B1 (en) Capacity management of computing resources based on time series analysis
US11037078B2 (en) Adjusting device settings based upon monitoring source code development processes
US10410155B2 (en) Automatic demand-driven resource scaling for relational database-as-a-service
EP3547077B1 (en) Providing a user with feedback regarding power consumption in battery-operated electronic devices
US9449339B2 (en) Recommendations based on usage and resource consumption data
US20120317266A1 (en) Application Ratings Based On Performance Metrics
US9286568B2 (en) Battery drain analysis and prediction for wireless devices
EP3528087A1 (en) Power optimization for distributed computing system
Gao et al. On exploiting dynamic execution patterns for workload offloading in mobile cloud applications
Yu et al. Sensing human-screen interaction for energy-efficient frame rate adaptation on smartphones
US11397836B2 (en) Quantifying power usage for a service
CN107392259B (zh) 构建不均衡样本分类模型的方法和装置
CN112907128A (zh) 基于ab测试结果的数据分析方法、装置、设备及介质
Gupta et al. Detecting energy patterns in software development
Breitbach et al. Voltaire: Precise energy-aware code offloading decisions with machine learning
KR20240027146A (ko) 애플리케이션에 대한 환경 영향 전력 소비량 등급
CN115018124A (zh) 数据预测方法、系统、设备及存储介质
CA2779112A1 (en) Application ratings based on performance metrics
Chetoui et al. Workload-and user-aware battery lifetime management for mobile socs
CN114860563A (zh) 应用程序测试方法、装置、计算机可读存储介质及设备
Bi et al. ARIMA-Based and Multiapplication Workload Prediction With Wavelet Decomposition and Savitzky–Golay Filter in Clouds
US10712375B2 (en) Data processing device, data processing method, and non-transitory storage medium
Almasri et al. S3: A Study on the Efficiency of Current Power-Saving Approaches Used Among Android-Application Development & Usage Stages
Li et al. One charge for one week: Hype or reality?