KR20140045405A - 배터리 최적화를 이용한 모바일 장치 동작 방법 - Google Patents

배터리 최적화를 이용한 모바일 장치 동작 방법 Download PDF

Info

Publication number
KR20140045405A
KR20140045405A KR1020137033258A KR20137033258A KR20140045405A KR 20140045405 A KR20140045405 A KR 20140045405A KR 1020137033258 A KR1020137033258 A KR 1020137033258A KR 20137033258 A KR20137033258 A KR 20137033258A KR 20140045405 A KR20140045405 A KR 20140045405A
Authority
KR
South Korea
Prior art keywords
task
charging
battery
mobile device
event
Prior art date
Application number
KR1020137033258A
Other languages
English (en)
Other versions
KR101933735B1 (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 마이크로소프트 코포레이션
Publication of KR20140045405A publication Critical patent/KR20140045405A/ko
Application granted granted Critical
Publication of KR101933735B1 publication Critical patent/KR101933735B1/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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • 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
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0264Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by selectively disabling software applications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

장치에서 배터리 전력을 보존하기 위한 기법이 제공된다. 하나 이상의 유예 가능한 작업이 차후 실행을 위해 큐잉된다. 장치의 배터리에 대한 후속 충전 이벤트의 개시가 검출된다. 큐잉된 유예 가능한 작업(들)이 실행되도록 활성화된다. 예를 들어, 모바일 장치의 충전 프로파일을 참조함으로써, 충전 이벤트가 장기 지속 충전 이벤트라고 예측된 경우, 큐잉된 유예 가능한 작업(들)이 실행되도록 활성화될 수 있다. 이러한 방식으로, 장치가 사용 중이고 배터리 충전기로 연결되어 있지 않을 때 배터리 전력이 보존된다.

Description

배터리 최적화를 이용한 모바일 장치 동작 방법{MOBILE DEVICE OPERATIONS WITH BATTERY OPTIMIZATION}
종종, 핸드헬드 장치(handheld device)라고 일컬어지는 모바일 장치는 사람이 지니거나 및/또는 주머니에 넣도록 크기가 설정된 전자 장치이다. 일반적으로 모바일 장치는 고속의 유능한 프로세서, 풍부(rich)하지만 소형의 디스플레이, 무선 통신 능력, 터치 스크린, 축소된 크기의 키보드, 및/또는 그 밖의 다른 장치 이동성(device mobility)을 가능하게 하는 특징 중 하나 이상을 포함한다. 또한 이러한 모바일 장치는 전력을 공급하기 위해 재충전식 배터리(rechargeable battery)를 포함하는 경향이 있다.
이동하면서(on the go)(가령, 배터리 충전기에 매여 있지 않은 채) 그들의 가치를 전달하기에 충분히 긴 배터리 수명을 제공하면서, 풍부한 경험을 전달하는 것이 재충전식 배터리를 갖는 모바일 장치의 지속적인 고민이다. 일반적으로 모바일 장치의 사용자는 모바일 장치를 갖고 이동하길 원하며, 충전하기 위해 모바일 장치를 두고 가야 하는 것을 원하지 않는다. 그러나 일부 모바일 장치의 기능, 가령, 보안 기능부(가령, 바이러스 스캐닝, 백업 기능부, 등)는 모바일 장치의 프로세싱 자원을 많이 사용할 수 있고, 따라서 배터리 사용성 측면에서 높은 비용일 수 있다. 따라서 이러한 장치 기능은 모바일 장치의 휴대성(portability)을 제한할 수 있다.
개요
이 개요는 이하의 구체적인 내용에서 추가로 기재될 개념들의 모음을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구되는 발명의 핵심 특징 또는 필수적 특징을 식별하려는 것이 아니며, 본 발명의 범위를 제한하려는 것도 아니다.
비-모바일 장치(immobile device) 및 모바일 장치에서 배터리 전력공급식 장치에서 배터리 전력을 보존하기 위한 방법, 시스템, 및 컴퓨터 프로그램 제품이 제공된다. 유예 가능하다고 결정된 작업을 선택적으로 유예시킴으로써, 배터리 전력은 이러한 장치에서 보존된다. 유예된 작업을 지원할 수 있는 충전 이벤트가 발생할 때까지 작업이 유예된다. 이러한 충전 이벤트가 발생할 때, 유예된 작업이 수행되도록 활성화된다. 이러한 방식으로, 장치가 배터리 충전기에 연결되어 있지 않을 때 배터리 사용량이 감소되어, 장치 이동성(mobility)이 향상될 수 있다.
하나의 예시적 방법 구현예에서, 하나 이상의 유예 가능한 작업이 차후 실행을 위해 큐잉된다. 모바일 장치의 배터리에 대한 충전 이벤트의 개시가 큐잉 후에 검출된다. 상기 큐잉된 유예 가능한 작업(들)이 충전 이벤트 동안 실행되도록 활성화된다. 예를 들어, 충전 이벤트가 장기 지속 충전 이벤트라고 예측되는 경우 상기 큐잉된 작업(들)이 실행되도록 활성화될 수 있고, 이러한 예측은 모바일 장치의 충전 프로파일을 참조함으로써, 또는 그 밖의 다른 기법에 의해, 결정될 수 있다.
예시적 시스템 구현예에서, 작업 스케줄러가 모바일 장치에서 제공된다. 상기 작업 스케줄러는 작업 큐잉 모듈, 충전 모니터, 및 큐 인에이블러 모듈을 포함한다. 상기 작업 큐잉 모듈은 차후 실행을 위해 적어도 하나의 유예 가능한 작업을 큐잉하도록 구성된다. 상기 충전 모니터는 유예 가능한 작업(들)을 큐잉하는 것에 뒤 이어 모바일 장치의 배터리에 대한 충전 이벤트의 개시를 검출하도록 구성된다. 상기 큐 인에이블러 모듈은 유예 가능한 작업(들)이 충전 이벤트 동안 실행되도록 활성화하도록 구성된다.
배터리 충전 시간까지 작업의 실행을 유예시킴으로써, 모바일 장치의 배터리 전력을 보존하기 위한 또는 본원에 기재된 추가적인 실시예를 위한 컴퓨터 프로그램 제품이 또한 본원에 기재된다.
본 발명의 추가 특징 및 이점뿐 아니라 본 발명의 다양한 실시예의 구조 및 동작이 첨부된 도면을 참조하여 이하에서 상세히 기재된다. 본 발명은 본원에 기재된 특정 실시예에 제한되지 않는다. 이러한 실시예는 설명 목적으로 제공된 것에 불과하다. 본원에 제공된 설명을 바탕으로 추가적인 실시예가 해당 분야의 통상의 기술자에게 자명할 것이다.
본원에 포함되며 본 명세서의 일부인 첨부된 도면은 본 발명을 예시하며, 상세한 설명과 함께, 본 발명의 원리를 설명하는 역할을 하며, 해당 분야의 통상의 기술자가 본 발명을 구현하고 사용할 수 있도록 한다.
도 1은 예시적 실시예에 따르는 모바일 장치 환경의 블록도를 도시한다.
도 2는 예시적 실시예에 따르는 더 효율적인 배터리 사용을 위해 장치 작업을 스케줄링하기 위한 모바일 장치에서의 프로세서를 제공하는 흐름도를 도시한다.
도 3은 예시적 실시예에 따르는 작업 스케줄러의 블록도를 도시한다.
도 4는 예시적 실시예에 따르는 장치 동작 로직의 블록도를 도시한다.
도 5는 예시적 실시예에 따라, 충전 이벤트가 유예된 작업이 실행되기에 적합한지 여부를 예측하기 위한 프로세스를 도시한다.
도 6은 예시적 실시예에 따라, 충전 이벤트 분석기를 포함하는 큐 인에이블러 모듈의 블록도를 도시한다.
도 7은 예시적 실시예에 따라, 충전 프로파일을 생성하도록 구성된 큐 인에이블러 모듈의 블록도를 도시한다.
도 8은 예시적 실시예에 따라, 예시적 배터리 충전 프로파일을 나타내는 도표를 도시한다.
도 9는 예시적 실시예에 따라, 비-유예 가능한 작업을 처리하기 위한 프로세스를 제공하는 흐름도를 도시한다.
도 10은 예시적 실시예에 따라, 유예된 상태로부터 작업을 제거하기 위한 프로세스를 제공하는 흐름도를 도시한다.
도 11은 본 발명의 실시예를 구현하도록 사용될 수 있는 예시적 컴퓨터의 블록도를 도시한다.
도면과 함께 고려될 때 이하에서 제공되는 구체적인 내용으로부터 본 발명의 특징 및 이점이 자명해질 것이며, 상기 도면 전체에서 유사한 도면 부호는 대응하는 요소를 식별한다. 도면에서, 유사한 도면 부호는 동일한, 기능적으로 유사한, 및/또는 구조적으로 유사한 요소를 가리키는 것이 일반적이다. 요소가 가장 처음 등장하는 도면이, 대응하는 도면 부호의 가장 왼쪽 숫자로 표시된다.
Ⅰ. 서문
본 명세서는 본 발명의 특징을 포함하는 하나 이상의 실시예를 개시한다. 개시된 실시예(들)은 본 발명의 예시에 불과하다. 본 발명의 범위는 개시된 실시예(들)에 한정되지 않는다. 본 발명은 이하의 특허청구범위에 의해 정의된다.
본 명세서에서 "하나의 실시예", "한 실시예", "하나의 예시적 실시예" 등의 언급은 기재된 실시예가 특정 특징부, 구조, 또는 특징을 포함할 수 있음을 나타내지만, 모든 실시예가 반드시 상기 특정 특징부, 구조물, 또는 특징을 포함할 수 있는 것은 아니다. 덧붙여, 이러한 구문은 반드시 동일한 실시예를 지칭하는 것도 아니다. 추가로, 하나의 실시예와 관련하여 특정 특징부, 구조물 또는 특징이 기재될 때, 해당 분야의 숙련된 자라면 명시적으로 기재되어 있든 기재되어 있지 않든, 그 밖의 다른 실시예에서 이러한 특징부, 구조물, 또는 특징이 존재할 수 있음을 알 것이다.
많은 유형의 배터리-전력공급식 장치(battery-powered device)가 존재하는데, 가령, 배터리를 포함하는 모바일 장치 및 배터리 전력을 사용하는 고정형 장치(stationary device)가 있다. 예를 들어 모바일 핸드헬드 전자 장치는 배터리를 포함할 수 있고, 모바일 동작 중에 배터리 전력을 소비할(방전시킬) 수 있고, 유휴 상태일 때(이동 중이 아닐 때) 배터리를 재충전하기 위해 충전 장치로 연결될 수 있다. 배터리 전력을 소비하면서(방전시키면서) 발생하는 이들 그리고 그 밖의 다른 유형의 배터리 전력공급식 장치의 동작은, 이러한 활동을 완화시키는 방식은 커녕 이들이 소비하는 배터리 전력에 대한 인식(awareness) 없이 빈번하게 수행된다. 예를 들어, 바이러스 스캔 및/또는 소프트웨어 업데이트가 전경 활동(foreground activity)에 영향을 미치지 않을 때에도 빈번하게 수행되지만, 배터리 수명에 미치는 최소 영향만 일으키도록 구성되지 않는다. 그 결과로, 장치 배터리는 사용 중에 바닥나게 될 수 있으며, 따라서 사용자는 장치를 충전기로의 연결을 위해 남겨둬야 할 수 있다. 일부 예에서, 바이러스 스캐닝은 바이러스 발생(virus outbreak)에 대한 응답을 기초로, 요구될 때나, 스케줄링된 시점에서나 또는, 그 밖의 다른 때에, 수행될 수 있다. 이들 활동은 일반적으로 "검출성(detective)"이며, 연속적으로 실행될 필요는 없다. 이러한 동작은 귀중한 배터리 전력에 영향을 주지 않으면서 실행될 수 있다.
실시예에서, 배터리-전력공급식 장치, 가령, 모바일 장치 및 그 밖의 다른 유형의 배터리-전력공급식 장치에서 배터리 전력을 보존하기 위한 기법이 제공된다. 본원에서 자주 실시예가 모바일 장치를 참조하여 기재되더라도, 이러한 실시예는 설명 목적으로 이러한 방식으로 기재되는 것이며, 모바일 장치로 한정하려는 의도는 없다. 실시예는 또한 그 밖의 다른 유형의 배터리-전력공급식 장치(가령, 보안 시스템, 제어 시스템, 등)으로 적용 가능하다.
실시예에서, 장치가 이동 중이거나 그 밖의 다른 식으로 전력으로 연결되어 있지 않는 동안, 장치의 동작은, 장치의 배터리가 배터리 충전기로 연결될 때까지 유예(defer)되어, 배터리 전력을 보존할 수 있다. 실시예는 배터리-전력공급식 장치에 대한 배터리 전력을 보존하기 위한 여러 다른 요인들, 가령, AC/DC 프로파일링/장치의 사용성을 고려할 수 있고, 장치 기능부를 희생하지 않으면서, 장치가 배터리 전력에 대한 충전기 전력을 적절하게 이용할 수 있을 때 가능한 많이 발생하도록 장치 기능(가령, 보안 기능 등)을 최적화할 수 있다.
예를 들어, 비-실시간의 비-사전행동적(non-proactive)인 보안 동작(security operation) 및/또는 그 밖의 다른 동작이 전용(dedicated)/확장된(extended) 충전 이벤트/사이클 동안 발생하도록 치중될 수 있으며, 장치가 충전기로부터 예상보다 이르게 제거되는 경우라도, 장치가 충전되었으며, "안전"하다는 신뢰감이 획득될 수 있도록, 이러한 충전 이벤트 중 후자의 끝 부분에 더 치중될 수 있다. 또 다른 예를 들면, 파일, 애플리케이션(가령, "앱(app)") 및/또는 인스톨러(installer)의 경우, 즉시 실행되지 않았을 수 있다. 다운로드의 표시가 캐싱(cache)될 수 있고, 다운로드된 파일/애플리케이션/인스톨러가 충전 시간 동안 스캔될 수 있다. 이러한 방식으로, 모바일 장치가 배터리 전력으로 구동되는 동안 파일/애플리케이션/인스톨러가 설치(install)된 경우라도, 임의의 선택적 이벤트 발생된 스캔-온-인스톨(scan-on-install)이 피해질 수 있다.
실시예에서, 언제 배터리 충전기 시간이 발생될 것인지, 그리고 배터리 충전이 얼마나 길게 발생하는지를 예상하기 위해 다양한 인자들이 사용되어, 보안 동작 및/또는 그 밖의 다른 식으로 배터리 전력을 소비하는 그 밖의 다른 기능이 얼마나 오래 발생하는지를 고려할 수 있다. 따라서 보안 동작 및/또는 그 밖의 다른 기능을 시작하기 위한 시점이 예상될 수 있고, 이러한 실행(execution)을 시작하도록 사용될 수 있다.
실시예에서, 다음 번 충전 이벤트를 예측하기 위해, 장치의 충전에 대한 히스토리가 모니터링될 수 있다. 유예된 동작(deferred operation)을 활성화하기 위해 충분히 긴 충전 이벤트가 수행 중인지 여부를 예측하는 데 도움이 되도록, 장치에 대한 충전 프로파일(charging profile)을 구성하기 위해, 상기 히스토리 및/또는 그 밖의 다른 인자가 사용될 수 있다. 상기 충전 프로파일은 하나 이상의 인자, 가령, 사용자에 의해 수동으로 입력된 프로파일 정보, 진행 중인 충전 히스토리의 정적 및/또는 동적 프로파일링, (모바일 장치 상에 및/또는 원격에 저장된) 일정표(calendar)/스케줄링의 액세스 및 참조, 모바일 장치 상 충전기 API의 액세스/통지, 및/또는 그 밖의 다른 모바일 장치의 "감응성/감지(sensitive/sensory)" 양태를 기초로 결정될 수 있다.
예를 들어, 1일 사용 후, 모바일 장치는 다음 날을 대비하여 사용자의 침대맡 상의 충전기, 부엌 카운터 상의 충전기, 또는 창고문의 열쇠구멍 가리개 책상 충전기 상에 배치될 수 있다. 모바일 장치가 재충전되는 중일 때(그리고 사용자가 수면 중일 때) 전력 소비 장치(power-draining device) 동작이 수행될 수 있다. 실시예는 임의의 사용자 스케줄, 가령, 주간 근무하는 사용자(밤 시간대 충전을 야기할 수 있음), 야간 근무하는 사용자(낮 시간대 충전을 야기할 수 있음), 및/또는 그 밖의 다른 임의의 사용자 스케줄에 적용될 수 있다.
일부 충전 시간대는 유예된 동작을 활성화하는 데 충분하지 않다. 예를 들어 출퇴근 운전 중에 모바일 장치가 자동차 충전기 상에서 충전 중인 시간대는 집중적인 장치 보안(security)/유지관리(maintenance) 동작이 수행되기에 적합한 시간대가 아닐 수 있다. 실시예에서, 이러한 시간대는 장치 작업, 가령, 유지관리/보안 활동을 수행하기 위해 사용되지 않도록 구별될 수 있다.
본 발명의 다수의 예시적 실시예가 다음과 같이 기재된다. 본원에서 제공되는 임의의 섹션/서브섹션 제목은 한정하려는 목적을 갖지 않는다. 이 문서 전체에 걸쳐 실시예들이 기재되고, 임의의 유형의 실시예가 임의의 섹션/서브섹션 아래에 포함될 수 있다.
Ⅱ. 예시적 실시예
실시예는 배터리-전력공급식 장치(battery-powered device), 가령, 모바일 장치를 위한 배터리 전력을 보존하기 위한 기법을 제공한다. 구체적으로, 실시예는 장치가 충전 중일 때(가령, 배터리 충전기에 연결될 때)까지 유예 가능한 작업(deferrable task)이 유예될 수 있게 하며, 따라서 정규 사용 동안(가령, 모바일 장치가 배터리 충전기에 연결되지 않고 따라서 이동 가능한 상태일 때) 동작을 수행하는 대신 전력 자원을 많이 액세스한다. 이러한 실시예에 의해 장치는 배터리 충전 사이클들 사이에서 더 긴 시간 주기 동안 사용될 수 있다. 모바일 장치 상에서 수행되는 다양한 동작이 유예 가능하다고 여겨질 수 있는데, 가령 보안 작업, 유지관리 작업, 파일 다운로드/설치, 및 그 밖의 다른 유형의 작업이 있다.
이러한 실시예는 다양한 환경에서 구현될 수 있다. 예를 들어, 도 1은 하나의 예시적 실시예에 따르는 모바일 장치 환경(100)의 블록도를 도시한다. 도 1에 도시된 것처럼, 환경(100)은 모바일 장치(102), 서버(104), 및 충전기(106)를 포함한다. 환경(100)은 이하에서 기재된다.
모바일 장치(102)는 임의의 유형의 모바일 장치일 수 있으며, 예를 들어, 모바일 컴퓨터 또는 컴퓨팅 장치(가령, Palm® 장치, RIM Blackberry® 장치, 개인 디지털 어시스턴스(PDA: personal digital assistant), 랩톱 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터(가령, Apple iPad™ 등), 넷북 등), 모바일 전화기(가령, 셀 전화기(cell phone), 스마트폰, 가령, Apple iPhone, Google Android™ 플랫폼을 포함하는 전화기, Microsoft 운영 체제, 가령, Microsoft Windows Phone 7®를 포함하는 전화기 등) 또는 그 밖의 다른 유형의 모바일 장치가 있다. 모바일 장치(102)는 하나 이상의 프로세서 및/또는 그 밖의 다른 프로세싱 로직, 터치 스크린을 포함할 수 있는 디스플레이, 무선 통신 능력, 축소된 크기 키보드, 및/또는 모바일 장치(102)가 이동형(mobile)이도록 하는(가령, 인간 사용자가 손에 및/또는 주머니에 지닐 수 있게 하는) 그 밖의 다른 특징부를 포함할 수 있다. 서버(104)는 하나 이상의 서버를 포함할 수 있고, 상기 서버는 본원에 기재된 또는 그 밖의 다른 알려진, 파일, 가령, 파일(122)을 서비스하는 임의의 유형의 컴퓨팅 장치일 수 있다. 파일(122)은 다양한 유형의 파일, 가령, 데이터 파일, 웹 페이지, 애플리케이션 등을 포함할 수 있다.
모바일 장치(102) 및 서버(104)는 네트워크(108)에 의해 통신 가능하게 연결된다. 네트워크(108)는 하나 이상의 통신 링크 및/또는 통신 네트워크, 가령, PAN(personal area network), LAN(local area network), WAN(wide area network), 또는 네트워크들의 조합, 가령, 인터넷을 포함할 수 있다. 모바일 장치(102) 및 서버(104)는 다양한 링크, 가령, 유선 및/또는 무선 링크, 가령, IEEE 802.11 무선 LAN(WLAN) 무선 링크, Wi-MAX(Worldwide Interoperability for Microwave Access) 링크, 셀룰러 네트워크 링크, 무선 개인 영역 네트워크(PAN) 링크(가령, Bluetooth™ 링크), 이더넷 링크, USB 링크 등을 이용해 네트워크(108)로 통신 가능하게 연결될 수 있다.
충전기(106)는 모바일 장치, 가령, 모바일 장치(102)의 배터리를 충전하도록 구성된 배터리 충전기이다. 충전기(106)는 도 1에 도시된 것처럼 모바일 장치(102)의 외부에 있거나, 부분적으로 또는 전체가 모바일 장치(102)의 내부에 있을 수 있다. 충전기(106)는 전원(가령, 60㎐ 120V 교류(AC) 전력, 등)으로 연결되어 전기 전류를 수신하고 수신된 전기 전류를 일정한 DC(직류) 전압의 충전 전류로 변환할 수 있다. 도 1에 도시된 것처럼, 충전기(106)는 충전 케이블(130)을 통해 충전 전류를 모바일 장치(102)로 출력할 수 있으며, 일부 구현예에서, 모바일 장치(102)는 중간 충전 케이블 없이 충전기(106)로 직접 연결되는 연결기(connector)를 포함할 수 있다.
도 1에 도시된 것처럼, 모바일 장치(102)는 장치 동작 로직(device operations logic)(114), 작업 스케줄러(task scheduler)(116), 적어도 하나의 배터리(118), 및 선택사항적 충전 모듈(optional charge module)(120)을 포함한다. 장치 동작 로직(114)은 모바일 장치(102)에서 하나 이상의 동작, 가령, 보안 동작, 유지관리 동작, 파일 다운로드/설치, 및 추가적인 유형의 작업/동작을 수행하기 위한 로직을 포함한다. 상기 장치 동작 로직(114)은 작업을 수행하기 위한 다양한 방식으로 구현될 수 있는데, 가령, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 장치 동작 로직(114)은 하나 이상의 프로세서에서 실행되도록 구성된 컴퓨터 프로그램 코드로 구현될 수 있다. 대안적으로, 장치 동작 로직(114)은 하드웨어 로직/전기 회로로서 구현될 수 있다. 하나의 실시예에서, 장치 동작 로직(114)은 시스템-온-칩(SoC)으로 구현될 수 있다. 상기 SoC는 자신의 기능을 수행하기 위해 프로세서(가령, 마이크로제어기, 마이크로프로세서, 디지털 신호 프로세서(DSP) 등), 메모리, 하나 이상의 통신 인터페이스, 및/또는 추가 회로 및/또는 임베디드 펌웨어 중 하나 이상을 포함하는 집적 회로 칩을 포함할 수 있다.
배터리(118)는 재충전을 가능하게 하는 물질로 형성된 하나 이상의 재충전식 배터리를 포함한다. 예를 들어, 배터리(118)는 니켈계 재충전식 배터리, 가령, 니켈 카드뮴(NiCd) 또는 니켈 금속 하이드라이드(NiMH) 배터리, 리튬계 재충전식 배터리, 가령, 리튬 이온(Li-이온) 또는 리튬 이온 폴리머(Li-이온 폴리머) 배터리 또는 그 밖의 다른 유형의 재충전식 배터리를 포함할 수 있다. 전기 에너지의 인가에 의해 배터리(118) 내 전하가 복구될 수 있다. 모바일 장치(102)의 모바일 동작 동안, 배터리(118)는 직류(DC) 전압을 통해 모바일 장치(102)의 구성요소로 전력을 제공할 수 있다.
선택사항으로서 충전 모듈(120)은 모바일 장치(102) 내에 존재하며, 존재하는 경우, 충전기(106)와 배터리(118) 간 인터페이스를 제공한다. 대안적으로, 충전 모듈(120)은 충전기(106)의 일부분 또는 모두를 포함할 수 있다. 도 1에 도시된 바와 같이, 충전 모듈(120)은 충전기(106)로부터 충전 전압/전류를 수신하기 위해 충전 케이블(130)(또는 그 밖의 다른 연결)을 통해 충전기(106)로 연결될 수 있다. 충전 모듈(120)은 배터리(118) 및/또는 모바일 장치(102)가 배터리(118)와 호환되지 않는 전압/전류를 제공하는 전원으로 연결되지 못하게 보호하기 위해 정규 및/또는 보호 회로(가령, 과전류 및/또는 과전압 보호, 역방향 바이어스 보호 등)를 포함할 수 있다. 제공될 때, 충전 모듈(120)은 충전 케이블(130)(또는 그 밖의 다른 연결)을 통해 충전기(106)로부터 수신된 충전 전류를 기초로 배터리(118)로 충전 전류(128)를 제공한다. 충전 모듈(120)이 제공되지 않을 때, 충전기(106)는 충전 전류(128)를 배터리(118)로 직접 제공할 수 있다.
도 1에 도시된 바와 같이, 작업 스케줄러(116)는 충전 모듈(120)로부터 충전 표시(charge indication)(126)를 수신할 수 있다. 충전 모듈(120)이 제공되지 않을 때, 작업 스케줄러(116)는 충전기(106)로부터 충전 표시를 수신할 수 있다. 충전 표시(126)는 충전 모듈(120) 또는 충전기(106)에 의해 생성된 신호일 수 있으며, 충전 전류(128)가 배터리(118)로부터 제공된 것인지 여부를 나타냄으로써, 배터리(128)가 충전 중인지 여부를 나타낸다. 따라서 하나의 실시예에서, 충전 표시(126)는 충전 표시를 제공하는 디지털 또는 아날로그 신호일 수 있다. 하나의 실시예에서, 충전 모듈(120)은 충전 전류(128)와 직렬 연결된 레지스터를 포함할 수 있다. 특정 전압 값은 레지스터 양단에서 존재할 수 있고, 충전 전류(128)가 배터리(118)로 흐를 때 충전 표시(1226)에 의해 제공되어, 배터리(118)가 충전 중임을 나타낼 수 있다. 또 다른 실시예에서, 충전 표시(126)는 해당 분야의 통상의 기술자에게 알려진 그 밖의 다른 방식으로 배터리(118)가 충전 전류에 의해 충전 중인지 여부를 나타낼 수 있다.
작업 스케줄러(116)는 배터리(118)가 충전 중인 시간 주기 동안 장치 동작 로직(114)의 하나 이상의 작업/동작을 스케줄링하도록 구성된다. 예를 들어, 작업 스케줄러(116)는, 모바일 장치(102)의 배터리(118)가 충전기(106)에 의해 충전되는 중일 때까지, 유예 가능한 작업이 유예되게 하여, 모바일 장치(102)가 정규 사용 동안(가령, 모바일 장치(102)가 충전기(106)에 연결되어 있지 않을 때) 상기 작업을 수행하는 대신 전력 자원, 즉, 배터리(118)를 더 많이 액세스하게 하도록 구성될 수 있다.
작업 스케줄러(116)는 장치 동작 로직(114)에 의해 수신된 작업 활성화 신호(task enable signal)(124)를 생성할 수 있다. 작업 활성화 신호(124)는 장치 동작 로직(114)의 유예된 작업이 수행될 수 있게 할 수 있다. 예를 들어, 작업 스케줄러(116)는 충전 표시(126)로부터 배터리(118)가 충전 중임을 결정할 수 있고, 그 결과로, 작업 활성화 신호(124)를 생성하여, 장치 동작 로직(114)에 의해 유예된 하나 이상의 작업이 수행되게 할 수 있다. 이러한 방식으로 배터리(118)가 충전 중인 동안 유예 가능한 작업이 수행됨으로써, 배터리(118)가 충전되지 않는 시간 동안 배터리 자원을 보존할 수 있다. 작업 스케줄러(116)는 작업 활성화 신호(124)를 생성하여 적합한 충전 이벤트가 검출될 때 즉시 유예된 작업을 활성화시킬 수 있거나, 작업 활성화 신호(124)의 생성을 지연시켜, 충전 이벤트의 후반부까지(가령, 충전 표시(126) 상에서 나타날 수 있는 또는 그 밖의 다른 방식으로 결정될 수 있는 바와 같이 배터리(118)가 희망 레벨까지 충전된 이후), 유예된 작업을 활성화시킬 수 있다.
실시예에서, 작업 스케줄러(116)는 자신의 기능을 다양한 방식으로 수행할 수 있다. 예를 들어, 도 2는 하나의 예시적 실시예에 따라, 모바일 장치에서 더 우수한 배터리 효율을 위해 작업을 스케줄링하기 위한 프로세스를 제공하는 흐름도(200)를 도시한다. 하나의 실시예에서, 도 1의 작업 스케줄러(116)에 의해 흐름도(200)가 수행될 수 있다. 흐름도(200)는 도 1 및 도 3-8의 환경(100)을 참조하여 다음과 같이 설명된다. 예를 들어, 도 3은 예시적 실시예에 따르는 작업 스케줄러(300)의 블록도를 도시한다. 도 3의 작업 스케줄러(300)는 도 1의 작업 스케줄러(116)의 일례이다. 도 3에서 도시된 바와 같이, 작업 스케줄러(300)는 작업 큐잉 모듈(task queuing module)(302), 충전 모니터(charge monitor)(304), 및 큐 인에이블러 모듈(queue enabler module)(306)을 포함한다. 흐름도(200)와 관련된 이하의 기재를 바탕으로 또 다른 구조적 및 동작적 실시예가 해당 분야의 통상의 기술자에게 자명할 것이다.
흐름도(200)는 단계(202)로 시작한다. 단계(202)에서, 적어도 하나의 유예 가능한 작업이 차후 실행을 위해 큐잉(queue)된다. 예를 들어, 도 1을 참조하여, 장치 동작 로직(114)은 모바일 장치(102)의 사용자에 의해(가령, 모바일 장치(102)의 사용자 인터페이스와 상호대화하는 사용자에 의해) 작업을 수행하도록 요청 받을 수 있거나, 그 밖의 다른 이유로(가령, 파일 다운로드에 응답하여, 지정 시점에, 등) 작업을 수행하도록 구성될 수 있다.
앞서 기재된 바와 같이, 장치 동작 로직(114)은 유예될 수 있는 다양한 작업을 수행하도록 구성될 수 있다. 예를 들어, 도 4는 하나의 예시적 실시예에 따라 장치 동작 로직(114)의 블록도를 도시한다. 도 4에 도시된 바와 같이, 장치 동작 로직(114)은 보안 동작 로직(security operations logic)(402), 인스톨러(installer)(404), 및 유지관리 동작 로직(maintenance operations logic)(406)을 포함한다. 보안 동작 로직(402), 인스톨러(404), 및 유지관리 동작 로직(406) 각각은 이하에 기재될 바와 같이 모바일 장치(102)에 대한 작업을 수행하도록 구성된다. 보안 동작 로직(402), 인스톨러(404), 및 유지관리 동작 로직(406) 각각은 유예 가능한 작업을 포함할 수 있다. 유예 가능한 작업은, 이 작업을 나중에 수행함으로써 모바일 장치(102)의 동작이 악화되지는 않을 것이며, 즉시 수행되도록 모바일 장치(102)의 사용자에 의해 요청된 적이 없기 때문에 즉시 수행될 필요가 없는 작업이다. 따라서 유예 가능한 작업은 (작업 스케줄러(300)에 의해 결정되는 바와 같이) 나중에 수행될 수 있다. 실시예에서, 장치 동작 로직(114)은 유예 가능한 작업을 포함할 수 있는 도 4에 도시된 이들 특징부들 중 하나 이상을 포함, 및/또는 유예 가능한 작업을 포함하는 추가 또는 대안적 특징부를 포함할 수 있다.
보안 동작 로직(402)은 모바일 장치(102)에 대한 하나 이상의 보안 관련 동작을 수행하기 위한 로직을 포함한다. 예를 들어, 도 4에 도시된 바와 같이, 보안 동작 로직(402)은 스캐닝 모듈(408), 백업 모듈(410), 및/또는 구성 관리 모듈(412)을 포함할 수 있다. 스캐닝 모듈(408)은 모바일 장치(102)로 다운로드되는 파일(가령, 도 1에서 서버(104)로부터 다운로드되는 파일(122))에 대한 바이러스 스캐닝 작업을 수행하도록 구성된 바이러스 스캐닝 모듈이다. 스캐닝 모듈(408)의 상용화된 예시가 해당 업계의 통상의 종사자에게 알려져 있다. 백업 모듈(410)은 모바일 장치(102)의 저장장치 내 파일에 대한 백업 작업을 원격 저장장치(도 1에 도시되지 않음)로 수행하도록 구성된다. 백업 모듈(410)의 상용화된 예시가 해당 분야의 통상의 기술자에게 알려져 있다 구성 관리 모듈(configuration management module)(412)은 모바일 장치(102)에 대한 구성 관리 작업을 수행하도록 구성된다. 구성 관리 모듈(412)의 상용화된 예시가 해당 분야의 통상의 기술자에게 알려져 있다. 보안 동작 로직(402)에 대한 추가 예시적 작업이 해당 분야의 통상의 기술자에게 알려져 있을 것이다.
실시예에서, 스캐닝 모듈(408)은 파일의 풀 스캔(full scan)을 수행하도록 구성될 수 있거나, 및/또는 파일이 바이러스에 대해 덜 완벽하게 스캔되는 "경량(lightweight)" 스캔을 수행하도록 구성될 수 있다. 예를 들어, 스캐닝 모듈(408)은 파일에 대해 경량 스캔을 수행하여, 스캔 결과를 생성할 수 있다. 상기 스캔 결과는 파일의 해시(hash), 또는 파일에 바이러스가 있을 충분한 가능성(likelihood)을 갖고 판단을 하도록 분석될 수 있는 그 밖의 다른 결과일 수 있다. 상기 스캔 결과는 분석을 위해 원격 서버, 가령, 도 1에 도시된 서버(104)로 전송될 수 있다. 상기 서버는 스캔 결과(가령, 해시 결과 등)를 분석하여 파일이 바이러스를 가질 수 있는지 여부를 판단할 수 있다. 이 분석은 해당 분야의 통상의 기술자에게 알려진 다양한 방식으로 수행될 수 있다. 분석을 기초로 하는 파일이 악성인지 여부에 대한 표시가 원격 서버로부터 수신될 수 있다. 상기 원격 서버가 파일이 악성이라고 나타내는 경우, 스캐닝 모듈(408)에 의해 상기 파일은 격리(quarantine), 삭제, 또는 그 밖의 다른 방식으로 모바일 장치(102)에 해를 입히지 못하도록 비활성화될 수 있다. 원격 서버가 파일이 악성이 아니라고 나타내는 경우, 파일에 대해 풀 스캔 작업이 수행될 수 있다. 상기 풀 스캔 작업은, 본원에 기재된 바와 같이, 유예 가능한 작업으로서 차후 실행되도록 유예될 수 있다.
인스톨러(404)는 애플리케이션(가령, 컴퓨터 프로그램)의 설치(및/또는 셋업(setup))를 수행하도록 구성되며, 이는 애플리케이션이 실행될 수 있도록 드라이버, 플러그-인(plug-in) 등의 모바일 장치(102)로의 설치 및/또는 셋업을 포함할 수 있다. 인스톨러(404)는 (가령, 서버, 가령, 도 1의 서버(104)로부터) 애플리케이션을 다운로드하거나, 및/또는 다운로드된 애플리케이션을 모바일 장치(102)에 설치할 수 있다. 또한 인스톨러(404)는 모바일 장치(102) 상에 이미 로딩된 애플리케이션을 업데이트하는 애플리케이션 업데이터(application updater)로서 구성될 수 있다. 예를 들어, 인스톨러(404)는 (가령, 서버, 가령, 서버(104)로부터) 업데이트를 다운로드하고, 모바일 장치(102) 상의 애플리케이션으로 업데이트를 설치할 수 있다. 인스톨러(404)의 상용화된 예시가 해당 분야의 통상의 기술자에게 알려져 있다.
유지관리 동작 로직(406)은 모바일 장치(102)에 대한 하나 이상의 유지관리와 관련된 동작을 수행하기 위한 로직을 포함한다. 예를 들어, 도 4에 도시된 바와 같이, 유지관리 동작 로직(406)은 디프래거(defragger)(414)를 포함할 수 있다. 상기 디프래거(414)는 단편화를 감소시키기 위해 모바일 장치(102)의 파일 시스템 상에서 역단편화 작업을 수행하도록 구성된 역단편화 모듈(defragmentation module)이다. 디프래거(414)의 상용화된 예시가 해당 분야의 통상의 기술자에게 알려져 있다. 유지관리 동작 로직(406)에 대한 추가 예시가 해당 분야의 통상의 기술자에게 알려져 있을 것이다.
하나의 실시예에서, 단계(202)에 따라, 하나 이상의 유예 가능한 작업이 차후 실행되도록 큐잉된다. 예를 들어, 동작 중에, 장치 동작 로직(114)이 작업(가령, 보안 작업, 설치 작업, 유지관리 작업 등)이 수행되어야 한다고 결정할 수 있다. 예를 들어, 모바일 장치(102)로 하나 이상의 파일을 다운로드하기 위해 (가령, 인스톨러(404)에 의해) 파일 다운로드 작업이 수행되는 것이 희망될 수 있다. 대안적으로, 파일이 (가령, 도 1의 서버(104)로부터) 모바일 장치(102)로 이미 다운로드됐을 수 있고, 보안 동작 로직(402)이 상기 파일 상에서의 보안 동작을 수행하도록 구성될 수 있으며, 인스톨러(404)가 상기 파일과 연관된 애플리케이션을 설치하도록 구성될 수 있는 등이다. 대안적으로, 백업 모듈(410)은 모바일 장치(102)에 대한 백업 작업을 수행하도록 구성될 수 있고, 유지관리 동작 로직(406)이 구성 관리 작업을 수행하도록 구성될 수 있는 등이다. 따라서 도 3에 도시된 바와 같이, 작업 큐잉 모듈(302)이 장치 동작 로직(114)으로부터, 이들 작업 중 임의의 하나 이상 또는 그 밖의 다른 작업이 장치 동작 로직(114)에 의해 수행되도록 희망됨을 나타내는 작업 수행 요청(308)을 수신할 수 있다.
작업 큐잉 모듈(302)은 작업 수행 요청(308)을 평가하여, 표시된 작업이 유예될 수 있는지 여부를 결정하도록 구성된다. 예를 들어, 하나의 실시예에서, 작업 큐잉 모듈(302)은 작업 수행 요청(308)에 의해 표시된 작업을 (모바일 장치(102)의 저장장치에 저장된) 유예 가능한 작업들의 지정된 리스트에 비교할 수 있고, 표시된 작업이 유예 가능한 작업들의 지정된 리스트 내 한 작업과 매칭되는 경우, 작업 큐잉 모듈(302)은 상기 표시된 작업이 유예될 수 있다고 결정할 수 있다. 예를 들어, 작업 수행 요청(308)은 표시된 작업에 대한 작업 식별자(작업 ID)를 포함할 수 있고, 유예 가능한 작업들의 지정된 리스트는 나열된 유예 가능한 작업 각각에 대한 작업 식별자를 포함할 수 있다. 상기 표시된 작업에 대한 작업 식별자가 유예 가능한 작업들의 리스트 내 한 작업에 대한 식별자와 매칭되는 경우, 작업 큐잉 모듈(302)은 표시된 작업이 유예될 수 있다고 결정할 수 있다. 매치가 일어나지 않은 경우, 작업 큐잉 모듈(302)은 표시된 작업이 유예될 수 있다고 결정할 수 있다.
덧붙여, 작업 큐잉 모듈(302)은 모바일 장치(102)의 사용자가 표시된 작업이 즉시 수행될 것을 요청하는 중인지 여부를 결정할 수 있다. 이러한 경우, 상기 표시된 작업이 유예 가능하지 않을 것이다. 예를 들어, 사용자가 작업이 수행될 것을 요청하기 위해 모바일 장치(102)의 사용자 인터페이스(가령, 키보드, 터치 스크린, 음성 구동식 컨트롤 등)와 상호대화하는 중일 수 있다. 상기 사용자는 보안 동작 툴 인터페이스, 브라우저, 또는 그 밖의 다른 파일 다운로드/인스톨러 인터페이스, 유지관리 툴 인터페이스, 및/또는 작업이 수행될 것을 요청하기 위해 모바일 장치(102)에 의해 제공되는 그 밖의 다른 인터페이스와 상호대화하는 중일 수 있다. 작업 요청(308)이 작업 큐잉 모듈(302)에 의해 수신되고, 사용자가 작업이 즉시 수행될 것을 표시했다고 나타나는 경우, 작업 큐잉 모듈(302)은 표시된 작업이 유예되지 않을 수 있다고 결정할 수 있다. 작업 요청(308)이 모바일 장치(102)의 사용자 인터페이스로부터 수신되지만, 사용자가 상기 작업이 즉시 수행될 것을 표시했다고 나타나지 않는 경우, 작업 큐잉 모듈(302)이 상기 표시된 작업이 유예될 수 있다고 결정할 수 있다.
또 다른 실시예에서, 작업 큐잉 모듈(302)은 작업이 그 밖의 다른 방식으로 유예 가능한지 여부를 결정할 수 있다. 예를 들어, 작업 큐잉 모듈(302)이 표시된 작업이 보안 동작 로직(402)(가령, 스캐닝 모듈(408), 백업 모듈(410), 구성 관리 모듈(412) 등), 인스톨러(404), 또는 유지관리 동작 로직(406)(가령, 디프래거(414)), 또는 그 밖의 다른 지정된 동작 또는 작업을 호출한다고 결정한 경우, 작업 큐잉 모듈(302)은 작업이 유예 가능하다고 결정할 수 있다.
작업이 유예 가능하다고 결정된 경우, 작업 큐잉 모듈(302)은 상기 작업을, 임의의 개수의 큐잉된 유예 가능한 작업을 포함할 수 있는 유예된 작업 큐(deferred task queue)(가령, 모바일 장치(102)의 저장장치에 저장된 것)에 추가한다. 도 3에 도시된 바와 같이, 작업 큐잉 모듈(302)은 도 1의 장치 동작 로직(114)에 의해 수신될 수 있는 작업 활성화 신호(124)를 생성한다. 작업이 유예 가능하지 않다고 결정된 경우, 작업 큐잉 모듈(302)은 장치 동작 로직(114)에게 상기 작업이 활성화되고, 실행될 수 있음을 나타내기 위한 작업 활성화 신호(124)를 생성한다. 작업이 유예 가능하다고 결정된 경우, 작업 큐잉 모듈(302)은 작업 활성화 신호(124)를 생성하여, 작업이 활성화되지 않고, 작업 큐잉 모듈(302)에 의해 차후 활성화될 때까지 유예될 것이라고 장치 동작 로직(114)에게 나타낼 수 있다.
도 2를 다시 참조하여, 흐름도(200)의 단계(204)에서, 유예 가능한 작업(들)이 큐잉된 후에, 모바일 장치의 배터리에 대해 충전 이벤트의 개시가 검출된다. 예를 들어, 도 3에 도시된 것처럼, 충전 모니터(304)가 배터리(118)((도 1))에 충전이 적용 중임을 나타내는 충전 표시(126)를 수신할 수 있다. 이에 응답하여, 충전 모니터(304)가 충전 이벤트 표시(312)를 생성하고, 상기 충전 이벤트 표시는 큐 인에이블러 모듈(queue enabler module)(306)에 의해 수신될 수 있다. 하나의 실시예에서, 충전 표시(126)에 의해 수신되는 충전 전류가 표시되면, 충전 모니터(304)는 충전 이벤트 표시(312)를 출력할 수 있다. 또 다른 실시예에서, 충전 표시(126)가 지정 시간 동안(가령, 수 초, 수 분 동안) 충전 전류가 수신됨을 표시할 때까지 충전 모니터(304)는 충전 이벤트 표시(312)의 생성을 지연시킬 수 있다. 이러한 방식으로, 충전 모니터(304)에 의해 비교적 짧은 지속시간 또는 간헐적 충전 이벤트가 필터링된다. 또 다른 실시예에서, 충전 모니터(304)가 존재하지 않을 수 있으며, 대신 큐 인에이블러 모듈(306)이 단계(204)를 수행할 수 있다. 이러한 실시예에서, 큐 인에이블러 모듈(306)은 직접 충전 표시(126)를 수신할 수 있다.
단계(206)에서, 큐잉된 유예 가능한 작업(들)이 충전 이벤트 동안 실행되도록 활성화된다. 예를 들어, 도 3에 도시된 바와 같이, 큐 인에이블러 모듈(306)은 충전 이벤트 표시(312)(또는 충전 표시(126))를 수신한다. 큐 인에이블러 모듈(306)은 작업 큐잉 모듈(302)에 의해 큐잉되는 유예 가능한 작업이 충전 이벤트 표시(312)에 의해 표시되는 충전 이벤트 동안 실행되도록 활성화시키도록 구성된다. 도 3에 도시된 바와 같이, 큐 인에이블러 모듈(306)이 적합한 충전 이벤트가 발생 중임을 결정하는 경우, 상기 큐 인에이블러 모듈(306)은, 작업 큐잉 모듈(302)에 의해 큐잉되는 유예 가능한 작업이 활성화될 수 있음을 나타내는 유예된 작업 활성화 신호(314)를 생성한다. 작업 큐잉 모듈(302)은 유예된 작업 활성화 신호(314)를 수신한다. 결과적으로, 작업 큐잉 모듈(302)은 작업 활성화 신호(124)를 생성하여, 하나 이상의 큐잉된 유예 가능한 작업이 활성화됨을 장치 동작 로직(114)을 표시해 줄 수 있다. 복수의 유예된 작업이 큐잉된 경우, 작업 큐잉 모듈(302)이 큐잉된 유예 가능한 작업을 동시에 또는 임의의 순서로, 가령, 작업이 큐에 추가된 순서로(가령, FIFO(first-in first-out) 순서로), LIFO(last-in first-out) 순서로, 가장 자원 집약적 작업이 가장 나중에 수행되거나 가장 먼저 수행되는 순서로, 작업 자체에 의해 지시되는 순서로(가령, 설치 작업 전 정리(cleanup) 작업을 수행, 스캔 작업 전 서명 다운로드 작업(signatures download task)을 수행, 등), 또는 그 밖의 다른 임의의 순서로 순차적으로 활성화시킬 수 있다. 큐잉된 유예 가능한 작업이 수행되도록 활성화한 후, 작업 큐잉 모듈(302)은 유예된 작업 큐에서 활성화된 큐를 비울(clear) 수 있다.
큐 인에이블러 모듈(306)은 이러한 방식으로 큐잉된 유예 가능한 작업이 충전 이벤트 표시(312)(또는 충전 표시(126))를 기초로 실행되도록 활성화될지 여부를 결정할 수 있다. 예를 들어, 큐 인에이블러 모듈(306)이 유예된 작업이 수행될 충분한 시간을 갖도록 충전 이벤트 표시(312)에 의해 표시되는 충전 이벤트가 충분히 장기 지속 충전 이벤트(long duration charge event)라고 결정한 경우, 상기 큐 인에이블러 모듈(306)은 큐잉된 유예된 작업을 활성화시킬 수 있다. 장기 지속 충전 이벤트는 배터리(118)를 충전기(106)의 간헐적 또는 단기적 연결 동안 발생할 수 있는 충전 이벤트보다 길다. 예를 들어, 장기 지속 충전 이벤트는, 배터리(118) 및 충전기(106)가 충전 이벤트 중에 연결해제되지 않고, 큐잉된 유예 가능한 작업들 중 적어도 하나가 충전 이벤트 동안 수행/실행되기에 충분히 긴 충전 이벤트일 수 있다.
하나의 실시예에서, 큐 인에이블러 모듈(306)은 도 2의 단계(206) 동안 도 5에 도시된 단계(502)를 수행할 수 있다. 단계(502)에서, 충전 이벤트는 모바일 장치에 대한 충전 프로파일을 기초로 장기 지속 충전 이벤트라고 예측된다. 예를 들어, 도 6은 하나의 예시적 실시예에 따라, 충전 이벤트 분석기(602)를 포함하는 큐 인에이블러 모듈(306)의 블록도를 도시한다. 충전 이벤트 분석기(602)는 도 5의 단계(502)를 수행하도록 구성되어, 큐잉된 유예된 작업이 수행될 수 있도록 충전 이벤트 표시(312)에 의해 표시되는 충전 이벤트가 장기 지속 충전 이벤트인지 여부를 예측할 수 있다.
충전 이벤트 분석기(602)는 다양한 방식으로 단계(502)의 예측을 수행하도록 구성될 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 충전 이벤트 분석기(602)는 충전 프로파일 데이터(604)를 수신할 수 있다. 충전 프로파일 데이터(604)는 모바일 장치(102)(도 1)의 배터리(118)에 대한 충전 프로파일을 나타내는 데이터를 포함한다. 예를 들어, 충전 프로파일 데이터(604)는 인자들, 가령, 배터리(118)의 충전 히스토리, 사용자에 의한 충전 선호도의 수동 입력, 및/또는 그 밖의 다른 인자들을 기초로 생성될 수 있다. 충전 이벤트 분석기(602)는 충전 프로파일 데이터(604)를 분석하여, 충전 이벤트 동안 큐잉된 유예된 작업이 실행되도록 활성화하기 위해 특정 충전 이벤트가 충분히 장기 지속 충전 이벤트일지 여부를 예측할 수 있다.
충전 프로파일 데이터(604)는 임의의 형태, 가령, 다양한 때에서의, 가령, 분 단위, 시 단위, 각각의 요일마다, 및/또는 그 밖의 다른 임의의 시간 주기에서의 배터리(118)의 충전의 확률을 나타내는 데이터 구조(가령, 리스트, 룩업 테이블(look up table), 데이터의 어레이, 데이터베이스 등)의 형태의 데이터를 포함할 수 있다.
충전 프로파일 데이터(604)가 다양한 방식으로 생성될 수 있다. 예를 들어, 도 7은 하나의 예시적 실시예에 따라 충전 프로파일을 생성하도록 구성된 큐 인에이블러 모듈(306)의 블록도를 도시한다. 도 7에 도시된 바와 같이, 큐 인에이블러 모듈(306)은 저장장치(702), 선택사항적 사용자 인터페이스 모듈(704), 및 충전 프로파일 생성기(706)를 포함한다. 도 7의 큐 인에이블러 모듈(306)은 저장장치(702)에 저장된 것으로 도시된 충전 프로파일 데이터(604)가 하나 이상의 다양한 유형의 정보, 가령, 사용자에 의해 입력된 정보, 모바일 장치의 파라미터, 모바일 장치의 하나 이상의 사용자와 관련된 정보, 모바일 장치의 배터리의 충전 히스토리, 및/또는 그 밖의 다른 정보를 기초로 생성될 수 있게 한다. 저장장치(702)는 하나 이상의 메모리 장치, 하드 디스크 드라이브, 및/또는 본원에 기재되거나 다른 방식으로 알려진 그 밖의 다른 컴퓨터 저장 매체를 포함할 수 있다.
사용자 인터페이스 모듈(704)은 모바일 장치의 사용자가 충전 프로파일 정보를 수동으로 입력할 수 있는 사용자 인터페이스를 제공할 수 있다. 예를 들어, 사용자는 충전이 선호되는 시간대 및/또는 날짜, 및 충전이 선호되지 않거나 금지되는 시간대 및/또는 날짜를 입력할 수 있다. 사용자 인터페이스 모듈(704)은 모바일 장치(102)에 의해 제공되는 임의의 유형의 사용자 인터페이스 요소, 가령, 키보드, 썸휠(thumb wheel), 포인팅 장치, 롤러 볼, 스틱 포인터, 터치 감응성 디스플레이, 임의의 개수의 가상 인터페이스 요소, 음성 인식 시스템 등 중 하나 이상으로부터 충전 프로파일 정보를 수신할 수 있다. 도 7에 도시된 바와 같이, 사용자 인터페이스 모듈(704)은 수동으로 입력된 충전 프로파일 정보(712)를 출력한다.
큐 인에이블러 모듈(306)은 또한 장치 데이터(708)를 수신할 수 있다. 장치 데이터(708)는 모바일 장치(102)의 저장장치(가령, 저장장치(702))에 저장될 수 있다. 장치 데이터(708)는 충전 프로파일 데이터(604) 를 생성하기 위해 사용될 수 있는 모바일 장치(102) 및/또는 배터리(118) 에 대한 정보, 가령, 배터리(118)의 충전 용량, 배터리(118)의 충전 속도(charging rate), 배터리(118)의 현재 충전 레벨 등을 포함할 수 있다. 덧붙여, 장치 데이터(708)는 충전 프로파일 데이터(604)를 생성하도록 사용될 수 있는 모바일 장치(102)의 추가적인 감응성/감지 양태, 가령, GPS(global positioning system) 기능부의 사용, 마이크로폰, 광 감응성(light sensitivity), 모션, 음성 콜(voice call) 이뤄지는지 여부, 일정표 내용, 및/또는 프로세싱 집약적 기능(가령, 데이터-동기(data-sync))를 더 포함할 수 있다.
큐 인에이블러 모듈(306)은 또한 사용자 데이터(710)를 수신할 수 있다. 사용자 데이터(710)는 모바일 장치(102)의 저장장치(가령, 저장장치(702))에 저장될 수 있거나, 모바일 장치(102)에 원격으로 위치하는 장치(가령, "클라우드"-기반 서버, 웹사이트, 사용자 계정 등)로부터 수신될 수 있다. 사용자 데이터(710)는 충전 프로파일 데이터(604)를 생성하도록 사용될 수 있는, 모바일 장치(102)의 사용자에 대한 정보, 가령, 사용자의 스케줄을 표시하는 사용자의 일정표(가령, 일정관리 툴, 가령, 워싱턴, 레드몬드에 소재하는 Microsoft Office Outlook®)를 포함할 수 있다.
또한 큐 인에이블러 모듈(306)은 충전 이벤트가 개시되었고 진행 중이라고(가령, 배터리(118)가 충전기(106)로 연결되어 있다고) 표시하는 충전 이벤트 표시(312)를 수신할 수 있다. 도 7에 도시된 바와 같이, 충전 프로파일 생성기(706)는 충전 이벤트 표시(312), 장치 데이터(708), 사용자 데이터(710), 및 수동으로 입력된 충전 프로파일 정보(712)를 수신할 수 있다. 특정 실시예에 따라, 충전 이벤트 표시(312), 장치 데이터(708), 사용자 데이터(710), 및 수동으로 입력된 충전 프로파일 정보(712) 중 임의의 하나 이상이 수신될 수 있다. 충전 프로파일 생성기(706)는 충전 이벤트 표시(312), 장치 데이터(708), 사용자 데이터(710) 및/또는 수동으로 입력된 충전 프로파일 정보(712)를 이용해 충전 프로파일 데이터(604)를 생성할 수 있다.
예를 들어, 충전 프로파일 생성기(706)는 배터리(118)가 지속적으로 충전 중인 시간대(time)/일(day)의 주기를 결정하기 위해 시간의 흐름에 따라 충전 이벤트 표시(312)를 모니터링할 수 있다. 마찬가지로, 충전 프로파일 생성기(706)는 배터리(118)가 충전 중일 가능성이 낮은 시간대/일의 주기를 결정하기 위해 시간의 흐름에 따라 충전 이벤트 표시(312)를 모니터링할 수 있다. 충전 프로파일 생성기(706)는 충전 프로파일 데이터(604)를 생성할 수 있다. 충전 프로파일 생성기(706)는 다양한 시간대에서의 배터리 충전의 빈도를 기초로 하는 확률을 포함하기 위해 충전 프로파일 데이터(604)를 생성할 수 있다. 충전 프로파일 생성기(706)는 배터리(118)의 충전이 높은 확률(가령 75% 이상 또는 그 밖의 다른 확률)로 발생할 수 있는 시간대/일을 나타내기 위해, 그리고 배터리(118)의 충전이 낮은 확률(가령, 25% 이하 또는 그 밖의 다른 확률)로 발생할 수 있는 시간대/일을 나타내기 위해 충전 프로파일 데이터(604)를 생성할 수 있다. 충전 프로파일 생성기(706)가 장치 데이터(708), 사용자 데이터(710), 및 수동으로 입력된 충전 프로파일 정보(712) 중 하나 이상을 기초로 충전 프로파일 데이터(604)를 수정할 수 있다. 예를 들어, 충전 프로파일 생성기(706)는 생성된 충전 프로파일 데이터(604)를 수정할 수 있는데, 가령, 모바일 장치(102)의 사용자가 생성된 충전 프로파일 데이터를 수동으로 입력된 충전 프로파일 데이터로 덮어 쓰기를 원하는 경우, 수동으로 입력된 충전 프로파일 정보(712)로 상기 충전 프로파일 데이터(604)를 완전히 대체할 수 있다. 덧붙여, 충전 프로파일 생성기(706)는 앞서 언급되거나 다른 식으로 알려져 있는 사용자 데이터(710)를 기초로 하여 충전 프로파일 데이터(604)를 수정할 수 있다.
따라서, 모바일 장치에 대해 서로 다른 시간대에 대한 충전 확률이 결정될 수 있다. 예를 들어, 도 8은 하나의 예시적 실시예에 따르는 충전 확률(Y-축) 대 시간(X-축)의 도표(800)를 도시한다. 그래프(800)는 설명을 목적으로 도 8에 도시된 것이며, 이에 한정되지 않는다. 도표(802)는 사용자의 모바일 장치 충전 습관을 기초로 하여 충전 프로파일 생성기(706)에 의해 생성된 충전 프로파일 데이터(604)를 시각적으로 나타낼 수 있다. 도 8에 도시된 것처럼, 도표(802)는 특정한 날 중의 서로 다른 시간대에서의 충전 확률을 나타낸다. 필요에 따라, 주 중 각각의 요일, 월 중 각각의 날, 연 중 각각의 날에 대해 유사한 충전 프로파일 데이터가 생성될 수 있다.
도 8의 예시에서, 도표(802)는 사용자가 대략 10:00 pm 내지 7:00 am의 일반적인 수면/밤 시간대 동안 높은 충전 확률(가령, 0.9)을 가짐을 나타낸다. 이는 사용자가 이들 시간대 동안 자려고 할 때 자신의 모바일 장치를 충전기로 연결하기 때문일 수 있다. 야간 근무를 하는, 또는 그 밖의 다른 수면 스케줄을 갖는 그 밖의 다른 사람이 밤 시간대에서 낮은 충전 확률을 가질 수 있다.
덧붙여, 도표(802)는 사용자가 대략 7:00 am 내지 1:00 pm에서 비교적 낮은 충전 확률을 가짐을 나타낸다. 이 시간 주기 동안 충전 확률은, 사용자가 출근 운전 중에 자신의 모바일 장치를 자동차 기반 충전기에 연결할 수 있을 때 대략 9:00 am 내지 9:30 am에서 충전 확률이 비교적 높은 것(0.8 확률)을 제외하고, 거의 0이다. 도표(802)는 대략 1:00 pm 내지 3:00 pm의 오후 동안 사용자가 비교적 낮은 충전 확률(가령, 0.15)을 가짐을 나타낸다. 예를 들어, 사용자는 이따금 오후에 자신의 모바일 장치를 자신의 컴퓨터(가령, USB 기반 충전기)로 연결할 수 있다. 도표(802)는 사용자가 대략 3:00 pm 내지 10:00 pm에서 비교적 낮은 충전 확률을 가짐을 더 나타낸다. 이러한 시간 주기 동안의 충전 확률은, 사용자가 퇴근 운전 중에 이따금 자신의 모바일 장치를 자동차 기반 충전기로 연결할 수 있을 때인 대략 4:00 pm 내지 4:30 pm을 제외하고, 거의 0이다.
하나의 실시예에 따라, 충전 이벤트 분석기(602)(도 6)에 의해 충전이 장기 지속 충전 이벤트라고 예측되는 경우, 큐 인에이블러 모듈(306)은 큐잉된 유예 가능한 작업(들)이 충전 이벤트 동안 실행될 수 있게 한다(도 2의 단계(206)). 예를 들어, 도 8의 도표(802)에 의해 나타내어지는 충전 프로파일의 예시를 참조할 때, 충전 이벤트가 발생하고 충전 이벤트 표시(312)에 의해 10:00 pm 내지 7:00 am 또는 1:00 pm 내지 3:00 pm 동안이라고 표시되는 경우, 이들 시간 주기 동안의 충전 프로파일 확률이 비교적 높고, 충전이 발생하는 통상의 시간의 지속시간이 지정 임계치보다 길다고(가령, 1시간 초과, 또는 그 밖의 다른 지정 시간 임계치 초과) 예측되기 때문에 충전 이벤트 분석기(602)는 충전 이벤트가 장기 지속 충전 이벤트라고 예측할 수 있다. 이러한 경우, 큐 인에이블러 모듈(306)은, 작업 큐잉 모듈(302)에 의해 큐잉된 유예 가능한 작업이 활성화될 수 있다고 나타내는 유예된 작업 활성화 신호(314)를 생성할 수 있다. 충전 이벤트가 발생하고 충전 이벤트 표시(312)에 의해, 10:00 pm 내지 7:00 am 및 1:00 pm 내지 3:00 pm 외의 시간 주기라고 표시되는 경우, 이들 시간대 동안의 충전 프로파일 확률이 비교적 낮기 때문에, 및/또는 예측된 충전 지속시간이 비교적 짧기 때문에, 충전 이벤트 분석기(602)는 상기 충전 이벤트가 장기 지속 충전 이벤트가 아니라고 예측할 수 있다(즉, 비교적 짧은 지속시간의 충전 이벤트라고 예측할 수 있다). 예를 들어, 9:00 am 내지 9:30 am가 배터리 충전의 높은 확률을 가지지만, 예측되는 지속시간(30분)은 큐잉된 작업이 실행을 완료하기에 너무 짧을 수 있다. 이러한 경우, 큐 인에이블러 모듈(306)이 유예된 작업 활성화 신호(314)를 생성하여, 작업 큐잉 모듈(302)에 의해 큐잉되는 상기 유예 가능한 작업이 활성화되지 않을 수 있다고 나타낼 수 있다.
따라서 실시예에 따라 도 1의 작업 스케줄러(116)가 장기 충전 이벤트가 발생한다고 예측할 때까지 유예 가능한 작업을 유예할 수 있다. 덧붙여, 앞서 기재된 바와 같이, 유예 가능하지 않은 작업은 작업 스케줄러(116)에 의해 검출될 수 있고, 따라서 충전 이벤트를 기다리지 않고, 실시간으로 수행되게 될 수 있다.
예를 들어, 도 9는 하나의 예시적 실시예에 따라, 유예 불가능한 작업을 처리하기 위한 프로세스를 제공하는 흐름도(900)를 도시한다. 하나의 실시예에서, 흐름도(900)는 도 1의 작업 스케줄러(116), 도 3의 작업 스케줄러(300), 및/또는 그 밖의 다른 실시예에 의해 수행될 수 있다. 흐름도(900)와 관련된 다음의 설명을 기초로, 추가적인 구조적 및 동작적 실시예가 해당 분야의 통상의 기술자에게 자명할 것이다.
흐름도(900)는 단계(902)에서 시작한다. 단계(902)에서, 특정 작업을 실행하려는 요청이 수신될 수 있다. 예를 들어, 도 3을 참조하여, 작업 큐잉 모듈(302)이 장치 동작 로직(114)으로부터, 장치 동작 로직(114)에 의해 작업이 수행되는 것이 희망된다고 표시하는 작업 수행 요청(308)을 수신할 수 있다.
단계(904)에서, 작업은 유예 가능하지 않다고 결정될 수 있다. 예를 들어, 앞서 기재된 바와 같이, 작업 큐잉 모듈(302)은 표시된 작업을 분석하여 상기 작업이 유예 가능한지 여부를 결정할 수 있다. 하나의 실시예에서, 작업 큐잉 모듈(302)은 상기 표시된 작업을 유예 가능한 작업들의 지정 리스트에 비교하거나 및/또는 본원에 기재된 그 밖의 다른 기법을 수행하여 표시된 작업이 유예될 수 있는지 여부를 결정할 수 있다. 표시된 작업이 지정된 리스트 내에 있지 않거나 또 다른 유예 가능한 작업 테스트에 통과하지 못한 경우, 작업 큐잉 모듈(302)은 상기 표시된 작업이 유예 가능하지 않다고 결정할 수 있다.
단계(906)에서, 충전 이벤트 전에 특정 작업이 실행 가능해진다. 예를 들어, 도 3에 도시된 바와 같이, 작업 큐잉 모듈(302)은 도 1의 장치 동작 로직(114)에 의해 수신될 수 있는 작업 활성화 신호(124)를 생성할 수 있다. 상기 작업이 유예 가능하지 않다고 결정됐기 때문에, 작업 큐잉 모듈(302)은 장치 동작 로직(114)에게 상기 작업이 활성화되고, (충전 이벤트를 기다리지 않고) 실시간으로 실행될 수 있음을 표시하기 위한 작업 활성화 신호(124)를 생성한다.
추후에 상기 유예된 작업은 (충전 이벤트 전에) 이르게 실행될 필요가 있다고 결정될 수 있다. 예를 들어, 도 10은 하나의 예시적 실시예에 따라, 유예된 상태로부터 작업을 제거하기 위한 프로세스를 제공하는 흐름도(1000)를 도시한다. 하나의 실시예에서, 흐름도(1000)는 도 1의 작업 스케줄러(116), 도 3의 작업 스케줄러(300) 및/또는 그 밖의 다른 실시예에 의해 수행될 수 있다. 추가적인 구조적 및 동작적 실시예가 흐름도(1000)에 대한 이하의 기재를 기초로 해당 분야의 통상의 기술자에게 자명할 것이다.
흐름도(1000)는 단계(1002)로 시작한다. 단계(1002)에서, 파일과 연관된 유예 가능한 작업이 나중에 실행되도록 큐잉된다. 예를 들어, 흐름도(200)의 단계(202)와 관련하여 앞서 기재된 바와 같이, 작업 큐잉 모듈(302)에 의해 나중에 실행되도록 유예 가능한 작업이 큐잉될 수 있다.
단계(1004)에서, 파일과 관련된 요청이 사용자로부터 수신된다. 하나의 실시예에서, 사용자는 단계(1002)에 따른 나중 실행을 위해 큐잉되는 파일과 관련된 요청을 할 수 있다. 상기 요청은 도 1의 장치 동작 로직(114)으로부터의 작업 큐잉 모듈(302)에 의해 수신될 수 있다. 예를 들어, 파일이 사용자에 의해 이전에 다운로드된 애플리케이션(가령, "앱(app)")의 일부이지만, 아직 설치되지 않은 것일 수 있고, 사용자는 상기 애플리케이션을 런칭 또는 실행시키도록 요청하는 중일 수 있다. 상기 애플리케이션은 충전 이벤트 동안 설치될 유예된 작업으로서 큐잉될 수 있다. 그러나 사용자가 상기 애플리케이션을 현재 실행하기를 원하기 때문에, 상기 애플리케이션 설치는 더 이상 유예되지 않을 수 있다. 또 다른 예에서, 상기 파일은 이전에 다운로드됐을 수 있지만, 파일의 스캐닝이 유예 가능한 작업으로서 큐잉됐을 수 있다. 사용자가 현재 파일을 액세스하기를 원할 수 있고, 따라서 파일의 스캐닝이 더 이상 유예되지 않을 수 있다. 또 다른 예를 들면, 파일의 다운로딩이 유예 가능한 작업으로서 큐잉되었을 수 있다. 상기 사용자는 상기 파일을 현재 액세스하기를 원할 수 있으며, 따라서 파일의 다운로딩(및 선택사항적 스캐닝)이 더 이상 유예되지 않을 수 있다.
단계(1006)에서, 수신된 요청으로 인해 상기 유예 가능한 작업이 큐(queue)로부터 제거된다. 하나의 실시예에서, 작업 큐잉 모듈(302)은 단계(1004)의 요청과 관련된 파일과 연관된 작업을 유예된 작업 큐로부터 비울 수 있다.
단계(1008)에서, 파일과 관련된 동작이 수신된 요청의 결과로서 수행된다. 하나의 실시예에서, 작업 큐잉 모듈(302)은 도 1의 장치 동작 로직(114)에 의해 수신될 수 있으며 상기 장치 동작 로직(114)에게 상기 작업이 활성화되고 (충전 이벤트를 기다리지 않고) 실시간으로 실행될 수 있음을 표시하기 위한 작업 활성화 신호(124)를 생성할 수 있다. 따라서 파일과 관련된 사용자의 요청이 즉시 수행될 수 있다. 하나의 실시예에서, 작업 활성화 신호(124)는 자동으로 생성될 수 있다. 또 다른 실시예에서, 작업이 수행되어야 하는지 여부를 요청하는 사용자 인터페이스가 생성될 수 있다. 사용자가 작업이 수행되어야 한다고 표시하는 경우, 장치 동작 로직(114)에게 상기 작업이 활성화됨을 표시하기 위한 작업 활성화 신호(124)가 생성될 수 있다. 사용자가 상기 작업이 수행되지 않아야 한다고 표시하는 경우, 상기 장치 동작 로직(114)에게 상기 작업이 활성화되고 선택사항으로서 단계(1004)의 사용자의 요청이 거절될 수 있음을 표시하기 위해, 작업 활성화 신호(124)는 생성되지 않을 수 있다. 이러한 경우에, 단계(1006)는 수행되지 않을 수 있다(가령, 유예 가능한 작업이 큐에 남아 있을 수 있다).
일부 경우, 사용자는 충전 중에 어떠한 유예된 작업도 수행되지 않고 장치의 충전이 진행되기를 원할 수 있다. 예를 들어, 사용자는 유예된 작업이 수행되기엔 충전 시간의 길이가 너무 짧을 수 있음을 알 수 있거나, 장치의 배터리가 가능한 빨리 재충전되기를 원할 수 있고, 따라서 작업이 충전 전류를 소비하지 않기를 원할 수 있다. 따라서 모바일 장치(102)의 사용자 인터페이스가 사용자에게 충전 이벤트 동안 유예된 작업이 수행되어야 할 때를 표시할 수 있다. 상기 사용자 인터페이스는 유예 가능한 작업 중 하나 이상이 모바일 장치(102)의 배터리(118)의 충전 동안 발생하지 못하게 막기 위해, 사용자가 상호대화할 수 있는 무효화 스위치(override switch)(물리적 또는 가상 스위치) 또는 그 밖의 다른 사용자 인터페이스 요소(가령, "유예된 작업을 막는가?(prevent deferred tasks?)" 질의 또는 그 밖의 다른 디스플레이된 그래픽 사용자 인터페이스 요소)를 제공할 수 있다.
Ⅲ. 예시적 컴퓨팅 장치 실시예
작업 스케줄러(116), 충전 모듈(120), 작업 스케줄러(300), 작업 큐잉 모듈(302), 충전 모니터(304), 큐 인에이블러 모듈(306), 충전 이벤트 분석기(602), 사용자 인터페이스 모듈(704), 충전 프로파일 생성기(706), 단계(502) 및 흐름도(200, 900 및 1000)가 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 작업 스케줄러(116), 충전 모듈(120), 작업 스케줄러(300), 작업 큐잉 모듈(302), 충전 모니터(304), 큐 인에이블러 모듈(306), 충전 이벤트 분석기(602), 사용자 인터페이스 모듈(704), 충전 프로파일 생성기(706), 흐름도(200), 단RP(502), 흐름도(900), 및/또는 흐름도(1000)가 하나 이상의 프로세서에서 실행되도록 구성된 컴퓨터 프로그램 코드로서 구현될 수 있다. 대안적으로, 작업 스케줄러(116), 충전 모듈(120), 작업 스케줄러(300), 작업 큐잉 모듈(302), 충전 모니터(304), 큐 인에이블러 모듈(306), 충전 이벤트 분석기(602), 사용자 인터페이스 모듈(704), 충전 프로파일 생성기(706), 흐름도(200), 단계(502), 흐름도(900), 및/또는 흐름도(1000)가 하드웨어 로직/전기 회로로서 구현될 수 있다. 예를 들어, 작업 스케줄러(116), 충전 모듈(120), 작업 스케줄러(300), 작업 큐잉 모듈(302), 충전 모니터(304), 큐 인에이블러 모듈(306), 충전 이벤트 분석기(602), 사용자 인터페이스 모듈(704), 충전 프로파일 생성기(706), 흐름도(200), 단계(502), 흐름도(900), 및/또는 흐름도(1000) 중 하나 이상은 시스템-온-칩(SoC)로 구현될 수 있다. 상기 SoC는 이의 기능을 수행하기 위해 프로세서(가령, 마이크로제어기, 마이크로프로세서, 디지털 신호 프로세서(DSP) 등), 메모리, 하나 이상의 통신 인터페이스, 및/또는 추가적인 회로 및/또는 임베디드 펌웨어 중 하나 이상을 포함하는 집적 회로 칩을 포함할 수 있다.
도 11은 본 발명의 실시예가 구현될 수 있는 컴퓨터(1100)의 예시적 구현예를 도시한다. 예를 들어, 모바일 장치(102)는 컴퓨터(1100)의 하나 이상의 특징 및/또는 대안적 특징을 포함하는 컴퓨터(1100)와 유사한 모바일 컴퓨터 시스템에서 구현될 수 있다. 덧붙여, 서버(104)는 컴퓨터(1100)와 유사한 하나 이상의 컴퓨터 시스템에서 구현될 수 있다. 컴퓨터(1100)는 종래의 개인 컴퓨터, 모바일 컴퓨터, 또는 워크스테이션의 형태로 된 범용 컴퓨팅 장치이거나, 컴퓨터(1100)는 특수 목적 컴퓨팅 장치일 수 있다. 본원에 기재된 컴퓨터(1100)의 기재는 설명 목적으로 제공된 것이며, 한정을 의도한 것이 아니다. 본 발명의 실시예는 해당 분야의 통상의 기술자에게 자명할 추가 유형의 컴퓨터 시스템으로 구현될 수 있다.
도 11에서 도시된 바와 같이, 컴퓨터(1100)는 다양한 시스템 구성요소, 가령, 시스템 메모리(1104)를 프로세싱 유닛(1102)으로 연결하는 프로세싱 유닛(1102), 시스템 메모리(1104), 및 버스(1106)를 포함한다. 버스(1106)는 몇 가지 유형의 버스 구조,가령, 메모리 버스 또는 메모리 제어기, 주변장치 버스, 가속 그래픽 포트, 및 프로세서 또는 다양한 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스 중 하나 이상을 나타낸다. 시스템 메모리(1104)는 리드 온리 메모리(ROM)(1108) 및 랜덤 액세스 메모리(RAM)(1110)를 포함한다. 기본 입/출력 시스템(1112)(BIOS)이 ROM(1108)에 저장된다.
컴퓨터(1100)는 또한 다음의 드라이브 중 하나 이상을 더 가진다: 하드 디스크로부터 읽고 하드 디스크에 쓰기 위한 하드 디스크 드라이브(1114), 이동식 자기 디스크(1118)로부터 읽고 이동식 자기 디스크에 쓰기 위한 자기 디스크 드라이브(1116), 및 이동식 광학 디스크(1122), 가령, CD ROM, DVD ROM 또는 그 밖의 다른 광학 매체로부터 읽거나 상기 이동식 광학 디스크에 쓰기 위한 광학 디스크 드라이브(1120). 하드 디스크 드라이브 인터페이스(1124), 자기 디스크 드라이브 인터페이스(1126) 및 광학 드라이브 인터페이스(1128)에 의해 각각 하드 디스크 드라이브(1114), 자기 디스크 드라이브(1116), 및 광학 디스크 드라이브(1120)는 버스(1106)로 연결되어 있다. 상기 드라이브 및 이들의 연관된 컴퓨터 판독형 매체는 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈, 및 컴퓨터를 위한 그 밖의 다른 데이터의 비휘발성 저장을 제공한다. 하드 디스크, 이동식 자기 디스크 및 이동식 광학 디스크가 기재되었지만, 그 밖의 다른 유형의 컴퓨터 판독형 저장 매체가 데이터를 저장하기 위해 사용될 수 있는데, 가령, 플래시 메모리 카드, 디지털 비디오 디스크, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM) 등이 있다.
복수의 프로그램 모듈이 하드 디스크, 자기 디스크, 광학 디스크, ROM 또는 RAM 상에 저장될 수 있다. 이들 프로그램은 운영 체제(1130), 하나 이상의 애플리케이션 프로그램(1132), 그 밖의 다른 프로그램 모듈(1134), 및 프로그램 데이터(1136)를 포함한다. 애플리케이션 프로그램(1132) 또는 프로그램 모듈(1134)은, 예를 들어, 작업 스케줄러(116), 충전 모듈(120), 작업 스케줄러(300), 작업 큐잉 모듈(302), 충전 모니터(304), 큐 인에이블러 모듈(306), 충전 이벤트 분석기(602), 사용자 인터페이스 모듈(704), 충전 프로파일 생성기(706), 흐름도(200), 단계(502), 흐름도(900) 및/또는 흐름도(1000) (가령, 흐름도(200, 900 및 100) 및/또는 본원에 기재된 추가 실시예를 구현하기 위한 컴퓨터 프로그램 로직을 포함할 수 있다.
사용자는 입력 장치, 가령, 키보드(1138) 및 포인팅 장치(1140)를 통해 명령어 및 정보를 컴퓨터(1100)로 입력할 수 있다. 그 밖의 다른 입력 장치(도시되지 않음)가 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이들 및 그 밖의 다른 입력 장치가 버스(1106)로 연결된 직렬 포트 인터페이스(1142)를 통해 프로세싱 유닛(1102)으로 연결되지만 그 밖의 다른 인터페이스, 가령, 병렬 포트, 게임 포트, 또는 전역 직렬 버스(USB)에 의해 연결될 수 있다.
또한 디스플레이 장치(1144)는 인터페이스, 가령, 비디오 어댑터(1146)를 통해 버스(1106)로 연결된다. 모니터에 추가로, 컴퓨터(1100)는 그 밖의 다른 주변 출력 장치(도시되지 않음), 가령, 스피커 및 프린터를 포함할 수 있다.
컴퓨터(1100)는 어댑터 또는 네트워크 인터페이스(1150), 모뎀(1152) 또는 네트워크를 통한 통신을 확립하기 위한 그 밖의 다른 수단을 통해 네트워크(1148)(가령, 인터넷)로 연결된다. 내부 또는 외부형일 수 있는 모뎀(1152)이 직렬 포트 인터페이스(1142)를 통해 버스(1106)로 연결된다.
본원에 기재될 때, 일반적으로 용어 "컴퓨터 프로그램 매체", "컴퓨터-판독형 매체" 및 "컴퓨터 판독형 저장 매체"는 하드 디스크 드라이브(1114), 이동식 자기 디스크(1118), 이동식 광학 디스크(1122)와 연관된 매체, 가령, 하드 디스크뿐 아니라, 그 밖의 다른 매체, 가령, 플래시 메모리 카드, 디지털 비디오 디스크, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM) 등을 지칭하기 위해 사용된다. 이러한 컴퓨터 판독형 저장 매체는 통신 매체와 구별되고 통신 매체와 겹치지 않는다(통신 매체를 포함하지 않는다). 일반적으로 통신 매체는 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈 또는 그 밖의 다른 데이터를 변조된 데이터 신호, 가령, 반송파로 구현한다. 용어 "변조된 데이터 신호"는 신호 내 정보를 인코딩하기 위한 방식으로 특성 중 하나 이상이 설정 또는 변경된 신호를 의미한다. 비-제한적 예를 들면, 통신 매체는 무선 매체, 가령, 음향, RF, 적외선, 및 그 밖의 다른 무선 매체를 포함한다. 실시예는 또한 이러한 통신 매체와도 관련된다.
앞서 기재된 바와 같이, 컴퓨터 프로그램 및 모듈(가령, 애플리케이션 프로그램(1132) 및 그 밖의 다른 프로그램 모듈(1134))이 하드 디스크, 자기 디스크, 광학 디스크, ROM 또는 RAM에 저장될 수 있다. 이러한 컴퓨터 프로그램은 또한 네트워크 인터페이스(1150) 또는 직렬 포트 인터페이스(1142)를 통해 수신될 수도 있다. 이러한 컴퓨터 프로그램은, 애플리케이션에 의해 실행되거나 로딩될 때, 컴퓨터(1100)로 하여금 본원에 기재된 본 발명의 실시예의 특징을 구현하도록 한다. 따라서 이러한 컴퓨터 프로그램은 컴퓨터(1100)의 제어기를 나타낸다.
본 발명은 또한 임의의 컴퓨터 사용형 매체 상에 저장되는 소프트웨어를 포함하는 컴퓨터 프로그램 제품과 관련된다. 이러한 소프트웨어는, 하나 이상의 데이터 프로세싱 장치에서 실행될 때, 데이터 프로세싱 장치(들)이 본원에 기재된 대로 동작하게 한다. 본 발명의 실시예는 현재 알려져 있거나 미래에 알려질 임의의 컴퓨터 사용형 또는 컴퓨터 판독형 매체를 이용한다. 컴퓨터 판독형 매체의 비-제한적 예로는, 저장 장치, 가령, RAM, 하드 드라이브, 플로피 디스크, CD ROM, DVD ROM, 집 디스크(zip disk), 테이프, 자기 저장 장치, 광학 저장 장치, MEM, 나노기술 기반 저장 장치 등이 있다.
Ⅳ. 결론
본 발명의 다양한 실시예가 본원에 기재되지만, 이들은 단지 예시로서 제공된 것이며 한정으로 제공된 것이 아니다. 해당 분야의 통상의 기술자라면 이하의 특허청구범위에 의해 규정되는 본 발명의 범위 내에서 형태와 세부사항의 다양한 변경이 가능할 수 있음을 알 것이다. 따라서 본 발명의 사상과 범위는 앞서 기재된 예시적 실시예들 중 어느 것에 의해서도 제한되지 않으며, 이하의 특허청구범위 및 이의 균등항에 따라서만 정의되어야 한다.

Claims (16)

  1. 장치에서의 방법으로서,
    차후 실행을 위해 적어도 하나의 유예 가능한 작업(deferrable task)을 큐잉(queuing)하는 단계,
    상기 큐잉하는 단계 후 장치의 배터리에 대한 충전 이벤트의 개시를 검출하는 단계, 및
    상기 충전 이벤트 동안 큐잉된 상기 적어도 하나의 유예 가능한 작업이 실행되도록 활성화하는 단계를 포함하는
    장치에서의 방법.
  2. 제1항에 있어서,
    상기 장치에 대한 충전 프로파일(charge profile)을 기초로 하여 상기 충전 이벤트는 장기 지속 충전 이벤트(long duration charging event)임을 예측하는 단계, 및
    상기 예측하는 단계의 결과로서 상기 실행을 활성화하는 단계를 더 포함하는
    장치에서의 방법.
  3. 제2항에 있어서,
    상기 예측하는 단계는
    상기 충전 이벤트가 지정 임계치보다 긴 지속시간을 가짐을 예측하는 단계를 포함하는
    장치에서의 방법.
  4. 제2항에 있어서,
    시간의 흐름에 따른 장치의 배터리의 충전을 모니터링하는 단계, 및
    상기 모니터링을 기초로 상기 충전 프로파일을 생성하는 단계를 더 포함하는
    장치에서의 방법.
  5. 제2항에 있어서,
    장치의 사용자가 상기 충전 프로파일을 수동으로 구성할 수 있게 하는 단계를 더 포함하는
    장치에서의 방법.
  6. 제1항에 있어서,
    특정 작업을 실행하기 위한 요청을 수신하는 단계,
    상기 특정 작업은 유예 가능하지 않다고 결정하는 단계, 및
    상기 특정 작업이 충전 이벤트 전에 실행되도록 활성화하는 단계를 더 포함하는
    장치에서의 방법.
  7. 제1항에 있어서,
    차후 실행을 위해 파일과 연관된 유예 가능한 작업을 큐잉하는 단계,
    상기 파일과 관련된 사용자로부터의 요청을 수신하는 단계,
    수신된 상기 요청으로 인해 큐(queue)로부터 상기 유예 가능한 작업을 제거하는 단계, 및
    수신된 상기 요청의 결과로서 상기 파일에 관한 동작을 수행하는 단계를 더 포함하는
    장치에서의 방법.
  8. 제1항에 있어서,
    스캔 결과를 생성하기 위해 파일에 대한 경량 스캔(lightweight scan)을 수행하는 단계,
    상기 스캔 결과를 원격 서버로 전송하는 단계,
    상기 원격 서버로부터 상기 파일이 악성(malicious)인지 여부에 대한 표시를 수신하는 단계, 및
    상기 파일이 악성이 아니라고 표시되는 경우 상기 파일과 연관된 풀 스캔 작업(full scan task)을 큐잉하는 단계를 더 포함하는
    장치에서의 방법.
  9. 제1항에 있어서,
    상기 적어도 하나의 유예 가능한 작업은 파일 다운로드 작업(file download task), 바이러스 스캔 작업(virus scan task), 백업 작업(backup task), 또는 구성 관리 작업(configuration management task) 중 적어도 하나를 포함하는
    장치에서의 방법.
  10. 프로세서로 하여금 청구항 제1항 내지 제9항 중 어느 한 항에 따르는 방법을 수행하도록 하는 컴퓨터 프로그램 로직 수단을 포함하는 컴퓨터 프로그램 로직이 기록된 컴퓨터 판독형 매체를 포함하는 컴퓨터 프로그램 제품.
  11. 모바일 장치에서의 작업 스케줄러(task scheduler)로서, 상기 작업 스케줄러는 모바일 동작 동안 모바일 장치의 배터리 전력의 보존을 가능하게 하며, 상기 작업 스케줄러는
    적어도 하나의 작업이 유예 가능함을 결정하고 적어도 하나의 유예 가능한 작업을 차후 실행을 위해 큐잉(queuing)하도록 구성된 작업 큐잉 모듈(task queuing module),
    적어도 하나의 유예 가능한 작업을 큐잉한 후 모바일 장치의 배터리에 대한 충전 이벤트의 개시를 검출하도록 구성된 충전 모니터(charge monitor), 및
    상기 충전 이벤트가 장기 지속 충전 이벤트라고 예측되는 경우 상기 충전 이벤트 동안 상기 적어도 하나의 유예 가능한 작업이 실행되게 하도록 구성된 큐 인에이블러 모듈(queue enabler module)을 포함하는
    작업 스케줄러.
  12. 제10항에 있어서,
    상기 큐 인에이블러 모듈은,
    모바일 장치에 대한 충전 프로파일을 기초로 하여 상기 충전 이벤트가 장기 지속 이벤트임을 예측하도록 구성된 충전 이벤트 분석기를 포함하고,
    상기 큐 인에이블러 모듈은 상기 예측의 결과로서 상기 충전 이벤트 동안 큐잉된 상기 적어도 하나의 유예 가능한 작업이 실행되도록 활성화하도록 구성되는
    작업 스케줄러.
  13. 제11항에 있어서,
    상기 충전 이벤트 분석기는 상기 충전 이벤트가 지정 임계치보다 긴 지속시간을 갖는지 여부를 판단하여, 상기 충전 이벤트가 장기 지속 충전 이벤트인지 여부를 예측하도록 구성되는
    작업 스케줄러.
  14. 제11항에 있어서,
    상기 큐 인에이블러 모듈은 시간의 흐름에 따른 배터리의 충전을 모니터링하여 충전 히스토리 데이터를 생성하고 상기 충전 히스토리 데이터를 기초로 하여 상기 충전 프로파일을 생성하도록 구성되는
    작업 스케줄러.
  15. 제11항에 있어서,
    상기 모바일 장치의 사용자가 상기 충전 프로파일을 수동으로 구성할 수 있게 하도록 구성된 사용자 인터페이스 모듈을 더 포함하는
    작업 스케줄러.
  16. 제10항에 있어서,
    상기 작업 큐잉 모듈은 특정 작업을 실행하기 위한 요청을 수신하고 상기 특정 작업이 유예 가능하지 않는지 여부를 결정하며, 상기 특정 작업이 유예 가능하지 않다고 결정된 경우 상기 큐 인에이블러 모듈은 충전 전류를 수신하기 전에 특정 작업이 실행되도록 활성화하는
    작업 스케줄러.
KR1020137033258A 2011-06-16 2012-06-06 배터리 최적화를 이용한 모바일 장치 동작 방법 KR101933735B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/162,133 US9152202B2 (en) 2011-06-16 2011-06-16 Mobile device operations with battery optimization
US13/162,133 2011-06-16
PCT/US2012/041035 WO2012173843A2 (en) 2011-06-16 2012-06-06 Mobile device operations with battery optimization

Publications (2)

Publication Number Publication Date
KR20140045405A true KR20140045405A (ko) 2014-04-16
KR101933735B1 KR101933735B1 (ko) 2018-12-28

Family

ID=47354883

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137033258A KR101933735B1 (ko) 2011-06-16 2012-06-06 배터리 최적화를 이용한 모바일 장치 동작 방법

Country Status (12)

Country Link
US (1) US9152202B2 (ko)
EP (1) EP2721460B1 (ko)
JP (1) JP6126085B2 (ko)
KR (1) KR101933735B1 (ko)
CN (1) CN103597423B (ko)
AU (1) AU2012271103B2 (ko)
BR (1) BR112013031986B1 (ko)
CA (1) CA2838397C (ko)
MX (1) MX2013014794A (ko)
RU (1) RU2609136C2 (ko)
TW (1) TWI553559B (ko)
WO (1) WO2012173843A2 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110099507A1 (en) * 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US20130103960A1 (en) * 2011-10-24 2013-04-25 Motorola Mobility, Inc. Method and device with intelligent power management
WO2013101176A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Apparatus and method for managing operation of a mobile device
EP2823373B1 (en) * 2012-03-08 2019-07-17 Hewlett-Packard Development Company, L.P. Virtualizing battery across a group of personal mobile devices
US20140082384A1 (en) * 2012-09-20 2014-03-20 Apple Inc. Inferring user intent from battery usage level and charging trends
US9781223B2 (en) * 2012-12-28 2017-10-03 Facebook, Inc. Conserving battery and data usage
US9396088B2 (en) * 2013-03-08 2016-07-19 Sap Se Computer execution progress indicator
US9460405B2 (en) * 2013-10-03 2016-10-04 Paypal, Inc. Systems and methods for cloud data loss prevention integration
TW201516635A (zh) * 2013-10-18 2015-05-01 Qisda Corp 充電方法及行動電子裝置
US20150123595A1 (en) * 2013-11-04 2015-05-07 Xiam Technologies Limited Intelligent context based battery charging
US20150192440A1 (en) * 2014-01-07 2015-07-09 InvenSense, Incorporated Systems and Methods for Initiating Calibration of a Sensor
US20150268991A1 (en) * 2014-03-19 2015-09-24 Motorola Mobility Llc Method and apparatus for managing the scheduling of unscheduled events
CN103885364B (zh) * 2014-03-24 2016-09-28 三和智控(北京)系统集成有限公司 一种通过计划队列实现控制逻辑的动态延时调用的方法
KR101720841B1 (ko) * 2014-10-24 2017-03-28 주식회사 엘지화학 배터리 관리 시스템의 태스크 스케쥴러 오작동 검출 장치 및 방법
US9696782B2 (en) 2015-02-09 2017-07-04 Microsoft Technology Licensing, Llc Battery parameter-based power management for suppressing power spikes
US10158148B2 (en) 2015-02-18 2018-12-18 Microsoft Technology Licensing, Llc Dynamically changing internal state of a battery
US9748765B2 (en) 2015-02-26 2017-08-29 Microsoft Technology Licensing, Llc Load allocation for multi-battery devices
CN106302965B (zh) * 2015-05-29 2020-03-17 北京智谷睿拓技术服务有限公司 充电机会信息确定方法和设备
US9942854B2 (en) 2015-06-05 2018-04-10 Apple Inc. Adaptive sleep delay
US9939862B2 (en) 2015-11-13 2018-04-10 Microsoft Technology Licensing, Llc Latency-based energy storage device selection
US10061366B2 (en) 2015-11-17 2018-08-28 Microsoft Technology Licensing, Llc Schedule-based energy storage device selection
US9793570B2 (en) 2015-12-04 2017-10-17 Microsoft Technology Licensing, Llc Shared electrode battery
US10705583B2 (en) 2016-02-05 2020-07-07 International Business Machines Corporation Management of finite electrical cells
US10283985B2 (en) * 2016-05-25 2019-05-07 Lenovo (Singapore) Pte. Ltd. Systems and methods to determine time at which battery is to be charged
CN109690900B (zh) 2016-06-01 2021-03-23 华为技术有限公司 一种充电的方法及终端
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10903665B2 (en) 2016-11-01 2021-01-26 Microsoft Technology Licensing, Llc Usage data based battery charge or discharge time determination
US11656666B2 (en) 2016-11-16 2023-05-23 Microsoft Technology Licensing, Llc Dynamic power source selection, charging, and discharging
US10488905B2 (en) 2016-11-16 2019-11-26 Microsoft Technology Licensing, Llc Dynamic energy storage device discharging
US10725529B2 (en) 2017-06-26 2020-07-28 Microsoft Technology Licensing, Llc Target based power management
US10882411B2 (en) * 2018-01-18 2021-01-05 Ford Global Technologies, Llc Smart charging schedules for battery systems and associated methods for electrified vehicles
US11152810B2 (en) 2018-05-21 2021-10-19 Sling Media Pvt. Ltd. Rule based smart charging
JP7110733B2 (ja) * 2018-05-30 2022-08-02 住友電気工業株式会社 スキャン処理装置
EP3618403A1 (en) * 2018-08-31 2020-03-04 Siemens Aktiengesellschaft Method and system for managing operation associated with an object on iot enabled devices
CN110941320A (zh) * 2018-09-25 2020-03-31 华为技术有限公司 一种基于用户习惯的电量控制方法及终端
US11644889B2 (en) 2019-09-13 2023-05-09 Hewlett-Packard Development Company, L.P. Power supply cut-off in standby mode
US20210336464A1 (en) * 2020-04-28 2021-10-28 Intel Corporation Inference based fast charging
US11865944B2 (en) * 2020-05-29 2024-01-09 Deltran Operations Usa, Inc. Battery management system for batteries in engine start and deep cycle applications
KR20220132190A (ko) * 2021-03-23 2022-09-30 삼성전자주식회사 배터리의 열화를 방지하는 충전 방법 및 그 방법을 적용한 전자 장치
EP4338076A1 (en) * 2021-05-11 2024-03-20 B.G. Negev Technologies and Applications Ltd., at Ben-Gurion University A computerized charging/interface device with malware detection and backup capabilities
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization
CN114030370A (zh) * 2021-11-30 2022-02-11 联想(北京)信息技术有限公司 一种充电设备、充电控制方法及装置
CN115902490B (zh) * 2022-12-13 2023-09-29 珠海智融科技股份有限公司 充电设备的检测方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149749A1 (en) * 2003-12-30 2005-07-07 Luc Van Brabant On-access and on-demand distributed virus scanning
JP2007124867A (ja) * 2005-10-31 2007-05-17 Mitsumi Electric Co Ltd 電池保護装置及び電池保護回路
JP2008199621A (ja) * 2002-03-25 2008-08-28 Nokia Corp 移動端末においてタスクを経時的に分配する方法、デバイスおよびプロセス
US20100063756A1 (en) * 2008-09-09 2010-03-11 International Business Machines Corporation Portable device battery optimization routing system
KR20110038108A (ko) * 2008-07-10 2011-04-13 애플 인크. 지능적 전력 모니터링

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363419B1 (en) 1999-04-05 2002-03-26 Openwave Systems Inc. Method and apparatus for generating idle loop screen displays on mobile wireless computing devices
US7522964B2 (en) 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7890741B2 (en) 2000-12-01 2011-02-15 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7564810B2 (en) * 2002-05-08 2009-07-21 Microsoft Corporation Method and system for managing power consumption of a network interface module in a wireless computing device
US7359713B1 (en) 2003-02-28 2008-04-15 Trimble Navigation Limited Battery consumption optimization for mobile users
US7541776B2 (en) * 2004-12-10 2009-06-02 Apple Inc. Method and system for operating a portable electronic device in a power-limited manner
US7583984B2 (en) * 2005-08-12 2009-09-01 Lg Electronics Inc. Method of providing notification for battery power conservation in a wireless system
US7769416B2 (en) 2006-09-28 2010-08-03 At&T Intellectual Property Ii, L.P. Energy-efficient design of a multimedia messaging system for mobile devices
US7590472B2 (en) 2006-11-09 2009-09-15 Gridpoint, Inc. Energy arbitrage by load shifting
EP2116026B1 (en) 2007-02-01 2011-12-21 Nxp B.V. Control of awake time in mobile device
US7430675B2 (en) * 2007-02-16 2008-09-30 Apple Inc. Anticipatory power management for battery-powered electronic device
JP2008257578A (ja) * 2007-04-06 2008-10-23 Toshiba Corp 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
EP2147359A2 (en) 2007-05-09 2010-01-27 Gridpoint, Inc. Method and system for scheduling the discharge of distributed power storage devices and for levelizing dispatch participation
US20090164810A1 (en) * 2007-12-21 2009-06-25 Nokia Corporation Methods, apparatuses, and computer program products for managing power usage in mobile devices
US20090300616A1 (en) 2008-05-30 2009-12-03 Abbott Diabetes Care, Inc. Automated task execution for an analyte monitoring system
JP2010104114A (ja) * 2008-10-22 2010-05-06 Toyota Motor Corp 車両の制御装置および車両
US20100257529A1 (en) 2009-04-06 2010-10-07 Christopher Wilkerson Efficient systems and methods for consuming and providing power
EP2466719B1 (en) * 2009-08-11 2015-09-30 Sony Corporation Electronic device, method for charging electronic device, program, charging control device, and charging control method
US20110099507A1 (en) * 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US8578384B2 (en) * 2009-10-28 2013-11-05 Freescale Semiconductor, Inc. Method and apparatus for activating system components
US8316046B2 (en) * 2010-04-07 2012-11-20 Apple Inc. Journaling on mobile devices
US9014749B2 (en) * 2010-08-12 2015-04-21 Qualcomm Incorporated System and method to initiate a housekeeping operation at a mobile device
US20120210150A1 (en) * 2011-02-10 2012-08-16 Alcatel-Lucent Usa Inc. Method And Apparatus Of Smart Power Management For Mobile Communication Terminals

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008199621A (ja) * 2002-03-25 2008-08-28 Nokia Corp 移動端末においてタスクを経時的に分配する方法、デバイスおよびプロセス
US20050149749A1 (en) * 2003-12-30 2005-07-07 Luc Van Brabant On-access and on-demand distributed virus scanning
JP2007124867A (ja) * 2005-10-31 2007-05-17 Mitsumi Electric Co Ltd 電池保護装置及び電池保護回路
KR20110038108A (ko) * 2008-07-10 2011-04-13 애플 인크. 지능적 전력 모니터링
US20100063756A1 (en) * 2008-09-09 2010-03-11 International Business Machines Corporation Portable device battery optimization routing system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
일본 공개특허공보 특개2008-199621호(2008.08.28.) 1부. *

Also Published As

Publication number Publication date
EP2721460A4 (en) 2015-08-12
TW201303737A (zh) 2013-01-16
KR101933735B1 (ko) 2018-12-28
CA2838397C (en) 2022-02-15
US20120324578A1 (en) 2012-12-20
CA2838397A1 (en) 2012-12-20
EP2721460B1 (en) 2019-03-20
TWI553559B (zh) 2016-10-11
JP6126085B2 (ja) 2017-05-10
BR112013031986A2 (pt) 2016-12-20
WO2012173843A2 (en) 2012-12-20
AU2012271103B2 (en) 2017-01-19
BR112013031986B1 (pt) 2021-03-30
RU2609136C2 (ru) 2017-01-30
RU2013155599A (ru) 2015-06-20
CN103597423A (zh) 2014-02-19
MX2013014794A (es) 2014-01-24
CN103597423B (zh) 2016-09-14
BR112013031986A8 (pt) 2018-02-06
US9152202B2 (en) 2015-10-06
WO2012173843A3 (en) 2013-04-11
EP2721460A2 (en) 2014-04-23
JP2014523224A (ja) 2014-09-08

Similar Documents

Publication Publication Date Title
KR101933735B1 (ko) 배터리 최적화를 이용한 모바일 장치 동작 방법
AU2012271103A1 (en) Mobile device operations with battery optimization
KR101762520B1 (ko) 애플리케이션 작업들로부터 사용자 의도 및 미래의 상호작용 예측
KR101940389B1 (ko) 적응적 배터리 수명 연장
US8959521B2 (en) Apparatus and methods for performing computer system maintenance and notification activities in an opportunistic manner
TWI570544B (zh) 自電池使用量程度與充電趨勢推測使用者意圖
US20160048682A1 (en) Method and Apparatus for Clearing Malicious Power-Consuming Application, and User Terminal
KR101477179B1 (ko) 어플리케이션의 전력 효율을 결정하고 표시하는 방법 및 단말기
JP2014523224A5 (ko)
US8935552B2 (en) Information processing apparatus, computer-readable recording medium, and method for controlling power consumed in information processing apparatus
CN104052857A (zh) 移动设备的控制装置和方法
JP2017501466A (ja) コンテキストに応じた電力管理
CN107040659A (zh) 一种智能关机界面显示方法及终端
US20230051221A1 (en) Automatically updating a full charge capacity of a battery of an information handling system

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right