KR20160147930A - 멀티 배터리 장치에서의 부하 스케줄링 - Google Patents

멀티 배터리 장치에서의 부하 스케줄링 Download PDF

Info

Publication number
KR20160147930A
KR20160147930A KR1020167032994A KR20167032994A KR20160147930A KR 20160147930 A KR20160147930 A KR 20160147930A KR 1020167032994 A KR1020167032994 A KR 1020167032994A KR 20167032994 A KR20167032994 A KR 20167032994A KR 20160147930 A KR20160147930 A KR 20160147930A
Authority
KR
South Korea
Prior art keywords
load
battery
module
monitoring
finite energy
Prior art date
Application number
KR1020167032994A
Other languages
English (en)
Other versions
KR102380666B1 (ko
Inventor
보준 후앙
토마스 모스시브로다
란비르 찬드라
스티븐 이 허지스
줄리아 엘 마이너샤겐
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority to KR1020227009679A priority Critical patent/KR102533930B1/ko
Publication of KR20160147930A publication Critical patent/KR20160147930A/ko
Application granted granted Critical
Publication of KR102380666B1 publication Critical patent/KR102380666B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/007Regulation of charging or discharging current or voltage
    • H02J7/0071Regulation of charging or discharging current or voltage with a programmable schedule
    • 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/263Arrangements for using multiple switchable power supplies, e.g. battery and AC
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0063Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with circuits adapted for supplying loads from the battery
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0068Battery or charger load switching, e.g. concurrent charging and load supply
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/007Regulation of charging or discharging current or voltage
    • H02J7/00712Regulation of charging or discharging current or voltage the cycle being controlled or terminated in response to electric parameters
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/34Parallel operation in networks using both storage and other dc sources, e.g. providing buffering

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Secondary Cells (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Tests Of Electric Status Of Batteries (AREA)

Abstract

다양한 실시예는 복수의 배터리를 갖는 장치들에서 전력 부하(power load)를 스케줄링하기 위한 기법들 및 장치들을 제공한다. 부하는 이 장치들에게 공급하도록 요구되는 전력에 기초하여 규정된다. 그 후 부하는 부하의 유형 및 배터리의 상대적인 모니터링된 특성에 응답하여 배터리에 할당된다. 모니터링되는 배터리 특성은 시간에 따라 변할 수 있다. 일부 실시예에서는, 배터리의 저장된 프로파일 정보가 부하 스케줄링에 사용될 수 있다. 다른 실시예에서는, 추정된 워크로드가 또한 부하를 스케줄링하는데 사용될 수 있다.

Description

멀티 배터리 장치에서의 부하 스케줄링{LOAD SCHEDULING IN MULTI-BATTERY DEVICES}
전자기기(특히 운영 전력(operational power)을 유한 자원에 의존하는 전자기기)에서 에너지 효율은 장치 엔지니어에게 중요한 관심사이며, 흔히 제품 설계자의 작업에서 중대한 제한 요소이다. 배터리 구동식(battery-powered) 모바일 장치가 기업 및 개인 환경 모두에서 만연해짐에 따라, 에너지 효율 향상 문제가 여전히 중요한 것으로 남아있다. 따라서, 하드웨어 재료 및 아키텍처에서의 향상에서부터 운영 체제 스케줄링 효율 및 애플리케이션 수준에서의 개선된 장치 자원 관리에 이르기까지, 이러한 장치에서 에너지 효율을 향상시키기 위한 연구 개발 노력이 많이 그리고 다양하게 존재한다.
기존의 시스템은 통상적으로, 장치의 하드웨어의 상태 및 소프트웨어 기능에 관계없이, 필요한 전력을 얻기 위해 단일 전원(예컨대, 하나의 배터리)에 의존한다. 심지어 복수의 배터리 셀을 사용하는 시스템이 점점 일반화되고 있지만, 배터리 팩의 구성 셀들 또는 다른 부분들은 그 장치에 의해 통상적으로 단일 배터리 모듈로서 취급된다.
현재의 일반적인 단일 개체 전원 패러다임에서는, 장치의 모든 전력 부하가 부하의 유형(예컨대, 스트리밍 비디오에 대한 배경 애플리케이션 또는 프로세스)에 관계없이 단일 전원에 의해 제공된다. 복수의 개별적으로 액세스가능한 배터리 모듈을 갖는 시스템에서도, 부하는 통상적으로 배터리의 고유 특성 및 가변 특성을 고려하지 않는 방식으로 배터리에 할당된다. 예컨대, 하나의 배터리의 에너지가 고갈될 때까지 모든 부하가 그 배터리에 할당되고, 이 시점에서 모든 부하는 또 다른 배터리에 할당되어 이 배터리가 고갈될 때까지 할당되며, 이를 반복하는 것이 통상적이다. 다른 전형적인 시스템은 부하를 배터리 모듈들 간에 가능한 한 균등하게 지속적으로 분할하여 시스템에 이용가능한 모든 배터리의 충전 상태가 거의 균일하거나 "균형되게" 유지된다.
종래의 시스템은, 배터리의 부하 및 상태의 특성에 부분적으로 의존하는 가변하는 낭비되는 에너지의 비율을 고려하는 것 또는 장치나 시스템을 설계할 때 이들 알려진 특성을 이용하는 것을 어렵거나 불가능하게 한다.
본 명세서에서 설명하는 기법들 및 장치들은 둘 이상의 배터리 모듈을 갖는 장치에서 부하 스케줄링(load scheduling)을 용이하게 한다. 이들 기법에 의하면, 부하 스케줄링 모듈이, 장치의 전체 에너지 소비를 줄여 그 장치 및 그 장치의 배터리 수명을 길게 하여 효율을 증가시킬 수 있는 방식으로, 부하를 장치 내 복수의 배터리 사이에 스케줄링할 수 있다. 부하 스케줄링 모듈은 다수의 상이한 배터리 및 부하 특성에 따라 부하를 할당함으로써 시스템 내 상이한 배터리의 물리적 특성을 이용할 수 있다.
본 발명의 내용은 후속하여 발명을 실시하기 위한 구체적인 내용 부분에서 설명되는 개념들 중 선택된 것들을 단순화된 형태로 소개하고자 제공되는 것이다. 본 발명의 내용은 청구항의 청구대상의 핵심적인 특징이나 필수적인 특징들을 밝히고자 함이 아니며, 청구항의 청구대상의 범위를 결정하는 데 도움이 되고자 함도 아니다. 예를 들어 "기법(technique)"이란 용어는 시스템(들), 방법(들), 컴퓨터 판독가능 명령어(들), 모듈(들), 알고리즘들, 하드웨어 로직(예컨대, 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)) 및/또는 위 문맥 및 본 명세서 전체에서 허용된 기법을 지칭할 수 있다.
발명을 실시하기 위한 구체적인 내용은 첨부 도면을 참고하여 설명한다. 도면에서, 참조번호의 맨 좌측 숫자는 그 참조번호가 처음 출현하는 도면을 나타낸다. 상이한 도면에서 동일한 참조번호는 유사하거나 동일한 요소를 가리킨다.
도 1은 멀티배터리 장치에서 부하 스케줄링의 실시예가 동작할 수 있는 예시적인 환경을 도시한 블록도이다.
도 2는 일부 실시예에 따른, 배터리 모니터링을 이용하는 예시적인 전력 관리 모듈 및 워크로드 추정 모듈을 도시한 시스템 블록도(두 모듈 모두 부하 스케줄링 모듈에게 정보를 제공함)이다.
도 3은 일부 실시예에 따른, 전력 부하를 스케줄링하는 예시적인 그리디 스케줄링(greedy scheduling) 알고리즘의 흐름도이다.
도 4는 일부 실시예에 따른, 전력 부하를 스케줄링하는 예시적인 임계 스케줄링(threshold scheduling) 알고리즘의 흐름도이다.
도 5는 일부 실시예에 따른, 3개의 스케줄링 모드를 갖는 예시적인 하이브리드 부하 스케줄링 프로세스를 도시한 흐름도이다.
도 6은 일부 실시예에 따른, 예시적인 배터리 저항 특성 곡선을 보여주는 도표 그래프이다.
본 명세서에서 설명하는 실시예들은, 둘 이상의 배터리 모듈을 갖는 장치, 예컨대, 멀티배터리 스마트폰, 태블릿 컴퓨터, 랩탑 및 데스크탑 컴퓨터, 이북(e-book) 리더, 엔터테인먼트 장치, 웨어러블 장치, 센서 노드, 및 둘 이상의 배터리 모듈로 구동될 수 있는 기타 장치에서 부하 스케줄링(load scheduling) 하기 위한 기법들 및 장치들을 제공한다. 이들 장치에서 "부하(load)"는 그 장치의 어떠한 기능부(function)를 의미하는데, 이 기능을 완수하기 위해 전력 모듈로부터 전력을 요구하는 임의의 기능부로서 개념화될 수 있다. 다양한 실시예에서, 부하는, 예컨대 프로세서, 기능, 사용자 활동, 사용자 애플리케이션, 운영 체제 또는 커널 프로세스, 입출력 프로세스 및 장치, 메모리 프로세스, 및 데이터 저장 하드웨어의 임의의 조합에 대응할 수 있다. 보다 구체적으로, "부하"란 용어는 프로세스, 기능, 또는 전술한 하드웨어 요소들 중 하나로 인한 전기적 부하의 개념, 또는 부하로 인한 프로세스, 기능, 또는 하드웨어 요소 자체, 또는 이 둘 모두를 가리킬 수 있다.
본원 개시의 목적상 배터리 또는 배터리 모듈은 장치 및/또는 부하 스케줄링 모듈의 관점에서 단일 개체로서 기능하는 임의의 유한 전원을 가리킬 수 있다. 예를 들어, 배터리 모듈은 단일 배터리 셀 또는 배터리 팩의 대형 망(network)을 의미할 수 있는데, 이들 각각은 다수의 셀을 포함한다. "배터리 모듈"이란 용어는 커패시터, 수퍼 커패시터, 연료 전지, 또는 임의의 다른 화학적, 열적 또는 기계적 에너지 저장 모듈과 같은 장치에 이용가능한 임의의 다른 무한하지 않은 에너지원 또는 전력원에도 적용될 수 있다.
임의의 장치가 전력을 얻어낼(draw) 때마다, 얻어진 에너지의 일부만이 장치의 기능부(즉, 부하(load))에 전력 공급하는데 직접 인가된다는 점에서 이 일부의 에너지만이 실제로 유용하게 된다. 얻어진 전력의 상당 부분은 장치에 무효하게 소실되는데, 이는 전력의 물리적 전송, 장치에 사용된 재료의 특성, 배터리 팩의 특성 또는 장치의 하드웨어 및 소프트웨어의 동작 설계에서의 비효율성 때문일 수 있다.
얼마나 많은 전력이 배터리에서 낭비되는 에너지가 되는지를 판단하는 두가지 중요한 요소는 배터리의 내부 저항과 부하의 전력이다. 낭비되는 에너지는 일반적으로 시스템이나 장치의 기능부에 도달하지 않는 에너지라고 간주되는 반면에, 유용한 에너지는 의도한 대로 장치의 프로세스나, 기능 또는 하드웨어 요소에 전력을 직접 제공하도록 동작하는 배터리의 에너지이다. 배터리 관리 관점에서 유용한 에너지는 유용한 에너지가 도달하는 장치의 기능 영역 내 고유의 다른 비효율성(예컨대, 프로세서나 디스플레이에서 발생하는 열) 때문에 여전히 소실될 수 있지만, 그러한 에너지는 장치 내 원하는 기능부에 도달하기 전에 낭비되지는 않기 때문에 이들은 여전히 유용한 에너지로 간주될 수 있다. 특별히 부하 스케줄링의 효율을 향상시키는 관점에서 봤을 때, 시스템이나 장치의 다른 기능적 구성요소에 도달한 후에만 낭비되는 에너지(예컨대, 다양한 장치 하드웨어 내 고유의 비효율성 또는 부하 스케줄링과 관련없는 비효율적인 소프트웨어 때문에 낭비되는 에너지)는 일반적으로 부하 스케줄링 모듈 또는 알고리즘의 관점에서 낭비되는 것으로 간주되어서는 안 된다. 내부 저항은 배터리의 충전 상태, 활성 배터리 재료의 화학 조성(chemical composition), 배터리의 연령, 배터리의 방전 사이클이 이루어진 횟수, 배터리의 온도 등을 포함하는 많은 요인에 의존할 수 있다. 충전 상태(배터리에 남아 있는 전하량)는, 예컨대 모바일 장치에 사용되는 통상적인 배터리의 배터리 내부 저항과 밀접하게 상관이 있다.
고전력 부하는 상대적으로 저전력 부하보다 배터리에서 더 많은 에너지를 낭비한다는 것은 잘 알려져 있다. 예를 들어, 모바일 장치의 상이한 두 상태, 즉 (1) 비디오를 보는 경우와 (2) 대기 모드를 살펴보자. 비디오를 볼 때의 전력 소비는 디스플레이 및 프로세서 집약적 비디오 렌더링에 전력 공급을 필요로 한다. 반면에, 대기 모드는 최소한의 백그라운드 프로세싱만 사용하며 일반적으로 디스플레이의 동작을 요구하지 않는다. 그러나, 비디오를 보는 경우가 더 높은 전력을 요구할뿐만 아니라, 낭비되는 배터리 에너지의 비율도 대기 모드 또는 비디오를 보는 것보다 낮은 전력을 요구하는 임의의 다른 활동에 비해 더 높다. 이들 원리 및 본원에서 설명하는 발명은 확장가능하며 보다 높거나 낮은 전력을 필요로 하는 다른 시스템에 적용가능하다. 예컨대, 전기 또는 하이브리드 차량에서, 차량의 가속은 비교적 높은 전력 상태로 간주될 수 있는 반면에, 정지 신호등에서의 아이들링(idling)은 비교적 낮은 전력 상태로 간주될 수 있다.
낭비되는 에너지는 배터리의 내부 저항(DC 내부 저항 또는 DCIR이라고도 함)에 의존한다. 일반적으로, 배터리의 내부 저항이 높을수록, 더 많은 에너지가, 장치의 기능부에 전력을 공급하는 유용한 에너지로 되는 것과 반대로 낭비되는 에너지로 될 것이다. 이 현상에 대한 간단한 설명으로서, 배터리를 전압(V)의 이상적인 전원 및 배터리의 내부 저항을 나타내는 저항(R)의 저항기로 이루어진 등가 회로로 생각해보자. 옴(Ohm)의 법칙에 의하면, 배터리 내부에서 낭비되는 에너지는 아래 식과 같이 전류의 제곱에 내부 저항 및 시간을 곱한 것과 같다.
Ewaste = I2RT
그러므로, 주어진 부하의 전력에 대해, 내부 저항(R)이 높을수록 낭비되는 에너지가 많아진다.
실제로, 배터리의 충전 상태는 오늘날 통상적으로 사용하는 배터리의 내부 저항과 밀접하게 관련이 있다. 실험 결과에 따르면, 배터리가 방전되면 그 내부 저항이 커진다. 따라서, 낭비되는 에너지도 커지게 된다. 이들 관측에 의해 배터리의 낮은 충전 상태는 (동일한 부하에 대해) 더 많은 에너지 낭비를 일으킬 것이라는 일반적인 원리에 이르렀다. 달리 말하면, 배터리가 방전될수록, 더 많은 에너지가 낭비되는 반면에, 배터리가 충전될수록 낭비되는 에너지는 더 적다.
이전의 접근법과 달리, 본원에서 논의하는 기법 및 장치는, 부하의 유형과 배터리 자체의 다양한 특성에 따라서 장치 내 복수의 배터리 사이의 부하를 스케줄링하기 위해 배터리의 고유 특성을 이용하려는 것이다.
다양한 실시예에서, 각각의 부하는 그 부하를 서비스하는데 필요한 전력에 기초하여 규정되며, 부하 규정(load characterization) 정보는 부하 스케줄링 모듈에 제공될 수 있다. 장치 내 배터리 각각은 임의의 주어진 시간에 다양한 파라미터에 대해 모니터링될 수 있다. 예를 들어, 배터리의 내부 저항이 측정 및/또는 추정될 수 있다. 이와 유사하게, 배터리의 충전 상태가 측정 및/또는 추정될 수 있다. 배터리의 조성, 온도, 및 연령과 같은 다른 파라미터 및/또는 배터리에서 이루어진 방전 사이클 수가 모니터링되어 부하 스케줄링 모듈에 제공될 수 있다.
다양한 실시예에서, 부하 스케줄링 모듈은 부하 규정 및 모니터링된 배터리의 파라미터에 기초하여 개별 부하를 처리하도록 배터리를 선택하거나 또는 스케줄링한다.
일부 실시예에서, 부하 스케줄링 모듈은 "그리디(greedy)" 알고리즘에 따라서 부하를 스케줄링한다. 그리디 알고리즘을 이용하는 일부 실시예에서, 개별 부하는 저전력 또는 고전력으로서 규정된다. 그 다음에 저전력 부하는 장치 내 다른 배터리에 비해 더 높은 내부 저항을 갖는 배터리에 할당될 수 있고, 고전력 부하는 장치 내 다른 배터리에 비해 더 낮은 내부 저항을 갖는 배터리에 할당될 수 있다.
일부 실시예에서, 부하 스케줄링 모듈은 임계 알고리즘에 따라 부하를 스케줄링한다. 임계 알고리즘을 이용하는 일부 실시예에서는, 에너지 임계치(T)가 계산되거나 사전정의될 수 있다. 일부 실시예에서, 임계 알고리즘은, 제1 배터리의 누적 에너지 출력이 임계치(T)를 초과할 때까지, 전체 부하 또는 대다수 부하를 제1 배터리에 할당할 수 있다. 일부 실시예에서, 제1 배터리의 누적 에너지 출력이 임계치(T)를 초과한 후에, 저전력 부하의 전체 또는 대다수가 시스템 내 다른 배터리에 비해 더 높은 내부 저항을 갖는 배터리에 할당될 수 있고, 고전력 부하의 전체 또는 대다수가 시스템 내 다른 배터리에 비해 더 낮은 내부 저항을 갖는 배터리에 할당될 수 있다.
다른 실시예에서는, 시스템 내 배터리에 대한 저장된 정보 또는 프로파일이 부하 스케줄링 모듈에 의해 제공되거나 액세스될 수 있다. 일부 실시예에서, 추정된 워크로드가 계산되어 부하 스케줄링 모듈에 제공될 수 있다. 일부 실시예에서, 부하 스케줄링 모듈은 모니터링된 배터리 파라미터, 부하 규정, 추정된 워크로드, 저장된 배터리 정보 또는 프로파일, 또는 부하 스케줄링을 결정하는 기타 정보의 임의의 조합을 사용할 수 있다.
이하에서는 도 1 내지 6을 참고하여 다양한 실시예들을 보다 상세히 설명한다.
예시적인 환경
도 1은 멀티 배터리 장치에서 부하 스케줄링의 실시예를 구현할 수 있는 예시적인 환경을 도시한 블록도이다. 도 1은, 전자 가전(예컨대, 모바일 폰, 랩탑 컴퓨터, 태블릿 컴퓨터,e-북 리더, 또는 기타 휴대용 컴퓨팅 장치)과 같은, 장치(102)로 표시된 예시적인 컴퓨팅 기반 시스템을 도시하는데, 이 시스템은 복수의 배터리(104)를 포함하며, 하나 이상의 상이한 요소에 기초하여 이들 복수의 배터리(104) 중 어느 것이 특정한 장치 부하를 담당할지 적응적으로 제어하도록 구성된다. 부하는 자신의 기능을 발휘하기 위해 전력을 필요로 하는 시스템 또는 장치(102)의 임의의 기능부일 수 있다. 예를 들면, 프로세서나 디스플레이, 운영 체제 또는 애플리케이션 프로세스, 또는 임의의 사용자 애플리케이션을 작동시키는 것이 부하의 예들이다.
부하 스케줄링 모듈(120)은 어느 배터리 또는 배터리들(104)이 어느 특정한 부하를 처리해야 하는지에 대해 결정한다(이를 "스케줄링 결정"이라고도 한다). 스케줄링 결정 요소로 고려되는 요소들의 예로는 배터리(104)의 모니터링되는 파라미터(예컨대, 충전 상태, 온도, 연령, 방전 사이클 횟수 등), 배터리(104)에 대한 저장된 정보, 스케줄링되는 부하의 유형 및 알려졌거나 예측되는 미래의 워크로드를 들 수 있지만, 이들로 한정되지는 않는다.
다양한 예에서, 배터리들(104)은 전부 동일한 유형일 수 있는데, 즉 각각의 배터리 셀이 동일한 배터리 기술을 이용할 수도 있고 임의의 적절한 배터리 기술이 이용될 수 있다. 배터리 기술의 예로는, 리튬 이온, 리튬 폴리머 및 리튬인산철(LiFePO4) 화합물, 슈퍼커패시터(울트라커패시터라고도 함) 및 연료 전지를 들 수 있지만, 이들로 한정되지는 않는다. 다른 예에서는, 컴퓨팅 기반의 장치(102) 내 복수의 배터리(104)가 상이한 유형의 배터리 셀을 포함할 수도 있다. 일부 예에서는, 배터리(104)가 상이한 커패시터 및 상이한 초기 및 최대 내부 저항을 포함하는 실질적으로 상이한 특징을 가질 수 있다.
컴퓨팅 기반 장치(102)는 또한 마이크로프로세서, 컨트롤러, 또는 장치의 동작을 제어하는 컴퓨터 실행가능 명령어를 처리하기 위한 임의의 다른 적절한 유형의 장치일 수 있다. 예컨대 시스템온칩 아키텍처가 사용되는 일부 구현예에서, 프로세서(106)는 동작 방법의 일부를 (소프트웨어나 펌웨어보다) 하드웨어로 구현하는 하나 이상의 고정 기능 블록(액셀러레이터(accelerator)라고도 함)을 포함할 수 있다.
컴퓨터 기반 장치(102)에 의해 액세스가능한 임의의 컴퓨터 판독가능 매체를 사용하여 컴퓨터 실행가능 명령어가 제공될 수 있다. 컴퓨터 판독가능 매체는, 예컨대, 메모리(112) 및 통신 매체와 같은 컴퓨터 저장 매체를 포함할 수 있다. 메모리(112)와 같은 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된, 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체를 포함할 수 있다. 컴퓨터 저장 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광학 저장부, 자기 카세트, 자기 테이프, 자기 디스크 저장부 또는 다른 자기 저장 장치, 또는 컴퓨팅 장치에 의해 액세스할 정보를 저장하는데 사용될 수 있는 임의의 다른 비전송 매체를 포함하지만, 이들로 한정되지는 않는다. 반대로, 통신 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호 내의 다른 데이터, 또는 기타 전송 메커니즘를 포함할 수 있다. 본원에서 정의된 바와 같이, 컴퓨터 저장 매체는 통신 매체를 포함하지 않는다. 그러므로, 컴퓨터 저장 매체는 전파 신호 자체로 해석되어서는 안 된다. 전파 신호는 컴퓨터 저장 매체 내에 존재할 수 있지만, 전파 신호 자체는 컴퓨터 저장 매체의 예는 아니다. 컴퓨터 저장 매체(메모리(112))가 컴퓨팅 기반 장치(102) 내에 도시되어 있지만, 이 저장부는 분산되거나 떨어져서 위치할 수도 있고 네트워크 인터페이스(110) 또는 기타 통신 수단을 통해 액세스될 수 있음을 알 수 있을 것이다.
다른 소프트웨어로 구현가능한 기능의 동작을 비롯한 장치의 동작을 가능하게 하기 위한 운영 체제(122) 또는 임의의 다른 적절한 플랫폼 소프트웨어를 포함하는 운영 소프트웨어가 메모리(112) 내 컴퓨팅 기반 장치(102)에서 제공될 수 있다. 예컨대, 일부 실시예에서는, 부하 스케줄링 모듈(120), 배터리 모니터링 모듈(116), 워크로드 추정 모듈(118)의 임의의 조합을 개념적으로 포함하는 전력 관리 모듈(114)이 제공될 수 있다. 배터리 모니터링 모듈(116)은 배터리(104)에 대한 정보를 부하 스케줄링 모듈(120)에게 제공함으로써 부하 스케줄링 모듈(120)의 결정을 도울 수 있다. 설명의 편의 및 명확성을 위해 전력 관리 모듈(114), 부하 스케줄링 모듈(120), 배터리 모니터링 보듈(116), 및 워크로드 추정 모듈(118)의 개념을 제공하지만, 당업자는 이들이 기본적으로 추상적이며, 본 명세서에서 이들 모듈의 것으로 설명하는 기능이 임의의 언어 또는 예컨대, 마이크로컨트롤러, ASIC(application-specific integrated circuit), 또는 FPGA(field-programmable gate array)와 같은 하나 이상의 하드웨어 모듈로 소프트웨어 코드의 하나 이상의 부분의 임의의 조합으로 수행될 수 있다는 것을 이해할 수 있을 것이다.
메모리(112)는 또한, 예컨대 운영 체제(122)에 의해 처리된 데이터를 저장하는데 사용될 수 있는 데이터 저장부(124)와, 전력 관리 모듈(114), 부하 스케줄링 모듈(120), 배터리 모니터링 모듈(116), 및/또는 워크로드 추정 모듈(118)을 제공할 수 있다. 일부 실시예에서, 데이터 저장부(124)는 하드 디스크, "플래시" 드라이브, 또는 실제 또는 가상 및 영구 또는 임시 저장 수단의 임의의 조합을 포함한다. 예를 들면, 데이터 저장부(124)는 데이터베이스, 데이터 웨어하우스 또는 다른 유형의 구조화되거나 또는 구조화되지 않은 데이터 저장부와 같은 데이터 저장부를 포함할 수 있다. 일부 실시예에서, 데이터 저장부(124)는 데이터 액세스를 가능하게 하는 하나 이상의 테이블, 인덱스, 저장된 프로시저 등을 갖는 관계 데이터베이스를 포함한다. 데이터 저장부(124)는 메모리(112)에 저장되고/되거나 프로세스(106)에 의해 실행되는 프로세스, 애플리케이션, 컴포넌트 및/또는 모듈의 작동을 위한 데이터를 저장할 수 있다.
장치(102)는, 주변 입력 장치(예컨대, 마우스, 펜, 게임 컨트롤러, 음성 입력 장치, 터치 입력 장치, 제스처 입력 장치 등)와 같은 사용자 입력 장치 및 또는 주변 출력 장치(예컨대, 디스플레이, 프린터, 오디오 스피커, 햅틱 출력 등)를 포함하는 출력 장치와 같이, 장치(102)가 입출력 장치와 통신할 수 있게 하는 하나 이상의 입출력(I/O) 인터페이스(108)를 더 포함할 수 있다.
장치(102)는 또한, 무선 네트워크와 같은 외부 네트워크를 통해 컴퓨팅 장치(102)와 다른 장치(102)와 같은 다른 네트워킹된 장치 사이의 통신을 가능하게 하는 하나 이상의 네트워크 인터페이스(110)를 포함할 수 있다. 이러한 네트워크 인터페이스(110)는 네트워크를 통해 통신을 송수신하기 위해 하나 이상의 네트워크 인터페이스 컨트롤러(NIC) 또는 다른 유형의 트랜시버 장치를 포함할 수 있다.
도 1에 도시된 요소들에 대한 추가적인 설명은 아래에 되어 있다.
예시적인 동작 관계
도 2는 배터리 모니터링 모듈 및 워크로드 추정 모듈(일부 실시예에 따르면, 둘 모두 부하 스케줄링 모듈에 정보를 제공한다)을 이용하는 예시적인 전력 관리 모듈을 도시한 시스테 블록도이다.
일부 실시예에서, 개념적으로 부하 스케줄링 모듈(120), 배터리 모니터링 모듈(116), 및 워크로드 추정 모듈(118)의 임의의 조합을 포함할 수 있는 전력 관리 모듈(114)이 제공될 수 있다. 부하 스케줄링 모듈(120)은 어느 배터리 또는 배터리들(104)이 어느 특정 부하를 처리해야 하는지에 대한 결정을 하는데, 이것을 "스케줄링 결정"이라고도 한다. 스케줄링 결정 요인의 예로는, 배터리(104)의 모니터링된 파라미터, 배터리(104)에 대한 저장된 정보, 스케줄링될 부하의 유형의 알려졌거나 예측된 미래의 워크로드를 들 수 있지만, 이들로 제한되지는 않는다. 배터리 모니터링 모듈(116) 및 워크로드 추정 모듈(118)은 배터리(104)에 대한 정보를 부하 스케줄링 모듈(120)에게 제공함으로써 부하 스케줄링 모듈(120)의 결정을 도울 수 있다.
배터리 모니터링 모듈(116)에 의해 부하 스케줄링 모듈(120)로 제공된 정보는 장치(102)의 배터리(104)와 관련된 파라미터의 현재 상태에 대한 정보(202)를 포함할 수 있다. 일부 실시예에서, 예시적인 상태 정보(202)는 내부 저항, 충전 상태, 연령, 방전 사이클이 이루어진 횟수, 소비하고 남은 에너지의 측정치 및 온도를 포함할 수 있다. 일부 실시예에서, 배터리 모니터링 모듈(116)은 또한 배터리(104)에 대한 사전 저장된 특징 정보(204)를 부하 스케줄링 모듈(120)에게 제공할 수 있다. 예를 들어, 내부 저항을 충전 상태의 함수로 또는 그 역을 보여주는 방전 프로파일이 제공될 수 있다. 예컨대, 배터리 저항을 에너지 출력의 함수로, 충전 상태를 에너지 출력의 함수로, 그리고 온도, 연령, 방전 사이클의 횟수, 및 기타 파라미터에 기초한 이들의 변형을 포함하는 임의의 수의 다른 프로파일 유형이 제공될 수 있다. 제공될 수 있는 배터리(104)에 대한 저장된 정보의 다른 예로는 최초 저항(예컨대, 완전 충전시의 내부 저항) 및 최대 저항(예컨대, 완전 방전시의 내부 저항)이 있다. 일부 실시예에서, 저장된 규정 정보(204)는 액세스된 정보 및/또는 부하 스케줄링 모듈(120) 또는 전력 관리 모듈(114)의 작동 결과로서 생성된 데이터에 응답하여 증가 또는 수정될 수 있다.
일실시예에서, 워크로드 추정 모듈(118)에 의해 부하 스케줄링 모듈(120)에 제공된 정보는 장치(102)의 작동에 필요한 전력 부하의 유형 규정(208)을 포함할 수 있다. 다양한 실시예에서, 부하는, 예컨대 프로세서 기능, 사용자 활동, 사용자 애플리케이션, 운영 체제 또는 커널 프로세스, 입출력 프로세스 및 장치, 및 메모리 프로세스 및 장치의 임의의 조합에 대응할 수 있다. 예를 들면, 일부 실시예는 부하 규정 체계(load characterization scheme)를 이용할 수 있는데, 이것에 의해 부하는, 예컨대, 부하를 완료하는데 요구되는 총 전력량 또는 소정 기간 부하가 필요로 하는 전력량을 특징으로 한다. 이러한 실시예에서, 스트리밍 비디오 처리 및 스트리밍 비디오를 사용자에게 디스플레이하기 위한 입출력 장치에 전력공급하는 것을 포함하는 활동은 일부 실시예에서 고전력 부하로서 간주될 수 있다. 이와 유사하게, 장치(102)의 대기 모드 동안 실행되는 백그라운드 운영 프로세스는 일부 실시예에서 저전력 부하로서 간주될 수 있다. 일부 실시예에서, 다른 부하 규정 체계는 다른 기준, 예컨대, 부하가 하드웨어 기반인지 아니면 소프트웨어 기반인지, 장치(102)의 어느 컴포넌트가 부하를 요구 및/또는 처리하는지, 처리 결과가 장치(102)의 사용자에게 명확한지, 및 기타 기준에 기초할 수 있다.
일부 실시예에 따른 예시적인 부하 유형 규정 체계는 임의의 수의 가능한 유형 규정을 이용할 수 있다. 예를 들어, 소정 기간 동안 필요한 전력에 기초하여 부하를 규정하는 부하 유형 등급 체계는 모든 부하를 저전력 또는 고전력 부하로 평가할 수 있다. 또는, 그러한 체계의 다른 실시예는 소정 기간 동안의 부하의 전력 요건에 기초하여 10개(또는 임의의 다른 개수)의 부하 유형 등급 레벨을 포함할 수 있다.
일부 실시예에 따른 부하 스케줄링 모듈(120)에 제공된 정보는 또한 추정된 워크로드(208)를 포함할 수 있다. 일부 실시예에서, 미래의 워크로드는 워크로드 추정 모듈(118)에 의해 추정될 수 있고 부하 스케줄링 모듈(120)에 의해 제공되거나 또는 액세스될 수 있다. 실시예들에서, 미래의 워크로드는, 예컨대, (예컨대, 장치가 꺼지거나 충전기에 연결되었기 때문에)장치(102)가 배터리(104)로부터 전달되는 전력을 필요로 하는 부하를 더 이상 갖지 않을 때까지의 기간이나, 각각의 배터리(104) 내의 에너지가 고갈될 때까지의 기간이나, 또는 특정한 불연속 기간 등의 기간에 계산될 수 있다.
일부 실시예에서, 하나의 방전 사이클에서의 시스템 또는 장치(102)의 예시적인 워크로드는 그 사이클 내의 시간에 걸쳐 "유용한" 전력 소비의 추적일 수 있다. 예를 들어, 임의의 시간(t)에서, 유용한 전력 소비량 P(t)은 배터리(104)의 단자 전압 및 그 배터리의 직류 전류를 모니터링함으로써 측정될 수 있다. 예시적인 시스템은 전력 차원과 시간 차원 모두에서 워크로드를 별개로 양자화할 수 있다. 전력 차원에서, 예시적인 시스템은 클러스터링 기법 또는 사전결정된 임계치를 사용하여 워크로드를 두 개의 전력 레벨, 즉, 고전력 및 저전력으로 양자화할 수 있는데, 이들은 대략적으로 장치의 활성 상태와 대기 상태에 대응한다. 시간 차원에서, 예시적인 시스템은 워크로드를 일련의 분리된 "부하"로 분할할 수 있으며 부하의 경계에서 스케줄링 결정을 할 수 있다. 즉, 예컨대, 부하가 특정 배터리에 할당될 수 있고, 부하가 완료되거나 또는 배터리 내의 에너지가 소멸될 때까지 배터리가 부하를 처리할 것이다. 스케줄링 결정이 부하의 경계에서만 이루어지는 일부 실시예에서, 부하 스케줄링 모듈(120)은 스케줄링을 위해 새로운 부하가 제공되거나 또는 원래 할당된 부하가 불능이 될 경우(예컨대, 원래 할당된 배터리가 완전히 방전될 경우) 그 마무리로 인한 스케줄링을 위해 이전에 스케줄링된 부하가 다시 제공될 때에만 스케줄링 결정을 할 수 있다.
일부 실시예에서, 부하 분할(partitioning)은 시간 면에서는 균일하지 않지만 (유용한) 에너지 소비 면에서는 균일하다. 그 결과, 이러한 실시예에서는, 고전력 부하는 저전력 부하보다 빨리 정해진 에너지량을 사용할 것이기 때문에, 저전력 부하에 대한 지속 기간(time duration)이 고전력 부하를 완료하기 위한 지속 기간보다 길 것이다. 그 결과, 이러한 실시예들은 일반적으로, 장치가 대기 모드나 아니면 다른 저전력 모드에 있을 때 배터리의 스위칭을 덜 빈번하게 요구할 수 있다. 이러한 설계는 부하 스케줄링의 에너지 오버헤드가 항상 총 에너지 소비의 작은 부분으로 확실히 제한되도록 도울 수 있다.
일부 실시예에서, 부하의 전력 레벨은 전력 임계치(P*)에 의해 양자화될 수 있고, 부하의 에너지 레벨은 임계치(E*)에 의해 양자화될 수 있다. 일부 실시예에서, 부하의 시작 경계에서(예컨대, 부하가 전력을 요구하고 배터리 할당을 위해 부하 스케줄링 모듈(120)로 제공될 때), 워크로드 추정 모듈(118)은 유용한 에너지의 E* mJ의 양이 소비되기 전에 소정의 기간 동안 부하의 추정된 평균 전력 소비를 예측할 수 있다. 이러한 시스템에서, 평균 전력 소비가 P* 보다 높다고 예측되면, 현재 규정되는 부하(예컨대, 현재의 부하)는 고전력 부하이다. 그렇지 않으면 현재 규정되는 부하는 저전력 부하이다. 그 다음에, 부하 스케줄링 모듈(120)은 규정 정보를 사용하여 현재 부하를 처리하기 위해 (본원에서 설명하는 프로세스들 중 임의의 프로세스에 의해)특정 배터리(104)를 할당할 수 있다. 둘보다 많은 레벨있는 일부 실시예에서, 이 프로세스는 각각의 부하 경계에서 반복될 것이다.
예시적인 프로세스
도 3은 일부 실시예에 따른, 전력 부하를 스케줄링하기 위한 예시적인 그리디 스케줄링 알고리즘의 흐름도이다. 다양한 실시예에서, 도 3의 프로세스는 사실상 부하 스케줄링 모듈(120) 또는 전력 관리 모듈(114), 부하 스케줄링 모듈(120), 배터리 모니터링 모듈(116), 워크로드 추정 모듈(118), 및 기타 유형 또는 추상 소프트웨어 또는 하드웨어 모듈 또는 장치의 임의의 조합에 의해 수행될 수 있다.
"그리디" 스케줄링 알고리즘은, 그 일례가 도 3의 흐름도로 표현되어 있는데, 일부 실시예에서 부하 스케줄링 시스템이 바이너리 부하 규정 방법(예컨대, 부하가 저전력 또는 고전력으로서만 규정될 수 있다) 및 두 개의 동일한 배터리 모듈을 이용하는 특별한 경우에 적용될 수 있다.
도 3의 알고리즘 또는 유사한 알고리즘을 이용하는 다양한 실시예에 따르면, 배터리(104)는 두 개의 동일한 배터리 모듈, 즉 배터리1 및 배터리2를 포함한다. 예컨대, 동일한 배터리 모듈은, 구조면에서 실질적으로 동일하고 용량, 물리적 구성 및 재료, 활성 캐소드 재료 화합물, 폼팩터, 모니터링 및 통신 능력, 및 장치(102)와의 통신 및 전기 결합 방법과 같은 모든 관련 기능 파라미터에 있어서 실질적으로 동일하다.
도 3에 표시된 것과 동일하거나 유사한 알고리즘을 이용하는 다양한 실시예에 따르면, 부하 스케줄링 모듈(120) 및/또는 워크로드 추정 모듈(118)은 각각의 부하를 바이너리 방식으로 규정할 수 있는데, 이는 두 개의 별개의 규정만이 가능함을 의미한다. 예를 들어, 일부 실시예에서 부하는 저전력 또는 고전력으로 규정될 수 있다. 다른 실시예에서는, 부하가 활성 또는 백그라운드 프로세스로서 규정되거나, 사용자에게 분명하거나(apparent) 또는 분명하지 않은 것으로, 소프트웨어나 하드웨어와 관련된 것으로, 또는 임의의 다른 가능한 2분법적 구별로서 규정될 수 있다.
일부 실시예에서, 그리디 부하 스케줄링 알고리즘은 제1 부하(또는 제1 고전력 또는 저전력 부하)가 항상 배터리1에 의해 전력을 공급받도록 스케줄링할 수 있다. 일부 실시예에서 모든 후속 부하에 대해, 각각의 고전력 부하는 현재 가장 낮은 내부 저항을 갖는 배터리에 의해 전력공급되도록 스케줄링될 수 있고, 각각의 저전력 부하는 현재 가장 높은 내부 저항을 갖는 배터리에 의해 전력공급되도록 스케줄링될 수 있다. 일부 실시예에서, 배터리 전력을 요구하는 모든 부하가 처리되면(또는, 예컨대 모든 캐터리 내의 에너지가 고갈되면), 스케줄링 시스템은 종료된다.
예시적인 실시예에서, 배터리로부터 전력을 요구하는 각각의 부하는 부하 스케줄링 모듈(120)에 개별적으로 제공될 수 있다. 단계(302)에서, 부하 스케줄링 모듈(120) 및/또는 워크로드 추정 모듈(118)은 현재의 부하가 제1 부하인지 여부를 결정한다. 예시적인 실시예에서, 현재의 부하가 제1 부하이면, 현재의 부하는 항상 배터리1로 스케줄링될 것이다(단계 304). 다른 예시적인 시스템에서는, 제1 부하가 항상 배터리2로 스케줄링되거나 또는 제1 부하가 랜덤하게 배터리로 스케줄링될 수 있다.
일부 실시예에서, 단계(302)에서의 결정 결과가 부정적이면(예컨대, 현재 부하가 제1 부하가 아니면), 단계 306에서 현재 부하가 고전력인지 아니면 저전력인지의 여부가 결정된다. 일부 실시예에서, 단계306의 결정은, 예컨대 워크로드 추정 모듈(118), 부하 스케줄링 모듈(120), 또는 이들의 조합에 의해 이루어질 수 있다.
일부 실시예에서, 현재의 부하가 단계(306)에서 고전력 부하로 규정되면, 단계(308)에서 현재의 부하가 현재 시스템 내의 다른 배터리 또는 배터리들에 비해 더 낮거나 또는 가장 낮은 내부 저항을 갖고 이는 배터리(두 개의 동일한 배터리 모듈의 경우에 배터리1 또는 배터리2)에 의해 제공받도록 스케줄링된다. 다른 실시예에서는, 배터리 선택이 내부 저항 이외의 다른 파라미터, 예컨대 배터리의 상대적인 충전 상태에 전적으로 또는 부분적으로 기초할 수 있다.
일부 실시예에서, 현재의 부하가 단계(306)에서 저전력 부하로 규정되면, 단계(310)에서 현재의 부하가 현재 시스템 내의 다른 배터리 또는 배터리들에 비해 더 높거나 또는 가장 높은 내부 저항을 갖고 있는 배터리에 의해 공급받도록 스케줄링된다.
일부 실시예에서, 부하가 특정 배터리(예컨대, 단계(304, 308 또는 310))로 스케줄링된 후에, 312에서 스케줄링할 더 이상의 부하가 있는지 여부에 대한 결정이 이루어진다. 일부 실시예에서, 스케줄링할 더 이상의 부하가 있는지 여부에 대한 단계(312)에서의 결정은 사전 정의된 워크로드 또는 공지된 워크로드에 기초할 수 있다. 다른 실시예에서는, 스케줄링할 더 이상의 부하가 있는지 여부에 대한 단계(312)에서의 결정이 워크로드 추정 모듈(118), 부하 스케줄링 모듈(120), 또는 이들의 조합에 의해 생성될 수 있는 추정된 미래의 워크로드에 전적으로 또는 부분적으로 기초할 수 있다. 일부 실시예에서, 단계(312)의 결정 결과가 부정적이면(예컨대, 실제로 큐잉되거나 예상되는 부하가 더 이상 없으면), 스케줄링 알고리즘은 종료된다.
일부 실시예에서, 단계(312)의 결정 결과가 긍정적이면(예컨대, 실제로 큐잉되거나 예상되는 추가적인 부하가 있으면), 314에서 부하 스케줄링 모듈(120)은 스케줄링을 위해 제공될 다음 부하를 기다린다. 일부 실시예에서, 스케줄링을 위해 제공될 다음 부하가 있으면, 도 3의 알고리즘은 단계(302)로 돌아간다. 일부 실시예에서, 단계(314)에서의 대기는 제한될 수 있는데, 예를 들면, 지정된 기간 내에 스케줄링하기 위해 제공되는 부하가 없거나 또는 하나 이상의 배터리 모듈 내의 에너지가 거의 또는 완전히 고갈되면 스케줄링 알고리즘을 자동으로 종료한다.
도 4는 일부 실시예에 따른, 전력 부하를 스케줄링하는 예시적인 임계 스케줄링 알고리즘의 흐름도이다. 다양한 실시예에서, 도 4의 프로세스는 실질적으로 부하 스케줄링 모듈(120)이나, 또는 전력 관리 모듈(114), 부하 스케줄링 모듈(120), 배터리 모니터링 모듈(116), 워크로드 추정 모듈(118), 및 기타 유형의 또는 추상 소프트웨어 또는 하드웨어 모듈이나 장치의 조합에 의해 수행될 수 있다.
"임계(threshold)" 스케줄링 알고리즘(그 일례가 도 4의 흐름도로 나타나 있다)은 일부 실시예에서 바이너리 부하 규정 방법(예컨대, 부하가 저전력 또는 고전력으로만 규정될 수 있다) 및 두 개의 동일한 배터리 모듈을 이용하는 특별한 경우의 부하 스케줄링 시스템에 적용될 수 있다.
도 4의 알고리즘 또는 이와 유사한 알고리즘을 이용하는 다양한 실시예에 따르면, 배터리(104)는 두 개의 동일한 배터리 모듈, 즉 배터리1 및 배터리2를 포함한다. 예를 들어, 동일한 배터리 모듈은 구조 면에서 실질적으로 동일하고, 용량, 물리적 구성 및 재료, 활성 캐소드 재료 화합물, 폼팩터, 모니터링 및 통신 능력, 및 장치(102)와의 통신 및 전기 결합 방법과 같은 모든 관련 기능 파라미터에서 실질적으로 동일하다.
도 3 또는 4에 표시된 것과 동일하거나 유사한 알고리즘을 이용할 수 있는 다양한 실시예에 따르면, 부하 스케줄링 모듈(120) 및/또는 워크로드 추정 모듈(118)은 각각의 부하를 바이너리 방식으로 규정할 수 있는데, 이는 두 개의 별개의 규정만이 가능함을 의미한다. 예를 들어, 일부 실시예에서 부하는 저전력 또는 고전력으로 규정될 수 있다. 다른 실시예에서는, 부하가 활성 프로세스 또는 백그라운드 프로세스로서 규정되거나, 사용자에게 분명하거나(apparent) 또는 분명하지 않은 것으로, 소프트웨어나 하드웨어와 관련된 것으로, 또는 당업자가 생각할 수 있는 임의의 다른 가능한 2분법적 구별로서 규정될 수 있다.
도 4에 도시되고 본 명세서에서 설명하는 임계 알고리즘의 개념은 도 3에 도시되고 본 명세서에서 설명하는 것과 유사하거나 동일한 그리디 알고리즘이 배터리들 사이의 내부 저항의 불균형이 비교적 더 낮은 시스템에 비해 배터리들 사이의 내부 저항의 불균형이 비교적 더 큰(예컨대, 2개의 배터리 시스템에서의 한 배터리가 다른 배터리보다 높은 내부 저항을 갖는) 시스템에 적용될 때 효율면에서 더 큰 향상을 제공할 수 있다는 인식에 부분적으로 기인한다. 임계 알고리즘의 일반적인 원리는, 그리디 스타일 스케줄링 로직을 적용하기 전에 우선 시스템 또는 장치에서 내부 저항의 불균형을 생성하는 것이다.
간단한 순차 알고리즘(여기서 배터리가 소진될 때까지는 모든 부하가 배터리1에 할당되고, 그 다음에는 모든 부하가 배터리2에 할당됨)에 대해 도 4에 도시되고 본 명세서에서 설명하는 것과 유사한 예시적인 임계 알고리즘의 조작 향상을 정량적으로 평가하기 위해, Windows Phone® 및 SurfaceTM(RT 및 프로) 장치 시스템에서 관측되는 실세계 수치로 조정된 시스템 파라미터 및 배터리를 가지고 시뮬레이션을 실행하였다. 이 시뮬레이션은 정확히 두 개의 동일한 배터리 및 바이너리 부하 규정 체계를 사용하였고, 여기서 부하는 시뮬레이션 장치의 대기 모드 및 활성 기능과 대략 동등한 저전력 또는 고전력으로 규정되었다.
시뮬레이션 결과는 단순한 순차 알고리즘에 비해 임계 알고리즘을 사용할 경우 낭비되는 에너지를 44.1%까지 절감할 수 있고 배터리 수명을 22.6% 늘릴 수 있음을 나타낸다. 이들 시뮬레이트된 수치들은 3.7 볼트의 배터리 전압과 2 암페어의 전류를 갖는 전화기에서의 부하의 시뮬레이션에 대응한다. 3.7 볼트의 배터리 전압과 1 암페어의 전류를 갖는 시뮬레이트된 전화기에서는, 낭비되는 에너지의 30%가 절감되었고 8.4%의 배터리 수명이 연장된 것으로 관측되었다. 7.4 볼트의 배터리 전압과 3 암페어의 전류를 갖는 시뮬레이트된 SurfaceTM에서는, 낭비되는 에너지의 30.1%가 절감되었고 13.8%의 배터리 수명이 연장된 것으로 관측되었다.
일부 실시예에서, 부하 스케줄링이 시작되고, E1 및 E2는 각각 배터리1 및 배터리2의 누적 에너지 출력을 나타낼 수 있다. 이러한 실시예에서, 처음에 두 배터리 모두가 거의 완전히 충전될 수 있는데, 이는 E1=0이고 E2=0을 의미한다. 임계치(T)는 내부 저항의 원하는 불균형이 얻어질 시점을 나타내도록 정의된다. 도 4의 알고리즘 또는 이와 유사한 알고리즘에 따른 일부 실시예에서, 임계 부하 스케줄링 알고리즘은 두 단계(phase)로 동작한다고 생각될 수 있다. 첫 번째 단계에서, 이 알고리즘은 모든 부하를 배터리1로 스케줄링함으로써 두 배터리 사이에 충분히 불균형한 내부 저항(또는 다른 구현예에서는 불균형 충전 상태)을 생성하려고 시도한다. 단계1은 E1>T일 때 종료된다. 단계2에서, 저전력 부하가 배터리1로 스케줄링되고 고전력 부하가 배터리2로 스케줄링된다. 일부 실시예에서, 배터리 전력을 요구하는 모든 부하가 처리되면(또는 모드 배터리 내의 에너지가 소진되면), 스케줄링 시스템이 종료된다. 다양한 실시예에서, 도 4의 알고리즘과 관련하여 설명한 프로세스는 부하 스케줄링 모듈(120) 또는 전력 관리 모듈(114), 부하 스케줄링 모듈(120), 배터리 모니터링 모듈(116), 워크로드 추정 모듈(118), 및 기타 유형 또는 추상 소프트웨어 또는 하드웨어 모듈이나 장치의 임의의 조합에 의해 수행될 수 있다.
예시적인 실시예에서, 부하 또는 부하들이 스케줄링을 위해 제공되고, 임계치(T)가 제공되고, 배터리로부터 전력을 요구하는 각각의 부하가 부하 스케줄링 모듈(120)에게 제공될 수 있다. 단계(402)에서, 부하 스케줄링 모듈(120) 및/또는 배터리 모니터링 모듈(116)은 배터리1이 비어 있는지 또는 거의 또는 완전히 방전되었는지 결정한다. 단계(402)의 결정 결과가 긍정적이면(예컨대, 배터리1이 정말로 비어 있으면), 단계(404)에서 배터리2가 또한 비어 있는지 또는 거의 또는 완전히 방전되었는지 여부에 대한 결정이 이루어진다. 단계(404)의 결정 결과가 긍정적(예컨대, 배터리2가 비어 있으면), 부하에 전력을 공급하는데 사용가능한 배터리가 없기 때문에 부하 스케줄링이 종료된다. 단계(404)의 결정 결과가 부정적(예컨대, 배터리2가 비어있지 않으면), 배터리2가 현재의 부하에 전력을 공급하기 위해 현재 사용가능한 유일한 배터리이므로, 단계(412)에서 현재의 부하가 배터리2로 스케줄링된다.
일부 실시예에서, 단계(402)의 결정 결과가 부정적이면(예컨대, 배터리1이 비어 있지 않으면), 단계(406)에서 E1≤T인지 여부에 대한 결정이 이루어진다. 결정 단계(406)가 긍정적(예컨대, E1≤T)이면, 현재의 부하가 배터리1로 스케줄링된다.
일부 실시예에서, 결정 단계(406)의 결과가 부정적(E1>T)이면, 단계(408)에서 현재의 부하가 고전력인지 저전력인지 여부에 대한 결정이 이루어진다. 일부 실시예에서, 단계(406)의 결정은, 예컨대, 워크로드 추정 모듈(118), 부하 스케줄링 모듈(120) 또는 이들의 조합에 의해 이루어질 수 있다.
일부 실시예에서, 현재의 부하가 단계(406)에서 고전력 부하로 규정되면, 현재의 부하는 단계(412)에서 배터리2로 스케줄링된다. 현재의 부하가 단계(406)에서저전력 부하로서 규정되면, 현재의 부하는 단계(410)에서 배터리1로 스케줄링된다. 다른 실시예에서는, 배터리 선택이 전적으로 또는 부분적으로 내부 저항 이외의 다른 파라미터, 예컨대, 배터리의 상대적인 충전 상태에 기초할 수 있다.
일부 실시예에서, (예컨대, 단계(410) 또는 단계(412)에서) 부하가 특정 배터리로 스케줄링된 후에, 단계(414)에서 스케줄링될 더 이상의 부하가 있는지 여부에 대한 결정이 이루어진다. 일부 실시예에서, 스케줄링될 더 이상의 부하가 있는지 여부에 대한 단계(414)에서의 결정은 사전에 정의된 워크로드 또는 공지된 워크로드에 기초할 수 있다. 다른 실시예에서는, 스케줄링될 더 이상의 부하가 있는지 여부에 대한 단계(414)에서의 결정이, 워크로드 추정 모듈(118), 부하 스케줄링 모듈(120) 또는 이들의 조합에 의해 이루어질 수 있는 추정된 미래 워크로드에 전적으로 또는 부분적으로 기초할 수 있다. 일부 실시예에서, 단계(414)의 결정 결과가 부정적이면(예컨대, 실제로 큐잉되거나 예상되는 더 이상의 부하가 없으면), 스케줄링은 종료된다.
일부 실시예에서, 단계(414)의 결정 결과가 긍정적이면(예컨대, 실제로 큐잉되거나 예상되는 추가적인 부하가 있으면), 단계(416)에서 부하 스케줄링 모듈(120)은 스케줄링할 다음 부하가 제공되기를 기다린다. 일부 실시예에서, 스케줄링할 다음 부하가 제공되면, 본 명세서에 기술하는 바와 같이 도 4의 알고리즘은 단계(402)로 복귀한다. 일부 실시예에서, 단계(416)에서의 대기는 제한될 수 있는데, 예를 들면, 지정된 기간 내에 스케줄링하기 위해 제공되는 부하가 없거나 또는 하나 이상의 배터리 모듈 내의 에너지가 거의 또는 완전히 고갈되면 스케줄링을 자동으로 종료한다.
당업자는 도 4에 도시되고 본 명세서에서 설명하는 알고리즘이 본 명세서의 설명과 똑같지는 않을 수 있는 많은 시스템의 특정한 설계 및 제약을 만족시키도록 조정될 수 있다는 점을 이해할 수 있을 것이다. 예를 들어, 단계1에서, 모든 부하를 배터리1로 스케줄링하는 대신에, 다수의 부하를 배터리1로 스케줄링함으로써 두 배터리 사이에 충분히 큰 불균형을 스케줄링하는 것도 가능하다. 이와 유사하게, 단계2에서, 다수의 저전력 부하를 배터리1로 그리고 다수의 고전력 부하를 배터리2로 스케줄링함으로써 그리디와 같은 동작을 달성하는 것이 또한 가능하다.
일부 실시예에서, 부하 스케줄링 모듈(120)은 가까운 미래에 소정의 시간 윈도우 내에 예상되는 저전력 부하의 백분율의 추정치에 기초하여 최적 임계치(T)를 계산할 수 있다. 구체적으로, 부하 스케줄링 모듈(120)은 실행시간에 최적 임계치(T)를 결정할 수 있다. 임계 알고리즘이 단계1에 있는 경우, 부하 스케줄링 모듈(20)은 스케줄링하도록 제공된 각 부하에 대해 상태 변경 조건(phase change condition)이 만족되는지 여부를 결정하기 위한 검사를 수행할 수 있다. 일부 실시예에서, 상태 변경 조건이 만족되면, 알고리즘은 자동으로 단계2로 진행한다. 일부 실시예에서, 상태 변경 검사는 도 3에 기술된 것과 유사한 그리디 스타일 알고리즘을 시뮬레이트하는 것을 포함한다. 그리디 스타일 알고리즘에서는 두 개의 이벤트, 즉 저전력 부하에 의해 배터리1 내의 에너지가 소진될 때의 이벤트1 또는 배터리2의 충전 상태가 E*보다 낮게 될 때의 이벤트2가 발생할 수 있다(E2<E*, 여기서 E*는 시뮬레이션의 시작 시에 E*=E1로 설정된다). 상태 변경 조건은 시뮬레이션 동안 이벤트1이 이벤트2 전에 발생하면 만족된다.
다른 실시예에서, 상태 변경 조건을 검사하는 시뮬레이션 결과는 알고리즘이 뒤이은 부하를 스케줄링하고 있을 때 재사용될 수 있다. 즉, 워크로드의 시퀀스 내 주어진 부하에 대해, 알고리즘은 처음부터 시뮬레이트할 필요가 없다. 대신에, 알고리즘은 이전 부하에 대해 시뮬레이션이 종료되었을 때부터의 파라미터를 사용하여 그 상태로부터 시뮬레이션을 시작할 수 있다. 이 특성은 일부 실시예의 임계 알고리즘이 기본적으로 스트리밍 알고리즘이 되게 하는데, 이는 선형 시간 복잡도 및 일정한 공간 복잡도를 가지며, 하드웨어 회로로 구현할 정도로 충분히 단순할 수 있다. 또한, 시뮬레이션에서, 이벤트1과 이벤트2 중 어느 것이 발생할지는 먼저 미래의 워크로드의 저전력 부하의 백분율에 크게 의존한다. 배터리의 용량이 충분히 큰 시스템에서는, 이 비율이 상당히 안정적인 경향이 있고, 예컨대 워크로드 추정 모듈(118)에 의해 통계적으로 정확하게 추정될 수 있다고 생각하는 것이 합리적이다.
도 5는 일부 실시예에 따르면, 세 개의 스케줄링 모드를 갖는 예시적인 하이브리드 부하 스케줄링 프로세스를 도시한 흐름도이다. 다양한 실시예에서, 도 5의 프로세스는 부하 스케줄링 모듈(120) 또는 전력 관리 모듈(114), 부하 스케줄링 모듈(120), 배터리 모니터링 모듈(116), 워크로드 추정 모듈(118), 및 기타 유형 또는 추상 소프트웨어 또는 하드웨어 모듈이나 장치의 임의의 조합에 의해 수행될 수 있다. 당업자는, 도 5에 나타낸 단계들 중 다수 또는 전부가 본 명세서에서 설명하는 개념을 보다 명확하게 기술하기 위한 방식으로 열거되어 있지만, 도 5의 임의의 두 단계의 상대적인 위치는 이들 단계 중 한 단계가 반드시 시간적으로 다른 단계 앞에서 수행되어야 함을 나타내는 것은 아니라는 점을 이해할 것이다.
도 5의 흐름도로 나타내고 본 명세서에서 설명하는 세 개의 스케줄링 모드를 갖는 예시적인 하이브리드 부하 스케줄링 프로세스는 본 발명의 일부 실시예에 적용될 수 있다. 도 3 및 4에 나타낸 실시예와 달리, 예시적인 하이브리드 부하 스케줄링 프로세스는 두 개의 동일한 배터리 모듈에 의해 전력을 공급받는 시스템이나 장치를 고려하지 않는다. 오히려, 가변 특징을 갖는 임의의 수의 배터리 모듈이 다루어질 수 있다.
일부 실시예에서, 단계(502)에서, 부하 스케줄링 모듈(120)이 현재의 부하를 스케줄링하라는 요청을 수신한다. 일부 실시예에서, 단계(504)에서, 부하 스케줄링 모듈(120) 및/또는 워크로드 추정 모듈(118)이 하나 이상의 파라미터에 따라 현재의 부하를 규정한다. 일부 실시예에 따른 예시적인 부하 유형 규정 체계가 임의의 수의 가능한 유형 규정을 사용할 수 있다. 다양한 실시예에서, 부하는, 예컨대 프로세서 기능, 사용자 활동, 사용자 애플리케이션, 운영 체제 또는 커널 프로세스, 입출력 프로세스 및 장치, 및 메모리 프로세스 및 장치의 임의의 조합에 대응할 수 있다. 예를 들면, 일부 실시예는 부하 규정 체계를 이용할 수 있는데, 이것에 의해 부하는, 예컨대, 부하를 완료하는데 요구되는 총 전력량 또는 소정 기간 부하가 필요로 하는 전력량을 특징으로 한다. 이러한 실시예에서, 스트리밍 비디오 처리 및 스트리밍 비디오를 사용자에게 디스플레이하기 위해 입출력 장치에 전력공급하는 것을 포함하는 활동은 일부 실시예에서 고전력 부하로서 간주될 수 있다. 이와 유사하게, 장치(102)의 대기 모드 동안 실행되는 백그라운드 운영 프로세스는 일부 실시예에서 저전력 부하로서 간주될 수 있다. 일부 실시예에서, 다른 부하 규정 체계는 다른 기준, 예컨대, 부하가 하드웨어 기반인지 아니면 소프트웨어 기반인지, 장치(102)의 어느 컴포넌트가 부하를 요구 및/또는 처리하는지, 처리 결과가 장치(102)의 사용자에게 명확한지, 및 기타 기준에 기초할 수 있다.
일부 실시예에서, 소정 기간 동안 필요한 전력에 기초하여 부하를 규정하는 부하 유형 등급 체계는 모든 부하를 저전력 또는 고전력 부하로 평가할 수 있다. 또는, 그러한 체계의 다른 실시예는 소정 기간 동안의 부하의 전력 요건에 기초하여 10개(또는 임의의 다른 개수)의 부하 유형 등급 레벨을 포함할 수 있다.
일부 실시예에서, 단계(506)에서, 부하 스케줄링 모듈(120) 및/또는 배터리 모니터링 모듈(116)은 배터리 모듈(104)의 저장된 프로파일 정보 및 실시간 파라미터에 액세스한다. 도 5의 하이브리드 부하 스케줄링 시스템의 일부 실시예에서, 배터리 모듈에 대한 추가적인 백그라운드 정보가 제공되고 활용된다. 도 3 및 4의 알고리즘은 주로 실시간/로컬 정보에 의존하여 구현될 수 있지만, 일부 실시예에 따른 하이브리드 부하 스케줄링 시스템은 배터리(104)에 대한 저장된 프로파일 정보를 사용할 수 있다.
일부 실시예에서, 배터리 'b'는 에너지 출력-내부 저항 곡선(Rb(E))을 특징으로 할 수 있는데, 이는 배터리가 방전 사이클에서 충분한 총 에너지의 E 줄(Joule)(유용한 에너지+낭비된 에너지)을 누적적으로 출력했을 때 내부 저항(Rb)이 얼마나 큰지를 나타낸다. 일부 실시예에서, 배터리(104)의 에너지-저항 곡선을 근사화하기 위해 다항식 함수가 사용될 수 있다. 이들 에너지 출력-내부 저항 곡선 및 다항식 함수는 부하 스케줄링 결정을 하는데 유용할 수 있는 저장된 프로파일 정보의 예들이다.
도 6은 일실시예에 따른 예시적인 배터리 저항 특성 곡선을 보여주는 도표 그래프이다. 구체적으로, 도 6은 시스템이나 장치에 전력을 공급하는데 이용가능한 세 개의 상이한 배터리의 예시적인 저장된 프로파일의 도표를 보여준다. 도 6은 각 배터리의 에너지-저항 곡선을 누적 에너지 출력 및 실시간 내부 저항의 좌표 공간에 나타낸다.
도 6의 실시예에서, 배터리1(602) 및 배터리2(604)의 에너지-저항 곡선은 거의 선형 함수를 유지하는 반면에, 배터리3(606)의 에너지-저항 곡선은 거의 지수 함수를 유지한다. 당업자는, 도 6에 나타낸 것과 유사한 저장된 프로파일 곡선을 포함하는 유용한 저장된 프로파일 정보가 다른 파라미터들 및 파라미터 비교들을 나타낼 수도 있음을 이해할 것이다. 예를 들어, 소비된 에너지 용량에 대한 충전 상태, 충전 상태에 대한 내부 저항, 또는 기타 파라미터들 및 비교들을 나타내는 곡선 및/또는 대응하는 다항식 함수가 저장될 수 있다. 또한, 온도 적응성, 연령 적응성, 또는 기타 파라미터를 기초로 곡선을 수정하기 위한 정보가 저장될 수 있다.
도 5를 다시 참고하면, 예시적인 하이브리드 알고리즘의 일부 실시예는, 부분적으로 부하가 현재 거의 동일한 내부 저항을 갖지만 에너지-저항 곡선은 상이한 배터리를 갖는 시스템으로 스케줄링되는 상황을 보다 효율적으로 다루도록 설계된다. 배터리가 용량, 최초 저항, 및 최대 저항과 같은 파라미터가 변하는 경우, 부하 스케줄링하는 순간에 문제의 배터리가 거의 유사한 내부 저항을 갖는 경우에도, 소정 부하에 의한 총 저항 증가는 배터리들 사이에서 크게 변할 수 있다. 이러한 경우, 내부 저항이나 스케줄링 시간에서의 충전 상태와 같은 실시간 데이터에 주로 의존하는 알고리즘은 배터리들 사이의 이들 차이를 고려할 수 없을 것이다.
충전 상태는 에너지-저항 곡선에 영향을 줄 수 있는 유일한 요인이 아니다. 배터리의 내부 저항에 영향을 줄 수 있는 다른 요인들은 배터리의 온도, 연령, 및 방전 사이클이 이루어진 횟수 등이다. 일부 구현예에서, 본 명세서에서 설명하는 시스템의 스케줄링 알고리즘은 이들 부가적인 요인들 중 일부를 고려하도록 조정가능하다. 예를 들어, 일부 실시예에서, 본 명세서에서 기술하는 모듈들 중 하나 이상은 온도 및 연령과 같은 파라미터의 변화를 고려하도록 곡선(Rb(E))에 대한 조정을 계산할 수 있다.
높은 온도는 일반적으로 배터리의 내부 저항을 증가시킨다. 일부 실시예에서, 부하 스케줄링 알고리즘은 배터리(104)의 온도에 반응하여 스케줄링 정책을 적응적으로 변경할 수 있다. 예를 들어, 배터리의 온도를 기초로 하여 소정 배터리의 에너지-저항 곡선을 수정하기 위한 하나 이상의 조정 인자나 수정 상수가 저장될 수 있다. 다른 실시예에서는, 다양한 온도에 대응하는 복수의 다른 에너지-저항 곡선이 프로파일의 일부로서 저장될 수 있다.
하나의 배터리가 동일한 시스템 또는 장치에 전력을 공급하는 다른 배터리보다 연령 기반 열화에 더 민감하면, 일부 실시예에 따른 부하 스케줄링 알고리즘은 배터리의 연령을 고려하도록 스케줄링 정책을 수정할 수 있다. 예를 들어, 부하 스케줄링 알고리즘은 오래된(따라서 높은 내부 저항을 갖는) 배터리 또는 재충전이 다른 배터리의 재충전보다 내부 저항에 훨씬 더 영향을 미치는 임의의 배터리에 대한 스케줄링에 우선순위를 낮출 수 있다. 예를 들어, 일부 실시예에서, 부하 스케줄링 알고리즘은, (일반적인 그리디 스타일 로직에 비해) 모드 스위칭 임계치를 조정하거나, 부하를 규정하는데 사용된 전력 임계치를 조정하거나 또는 시스템 내 다른 배터리보다 높은 저항을 갖는 배터리에 비교적 높은 전력 부하를 스케줄링하도록 결정함으로써 적응될 수 있다.
단계(508)에서, 부하 스케줄링 모듈(120) 및/또는 워크로드 추정 모듈(118)이 배터리 세트에 대한 미래의 워크로드를 추정한다. 일부 실시예에서는, 부하 스케줄링 모듈(120), 워크로드 추정 모듈(118), 또는 이들의 조합에 의해 확률론적 워크로드 모델이 생성될 수 있다. 확률론적 워크로드 모델은 일부 실시예에서, 워크로드 추정 모듈(118) 또는 부하 스케줄링 모듈(120)이 주어진 시간에서 시작하는 (무한 시간 길이의)미래의 워크로드의 인스턴스를 샘플링할 수 있는 확률론적 프로세스로서 정의된다. 확률론적 프로세스는 동적(non-stationary)일 수 있다. 예를 들어, 일부 실시예에서, 저전력 부하의 백분율은 현재의 물리적 시간(예컨대, 밤에 보다 적은 전체 부하 수요 또는 보다 적은 고전력 부하)과 최근 장치의 사용 이력(예컨대, 장치가 장시간 대기상태로 있었는가?)에 의존할 수 있다. 일부 실시예에서 정확한 미래의 워크로드가 알려지거나 예측될 수 없지만, 확률론적 모델은 모든 가능한 미래의 워크로드에 대해 확률론적 특징을 추정하는데 사용될 수 있다. 일부 실시예에서, 예컨대, 부하 스케줄링 알고리즘은 주어진 시간 윈도우 내 저전력 및/또는 고전력의 예상 시간 길이에 의존할 수 있다.
단계(510)에서 일부 실시예에 따르면, 도 3에 제시되고 설명된 것과 유사한 그리디 알고리즘을 사용하여 현재의 부하에 대한 "그리디 선호(greedy-preferred)" 배터리를 선택한다. 일부 실시예에서, 고전력 부하에 대해 그리디 선호 배터리는 스케줄링 결정을 하는 시간에 가장 낮은 내부 저항을 갖는 배터리인 반면에, 저전력 부하에 대해서는, 그리디 선호 배터리가 스케줄링 결정 시간에 가장 높은 내부 저항을 갖는 배터리일 것이다.
단계(512)에서 그리고 일부 실시예에 따르면, 최종 스케줄링 결정을 하기 전에, 부하 스케줄링 모듈(120)이 임의의 모드 변경 조건이 존재하는지를 검사한다. 일부 실시예에서, 어떠한 모드 변경 조건도 존재하지 않으면, 단계(514)에서 현재의 부하는 그리디 선호 배터리로 스케줄링되고, 스케줄링 요청은 종료된다.
일부 실시예에서, 어떠한 모드 변경 조건이 존재할 경우, 단계(516)에서 현재의 부하가 그리디 선호 배터리 외의 다른 배터리로 스케줄링될 수 있다. 일부 실시예에 있어서, 단계(516)와 관련하여, 요청된 모드 변경 조건은 현재의 부하가 고전력이고 미래의 워크로드 추정이 그리디 로직 스케줄링 알고리즘이 준수되면 그리디 선호 위치가 어떻게든 고전력 부하로 채워질 것으로 예측한다는 것이다.
일부 실시예에서, "투자-활용(invest-vs.-exploit)" 트레이드오프는 고전력 부하를 스케줄링하는데 있어 명백하다. 예를 들어, 시스템에 전력을 공급하는 모든 배터리가 작은 내부 저항을 갖는 경우를 고려해 보자. 일반적으로, 이것은 고전력 부하에 유리한 상황이다. 그러나, 현재의 부하가 저전력 부하이면, 고전력 부하가 스케줄링되었다면 보다 많은 에너지가 절감될 수 있는 그 위치에서 이 저전력 부하가 스케줄링되었음에 틀림없다.
일부 실시예에서, 알고리즘 효율을 증가시키기 위해 불균형 상황이 바람직한데, 구체적으로, 이 상황에서는 시스템 내의 적어도 하나의 배터리가 다른 배터리에 비해 비교적 높은 내부 저항을 갖는다. 일부 실시예에서, 전술한 바와 같이, 부하 스케줄링 알고리즘은 배터리들 사이의 불균형을 고의로 증가시키는 방식으로 부하를 스케줄링할 수 있는데, 실제로, 이것은 그리디 기반 스케줄링 알고리즘의 장기간 효과를 증가시키기 위해 그리디 스타일 로직에 일시적으로 반하는 동작이다. 일부 실시예에서, 이러한 상황은 더 나은 상황을 위한 투자(investing)로 생각될 수 있는 반면에 대안, 즉 에너지 절감에서 보다 즉각적인 보상을 주기 위해 고전력 부하를 비교적 저전력 저항을 갖는 배터리에 스케줄링하는 것이 양호한 위치를 활용(exploiting)하는 것으로 생각될 수 있다.
일부 실시예에서, 임계 알고리즘의 최적성은 두 개의 동일한 배터리 세팅에 특유한 흥미로운 트레이드오프의 특성을 보여줄 수 있는데, 즉, 스케줄러가 충분히 투자하였으면, 투자로 복귀할 필요없이 그저 남은 시간 동안 계속 활용을 유지할 수 있다.
다른 실시예에서, 일방적인 상태 전이가 항상 관측되지는 않는다. 예를 들어, 동일하지 않은 배터리 또는 두 개보다 많은 배터리를 갖는 일부 시스템에서, 부하 스케줄링 알고리즘은 투자 및 활용 전략 또는 모드 사이에서 전후로 전환함으로써 효율성을 증가시킬 수 있다. 일부 이러한 실시예에서의 스케줄러는 투자-활용 전략을 안내하기 위해 동일한 기준을 사용할 수 있다. 임계 알고리즘과 유사하게, 일부 실시예에 따른 부하 스케줄링 모듈은, 실질적으로 그리디 스케줄링 정책이 준수되면 현재 최선의 위치가 나중에 어떻게든 다른 고전력 부하로 채워질 것임을 부하 스케줄링 모듈이 확인할 때 투자하기로(예컨대 수정되지 않은 그리디 로직에 따라 비교적 바람직하지 않은 위치에 고전력 부하를 스케줄링하기로) 결정할 수 있다. 이러한 경우에, 현재 최선의 위치는, 그것이 채워질 필요가 없기 때문에, 어떤 의미에서 안전한 것으로 고려될 수 있다. 대신에, 부하 스케줄링 모듈은 현재의 고전력 부하를 사용하여 후속 저전력 부하를 위한 보다 나은 위치를 생성할 수 있다.
따라서, 일부 실시예에서는 본 명세서에 사용된 투자의 원리가 실질적으로 적용될 수 있다. 이 투자의 원리는 임의의 주어진 배터리의 소정 위치에 대해, 이 위치가 어떻게든 고전력 부하로 채워질 가능성이 있으면, 스케줄러가 가능한 늦게 고전력 부하를 갖는 위치를 채워야 한다. 일부 실시예에 따른 투자의 원리에 대한 추론 주장은, 현재 부하가 고전력 부하이고 현재 최선의 위치가 어떻게든 고전력 부하로 채워질 가능성이 있으면, 스케줄러가 현재 최선의 위치를 즉시 고전력 부하로 채워서는 안 되는 것이라고 말할 수 있다. 일부 실시예에서, 저전력 부하를 스케줄링하는 안내 전략은 실질적으로 고전력 부하를 스케줄링하기 위한 것과 실질적으로 반대되는 전략일 수 있다. 구체적으로, 임의의 주어진 배터리의 임의의 주어진 위치에 대해, 워크로드 추정이, 위치가 저전력 부하로 어떻게든 채워질 것임을 예측하면, 스케줄러가 가능한 한 빨리 저전력 부하로 그 위치를 채워야 함을 예측힌다. 부하 스케줄링을 처리하는 것에 대한 추론은, 현재 부하가 저전력 부하이고 워크로드 추정이 그리디 선호 위치가 어떻게든 저전력 부하로 채워질 것이라고 예측하면, 스케줄러는 그리디 선호 위치를 즉시 저전력 부하로 채워야 한다는 것이라고 말할 수 있다.
일부 실시예에서, 단계(518)에서, 현재의 부하는 소정의 모드 변경 조건이 존재할 경우 그리디 선호 배터리 외의 다른 배터리로 스케줄링될 수 있다. 일부 실시예에 있어서, 단계(518)와 관련하여, 요구된 모드 변경 조건은 현재의 부하가 저전력이고/이거나, 대안 배터리와 그리디 선호 배터리 사이의 최대 저항의 비가 임계치를 초과하고/하거나, 미래의 워크로드 추정이 대안 배터리를 소진하거나 거의 소진하기에 충분한 고전력 부하를 예측하는 것일 수 있다.
일부 실시예에서, 저전력 부하를 처리하기 위한 전술한 규칙이 준수되지 않을 수도 있다. 일부 실시예에서, 특히 배터리가 상이한 최대 저항을 가질 수 있는 경우에, 배터리의 상대적인 특성 때문에, 현재의 부하 스케줄링 결정 시간의 현재 그리디 선호 위치보다 미래에 더 효율적인 위치가 될 현재 비선호 위치를 확보(reserve)하기 위해 그리디 선호 위치 외의 다른 위치에 저전력 부하를 스케줄링하는 것이 유익할 수 있다. 이것은 현재 비교적 낮은 위치(그리디 선호 계층 내)가 미래에는 비교적 높은 위치로 될 수 있기 때문이며, 미래에 고전력 부하가 없으면, 이 위치를 확보함으로써 큰 효율성 증가를 실현하는 것이 가능할 수 있다.
배터리1이 배터리2보다 약간 더큰 최초 저항을 갖지만 훨씬 더 낮은 최대 저항을 갖는 예를 살펴보자. 마지막 몇 개의 부하를 제외한 모든 부하가 저전력 부하이고, 이들 마지막 몇 개의 고전력 부하가 배터리1에서 나머지 에너지 전부를 고갈시킨다고 가정해 보자. 이 예에서, 워크로드가 몇 개의 저전력 부하로 시작하면, 이 때 배터리1이 보다 큰 저항을 갖는다 하더라도, 스케줄러는 이들 최초 저전력 부하를 배터리1로 스케줄링해서는 안 된다. 대신에 스케줄러가 배터리1을 잠시 유보하고, 제1 저전력 부하를 배터리2로 스케줄링하고, 나중에 최종 고전력 부하를 배터리1 내에 채우는 것이 더 효율적일 수 있다.
전술한 설명 및 예로부터, 일부 실시예의 예약(reservation)의 원리가 도출될 수 있는데, 즉, 배터리들 간의 최대 저항의 불균형이 충분히 크고, 모든 배터리 내의 에너지가 거의 소진될 때 스케줄러가 충분한 고전력 부하를 예상하면, 스케줄러는 최근의 고전력 부하에 대해 보다 작은 최대 저항을 갖는 배터리를 확보해야 한다.
분리, 투자, 및 예약의 원리를 적용하는 하이브리드 부하 스케줄링 알고리즘의 특정한 실시예 하에서 예시적인 의사 코드가 나타난다. 의사 코드1은 의사 코드2 및 의사 코드3 모두에 적용가능한 입력, 출력 및 함수 정의를 도입한다. 의사 코드2는 고전력 부하에 대한 예시적인 스케줄링 알고리즘을 나타낸다. 의사 코드 3은 저전력 부하에 대한 예시적인 스케줄링 알고리즘을 나타낸다.
입력:
오름차순으로 정렬된, k 개의 배터리의 현재 저항 R1, R2, ..., Rk
저항 Rj와 동일한 순서로 색인된, 동일한 k 개의 배터리의 최대 저항 C1, C2, ..., Ck
확률적 워크로드 모델 내의 고전력 부하의 예상 시간 백분율 Phigh
출력:
배터리_선택
//배터리 i의 에너지-저항 곡선에 기초하여, 배터리의 Rbegin에서부터 Rend까지의 세그먼트의 에너지 용량 계산
1 EnergyCapacity(i, Rbegin, Rend);
//내부 저항이 R인 배터리에 의해 공급될 때의 부하(하이 또는 로우)의 에너지 소비를 계산
2 EnergyConsumption(load_type, i, R);
//Rbegin에서부터 Rend까지 배터리(i)의 저항을 만드는 부하_타입에 대한 지속 기간 계산
3 Duration(load_type, i, Rbegin, Rend);
의사 코드1
//현재 부하가 고전력인 경우
4 for i ← 1 to k do
5 if EnergyCapacity(i, Ri, Ci)<EnergyConsumption(LOW, i, Ri) then
6 continue
7 Thigh ← ∑t={ 1... i - 1}Duration(HIGH, t, Rt, Ri);
8 Tlow ← ∑t={ i...k }Duration(LOW, t, Rt, Ci);
9 if Thigh/(Thigh+Tlow)<Phigh then
10 Batery_Choice ← ; //다음 위치 레벨 "투자"
11 else
12 return; //현재 위치 레벨 "활용"
의사 코드2
//현재 부하가 저전력인 경우
4 for i ← 1 to k do
5 if EnergyCapacity(i, Ri, Ci)<EnergyConsumption(HIGH, i, Ri) then
6 continue
7 Thigh ← ∑t={ i...k }Duration(HIGH, t, Rt, Ri);
8 Tlow ← ∑t={ 1... i - 1}Duration(LOW, t, Rt, Ci);
9 if Thigh/(Thigh+Tlow)<Phigh and (Ci -1-Ci)/(Ri-Ri -1) then
10 Batery_Choice ← ; //다음 위치 레벨 "투자"
11 else
12 Batery_Choice ← i-1; //현재 위치 레벨 "활용"
13 return;
의사 코드3
예시적인 의사 코드 1, 2, 3의 알고리즘부하 스케줄링 모듈(120), 배터리 모니터링 모듈(116), 워크로드 추정 모듈(118), 또는 전력 관리 모듈(114) 중 어느 하나 또는 이들의 조합에 의해 구현될 수 있다. 표현된 알고리즘은 도 3, 4, 5에 도시되고 본 명세서에 상세히 설명된 프로세스의 보다 상세한 구현예를 나타낼 수 있다.
예시적인 항목들
A. 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 에너지 소스 특성을 모니터링하는 단계와, 현재의 부하의 적어도 하나의 부하 특성을 모니터링하는 단계와, 상기 적어도 하나의 에너지 소스 특성을 모니터링하는 단계 및 적어도 하나의 부하 특성을 모니터링하는 단계에 응답하여 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 단계와, 상기 현재의 부하를 상기 선택된 유한 에너지 소스로 스케줄링하는 단계를 포함하는 방법.
B. 항목 A, M, 또는 Q에 있어서, 복수의 유한 에너지 소스는 복수의 배터리 모듈을 포함하는 방법, 시스템 또는 컴퓨터 판독가능 매체.
C. 항목 B에 있어서, 적어도 하나의 에너지 소스 특성을 모니터링하는 단계는 제1 배터리 모듈로부터 소비된 에너지의 양을 계산하는 단계를 포함하고, 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 단계는 상기 제1 배터리 모듈로부터 소비된 에너지의 양이 스위칭 임계치보다 적거나 같은 경우에 제1 선택 모드에 따라서 선택하는 단계와, 상기 제1 배터리 모듈로부터 소비된 에너지의 양이 스위칭 임계치보다 큰 경우에 제2 선택 모드에 따라서 선택하는 단계를 포함하는 방법.
D. 항목 C에 있어서, 상기 적어도 하나의 부하 특성을 모니터링하는 단계는 상기 현재의 부하가 저전력 부하인지 고전력 부하인지의 여부를 결정하는 단계를 포함하고, 상기 제1 선택 모드는 상기 제1 배터리 모듈을 선택하는 단계를 포함하며, 상기 제2 선택 모드는 상기 현재의 부하가 저전력인 경우에 상기 제1 배터리 모듈을 선택하는 것과, 상기 현재의 부하가 고전력인 경우에 상기 제2 배터리 모듈을 선택하는 것을 포함하는 방법.
E. 항목 B에 있어서, 상기 적어도 하나의 에너지 소스 특성을 모니터링하는 단계는 상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 상태를 모니터링하는 단계와, 상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 저장된 특성에 액세스하는 단계를 포함하는 방법.
F. 항목 E에 있어서, 상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 상태는 내부 저항, 충전 상태, 온도, 연령, 및 상기 복수의 배터리 모듈 중 적어도 하나의 배터리 모듈의 방전 사이클이 이루어진 횟수 중 적어도 하나의 값을 포함하고, 상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 저장된 특성은 상기 내부 저항대 에너지 출력의 저장된 정보와, 상기 충전 상태대 에너지 출력의 저장된 정보와, 최초 내부 저항, 상기 복수의 배터리 모듈 중 적어도 하나의 배터리 모듈의 최대 저항을 포함하는 방법.
G. 항목 F에 있어서, 상기 적어도 하나의 저장된 특성은 상기 방법의 이전 적용의 결과에 응답하여 강화 또는 수정되는 방법.
H. 항목 E에 있어서, 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 단계는 추정된 미래 워크로드를 계산하는 단계와, 상기 추정된 미래 워크로드, 적어도 하나의 에너지 소스 특성을 모니터링하는 것, 및 상기 적어도 하나의 부하 특성을 모니터링하는 것에 응답하여 상기 현재의 부하에 대해 선택 모드를 할당하는 단계와, 상기 할당된 선택 모드에 따라 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 단계를 더 포함하는 방법.
I. 항목 H에 있어서, 상기 적어도 하나의 부하 특성을 모니터링하는 단계는 상기 현재의 부하가 저전력 부하인지 또는 고전력 부하인지의 여부를 결정하는 단계를 포함하고, 상기 할당된 선택 모드는 분리(separation) 모드, 투자(investment) 모드 또는 예약(reservation) 모드를 포함하는 방법.
J. 항목 I에 있어서, 상기 투자 모드는 그리디 알고리즘을 적용하여 상기 복수의 배터리 모듈로부터 그리디 선호(greedy-preferred) 배터리를 선택하는 것과, 상기 현재의 부하가 저전력이고, 상기 추정된 미래 워크로드가 상기 그리디 선호 배터리의 현재 이용가능한 위치가 상기 현재의 선택에 관계없이 저전력 부하로 채워질 것으로 예측하는 경우에, 상기 그리디 선호 배터리를 상기 선택된 유한 에너지 소스로서 선택하는 것과, 상기 현재의 부하가 고전력이고, 상기 추정된 미래 워크로드가 상기 그리디 선호 배터리의 현재 이용가능한 위치가 스케줄링 결정에 관계없이 고전력 부하로 채워질 것으로 예측하는 경우에, 상기 그리디 선호 배터리 이외의 다른 유한 에너지 소스를 상기 선택된 유한 에너지 소스로서 선택하는 것을 포함하는 방법.
K. 항목 I, P 또는 S에 있어서, 상기 예약 모드는 제1 배터리 모듈 및 제2 배터리 모듈을 식별하는 것 -상기 제1 배터리 모듈은 상기 제2 배터리 모듈의 내부 저항보다 높은 내부 저항과 상기 제2 배터리의 제2 배터리 최대 저항보다 낮은 제1 배터리 최대 저항을 가짐- 과, 상기 현재의 부하가 저전력인 경우에 상기 제2 배터리 모듈을 상기 선택된 유한 에너지 소스로서 선택하는 것 -상기 제1 배터리 최대 저항에 대한 상기 제2 배터리 최대 저항의 비는 최대 저항 불균형 임계치를 초과하고, 상기 추정된 미래 워크로드는 상기 제1 배터리 모듈의 나머지 용량을 채우기에 충분한 고전력 부하의 양을 예측함- 을 포함하는 방법, 시스템 또는 컴퓨터 판독가능 매체.
L. 항목 I, P 또는 S에 있어서, 상기 분리 모드는 제1 배터리 모듈 및 제2 배터리 모듈을 식별하는 것 -상기 제1 배터리 모듈은 상기 제2 배터리 모듈의 내부 저항보다 상대적으로 더 높은 내부 저항을 가짐- 과, 상기 현재의 부하가 저전력인 경우에 상기 제1 배터리 모듈을 상기 선택된 유한 에너지 소스로서 선택하는 것과, 상기 현재의 부하가 고전력인 경우에 상기 제2 배터리 모듈을 상기 선택된 유한 에너지 소스로서 선택하는 것을 포함하는 방법, 시스템 또는 컴퓨터 판독가능 매체.
M. 시스템으로서, 복수의 유한 에너지 소스에 결합된 적어도 하나의 컴퓨팅 장치 -상기 복수의 유한 에너지 소스는 상기 적어도 하나의 컴퓨팅 장치에 전력을 공급하도록 구성되고, 상기 복수의 유한 에너지 소스는 복수의 배터리 모듈을 포함함- 와, 상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 에너지 소스 특성을 모니터링하도록 구성된 배터리 모니터링 모듈과, 현재의 부하의 적어도 하나의 부하 특성을 모니터링하도록 구성된 부하 규정 모듈과, 상기 배터리 모니터링 모듈에 의해 상기 부하 스케줄링 모듈로 제공된 데이터 및 상기 부하 규정 모듈에 의해 상기 부하 스케줄링 모듈로 제공된 데이터 중 적어도 하나의 데이터에 응답하여 상기 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하고, 상기 현재의 부하를 상기 선택된 유한 에너지 소스를 스케줄링하도록 구성된 부하 스케줄링 모듈을 포함하는 시스템.
N. 항목 M에 있어서, 상기 복수의 유한 에너지 소스는 복수의 배터리 모듈을 포함하는 시스템.
O. 항목 N에 있어서, 상기 배터리 모니터링 모듈은 또한 상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 상태를 모니터링하고, 상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 저장된 특성에 액세스하도록 구성되고, 상기 부하 스케줄링 모듈은 또한 추정된 미래 워크로드를 계산하고, 상기 추정된 미래 워크로드, 상기 배터리 모니터링 모듈에 의해 제공된 데이터, 및 상기 부하 규정 모듈에 의해 제공된 데이터 중 적어도 하나에 응답하여 상기 현재의 부하에 대해 선택 모드를 할당하며, 상기 할당된 선택 모드에 따라 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하도록 구성되는 시스템.
P. 항목 O에 있어서, 상기 부하 규정 모듈은 또한 상기 현재의 부하를 저전력 부하 또는 고전력 부하로서 규정하도록 구성되고, 상기 할당된 선택 모드는 분리 모드, 투자 모드 또는 예약 모드를 포함하는 시스템.
Q. 복수의 유한 에너지 소스와 연관된 컴퓨팅 시스템에 의해 실행될 때 상기 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하도록 구성된 컴퓨터 실행가능 명령어를 포함하는 하나 이상의 컴퓨터 판독가능 매체로서, 상기 동작들은 상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 에너지 소스 특성을 모니터링하는 동작과, 현재의 부하의 적어도 하나의 부하 특성을 모니터링하는 동작과, 상기 적어도 하나의 에너지 소스 특성을 모니터링하는 것과 적어도 하나의 부하 특성을 모니터링하는 것에 응답하여 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 동작과, 상기 현재의 부하를 상기 선택된 유한 에너지 소스로 스케줄링하는 동작을 포함하는 컴퓨터 판독가능 매체.
R. 항목 Q에 있어서, 적어도 하나의 소스의 적어도 하나의 에너지 소스 특성을 모니터링하는 동작은 상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 상태를 모니터링하는 동작과, 상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 저장된 특성에 액세스하는 동작을 포함하고, 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 동작은 추정된 미래 워크로드를 계산하는 동작과, 상기 추정된 미래 워크로드, 상기 적어도 하나의 에너지 소스 특성을 모니터링하는 동작, 및 상기 적어도 하나의 부하 특성을 모니터링하는 동작에 응답하여 상기 현재의 부하에 대해 선택 모드를 할당하는 동작과, 상기 할당된 선택 모드에 따라 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 동작을 더 포함하는 컴퓨터 판독가능 매체.
S. 항목 R에 있어서, 상기 적어도 하나의 부하 특성을 모니터링하는 동작은 상기 현재의 부하가 저전력 부하인지 또는 고전력 부하인지의 여부를 결정하는 동작을 포함하고, 상기 할당된 선택 모드는 분리 모드, 투자 모드 또는 예약 모드를 포함하는 컴퓨터 판독가능 매체.
T. 항목 S에 있어서, 상기 복수의 유한 에너지 소스는 복수의 배터리 모듈을 포함하고, 상기 투자 모드는 그리디 알고리즘을 적용하여 상기 복수의 배터리 모듈로부터 그리디 선호 배터리를 선택하는 것과, 상기 현재의 부하가 저전력이고, 상기 추정된 미래 워크로드가 상기 그리디 선호 배터리의 현재 이용가능한 위치가 상기 현재의 선택에 관계없이 저전력 부하로 채워질 것으로 예측하는 경우에, 상기 그리디 선호 배터리를 상기 선택된 유한 에너지 소스로서 선택하는 것과, 상기 현재의 부하가 고전력이고, 상기 추정된 미래 워크로드가 상기 그리디 선호 배터리의 현재 이용가능한 위치가 스케줄링 결정에 관계없이 고전력 부하로 채워질 것으로 예측하는 경우에, 상기 그리디 선호 배터리 이외의 다른 유한 에너지 소스를 상기 선택된 유한 에너지 소스로서 선택하는 것을 포함하고, 상기 예약 모드는 제1 배터리 모듈 및 제2 배터리 모듈을 식별하는 것 -상기 제1 배터리 모듈은 상기 제2 배터리 모듈의 내부 저항보다 높은 내부 저항과 상기 제2 배터리의 제2 배터리 최대 저항보다 낮은 제1 배터리 최대 저항을 가짐- 과, 상기 현재의 부하가 저전력인 경우에 상기 제2 배터리 모듈을 상기 선택된 유한 에너지 소스로서 선택하는 것 -상기 제1 배터리 최대 저항에 대한 상기 제2 배터리 최대 저항의 비는 최대 저항 불균형 임계치를 초과하고, 상기 추정된 미래 워크로드는 상기 제1 배터리 모듈의 나머지 용량을 채우기에 충분한 고전력 부하의 양을 예측함- 을 포함하고, 상기 분리 모드는 제1 배터리 모듈 및 제2 배터리 모듈을 식별하는 것 -상기 제1 배터리 모듈은 상기 제2 배터리 모듈의 내부 저항보다 상대적으로 더 높은 내부 저항을 가짐- 과, 상기 현재의 부하가 저전력인 경우에 상기 제1 배터리 모듈을 상기 선택된 유한 에너지 소스로서 선택하는 것과, 상기 현재의 부하가 고전력인 경우에 상기 제2 배터리 모듈을 상기 선택된 유한 에너지 소스로서 선택하는 것을 포함하는 컴퓨터 판독가능 매체.
결론
본 발명은 구조적 특징 및/또는 방법론적 동작에 특정한 언어로 기술되었지만, 첨부된 청구항에 정의된 본 발명은 반드시 이러한 특정한 특징 또는 기술된 동작으로 한정되지는 않는다. 오히려, 특정한 특징 및 동작은 청구된 본 발명을 구현하는 예시적인 형태로서 개시된다.
전술한 모든 방법 및 프로세스는 하나 이상의 범용 컴퓨터 또는 프로세서에 의해 실행되는 소프트웨어 코드로 실시될 수 있으며 또한 이를 통해 완전히 자동화될 수 있다. 코드 모듈은 임의의 유형의 컴퓨터 판독가능 저장 매체 또는 기타 컴퓨터 저장 저장 장치에 저장될 수 있다. 또는 이들 방법의 일부 또는 전부는 특화된 컴퓨터 하드웨어로 구현될 수도 있다.
"할 수 있다" 또는 "할 수도 있다" 등과 같은 가정 어구는 특별히 다르게 언급하지 않는 한, 문맥에서 어떤 실시예는 소정의 특징, 요소 및/또는 단계를 포함하지만 다른 실시예는 이들을 포함하지 않음을 나타내기 위한 것으로 이해하면 된다. 따라서, 이러한 가정 어구는 일반적으로 소정의 특징, 요소 및/또는 단계가 하나 이상의 실시예에 어떠한 식으로든 요구된다거나 또는 하나 이상의 실시예가 사용자 입력 또는 프롬프팅에 의해 또는 이들 없이도 소정의 특징, 요소 및/또는 단계가 포함되는지 또는 임의의 특정 실시예에서 수행되어야 하는지 여부를 결정하기 위한 로직을 반드시 포함한다는 것을 의미하지는 않는다.
"X, Y, Z 중 적어도 하나"와 같은 연결 어구는, 특별히 다르게 언급하지 않는 한, 항목, 용어 등이 X, Y, Z 각각 또는 이들의 조합일 수 있음을 나타내는 것으로 이해하면 된다.
본 명세서에 기술되고/되거나 첨부 도면에 도시된 흐름도 내 루틴 기술, 요소들 또는 블록들은 그 루틴 내의 특정 논리 함수 또는 요소를 구현하기 위한 하나 이상의 실행가능 명령어를 포함하는 코드의 모듈, 세그먼트, 또는 부분을 나타내는 것으로 이해해야 한다. 당업자라면 이해할 수 있듯이, 일부 구성요소 또는 기능이 삭제되거나 또는 도시 또는 논의한 것과 다른 순서로, 예컨대 관련 기능에 따라 거의 동시에 또는 역순으로, 실행될 수 있는 다른 구현예들이 본 명세서에 기술된 실시예들의 범위 내에 포함된다.
전술한 실시예에 많은 변형들 및 수정들이 행해질 수 있으며, 그 요소들은 다른 수용가능한 예들 중에 있는 것으로 이해되어야 함을 강조한다. 그러한 모든 변형들 및 수정들은 본 개시 내용의 범위 내에 포함되며 첨부한 청구범위로 보호하고자 한다.

Claims (15)

  1. 방법에 있어서,
    복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 에너지 소스 특성을 모니터링하는 단계와,
    현재의 부하의 적어도 하나의 부하 특성을 모니터링하는 단계와,
    상기 적어도 하나의 에너지 소스 특성을 모니터링하는 단계 및 상기 적어도 하나의 부하 특성을 모니터링하는 단계에 응답하여, 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 단계와,
    상기 현재의 부하를 상기 선택된 유한 에너지 소스로 스케줄링하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 복수의 유한 에너지 소스는 복수의 배터리 모듈을 포함하는 것인, 방법.
  3. 제2항에 있어서,
    상기 적어도 하나의 에너지 소스 특성을 모니터링하는 단계는 제1 배터리 모듈로부터 소비된 에너지의 양을 계산하는 단계를 포함하고,
    상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 단계는,
    상기 제1 배터리 모듈로부터 소비된 에너지의 양이 스위칭 임계치 이하인 경우에 제1 선택 모드에 따라서 선택하는 단계와,
    상기 제1 배터리 모듈로부터 소비된 에너지의 양이 상기 스위칭 임계치보다 큰 경우에 제2 선택 모드에 따라서 선택하는 단계
    를 포함하는 것인, 방법.
  4. 제3항에 있어서,
    상기 적어도 하나의 부하 특성을 모니터링하는 단계는, 상기 현재의 부하가 저전력 부하인지 고전력 부하인지의 여부를 결정하는 단계를 포함하고,
    상기 제1 선택 모드는 상기 제1 배터리 모듈을 선택하는 단계를 포함하며,
    상기 제2 선택 모드는,
    상기 현재의 부하가 저전력인 경우에 상기 제1 배터리 모듈을 선택하는 것과,
    상기 현재의 부하가 고전력인 경우에 상기 제2 배터리 모듈을 선택하는 것
    을 포함하는 것인, 방법.
  5. 제2항에 있어서,
    상기 적어도 하나의 에너지 소스 특성을 모니터링하는 단계는,
    상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 상태를 모니터링하는 단계와,
    상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 저장된 특성에 액세스하는 단계
    를 포함하는 것인, 방법.
  6. 제5항에 있어서,
    상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 상태는, 내부 저항, 충전 상태, 온도, 연령, 또는 상기 복수의 배터리 모듈 중 적어도 하나의 배터리 모듈의 방전 사이클이 이루어진 횟수 중 적어도 하나의 값을 포함하고,
    상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 저장된 특성은, 상기 내부 저항 대 에너지 출력의 저장된 정보와, 상기 충전 상태 대 에너지 출력의 저장된 정보와, 최초 내부 저항, 상기 복수의 배터리 모듈 중 적어도 하나의 배터리 모듈의 최대 저항을 포함하는 것인, 방법.
  7. 제5항에 있어서,
    상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 단계는,
    추정된 미래 워크로드를 계산하는 단계와,
    상기 추정된 미래 워크로드, 적어도 하나의 에너지 소스 특성을 모니터링하는 것, 또는 상기 적어도 하나의 부하 특성을 모니터링하는 것에 응답하여 상기 현재의 부하에 대해 선택 모드를 할당하는 단계와,
    상기 할당된 선택 모드에 따라 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 단계
    를 더 포함하는 것인, 방법.
  8. 제7항에 있어서,
    상기 적어도 하나의 부하 특성을 모니터링하는 단계는, 상기 현재의 부하가 저전력 부하인지 또는 고전력 부하인지의 여부를 결정하는 단계를 포함하고,
    상기 할당된 선택 모드는 분리(separation) 모드, 투자(investment) 모드 또는 예약(reservation) 모드를 포함하며,
    상기 투자 모드는,
    그리디 알고리즘을 적용하여 상기 복수의 배터리 모듈로부터 그리디 선호(greedy-preferred) 배터리를 선택하는 것과,
    상기 현재의 부하가 저전력이고, 상기 추정된 미래 워크로드가, 상기 그리디 선호 배터리의 현재 이용가능한 위치가 상기 현재의 선택에 관계없이 저전력 부하로 채워질 것으로 예측하는 경우에, 상기 그리디 선호 배터리를 상기 선택된 유한 에너지 소스로서 선택하는 것과,
    상기 현재의 부하가 고전력이고, 상기 추정된 미래 워크로드가, 상기 그리디 선호 배터리의 현재 이용가능한 위치가 스케줄링 결정에 관계없이 고전력 부하로 채워질 것으로 예측하는 경우에, 상기 그리디 선호 배터리 이외의 다른 유한 에너지 소스를 상기 선택된 유한 에너지 소스로서 선택하는 것
    을 포함하고,
    상기 예약 모드는,
    제1 배터리 모듈 및 제2 배터리 모듈을 식별하는 것으로서, 상기 제1 배터리 모듈은 상기 제2 배터리 모듈의 내부 저항보다 높은 내부 저항과 상기 제2 배터리의 제2 배터리 최대 저항보다 낮은 제1 배터리 최대 저항을 가지는 것인, 상기 식별하는 것과,
    상기 현재의 부하가 저전력인 경우에 상기 제2 배터리 모듈을 상기 선택된 유한 에너지 소스로서 선택하는 것으로서, 상기 제1 배터리 최대 저항에 대한 상기 제2 배터리 최대 저항의 비는 최대 저항 불균형 임계치를 초과하고, 상기 추정된 미래 워크로드는 상기 제1 배터리 모듈의 나머지 용량을 채우기에 충분한 고전력 부하의 양을 예측하는 것인, 상기 선택하는 것
    을 포함하고,
    상기 분리 모드는,
    제1 배터리 모듈 및 제2 배터리 모듈을 식별하는 것으로서, 상기 제1 배터리 모듈은 상기 제2 배터리 모듈의 내부 저항보다 상대적으로 더 높은 내부 저항을 가지는 것인, 상기 식별하는 것과,
    상기 현재의 부하가 저전력인 경우에 상기 제1 배터리 모듈을 상기 선택된 유한 에너지 소스로서 선택하는 것과,
    상기 현재의 부하가 고전력인 경우에 상기 제2 배터리 모듈을 상기 선택된 유한 에너지 소스로서 선택하는 것
    을 포함하는 것인, 방법.
  9. 시스템에 있어서,
    상기 적어도 하나의 컴퓨팅 장치에 전력을 공급하도록 구성된 복수의 유한 에너지 소스에 결합된 적어도 하나의 컴퓨팅 장치로서, 상기 복수의 유한 에너지 소스는 복수의 배터리 모듈을 포함하는 것인, 상기 적어도 하나의 컴퓨팅 장치와,
    상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 에너지 소스 특성을 모니터링하도록 구성된 배터리 모니터링 모듈과,
    현재의 부하의 적어도 하나의 부하 특성을 모니터링하도록 구성된 부하 규정(characterization) 모듈과,
    상기 배터리 모니터링 모듈에 의해 상기 부하 스케줄링 모듈에 제공된 데이터 및 상기 부하 규정 모듈에 의해 상기 부하 스케줄링 모듈에 제공된 데이터 중 적어도 하나의 데이터에 응답하여, 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하고, 상기 현재의 부하를 상기 선택된 유한 에너지 소스로 스케줄링하도록 구성된 부하 스케줄링 모듈
    을 포함하는, 시스템.
  10. 제9항에 있어서,
    상기 배터리 모니터링 모듈은 또한,
    상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 상태를 모니터링하고,
    상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 저장된 특성에 액세스하도록
    구성되고,
    상기 부하 스케줄링 모듈은 또한,
    추정된 미래 워크로드를 계산하고,
    상기 추정된 미래 워크로드, 상기 배터리 모니터링 모듈에 의해 제공된 데이터, 또는 상기 부하 규정 모듈에 의해 제공된 데이터 중 적어도 하나에 응답하여 상기 현재의 부하에 대해 선택 모드를 할당하며,
    상기 할당된 선택 모드에 따라 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하도록
    구성되는 것인, 시스템.
  11. 제10항에 있어서,
    상기 부하 규정 모듈은 또한, 상기 현재의 부하를 저전력 부하 또는 고전력 부하로서 규정하도록 구성되고, 상기 할당된 선택 모드는 분리 모드, 투자 모드 또는 예약 모드를 포함하는 것인, 시스템.
  12. 복수의 유한 에너지 소스와 연관된 컴퓨팅 시스템에 의해 실행될 때, 상기 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하도록 구성된 컴퓨터 실행가능 명령어를 포함하는 하나 이상의 컴퓨터 판독가능 매체에 있어서,
    상기 동작들은,
    상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 에너지 소스 특성을 모니터링하는 동작과,
    현재의 부하의 적어도 하나의 부하 특성을 모니터링하는 동작과,
    상기 적어도 하나의 에너지 소스 특성을 모니터링하는 것과 상기 적어도 하나의 부하 특성을 모니터링하는 것에 응답하여, 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 동작과,
    상기 현재의 부하를 상기 선택된 유한 에너지 소스로 스케줄링하는 동작
    을 포함하는 것인, 컴퓨터 판독가능 매체.
  13. 제12항에 있어서,
    상기 적어도 하나의 에너지 소스 특성을 모니터링하는 동작은,
    상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 상태를 모니터링하는 동작과,
    상기 복수의 유한 에너지 소스 중 적어도 하나의 소스의 적어도 하나의 저장된 특성에 액세스하는 동작
    을 포함하고,
    상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 동작은,
    추정된 미래 워크로드를 계산하는 동작과,
    상기 추정된 미래 워크로드, 상기 적어도 하나의 에너지 소스 특성을 모니터링하는 동작, 및 상기 적어도 하나의 부하 특성을 모니터링하는 동작에 응답하여, 상기 현재의 부하에 대해 선택 모드를 할당하는 동작과,
    상기 할당된 선택 모드에 따라 상기 복수의 유한 에너지 소스 중 하나의 소스를 선택하는 동작
    을 더 포함하는 것인, 컴퓨터 판독가능 매체.
  14. 제13항에 있어서,
    상기 적어도 하나의 부하 특성을 모니터링하는 동작은 상기 현재의 부하가 저전력 부하인지 또는 고전력 부하인지의 여부를 결정하는 동작을 포함하고,
    상기 할당된 선택 모드는 분리 모드, 투자 모드 또는 예약 모드를 포함하는 것인, 컴퓨터 판독가능 매체.
  15. 제14항에 있어서,
    상기 복수의 유한 에너지 소스는 복수의 배터리 모듈을 포함하고,
    상기 투자 모드는,
    그리디 알고리즘을 적용하여 상기 복수의 배터리 모듈로부터 그리디 선호 배터리를 선택하는 것과,
    상기 현재의 부하가 저전력이고, 상기 추정된 미래 워크로드가, 상기 그리디 선호 배터리의 현재 이용가능한 위치가 상기 현재의 선택에 관계없이 저전력 부하로 채워질 것으로 예측하는 경우에, 상기 그리디 선호 배터리를 상기 선택된 유한 에너지 소스로서 선택하는 것과,
    상기 현재의 부하가 고전력이고, 상기 추정된 미래 워크로드가, 상기 그리디 선호 배터리의 현재 이용가능한 위치가 스케줄링 결정에 관계없이 고전력 부하로 채워질 것으로 예측하는 경우에, 상기 그리디 선호 배터리 이외의 다른 유한 에너지 소스를 상기 선택된 유한 에너지 소스로서 선택하는 것
    을 포함하고,
    상기 예약 모드는,
    제1 배터리 모듈 및 제2 배터리 모듈을 식별하는 것으로서, 상기 제1 배터리 모듈은 상기 제2 배터리 모듈의 내부 저항보다 높은 내부 저항과 상기 제2 배터리의 제2 배터리 최대 저항보다 낮은 제1 배터리 최대 저항을 가지는 것인, 상기 식별하는 것과,
    상기 현재의 부하가 저전력인 경우에 상기 제2 배터리 모듈을 상기 선택된 유한 에너지 소스로서 선택하는 것으로서, 상기 제1 배터리 최대 저항에 대한 상기 제2 배터리 최대 저항의 비는 최대 저항 불균형 임계치를 초과하고, 상기 추정된 미래 워크로드는 상기 제1 배터리 모듈의 나머지 용량을 채우기에 충분한 고전력 부하의 양을 예측하는 것인, 상기 선택하는 것
    을 포함하고,
    상기 분리 모드는,
    제1 배터리 모듈 및 제2 배터리 모듈을 식별하는 것으로서, 상기 제1 배터리 모듈은 상기 제2 배터리 모듈의 내부 저항보다 상대적으로 더 높은 내부 저항을 가지는 것인, 상기 식별하는 것과,
    상기 현재의 부하가 저전력인 경우에 상기 제1 배터리 모듈을 상기 선택된 유한 에너지 소스로서 선택하는 것과,
    상기 현재의 부하가 고전력인 경우에 상기 제2 배터리 모듈을 상기 선택된 유한 에너지 소스로서 선택하는 것
    을 포함하는 것인, 컴퓨터 판독가능 매체.
KR1020167032994A 2014-04-25 2015-04-16 멀티 배터리 장치에서의 부하 스케줄링 KR102380666B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227009679A KR102533930B1 (ko) 2014-04-25 2015-04-16 멀티 배터리 장치에서의 부하 스케줄링

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/262,205 2014-04-25
US14/262,205 US9760138B2 (en) 2014-04-25 2014-04-25 Load scheduling in multi-battery devices
PCT/US2015/026052 WO2015164157A1 (en) 2014-04-25 2015-04-16 Load scheduling in multi-battery devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227009679A Division KR102533930B1 (ko) 2014-04-25 2015-04-16 멀티 배터리 장치에서의 부하 스케줄링

Publications (2)

Publication Number Publication Date
KR20160147930A true KR20160147930A (ko) 2016-12-23
KR102380666B1 KR102380666B1 (ko) 2022-03-29

Family

ID=53016773

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227009679A KR102533930B1 (ko) 2014-04-25 2015-04-16 멀티 배터리 장치에서의 부하 스케줄링
KR1020167032994A KR102380666B1 (ko) 2014-04-25 2015-04-16 멀티 배터리 장치에서의 부하 스케줄링

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227009679A KR102533930B1 (ko) 2014-04-25 2015-04-16 멀티 배터리 장치에서의 부하 스케줄링

Country Status (11)

Country Link
US (2) US9760138B2 (ko)
EP (1) EP3134954B1 (ko)
JP (1) JP6667502B2 (ko)
KR (2) KR102533930B1 (ko)
CN (1) CN106233571B (ko)
AU (2) AU2015250147B2 (ko)
BR (1) BR112016023985B1 (ko)
CA (1) CA2943413C (ko)
MX (2) MX365353B (ko)
RU (1) RU2684416C2 (ko)
WO (1) WO2015164157A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190095063A (ko) * 2018-02-06 2019-08-14 한국전자통신연구원 계층 구조의 전원 장치

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6014463B2 (ja) * 2012-11-07 2016-10-25 日立建機株式会社 作業車両
US9760138B2 (en) 2014-04-25 2017-09-12 Microsoft Technology Licensing, Llc Load scheduling in multi-battery devices
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
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
CN105550480B (zh) * 2016-01-28 2018-09-21 浙江工业大学 射频能量捕获无线传感网的贪婪式能量源最少化布置方法
US9855856B2 (en) 2016-01-28 2018-01-02 Microsoft Technology Licensing, Llc Dynamic battery loading for electric vehicles
CN108702019B (zh) 2016-03-29 2022-05-03 惠普发展公司,有限责任合伙企业 一种为计算设备的电池充电的方法和系统
US11200524B2 (en) * 2017-11-30 2021-12-14 Telefonaktiebolaget Lm Ericsson (Publ) Technique for utility network management
US11144972B2 (en) * 2017-12-28 2021-10-12 General Electric Company Methods and systems related to calculating equpment consumption rates for power plant maintenance and service
WO2019177621A1 (en) * 2018-03-16 2019-09-19 Total Solar International System, device, and method for off-grid microgrids management
DE102018106307A1 (de) 2018-03-19 2019-09-19 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Batterieauslegung eines Fahrzeugs mit mehreren Antriebsmotoren
US10985591B2 (en) 2018-03-19 2021-04-20 Dell Products L.P. System and method to improve battery performance with cycled current transfer
US10845854B1 (en) 2018-08-28 2020-11-24 Facebook, Inc. Thermal mass aware thermal management
US11390249B2 (en) * 2020-08-05 2022-07-19 Ford Global Technologies, Llc Vehicle vision system
EP4012828A4 (en) 2020-09-30 2023-06-28 Nanjing Chervon Industry Co., Ltd. Battery pack, electric tool system, and charging system
KR20230156212A (ko) * 2022-05-04 2023-11-14 삼성전자주식회사 복수의 배터리 사용 개선 방법 및 전자 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050281439A1 (en) * 2002-07-29 2005-12-22 Lange Daniel H Method and apparatus for electro-biometric identity recognition
JP5205280B2 (ja) * 2006-02-09 2013-06-05 メタラム インコーポレイテッド メモリ回路システム及び方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2959657B2 (ja) * 1993-05-13 1999-10-06 キヤノン株式会社 電子機器
JP3733554B2 (ja) * 1994-10-31 2006-01-11 富士通株式会社 バッテリ駆動型電子機器
US7541693B2 (en) 2005-06-13 2009-06-02 Intel Corporation Power distribution network for computer systems and other low-power applications
US7839121B2 (en) * 2006-03-20 2010-11-23 Lg Electronics Inc. Apparatus and method for managing power of battery packs in a portable device
US8494479B2 (en) 2006-04-27 2013-07-23 Honeywell International Inc. System and method for optimizing power supplies in a wireless transceiver
US9431828B2 (en) * 2006-11-27 2016-08-30 Xslent Energy Technologies Multi-source, multi-load systems with a power extractor
JP4886530B2 (ja) * 2007-01-24 2012-02-29 パナソニック株式会社 電子機器システム及び電池パック
RU2353042C1 (ru) * 2008-03-04 2009-04-20 Государственное образовательное учреждение высшего профессионального образования "Новосибирский государственный технический университет" Способ управления статическими стабилизированными источниками напряжения постоянного тока, работающими параллельно на общую нагрузку
JP5029488B2 (ja) 2008-05-14 2012-09-19 カシオ計算機株式会社 電子機器、電源制御方法及びプログラム
JP5309973B2 (ja) * 2008-12-24 2013-10-09 カシオ計算機株式会社 電子機器、電源制御方法及びプログラム
KR101726249B1 (ko) 2009-07-29 2017-04-26 더 리젠츠 오브 더 유니버시티 오브 미시건 배터리 충전 및 방전을 스케쥴링하는 시스템
US8744638B2 (en) 2009-09-11 2014-06-03 General Electric Company Method and system for demand response in a distribution network
US20120102407A1 (en) 2010-10-25 2012-04-26 Microsoft Corporation Displaying battery life resulting from setting changes
US8635630B2 (en) 2010-10-25 2014-01-21 Microsoft Corporation Application lifetime management
JP5758741B2 (ja) * 2011-08-22 2015-08-05 本田技研工業株式会社 ハイブリッド車両及びハイブリッド車両の制御方法
US8977874B2 (en) * 2012-01-26 2015-03-10 Qualcomm Incorporated System and method for battery load management in a portable computing device
US9285851B2 (en) 2012-06-22 2016-03-15 Microsoft Technology Licensing, Llc Optimizing battery use for known future load
US9760138B2 (en) 2014-04-25 2017-09-12 Microsoft Technology Licensing, Llc Load scheduling in multi-battery devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050281439A1 (en) * 2002-07-29 2005-12-22 Lange Daniel H Method and apparatus for electro-biometric identity recognition
JP5205280B2 (ja) * 2006-02-09 2013-06-05 メタラム インコーポレイテッド メモリ回路システム及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190095063A (ko) * 2018-02-06 2019-08-14 한국전자통신연구원 계층 구조의 전원 장치

Also Published As

Publication number Publication date
JP6667502B2 (ja) 2020-03-18
CA2943413C (en) 2021-11-09
BR112016023985A2 (pt) 2017-08-15
KR102533930B1 (ko) 2023-05-17
KR102380666B1 (ko) 2022-03-29
JP2017515452A (ja) 2017-06-08
AU2015250147B2 (en) 2019-03-14
US10379587B2 (en) 2019-08-13
EP3134954B1 (en) 2020-09-16
CN106233571A (zh) 2016-12-14
US20180059753A1 (en) 2018-03-01
MX365353B (es) 2019-05-30
US9760138B2 (en) 2017-09-12
CA2943413A1 (en) 2015-10-29
KR20220041251A (ko) 2022-03-31
RU2684416C2 (ru) 2019-04-09
AU2019204111A1 (en) 2019-07-04
EP3134954A1 (en) 2017-03-01
BR112016023985B1 (pt) 2022-06-07
WO2015164157A1 (en) 2015-10-29
US20150309547A1 (en) 2015-10-29
AU2015250147A1 (en) 2016-10-06
CN106233571B (zh) 2021-07-13
MX2019006277A (es) 2019-08-21
AU2019204111B2 (en) 2020-08-20
RU2016141573A (ru) 2018-05-03
BR112016023985A8 (pt) 2021-05-25
MX2016014016A (es) 2017-01-09
RU2016141573A3 (ko) 2018-11-20

Similar Documents

Publication Publication Date Title
KR102380666B1 (ko) 멀티 배터리 장치에서의 부하 스케줄링
EP3256927B1 (en) Suppressing power spikes
US10263421B2 (en) Load allocation for multi-battery devices
CN103890693B (zh) 基于参数报告更新的阈值基准
JP2011138767A5 (ko)
JP2017515452A5 (ko)
KR102350281B1 (ko) 사용자, 셀 및 온도 인지 기능을 구비한 리튬-이온 배터리 충전 방법
CN105677000A (zh) 动态电压频率调整的系统及方法
US20100205306A1 (en) Grid computing system, management apparatus, and method for managing a plurality of nodes
Triki et al. Reinforcement learning-based dynamic power management of a battery-powered system supplying multiple active modes
CN110138028A (zh) 一种电池管理系统及其电池充放电控制方法、终端设备
CN118082623A (zh) 车辆电池的冷却控制方法、车辆控制终端及存储介质
CN107154979B (zh) 一种增强云计算环境节能方法
CN115123018A (zh) 车辆的纯电模式限扭控制方法、装置、电子设备及介质
KR20220036840A (ko) 하이브리드 배터리 팩 충전 방법 및 시스템
CN117141257A (zh) 燃料电池输出功率的确定方法、装置、设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant